TECH RAFA
/
Retrospective
Search
Share
Retrospective
Gallery
List
Search
All Posts
부산에서 iMac으로 코딩할 수 있는 무료 강좌 이벤트가 개설되어 바로 부울경 iOS 단톡방에 공유했다 ㅋㅋ
그리고 레벨 1과 레벨 2가 있었는데 레벨 1은 기초적인 내용으로 초보자도 쉽게 들을 수 있는 레벨이었고 레벨 2는 배운 내용들을 토대로 나만의 명함을 만들 수 있다. 나는 둘 다 할 수 있다고 해서 모두 참여하기로 했다. 난이도가 굉장히 쉬워보였지만 참가하는 첫 번째 이유는 그곳에서 많은 사람들과 친해지고 싶었고 이야기를 나누고 싶어서이다. 두 번째는 나도 언젠간 부산, 울산, 경남권 지역에서 iOS 개발 커뮤니티를 크게 키우고 싶고 이런 교육이나 컨퍼런스도 주최해보고 싶기 때문이다. 세 번째 이유는 iMac을 사용해보고 싶었다 ^^
도착!! 앨리스랩에서 장소를 후원 받았다고 한다. 내부는 굉장히 깔끔했고 입구 오른쪽이 프로그래밍존이다. 오거나이저분이 왼쪽 광장 같은 곳에서 잠깐 대기하라고 하셨다.
빨리 들어가고 싶어요.. 기다리면서 리이오도 봤다. 인터넷 강의에서만 보던 분을 실제로 보니 신기했다. 10분 정도 기다리니 입장하라는 안내와 함께 짐을 챙겨 입장했고 가장 앞자리에 어떤 분 옆에 바로 착석했다:)
옆에 분과 간단히 인사를 나누고 어디서 왔는지, 대학생인지 등등 이것저것 물어봤다. 이 분은 수원에서 오셨고 입사한지 6개월된 신입이라고 하셨다. 그렇게 레벨 1 섹션이 시작되고 Playground에 있는 바이트라는 캐릭터를 이용해서 간단한 코딩하는 시간을 가졌다. 코드를 짜는데 옆에 분은 너무 쉬웠는지 금방금방 하셨고 조금 더 나아가 더욱 고도화된 코드를 작성하고 계셨다. 이 분도 나와 같이 네트워킹 목적으로 오신 것 같았다. 레벨 1이 끝나고 쉬는 시간을 가진 뒤 레벨 2가 시작되었다. 레벨 2는 레벨 1에 비해 더 난이도가 있었고 여기저기서 질문하는 소리가 들리기 시작했다. 그래도 코딩을 어느정도 한 경험이 있다면 쉽게 풀 수 있는 난이도였다. 모든 강좌가 끝나고 명함 만드는 시간이 찾아왔다. 나는 나의 강아지 사진을 프로필 사진으로 설정하였고 백그라운드 색은 인스타그램 느낌이 나도록 그라데이션 효과를 넣었다. 아래는 결과물이다.
코드를 작성하면서 가장 먼저 느낀 점은 iMac 정말 이쁘고 화질도 좋았다 ㅋㅋㅋ(선 뽑아서 집에 들고 가고 싶었다ㅎ) 그리고 텍스트를 커스텀하면서 중복되는 코드가 많았는데 UIKit처럼 함수로 만들어 코드의 중복을 줄이고 싶었지만 아직 SwiftUI를 잘 알지 못해 에러가 계속 떴다. 옆 분에게 물어보니 리턴 타입으로 some View를 작성하니 문제가 해결되었다. 나는 그 자리에서 바로 박수쳐주니 굉장히 쑥스러워 하셨다 ㅋㅋㅋㅋ 프로그래밍존을 벗어나 입구 왼쪽에 있는 광장? 같은 곳에서 자리를 잡고 네트워킹 시간을 가졌다. 다양한 지역에서도 오셨고 다양한 분야의 개발자들도 모인 자리였다. 시간 가는 줄도 모르고 즐겁게 이야기를 나눴고 서로 명함도 교환했는데 다들 잘 만드셨다. 아쉬운 점은 명함이 3장뿐이어서 모든 분들께 나누지 못해 아쉬웠다. 마지막으로 단체 사진을 찍고 그곳에서 만난 사람들과 함께 지하철역으로 이동했다. 교통카드를 찍으려는 순간 어떤 분께서 시간 괜찮으면 저녁 같이 먹자고 해서 바로 옆에 있는 신세계 백화점으로 향했다.
파스타, 피자, 샐러드, 스테이크를 시켰는데 스테이크가 너무 맛있었다. 밥을 먹으며 개발 이야기를 끊임없이 나눴고 내 옆 자리에 앉았던 분도 오셨는데 자신이 한 프로젝트를 소개해주었다. 대학교 셔틀버스가 언제 오는지 알려주는 프로그램을 만들었는데 엄청 잘 만들었고 지금도 정류장 뒤에 운영 중이다! 보면서 한국은 땅은 좁은데 천재들은 많다는 것을 느낄 수 있었다.
‘iMac으로 코딩 첫 걸음’ 회고
팀 프로젝트 회고록
잘한 점
프론트엔드팀은 체계적으로 일관된 작업 방식을 구축하는 데 중점을 두었다. 가장 먼저, Swift 코드 컨벤션을 정해서 코드의 가독성과 유지 보수성을 향상시킨 것이다. 이를 통해 코드 리뷰 과정이 수월했다.
또한, 깃 커밋 컨벤션을 통일함으로써 프로젝트의 변경 사항을 추적하고 이해하는 데 큰 도움이 되었다.
더 나아가 PR 템플릿을 생성한 것도 중요한 성과였다. 이 템플릿 덕분에 팀원들이 수행한 작업을 더욱 명확하고 체계적으로 기술할 수 있었고 리뷰어가 PR을 더 빠르고 정확하게 평가할 수 있었다. 템플릿에는 PR 유형(기능 추가, 기능 삭제, UI 변경 등등), 작업 사항, 이슈 번호가 있었는데 이는 팀 내 커뮤니케이션의 효율성을 높이는 데 큰 도움이 되었다.
의사소통의 중요성
프로젝트 진행 중, 우리는 의사소통의 중요성을 절실히 깨닫게 된 사건을 경험하였다. 내가 생각했던 것보다 훨씬 더 많은 의사소통이 필요하다는 것을 이번 프로젝트를 진행하면서 깨달았다.
기획자, 디자이너, 개발자 간의 의사소통이 충분히 이루어지지 않은 상태로 나는 일주일 동안 메인 화면 UI를 완성시켰지만 일주일 간의 작업이 잘못된 방향으로 진행되었다. 이로 인해 거의 모든 UI를 처음부터 다시 해야 하는 상황에 놓였고 하늘이 무너지는 것 같았다..
우리는 긴급 회의를 가졌다. 각자의 입장을 허심탄회하게 나누고 문제의 근본 원인을 파악하는 데 집중했다. 문제점은 구현해야될 UI에 대한 요구사항을 명확하게 소통하지 않은 것이 결국 서로 간의 큰 오해와 실수로 이어졌던 것이었다.
이 문제를 해결하기 위해 우리는 몇 가지 해결책을 마련하였다. 첫 째, 이전에는 큰 단위의 변화에 대해서만 정기적으로 보고를 했다면 이번에는 작은 단위의 변화에 대해서도 지속적인 보고하여 진행 상황을 바로바로 점검하는 것이다. 둘 째, 피그마 디자인을 더 꼼꼼히 점검하여 이해되지 않는 부분이나 구현하기 힘들 것 같은 부분은 즉시 질문하기로 약속하였다.
그 결과, 프로젝트의 전반적인 의사소통이 크게 개선된 것을 느꼈고 빠른 피드백과 수정 작업을 통해 개발 속도가 크게 증가되었고 더 나은 결과물을 만들어냈다고 생각된다. 그리고 팀원들 사이의 신뢰도와 협력도가 강화되었다.
이 경험을 통해 의사소통의 중요성은 팀워크와 결과물에 큰 영향을 끼친다는 것을 깨달았고 그 가치의 깊이를 다시 한 번 이해하게 되었다. 앞으로는 프로젝트 초기부터 명확한 의사소통을 확립하고 정기적인 점검을 통해 이러한 문제를 예방할 것이다.
성장과 도전
나는 MVC 패턴은 처음엔 낯설고 복잡하게만 느껴졌었다. 하지만 이번 프로젝트를 통해 MVC 패턴에 대해 확실하게 감을 잡을 수 있는 발판이 되었다.
첫 번째 팀 프로젝트 회고록
MADC에서 발견한 모바일 앱 개발의 미래
MADC(Mobile App Developer's Conference)에 참석한 후, 모바일 앱 개발의 최신 트렌드에 대한 깊은 인사이트를 얻을 수 있었다. 특히, 선언형 UI에 대한 강조가 두드러졌다. 선언형 UI는 개발자가 UI의 상태와 동작을 선언적으로 표현하는 방식으로 코드의 가독성과 유지 보수성을 높이는 데 큰 도움을 준다.
선언형 UI의 본질과 SwiftUI의 역할
SwiftUI는 Apple의 최신 프레임워크로써 선언형 UI를 보여준다. SwiftUI를 통해 개발자들은 UI의 상태와 동작을 선언적으로 표현할 수 있으며 이는 기존 명령형 UI 접근 방식과는 확연히 대비된다. 명령형 UI에서 개발자는 UI의 각 변경 사항을 명시적으로 관리해야 했지만 선언형 UI에서는 UI 요소가 상태의 변화에 따라 자동으로 업데이트 된다.
[ UIKit 예제 ]
[ SwiftUI 예제 ]
위 두 코드를 비교하면 SwiftUI가 얼마나 간결하고 직관적인지 명확하게 알 수 있다. SwiftUI에서는 @State를 사용해 count라는 정수 상태를 관리하며 버튼을 터치할 때마다 count가 1씩 증가하면서 뷰가 자동으로 업데아트 된다.
선언형 UI의 장점
선언형 UI의 가장 큰 장점은 개발 과정을 단순화하고 코드의 가독성을 높인다는 것이다. 이는 더 적은 코드로 더 많은 작업을 할 수 있게 해주고 앱의 유지 보수를 용이하게 만든다. 또한, UI와 로직을 분리함으로써 테스트와 디버깅이 더 용이해진다.
컨퍼런스 참여 후 느낀 점
MADC(Mobile App Developer's Conference)