Apple Developer Academy @ POSTECH

[회고] Apple Developer Academy @ POSTECH 3기 27주차 회고

Xerath(제라스) 2024. 9. 10. 18:12
728x90
반응형

서론

안녕하세요. 개발자 제라스입니다~!👋🏻 🤖 👋🏻

 

이번주에도 회고를 조금 늦게 쓰게 되었네요......😞😞

그만큼 한게 많았던 한 주였던지라 ㅎㅎㅎ

 

지난 27주차는 사실 이틀이나 아카데미를 빠진 한 주였다보니...!

시간이 겁나 빨리 가긴하더라구요...

 

그리고 또 이번주가 첫 매크로 시작 주였거든요...?!

정말 원하던 팀원들이 모이고 AVFoundation을 핵심 주제로 잡고 시작한 프로젝트다보니

시간도 정말 빨리간 거 같아유ㅋㅋㅋㅋㅋㅋㅋ

 

그럼 이번주는 어떤 성장이 있었는지 회고를 시작해보겠습니다~!! 🏃🏻🏃🏻

Macro 열차에 탑승하기 전과 후의 시야

이번주는 월,화에 일정이 있어서

수요일 새벽이 되어서야 포항에 도착했었어요..

 

저 없이 Macro 팀이 이틀 간 많은 진행을 하진 않았던 상태였기에

어느정도 따라가는 데에 무리는 없었고

Team Building 과정부터 다시 차근차근 공유하면서 다시 자연히 스며들었습니다 ㅎㅎ

 

이후엔 Big Idea(BI)와 Challenge Statement(CS)를 정해야 했는데,

급한 기획보다는 일단 모두들 주제들을 제시하기로 했습니다!

 

 

일단 AVFoundation을 중심으로 인게이지가 되어 모였다보니

AVFoundation과 관련된 아이디어들을 제시해보았어요!

 

하지만 마냥 이렇게 하니 서비스적인 생각만 들었고...

결국 주제를 중심으로 묶어서 의견을 정리하다보니

크게 '행사''멀티태스킹'이란 주제로 좁혀졌습니다!

 

그 중 행사와 관련된 얘기를 하면서

다음처럼 졸업 전시회 혹은 기타 행사들에 대한 기회 상황들을 정리해봤는데...!!

 

근데...!! 너무 '행사' 쪽으로만 얘기가 쏠리는 문제가 발생했습니다 ㅎㅎㅎ

그러면서 자연스레 우리팀의 큰 문제였던 주제에 대해 쏠림현상이 빈번하다는 것이 보였죠 ㅠㅠㅠ

 

그래서 작년 네부캠을 하면서 했었던 회의 방식이 필요하다고 느꼈고,

이런 더 나아질 수 있는 부분들을 다같이 아침에 자연스럽게 얘기나눌 수 있도록 하기 위해

 

1. 매일 아침 데일리 스크럼

2. 매일 저녁 회고 작성 후 다음날 공유

3. 프로젝트 목표 및 일별 팀&개인 목표 설정

4. 회의 내용 아카이빙을 위한 오늘의 서기 로테이션

 

이 4가지를 템플릿으로 만들고 우리 팀의 회의 방식을 설정해두었습니다.

 

Team.Medio 팀 노션 페이지

 

이렇게 설정을 해두고 매일 같은 패턴을 통해 팀원들이 조금 더 회의에 안정을 느끼고, 그 플로우대로 따라준 덕분에

조금씩 나은 회의가 진행되고 있습니다~~~ :-D

 

여기서 가장 중요했던 건 사실 프로젝트 목표입니다.

가벼운 규모의 (잡다하지 않은, 쓸모있는, 실제 문제 해결을 해주는) 프로덕트를 출시 후,
실제 사용자를 모아보고 잘 발전시켜보자!

 

여태 아카데미에서 시간을 보내면서 팀이 가장 흔들릴 때를 생각해보면

팀의 목표가 팀원들 모두에게 각인되어 있지 않았을 때였고,

계속 안정감 없이 들쭉날쭉한 회의가 오갔었어요...!

 

그래서 이걸 확실히 처음부터 프로젝트 목표를 픽스해두고,

필요 시마다 다같이 Align해서 수정해나가야겠다는 생각을 했습니다.

 

지금(9/10(화))은 어느정도 팀내 분위기도 정해져가고

다들 만족감을 느끼고 있고,

Team.Medio의 일별 회고

이렇게 회고들을 진행하면서 더 좋아질 부분들을 공유하면서

좋은 팀을 만들어가고 있습니다~~ 😆😆

 

현재 프로젝트는 라일리가 제시해준 '음악 디깅'이라는 주제에 대해 인게이지가 되어 진행 중입니다!

시작된 새로운 2주차에는 어떤 일들이 있을지 기대됩니다.😚😚

늘상 해보는 클린 아키텍쳐에 대한 고민(with Repository)

이번주엔 동기 러너인 '그림'과 6월달 진행했던

[Live4Cut] 이라는 앱을 새로 리팩토링 중입니다.

 

이번주에 제가 맡은 역할은 화면 퍼블리싱화면 간 연동 과정입니다.

그러다보니 전반적인 프로젝트의 흐름을 잡아야하는데...!

Macro 프로젝트에서 쓸 클린 아키텍쳐를 미리 시행착오를 겪어보기 위해 반영을 하기로 했습니다.

 

일단 Clean Architecture + MVVM-C 구조로 개발을 하고 있는데,

