📍 이러이러한 기능을 개발하다가 버그를 발견했는데 이렇게 해결했어요!
📍 저러저러한 기능을 개발하려고 했는데 어떤 이유로 못했어요 그래서
이렇게 만들었어요
📍 이 기능을 개발하는 데 큰 도움이 되었던 기술을 공유할게요
📍저 기능은 이러한 방법으로 개발했어요
📍저희는 이렇게 했더니 개발 효율이 상승했어요!
📍저희만의 협업 방식을 공유해볼게요
iOS 직군세션에서는 포맨 팀, Undefined 팀, 굉장해 엄청나 팀, 불티 팀 순으로 발표를 해주셨습니다.
포맨 팀 (정석준, 박진수님)
포맨팀은 석준님이 만든 네트워크 쪽 함수를 설명하고 피드백 받는 시간으로 진행하셨습니다.
Undefined 팀 — Platz (임솔빈, 오준현님)
Undefined 팀에서는 레이아웃 구성하는 방법으로 선택한 라이브러리와 검색 화면 구조 등을 발표해주셨습니다.
Platz 앱은 코드로만 UI 구성하는데요 그 중 컴포넌트 생성, 오토레이아웃 설정에 라이브러리로 Then
, SnapKit
라이브러리 사용했다고 합니다.
Then
을 사용하게 되면 UI를 간결하게 설정할 수 있어 가독성이 좋아지고 적은 코드를 갖게 됩니다.
UserDefaults도 Then 같은 방식으로 설정할 수 있어 편해보였습니다!
그리고 AutoLayout을 설정하는 방법은 여러가지가 있는데 그 중에서 Anchor 를 사용하다가 SnapKit을 사용하게 되었다고 합니다.
솔빈님은 검색 화면을 구현 하였는데 구조를 통해 검색 화면을 어떻게
구현 하셨는지 설명해주셨습니다.
굉장해 엄청나 팀 — LinkMo (김보민, 김태욱님)
굉장해 엄청나 팀은 프로젝트 진행하면서 사용한 기술을 공유해주셨습니다. 크게 세 주제로 발표를 해주셨어요.
- Share Extension
- LinkMo 프로젝트는 인터넷 서치하다가 링크를 저장하고 공유하는 서비스라 Share Extension를 사용하셨다고 합니다.
- Extension은 앱과 독립된 프로세스로 완전히 다른 주소 공간을 사용하기 때문에 App Groups로 데이터를 공유하셨다고 합니다.
2. LinkPresentation
- Link 관리 앱이라 Link의 썸네일이 필요해 사용하게 되었습니다.
- LinkPresentation은 URL에서 Metadata를 가져오고 LPLinkView에서 띄워 사용할 수 있습니다.
3. LinkPresentation
- Link 관리 앱이라 Link의 썸네일이 필요해 사용하게 되었습니다.
- LinkPresentation은 URL에서 Metadata를 가져오고 LPLinkView에서 띄워 사용할 수 있습니다.
- 스큐어모피즘 → 플랫디자인 → 머터리얼 → 뉴모피즘이 나왔고
- Neumorphism의 특징으로 부드러운 UI, 입체적인 UI, 신선함을 가졌습니다.
https://newmorphism.io 이 사이트에서 뉴모피즘을 확인할 수 있습니다. - 단점으로 버튼을 눌렀을때 차이가 없어 사용자가 알아보기 어렵기 때문에 버튼 눌렀을 때 다른 점을 넣어 적용할 수 있습니다.
불티팀 (이하은, 이현재님)
불티팀은 Workflow와 일정 관리 방법 등을 공유해주셨습니다.
Workflow는 아래와 같이 하셨는데요!
- 새로운 디자인, 개발 내용이 있을 때 Issue 를 생성하고
- 각자의 Clone Repository에서 issue 번호로 branch 생성하여 개발하고
- 완료되면 PR을 올리고
- Review 후 Merge 하는 방식으로 개발하셨다고 해요.
iOS 개발은 독립성을 띄우도록 Game feature
, Design System
, Subsystem
별도의 모듈로 개발했다고 공유해주셨습니다.
Android 두번째 직군 세션은 Google meet을 사용한 화상회의로, 총 네분의 발표와 피드백이 진행되었습니다.
📍 장진혁 — Android Tips And Tricks
📍 김태성 — Dark Theme
📍 최정렬 — 라이브러리로 알아보는 Coroutines
📍 정세희 — Coroutines 간단하게 사용해보기
📍 Android 직군세션 피드백
Android Tips And Tricks — 장진혁
첫번째 발표는 장진혁님께서 ‘Android Tips And Tricks’ 주제로
진행해주셨습니다.
안드로이드 앱을 개발할 때 필요한 다양한 팁들을 공유해주셨는데요.
안드로이드 스튜디오를 보다 보기 좋게 사용하는 방법부터,
Json class 변환방법, 단축키 등 보다 편하게 사용하는 꿀팁들을 전수해주셨습니다.😆
실제 개발 중 알게 된 설정 값들을 공유해주셨다보니, 질의응답 시간에도 실제 개발 중 겪었던 힘든 점에 대해 공유하는 시간도 가질 수 있어 모두에게 도움이 되는 시간이 되었습니다.
Dark Theme — 김태성
두번째 발표는 ‘Dark Theme’를 주제로 김태성님께서 진행해주셨습니다.
발표에서는 다크테마의 장점과 이번 DDD 프로젝트에서 다크테마를 적용한 앱을 개발하며 알게된 점을 함께 공유해주셨습니다.
라이브러리로 알아보는 Coroutines — 최정렬
세번째와 네번째 발표는 ‘Coroutine’을 공통 주제로 선정하여 두분이
함께 진행해주셨습니다.
두 분은 이번 DDD 프로젝트에서 같은 팀으로 개발하며 Coroutine을 적용한 앱을 개발하셨는데요.
우선 최정렬님께서 라이브러리를 중점으로 Coroutine을 사용하는 방법을 설명해주셨습니다
라이브러리와 함께 코루틴을 어떻게 사용하는 것이 좋은지 상세 설명을 함께 해주셨습니다.
Coroutines 간단하게 사용해보기 — 정세희
최정렬님의 발표에 이어 정세희님은 실제 Coroutines 사용 방법에 대해 공유해주셨습니다.
제목은 ‘간단하게’였으나 실제로는 너무나 세세하게 내용을 전달해주셔서 많은 도움이 되었습니다.
질의응답 시간에는 실제 코루틴을 적용하면서 겪은 어려운 점에 대해 함께 공유하고 도움을 얻을 수 있었습니다.
Server 직군세션에서는 Google meet을 사용한 화상회의로 DDD, 쿠버네티스를 발표를 신동헌, 고영훈님께서 발표를 해주셨습니다.
쿠버네티스에 대하여 — 신동헌
쿠버네티스는컨테이너화된워크로드와서비스를관리하기위한이식성이있고, 확장가능한오픈소스플랫폼이다.
쿠버네티스는선언적구성과자동화를모두용이하게해준다.
쿠버네티스는크고, 빠르게성장하는생태계를가지고있다.
쿠버네티스서비스, 기술지원및도구는어디서나쉽게이용할수있다.
쿠버네티스란명칭은키잡이(helmsman)나파일럿을뜻하는
그리스어에서유래했다. 구글이2014년에쿠버네티스프로젝트를
오픈소스화했다.
쿠버네티스는프로덕션워크로드를대규모로운영하는 15년이상의구글경험과커뮤니티의최고의아이디어와적용사례가결합되어있다.
컨테이너는애플리케이션을포장하고실행하는좋은방법이다.
프로덕션환경에서는 애플리케이션을 실행하는 컨테이너를 관리하고
가동중지시간이없는지 확인해야한다.
예를 들어컨테이너가다운되면다른컨테이너를다시시작해야한다.
이문제를시스템에의해처리한다면더쉽지않을까?
그것이쿠버네티스가필요한이유이다!…
쿠버네티스는분산시스템을탄력적으로실행하기위한
프레임워크를제공한다.
애플리케이션의확장과장애조치를처리하고, 배포패턴등을제공한다.
예를들어, 쿠버네티스는시스템의카나리아배포를쉽게관리할수있다
다들 온라인으로도 프로젝트외에 시간내셔서 기술의 대해서 발표 준비를 해주신 개발자 멤버분들께 정말 감사합니다.
저희 4기가 곧끝날예정이며 5기 모집은 조금만 더 기다려주세요!
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
Facebook
https://www.facebook.com/dddstudy
DDD Notion
https://url.kr/sWtxjC
Writer : 이상은, 최혜선, 민경운