전체 글 673

[강남구 맛집] 오레노라멘 강남점 리뷰

기본 정보가게 이름오레노라멘 강남점 메뉴 & 가격토리빠이탄 12,000원 토핑) 삼겹차슈 두 장 2,000원 밑반찬오레노라멘의 각 테이블에는 피클무가 있습니다. 이 피클무가 엄청난 역할을 합니다. 라멘이 다소 느끼한데 그 느끼함을 피클무가 싹 잡아줘서 한 그릇을 맛있게 먹을 수 있게 해줘요. 식감도 아삭아삭해서 좋았습니다. 토리빠이탄 라멘토리빠이탄 라멘입니다. 음식도 빨리 나오고, 비주얼도 예뻐서 먹기 전부터 기분이 좋았습니다. 기본 고명으로는 파, 튀긴 양파, 목이버섯채, 수비드 닭가슴살, 반숙 계란(아지타마고)이 올라가고, 2천 원을 추가하면 삼겹 차슈 두 장이 올라갑니다. 삼겹 차슈의 맛과 크기가 상당히 괜찮으니 웬만하면 추가하세요~ 그리고 국물 위에는 거품이 있는데요. 이게 토리빠이탄 라멘의 특징..

[회고] 네이버 부스트캠프 웹・모바일 8기 그룹 프로젝트 3, 4주 차 회고 & 기술적 고민

서론 최근 개발에 치여 포스팅을 많이 못했네요.. 어떻게 하면 더 잘 활용할 수 있을지 고민하는 주였던 거 같습니다. 3, 4주 차 회고를 묶어서 어떤 고민을 했는지 작성해 보겠습니다. 점점 커지는 프로젝트 4주 정도 개발하니 프로젝트가 점점 커지고 있습니다. (물론 현업 개발자분들이 보시면 코웃음 칠 사이즈지만요 ㅎ;) 프로젝트가 커지면서 다른 팀원이 작성한 흐름이 잘 안 보이기도 하고, 제가 작성한 흐름을 까먹기도 하고 있습니다. 어떻게 하면 이런 부작용을 줄일 수 있을까 고민하다 네이밍에 더 신경 쓰기로 했습니다. 아키텍처나 디자인패턴이 답일 수 있겠지만.. 마감까지 2주밖에 안 남은 상태에서는 불가능한 선택지였습니다. 그래서 최소한 네이밍이라도 명확하게 쓰자!라고 다짐했습니다. 동시에 extens..

[회고] 네이버 부스트캠프 웹・모바일 8기 그룹 프로젝트 2주 차 회고 & 기술적 고민

서론 그룹 프로젝트 1주 차에는 기획을 주로 했고, 이를 바탕으로 그룹 프로젝트 2주 차에는 실제 개발에 들어갔습니다. 처음으로 협업을 해보면서 무엇을 느꼈는지 작성하고, 어떤 기술적 고민을 했는지도 적어보겠습니다. 그리고 최근에 도파민 다이어트를 해보고 있는데요. 이에 대한 짧은 이야기도 해보려고 합니다 ㅋㅋ 협업을 나누는 단위 저희 모티메이트 팀의 iOS는 저와 팀원 1명, 총 두 명입니다. 함께 기획하고 디자인한 걸 어떻게 나눠야 좋게 협업할 수 있을지 고민했습니다. 근데 이게 회사의 협업이랑은 성격이 좀 다른거 같더라고요. 회사의 협업은 효율 중심이지만 네이버 부스트캠프는 함께 성장하는 측면을 더 강조하고 있었습니다. 그래서 어떻게 해야 함께 성장하고 앱의 흐름을 모두가 이해하면서 적당히 효율도 ..

[회고] 네이버 부스트캠프 웹・모바일 8기 그룹 프로젝트 1주 차 회고 & 기술적 고민

