이 글에서는 깃허브를 통해 협업 개발을 하는 과정을 CLI 기준으로 정리하겠다.이슈에 따른 브랜치 생성, 메세지 컨벤션, commit, push, pull request와 merge하는 방법과 함께 기본적인 리눅스 명령어도 소개될 예정이다.MC2 프로젝트를 하면서 우리 팀에서 사용했던 방법이므로, 이 방법 외에 다른 방법도 있으며, 절대적인 규칙은 아니다. 또한 이 글은 아래의 사항들을 전제로 한다.1. 깃허브에 대한 기본적인 지식이 있다.2. 깃허브에 팀 레포지토리가 생성된 상태이며, 프로젝트 파일의 뼈대가 완성되있는 상태이다.3. main브랜치 외에 개발을 위한 develop 브랜치가 생성되어있는 상태이다. 1. 이슈생성Issues 규칙에 맞춰서 생성Issue 제목 규칙[Issue 종류] 뭘 할지 ..
Day 19 (0527_MON) 주말동안 각자 수정할 부분을 수정하고 조이가 test flight에 우리의 DDooing 어플을 올렸다. 내가 기능을 완성시키지 못한 상태로 올라간거라서 아쉽긴 했지만 그래도 테플에 우리가 만든 어플이 올라가니깐 뭔가 설레는 기분이었다.대전에서 팀원들을 만나서 본격적인 UT 준비를했다. 각자 UT때 어떤 역할을 할지, 진행하기 전에 타겟에게 어떤 내용을 안내해야할지, 어떤 질문들을 할지를 정했다.타겟을 만나 UT를 진행했다. 타겟도 그렇겠지만 우리도 처음이라서 조금 뚝딱대긴 했지만 그래도 수월하게 진행되었다. UT는 우리 어플에 대한 간단한 설명만 한 이후, 동작같은 건 설명하지 않은채 타겟에게 어떠한 태스크를 수행시키는 방식으로 진행되었다. 우리는 너무 당연하게 생각한 ..
Day 14 (0520_MON) 주말동안에도 코딩은 계속됐다. 각자 맡은 View를 완성하고, db를 구축하고, 데이터를 연결시켰다. 그리고 월요일에는 각자 코드를 합치고, 디테일을 수정하고, 각자 공부할 부분을 공부하는 시간을 가졌다. 각각의 View를 따로 작업하다보니까 padding값 등 UI 적으로 통일되지 않은 부분이 있어서 통일하는 작업을 거쳤다. 다른 팀원들은 기기들이 서로 메세지를 주고받을 수 있는 기능을 구현하고, 폴더 구조를 바꿔서 보기좋게 만드는 등 각자의 역할을 열심히 해주었다!!또 팀원들 모두 개발자 개정을 만들어서 메세지를 주고받는 작업을 테스트할 수 있게 만들어두었다. 이젠 세션시간에 특별한 활동을 한다기보단, 세션 시작할 때 daily scrum으로 지금까지 한 일, 앞으로 ..
Day 10 (0513_MON) 지난주에 완성하지 못했던 Hi-Fi를 완성했다. 이 Hi-Fi를 바탕으로 deconstruction을 하고, 백로그를 작성할 계획이었다. 이제 기획과 디자인은 끝나고 본격적으로 개발에 들어가기 위한 준비였다. 세션중에 백로그 작성에 대한 GA가 진행되었다. 아카데미식으로 말하면 백로그, 조금 더 실무적으로 말하면 개발명세서였다. 대충 어떤식으로 하는지 감을 잡았고, 이걸하기 위해 먼저 deconstruction을 해야했다.완성한 Hi-Fi를 화면별로 배치하고 View와 기능으로 나눠서 필요한 기술을 작성했다. 세션이 종료된 이후에는 git을 활용한 협업 방식에 대한 GA가 있었다. 우리팀은 같이 이 GA를 듣고, 모여서 우리 팀만의 협업 환경을 만들어놓기로 했다. CLI로..
Day 6 (0507_TUE) 지난주에 정한 problem을 바탕으로 주말동안 solution concept을 각자 생각해오기로 했다. 나는 여자친구와 소통하는 방식을 생각해서 출근하거나 등교하는 시간에 자신의 모습을 찍어서 보내는 (locket을 레퍼런스로 하는) 컨셉과, 인정의 말을 사랑으로 느낀다는 점에서 손편지 작성을 유도하는 두 가지 컨셉을 생각해갔다. 그리고 세션시간에 각자의 컨셉에 대한 소개를 하고 비슷한 컨셉끼리 카테고라이징 한 이후 어떤 컨셉이 제일 좋을지 투표하는 시간을 가졌다. 그 결과 yo! 라는 어플을 레퍼런스삼은 단순한 버튼으로 메세지를 전하는 컨셉으로 의견을 수렴했다. 이 컨셉을 바탕으로 MVP와 앱 플로우에 대해 다양한 논의를 거치고 Lo-Fi까지 그려냈다.다음날은 Apple..
이 글에서는 Apple Developer 사이트의 WWDC23 영상을 참고해 위젯에 애니메이션을 적용하는 방법과, Interactive Widget(상호 작용 위젯)을 만드는 법을 알아 볼 예정이다.영상은 크게 Ainmation과 Interactivity의 두 파트로 나눠져 있다. 해당 영상의 구성에 따라 글을 정리하겠다. Animation앱과 위젯의 차이일반적인 SwiftUI 앱withAnimation같은 모디파이어를 사용해서 State의 변경을 통해 애니메이션을 구동일반적인 SwiftUI 앱에서는 @State 변수를 이용해 View를 바꿀 수 있음위젯위젯에는 State가 없음대신 엔트리로 구성되는 타임라인을 생성: 엔트리는 특정 시간에 렌더링된 각기 다른 뷰와 대응하고, SwiftUI는 엔트리 간의 ..