ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [2018.09.04] if(kakao) dev2018
    후기/세미나 2018. 9. 25. 22:14

      새 회사 입사 2주만에 직전 회사의 컨퍼런스에 가게 되었다. 운좋게 추첨에 당첨되었기도 했고 휴가 사용 없이도 컨퍼런스에 참가할 수 있었기 때문에 더더욱 가고 싶었다. 카카오의 여러 가지 서비스들에 사용된 기술과 그것들을 사용함에 있어서의 고민들, 가치 등이 궁금했다. 또한 마지막 세션에는 토비님이 나온다고 하니 더더욱 가볼 수 밖에!


      타임 테이블은 아래와 같다.

    시간세션명
    09:30참가 등록
    10:00Keynote
    11:00

    PDF
    맵매칭 (부정확한 GPS포인트들로부터 경로 추정하기)

    PDF
    텐서플로로 OCR 개발해보기: 문제점과 문제점과 문제점

    PDF
    AI시대에 맞는 서비스 개발

    PDF
    카프카, 산전수전 노하우

    PDF
    다음 모바일 첫 화면 개선기

    12:00

    PDF
    카카오의 광고지능 (Intelligence on Kakao Advertising)

    PDF
    Query by Image (이미지로 이미지 검색하기)

    PDF
    딥러닝을 이용한 얼굴 인식

    PDF
    카카오 봇 플랫폼 소개

    PDF
    Kakao Cloud Native Platform, 9rum

    PDF
    카카오뱅크 모바일앱 개발 이야기

    12:45점심시간
    14:00

    PDF
    Unify data and model using Apache S2Graph and GraphQL.

    PDF
    무엇이든 물어보세요, 지식그래프 : 카카오미니와 검색 적용 소개

    PDF
    눈으로 듣는 음악 추천 시스템

    PDF
    오픈소스를 사용하고, 준비하는 개발자를 위한 가이드

    PDF
    Klaytn: Service-Oriented Enterprise-Grade Public Blockchain Platform

    PDF
    카카오 광고 플랫폼 MSA 적용 사례 및 API Gateway와 인증 구현에 대한 소개

    15:00

    PDF
    TOROS N2 - lightweight approximate Nearest Neighbor library

    PDF
    비디오 특성 분석 및 딥러닝을 이용한 실시간 인코딩 효율 최적화

    PDF
    카카오톡의 서버사이드 코틀린

    PDF
    액티브X 없는 블록체인 기반 PKI 시스템

    PDF
    모바일 게임플랫폼과 인프라 구축 경험기

    16:00

    PDF
    딥러닝을 활용한 뉴스 메타 태깅

    PDF
    카카오가 가지고 있는 음성처리 기술

    PDF
    스프링5 웹플럭스와 테스트 전략

    PDF
    글로벌 게임 플랫폼에서 무정지, 무점검 서버 개발과 운영 사례

    PDF
    다음웹툰의 UX(Animation, Transition, Custom View)

    17:00행사 종료

      데뷰와 비교했을 때 약간 임팩트가 적은 느낌이 있었지만 이미 생활속 곳곳에 들어온 카카오들의 서비스를 만든, 개선한, 노력한 것들을 들을 수 있어서 좋았다. 


      당시의 사진들과 정리한 필기들을 그대로 첨부한다.






    기조연설 (10:00 / 신정환, 김병학)

    • 기조 (신정환)
      • 세상은 전부 개발거리
      • 수많은 생활의 접점에서 편리한 삶을 위해 카카오 기술을 사용
      • 가치 네 가지
        • Stability
        • User Experience: if (tech+design) -> user
        • Data
        • Next Innovation
    • AI (김병학)
      • kakao i: kakao mini에 들어가는 AI 기술
      • kakao i open builder
        • AI 플랫폼
        • 쉽게 AI 서비스 개발 가능
        • 챗봇 개발 가능
      • 이동
        • 현대 자동차에 들어감 (2019년 예정)
        • kakao home: GS건설, POSCO건설과 제휴
      • 오픈 플랫폼화
        • kakao i developers: 2018년 12월 베타 오픈 예정
    • 커뮤니티 (신정환)
      • 개발자 커뮤니티 + 카카오
      • 블라인드 채용
      • 기술 블로그
      • 커뮤니티 지원

    다음 모바일 첫 화면 개선기 (11:00 / R5, 고재성)

    • 다음 모바일 첫 화면
    • 아직도 다음 많이 쓰나요?
      • WAU 750만, MAU 1700만
    • 무엇이 바뀌었나?
      • Content
    • 콘텐츠 수집
      • 과거: 수집관리 시스템 + Human Power -> 링크와 제목을 인력이 수동으로 관리
      • 중간: 크롬 extension으로 클릭
      • 개선: 시스템을 통한 모든 서비스 컨텐츠 수집
      • 특정 이슈 발생 시: 뉴스나 콘텐츠 양이 증가 -> docker + mesos로 scale out
    • 콘텐츠 분류
      • 과거: Human Power
        • 사람이 일일이 분류
        • 비일관적 분류
        • 오랜시간 소요
      • 개선
        • 머신러닝을 이요한 자동 분류 시스템
        • 기술: 텐서플로우, fast Text, TF-ITF, word to back..
        • 빠름, 자체 학습셋 구축
    • 콘텐츠 선정
      • 과거: Human Power
        • 직접 선택, 타이틀 편집
      • 개선: 추천 알고리즘 + Human Power
        • 유저 반응 개선
        • 다시 학습셋으로 사용
    • 콘텐츠 노출
      • 과거: 서버 렌더링
        • 개인별 추천 적용 이전
        • 모두 똑같은 화면
        • 대규모 트래픽에 적합
        • 고성능 시스템
        • 장애에 강함
      • 개선: 추천 API를 노출이 대다수
      • 추천 API를 통한 관리
        • 추천 API 제공 시스템에서 응답을 받아서 보여줘야 함
        • circuit breaker 패턴: NETFLIX의 HYSTRIX 사용
          • 추천 API 시스템이 응답을 못주면 미리 세팅된 Fallback message를 돌려줌
      • 노출 관리, 품질 관리
        • 노출 이력관리
        • 데드링크 관리
        • 이미지 크기 관리
    • 앞으로는?
      • 더 많은 시도 예정 (했던 것: 동물, 평창, 추천탭 등)
      • 수집 -> 분류 -> 선정 -> 노출
        • 관리 -> 분석!
      • 콘텐츠의 노출 플랫폼 별 결과까지 관리
        • 관심 있어할 만한
        • 중복되지 않는 콘텐츠 노출

    이미지로 이미지를 검색하기(Query by Image) (12:00 / R2, 이주영)

    • 텍스트로 원하는 이미지를 검색할 수 있지 않을까?
      • ex. 2018년 9월 4일 xxx가 공항에서 입은 검은색 티셔츠가 무엇인가요??
      • 방법
        • 단어 뽑아냄
        • 해당 단어들로 검색
      • 하지만 사진만 올리는 경우, 특정 단어들이 포함 안되는 경우 등... -> 검색 안됨
    • 쿼리 앵커를 가지고 일정 거리 안에 있는 결과들을 보여줌
      • 이미지 앵커와 positive의 거리가 이미지 앵커와 negative의 거리보다 가까운 것 고르기 : 이 함수를 찾기!
      • Triplet Loss. CNN을 통과해 Similiarity 계산
    • 카톡 #검색으로 이미지 검색

    딥러닝을 이용한 얼굴 인식 (12:00 / R2, 신종주)

    • 얼굴인식? : 주어진 영상에서 얼굴을 인식하여 누군지 알려줌
      • 과정
        1. Detection
        1. Alignment
        1. Normalization: 돌아가거나 사이즈 등을 조절, 특징점 봅음
        1. Recognition
    • 얼굴 인식 분류
      • Identification vs. Verification
        • Identification
          • 입력된 얼굴과 등록된 얼굴들을 비교해서 판단
          • Top-1&5 accuracy
        • Verification
          • 주어진 두 얼굴이 같은지를 판단
          • TAR@FAR=0.001
          • LFW (Labeled Faces in the Wild)
            • 6000장의 이미지 pair에 대해 성능을 측정
            • 사람의 성능: 97.53%
            • 현재 기계의 성능: 99.77%
    • 학습 방법
      • Feature Embedding for Face Recognition
        • Train
          • conv, bn, act, pooling -> FC -> Softmax, Metric learning
        • Test
          • 피쳐 2개에 대해서 Euclidean distance, Cosine similarity
    • 최근 얼굴 인식 연구 방향
      • Metric Learning
        • Trplet loss (CVPR 2015)
        • Contrastive loss (NIPS 2014)
        • Center loss (ECCV 2016)
        • Ring loss (CVPR 2018)
      • Angluar classification
        • NormFace
      • Recent Databases
        • MSCeleb-1M (ECCV 2016)
          • 10만명, 약 1000만장
        • VGGFace2 (FG 2018)
          • 9131명, 331만장
          • 대부분 서양인
    • 카카오의 얼굴 인식
      • 영상 모으자! -> Kakao Dataset
      • 한국인 + 외국인으로 측정: 92%, 99%
      • 모으고, GT 찍고, 성능 높이고 반복 -> 자동화 예정
      • 연내 API 오픈 계획

    카카오 지식그래프 (14:00 / R2, 남기훈)

    • 기존: 색인어 기반으로 검색. Text일뿐
    • 지식그래프에서의 검색어: 의미를 가진 오브젝트
    • 각 속성들을 그래프로 쪼개서 구성
    • 카카오가 가진 콘텐츠들을 적재: Fact, 관계, 위치/시간 기준 탐색
    • 카카오미니 적용
      • ex. 트와이스 리더의 나이가 몇이야?
      • -> 음성인식 -> 도메인 분류 -> 정보검색봇 -> Cruize QA -> CruiseQL -> Cruise KG
      • -> 트와이스의 리더 나이는 만 21세예요
      • 할 수 있는 것
        • 정답검색
        • 새로운 관계 찾기
        • ...
    • 검색 적용
      • 두 인물의 관계 검색: ex. 김준현 정상훈의 관계
      • 공통 속성 검색: ex. 160cm이상의 가수
      • 지식그래프 쿼리와 색인어의 조합
    • 지식그래프에서 연결을 어떻게 할까?
      • Defiant
        • 같은 객체 찾기
        • 객체 분류
    • 외부 데이터 연결 확장
      • ontology로 구축된 데이터 구축
    • 광고와 서비스의 연결
    • 지식그래프의 추천 및 개인화

    눈으로 듣는 음악 추천 시스템 (14:00 / R2,최규민)

    • Song Vector
      • Melon Data를 가지고 모델링
      • 유저들의 Feedback data: Collaboration Filter
        • CF의 대표 기술인 Matrix Factorization
      • CBF: 장르 Classficiation Model
    • 카카오에서의 Song Vector
      • Stream Data, Word2Vec, User Playlist, DJ Playlist, Audio를 활용하여 추천
    • Song Vector 탐색을 위한 전처리 작업
      • Sampling -> Dimension Reduction -> Song Meta Mapping -> Song Segmentation

    액티브X 없는 블록체인 기반 PKI 시스템 (15:00 / R4, 이한욱 카카오페이)

    • 카카오페이 인증
    • history: RSA, X.509, PKCS#1, 전자서명법 제정, Bitcoin, Hyperledger, 카카오인증 기획서 v0.1, 카카오페이 인증 오픈
    • PKI(public key infrastructure) 소개
      • 공개키 기반 암호화
      • 전자서명
      • 인증서
      • HTTPS
    • 기존 공인인증서의 문제점과 해결
      • 액티브X
        • IE에 플러그인 형태로 작은 실행파일로 동작
        • 액티브X를 통해 비밀키를 사용
        • 설치를 하지 않으면 기능을 쓸 수 없음. 어쩔 수 없이 설치
      • 비밀키의 관리
        • NPKI 폴더 복사 가능
        • 해결
          • 카카오페이에서 서버 검증 추가
    • 블록체인
      • 비트코인 공개 네트워크 활용
        • OP_RETURN 스크립트: 제한적인 사이즈의 데이터 저장 가능
        • 사용자 인증서의 해시값을 여기다가 저장
        • Finality of Bitcoin.
          • 블록생성 10분 소요
          • 최소 6개의 승인이 되야 안전
          • 블록포함 시점 불분명
      • 하이퍼레저 패브릭
        • 특징
          • Enterprise
          • Private & Permissioned Network
          • No coin But Asset
          • Immediate Finality

    스프링 웹플럭스와 테스트 전략 (16:00 / R3, 토비)

    • 스프링 웹 플러스
      • 스프링 5.0에 새로 등장한 웹 프레임워크 + 리액티브 스택
      • 플럭스 <-> 리액티브
      • 웹 플럭스 vs MVC
    • 도입 이유
      • 100% 논블록킹 개발
      • 확장성과 고효율성이 매우 중요
      • 업, 다운 스트리밍과 Back pressure가 팔요
      • 고속 서비스 오케스트레이션 개발
      • 유사한 프로그래밍 모델의 경험
      • 유연하게 커스터마이징이 가능한 웹 프레임워크 구성
      • 본격적인 함수형 프로그래밍 모델 사용
    • 사용하지 않는 게 좋은 이유
      • 웹 플럭스가 왜 필요한지 분명하게 모름
      • 볼로킹이 서버, 코드, 라이브러리에 존재
      • SpringMVC로 개발했더니 아무 문제 없음
    • 웹 플럭스는 MVC로 시작해도 됨
      • 스프링5 MVC는 웹 플럭스에서 제공되는 다양한 기능과 프로그래밍 모델 제공
      • MVC에서 WebClient 사용이 가장 좋은 출발점
        • RestTemplate을 대체
    • 리액티브 (함수형) 프로그래밍
      • 인터넷시대의 복잠함을 해결하기 위해
    • CompletableFuture vs Reactor Flux/Mono
      • Flux/Mono가 장점이 많음
    • 테스트
      • block() + assert로 가능하긴 함
      • StepVerifier를 사용!
    • 리액티브 HTTP API 호출 테스트
      • WebClientd
    • 원격 리액티브 API 호출 - 러닝서버 통합테스트
      • Flux 테스트로 작성 - StepVerifier
      • 단위 테스트가 가능하지만 너무 복잡함
      • 테스트용 MockServer를 사용
    • 웹 플럭스의 새로운 아키텍처
      • 기존 MVC는 서블릿 스펙과 서버의 제약 위에 개발
      • 웹 플럭스는 독자적인 아키텍처를 가지는 프레임워크
        • Functional Endpoint
        • DH + Functional Endpoint
        • Micro Web Framework : 스프링 컨테이너 없이 웹서버를 띄울 수 있음
    • 함수형 엔드포인트 테스트 방법
      • bindToRouterFunction
      • @WebFluxTest
      • 함수 단위 테스트


    댓글

Designed by Tistory.