서론 11월 6일부터 네이버 부스트캠프 웹・모바일 8기 그룹 프로젝트 1주 차가 시작되었습니다. Mobile/FE 2~3명, BE 2명이 모여 하나의 프로젝트를 진행하는 활동입니다. 네이버 부스트캠프 웹・모바일 8기 그룹 프로젝트는 6주동안 진행되며 마지막 6주 차에는 현업 개발자분들 앞에서 결과 발표를 하게됩니다. 기획 이번 1주 차는 기획 주였습니다. 6주 간 어떤 앱을 만들지 고민하고 기획, 디자인하는 시간이었는데요. 저희 팀은 기획은 다함께, UX는 iOS 파트가, 디자인은 제가 진행했습니다. 기획자가 따로 없고 iOS, BE 개발자가 서로의 기술적 고민을 충족시키기 위한 기능을 생각해내는게 쉽지 않았는데요. 긴 시간 회의하고 각 파트에서 양보하면서 타협점을 잘 찾은 거 같습니다. (사실 아직도 ..

[iOS] XCTest에서 비동기 테스트하기 (XCTestExpectation)

서론 UnitTest 사용해보기와 XCTest 성능 측정 (Command Line 환경)에서 UnitTest를 하는 방법과 성능 측정 방법을 다뤘습니다. 이전에는 동기 메서드만 테스트만 다뤄서 이번에는 비동기 테스트에 대해 말해보려고 합니다. 대부분의 앱에는 네트워크 통신이 필요합니다. 네트워크 통신은 오래 걸리는 작업이기 때문에 반드시 비동기로 처리해야 합니다. 같은 이유로 네트워크 테스트도 비동기로 테스트해야 하며, 다른 동기 테스트와 분리해야 합니다. 비동기 테스트 비동기 메서드를 동기 테스트 코드와 똑같이 테스트하면 제대로 테스트할 수 없습니다. 비동기 메서드의 결과가 나오기 전에 테스트 함수가 종료되기 때문입니다. 그래서 비동기 메서드가 종료될 때까지 기다리는 작업이 필요한데요. 이를 위해 XC..

iOS/개념 & 개발 2023.11.02

[iOS] Xcode 15 #Preview 사용해보기 (+ 무선 Preview)

서론 Xcode 15.1 Beta에서 IBDesignable이 Deprecated 되었습니다. Xcode 15부터 생긴 #Preview 매크로를 적극 권장하기 위한 처리가 아닐까 생각이 들어서 이번 기회에 #Preview를 사용해 보기로 했습니다. 막상 사용해 보니 생각보다 더 편하고 유용해서 이렇게 포스팅까지 하게 되었네요. 특히 무선 Preview가 상상 이상이라 놀라웠습니다. 하나하나 천천히 살펴봅시다! Preview 관련 WWDC를 다룬 포스팅도 봐주시면 감사하겠습니다 ㅎㅎ #Preview #Preview를 사용하는 방법은 정말 간단합니다. #Preview { 보고 싶은 뷰 } 위 코드만 소스 파일 최상위에 적어주면 됩니다. 그럼 Xcode 화면이 분리돼서 Preview가 보입니다. Xcode가 ..

iOS/개념 & 개발 2023.11.01

[WWDC23] Build programmatic UI with Xcode Previews

What are previews Preview는 뷰를 구성하는 코드 스니펫입니다. #Preview 매크로를 사용하면 뷰를 반환합니다. Preview는 앱에 컴파일 되고, Xcode의 캔버스에 바로 나타나서 뷰를 미리 확인할 수 있습니다. Preview를 사용하면 개발자가 작업을 더 빨리 할 수 있습니다. 반복적인 일을 줄여주고, 불필요한 코드를 없앨 수 있기 때문입니다. Preview를 사용하고 소스 코드를 수정하면 Xcode는 두 가지 일을 동시에 처리합니다. 첫 번째는 어디가 변경되었는지 살펴보고, 최소한의 부분만 컴파일합니다. 두 번째는 Preview를 다시 실행합니다. 개발자가 코드를 수정만 하면 Xcode가 자동으로 최소한의 범위만 컴파일해서 Preview를 업데이트하는 것입니다. 심지어 여러 ..

WWDC/iOS 2023.11.01

[회고] 네이버 부스트캠프 웹・모바일 8기 멤버십 7, 8주 차 회고 & 기술적 고민

서론 6주 차 회고를 하고 거의 2주 간 포스팅이 없었습니다. 그만큼 네이버 부스트캠프가 바빴고 알찼답니다 ㅎㅎ 이번 7, 8주 차에는 페어 프로그래밍이라는 걸 했습니다. 혼자서 할 때보다 1.5배로 힘들고 2배 재밌었던 경험이었습니다 ㅎㅎㅎ 바로 회고해 봅시다. 페어 프로그래밍 위에서 말했듯 7, 8주 차에는 페어 프로그래밍을 진행했습니다. 두 명이 짝을 지어서 네비게이터, 드라이버로 나눠서 같이 작업하는 방식이에요. 내비게이터는 지시하는 역할, 드라이버는 지시를 듣고 실행하는 역할입니다. 페어 프로그래밍에서 가장 중요한 건 분업이 아니라 하나의 컴퓨터로 같이 작업을 하는 것입니다. 그래서 저희는 한 명이 화면 공유를 해서 작업하는 방식을 선택했어요. 하나의 코드를 두 명이 대화하면서 짠다는 게 괜찮이..

[회고] 네이버 부스트캠프 웹・모바일 8기 멤버십 6주 차 회고 & 기술적 고민

서론 벌써 6주 차가 되었네요. 6주 차에는 새로운 시도를 많이 해봤습니다. 다른 분들의 MVVM 패턴을 보면서 이렇게도 사용할 수 있구나, 이런 방법도 있구나 많이 배웠어요. MVVM + state 첫 번째 시도한건 MVVM에 state를 적용하는 것입니다. 기존에는 MVVM의 데이터를 바인딩해서 사용했습니다. 이렇게 사용하니 데이터 흐름을 파악하기 어렵다는 단점이 있었습니다. View가 예상과 다르게 나올 때 어디가 문제인지 파악하기가 어려웠어요 ㅠㅠ state를 적용한 분의 코드를 보니 ViewController가 특정 state일 때 이렇게 뷰가 변하는구나!라는 흐름이 한 눈에 보여 좋았습니다. 저도 데이터를 직접 바인딩하는 게 아니라 간단하게나마 state를 적용했더니 흐름이 좀 개선이 되더라고..

[iOS] Delegate에 AnyObject 채택은 필수일까?

서론 언제나 그렇듯 아래와 같이 Delegate를 만들고 있었습니다. protocol OOODelegate: AnyObject { func ... } 근데 아차! 싶었습니다. Delegate에 왜 AnyObject를 붙여야 하지?라는 생각을 따로 안 해봤더라고요. 어렴풋이 알고는 있었지만 따로 생각을 해보거나 글로 정리한 적이 없어서 이렇게 포스팅하기로 결정했습니다. iOS에서는 언제 Delegate를 쓸까? Delegate는 Delegate를 채택하는 누군가에게 나의 행위를 위임합니다. Delegate를 사용하는 곳에서는 메서드를 호출만 하고, Delegate를 채택하는 곳에서 메서드를 구현하는 것입니다. iOS에서는 주로 유저 이벤트에 따른 행위를 구현할 때 Delegate를 사용합니다. 예를 들어,..

iOS/개념 & 개발 2023.10.14
반응형