Jessi :D

Language

Language

Vue - 초기 설치 에러

에러메시지 이 시스템에서 스크립트를 실행할 수 없으므로..... Vue를 설치하고 명령어를 입력할 때 나오는 에러메시지. 오류 메시지가 나오는 이유는 Windows의 실행 정책 때문이라고 한다. 이를 수정해보자. @_@ 권한 변경하기 파워셀열기 윈도우즈 검색에서 'PowerShell'을 입력 명령어입력 파워셀을 열고 명령어를 입력하고 엔터. get-ExecutionPolicy 결과는 Restricted라고 나오는 것을 확인할 수 있다. 권한 상태 값 Restricted : default설정값으로, 스크립트 파일을 실행할 수 없음 AllSigned : 신뢰할 수 있는(서명된) 스크립트 파일만 실행할 수 있음 RemoteSigned : 로컬에서 본인이 생성한 스크립트와, 신뢰할 수 있는(서명된) 스크립트 파..

Vue - 설치, 환경 세팅

Visual Studio Code에서 진행 Vue 설치 새 터미널 열기 Terminal > New Terminal 터미널창에 입력 둘다 가능 !! npm i vue npm install vue 조금 기다리면 알아서 설치함 vue@3.2.41 버전 설치 완료. 공식문서에는 vue --version 으로 vue버전을 확인한다고 나와있지만, 어째서인지 CLI버전을 확인하는 명령어로 반영이 되어서 좀 더 확인이 필요하다. CLI 설치 Vue.js 개발환경 빠르게 다운받아보자. (Vue.js에서 제공하는 공식 CLI 설치) 둘다 가능 !! npm i -g @vue/cli npm install -g @vue/cli 시간이 좀 걸리니 그냥 기다린다. 버전 @vue/cli 5.0.8 설치완료 Vue - 프로젝트 생성 ..

마크다운 배지 만들기

스킬표시에 많이 사용하는 아이콘 만드는 방법 사이트 https://shields.io Shields.io: Quality metadata badges for open source projects Love Shields? Please consider donating to sustain our activitiesYour BadgeStaticUsing dash "-" separator/badge/ - - Dashes --→- DashUnderscores __→_ Underscore_ or Space → SpaceUsing query string parameters/static/v1?label= &message= &color= Colo shields.io https://simpleicons.org Simple ..

highlight.js - 코드

highlight.js 코드를 여러가지 테마를 사용하여 예쁘게 꾸며줄수 있다. 사이트 바로가기 highlight.js Version 10.7.2 This is a patch release. The only change is that deprecation messages are throttled and shown only once. highlightjs.org 스타일 영역을 클릭하면 스타일이 바뀐다. 원하는 스타일을 찾았다면, 반영 소스에 넣어주면 된다. 'atom-one-light'을 넣어보자, 위 소스 중 맨위에 있는 css에 스타일명을 적어 준다. 이외방법 'Get Version'을 들어가면 다른 방법으로도 반영하는 가이드와, 다운로드 해서 서버에 올료 사용하는 방법도 안내되어 있다.

Swift - 고차함수 sort, sorted

변수선언 // 배열을 변수로 선언 var myArray = [1,2,3,4,5,6,7,8,9,10] sorted() sorted를 통해 오름차순으로 정렬된 새 콜렉션을 반환 var filteredArray = myArray.sorted() myArray // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] filteredArray // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 콜렉션 내의 데이터들을 번갈아 가면서 돌아, 반환 값이 true가 나올 때 해당하는 값을 넣음. 그래서 내림차순으로 정렬이 됨 var descandingArray = myArray.sorted(by: { (someValue:Int, otherValue:Int) -> Bool in return someValu..

Swift - 고차함수 (Higher Order Functions)

매개변수로 함수 혹은 클로저를 받고, 받았던 녀석을 반환하는 함수 콜렉션에 들어가는 배열, 딕셔너리, 셋에 Sorted, Map, Filter, Reduce 등이 빌트인 되어있다. 함수 getName → 메소드인데 매개변수로서 클러저를 받고 그 클로저를 반환하는데, 반환하면서 형태를 변환하거나 한다. func getName(_ name: String) -> String { return "내 이름은 \(name)" } // 함수 자체를 매개변수로 넣고 func sayHello( getName: (String) -> String, name: String) -> String { // 넣은 함수를 반환 return getName(name) } let resultOne = sayHello(getName: getN..

Swift - lazy 키워드

