전체 글 671

[iOS] Unit Test를 GitHub Actions로 자동화하며 겪은 에러 해결 과정

Unit Test 자동화GitHub Actions를 활용하면 Xcode에서 작성한 Unit Test를 자동으로 체크할 수 있습니다.PR을 생성할 때, push를 할 때 등의 액션이 발생하면 Unit Test를 수행하는 방식입니다.Test 편의성과 안정성을 동시에 챙길 수 있으므로 꼭 필요한 과정입니다.  GitHub Actions로 자동화하며 겪은 에러저는 GitHub 안에서 개인 프로젝트 사이클을 돌리고 싶었기 때문에 GitHub Actions를 선택하였는데요.쉽게 가능할 줄 알았지만, 많은 에러를 겪었습니다. 고군분투의 흔적 ;;결과론적인 이야기지만, 앞에서부터 차근차근 살펴봤다면 쉽게 해결했을 텐데... 반성합니다 🥲성공한 Workflow는 최하단에 있으니 최종 결과만 필요..

[일주일 회고] 4월 4주 차 (22일 ~ 26일)

한 일 (22일 ~ 24일)moti 2.0 개발 시작내용일이 바쁘다는 핑계로 미뤘던 moti 리팩토링을 시작했습니다. (Github Repository)지금까지 느낀 moti의 문제점과 저의 문제점을 개선하는 게 가장 큰 목표이고,주요 개선 사항은  1. 서버를 Firebase로 변경한다.  2. 테스트를 적극 연습한다.입니다.  잘한 점1.시작을 했다는 게 가장 잘한 거 같아요.시작으로 반을 채웠으니, 나머지 반도 열심히 채우겠습니다. 2.프로젝트의 목표를 명확히 정하고 글로 정리했습니다. (보러가기)해야 하는 것과 하지 말아야 할 것으로 나누어 적었더니 제가 이 프로젝트로 무엇을 이루고 싶은지 명확해졌어요.시간과 열정은 무한하지 않으니 효율적이고 알차게 다루려고 합니다..

[Swift] difference(from:)와 applying(_:)

difference(from:) difference(from:)은 두 개의 Collection 차이를 쉽게 구할 수 있는 메서드입니다. A와 B를 비교했을 때 무엇이 추가로 있고, 무엇이 없는지 알 수 있습니다. (A collection of insertions and removals that describe the difference between two ordered collection states.) 사용법도 간단합니다. let arr1 = [1, 2, 3, 4] let arr2 = [1, 3, 4, 5] let diff = arr2.difference(from: arr1) diff를 출력해 보면 arr1이 arr2가 되기 위해 무엇을 추가하고, 무엇을 빼야 하는지 알 수 있습니다. "Collect..

[Xcode] Placeholder가 있는 Code Snippet 작성 방법

Code Snippet Code Snippet은 미리 정한 짧은 키워드로 긴 코드를 자동 완성해주는 기능입니다. 아무리 긴 코드라도 미리 등록한 단축어를 입력하면 끝이니 생산성에 큰 도움을 줍니다. (전 Attributes, Constraints처럼 오타가 많이 나는 단어도 애용합니다 ㅎㅎ;) Code Snippet은 많이들 아시지만, placeholder가 포함된 code snippet은 잘 모르기도 합니다. Placeholder가 있다면 무엇을 넣어야 할지 파악하기 쉽고, Tab을 이용하여 입력 부분으로 바로 이동할 수도 있습니다. (중요) Placeholder를 포함한 Code Snippet 생성 Placeholder는 를 작성하면 됩니다. Code Snippet이 아니더라도 코드 입력창에서 을 작..

iOS/Xcode 2024.04.03

[을지로 맛집] 온점 리뷰 / 장터국밥 맛집 / 육회 비빔밥 맛집 / 숯불구이 맛집

기본 정보 가게 이름 온점 을지로점 메뉴 & 가격 장터국밥 12,000원 육회 비빔밥 13,000원 온점 시그니처 갈비 (250g) 38,000원 밑반찬 온점의 밑반찬입니다. 깍두기, 배추김치, 시금치나물, 오징어젓갈(추정)이 나와요. 밑반찬의 간이 세지 않고 메인 요리랑 함께 먹기 딱 좋더라고요. 특히 시금치는 갈 때마다 리필까지 하면서 맛있게 먹고 있어요. 장터국밥 첫 번째 메뉴는 장터국밥입니다. 정말 괜찮은 점심 메뉴예요. 온점이 좋은 품질의 소고기 숯불구이를 팔고 있는데요. 정육하고 남은 고기로 여러 국을 끓이는 거 같더라고요. 이 장터국밥에도 고기가 정말 푸짐하게 들어갑니다. 건더기로는 소고기, 우거지, 무, 파가 들어가고, 딱 깔끔하게 매콤한 정도로만 고춧가루가 들어갑니다. 장터국밥하면 자극적..

