본문 바로가기

전체 글42

[CocoaPods] Apple Silicon Mac에서 pod install error 해결하기 매번 CocoaPods를 이용해서 라이브러리를 설치할 때마다 에러가 나는데 매번 까먹어서 기억하고자 적어두는 글입니다. 얼른 SPM으로 넘어가야지 에러 생성방식 podfile을 만들고 원하는 라이브러리를 넣고 저장한다. pod install 을 입력한다. install error 생성 에러메시지 Error LoadError - dlopen(/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.3/lib/ffi_c.bundle, 0x0009): missing compatible arch in /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.3/lib/ffi_c.bundle - /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.3/lib/ffi_c.b.. 2021. 12. 21.
[Xcode] Xcode 13.0+ 에서 Vim 사용하기 Xcode 13부터는 Vim Editor가 지원된다고 하네요. 평소에 Vim은 podfile을 편집할 때만 써왔는데, 사용하는 건 insert 모드와 :wq 뿐이었기 때문에 vim을 제대로 썼던 적은 잘 없습니다. 그래도 Vim을 사용하면 방향키나 마우스로 왔다갔다 하지 않아도 되므로 한 번 적응해보려고 합니다. 그래서 이번 글에서는 Xcode에서 한동안 Vim을 써보고 사용법을 정리해보았습니다. Xcode에서 Vim Mode 켜기 Xcode 13.0 이상인 경우 Editor 에서 Vim Mode 를 찾아 켜주면 Vim을 사용할 수 있습니다. Vim 사용하기 들어가기 전 : 만일 시키는대로 움직이지 않는다면 현재 한글키보드인지 설정되었는지 확인해 보면 좋습니다 간단히 제가 유용히 사용하는 명령어, 키를 .. 2021. 12. 17.
[UIKit] Storyboard 탈출기 (4편) - AutoLayout을 Programmatically하게 적용하기 (1) 뷰를 구성하다 보니 frame-based layout의 한계를 느끼고 오토레이아웃의 필요성을 깨닫게 되어 이번 글에서는 코드로 Autolayout을 적용하는 기본적인 방법에 대해 알아보도록 하겠습니다. 참고사항: 이번 글은 Autolayout의 작동방식을 알고 스토리보드에서 Autolayout을 통해 UI를 구성할 수 있는 분을 예상 독자로 작성하였습니다. 1. 사용하는 방법 각 뷰를 화면의 하위 뷰로 넣어준 다음 해당 뷰에 대해 다음과 같이 .translatesAutoresizingMaskIntoConstraints = false 처리해줍니다. myView.translatesAutoresizingMaskIntoConstraints = false 그리고 원하는 기준점을 바탕으로 오토레이아웃을 구현하면 됩.. 2021. 11. 19.
유클리드 호제법 개념과 구현 알고리즘 문제를 풀다가 최대공약수를 어떻게 구해야 하지? 하다가 유클리드 호제법을 간단히 정리해보았습니다. 유클리드 호제법 유클리드 호제법은 두 수가 있을 때 최대공약수를 구할 수 있는 알고리즘입니다. 알고리즘은 간단합니다. a, b의 최대공약수를 구해야 할 때, a > b인 경우 n = a%b으로 지정합니다. 만약 n = 0 이라면 b가 최대공약수가 됩니다. 만약 n이 0이 아닐 경우, b와 n에 대해 동일한 연산을 반복하면 최대공약수를 찾을 수 있습니다. 유클리드 호제법 구현하기(Python) 유클리드 호제법은 재귀나 반복문을 통해서 간단히 구현할 수 있습니다. 재귀로 구현 def findGCD(a, b): if a < b: a, b = b, a rem = a % b if rem == 0: retur.. 2021. 11. 17.
[Swift] DispatchQueue의 qos 사용하기 GCD에서 global큐나 커스텀 큐를 사용할 때 qos(quality of service)를 사용해 작업의 중요도를 결정할 수 있습니다. 그렇기 때문에 작업의 우선순위를 결정하기 위해서는 qos의 우선순위가 어떻게 되는지 알고 어떤 때 사용하는지 구체적으로 생각해두고자 이번 글에서 이것저것 보면서 정리해두고자 합니다. 1. qos는 왜 사용하는가? 애플의 문서 Prioritize Work with Quality of Service Classes에 보면 qos를 왜 사용해야 하는지 잘 나와 있습니다. 빠르게 처리해야 하는 작업은 더 느리게 처리해도 되는 낮은 우선순위의 작업보다도 자원과 에너지를 더 많이 사용하게 됩니다. 따라서 한정된 자원과 에너지를 효율적으로 사용하기 위해서는 빠른 수행이 필요한 작업.. 2021. 11. 15.
[UIKit] Storyboard 탈출기 (3편) - Then 라이브러리를 사용해보자 이번 글에서는 Swift에서 종종 쓰이는 오픈소스 라이브러리 Then 에 대해 간단히 이야기해보려 합니다. 이 시리즈에 Then 관련 내용을 넣을지 고민을 잠깐 했습니다. Then 라이브러리가 없으면 코드로 UI를 못 짜는 것도 아니기 때문에 꼭 알아야 하는 부분은 아닙니다. 그러나 코드로 UI를 짜면 관련된 속성을 계속 쓸 수밖에 없는데 Then 은 이걸 간편하게 쓰도록 도와주기 때문에 이번 시리즈에 포함시켰습니다. Then 라이브러리가 무엇인고? iOS 네임드 개발자이신 전수열님의 아주 유명한 오픈소스 라이브러리입니다. => Then 라이브러리 깃헙 바로가기 문서가 잘 되어있어 읽으면 어떤 점이 유용한지 한 눈에 아실 것이라고 생각합니다. 그래서 간단하게 이야기하자면 NSObject 의 subclas.. 2021. 11. 3.