[꾸준 회고] SwiftUI 찍먹 후기 (feat. Boost SwiftUI 스터디)
·
경험 회고/꾸준 회고
Boost SwiftUI 스터디최근 SwiftUI 스터디를 시작했습니다.이름은 Boost SwiftUI 스터디! (사실 공식 이름 없음 ㅎ;)iOS 개발자 7명과 디자이너 1명이 함께하는 스터디입니다. (혹시 깃허브 레파지토리가 궁금하다면...? https://github.com/BoostSwiftUI/SwiftUI) SwiftUI Tutorial로 기초를 잡고, 디자이너와 피그마로 협업하여 다양한 UI 개발 경험을 쌓습니다.마지막으로 주 1회 WWDC 시청으로 딥 다이브를 하고 있습니다. 스터디를 시작한지 약 한 달이 지난 지금, SwiftUI와 관련된 생각이 조금씩 쌓여서 글까지 쓰게 되었습니다.참고로 저는 최소 지원 버전을 iOS 15로 설정하여 진행했습니다. 깊은 고민 없이도 만들기 쉽다.처음 이..
[일주일 회고] SwiftUI 스터디 시작과 유지보수 개선, 그리고 WWDC 학습
·
경험 회고/꾸준 회고
회고 요약 feat. GPTSwiftUI 기초 학습과 다양한 UI 구현 목표, 적극적인 7명의 멤버와 함께 시작.유지보수와 개선에 중점을 둔 한 주. QA 티켓 감소와 기획자들에게 도움이 되는 선행 배포라는 긍정적인 경험을 얻음.SwiftUI 학습을 본격적으로 시작, WWDC 영상을 주 1회 시청하며 공식 개념 학습. 한 일SwiftUI 스터디 시작!SwiftUI 스터디를 시작했습니다.SwiftUI의 기초를 학습하고, 다양한 UI를 SwiftUI로 구현하는 것이 목표예요. SwiftUI Tutorial과 WWDC로 기초를 학습하고, Mobbin을 참고해서 다양한 화면을 구현해 볼 예정이에요.하다 보니 7명이나 모였는데, 한 분 한 분 모두 적극적이신 분이라 너무 기대됩니다. (아직 아이스 브레이킹만 함 ..
[일주일 회고] 5월 4주 차 (16일 ~ 24일)
·
경험 회고/꾸준 회고
한 일 (16일 ~ 21일)새로운 기술 도전잘한 점새로운 기술에 도전했습니다.Tuist를 이용한 모듈화와 FlexLayout + PinLayout 중 고민하였고,FlexLayout + PinLayout을 이용해 UI 성능을 개선하기로 결정했습니다.현재 저의 개발 환경은 혼자 + 크기가 작음 이기 때문입니다.특히 혼자 개발하는 환경에서 모듈화가 크게 의미가 없다고 생각했습니다.결국 저에게 좀 더 가깝게 다가오고 흥미가 있던 FlexLayout과 PinLayout에 도전했습니다.(+ 최근 자주 보고 있는 당근 테크 블로그에서도 봐서 더 친근하게 느껴졌어요 ㅋㅋ) 개인 프로젝트 뿐만 아니라 현업에서도 새로운 기술에 도전하고 있어요.이번 주는 새로운 기술 도전을 크게 한 일주일이라고 생각이 드네요 :) 아쉬운 ..
[일주일 회고] 5월 3주 차 (9일 ~ 17일)
·
경험 회고/꾸준 회고
한 일 (9일 ~ 15일)파이어베이스 로그인 연동잘한 점공식 문서의 중요성을 깨달은 과정이었습니다.애플 로그인과 파이어베이스 인증을 연동하는 과정에서 파이어베이스의 친절한 공식 문서에 놀랐습니다.공식 문서만 봐도 모든 기능을 구현할 수 있었어요.평소 iOS 개발을 할 때도 공식 문서의 중요성을 상기하면서 개발하는데요,이번 개발 과정에서 공식 문서를 가장 처음 봤고, 공식 문서만으로 기능을 구현했다는 점이 뿌듯했습니다. 아쉬운 점로그인의 테스트가 미흡했습니다.ViewModel 테스트에서 로그인이 성공했는지, 실패했는지 여부만 테스트했어요.네트워크가 없는 인증 테스트가 과연 의미가 있는 것인지 고민이 되었기 때문입니다.Storage와 Repository의 테스트 방법에 대한 고민도 더 필요하다고 느껴졌어요...
[일주일 회고] 5월 2주 차 (2일 ~ 10일) + 감사한 글쓰기 모임
·
경험 회고/꾸준 회고
한 일 (2일 ~ 7일)홈 화면 카테고리, 도전기록 리스트 표시잘한 점리스트를 표시할 때 CompositionalLayout Enum을 정의하여 작성했어요. (관련 PR)CompositionalLayout은 item, group, section이 필요하고, 각 요소에 각각의 속성을 설정해야 합니다.기존에는 각 속성들을 모두 파라미터로 전달받아서 메서드가 비대하다는 문제가 있었습니다.이를 개선하기 위해 고민했고, 각 요소를 구조체로 정의하면 객체의 역할과 의미가 명확해지고 편의성도 챙길 수 있었습니다.기존 코드에서 불편한 점을 느끼고 개선했다는 점에서 moti 2.0의 목표를 조금씩 이루고 있는 거 같아 기분이 좋네요. 아쉬운 점코드가 아직 만족스러울 정도로 깔끔하진 않은 거 같아요.예를 들어,let it..
[일주일 회고] 5월 1주 차 (4월 25일 ~ 5월 3일)
·
경험 회고/꾸준 회고
한 일 (4월 25일 ~ 4월 30일)Unit Test 자동화내용테스트는 moti 2.0의 주요 목표 중 하나입니다.따라서 Unit Test 자동화도 꼭 적용하고 싶었고, 깃허브 액션으로 자동화를 성공했습니다.PR이 생성될 때, develop에 push할 때 Unit Test를 자동으로 수행합니다. 잘한 점Unit Test를 적용하면서 여러 시행착오가 있었습니다.이런 시행착오 속에서 Unit Test 자동화를 포기하지 않은 점이 뿌듯하네요.이 뿌듯함이 moti 2.0을 진행하면서 꾸준한 테스트를 이끌 원동력이 되지 않을까 싶습니다. 또, 이 과정을 포스팅으로도 남겼습니다. (보러 가기)옛날에는 문제가 생겼을 때 자연스럽게 기술 포스팅으로 이어졌는데,최근에는 의식적으로 신경을 써야한다는 걸 깨달았습니다.사..
[iOS] Unit Test를 GitHub Actions로 자동화하며 겪은 에러 해결 과정
·
iOS/개념 & 개발
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(_:)
·
Swift/개념 & 응용
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 작성 방법
·
iOS/Xcode
Code Snippet Code Snippet은 미리 정한 짧은 키워드로 긴 코드를 자동 완성해주는 기능입니다. 아무리 긴 코드라도 미리 등록한 단축어를 입력하면 끝이니 생산성에 큰 도움을 줍니다. (전 Attributes, Constraints처럼 오타가 많이 나는 단어도 애용합니다 ㅎㅎ;) Code Snippet은 많이들 아시지만, placeholder가 포함된 code snippet은 잘 모르기도 합니다. Placeholder가 있다면 무엇을 넣어야 할지 파악하기 쉽고, Tab을 이용하여 입력 부분으로 바로 이동할 수도 있습니다. (중요) Placeholder를 포함한 Code Snippet 생성 Placeholder는 를 작성하면 됩니다. Code Snippet이 아니더라도 코드 입력창에서 을 작..
유정주
정주는 개발 중 :]