2024 Apple Developer Academy 3기
[한배:국악 매트로놈] 클린아키텍처 첫 도입기
처음 Swift 개발을 시작했을 때는 문법을 배우고 앱을 개발하는 프로세스에 집중을 하게 된다. 지금까지 나는 이러한 상황 속에 있었고, 주변에 있는 경험많은 개발자들이 아키텍처의 필요성에 대한 이야기를 할 때 아직 내가 도달하기엔 어려운 이야기라고 생각했다. 그리고 드디어 이제는 아키텍처를 도입해도 될 때라는 생각이 들어 마지막 프로젝트에서 클린아키텍처를 적용해보는 과정을 기록해보려고 한다.1. 시스템 아키텍처란?시스템 아키텍처는 시스템의 구조를 정의하고 구성 요소 간의 관계를 설계하는 방법을 말합니다. 아키텍처라는 용어를 여기저기서 참 많이 들어보는 것 같은데 대략적인 느낌만 있고, 그 실체를 설명하라고 하면 항상 어렵다고 느끼는 경우가 있을 것이다. 위에서 설명하는 정의가 어렵게 느껴지지만 아키텍..
[MC3] 내 기준 가장 이상적인 팀플레이
이번 프로젝트는 기존에 인사만 나눠봤지 직접적으로 대화를 해보지 러너들과 함께 5인의 팀을 결성하게 되었다. 우리팀은 디자인 3명, 개발자 2명으로 구성되었고 따로 리더나 서기를 맡고자 하는 사람이 없는 상황이다. 이런 상황에서 내가 어필했던 규칙은 5명이 페어로 매일 번갈아가면서 (사회자, 기록자)의 역할을 맡는 것이였다. 나를 제외한 모든 팀원이 따로 사회자와 기록자를 지정해본 경험도 없었고, 기록자체를 꾸준히 진행한 경험도 없었다. 따라서 다른 팀원들에게는 새로운 테스크가 추가된다는 것이 부담스러웠을 수도 있는 상황이였다. 내가 생각한 사회자의 역할은 준비를 많이 해야하고, 누군가 정해진 업무로 맡아야 하는 것이 아니라 사회자의 역할이 명확하게 필요한 상황에서의 개입이였다. 각자 자유롭게 의견을 ..
[Bridge3] 나의 1순위 내재적 동기를 찾아서
매크로 챌린지의 팀 구성 방식이 공개되었다. 매크로는 지금까지 자율적으로 팀을 구성하도록 진행해왔고, 이번에도 마찬가지였다. 알럽나이들의 이야기를 들어보면 이맘때쯤 뒤에서 서로 나중을 기약하는 이야기들을 나눈다고 했다. 무조건 어벤저스로 불리우는 사람들과 같은 팀을 하고 싶은 생각은 없었다. 최근 그 생각이 더 강해졌다. 기술이 뛰어난 팀원이지만 나랑 열정의 정도가 다를 수 있다. 나랑 주제에 대한 관심도는 다르지만 협업과 소통의 방식에서 잘 맞을 수도 있을 것이다. 함께 팀원을 해본 사람에 대해서는 조금 더 알 수 있겠지만, 우리와 또 함께할 다른 팀원들 사이에서의 시너지가 어떻게 나올지는 또 모르는 일이다. 나는 예언자가 아닌 평범한 인간으로 내가 선택한 팀원들과의 3개월이 어떤 방식으로 진행될지, ..
[NC2] 애플 생태계에서 수영해보기
NC2를 진행하기에 앞서 애플 생태계를 알아가는 과정이 매우 흥미로웠다. 200명이 50개의 Apple에서 제공하는 프레임워크와 기술들을 알아보았고 나누는 시간이 있었는데, 이렇게나 다양한 기술을 제공하고 있다는 것에 놀랐고 개발의 범위가 엄청나게 다양할 수 있다는 것을 알게 되었다. 그리고 생각보다 UIKit기반으로 만들어진 기술들이 많다보니 UIKit에 대한 공부 없이는 더 발전할 수 없을 것 같다고 생각하게 되었다. UIKit을 꼭 하자!보다는 해당 프레임워크가 어떻게 동작하는지, 어떤 특성이 있는지를 공부해보면 기술을 응용하는데 좋을 것 같다고 생각했다. 내가 하고싶었던 1,2순위 기술은 아니였지만 러너들이 작성해준 기술 설명을 읽다가 나름 흥미로워보여 선택한 3순위 RoomPlan이 배정되었다..
[MC2] 유저 파악하기 실패의 기록
이번 프로젝트의 목표는 '사용자를 이해하기'였다. 마지막날 팀 회고를 진행하면서 우리팅이 사용자를 제대로 파악했는지의 질문에 모든 팀원들이 NO라는 답변을 했다. 비대면 인터뷰와 채팅을 통한 소통을 하는 약 2주간의 대화속에서 우리는 사용자에 대해서 정확하 파악했다고 생각했다. 하지만 생각보다 사용자는 있는 그대로 이야기하기보다 상황에 맞춰 말을 다르게 전달한다는 것을 알게 되었고, 이와 더불어 인터뷰를 하는 우리도 모든 키워드들을 같은 중요도로 보지 않고, 이전에 우리 내에서도 이야기가 나왔거나 관심이 있는 범위에 속해있다면 해당 부분들을 스포트라이팅하면서 다른 것들을 보지 않으려고 했을지도 모르겠다는 생각이 든다. * 이번 프로젝트는 1명의 사용자를 대상으로 서비스를 기획하는 프로젝트로, 일반적인 기..
[Bridge2] 조금 늦은 정리와 계획세우기
이번 브릿지는 생각보다 짧게 지나갔고, 일주일이 넘게 감기에 걸려서 고생중이여서 열심히 버티고 있는 시기이다.건강 이슈로 에너지가 떨어져서 내가 하고싶은 일, 해야 하는 일에 지장이 가는 것을 극도로 싫어하는터라 규칙적인 생활, 건강관리에 나름 신경을 쓴다고 생각했는데, 딱 하루 낮밤이 살짝 바뀌었다고 이렇게 감기에 걸려버리다니... 다음 생에는 철도 씹어먹을 수 있는 사람으로 태어나고 싶다.... 브릿지 기간동안 내가 해야겠다고 결심한 것은 Apple Developer Academy에서 진행하는 프로젝트를 Git, Miro를 통한 정리를 하고 싶다고 결심했고, 하반기 공채기간을 핑계로 집중하지 못했던 나의 앱의 V1.0.1 배포를 해야겠다고 생각했다.우선 미로에다 내가 공부하고 싶은 것, 지금까지 해온..
[Nano Challenge 01] 프로젝트 꼼꼼하게 진행하기
이번 프로젝트 기간은 팀 프로젝트가 아닌 개인 프로젝트로 진행된다. 개인프로젝트의 장점은 내가 원하는 것을 내가 원하는 방식으로 진행할 수 있는 자유도가 높다는 것이다. 이전에도 그날의 기분에 맞춘 테마로 다이어리를 작성하는 앱을 개발한 적이 있었는데, 이번에는 (내가 마음 속 깊숙히 품고 있던) 나의 모든 것들을 저장하는 앱을 만들겠다는 기획을 하고말았다. 지금까지 앱 개발 프로젝트를 진행하면서 스스로 기획, 디자인, 개발을 하는 경우가 가장 많았던 것 같다. 항상 나름 생각대로 꼼꼼하게 디자인 했다고 생각했지만 이번에 배운 프로젝트 진행 단계를 따라가다보니 이런 확인 과정을 거치지 않았다면 개발을 하면서 디자인을 수정하거나 기획을 수정해야하는 일들이 발생했겠다는 생각이 들었다. 각각의 뷰를 분리해서 ..
[Bridge 01] 나의 첫번째 브릿지를 기록하며,
앞선 프로젝트를 끝내고 첫번째 브릿지 기간을 가지게 되었다. 브릿지에 앞서서 프로젝트 팀원들과 회고를 나누는 시간을 가졌고, 배움에 대하여 돌아보는 시간을 가졌다. 앞선 회고에서 내가 답을 찾고싶은 문제 중에 '배우고 익히지 말고 익히면서 배워요'라는 문장이 있다고 이야기 했었다. 여기에 의문을 가졌던 이유는 나의 과거 경험에서 익히면서 배우는 것에 궁극적으로 두려움을 느꼈기 때문이라고 이야기 했었다. 오늘도 멘토가 해당 문장과 발생할 수 있는 문제점(?)인 두려움에 대한 키워드를 이야기 했고, 내가 지금까지 가져왔던 고민에 대한 답을 찾을 수 있을 것 같은 느낌에 속전속결로 30분 뒤에 커피챗을 요청했다. 우리의 대화 내용을 정리해보면 다음과 같다. [나의 문제정의] '배우고 익히지 말고 익히면서 배워..