[iOS] DTO의 Optional 속성과 앱의 하위 호환성 고민 (결론 없음 주의)

* 혼자 고민한 과정을 기록 목적으로 적은 포스팅입니다. 읽기 전 참고 부탁드립니다 :) DTO DTO는 서버와 통신하는 API의 데이터를 디코딩, 인코딩하기 위한 객체입니다. { "id": 1000, "name": "다이어트", "continued": 10, "lastChallenged": "2011-04-10T20:09:31Z" } 가령 API로 오는 데이터가 위와 같다면, struct CategoryDTO: Codable { let id: Int let name: String let continued: Int let lastChallenged: Date } CategoryDTO는 id, name, continued, lastChallenged 속성을 가지게 됩니다. 이때 각 속성은 Non-옵셔널이 ..

iOS/개념 & 개발 2024.03.20

[건대 맛집] 정면 리뷰 / 국수 맛집 / 미쉐린가이드 서울 2024

기본 정보 가게 이름 정면 메뉴 & 가격 2인 세트(백면 or 홍면 2개, 단호박 식혜 1개) 21,000원 - 백면, 홍면 9,000원 - 단호박 식혜 3,500원 가게 입구 가게 입구입니다. 화이트톤 건물에 큰 간판 대신 글자를 양각으로 만들어서 세련된 느낌을 줬어요. 가게 입구에는 정면의 대표 메뉴 두 가지가 있습니다. 대표 메뉴라기 보단 유일한 메뉴입니다 ㅎㅎ 정면은 두 가지 국수 + 단호박 식혜만 파는 가게입니다. 미쉐린가이드 서울 2024에도 등재되었다고 해요. 이거까진 몰라는데 입구에 붙어 있어서 대단하구나 싶었어요. 회사 동료분에게 여길 방문 했다고 말하니 유튜브에도 출연하신 적이 있더라고요? https://youtu.be/_5sXa9n_cgY?si=85uK6-0fbl4leVRi 사장님께서..

[Swift] 프로토콜 메서드의 매개변수 기본 값 설정 (Defining default parameters for protocol methods)

서론 프로토콜 타입을 사용할 때 불편한 점이 하나 있습니다. 메서드 파라미터에 기본 값을 사용할 수 없다는 점입니다. 예를 들어, UseCase의 execute 파라미터로 page를 전달해야 한다고 합시다. protocol UseCaseProtocol { func execute(page: Int) } struct UseCase: UseCaseProtocol { func execute(page: Int) { // Logic } } let useCase: UseCaseProtocol = UseCase() useCase.execute(page: 1) 그러면 위 코드처럼 항상 page를 전달해줘야 해요. page에 기본 값을 설정하고 싶어도 프로토콜 메서드에는 Default argument를 설정할 수 없다는 ..

[iOS] ProxyMan 설치부터 Response 관찰까지

서론 앱을 개발할 때 서버와 API 통신을 자주 합니다. API 통신 개발 과정에서 문제가 생겼을 때 디버깅을 위해 Postman, Swagger를 사용하기도 합니다. Postman, Swagger도 좋은 방법이지만, 실제 내 앱이 어떤 요청과 응답을 주고 받는지 궁금할 때가 있습니다. if let requestBody = urlRequest.httpBody, let requestBodyString = String(data: requestBody, encoding: .utf8) { print("[요청 데이터]\n\(requestBodyString)") } if let responseBody = try? encoder.encode(body), let responseBodyString = String(dat..

iOS/개념 & 개발 2024.02.21

[일상] 남산 방문 (w. 노을, 돈가스, 비빔밥)

서론 전 거의 6년 간 서울에 살았지만, 아직까지도 남산에 한 번도 가본 적이 없습니다. 굳이 남산까지 갈 일이 없었는데, 1월에 좋은 기회가 생겨서 여러 사람들과 함께 남산에 방문할 수 있었어요! 케이블카에서 케이블카까지 도보로 이동 후 케이블카를 타고 남산 전망대를 향해 출발했어요. 케이블카 가격은 성인 1인 왕복 14,000원입니다. (1만 원 미만이겠거니 했는데 생각보다 너무 비싸서 놀랐어요;;) 표를 구매하고 조금 대기하면 케이블카를 탈 수 있어요. 케이블카는 거의 30명 가까이 타게 되는데요. 케이블카도 처음이라 이렇게 대규모로 이송(?)이 될 줄은 몰랐습니다 ㅋㅋ 4~6명씩 조곤조곤 이동할줄 알았는데... 케이블카 안에서 찍은 사진입니다. 높은 건물과 저 건너 남산이 보이는 게 너무 이쁘더라..

반응형