본문 바로가기
반응형

전체 글22

앱 개발 시 로컬라이즈는 나중에 하자 개인 앱 개발을 결심하고 첫 앱은 라는 앱이었다. ‎주고받고 - 효과적인 경조사 선물 기록 앱‎내가 직장 동료의 결혼식에 얼마나 냈는지, 나의 결혼식에는 누가 얼마나 냈는지 궁금하시죠? 이제 더 이상 기억에 의존하지 마세요! 주고받고가 여러분의 경조사 및 선물 내역을 똑똑하게 관apps.apple.com이 앱은 보다시피 한국어 기반의 앱이고 정확히 기억은 나지 않지만 5개 언어 정도로 번역이 되어있는 상태이다.처음으로 바닥부터 쌓아올리다보니 앱 자체의 개발 기간도 굉장히 길었고 기능도 많이 넣었으며 심지어 다크 모드에 로컬라이즈까지 추가했다. 이 앱은 거의 5~6개월 정도 개발했고 뭐 예상하듯이 결과는 그리 좋지 않았고 이때 느낀 교훈을 되새기면 굳이 국내 타겟의 앱을 만들었을 필요가 있나 싶다. 특히 .. 2025. 3. 24.
3년차 수영인이 되어가며 느낀 점 2022년 초 즈음에 수영을 시작한 것 같습니다.러닝은 과거에 허리를 크게 다치게 만든 경험이 있었고 헬스는 재미없으며 단체 구기 종목은 성향에 맞지 않아서 운동 방황기를 거치던 사람 중 하나였는데 무슨 결심이었는지 무작정 백화점에서 수영복과 수영장 강습을 결제하고 다음 날부터 다녔습니다. 그게 약 2년 반 전이고 이후로 수영을 즐긴 지 햇수로 3년 차가 되었습니다.자유형도 못하던 사람이 현재는 상급반에서 가끔 선두도 하고 있습니다.그 시간 동안 성장한 저를 되돌아보면 조금은 뿌듯하기도 합니다. 과거 수영에 관한 글을 쓰면서 러닝과 정말 유사한 부분이 많다고 느꼈습니다.자기 페이스에 맞춰서 진행할 수 있고, 뭔가 무념무상의 단계에 빠져들게 만드는 매력이 있습니다.개발자로 살아오면서 회사나 커리어에서 적지.. 2024. 9. 7.
SwiftData의 1:N Relationship 설정 시 크래시 문제 해결 크래시 발생SwiftData를 이용한 앱을 런칭했는데 iOS 개발자들을 긴장하게 만드는 이메일이 전해집니다.저는 이 메일을 받을 때마다 심장이 두근두근 하더군요. @Model이 Swift의 매크로 기반으로 동작하다보니 에러 발생 시 자동으로 생성된 코드 블럭 내에서 콜 스택이 호출됩니다.그 종착지는 앱 내에서 Post와 유사한 역할을 하는 History 모델의 author 필드를 세팅하는 로직이었습니다.그러나, History 생성 로직 구성 후 메서드 실행 시 문제가 없었기 때문에 정말 의아한 상황이었습니다.var author: Author?{ @storageRestrictions(accesses: _$backingData, initializes: _author) init(initialVal.. 2024. 7. 22.
개인 앱 실패(?) 회고 최근에 경조사 기록 앱을 런칭했습니다. ‎주고받고 - 효과적인 경조사 선물 기록 앱‎내가 직장 동료의 결혼식에 얼마나 냈는지, 나의 결혼식에는 누가 얼마나 냈는지 궁금하시죠? 이제 더 이상 기억에 의존하지 마세요! 주고받고가 여러분의 경조사 및 선물 내역을 똑똑하게 관apps.apple.com이런저런 이유로 제작이 지연되면서 꽤나 오래 걸렸던 앱이라 스토어에 올릴 때 자식을 세상에 내보이는 마음이었습니다.근데 시장은 당연하게도 큰 반응이 오지 않습니다.어찌 보면 마케팅도 하지 않았고 제가 유명 인사도 아니라 오가닉 하게 반응이 오는 게 말이 안 되는 것인데 눈으로 직접 확인하니 더욱 쉽지 않더군요.제목에 실패라 언급했지만 아직 고도화할 기능도 많고 마케팅도 본격적으로 하지 않았기 때문에 개선할 여지가 많.. 2024. 7. 12.
나의 두 번째 몽골 여행기 (3) - 욜링암과 홍고린엘스 욜링암욜링암 같은 경우는 걸어서 트래킹을 하기도 하고 승마 체험도 가능한 스팟입니다. 지난 여행은 7월 즈음이어서 전체적인 분위기가 초록색이었지만 역시 가을 ~ 초겨울이 되니 조금은 삭막해진 분위기는 어쩔 수 없더군요.승마말들은 하루에도 몇 번씩 같은 코스를 반복해서 다니다보니 여행자들의 말을 크게 듣지 않습니다. 자율 주행 자동차 마냥 정해진 경로를 갑니다. 그래도 말을 타고 광활한 욜링암의 풍경을 감상하면 몽골에 왔다는 사실을 다시 한번 느끼게 되는 순간이기도 합니다.말마다 성격도 너무 달라서 선택 과정에서의 운이 조금 따라야 합니다. 만약 성질이 더러운 말을 만나면 승마 코스동안 꽤나 고생을 할수도 있습니다.바위산의 매력욜링암은 어찌보면 흔한 풍경이기도 합니다. 바위산 특성상 매우 유니크하다고 볼 .. 2024. 7. 8.
나의 두 번째 몽골 여행기 (2) - 차강소브라가 본격적인 여행 시작몽골 여행의 초반은 울란바토르 및 테를지 국립공원이 전체 여행 과정에서 가장 편한 날이라고 봐도 무방합니다. 실질적으로 여행이 시작되는 시점은 비포장 도로가 등장하면서부터입니다. 여행의 대부분을 비포장 도로와 함께하다 보니 여행의 마무리 시점에 포장도로가 나오면 오히려 어색함이 느껴질 정도입니다.차강소브라가차강소브라가(Tsagaan Suvraga)는 몽골의 그랜드 캐니언이라고 불리웁니다. 사실 객관적인 규모 자체는 비교가 어렵긴 하지만 위에 올라서면 나름의 웅장함이 굉장합니다. 아무래도 한국에서는 지평선을 찾아보기가 불가능에 가까운데 몽골에서는 어디로 눈을 돌려도 지평선입니다. 높은 언덕에서 지평선들을 바라보면 여러 생각에 잠기게 되는 것 같습니다. 영화를 보신 분이라면 영화의 절정 부.. 2024. 7. 8.
나의 두 번째 몽골 여행기 (1) 2022년 9월 24일부터 10월 3일까지 몽골을 다시 한번 다녀왔습니다. 늦게나마 당시의 기억들을 기록해 두고자 이 포스트를 작성합니다.몽골은 왜?사실 2017년 즈음에 몽골을 이미 한 번 다녀왔었습니다. 당시에 친구의 꼬드김에 넘어가 영문도 모른 채 갔었던 몽골은 정말 살면서 보기 힘들었던 경관들의 연속이었습니다.지평선이라는 용어 자체가 조금은 낯선 대한민국에서의 모습들과는 달리 몽골에서는 너무나도 익숙한 용어로 자리 잡았습니다.그리고 2020년 초 코로나로 인하여 해외여행이 막히고 나서 과거의 여행들을 추억할 기회가 많았는데 약간의 추억 미화가 되었는지 몽골에 대한 좋지 못했던 기억들(예를 들면, 벌레 이슈 혹은 온전히 깨끗하지는 못했던 샤워 시설 등)은 사라지고 풍경에 대한 좋은 기억들과 투어 사.. 2024. 7. 8.
이직이 정답은 아니지만 개발자 지인들과 한 잔 할 때면 항상 등장하는 주제가 있습니다. 바로 이직인데요.이직에 관해서는 정말 여러 케이스가 있고 살짝은 베일에 쌓여있는 느낌이라 항상 흥미롭고 또 알고 싶은 녀석인 것 같습니다.본인저는 이직을 연차 대비 꽤 많이 한 편입니다.학생 시절부터 연구나 학구적인 전공에 관한 내용보다는 비즈니스에 가까운 서비스 개발을 좋아했던 터라 좋은 기회로 회사 생활을 일찍 시작하게 되었습니다. 한편으로는 빠르게 돈을 벌고 싶다는 생각도 강했고요.개발은 할 줄 알았지만 개발자라는 직업에 대해서 잘 알고 진입한 것은 아니었기 때문에 처음에는 얼마를 받아야 할지도 몰랐고 협상은 할 줄도 몰라서 그냥 주는 대로 받았습니다.그렇다 보니 초봉(?)은 굉장히 낮아서 급여를 높이는 과정에서 잦은 이직을 하게 되었.. 2024. 7. 8.
UIViewController의 view는 왜 UIView! 타입일까? UIViewController를 기반으로 UI를 구성할 때 기본적으로 자주 사용하는 속성은 바로 view입니다.이 view를 조금 살펴보면 UIView! 타입인 것을 확인할 수 있습니다. 이에 대한 이유를 명확히 알아보고자 view에 대해 좀 더 살펴보았습니다.view의 구성 방식view의 구성 과정을 알아보기 위해서는UIViewController 내 loadView() 메서드와 연결 지어 생각하면 되는데 view 속성의 경우 기본 값이 nil이며, nil인 상태에서 self.view 따위를 통해 접근 시(force-loading이라고 표현하기도 하네요)loadView() 메서드를 통해 view를 새로 할당하는 구조입니다.만약 직접 접근하지 않는다면 UIKit이 실제로 필요하다고 여겨지는 시점에 자동으로.. 2024. 7. 7.
반응형