회고

회고

25.03.19 개발하면서 빠진 고민과 생각 등...

25기 활동을 하면서 이런저런 고민에 빠지고많은 생각을 했다. 크게는 개발적인 부분과 소프트스킬에 대한 부분이다. 우선 개발적인 부분에서 가장 크게 느낀 것은 설계이다. 첫째로 공수산정이다.기디와 피쳐 처음부터 같이 확인하며작업량과 일정을 산출해내는 작업이 중요하다고 느꼈다. 처음 기획단계에서는 앱을 이쁘게 구성하기 위해 대체로이 기능, 저 기능... 이런 UI, 저런 UI... 대체로 많은 기능들이 들어가게 되는 편 같다.물론 이는 절대 부정적인 것이 아니다.앱의 구성과 꾸밈에 있어서 발산하는 아이디어는 굉장히 중요하다.다만 정해진 일정이 있다면 적절히 조절하는 것이 좋다고 생각한다.  그 다음은 너무 당연한 이야기지만,화면에 대한 기능과 디자인이 나왔을 때, 구조적인 설계를 잘하는 것이다.잘한다 라는..

회고

[알러지키미] Post-Mortem, 알러지키미 앱스토어 출시 후 회고

나의 첫 출시 앱, 알러지키미 처음으로 기획부터 디자인, 개발까지 전적으로 스스로 해낸, 의미가 깊은 프로젝트입니다. 여러번의 리젝을 받으면서 좌절도 했지만, 앱의 출시 플로우를 제대로 경험해 볼 수 있었습니다. 개발일지로 짬짬히 이슈 등의 과정의 발자취를 남겨두었지만, 출시를 마치고 다시 돌아보기로 했습니다. 기획과 디자인은 어려워 이번 프로젝트는 온전히 나의 것이었기 때문에, 이전까지 배우고 학습했던 것들을 최대한 적용해보고 싶다는 욕심과 경험해보지 못했던 기술들을 적용해보고 싶다는 사심이 많이 들어갔습니다. 네이버 맵 SDK, Mordern Cell을 통한 실시간 검색 시 셀 애니메이션, Tag List 등... 이것저것 넣어보며 기획과 디자인을 마구잡이로 하다보니, 생각보다 이에 시간이 많이 들었..

회고

[알러지키미] # 11. View Life Cycle 이슈

트러블 슈팅🔧 realm fetch에서 시점 문제 충돌 최근 본 상품을 저장하는 과정에서 realm을 사용했다. ProductDetailView에서 pop해서 나올 때, realm에 저장했다. 홈에서 나온 뒤에는 HomeViewController에서는 저장된 realm의 리스트가 보인다. HomeViewController가 매번 나타날 때마다 이 realm을 리스트에 다시 패치해서 보여줘야했다.

회고

[알러지키미] #10. 새벽시간에 API는 왜 이럴까?

이후 양식에 맞춰 작성하겠습니다! 원래대로라면 내 위치 쥐변 약국 api를 불러오는게 정상이지만, 개발 후 집에 돌아가니 발생한 참사! 왜 이러는지 몰라 계속 api 들여다 보기를 반복하고... 결국 잠에 들고 일어나니 원래대로 돌아가있다... 왜 새벽 시간에 이럴가?

회고

[개발일지/알러지키미] #9. Header와 용량 문제

트러블 슈팅🔧 저장공간이 부족합니다. 용량 문제..다... 처음에는 pod 문제 또는 xcode 에러인가 싶어서 한참 시간을 쏟았다. 맥북 저장공간을 확보하니 해결되었다.

회고

[개발일지/알러지키미] #8. rootViewController 교체

트러블 슈팅🔧 시점 문제과 루트뷰 교체. onboarding에서 HomeView로 넘어갈 때, 이전에 보여줬던 뷰를 pop해서 내려야겠다고 생각했었다. 그러나 실행된 뷰를 펼쳐보니 잘 이전 뷰가 내려가지 않고 그냥 쌓여 있었다. 그리고 클로저에 값을 넣어버린 탓에 이번 뷰가 생성된 시점 이후에 UserDefaults에 값을 넣어줘서 바로 반영이 안되는 문제가 있었다. 루트뷰 자체를 바꿀 수 있었다! sceneDelegate를 불러와서 루트뷰를 교체해주면 된다! 그리고 클로저에 값을 넣지 않고 HomeViewController 인스턴스 생성시점 전에 UserDefaults에 값을 저장했다. 느낀점 이전에는 구현에만 급급해서 자잘한 오류 발생요인들을 놓치고 갔다..

