전체 글 117

[iOS / Xcode / Console / Log] Writing analzed variants 로그 분석

Xcode 13으로 업데이트 후 위와 같은 로그가 발생했습니다. 사실 해당 로그가 나타나도 빌드나 앱 실행에 영향을 미치는 것 같지는 않았습니다. 찾아보니 해당 로그는 Xcode 로그 노이즈이며 무시해도 상관없다고 합니다. ※ 참고 출처 stackoverflow Xcode log "Writing analzed variants" Running Xcode 13 I see the following log when launching my iOS app in the Simulator: Writing analzed variants. Note that this is, hopefully, a misspelling of the log: Writing analyzed variants. ... stackoverflow.com

Xcode 2022.01.17

[iOS / Swift] 107. Dictionary

107. Dictionary Dictionary 선언 기본 선언 var a = [String: Int]() var a: [String: Int] = [:] var a: [String: String] = ["name": "Lee", "nickName": "kingkong"] Dictionary 활용 초기화 var dictionary = [String: Int]() if dictionary["count"] == nil { dictionary["count"] = 1 } else { dictionary["count"]! += 1 } /* key에 대한 개수를 세고 싶을 때 값이 없다면(nil) 1, 있다면 += 1 */ 수정 var dictionary: [String: String] = ["name": "Lee..

Swift 문법 예시 2022.01.17

[iOS / Swift] 106. Set

106. Set Set 선언 기본 선언 var a = Set() var a: Set = [] var a: Set = ["apple", "banana", "orange"] let a: Set = ["apple", "banana", "orange"] 기본 연산 insert(_ newMember: Element) - 새로운 원소를 저장 contains(_ member: Element) - 특정 원소가 있는지 없는지 판별 remove(_ member: Element) - 특정 원소를 삭제 Fundamental Set Operations var a: Set = ["apple", "banana", "orange"] var b: Set = ["a", "banana", "o"] /* union - 합집합(b U a) ..

Swift 문법 예시 2022.01.17

[iOS / Swift] 105. Array

105. Array 배열 선언 1차원 배열 /* 타입만 설정한 배열 */ let array: [Int] let array: Array /* 빈 값으로 초기화한 배열 */ let array = [Int]() let array: [Int] = [] let array: [Int] = [Int]() let array = Array() let array: Array = [] let array: Array = Array() /* 크기를 고정하고 하나의 값으로 초기화한 배열 */ let array = Array(repeating: 0, count: 5) let array = [Int](repeating: 0, count: 5) /* (문자열도 동일) */ 2차원 배열 /* 타입만 설정한 배열 */ let array:..

Swift 문법 예시 2022.01.17

[iOS / Swift] 104. Strings

104. Strings 문자열 인덱싱 for문 let string = "apple" for index in string.indices { print(string[index]) } 또는 for (index, value) in string.enumerated() { print(index, value) } 또는 string.enumerated().forEach { index, value in print(index, value) } 또는 string.enumerated().forEach { print($0.offset, $0.element) } 직접 접근 let string = "apple" let index = string.index(string.startIndex, offsetBy: 3) /* 3번째 인덱스..

Swift 문법 예시 2022.01.17

[iOS / Swift] 102. Output

102. Output 2차원 배열 정수 - 열은 띄어쓰고 다음 행은 new line let numberArray : [[Int]] = [[1,2,3], [4,5,6]] for i in numberArray { for j in i { print(j, terminator: " ") } print() } 또는 numberArray.forEach { $0.forEach { print($0, terminator: " ") } print() } 또는 for line in numberArray { print(line.map { String($0) }.joined(separator: " ")) } 또는 numberArray.forEach { print($0.map { String($0) }.joined(separato..

Swift 문법 예시 2022.01.17

[iOS / Swift] 101. Input

101. Input 한 줄 정수 하나 입력받을 때 let number = Int(readLine()!)! 문자열 한 줄 입력받을 때 let string = readLine()! n개의 줄, 정수 하나씩 입력받을 때 let n = Int(readLine()!)! var intArray = [Int]() for i in 0 ..< n { let value = Int(readLine()!)! intArray.append(value) } 또는 let n = Int(readLine()!)! var intArray = [Int](repeating: 0, count: n) for i in 0 ..< n { let value = Int(readLine()!)! intArray[i] = value } 또는 let n =..

Swift 문법 예시 2022.01.17

[OS] 동시성(Concurrency) vs 병렬성(Parallelism)

동시성(Concurrency) & 병렬성(Parallelism) 동시성(Concurrency) 싱글 코어로 여러 작업을 번갈아 가면서 작업을 수행하는 것. 사용자는 마치 동시에 실행되는 것처럼 느낍니다. 싱글 코어에서 멀티 스레드(Multi thread)를 동작 시키는 방식 이렇게 진행 중인 작업을 A -> B -> C 로 바꾸는 것을 Context Switching 이라고 합니다. Context Switching이 빠르게 이루어져서, 사용자들은 마치 모든 작업이 동시에 진행되는 것처럼 느낍니다. 병렬성(Parallelism) 프로세스 하나에 코어 여러 개가 각각 동시에 작업들을 수행하는 것 멀티 코어에서 멀티 스레드(Multi thread)를 동작시키는 방식 참고 출처 gil0127 얄팍한코딩사전 se..

OS 2022.01.13

[Network] REST API 란?

REST API REST(Representational State Transfer) Client와 Server 간 통신 방식 중 하나로, 웹의 장점을 최대한 활용할 수 있는 소프트웨어 아키텍처입니다. REST API REST 아키텍처의 제약 조건을 준수하는 애플리케이션 프로그래밍 인터페이스를 뜻합니다. Client는 Rest API를 통해 자원(URI)을 명시하고 자원을 처리(GET, POST, PUT, DELETE)하도록 요청을 보내면 REST API는 리소스 상태에 대한 표현(JSON, HTML)을 요청자에게 전송합니다. REST 구성 자원(Resource) - URI 행위(Verb) - HTTP METHOD(GET, POST, PUT, DELETE) 표현(Representations) - JSON,..

Network 2022.01.13

[Git / Error] git pull 에러 해결

문제 1. "Please, commit your changes or stash them before you can merge." 해당 문제는 로컬 저장소와 원격 저장소의 충돌에 의해 생기는 에러입니다. 이 상황에서 commit 또는 stash를 하라고 주문하는데, 커밋하기에는 애매한 상황이 생각보다 많습니다. 그래서 변경사항을 임시 저장하고 pull 후, 임시 저장했던 파일을 병합하는 방식으로 해결해보겠습니다. // 변경 사항 임시 저장 후 git pull git stash git pull // 임시 저장 인덱스 merge git stash list git stash apply stash@\{0\} git stash apply --index * tip: git stash apply 까지 작성하고 tap ..

Git 2021.11.24

[Git / Mac / Xcode] "xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun" 에러 해결

위와 같은 에러가 발생했습니다. 찾아보니 맥을 업데이트하고 난 후 발생하는 Xcode CLI 관련 이슈라고 합니다. 에러를 해결해보겠습니다. [Step 1] terminal에 다음의 명령어를 입력 xcode-select --install [Step 2] 소프트웨어 설치 ※ 참고 출처 hahwul Mac 업그레이드 후 개발 관련 도구 에러(xcrun: error: invalid active developer path) 해결방법(xcode-select --ins 최근에 모하비에서 카탈리나로 업그레이드 했습니다. 매번 업데이트 때마다 여러 문제가 발생하는데, 이번에도 어김없이 xcode cli 관련 이슈가 또 터지네요.. 매번 명령어 때문에 검색하기도 귀 www.hahwul.com

Git 2021.11.16