분류 전체보기
-
회사 코드 private 라이브러리 회상 (3) - 새로 알게된 점Swift 2022. 10. 27. 01:11
이번에 새롭게 알게된 점 class의 접근 제어자를 open으로 해야 타 모듈에서 상속받을 수 있다는 점을 알게되었다. spm에서 asset catalog를 사용하려면 아래 이미지 들 처럼 Bundle.main을 사용해서 접근해야한다는 것을 알게되었다. (spm 내부소스에서 접근을 원할 때! spm을 사용하는 프로젝트에서 사용하고 싶다면, sharedBundle 등으로 다로 처리를 해주어야 한다.) 역시 cocoapod보단 spm이 빌드 속도는 압도적이다.
-
회사 코드 private 라이브러리화 회상 (2) - SPMSwift 2022. 10. 27. 01:01
2022.10.27 - [Swift] - 회사 코드 private 라이브러리화 회상 (1) - CocoaPod 회사 코드 private 라이브러리화 회상 (1) - CocoaPod 회사 코드를 라이브러리화 시켜야하는 일이 생겨서 진행했다. 선택지는 두 가지였다 cocoapod, spm 라이브러리를 private하게 해포해야 했다. 우선 cocoapod으로 진행한 것부터 적어본다. (public으로 할 garlic-onion.tistory.com 이전글에서 시도한 CocoaPod에 이어 SPM으로 시도하기로 했다. CocoaPod에 비해 spm은 훨씬 쉬웠다. 일반 public으로 배포하는 것처럼 소스추가하고 dependency 추가하고 하면 되는데, git repo를 private하게만 만들면 접근이 p..
-
회사 코드 private 라이브러리화 회상 (1) - CocoaPodSwift 2022. 10. 27. 00:38
회사 코드를 라이브러리화 시켜야하는 일이 생겨서 진행했다. 선택지는 두 가지였다 cocoapod, spm 라이브러리를 private하게 해포해야 했다. 우선 cocoapod으로 진행한 것부터 적어본다. (public으로 할 경우 cocoapods trunk에 배포하면 됨으로 아래 방법과는 정말 약간 다르다) 평소에는 cocoapod을 pod install, pod update 정도로만 사용했지, 이렇게 깊게 파본 적은 처음이었다. 가장 처음 멘붕 왔던 것은 spec repo와 pod repo의 혼동이었다. 처음에는 무작정 따라하는데 2~3일 동안 repo를 하나만 파고 진행해서진도가 나가지를 않았었다. 하위 세가지의 개념을 명확히 하여 다른 블로그를 참고할 때 혼동이 없었으면 한다. Pod.spec =..
-
Error while running '$ python manage.py collectstatic --noinput'ios 개발자의 서버 탐방기 2022. 10. 22. 18:31
인생 첫 배포를 heroku로 해보는 도중 git push heroku main 으로 하는데 계속 안되서 왜 안되지? 이러면서 막 구글링 하다가 터미널 에러 로그를 자세히 읽어보다보니 Error while running '$ python manage.py collectstatic --noinput' 에러와 함께 아래 터미널 명령어가 있어 그대로 쳐보고 다시 git push heroku main을 해보니 정상적으로 동작했다. $ heroku config:set DISABLE_COLLECTSTATIC=1 터미널에 익숙치 않아 에러로그 보기가 어려워 좀 소홀히 한 느낌이 있는데, 자세히 잘 읽어보면 답은 다 나와있는 것 같다.
-
pip란?ios 개발자의 서버 탐방기 2022. 10. 21. 23:54
항상 ios 앱 개발만 하다 장고 프레임워크로 간단하게 서버를 구축해보고자 하는데 mac에서 pip install이 자꾸만 안되서 pip가 뭔가하고 찾아보니 패키지 관리 툴 이라고 한다. ios로 치자면 cocoapod, spm, carthage 라고 생각하면 될 것 같다. 여담이지만, 최근에 ios 소스를 cocoapod 으로 라이브러리 작업하고 있는데, SPM만 지원하는 오픈소스의 경우 pods 프로젝트에 어떻게 가져와야 하는지를 몰라 애를 먹는 중이다 ㅋㅋ
-
Swift 상수, 구조체가 좋을까 Enum이 좋을까?Swift 2021. 2. 13. 16:32
하하, 여러분 안녕하십니까? 갈릭입니다. 오늘은 코드를 작성하다 보면 한번 쯤은 생각해 봤을 법한 것에 대해 작성을 해보고자 합니다. 바로! global하게 접근하고자 하는 상수를 정의하고자 했을때 어떤 방법이 좋을까? 입니다. 당연하게 첫번째로 생각나는 것은 그냥 전역으로 상수를 하나 선언해주는 것입니다. 하지만 이렇게 사용하게 된다면, 인스턴스 프로퍼티와 이름이 혼동될 경우가 발생할 수도 있습니다! 이는 매우 위험하죠. 이를 고려하게 되면, 두번째로는 타입 프로퍼티가 생각이 납니다. 왜냐하면 타입 프로퍼티는 각각의 인스턴스가 아닌 "타입 자체에 속하는 프로퍼티" 이기 때문에 인스턴스 생성 여부와 관계 없이 타입 프로퍼티의 값은 하나이기 때문이죠. (초기화와 관계없이 모든 인스턴스에서 공통으로 사용할 ..