전체 글 82

[역행자 - 자청] 본성과 유전자에 역행하라!

인간이 경제적, 시간적, 정신적 자유를 얻지 못하는 이유는 무엇일까? '본성과 유전자의 명령대로만 살아서' 이 책은 자청님의 진솔한 이야기부터 시작합니다. 자신이 부족했던 시절 이야기 해주고, 발전할 수 없었던 원인은 '본성과 유전자의 명령대로만 살아서' 라고 이야기하고, 어떻게 극복했는지를 역행자의 7단계를 통해 이야기해 줍니다. 처음에는 본성과 유전자의 명령대로 산다는 것이 무슨 뜻인지 이해를 하지 못했습니다. 하지만 역행자의 7단계를 모두 읽고 그 뜻을 어느정도 이해하게 되었습니다. 좀 더 쉽게 말한다면, 유전자와 뇌는 원시시대에 있는 사람처럼 '편한 것', '익숙한 것', '안정적인 것'을 원하는데, 이러한 것들은 현대시대에 큰 오류를 발생시키게 되고, 이 오류를 인식하여 역행하는 삶을 사는 것이..

Life/Reading 2022.12.12

[베트남 베테랑 메모리얼] 당신에게 고난이 찾아왔나요?

미국에 있는 대부분 메모리얼(기념관)은 크고 웅장한 스케일로 압도감과 경외심을 불러 일으킵니다. 그중 워싱턴 메모리얼과 링컨 메모리얼은 미국에서 웅장함을 자랑하는 메모리얼입니다. 하지만 다른 메모리얼 중 웅장함과는 거리가 먼, 오히려 V자 모양으로 땅으로 움푹들어간 베트남 베테랑 이라는 이름을 가진 메모리얼이 있습니다. 이 메모리얼을 지은 건축가 마야 린은 전쟁에서 승리한 메모리얼과는 달리 패배한 배트남전 메모리얼을 완전히 창의적인 아이디어로 만들었습니다. 이 메모리얼 양쪽 입구에 들어서게 되면 완만한 내리막길이 시작 되며, 걷다보면 옆에 있는 점점 돌벽에 내가 서서히 잠기게 됩니다. 돌벽은 검은색이고 거울 처럼 비추도록 제작되어 있습니다. 그리고 그 돌벽에는 전사자들의 이름이 씌여져 있습니다. 돌벽에 ..

Life/Writing 2022.12.09

[인스타 브레인 - 안데르스 한센] 당장 그 핸드폰 내려 놓으세요.

우리는 오늘날 세계에 맞게 진화하지 못했다. 이 책은 역행자 자청의 추천책이라서 읽게 되었습니다. 저자는 우리는 주변 환경에 맞춰 진화해왔지만, 결과적으로 지금은 우리가 살고 있는 시대와 동 떨어지게 되었다고 합니다. 특히 핸드폰(스마트폰)을 사용하게 된 기간은 인간이 진화를 거듭한 기간을 비교하면 찰나와 같은 짧은 기간이라고 말합니다. 즉, 유목생활과 수렵생활, 사냥을 했던 선조의 환경에 맞게 진화한 뇌가 오늘날 환경과 전혀 도움이 되지 않는 모습을 보여주고 있다고 합니다. 감정은 생존 전략이고, 뇌를 조종하며, 부정적 감정이 더 우세하다. 식량부족과 많은 위험, 포식자들으로부터 보호하기 위해 선조들은 빠른 판단이 필요했는데, 이성적인 판단을 내리기에 불충분하거나 결정하는데 오래 걸리면, 뇌가 빠르게 ..

Life/Reading 2022.12.06

[Xcode] AppStore Uplaod할 때, ERROR ITMS-90035 해결방법

구 버전의 Xcode에서 작업한 프로젝트를 오랜만에 사용할 일이 생겨서 최신버전의 Xcode에서 AppStore에 업로드 하는데 다음과 같은 에러가 발생하였다. (내용 추가 - 기본 체크를 먼저 해보시기 바랍니다.) 0. Apple Developer 사이트에서 Profile와 Certificates 설정이 잘 되어 있는지 확인한다. Profile에서 AppStore 용을 설정할 때는 올바른 Distibution 인증서가 연결되어 있는지 확인한다. Xcode에서 Build세팅에서 Debug와 Release 설정이 잘 되어 있는지 확인한다. 1. 빌드 시스템을 Legacy로 변경해보았다 (옛날 프로젝트니...) Workspace Setting에서 Build System의 Legacy Build System ..

Programer/iOS 2020.05.14

[iOS] Universal Framework Run Script와 오류 해결

