DDD Study 4기 : 1번째 직군세션

DDD
12 min readOct 5, 2020

--

Let’s Play with a project like a Ping Pong! 🏓

안녕하세요. DDD 입니다.
이번 직군세션은 온라인으로 진행하였습니다.

시간이 빠르게 지나 벌써 5주차 세션이 진행되었는데요.
2기부터 지금까지 진행 해오던 개발자, 디자이너 직군세션 시간입니다.

DDD 직군세션은 직군별로 실무지식을 나누거나 서로의 경험에 대해
교류하는 시간을 갖습니다.

Android 직군세션

Android 직군 세션은 Google meet을 사용한 화상회의로,
총 네분의 발표가 진행되었습니다.

  • 이오형 — Navigation Component
  • 송호종 — Android CI를 위한 Github Action
  • 배성재 — Activity Task&Stack
  • 배효진 — Motion Layout

1. Navigation Component — 이오형

첫번째 발표는 ‘Navigation Component’를 주제로 진행해주셨습니다.
우선 Navigation Component를 사용하면 얻을 수 있는 장단점을
짚어주셨습니다,

Navigation Component를 구성하는 방법과 최근에 추가된 Fragment Result Callback, Hilt 와 함께 사용하는 경우를 추가로 설명해주셨습니다.

발표해주신 내용의 예제도 깃헙으로 공유해 주셔서 더욱 유익한
시간이 되었습니다 😎

2. Github Action — 송호종

두번째 발표는 송호종님께서 ‘Github Action’을 주제로 진행해주셨습니다.

Github Action을 사용하면 앱을 테스트하거나 배포할 때 발생하는 작업들을 workflow로 생성해서 자동으로 편리하게 사용하실 수 있습니다.

발표에서는 ‘Github Action’에 대한 소개와 내부 구조부터 실제 작성방법 및
테스트 방법까지 실제로 사용해 볼 수 있도록 상세하게 설명해 주셨습니다 😇

3. Github Action — 송호종

세번째 발표는 배성재님께서 ‘Activity Task&Stack’
주제로 진행해주셨습니다

사용자와 상호작용하는 기준인 Activity는 Task를 기준으로 관리되는데요.

발표내용은 Activity의 집합인 Task의 내부 구조와 제어방법에 대한 내용으로 구성되었습니다.

AndroidManifest.xml 에서 설정하는 LaunchMode 값들과 Activity 실행 시점에 설정하는 Intent Flag 값들을 실제 사용할때 겪는 문제점들과 함께 이해하기 쉽게 설명해주셨습니다.

앞으로 Activity의 흐름을 제어할 때 많은 도움을 얻을 수 있을 것 같습니다.

4. Motion Layout — 배효진

마지막 네번째 발표는 배효진님께서 ‘Motion Layout’을 주제로
진행해주셨습니다.

발표에서는 예제코드와 함께 속성 값들을 살펴보고, 실제 활용 예시들을 확인해 볼 수 있었습니다.

‘Motion Layout’을 사용하면 복잡한 레이아웃 전환 효과를 보다 쉽게 사용할 수 있어 최근 많은 앱에서 활용하고 있습니다.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

iOS 직군 세션

iOS직군 세션은 다른 직군과 다르게 팀별로 이루어졌는데요

  • 김태욱, 김하경, 이현재 — Introduce to SwiftUI
  • 임솔빈, 오준현 — SwiftUI와 Animation
  • 이하은, 김보민 — Vision으로 Hand pose 감지하는
    Camera App 만들어보기
  • 박진수, 정석준 — SwiftUI와 Combine

1. Introduce to SwiftUI (김태욱, 이현재, 김하경)

이 팀은 Introduce to SwiftUI 라는 주제를 선정하셨습니다.

SwiftUI가 어떤 건지, 기존 UI를 그리는 방식과 어떤 점이 다른 지
알고 싶어서 고르셨다고 합니다!