Struct Pet struct Pet { init(){ print("Pet이 생성되었다.") } } 일반 Struct Friend class, struct 동일하게 적용됨. struct Friend { var name: String // 펫을 맴버 변수로 가진다. var pet : Pet = Pet() // 생성자 메소드 init(_ name: String) { self.name = name print("Friend가 생성됨") } } Friend 호출 var myFriend = Friend("만쥬") print("myFriend : \(myFriend.name)") // myFriend : 만쥬 결과 Pet이 생성되었다. Friend가 생성됨 myFriend : 만쥬 lazy Struct Pet st..

Swift - typealias

typealias 별칭을 통해 프로토콜 별명 설정 가능 protocol Naming { func getName() -> String } protocol Aging { func getAge() -> Int } 별명설정 typealias Friendable = Naming & Aging struct Friend : Friendable { var name : String var age : Int func getName() -> String { return self.name } func getAge() -> Int { return self.age } } 클로저 // 클로저를 StringBlock 이라는 별명으로 설정 typealias StringBlock = (String) -> Void //func sayHi..

Swift - 프로토콜 associatedType

associatedtype 을 통해 제네릭으로 어떠한 자료형이든 가질수 있다 Protocol 애완동물 관련 프로토콜 protocol PetHaving { associatedtype T // 애완동물 배열 var pets: [T] { get set } // mutating을 통해 스트럭트에서 멤버 변수 값변경 mutating func gotNewPet(_ newPet: T) } ※ mutating - 포스트 바로가기 Extension 익스텐션으로 프로토콜의 메소드 로직 구성 extension PetHaving { mutating func gotNewPet(_ newPet: T) { self.pets.append(newPet) } } Enum enum Animal { case cat, dog, bird } ..

Swift - 프로토콜 확장

프로토콜 자체에서는 로직을 추가할 수 없으므로 익스텐션 확장을 이용해 메소드 추가함 프로토콜 이름관련 프로토콜 protocol Naming { var lastname: String { get set } var firstname: String { get set } func getName() -> String } 익스텐션 익스텐션 확장으로 메소드 추가 extension Naming { func getFullName() -> String { return self.lastname + " " + self.firstname } } 스트럭트 Naming 프로토콜을 임플레먼트하는 스트럭트 struct Friend : Naming { var lastname: String var firstname: String func ..

Swift - 프로토콜 상속

프로토콜 자체는 자신의 인스턴스는 만들지 못한다. 프로토콜을 임플리먼트하면 해당 프로토콜의 변수나, 메소드의 설정이 강제된다. 프로토콜도 상속해서 사용이 가능하다. 프로토콜 선언 // 이름 protocol Naming { // get set 을 통해 이름을 성정하고 가져올수 있다. var name: String { get set } func getName() -> String } // 나이 protocol Aging { var age: Int { get set } } 상속 이름, 나이 프로토콜을 상속하는 친구 프로토콜 protocol UserNotifiable : Naming, Aging { } 스트럭트 친구 프로토콜을 임플레먼트하는 MyFriend 스트럭트 struct MyFriend: UserNoti..

Swift - 프로토콜

약속 보통 delegate 패턴의 경우에는 **delegate, 스위프트 언어자체에서는 **ing, **able 등으로 프로토콜의 이름을 정함 프로토콜약속 프로토콜을 통해 맴버변수, 메소드 등을 꼭 구현하도록 강제 protocol Naming { // 우리는 이런 변수를 가지고 있을겁니다. 라고 약속 var name : String { get set } // 우리는 이런 메소드를 가지고 있을겁니다. 라고 약속 func getName() -> String } Nameing 프로토콜을 임플레먼트 했기 때문에 struct myName : Naming { // name 맴버 변수를 설정하지 않으면 에러 var name: String // getName() 메소드 설정 안하면 에러 func getName() ->..

Swift - 스트럭트 메소드

Struct에서도 메소드를 가질수 있고, 멤버 변수들 활용이 가능하다. struct Friend { var age : Int var name : String // 입력 가져오는 메소드 func sayHello() -> String { return "저는 \(age)살, \(name) 입니다." } } var myFriend = Friend(age: 100, name: "만쥬") myFriend.sayHello() // 저는 100살, 만쥬 입니다.

Swift - Set

콜렉션 중 하나인 Set set → 고유 배열과 비슷하지만... 배열처럼 중복으로 값을 넣을수 없다. 아무리 넣어도 고유한 값만 남는다. 순서가 정해져 있지 않다. 매번 출력되는 값들의 순서가 다르다. insert var myNumberSet = Set() var myNumberSet : Set = Set() myNumberSet.insert(1) //(inserted true, memberAfterInsert 1) myNumberSet.insert(2) //(inserted true, memberAfterInsert 2) myNumberSet.insert(2) //(inserted false, memberAfterInsert 2) myNumberSet.insert(3) //(inserted true, ..

Swift - 스트럭트 Mutating

class 는 참조, struct 는 값 Class 클래스는 참조이기 때문에 주소 값이 다르므로 name을 받을 수 있다. class Friend { var name : String func changeName(newName: String) { self.name = newName } init(_ name: String) { self.name = name } } var myFriend = Friend("만쥬") myFriend.name // 만쥬 myFriend.changeName(newName: "개발하는 만쥬") myFriend.name // 개발하는 만쥬 Struct struct는 값이으로 name을 받을 수 없다. mutating을 사용하여 name값을 받을 수 있다. struct BestFrien..