본문 바로가기
반응형

분류 전체보기

4. 아림 일찍 꿈나라로..! 아림이가 웬일로 10시 30분 쯤 잠들었다. 이렇게만 빨리 잠들어 주면 나는 약 1시간 가량을 개인 시간으로 확보할 수 있다. 오늘도 역시 일기를 쓰고, 내일 외울 단어를 준비하고, Swift 책을 좀 읽다가 자야겠다. 오늘 회사에서는 새로운 기능을 개발하고 있다. 역시나 보기엔 작은 기능인데, 막상 해보니 여러 걸림돌이 생겼다. 일단 한 페이지는 리팩토링 했는데, 기존 구조가 VIPER로 구현되어 있어서 꽤나 까다롭다. VIPER에 무지해서 오늘 구조 파악에만 하루종일 걸린 것 같다. 그래도 덕분에 VIPER 구조에 대해 약간 이해했다. View, Interactor, Presenter, Entity, Router 뭐, 좀 이해는 했지만 결론적으로 VIPER 팬은 될 수 없을 것 같다. 오히려 더 복잡.. 더보기
3. 졸리지만 영단어 애 재우러 같이 방에 들어가서 애 기 잠들때 쯤이면 10시 반 일어나야 하는데 나도 모르게 슬쩍 잠이 든다 그렇게 일어나고 보니 12시 고단한 몸을 이끌고 다시 일기를 쓰러 방에 왔다 내일부터는 매일 단어 10개씩 외우기로 했는데 미리 전날 일기에 10개를 준비해놓고 출퇴근 하면서 틈틈히 외우려고 한다 1. Abbreviation 2. ability 3. able 4. about 5. above 6. abroad 7. absent 8. absolutely 9. absorb 10. accept 나열된 10개의 단어들의 영영사전 정의를 플래시카드에 정리하고, 나름대로 키워드를 함께 외우는 방식으로 할 예정이다. 활용앱: Quizlet, Dictionary 주말엔 캠브릿지나 문법책을 한권 사서 문제풀이를 하며.. 더보기
2. 운동 그리고 영어공부 오늘부터 다시 운동 시작했다. 일단 링피트. 아무래도 장인어른 댁에 가서 저녁을 먹고 집에 와서 애기 재우고 운동 하는게 현실적으로 너무 어렵다고 판단이 들었다. 그래서 오늘부터 앞으로 월,수,금은 저녁을 먹지 않고 바로 집으로 와서 링피트를 하든, 달리기를 하든, 아니면 나중에 피트니스에 등록해서 다니든, 운동을 30분씩이라도 하려고 한다. 내가 운동을 하려는 목적은 분명하다. 운동을 꾸준히 해주면 두뇌 회전에 도움이 되고, 장기적인 관점에서는 피로가 풀린다. 물론 운동을 너무 과하게 하거나 운동 초반에는 피로가 더 쌓이긴 한다. 그러한 과도기를 넘기면 확실히 덜 피로하고 하루가 생기있어 진다. 결국엔 장기적인 싸움을 위해서는 운동을 필수라고 할 수 있다. 그리고 영어 공부도 다시 기초부터 시작하려고 .. 더보기
1. 정신좀 차리자 첫 일기 제목부터 살벌하다. 주위에 정신좀 차리라는 말을 해주는 사람이 없으니 항상 스스로에게 외쳐야 한다. 그렇지 않으면 끝없이 나태하고 게을러 지기 때문이다. 지독한 게으름의 본능. 결국 99% 인류는 이 본능을 이기지 못하고 1%를 위해 노예로 살아간다. 성공 방정식, 승리코드. 뭐 별거 있겠는가. 허튼 짓 하지말고 리스크를 줄이고 열심히 살면 된다. 그렇게 30년을 꾸준히 해봐라. 중간에 아주 재수없는 불행이 닥치지 않는 이상 1%의 삶으로 가는 길은 구글 네비게이션 보다 더 명확하다. 게으른 몸뚱아리는 일으켜 주섬주섬 어질러진 잡동사니들을 주워담고 어슬렁 어슬렁 책상을 정리했다. 그리고는 곰곰히 생각해 봤다. 내가 매일 무엇을 해야 하는지. 사실 무엇을 해야 하는지 생각하기 전에, 결국 무엇을 .. 더보기
일기... 어릴때는 일기 쓰는건 항상 하기 싫은 숙제와도 같았다. 왜, 무엇을 위해 써야 하는지 스스로 납득 하려고 생각조차 안했었던것 같다. 하지만 글을 쓰는 것에는 여러 장점들이 있다. 1. 생각을 정리할 수 있다. 2. 생각을 기록할 수 있다. 3. 생각을 키워 나갈 수 있다. 그래서 이제는 일기라도 매일 써보려 한다. 매일 꾸준함의 힘이 얼마나 큰 것인지 이해했기에. 하지만 거창하게 시작하려면 그 꾸준함을 이어가기 어렵다는 것도 알기에. 일기 만큼 글 쓰는 것에 작은 습관을 들이기 좋은 수단도 없기에. 그렇게 작게 시작해보려 한다. 매일 1년간 쓰면 365편의 장편 소설이 완성된다. 그렇게 10년을 쓰면 3650편의 초저예산 스팩타클 블록버스터 장편 소설이 완성 되리라 기대해 본다. 더보기
swift-format 에러발생 에러메시지 : error: Unable to format ... The loaded '_InternalSwiftSyntaxParser' library is from a toolchain that is not compatible with this version of SwiftSyntax 원인 및 해결방법 1. swift-format 버전이 설치된 xcode의 Swift 버전과 호환되지 않는경우 - 해결방법 swift-format 및 xcode 버전 확인 후 swift-format을 적절한 버전으로 업그레이드 하거나 xcode를 적절한 버전으로 다운그레이드 https://github.com/apple/swift-format 2. xcode 파일 경로를 못찾는 경우 - 해결방법 1) xcode의 이름을 xco.. 더보기
cocoapods 설치 안되거나 pod 명령어를 찾을 수 없을 때 gem 찾을수 없다고 할때 "You don't have [PATH ]in your PATH, gem executables will not run." while using "gem install --user-install bundler" export GEM_HOME="$(ruby -e 'puts Gem.user_dir')" export PATH="$PATH:$GEM_HOME/bin" https://stackoverflow.com/a/68139636 export GEM_HOME=$HOME/.gem export PATH=$GEM_HOME/bin:$PATH gem install cocoapods --user-install https://stackoverflow.com/a/14204067 더보기
swift와 objc에서 순환참조 처리하기 순환참조는 메모리누수를 발생시킬 수 있다. 따라서 weak reference를 통해 순환참조를 피할 수 있다. 예시 Swift func retainCycleHandler() { someObject.someBlock { [weak self] in guard let self = self else { return } self.navigationController?.popViewController(animated: true) } } objc - (void)retainCycleHander { __weak __typeof(self)weakSelf = self; [someObject someBlock:^ { __strong __typeof(weakSelf)self = weakSelf; if (!self) { retu.. 더보기