SwiftUI는 선언형 구문을 사용해서 코드는 단순해지고, 가독성이 좋고,
시간과 유지비용을 절약할 수 있는 도구라고 합니다. 이어서 SwiftUI
UIKit의 차이를 설명해주셨습니다.

기존 스토리보드로 개발하던 프로젝트에 SwiftUI를 적용하려면UIHostingController 를 사용하면 된다고 합니다.

UIHostingController 에 대한 내용은 공식 문서를 확인해주세요!

2. SwiftUI와 Animation (임솔빈, 오준현)

이번 팀은 SwiftUI로 Animation을 구현하는 방법을 공유해주셨는데요

이미 SwiftUI에 애니메이션을 합치거나 덮어쓰고 중단하는 작업들을 직관적인 API가 있다고 합니다. 자세한 내용은 공식 문서를 확인해주세요!

Animation Structure 의 메소드를 예제를 통해 설명해주셨습니다. 특히 아래 같은 메소드들이 있어서 애니메이션을 만들고 사용하는 데 더 편리한 것 같습니다!

  • .animation() : 이전 값들에 대해 해당 애니메이션이 적용
  • .animation(nil) : 이전의 모든 내용에 대해 애니메이션이 비활성화
  • withAnimation : 여러 뷰에 한꺼번에 애니메이션을 적용
시연 영상입니다.

3. Vision으로 Hand pose 감지하는 camera app만들기(이하은, 김보민)

ML을 시작하려면 python을 학습하고 라이브러리 학습하고 이런 식으로
배워야할 게 너무 많죠. 애플이 제공하는 CreateML은 여러 도메인에서 특징을 분류할 수 있는 프로그램을 제공합니다.

그래서 아무것도 몰라고 ML을 학습할 수 있다고 해요! 원래 함께 실습하는
걸로 하려고 했지만 iOS 14 베타 준비 등 해야할 것들이 있어 실습 영상으로 대체되어 아쉬웠습니다.😭

하은님은 Create ML을 생성해서 데이터를 테스트하고 트레이닝을 시작하는 방법을 알려주셨습니다.

보민님은 Vision의 Hand pose를 사용하는 법을 설명해주셨는데요,
이번 Vision 프레임워크에 Hand pose가 추가되서 앱을 만들 수도 있다고
합니다. 자세한 설명은 WWDC 를 참고해주세요!

결과 영상으로 발표를 마무리해주셨는데요 손 모양을 탐지해서 텍스트로 알려주고 있습니다!

4. SwiftUI와 Combine (박진수, 정석준)

두 분의 발표는 Combine 소개 및 사용법을 발표해주셨습니다.
Combine은 애플이 만든 비동기 리액트 프로그래밍 프레임워크입니다.

Combine의 PublisherSubscriber 가 요청하는 이벤트를 방출하는 역할로 Rx에서 Observable 과 같고

SubscriberPublisher에게 데이터를 요청한 이벤트를 받는 역할로 Rx에서 Observer 과 같습니다.

짧은 예제를 통해 Combine을 사용하는 방법을 알려주셨습니다.

SwiftUI에 Combine을 결합한 예제는 이 깃허브를 참고하여 설명해주셨습니다! https://github.com/ra1028/SwiftUI-Combine

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Server 직군 세션

Server은 다른 개발직군과 다르게 아쉽게도 팀별 1명씩으로
발표자가 적습니다.(다음기수에는 2명씩으로 변경될수도 있습니다~)

  • 윤우식 — GraphQL 톺아보기
  • 박동진 — HyperLogLog
  • 김서영 — Docker & Container

1. GraphQL 톺아보기 — 윤우식

GraphQL 이란 무엇인가요 👀
API를 위한 쿼리 언어 GraphQL은 API를 위한 쿼리 언어이며 이미 존재하는
데이터로 쿼리를 수행하기 위한 런타임 입니다. GraphQL은 API에 있는