단일 프레임워크를 Universal Framework로 만들때 쓰는 Run Script는 아래를 사용하고 있고, #!/bin/sh UNIVERSAL_OUTPUTFOLDER=${BUILD_DIR}/${CONFIGURATION}-universal # make sure the output directory exists mkdir -p "${UNIVERSAL_OUTPUTFOLDER}" # Step 1. Build Device and Simulator versions. This also include the full bitcode generation of framework xcodebuild BITCODE_GENERATION_MODE=bitcode OTHER_CFLAGS="-fembed-bitcode" -targ..

Programer/iOS 2020.02.19

[iOS] Framework 안에서 Objective-C / Swift 같이 쓰기

Framework 안에서는 Bridging-Header 를 설정할 수 없다. 따라서 Framework안에서 Objective C와 Swift를 같이 사용하고 싶다면, 프레임워크를 만들 때 생성되는 (프레임워크명).h 헤더 파일에 Objective C Header 을 import해주면 된다. (추가로, Build Phases 에서 headers 리스트에서 헤더 파일들을 Public으로 이동시켜줘야 한다.) 참고 링크: https://stackoverflow.com/questions/41758269/objective-c-and-swift-using-in-framework-in-xcode Objective c and Swift using in Framework in Xcode I've my own old fr..

Programer/iOS 2020.02.07

[iOS] Framework 사용시 주의 할 점 (Dynamic / Static 설정)

Let's Swift 판교에서 민소네님 Framework로 나누는 것을 보고, 저도 일부 기능을 Framework로 분리하고 있는데, Appstore Connect에 올리는 도중, 아래와 같은 에러 메시지가 나타났다. Stackoverflow에서 해당 증상을 찾아보니, Dynamic / Statuc 에 따라 설정을 달리해야하는 부분이 있는 것을 발견했다. Dynamic Framework는 Embeded Framework에 연결이 되어 있어야 되고, Static Framework의 경우 Embeded Framework에 연결이 되어 있으면 안되고, Link Binary With Libraries에 연결이 되어 있어야 한다. Embeded Frameworks 에서 Static Framework들을 제거 하니..

Programer/iOS 2019.12.19

[Swift] ObjectMapper 에서 toJSON사용시 Nil 파라미터 추가 하기

ObjectMapper에서 Object를 JSON으로 바꿀때 nil 프로퍼티는 생략해서 만들어준다. 만양 생략하지 않고 Null를 넣고 싶다면, let json = Mapper(context: nil, shouldIncludeNilValues: true).toJSON(object) 이렇게 사용하면 된다. 그러면 nil 값인 프러퍼티를 null 값을 가진 JSON으로 바꿔준다. (그리고 이제 ObjectMapper는 그만쓰고, Moya + Codable로 가야겠다. 이게 더 편하다..)

Programer/iOS 2019.12.10

[Let's Swift] 렛츠 스위프트 판교 후기

저번에 티켓 예매를 실패한 Let's Swift에서 한번 더 판교에서 열린다고 해서 BTS 콘서트를 예매하는 소녀팬처럼 두근거리는 마음으로 예매를 시도했고, 성공했다. 특히 내가 개인적으로 존경하는 개발자분들이 발표를 하셔 더욱더 기대가되었고, 도움도 정말 많이 되었다. 열심히 기록도 하고 경청을해서 들었는데 하루만 지나니 기억이 또 가물가물.. 더 잊기전에 정리를 해본다. 느낌적인 느낌을 찾아서 - 네이버웹툰 장수한 UIView.isHidden = 뒤에 true? false? 가끔 헷갈릴 때가 있음 isHidden = 숨긴다 우리는 스토리보드 xib 이미 표시 되어 있다고 생각, 인간은 90% 시각에 의존, 부정 보단 긍정 더 선호한다. 그런 느낌으로 보면, isHidden = false 로 생각하고 ..

Programer/iOS 2019.12.07

[Swift] Realm 사용할 때 Crash 오류 관련

데이터 Object들을 Realm에 저장할 때 Crash 나는 경우가 종종 생깁니다. 그 중 가장 많이 비번하게 발생하는 곳이 Realm 밖에서 Write를 하는 경우 (= 불러온 Realm 객체를 다른 곳에서 수정하는 경우) 입니다. 예를 들어 체중 리스트 화면과 체중 수정 화면 두가지 화면이 있고, Weight라는 데이터를 Class로 사용하는 경우, 1. 리스트 화면에 체중 데이터를 뿌리기 위해 realm 에서 객체들을 load 합니다. 2. 체중을 수정하기 위해서 그 데이터를 가지고 수정 화면에서 들어갑니다. 3. 수정화면에서 데이터를 수정하면 Crash 최초 load한 Realm 밖에서 수정을 하였기 때문에 문제가 발생합니다. 하지만 아래와 같은 Extension를 사용하면 그러한 문제를 해결할..

Programer/iOS 2019.11.25