본문 바로가기
Seminar

2021 NAVER DEVIEW 2

by _dreamgirl 2021. 12. 11.
반응형

2021 NAVER DEVIEW 2 [모바일편] 

  • Android Jetpack Compose 실제 서비스 적용후기
    - React Native 프로젝트를 Native로 변환하면서 Jetpack Compose 를 도입
    - XML 사용을 최소화 하고 자체 프레임워크를 이용하여 draw하는 방식으로 개발
    - 장점으로 빌드속도 빠르고 앱 크기가 작아짐, Live Edit of literals 이용(에뮬레이터 보면서 UI 코그 수정)
    - @composible 
    - 단점으로는 Activity 구조가 아니라서 라이프 사이클 대응이나 Firebase Tracking이 어려움
    - 각 상태마다 별도로 State 관리 필요, 공용 변수 사용이 불가하여 DI 혹은 전역변수 사용을 해야함
    - 선호되는 아키텍처의 부재. MVSM 패턴을 디자인함
  • SwiftUI 도전기 : CLOVA NOTE
    - 2019년 SwiftUI 1.0 출시되었고 iOS 13부터 지원함
    - 데이타의 변화에 자동적으로 View를 업데이트 시켜줌(모델을 ObservableObject 키워드로 지정)
    - MVVM패턴을 사용하지만 SwfitUI에서는 ViewController 없어지면서 View 전환이나 DeepLink, Animation, Custom View 개발이 어려움. 이를 보완하기 위해서 UIHostingController와 UIViewRepresentable를 사용
  • AVPlayer Custom Resource Loader 노하우 공유
    - ETech 개발팀에서 일하는 개발자분의 기술 공유 내용
    - iOS Player에는 AVPlayer(AvKit), Custom Player(AVFoundation), Proxy 가 있음
    - ABR(Adaptive bitrate Streaming) : 네트워크 대역폭에 따라 화질을 결정하는 방식
    - HLS 편집 : 기기에 따라 화질을 제한할 필요가 있을때 master.m3u8에서 Media Component 범위를 지정할 수가 있음(Client), TS Component 를 이용하여 미리보기 길이를 제한할 수 있음, 미디어 합성 Discontinuity 
    - DASH 편집 : 지원되지 않은 포맷을 m3u8로 만들기. Dash는 xml 방식이여서 parsing을 통해 master, media 파일을 생성함

  • Chat-Ops 프로젝트 관리 자동화
    - Fastlane과 Jenkins를 통해 개발 및 배포에 필요한 자동화 프로세스 지원
    - Jenkins CI(Continuous Integration) 구축 : Github와 프로젝트 git 설정
    - Jenkins 와 Fastlane을 통한 CD(Continuous Deployment) 구축  : Jenkins 버전 업데이트, QA 배포시 서버 설정 필요, 환경설정(버전과 배포 서버 설정) 후 Excute Shell을 통해 lane 실행


    - Github(형상) + Jenkins(빌드) + Fastlane(Apple 배포) : 개발과 배포까지 모든 작업의 일련화. 보안 이슈로 인해 Hubot을 도입하여 Jenkins에 작업을 시킬 수 있도록 하였음(Remote trigger)
    - Hubot 서버는 사내 서버에 설치, node.js 설치하고 Hubot을 설치


    - NELO 로그 수집 시스템 :  Client monitoring하고 해당 App과 SDK별 로그를 분산하여 확인할 수 있는 장점이 있음, NELO를 통한 알림은 Slack API을 호출하고 담당자별에게 Push Notification을 제공함
    - Prophet 이라는 머신기계(ML)를 통해 임계치를 확인함
    - Trouble Shooting : 해당 환경으로 프로젝트가 많아지면서 프로젝트별 버전이 다른 문제가 생김. Jenkins에서 로컬 버전 체크 로직을 추가하였음. 또한 용량이 부족해짐. 불필요한 파일 삭제하는 앱을 사용
  • Kotlin Multiplatform mobile을 활용한 데마에칸 드라이버앱 개발 이야기
    - KMM(Kotlin Multiplatfrom Mobile) SDK : Android 와 iOS용 모바일 애플리케이션 개발을 지원하기 위한 SDK
    - 데마에칸 : 일본 시장에서 라인에서 만든 배달 앱
    - 공용 모듈 개발이 중점(Kotlin gradle script)
    - Trouble Shooting : Global Object 참조시 @threadLocal 사용, 동시성 문제가 발생하는데 freezing 함수 이용, memory System 등
    - 라인에서 만든 KMM 라이브러리 : 푸시 알림, 저장소(일반/보안), 이벤트, 우버 등 

 

참고사이트 

https://deview.kr/2021/sessions

 

DEVIEW 2021

DEVIEW는 국내외 개발자들이 서로의 지식을 나누고, 탁월함을 추구하며, 함께 성장하는 컨퍼런스 입니다. DEVIEW 2021

deview.kr

# 참고! 기술 온라인 세미나 바로가기  

1. Android Jetpack Compose 실제 서비스 적용후기 https://tv.naver.com/v/23652473/list/753227

 

Android Jetpack Compose 실제 서비스 적용 후기

NAVER Engineering | 남상혁 - Android Jetpack Compose 실제 서비스 적용 후기

tv.naver.com

2. SwiftUI 도전기 : CLOVA NOTE https://tv.naver.com/v/23652315/list/753227

 

SwiftUI 도전기: CLOVA Note

NAVER Engineering | 손대근 - SwiftUI 도전기: CLOVA Note

tv.naver.com

3. AVPlayer Custom Resource Loader 노하우 공유 https://tv.naver.com/v/23652319/list/753227

 

AVPlayer Custom Resource Loader 노하우 공유

NAVER Engineering | 강성현 - AVPlayer Custom Resource Loader 노하우 공유

tv.naver.com

4.Chat-Ops 프로젝트 관리 자동화 https://tv.naver.com/v/23650690

 

Chat-Ops : 프로젝트 관리 자동화를 통해서 슬기로운 remote 업무 환경 구축하기 (feat. AI/ML)

NAVER Engineering | 강현명/권문범/김상민/임성훈 - Chat-Ops : 프로젝트 관리 자동화를 통해서 슬기로운 remote 업무 환경 구축하기 (feat. AI/ML)

tv.naver.com

5. Kotlin Multiplatform mobile을 활용한 데마에칸 드라이버앱 개발 이야기  https://tv.naver.com/v/23652724

 

Kotlin Multiplatform Mobile을 활용한 데마에칸 드라이버앱 개발 이야기

NAVER Engineering | 김광현 - Kotlin Multiplatform Mobile을 활용한 데마에칸 드라이버앱 개발 이야기

tv.naver.com

 

반응형

'Seminar' 카테고리의 다른 글

2022 배민 WOOWACON 우아콘 1  (0) 2022.11.04
2021 NAVER DEVIEW 3  (0) 2021.12.16
2021 NAVER DEVIEW  (0) 2021.11.25
Android 11 Meetup  (0) 2021.04.08
드로이드나이츠 2020  (0) 2020.03.06

댓글