데이터에 대한 완벽하고 이해하기 쉬운 설명을 제공하고 클라이언트에게
필요한 것을 정확하게 요청할 수 있는 기능을 제공하며 시간이 지남에 따라 API를 쉽게 진화시키고 강력한 개발자 도구를 지원합니다.

GraphQL 특징

1. GraphQL 쿼리는 항상 예측 가능한 결과를 반환
2.한개의 Endpoint에서 한번의 요청으로 앱에 필요한 모든 데이터를
가져올 수 있음
3.타입 시스템이 제공되어서 앱에서 수동 파싱하여 타입을 매핑할
필요가 없음
4.버저닝 없이 기존 쿼리에 영향을 주지않고 API를 수정, 개선할 수 있어
유지보수가 쉬움
5.버저닝 없이 기존 쿼리에 영향을 주지않고 API를 수정, 개선할 수 있어
유지보수가 쉬움
6.Postman과 같은 GraphQL 호출 도구를 제공함. query 목록과 schema를 한눈에 볼 수 있고 코드 인텔리전스를 활용할 수 있고 Query를 호출해볼 수 있음

GraphQL을 사용하고 있는 기업들 입니다.

2. HyperLogLog — 박동진

HyperLogLog :유일한원소개수(cardinality) 추정에 사용하는 확률적 알고리즘

정말 많은 내용이 적혀 있으며 어려운 용어들이 사용되었네요 ㅎㅎ

Hyper LogLog에 대해서 배울수 있는 정말 귀중한 시간이었습니다.

3. Docker & Container — 김서영

Docker의 등장
컨테이너라는 격리된 환경에서 작동하는 프로세스 호스트
커널을 공유하여 하드웨어 가상화 기술보다 가벼움이미지 단위로
프로세스 실행 환경 구성

컨테이너 오케스트레이션
다수의 머신에서 워크로드분산이필요해짐. 배포된컨테이너간의통신, 규모 up/down, 모니터링 등 수행e.g. 도커스웜, 쿠버네티스, 메소스

Docker란?

Docker 사가 개발한 컨텡너 관리 소프트웨어 컨테이너 기술을 사용해 응용프로그램 개발, 배포 및 실행을 하였습니다.

서버 직군세션에서는 정말 다양한 기술로 발표를 가져주셔서 정말 고맙습니다! 다음 2번째 직군세션때도 기대가 많이 되는군요👏

Designer 직군세션

Designer직군 세션은 Google meet을 사용한 화상회의로,
토크가 진행되었습니다.

주제는 디자인에 관련된 5가지로 진행되었습니다.

1.현재 다니고 있는 회사는 어디? 직무는 무엇? 어떻게 취업 준비를 했는가?
2.가고 싶은 회사? 어떻게 준비하고 있는지? (다른사람들이 경험 공유해주면 좋을 것 같음)
3. 취업, 이직을 위해 어떻게 역량을 쌓고 있고, 취준을 하고 있는
4. 평소에 자기 계발이나 취미가 무엇인지?
5. 현재 소속된 직장에서 요구하는 디자이너의 역량이 무엇인지?

매번 디자이너 직군세션은 세미나로 진행하였는데
처음으로 세미나가 아닌 각자의 디자이너로서의 미래와 이직 등 다양한
주제로 온라인으로 2시간동안 떠들고 웃으면서 즐거운 시간 이였습니다.

아침에 일어난 얼굴이라 얼굴은 이모지로!!

9월 26일에는 디자이너 세미나가 진행되어서 궁금하신분들께서는

저희 미디엄, 페이스북을 해주시면 감사하겠습니다!!

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Facebook
https://www.facebook.com/dddstudy

DDD Notion
https://url.kr/sWtxjC

Writer : 이상은(Android), 최혜선(iOS), 민경운(Server), 강동길(Designer)

--

--

DDD
DDD

Written by DDD

Dynamic Developer Designer | 개발자와 디자이너가 함께하는 IT 동아리

No responses yet