스위프트와 파이썬을 함께 써보니 비슷한 점 많다. 다른 점 가운데서 편리하면서도 불편한게 변수 선언인데, 별도의 선언이 필요없어서 깊은 생각 없이 변수를 만들다보니 메모리 등에 대한 걱정도 든다. 파이썬은 기본적으로 for in 구문을 통한 반복문을 제공한다. for A in B구문은 B가 집단 자료형(Array, Dictionary 등 Collection)일 때 요소를 하나씩(순서가 있다면 앞에서부터) 꺼내어 A에 대입시켜 for문 안에서 사용하는 것으로 스위프트에서도 지원한다. count가 필요한 경우 아래 2가지 방법으로 사용할 수 있다. # 1. count 변수를 사용하는 방법 count = 0 for item in a_list: count += 1 print(count) # 2. enumerat..
git을 입맛에 맞게 변경하려고 한다. /etc/gitconfig: 모든 사용자와 모든 레포에 적용 git config --system ~/.gitconfig: 특정 사용자에게 적용 git config --gloabl .git/config: 특정 레포에 적용 git config --local 계정 설정 git config --local user.name "사용자명" git config --local user.email "이메일"설정 확인 git config --list그럼에도 push가 안될 때? git remote set-url origin https://git아이디@github.com/유저명/레포주소 // https://m0su@github.com/m0su/JustWatch
// 커밋순서: acc0001 -> acc0002 // 실제 해시값은 위처럼 순차적이지 않다. 설명의 편의를 위해서 부여함 // acc0002의 커밋 내용을 변경하려면.. git rebase -i "변경할 커밋의 이전 커밋 해시값" // git rebase -i acc0001 git rebase -i "변경할 커밋의 해시값"^ // 캐럿(^): 해당 커밋의 이전 커밋을 가리킴 // git rebase -i acc0002^edit acc0002 커밋 메시지2 pick acc0001 커밋 메시지1 # Rebase aaa0000..acc0001 onto acc0002 (2 command(s)) # # Commands # p, pick = use commit # r, reword = use commit, but..
당연하게도 Swift에서는 C 문법들을 지원한다. 어미가 Objective-C니 어쩔 수 없겠지.. 하지만 헷갈리는 나 같은 사람들을 위해 typeAlias로 친절히 명시해주었다. C - Swift signed char → Int8 = CSignedChar short → Int16 = CShort int → Int32 = CInt long → Int = CLong long long → Int64 = CLongLong 자바는 친절하게도 C와 상당히 비슷한데 Java - Swift short[] → [Float], [CShort] short → CShort int[] → [Int] int[][] → [[Int]] double → Float (Double도 있지만 해당 범위까지 사용하지 않으므로 다운스케일) ..
이제와서 svn을 고민하는 사람은 없고 git이 최고존엄이지만, svn을 먼저 접했었기 때문에 어떤 점에서 나은지 분석해보았다. 한때는 어느것이 어떤 점에서 더 나은지 비교하는 글들도 많았던 것 같은데, 이제와서는 cvs → svn → git의 흐름으로 넘어가는 것 같다. svn server-clien 타입 2000년에 만들어짐 trunk / branch로 구분 커밋 = 중앙저장소에 개발분 공개 author별 버전 히스토리를 가질 수 없다. (로컬 히스토리에선 버전관리가 되지 않음) 새로운 브랜치 = 새로운 디렉토리 git author별 커밋 히스토리를 가질 수 있다. 커밋이 서버에 영향을 미치지 않음 author가 원하는 지점에서 커밋 히스토리를 서버에 보낼 수 있음 관리자가 원하는 순간에 author..
에러유형 새로운 환경에서 프로젝트를 빌드했을 때 나타나는 에러 어쩌고저쩌고 is not a valid precompiled module file나의 경우엔 cocoapod을 설치하고 같은 레포에 cocoapod을 install하면서 뭔가 꼬인 것 같은데 pod 라이브러리에러 빌드에러가 났다. 해결책 DerivedData를 지워준다. rm -rf ~/Library/Developer/Xcode/DerivedData/* 또는 클린빌드, ⌘⇧K(Cmd+Shift+k)를 하면 해결이 된다.
Storyboard vs SwiftUI 하나는 Styboard, 하나는 SwiftUI를 적용한 프로젝트 구조입니다. 기존의 ViewController 대신 ContentView가 들어있고, Main.storyboard 대신 Preview Content가 들어있네요. 하나씩 봅시다. AppDelegate는 iOS 12 이전까지 사용하던 라이프싸이클 매니저인데, iOS 13부터 SceneDelegate가 등장하면서 하나의 앱이 여러 scene을 통해 별도의 앱처럼 구동될 수 있게 되었습니다. Storyboard SwiftUI 두 이미지 모두 SceneDelegate인데 위 이미지는 Storyboard 방식으로, 아래 이미지는 SwiftUI 방식으로 만들어졌습니다. SwiftUI의 내용이 더 풍성하죠? Vie..
ARKit은 iOS11부터 사용가능하며, WWDC 2020에서 ARKit 4로 업데이트 되었습니다. 어찌되었건 AR을 쓰려면 사용하려면 써야하는 프레임워크고 놀랍게 카탈리스트 14에서 베타로 지원을 하네요. 맥도 AR 플랫폼으로..? AR 앱을 만드는건 간단합니다. 이렇게 진행하고.. 랭귀지는 당연히 Swift인데 Content Technology라는 친구가 있네요? 이전 WWDC에서 소개된 Metal을 제외하곤 아는게 없군요..일단 기본 선택되어있는 RealityKit이 뭔지 알아봅시다. iOS13과 카탈리나에서 이미 제공하고 있는 프레임워크였네요. (반성) ARKit에서 얻은 데이터를 렌더링 하는 친구인가 봅니다. 아 그럼 ARKit은 Input이고 RealityKit은 Output인 것 같군요? 나..