일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 숭실대
- 애플 디벨로퍼 아카데미
- OS
- iOS 개발 오류
- SWIFT
- 네이버 부스트캠프
- Swift 문법
- 치지직
- Swift 기능
- Swift 디자인패턴
- ObservableObject
- 애플 디벨로퍼 아카데미 후기
- StateObject
- 앱 비교 프로젝트
- sqoop
- Apple Developer Academy @ POSTECH
- 애플 아카데미 후기
- 네이버 치지직
- ObservedObject
- 운영체제
- apple developer academy 후기
- 데이터베이스 공부
- 소프트웨어분석및설계
- react
- 애플 디벨로퍼 아카데미 21주차 회고
- swift문법
- useReducer
- global soop
- 데이터베이스
- 제앱소
- Today
- Total
사과하는 제라스
[회고] Apple Developer Academy @ POSTECH 3기 31, 32주차 회고 본문
[회고] Apple Developer Academy @ POSTECH 3기 31, 32주차 회고
Xerath(제라스) 2024. 10. 13. 16:01목차
서론
안녕하세요. 개발자 제라스입니다~!👋🏻 🤖 👋🏻
이렇게까지 늦게 회고를 남기는 건 처음이네요...ㅠㅠㅠ
이번주는 매크로 개발과 이력서 넣기, 그리고 카카오 과제 구현으로 가득찼던 한 주였습니다.
(지금도 스벅에서 과제 구현하느라 바쁜 시간을 보내고 있는...)
시간을 열심히 보내고 있는데...
저보다 더 시간을 열심히 보내는 사람은 얼마나 많겠슴까...🥲🥲
계속해서 성장해야 하는 지금 이 시점 저에게 중요한 것은 시간 아깝지 않게 보내는 거죠 ㅎㅎ
그럼 이번주는 또 어떤 성장을 했을지 회고해보겠습니다~~🚀🚀
'성장해야 해' 라고 말하는 나에게 건네본 QnA
'성장', 머리로만 하고 가슴으로 안하는 걸까?
이번주에 가장 인상깊었던, 그리고 스스로에게 계속 질문을 던지면서 가치관을 설립했던 주제입니다.
최근 네부캠 디코 채널에서 8기 '홍승현'님께서 다음과 같은 영상을 추천해주셨어요!
(너무 좋은 영상 추천 감사합니다...!! 👍🏻🥹👍🏻)
https://www.youtube.com/watch?v=Kk6SiM1_cX0
이 영상을 보면서 좋았던 내용들이 많았는데 다들 한번쯤은 보셨으면 좋겠습니다...!
주변을 보면 늘 개발자들은 스스로의 성장에 목말라있는 것 같아요.
근데 이게 과연 '패션 성장'인지 진짜 성장인지 의문을 갖는 사람들도 많은 것 같다고 생각이 들어요.
'저게 성장이라고?'
'고작 저 정도 노력을 하면서 성장하고 있다고??'
이런 의문을 갖는 사람들도 많죠.
저도 과거엔
'이정도 노력으로, 이 정도 애정으로 개발적으로 성장하고 있다고 할 수 있는가?'
라는 의문도 가져보고 스스로한테 많이 다그친 경험이 있습니다.
'그러면 나는 왜 그렇게도 성장을 하려고 할까?'
이런 의문이 자동으로 들게 됩니다.
늘 새로운 성장을 하려고 해요, 앞으로 성장해서 대단한 사람이 되려고 해요.
이 얘기들을 하곤 하는데 정말 이것을 왜 하고 있는지, 왜 하려고 하는지 의문이 들죠.
근데 이 영상에선 이 성장이 무엇이다란 얘기 대신
어떤 성장이어야 좋다는 얘기를 하고 있습니다.
성장은 개인이 경험해야 하는 감정이어야 한다.
성장이 외부의 요인이면 안되는 거죠.
'남들보다 뒤쳐지니까...'
'남들과 얘기할 때 뒤쳐지면 안되니까...'
'취업하려면 이게 필요하니까...'
이런 것들에 치우치면서 지금하는 개발도 하면서 계속 성장할 것들을 쌓아가는 것은
스스로를 갈구고 개발자로서 '성장'에 대한 경험을 힘든 것, 어려운 것으로 분류해두게 만드는 듯합니다.
그러니 결국 누군가가 해야 된다고 해서 하는 성장,
커리큘럼처럼 정해놓고 애정없이 하는 성장
이런 것들은 처음 입문할 때는 도움이 되겠지만,
지속가능한 개발자로 성장하기 위해서는 스스로에 입각한 성장을 해야하는 것 같습니다.
성장할 때 중요한 것은?
성장할 때 중요한 것에 대해서 2가지를 얘기했는데,
1. 내가 하고 있는 일을 더 좋아할 수 있도록 스스로에게 동기부여를 하는 지
2. 지치지 않을 것
먼저, 스스로 하고 있는 일을 더 좋아하기 위해서는 다양한 방법이 있을 것 같아요.
팀이든, 개인이든 / 개발적인 성과든 개인적인 보수든
'어떤 좋은 결과를 냈을 때'가 있을 수 있구요.
개인적으로 '어떤 배움을 느껴서 앞으로 미래에 적용할 내 모습이 그려질 때'도 있을 수 있구요.
이런걸 해내는 것이 결국엔 외부 요인을 덜 받으면서 스스로 뿌듯함을 느끼는 선한 성장이 아닐까 싶습니다.
그리고, '지치지 않는 것'도 상당히 중요한데.
무언가를 처음엔 '성장'을 위한 요소라고 생각해서 했는데
어느 순간엔 이게 부담만 되고 스스로를 힘들게 만드는 요소가 될 수도 있거든요.
저도 한때 회사를 잠깐 다닌 적이 있는데,
이때 정말 큰 열정을 가지고 많은 시간들을 투자하면서 작은 것들부터 차차 배워나갔었어요.
근데, 어느 순간부터는 이 모든 것이 아름다운 성장이 아닌 스스로에게 부담만 가중되더라구요.
딱 그때가 '지쳤다' 란 감정을 느낀 순간이었던 거 같아요.
그때, 느낀 후로는 스스로가 지속 가능한 성장을 하기 위해선
'단순히 내가 모르는 것들을 머릿속에 채워넣는 것'
이 아니라
'현재의 나의 경험에서 필요하거나 스스로 학습해보고 싶은 욕구가 있는 것들을 하나씩 찾아가는 것'
이라고 생각하게 되었습니다.
결론
하지만 내가 하고 싶은 것만 하는 성장은 결국 나태함을 끌어낼 수 있는 것 같아요.
실력적인 부분이든 어떤 일을 대하는 태도적인 면에서 성장을 한다는 것은 어떤 직업이든 필요하긴 합니다.
다만, 조금 더 재밌는 방식으로 성장의 형태를 빚어두는 것이 중요한거죠.
그런 재밌는 방식의 결과로써는
'이렇게 성장하니 지치지 않고, 내가 하고 있는 것에 호감을 느끼게 해준다.'
라는 감정이 중요한거구요!
무튼, 개발적 성장에 있어서 좋은 가치관을 수립하는 데에 너무 도움이 되었던 영상이었습니다.
ShazamKit을 잘 다루는 개발자
이 타이틀을 쓰기엔 아직도 부족함이 많지만...
워낙 ShazamKit을 써본 프로젝트들이 적다보니 이젠 쓸 수 있을 것 같습니다 ㅋㅋㅋㅋㅋㅋㅋ
이번 Macro 프로젝트에서
'Youtube 영상 내의 Audio를 잘라서 Signature로 변환 후 ShazamKit에 넣어서 음원들을 추출해내는 기능'
을 결국 구현했습니다.
mp3 파일을 만들어서 Signature를 추출하는 것은 성공을 했는데
아무리 ShazamKit에 입혀도 인지를 못하는 문제들이 있었거든요?
그러다가 커뮤니티에서 질문을 하고서 이런 답변을 받고선 Bit Rate를 44100로 두고, Signature의 길이도 3-12초로 만들어서 입히니...!!
이렇게 잘 나오더라구요...! (특급 감격...🥲🥲)
이렇게 만들고 나서 남은 문제는 Web Converter없이 mp3파일을 추출하는 것...!!
이건 사실 라이브러리를 찾아두었어요.
https://github.com/alexeichhorn/YouTubeKit
이거였는데, 이슈가 발생했습니다.
약 5분짜리를 받아오는 데에 시간이 약 1-2분 정도 걸린다는 점입니다 ㅠㅠㅠ
이것만 해결된다면 Youtube Playlist 내 정보가 전혀 없어도 문제가 해결될 텐데..
일단 Issue를 올려두고 라이브러리 개발자 분과 논의를 해보고 있었습니다...
조금 더 고민해봐야지...싶었는데...!
이런 해결안을 제시해주시다니...ㅠㅠㅠ Chunk 단위로 가져올 수 있는 메서드를 못 찾고 있었는데
이런 기능이 있었더라구요!
그럼 다운로드 시간도 훨씬 줄고, 데이터 사용량 커버도 엄청 될 것 같습니다...!
이렇게 트러블 슈팅을 해결할 수 있게 되니 너무 기쁘네요...ㅠㅠ
다음주엔 한번 이 기능을 가지고 제가 만들던 ShazamKit Converting 모듈을 만들어서 적용해둬야겠습니다!!😄😄
모듈화에 익숙해지고 있는가?
저희가 이번 Macro 프로젝트에서는 여러 패키지를 만들고 필요한 곳에서 가져다쓰는 방식으로 모듈을 나누고 있습니다.
서버와의 통신이 있다는 점에서 다음과 같은 JK님의 버터플라이 아키텍쳐 형태를 머릿 속에 그려놨거든요??
근데 이게 과연 우리 프로젝트에서 필요한 형태일까 생각이 들더라구요.
결국은 여러 모듈들이 있고 한쪽(Presentation)은 날개가 하나인데,
한쪽은(서버 + 기타 모듈) 날개가 여러개인 기형적인 나비가 나풀나풀~~그런 느낌ㅋㅋㅋㅋㅋㅋㅋ
그래서 이번에 UseCase를 제가 맡아서 구현을 하고 있는데
1. 어느 정도까지 외부 모듈에 의지를 해야할지,
2. Domain Model로의 변환이 View단에서 이뤄져야 하는데, DTO도 동일한 상황에 어떻게 해야할지(통일 vs 그래도 나눠!)
3. A-B-C 순서에서 쓰이는 데이터 a,b,c가 a⊆b⊆c라면 A 단계에서부터 c를 받아오는게 맞을지
4. '서버를 믿지 말라' == 모든 값 Optional 처리?
등을 고민해보고 있습니다.
먼저, 1번은 기준이 참 애매하긴 하지만, 해당 모듈을 만든 사람의 의도와 우리 서비스에서 해당 모듈이 차지하는 영역에 대한 범위를 많이 보게 되었습니다.
2번은 일단은 나누는게 길게 보았을 때 맞을 것 같고,
전자처럼 통일을 한다면 추가적인 음악 플랫폼이 우리의 서비스에 적용될 때 힘들 것 같다는 생각이 들었습니다.
3번은 2가지 기준을 가지고 정하고 있어요~~
하나는, 우리가 서버와의 통신을 많이 하는 것을 지양해야 하지 않을까라는 부분이고,
다른 하나는, 우리가 가져온 데이터가 앱 플로우 중간에 업데이트되어야 하는가란 부분입니다.
이 둘 사이에서 고민하면서 구현하다보니 어느 정도 '정답'까진 아니지만 우리 팀 사정에 맞는 '답'을 낼 수 있게 되는 것 같아요!
4번은, 네이버 부스트캠프를 하면서 JK께 배웠던 부분입니다 ㅎㅎㅎ(JK버지...!!)
서버에서 보내주는 값들을 믿어서는 안되기에
'받아오는 값이 어떻든 옵셔널로 처리해야 되는 걸까?'
이런 의문이 또 계속 들더라구요..!
근데, 또 반면에 모두 옵셔널 처리하는 것은
Domain 객체의 프로퍼티마다의 특성을 희석시키는 일이라고 생각합니다.
어떤 값은 옵셔널인 것에 의도가 있는데,
어떤 것은 단지 서버에서 어떻게 올지 모르니까 쓰는 옵셔널이니까요.
그런 부분 때문에 조금 더 다른 개발자 분들과 재밌는 얘기들을 해봐야겠습니다 ㅎㅎㅎ
다음 주의 나에게
이번엔 처음으로 2주짜리 회고를 한번에 쓰게 되었네요 ㅠㅠ
골든 타임이 아쉽지만 그래도 기록을 할 수 있게 잘 적어둔 키워드들 덕분에 채울 수 있었네요 ㅎㅎ
2주간 이력서에, 개발에 바쁜 시기였었습니다.
이력서 이놈 쓰는 거 만만치 않아요...
다음주엔 이제 진짜 앱 개발이 마무리되는 주간이거든요.
1차 Iteration이 지난 10/11(금)이었지만 아직 일부 구현이 안된 부분이 있어서
다음주 초에 출시하게 되었습니다ㅎㅎㅎ
다음주엔 개발 과제도, 매크로 개발도 마무리 짓고,
Swift-Testing 공부하던 것, Swift6에서 중요해진 Sendable도 조금 더 깊이 해서 학습해보려고 합니다.
최적화에 도움되는 부분에 대한 성장을 해보고 싶습니다!
그럼 다음주에 33주차 회고로 돌아오겠습니다~!!
'Apple Developer Academy @ POSTECH' 카테고리의 다른 글
[회고] Apple Developer Academy @ POSTECH 3기 35, 36주차 회고 (1) | 2024.11.25 |
---|---|
[회고] Apple Developer Academy @ POSTECH 3기 33, 34주차 회고(feat. KWDC24) (0) | 2024.11.02 |
[회고] Apple Developer Academy @ POSTECH 3기 30주차 회고 (3) | 2024.10.01 |
[회고] Apple Developer Academy @ POSTECH 3기 29주차 회고 (13) | 2024.09.26 |
[회고] Apple Developer Academy @ POSTECH 3기 28주차 회고 (3) | 2024.09.21 |