No Image

GraphQL 개념잡기

2019-08-01 KENNETH 0

GraphQL 개념잡기 GraphQL은 페이스북에서 만든 쿼리 언어입니다. 요즘 개발자들 사이에 자주 입에 오르내리고 있으나 2019년 4월 기준으로는 아직 얼리스테이지임은 분명합니다. 실제 국내에서 GraphQL API를 Open API로서 공식적으로 제공하는 곳은 존재하지 않는것 같고, 해외에서는 사례(Github v4 GraphQL)를 찾을 수는 있지만 GraphQL을 공식 API로 제공 하는 곳은 많지 않아 보입니다. 하지만 등장한지 얼마되지 않았음에도 불구하고, GraphQL의 인기는 매우 가파르게 올라가고 있다는 사실을 확인 할 수 있습니다. GraphQL 이란? Graph QL(이하 gql)은 Structed Query Language(이하 sql)와 마찬가지로 쿼리 언어입니다. 어떻게 보면 gql은 sql의 개념과 유사하다고 볼 수 있습니다. 하지만 gql과 sql의 언어적 구조 차이는 매우 큽니다. 또한 gql과 sql이 실전에서 쓰이는 방식의 차이도 매우 큽니다. gql과 sql의 언어적 구조 차이가 실제 활용 측면에서의 차이를 가져왔다고 볼 수도 있을것 같습니다. 이 둘은 애초에 탄생 시기도 다르고 배경도 다릅니다. sql은 데이터베이스 시스템에서 저장된 효율적으로 데이터를 가져오는 것이 목적고, gql은 웹 클라이언트가 서버로부터 데이터를 효율적으로 데이터를 [ more… ]

No Image

참여 후기: Open Infrastructure & Cloud Native Days Korea 2019

2019-07-23 KENNETH 0

참여 후기: Open Infrastructure & Cloud Native Days Korea 2019 지난 주 18일부터 19일까지 양일간 진행된 Open Infrastructure & Cloud Native Days Korea 2019 행사에 카카오가 후원했습니다. 일정상 행사장에 참여하지 못한 분들에게 카카오가 참여한 내용을 소개합니다. 이번 행사는 OpenStack, Kubernetes, Ceph, OCP 한국 커뮤니티가 힘을 합쳐서 개최하였고, Open Infrastructure 와 관련된 많은 분야를 어우르는 커뮤니티 연합 성격의 컨퍼런스로 진행됐습니다. 오픈 소스 커뮤니티에 참여하고 있는 저희들 입장에서도 하나의 분야가 아닌 서로 연관된 여러 분야의 기술들을 한 자리에서 보고, 서로 논의하고 공유할 수 있는 기회에 카카오가 키노트와 다양한 발표 세션을 포함해 기술 시연 부스에 참가할 수 있어 기뻤습니다. 행사 정보 웹사이트: https://openinfradays.kr/ 일시: 2019년 7월 18~19일,. 9:00AM ~ 6:00PM 장소: 페럼타워, 삼화타워, T타워 (을지로입구) 주최: 국내 오픈소스 커뮤니티 (OpenStack, Kubernetes, Ceph, OCP) 부스 카카오의 스폰서 부스에는 카카오의 클라우드 플랫폼인 9rum, Krane 시연과 채용관련 Q&A 질의응답을 진행했습니다. QR 코드를 스캔하면 채용관련 설문으로 연결되고, [ more… ]

No Image

kubernetes를 이용한 서비스 무중단 배포

2018-12-24 KENNETH 0

kubernetes를 이용한 서비스 무중단 배포 Kubernetes는 컨테이너 오케스트레이션 영역에서 거의 표준으로 자리 잡은 오픈소스 시스템입니다. kubernetes를 사용하게 되면 여러대의 노드를 하나의 클러스터로 묶어서 사용가능하게 됩니다. 클러스터를 구성하는 노드들중에 일부에 장애가 발생하더라도 장애가 난 곳에 있던 컨테이너가 kubernetes에 의해 다른 정상상태의 노드로 옮겨가게 되어서 컨테이너로 제공하던 서비스에 지장이 없이 서비스가 지속될 수 있게 해줍니다. 그래서 실제로 서비스를 운영할 때는 컨테이너만을 단독으로 사용하기 보다는 이런 오케스트레이터와 함께 사용하는 경우가 많습니다. kubernetes를 사용하면 배포를 보다 편리하게 할 수 있다는 장점도 있습니다. 앱을 실행할 컨테이너만 준비해서 kubernetes에 제출하면 kubernetes가 알아서 배포절차를 진행합니다. 카카오에서 컨테이너 플랫폼을 운영하면서 가장 많이 받는 질문중 하나가 “배포중에 트래픽 유실은 없나요?” 입니다. 트래픽이 큰 서비스를 운영하면서 서비스의 품질을 유지하려면 배포중에도 트래픽 유실이 없어야 합니다. 이 글에서는 kubernetes를 사용해서 배포했을때 트래픽 유실이 없게하기 위해서 어떤 점들을 유의해야 하는지 알아보도록 하겠습니다. kubernetes pod, service, ingress 관계 먼저 kubernetes로 트래픽이 들어오는 구조를 살펴보도록 [ more… ]

