Apple Developer Academy @ POSTECH

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

Xerath(제라스) 2024. 5. 27. 23:37
728x90
반응형

서론

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

 

이번주는 기술 블로그를 작성하지 못했는데...껄껄

그럴 만한 사정이 있었습니다...!!

이번주는 MC2 프로젝트 '들랑날랑' 앱 개발로 인해 하루종일 개발을 했거든요...ㅎㅎ

그렇게 좋아하는 개발만 했는데... 왜 정신이 피폐해질까...?

하하하 너무 행복해!

덕분에 개발하느라 잠을 1시간 잔 날도 있을 정도로 몸이 망가졌습니다 🥲🥲

 

그래도 기획할 때보단 즐겁잖아?!!?!?!?! 그래 안그래??

 

이번주는 새로운 학습을 했다기보다는 프로젝트를 하면서 많이 성장했는데 한번 천천히 얘기해보겠습니다 ㅎㅎ

프로젝트를 하며 느낀 것들에 대하여

이번주야말로 진짜 찐 개발에 몰두할 수 있는 시간이었습니다.

당장 다음주 월요일에 개발한 앱을 실제 유저에게 사용하도록 테스트하러 가야하는데... 어케 안 바쁘게씀까...😞😞 

그래서 속도를 빡빡 올려서 개발을 했었습니다.

 

이번 프로젝트는 사실 새로운 기술을 요하거나 복잡한 컨트롤이나 서버 통신이 필요한 앱이 아닌지라 난이도는 낮은 편입니다.

하지만 이 속에서 최대한 가져갈 수 있을 만한 것들을 건져보았습니다.

 

1. SwiftData의 적용

이번 프로젝트에서는 우리는 서버를 사용하지 않다보니 자체 디바이스의 내장 DB를 사용해야 했습니다.

그 결과 iOS 17 이상을 타겟팅하는 앱이기도 하고 SwiftUI로 개발하는 앱이다보니 더욱 잘 어울리는 SwiftData를 적용하기로 했습니다.

 

SwiftData...사실 이전에 WWDC23을 보면서 이론적으로는 많이 배워두긴 했었는데...(지금 생각해보면 이것도 거짓부렁쓰 같네요...ㅋㅋㅋㅋㅋ)

실제로 적용을 해보는 건 이번이 처음이었어요!

 

먼저 SwiftData를 적용할 때 너무 도움을 많이 받은 러너 한톨의 블로그 추천 박고 시작할게요!

https://velog.io/@thinkyside/iOS-%EC%89%BD%EA%B3%A0-%ED%9E%99%ED%95%98%EA%B2%8C-SwiftData-%EC%A0%81%EC%9A%A9%ED%95%B4%EB%B3%B4%EA%B8%B0

 

[iOS] 쉽고 힙하게 SwiftData 적용해보기

SwiftData 찍먹해보기

velog.io

너무 정리가 잘 되어 있어서 용법적인 면에서 도움이 많이 되었습니다.

(한톨...! 정말 고맙습니다~~🙇🏻‍♂️🙇🏻‍♂️)

 

2. enum 타입을 가진 SwiftData Model의 문제점

하지만 SwiftData를 사용하면서 어려운 점도 많았습니다.

이건 추후 포스팅으로 하나 올리겠지만 SwiftData에서 property 타입으로 enum 타입을 사용하면 그것을 predicate에서 필터링 같은 걸로 사용하면 에러가 팡팡 뜨는 문제가 있더라구요...!

 

근데 이 문제가 다른 아티클들을 읽어보니까 아직 SwiftData가 안정화가 되지 않은 상태라서 이런 문제가 발생하는 걸로 일단 결론을 내렸습니다. 결국은 원래 User라는 enum 타입을 String 타입으로 바꿔서 사용했고, 필터링도 어느정도 한계가 있는 것을 확인하고는 경우에 맞춰서 각 View에서 따로 계산 프로퍼티를 갖도록 구현했습니다.

감정 소모에 대처하는 방법

이 고민은 사실 이곳에 온 이후로도 많이 하고 이전에도 많이 했던 것 같아요.

이번 MC2를 진행하면서 너무나도 배려심 많고 이기적이지 않은 사람들로만 이뤄진 팀을 만나게 되어 사실 큰 행운이었습니다.

그러다보니 이곳에서 느껴지는 건 남의 작은 배려에도 감사함을 느끼고 또 조심도 하면서 상처를 주지 않는 분위기를 만들어가는 것이 팀 분위기를 좋게 형성해나갈 수 있다는 것을 깨달았습니다.

 

그 때문에 나를 누군가 소중하게 생각해주고 필요로 하고 작은 행동에도 감사함을 느껴주는 집단에 속한다는 것을 느꼈고 그렇지 않은 사람들과의 관계에서 감정소모를 줄이는 것이 지치지 않고 긍정적인 사람 관계, 더 나아가서는 사회에서의 관계들을 만들어나가는 법 중 하나라고 생각이 들었습니다.

개발과 학습의 조화

이번주는 정말 개발에 몰두한 한 주였는데 '아...학습 좀 해야 하는데...' 하는 걱정이 들진 않았던 거 같아요.

평소에는 개발보다는 학습을 많이 하는데 그때마다 '개념적으로 알면 뭐해... 구현을 할 줄 모르는데...' 하는 생각이 들었거든요??

이때 마치 허수처럼 느껴지거든여ㅋㅋㅋㅋㅋㅋㅋ

 

근데 개발은 늘 학습을 자동으로 닥달하게 해주는 시간인지라 너무 도움이 되는 시간으로 느껴졌습니다.

다만...정리를 못하는 시간적인 이슈가 남지만 ㅎㅎㅎ

 

그.래.서 적당히 개발을 통해서 학습할 키워드들을 모으고 재밌게 그것들을 학습하면 너무 좋지 않을까 싶어요.

 

아니...근데....그래서... 이걸 어떻게 비율을 맞출 건데...??

딱 느낀 건 학습에 현타감이 올 때 개발을 하지 말고, 개발을 하면서 학습이 부족하다고 느낄 때 학습을 해야겠다는 거였습니다.

주를 개발로 잡고, 학습은 그것에서 찾아내야겠다는 겁니다.

아직은 학습할 키워드들이 워낙 많이 남아있다보니 당분간은 개발을 주로 해보면서 천천히 학습 정리를 해나갈 예정입니다.

다음 주의 나에게

이번주는 학습보단 개발 위주였기에 뭔가 회고가 마인드적인 성장 위주였던 거 같네요 ㅋㅋㅋㅋㅋㅋㅋ

그래도 이게 스스로에게 큰 안정감을 주고 좋은 마인드를 유지할 수 있었기에 너무 좋았던 거 같습니다.

 

이제 돌아오는 주에는 마지막 발표를 앞두고 있고 개발 마무리를 지어야 하는 시점인지라 정리하면서도 개발에 바쁠 시기가 아닐까 싶습니다.(아마 이건 개인적인 욕심이 크기에 바빠지는 것 같긴 한데, 개발할 기능 학습(Widget, 동영상 및 음성 업로드)이 기대가 너무 되네요 ㅎㅎㅎ)

다음주 회고 때는 크게 2가지, 학습했던 기능들과 우리 MC2 Team.JWC에서 결정해온 것들을 정리해보겠습니다!

 

그럼 다음주에 좋은 회고로 돌아오겠습니다!

행복하세요~~~👋🏻😃👋🏻

728x90
반응형