회고

[개발일지/알러지키미] #7. 레이아웃 이슈와 문자열 예외 처리

트러블 슈팅🔧 내가 잡은 레이아웃을 무조건 신뢰하지 말자. 이렇게 레이아웃을 짜놓고 왜 태그리스트를 담은 collectionView가 뜨지 않는지 한참을 고민하고 헤맸다. 처음에는 데이터가 잘 안 들어오는 줄 알고 UICollectionViewDelegate 프로토콜 numberOfItemsInSection과 cellForItemAt에서 올바르게 출력이 되고 있는지 확인해 보았다. numberOfItemsInSection 함수는 출력이 되나 cellForItemAt은 출력되지 않았다. 더미 데이터를 넣어보면서 테스트해도 에러도 발생하지 않았다. 무엇이 문제인 걸까? 고민하면서 돌고 돌아 레이아웃으로 돌아왔다. 설마설마하면서 collectoinView의 공간이 모자라서 셀들이 출력되지 않은 것일까! 하며 ..

회고

2차 Recap 회고

1차 Recap에 비하여 스스로 많이 성장했다 느낄 수 있었다. 이번 2차 Recap은 1차 Recap과 유사하게 앱의 구현 조건을 받아, 이에 부합하게 앱을 구현하는 것이다. 개선할 점 파일 네이밍 허헛...사실 이 부분에 대해 평소에 많이 고민을 했었다. 파일이름을 무엇으로 지어야 할지, 그리고 어떤 폴더에 이 파일을 위치시켜야 할지 등등.. try! Realm은 위험해 OS 버전, Realm 버전 등 다양한 이슈로 인해서 Realm 인스턴스화가 실패할 수 있는 가능성이 높다. 그런 이유로 무작정 try!로 인스턴스를 생성하는 것은 위험하다고 한다.. 실제 서비스를 생각했을 때, 즐겨찾기 기능을 이용하다가 앱이 종료되는 상황보다는 이 기능을 이용할 수 없는게 사용자 경험적인 면에서 나을 것이다. 이 ..

회고

1차 Recap 회고

뒤늦은 1차 Recap 회고다. 2차 Recap 회고를 하려 하니, 1차 Recap에 대해 떠올릴 필요가 있다고 느껴졌다. 지난달의 기억을 짚어가며 1차 Recap의 회고를 작성한다. 처음으로 주어진 요구사항과 가이드라인을 바탕으로, 앱의 시작부터 끝까지를 무엇을 어디서부터 어떻게 구현해야 할지를 고민할 수 있었다. 개선할 점 강제 언래핑 우선 강제 언래핑을 많이 사용하는 문제가 있었다. 지금 당장의 어떤 경우에서느 문제가 없이 작동할 수 있겠지만, 강제 언래핑 코드로 인해 앱이 꺼지는 문제는 심각한 문제다. 옵셔널 바인딩을 사용하는 습관을 길러 추후에 생각치도 못한 앱의 강제 종료를 막을 수 있도록 해야겠다. 필요한 프로토콜만 채택하자 서버에서 통신을 받는 Response의 역할만 하는 구조체에 Cod..

회고

[개발일지/알러지키미] #6. DTO, Enum UserDefaults에 저장하기

3월 14일 (목) Iteration 3 中 1일 차 Enum 데이터 UserDefaults에 접근하기 사용자의 알레르기 정보를 받아서 Allergy 배열을 UserDefaults에 저장하고자 했다. 그래서 UserDefaults에 알러지 데이터를 담고자 아래와 같이 코드를 작성했는데.. 오류가 발생했다. 기억을 더듬어보니 UserDefaults에는 swift 기본 타입인 Bool , Int, Double, Float, String, URL 등...만 접근할 수 있다. 그런데 나는 Enum인 Allergy를 담으려 했던 것🚨 UserDefaults에 직접 만든 구조체나 열거형을 담을 수는 없을까? 여기서 DTO(Data Transfer Object)라는 개념을 학습했다. DTO는 데이터 전송 객체로, 데..

쨈미니
'회고' 카테고리의 글 목록