kakao의 오픈소스 Ep9 – Khaiii : 카카오의 딥러닝 기반 형태소 분석기

2018-12-13 KENNETH 0

kakao의 오픈소스 Ep9 – Khaiii : 카카오의 딥러닝 기반 형태소 분석기 “카카오의 오픈소스를 소개합니다” 아홉 번째는 jamie.lim과 자연어 처리 파트 동료들이 함께 개발한 khaiii(Kakao Hangul Analyzer III)입니다. khaiii는 세종 코퍼스를 이용하여 CNN(Convolutional Neural Network, 합성곱 신경망) 기술을 적용해 학습한 형태소 분석기입니다. 디코더를 C++로 구현하여 GPU 없이도 비교적 빠르게 동작하며, Python 바인딩을 제공하고 있어서 편리하게 사용하실 수 있습니다. 앞으로 오픈소스 생태계를 통해 자연어 처리를 연구하는 분들께 도움이 되고, 또한 부족한 부분에 대해 도움을 받을 수 있으면 좋겠습니다. 아래는 카카오 AI 리포트에 포스팅한 카카오의 딥러닝 기반 형태소 분석기를 옮긴 것입니다. khaiii는 “Kakao Hangul Analyzer III”의 첫 글자들만 모아 만든 이름으로 카카오에서 개발한 세 번째 형태소 분석기입니다. 두 번째 버전의 형태소 분석기 이름인 dha2(Daumkakao Hangul Analyzer 2)를 계승한 이름이기도 합니다. 기존의 분석기(dha1, dha2)는 규칙 기반으로 동작하기 때문에 사람이 직접 지속적으로 규칙을 입력해야 하지만, khaiii는 데이터 기반으로 동작하기 때문에 기계학습 알고리즘(딥러닝)을 사용합니다. ‘형태소’는 언어학에서 특정한 의미를 가지는 가장 [ more… ]

2019 카카오 블라인드 공채 2차 오프라인 코딩 테스트 문제 해설

2018-10-23 KENNETH 0

2019 카카오 블라인드 공채 2차 오프라인 코딩 테스트 문제 해설 지난 10월 6일(토) 2019 블라인드 공채 오프라인 2차 코딩테스트가 진행되었습니다. 작년에는 8시간 동안 온라인으로 진행한 것과는 달리 오프라인으로 5시간 동안 치러졌는데요, 어떤 의도로 출제하였는지 살펴보겠습니다. 작년 2차 코딩테스트 회고 작년 문제 출제 의도를 기억하시는지요? 온라인 2차 코딩 테스트 문제 출제 위원회에서는, – 탄탄한 기본기를 바탕으로 새로운 것을 빠르게 습득하는 역량 – 요구사항을 꼼꼼하게 분석하고, 트레이드오프를 고려하여 디자인하여 구현하는 역량 – 결과를 모니터링하며 점진적으로 개선해나가는 역량 을 테스트할 수 있도록 2차 문제에 녹여내고자 하였습니다. 작년 문제에는 매우 많은 장치가 숨겨져 있었으나 정작 요구사항을 그대로 구현하기만 해도 합격선인 8만 점을 얻기에는 충분했었습니다. 그리하여 올해는 시스템 디자인 역량을 좀 더 중점적으로 평가하고자 하였습니다. 엘리베이터 시뮬레이션 올해 오프라인 2차 테스트 문제는 다수의 엘리베이터(1대~4대)를 제어하는 시스템을 구현하는 것입니다. 핵심 구현에 집중할 수 있도록 엘리베이터 동작 및 상태는 서버에서 관리하고, 서버와 통신은 작년과 같이 REST API [ more… ]