문제를 하나 발견하게 되었어요...!!

 

일단 Live4Cut이 꽤 작고 가벼운 프로젝트거든요??

심지어 동영상과 사진 Converting 작업들이 주기능이다보니,

외부 데이터 반영을 할 일이 없거든요...!

 

그래서 Repository를 굳이 써야할까?에 대한 고민을 시작했습니다.

 

'엥?? 뭐 당연히 클린이면 써야하는거 아냐??'

 

사실 클린 아키텍쳐가 아무리 약소한 버젼을 두는 형태도 있다고는 하지만,

ViewModel - UseCase - Repository 사이의 의존성 역전을 적용하는 과정에서 protocol들을 많이 작성해야 하고(클린의 숙명이긴 하지만...),

 

UserDefaults에서 앱 최초접속 여부 가져오기 등의 간단한 작업에 대해선

겹치는 함수명들이 연이어 쓰인다는 점 때문에

 

'이게 정말 필요한 걸까? 나는 기계처럼 작성해내려가는 것 아닐까?'

 

이런 고민이 들었습니다.

 

하.지.만!

 

결국엔 프로젝트에 Repository를 살려두기로 했습니다.

'한톨'이랑 클린 얘기를 나누면서는 조금 간략화하는 경우도 있다고 들었고,

'모수'랑 얘기를 하면서는 정석대로 쓴다고 들었는데...

 

1차원적으로 생각해보면 클린 아키텍쳐를 쓰는 이유들 중

의존성 역전을 적용하는 이유들로는 '테스트 가능성''대체 가능성' 이렇게 두가지가 있습니다.

(유지보수성, 확장성 등등으로도 말할 수 있지만요~~)

 

그런 시선에서 보면 예를 들은 UserDefaults 같은 경우도...

외부 DB, 내장 스토리지 등을 활용 시엔 대체가 될 수도 있잖아요???

 

이런 점에서 충분히 쓸 가치가 있구요!

 

또, 만약 Repository를 쓰지 않는다면...!

결국 데이터를 가져오는 작업을 비즈니스 로직만을 처리하는 UseCase에서 해야하잖아요??

혹은 Manager를 둘 수도 있지만... 이러면 Clean 왜 쓰세요??ㅋㅋㅋㅋㅋㅋㅋㅋ

 

그래서 결국은 책임 분리를 제대로 좀 하자는 선에서 확실히 Repository를 써야겠습니다 ㅎㅎ

 

아! 물론 이런 UserDefaults 작업까지도 없다?? 그럼 안쓸 듯합니다 ㅎㅎㅎ

데이터 저장,조회를 둘 다 안하면 Repository에 뭘 쓰겠어요 ㅋㅋㅋㅋㅋㅋㅋ

 

무튼... 클린을 쓰다보면 종종

 

'하... 이걸 왜 하고 있지?'

'아냐~이게 클린이지~'

'아니 그래도...하...'

'아냐 흐트러지지 말자~'

 

이런 세포들이 싸우는 듯합니다...!

그래도 늘 좋게 마무리 짓는 일상입니다 ㅎㅎㅎ

 

주말에는 지난 5월에 자아아암깐 읽던 '클린 아키텍쳐' 책을 펴들어 봐야겠네요~!! 😅😅

decibel의 영역은 어려워...

이번주엔 지난 7-8월에 했던 MC3 프로젝트인 '올라잇'의 dB 보정 과정들을 다룬 과정을 정리해보았어요!

하다보니 제가 숭실대 소리박사가 된 기분이 ㅋㅋㅋㅋㅋㅋㅋ

한창 제가 숭실대 재학 시절에 시끌시끌하셨던 분...

그래도 뭔가 조금이나마 그 영역에 대해 학습했던 걸 정리하는 시간을 가지니

다행히 골든타임을 놓치진 않은 것 같습니다 ㅎㅎ

 

사실 해보면서 AVRecorder의 setting값을 넣는 과정에서

let settings = [
    AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
    AVSampleRateKey: 16000,
    AVNumberOfChannelsKey: 1,
    AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
]

 

이런 걸 넣었는데...! 뭔가 개념은 이해하지만 제대로 어찌 쓰이는지는 모르는 ㅋㅋㅋㅋㅋㅋㅋ

아무래도 전공이 아니다보니... 잘 알기가 어려워서 아쉬웠네요...ㅎㅎㅎ

 

그래도 다음에 또 접할 기회가 있다면 그땐 조금 더 수월하게 파볼 수 있겠단 생각이 듭니다잇~~

다음 주의 나에게

이번주는 방학이 지난 한 주라서 그런지 싱숭생숭하면서도

끝까지 흐트러지지 않으려고 노력했던 것 같아요.

 

조금 더 회복탄력성이 있으려면

늘 준비가 되어있거나, 안 되어있더라도 성장의 궤도에 올라있어야 하니까요!

 

앞으로 아카데미까지 100일도 안 남은 시점에서

그 끝이 아닌 그 다음 스텝을 바라보며 늘 자세를 유지하자고 스스로에게 말해봅니다 ㅎㅎ

 

그래서 지금 보내고 있는 28주차엔 조금 더 Live4Cut 작업을 마무리 짓고,

SwiftUI, UIKit 개발 감각도 유지해야겠습니다!

 

그리고 Macro 2주차도 화이팅~~ 👍🏻 😄 👍🏻

 

아차차차..!! 아프리카TV편 앱 비교 분석 포스팅도 올려야지...!

 

728x90
반응형