이미지 분류 모델 AutoML 파이프라인 올해 3분기 당근마켓에서 Google Cloud AutoML을 활용하여 이미지 분류 모델을 개발하고 파이프라인 자동화한 사례를 공유 하려고 해요. 프로젝트의 시작 당근마켓 사용자가 서비스에 접속 했을때 시각적으로 가장 큰 영향을 주는 요소는 “사…
- blog 카카오 서비스의 모든 시스템과 트래픽을 책임지는 ‘인프라팀’ 이야기 카카오 인프라팀은 카카오 서비스의 시스템과 트래픽을 책임지고 관리/운영하고 있는 조직으로 국내 최대 인프라 규모를 자랑하며 최고의 인프라 엔지니어가 함께 하고 있습니다. 모든 장애 상황에 대해 가장 먼저 대…
안녕하세요. 뱅크샐러드 Product Language 팀 김성민입니다. 뱅크샐러드에 합류 한 후부터 지금까지 주변 디자이너분들에게 Product Language에 관한 질문을 많이 받아 왔는데요, 아직도 국내에서는 Product Language라는 개념이 다소 생소한 것 같습니다. 저도…
엘라스틱서치에 멀티테넌트 환경이 필요할까? 4차 산업혁명 시대를 맞아 디지털 경제의 기반 인프라로 클라우드 컴퓨팅이 주목 받고 있습니다. 클라우드 환경의 멀티테넌트(Multi-tenant)는 하나의 소프트웨어 인스턴스를 공유함으로써 규모의 경제를 통한 비용 절감을 실현하는 아키텍처로 활…
Go와 함께하는 전화망 서비스 구축 2편 - 등록일 - 2020.12.01 - | - 코멘트 - 19602 Go와 함께하는 전화망 서비스 구축은 여러분의 전화 단말기에서부터 서버까지 음성 데이터가 전송되고 처리되는 과정을 낱낱이 기술적으로 파헤쳐 보고, Go 언어를 통하여 직접 전화망…
WebXR Device API를 이용한 웹 AR 구현, 그 한계와 대안 - 실전 편 - 등록일 - 2020.11.30 - | - 코멘트 - 14256 이 글에서는 지난 이론 편에 이어서 현 시점에서 실제 WebXR Device API 적용에 핵심적인 코드 조각을 몇 가지 소개하고자 합니…
안녕하세요, 데이터정보플랫폼팀 kenny입니다. 카카오는 매년 신입 개발자 공채와 인턴 프로그램을 진행합니다. 카카오 그리고 데이터 엔지니어링에 관심 있는 주니어 개발자 또는 예비 개발자분들에게 조금이나마 도움이 되고자 '데이터 엔지니어링’에 대해 소개하고자 합니다. 데이터 엔지니어링이…
안녕하세요! 저는 데이터플랫폼셀에서 데이터 엔지니어로 일하고 있는 김민수입니다. 데이터플랫폼셀은 데브시스터즈의 모든 데이터가 흐르는 DevPlay Data Platform 을 만드는 팀입니다. 저희는 엔지니어링을 통하여 제품에서 발생하는 여러 가지 로그와 데이터가 잘 흐르도록 하는 일을…
에어브릿지가 직접 개발한 OLAP DB, Luft에 대해 소개합니다. Hyojun Kim — 김효준 @therne 코호트 분석 기능? 코호트 분석은 원하는 유저군 (= 코호트)을 잡아서 해당 유저들의 행동을 분석하는 기법입니다. 예를 들어 "지난 6개월간 우리 앱에서 한달에 10만원 이…
- blog if(kakao)2020 코멘터리 02 : Klaytn, Caver, KAS 가 만들어가는 쉽고 빠른 BApp 개발 환경 안녕하세요, Ground X의 Platform Development Team입니다. Ground X의 블록체인 플랫폼 Klaytn, 그리고 Klaytn을…
SRE 팀에서 장애의 root cause를 찾고 재발방지 하는 방법 안녕하세요. 우아한형제들 시스템신뢰성개발팀에서 근무하고 있는 천명호라고 합니다. SRE팀은 우아한형제들이 제공하는 서비스가 안정적으로 운영될 수 있도록 다양한 관점에서 지원하는 역할을 합니다 최근 경험한 장애를 통해 S…
큰 하나의 데이터베이스(Monolithic)를 여러개의 데이터베이스(MSA)로 구조를 개선하면서 발생하는 이슈에 좀 더 쉽게 대응하기 위하여 MSR을 도입한 사례에 대해서 간략하게 설명하겠습니다. 저희 IT전략팀은 사람인의 계속적인 서비스 확장에 따른 개발 복장성 증가 및 서비스 간 강…
규모가 커지면 커질 수록 자동화된 워크플로우는 필수라고 생각합니다. 하지만 부끄럽게도 크로키닷컴은 잘 구축된 편은 아닙니다. 유닛 테스트는 초기부터 있었지만 그걸 PR, 머지마다 자동으로 수행하지는 못했습니다. 그러다가 2017년 중반 겨우 Jenkins를 세팅해서 자동 테스트만은 수행…
컨테이너 기술의 발전 소프트웨어 인프라를 운영하는 기업에서 컨테이너 기술은 생산성과 효율성을 높일 수 있는 좋은 대안입니다. 2008년 리눅스 컨테이너(Linux Container)가 소개되고 2013년 도커(Docker)가 등장한 이래 컨테이너(Container)는 꾸준히 개량되어 왔…
1. 프로세스 혁신(Process Innovation, PI/ERP) 이후 기업들의 고민 2000년 이후 국내 기업들은 6-Sigma, TQM(Total Quality Management), Lean Process, Value Stream 등의 경영혁신 활동과 함께 프로세스 혁신(PI/…
AWS WAF 운영에 대한 이야기 안녕하세요. 우아한형제들 정보보안팀에서 근무하고 있는 이주호라고 합니다. 퍼블릭 클라우드 환경에서의 보안을 책임지는 보안팀은 클라우드 환경에서의 보안 수준을 IDC 환경 보안 수준과 동일 또는 그 이상의 수준으로 만드는 데에서 어려움을 겪고 있습니다.…
TOAST SMS와 Email 서비스의 webhook 기능 소개 소개 TOAST SMS와 Email 서비스에서는 광고 메시지 수신거부 등록에 대한 webhook 기능을 제공하고 있습니다. 일반적으로 webhook이란 "사용자가 정의한 HTTP callback"입니다. 풀어서 설명하자면,…
엔터프라이즈 프레임워크(Enterprise Framework) 발전 배경 엔터프라이즈 프레임워크는 기업의 비즈니스 도메인(금융, 제조, 통신 등)에서 사용할 애플리케이션을 개발하기 위한 프레임워크를 말합니다. 대표적인 예로 삼성SDS의 오픈소스 기반 Java 애플리케이션 개발 프레임워크…
우아한테크코스 3기 과정에 참여할 사람을 모집합니다. 우아한테크코스 3기를 모집합니다. 1기 모집 글을 쓸 때가 엊그제 같은데 벌써 3기 모집 글을 쓰네요. 2020년은 코로나19 때문에 2기 교육 과정을 운영하는데 많은 어려움이 있었는데요. 많은 어려움에도 불구하고 2기 교육 과정은…
우리는 불편함을 어떻게 마주하고 있는가 안녕하세요. 신사업부 띠잉셀 박제현입니다. 띠잉 서비스를 개발하면서 어떤 고민을 하며 시스템을 개선했는지, 그리고 그 고민을 해결하는 과정에서 얻은 것은 무엇이었는지 가볍게 공유하고자 합니다. 뭔가 불편하다. 띠잉 서비스는 작년 10월에 오픈했습니…
- blog - events 카카오가 카카오 아레나를 하는 이유 카카오는 매년 머신러닝을 이용한 문제 해결 대회 플랫폼인 ‘카카오 아레나’를 개최합니다. 올해는 ‘멜론 사용자를 위한 음악 추천 대회’라는 주제로 개최되었고, 많은 분들의 관심과 참여로 뜻깊게 3회 대회가 종료되었습니다.…
MySQL 환경의 스프링부트에 하이버네이트 배치 설정해 보기 안녕하세요. 배민상품시스템팀 권순규 입니다. 저희팀에서 하이버네이트 배치 설정을 통해 대량 insert/update 시의 속도개선을 경험하여 공유드리고자 합니다. 전체 예제 파일은 github 에서 확인 할 수 있습니다. 하이…
TOAST Log&Crash Search의 데이터 무결성 검증 기능 사용하기 금융사는 전자금융 거래법이나 전자금융 감독규정에 따라 운영 시스템에서 발생하는 로그가 위·변조되지 않도록 로그 데이터에 대한 무결성을 검증하고 감시하는 기능이 필요합니다. TOAST Log&Crash Searc…
뱅크샐러드는 앱 출시 이후 약 3년의 세월 동안 폭발적인 성장을 겪어왔습니다. 늘어나는 사용자 수 만큼 더 많은 문제를 해결할 수 있는 서비스로 발전해왔고, 이 과정에서 뱅크샐러드의 기술적인 복잡도는 점점 더 높아졌습니다. 여느 빠르게 성장하는 스타트업이 그렇듯, 뱅크샐러드 역시 비즈니…
들어가며 대부분의 기업용 애플리케이션은 하나의 거대한 서비스 형태로 개발되어 왔습니다. 모놀리식 아키텍처(Monolithic Architecture)로 불리는 이 구조는 개발·관리가 용이하다는 장점이 있습니다. 그러나 시스템 규모가 커질 경우 복잡도도 증가해 코드의 이해와 분석이 어려워…
신규 서비스 배포 전에 실험과 개선을 반복한 이야기 성능 테스트로 데드락을 찾아 없애고 TPS를 끌어올리자! - VSMS: 가상 재고 관리 시스템 - 두근두근 성능 테스트 - 첫 성능 테스트에서 DB 데드락이 나왔다? - 가장 큰 병목은 데이터베이스 IO - DB 커넥션을 아껴서 성능을…
컬리에서 선물하기를 개발하며 회고 주문서비스 개발팀이 선물하기 서비스를 오픈하기 까지 여정 - 들어가며 - 선물하기 서비스란? - 선물하기 서비스를 개발하며 겪은 어려움들 - 개발 과정 - 기존의 운영 정책과도 잘 호환되는 시스템을 개발하자 (타협한 것들) - 성공적인 배포 후 운영 시…
들어가며 컬리에서 주문 서비스 개발팀이 신규 주문 서버를 개발하며, 첫 무대로 선물하기 서비스를 론칭하기까지 여정을 정리해보는 내용입니다. 레거시 시스템과 신규 시스템 호환을 맞추기 위해서 어떤 노력을 했는지, 커머스 주문부터 배송까지 어떤 고민을 하며 진행했는지를 담아보았습니다. 컬리…
1. Digital Transformation을 직면한 HR[1] 많은 조직들이 그러하듯, HR은 시대의 흐름에 맞춰 끊임없이 변화를 위해 노력해 왔습니다. 하지만 4차 산업혁명 시대가 도래함에 따라, HR은 과거와 다르게 완전히 새로운 변화와 혁신을 요구받고 있으며, 그것은 Digit…
캐시 성능 향상기 (Improving Cache Speed at Scale) Improving Cache Speed at Scale 안녕하세요! 데이터운영팀 김가림입니다.🙇🏻♀️ 올해 레디스 컨퍼런스는 코로나로 인해 온라인으로 진행되었습니다. 오늘은 그 중 제가 가장 흥미롭게 들었던 세…
- blog 다양한 서비스와 소통이 함께하는 '콘텐츠서비스개발팀' 이야기 카카오와 고객을 이어주는 접점에는 ‘클라이언트 개발’이 있습니다 클라이언트 개발은 웹이나 앱을 통해 카카오의 다양한 서비스들을 만나는 **‘카카오의 첫 인상’**을 만들어가는 사람들입니다. 각종 통계와 고객의 반응…
레그테크라는 용어가 출현하기 전부터 금융기관들은 효율적인 규제 준수를 위해 다양한 기술을 적용하고자 지속적으로 노력해 왔습니다. 그럼에도 불구하고 레그테크라는 용어로 다시금 조명되는 이유 중 하나는 신기술의 출현으로 인해 기존 방식으로 불가능했던 일들을 할 수 있게 되었다는 가능성을 볼…
우아한형제들의 기술이사 다섯분을 소개합니다. 안녕하세요, 우아한형제들 CTO 송재하입니다. 저는 올해 4월 1일에 우아한형제들에 합류했는데요, 그 이후 몇 달간 새로운 환경에 정착하고 또 의욕과 영감을 불러일으켜 준 다섯분의 기술이사님들과 기술이사 제도에 대해 여러분들께 소개하는 것으로…
Go와 함께하는 전화망 서비스 구축 1편 - 등록일 - 2020.08.10 - | - 코멘트 - 25063 Go와 함께하는 전화망 서비스 구축에서는 여러분의 전화 단말기에서부터 서버까지 음성 데이터가 전송되고 처리되는 과정들을 낱낱이 기술적으로 파헤쳐 보고, Go 언어를 통하여 직접 전…
들어가는 말 블록체인 하면 생각나는 대표적인 특징 중 하나는 거래 불변성(Immutability)입니다. 참여자 간 합의(Consensus)하에 만들어진 거래들은 블록으로 만들어지고, 이 블록들은 체인 형태로 연결되며 참여자들에게 동일하게 전파됩니다. 이 체인 형태로 인하여 특정 거래를…
- blog 카카오톡의 백엔드를 담당하는 '톡플랫폼개발팀' 이야기 카카오의 '서비스 서버 개발’은 전 국민이 사용하는 다양한 서비스를 안정적으로 제공하고 있습니다. 카카오톡과 그 안에 들어 있는 다양한 연계 서비스와 대한민국 No.1 뮤직플랫폼 멜론 서비스, 그리고 뉴스와 스포츠를 포함…
유용한 테스트 케이스를 위한 개발자의 자세 각종 커뮤니티에 주기적으로 등장하는 "private 메서드를 테스트하려면 어떻게 하나요?" 혹은 "private 메서드를 테스트해야 하나요?" 와 같은 질문을 보면서 언젠가는 관련해서 정리해봐야겠다고 생각했었는데 꽤 시간이 흘러 이 내용으로 글…
많은 기업이 진정한 혁신을 하기 위해서 어떤 새로운 기술을 활용할까 고민합니다. 기업들이 큰 관심을 갖는 디지털 기술 중 하나는 바로 블록체인일 것입니다. 처음 이 기술이 나왔을 때만 해도 비트코인과 같은 암호화 화폐를 지원하는 기술 정도로 인식하였습니다. 블록체인은 기술적인 타당성과…
당신의 안전을 위해서라면 뭐든지 할 거예요. 그게 삽질이라도… 당근마켓에서는 왜 주소를 인식해야 하나요? 중고거래할 때, 상대방에게 주소를 언제 알려줄까요? 택배 거래를 하거나 만날 장소를 정할 때 주소가 많이 공유돼요. 당근마켓은 중고거래 사기의 대부분을 차지하는 택배 거래보다는 당근…
- blog 인증아이템 : 카카오크루의 모바일사원증 Digitalization/Digital transformation 과 신원/자격/권리/행위 인증 Digitalization은 세상에 존재하고 있던 도메인을 기술과 데이터를 활용하여 디지털의 세계에 구현하는 것을 의미합니다. 그리고 이…
엘라스틱서치는 엘라스틱(Elastic) 社가 아파치 루씬(Apache Lucene)을 기반으로 개발·공급하는 오픈소스 검색엔진 솔루션입니다. 루씬은 강력한 검색 기능을 탑재하고 있지만, 라이브러리 형태로 제공되다 보니 실제 적용 시에는 많은 부분을 직접 개발해야 합니다. 반면 엘라스틱서…
레디스 버전6 뉴피처와 주요 기능 테스트 안녕하세요. 데이터운영팀 김가림입니다. 얼마 전 4월 30일에 레디스 뉴 피처가 발표됐습니다. 레디스 오픈소스의 창시자인 Antirez는 이번 6버전이 그동안의 릴리즈중 가장 큰 변화라고 공식적으로 말했고, 도대체 얼마나 큰 변화인가! 궁금해져서…
Thiiing(띠잉) iOS 앱 개발기 안녕하세요. 저는 영상 기반 소셜 서비스인 Thiiing(띠잉) iOS 앱을 개발하고 있는 박태현입니다. 2019년 12월 띠잉셀에 합류하여 약 3개월 동안 개발하여 신규 서비스 Thiiing(띠잉) 앱을 출시하였는데요, 프로젝트 세팅부터 출시까지…
DB분산처리를 위한 sharding 소개 저희는 신사업부문에서 Thiiing(띠잉)서비스를 만들고 있는 송재욱/전병두입니다. 이번에는 두 명이 함께 기술블로그를 작성했습니다. 🙂 서비스 오픈전에 아름다운 J곡선 그래프를 바라는 마음은 모두 같을 겁니다. 그런 서비스 성장에 있어 중요한…
Email 보안 강화 기능 소개(SPF) 머리말 NHN Cloud Email은 이메일 보안 강화를 위한 다양한 기능을 제공합니다. 총 두 번에 걸쳐 이메일 보안 강화 기능에 대해 살펴봅니다. 이번 글은 이메일 보안을 강화할 수 있는 방법 중 하나인 SPF (sender policy fr…
1 들어가며 최근 많은 기업이 기존 모놀리식 아키텍처(Monolithic Architecture)의 한계를 극복하고 클라우드 환경에서 시스템 운영 이점을 극대화하기 위해 마이크로서비스 아키텍처(Microservices Architecture, 이하 MSA)를 채택하고 있습니다. 현재 뜨…
- blog 데이터를 기반으로 새로운 경험을 선사하는 추천팀 이야기 추천팀은 세상 모든 정보와 사용자에 대한 이해를 바탕으로 정보를 소비하고 발견하는 새로운 경험의 길을 찾고 있습니다. ’공동체데이터센터’, 그리고 '추천팀’은 사용자를 이해하는 모든 걸음을 함께하고 있습니다. 공동체데이…
- blog 실시간 댓글 개발기(part.3) - Spring의 동시성 접근 제어에 발목 잡힌 이야기 전편(실시간 댓글 개발기(part.2) – 험난했지만 유익했던 웹소켓 스트레스 테스트 및 안정화 작업)에서 공유 드린 바와 같이 다양한 모니터링 및 디버깅 툴의 실제 활용 사례인 Spr…
어서 와, SSR은 처음이지? - 도입 편 - 등록일 - 2020.06.19 - | - 코멘트 - 121065 2019년 5월 29일 "내 동영상 페이지"를 시작으로 Node.js 기반의 SSR(server-side rendering) 아키텍처가 네이버 모바일 블로그에 적용되고 있습니다…
- blog 실시간 댓글 개발기(part.2) - 험난했지만 유익했던 웹소켓 스트레스 테스트 및 안정화 작업 전편(실시간 댓글 개발기(part.1) -DAU 60만 Alex 댓글의 실시간 댓글을 위한 이벤트 기반 아키텍처) 에서는 기본적인 테스트 환경 구축에 대한 설명을 드렸다면, 이번…
코드 악취를 맡는 후각 훈련의 시간 한 달, 각 잡고 리팩토링하기 좋은 시간, 그 기록의 공유 리팩토링의 시작 모든 프로젝트에는 저마다의 사연이 있을 텐데요. 제가 담당하게 된 RMS(Receiving Management System - 입고관리 시스템)는 프로젝트 초기에 많은 부분이…
- blog 실시간 댓글 개발기(part.1) - DAU 60만 Alex 댓글의 실시간 댓글을 위한 이벤트 기반 아키텍처 안녕하세요! 콘텐츠플랫폼개발팀 briony입니다. 제가 속한 팀 내 인터랙션플랫폼셀에서는 작년 한 해동안 '실시간 댓글’이라는 신규 기능을 위해 조직 구성원 모두 그…
코드리뷰 모음 서비스를 소개합니다. layout: post title: "코드리뷰 모음 서비스를 소개합니다." description: "코드리뷰 피드백 모음 서비스 javable" author: brown date: 2020-06-05 14:00:00 +0900 categories: t…
1. "넷플릭스 당하다" "넷플릭스 당하다(Netflixed)"라는 말을 들어 보셨나요? 이는 실리콘밸리에서 기존 비즈니스 모델이 붕괴하였을 때 사용하는 표현입니다. 실제로 넷플릭스는 지난 20년간 대형 DVD 대여점과 케이블 TV 등 미디어 업계의 골리앗들을 차례대로 쓰러뜨렸습니다.…
Big things in JDK 13 Java 13 6개월마다 GA 배포되는 신규 버전으로, openjdk13은 2019년 9월 17일에 배포되었습니다. 주요 기능은 아래와 같습니다. - JEP350: Dynamic CDS Archives - JEP351: ZGC: Uncommit Un…
JWT를 소개합니다. 머리말 토스트 클라우드 메시징 플랫폼 서비스 중 하나인 푸시에 추가될 APNs(Apple Push Notification service) JWT 인증 기능을 개발하면서 진행한 기술 조사 내용을 공유합니다. 이 글에서는 크게 'JWT 소개'와 'JWT 더 알아보기'…
‘모든 서비스 개발의 시작’이라 할 수 있는 ‘클라우드 기술’을 담당하는 클라우드플랫폼팀을 소개합니다. 카카오의 모든 서비스 개발, 그 시작엔 클라우드플랫폼팀이 있습니다. 카카오톡부터 멜론, 다음 등 카카오의 다양한 서비스들은 어떻게 만들어질까요? 카카오의 모든 서비스를 개발하기 위해…
이번 글에서는 머신러닝에서 사용하는 중요한 수학이론 중 하나인 고유값(Eigenvalue)과 고유벡터(Eigenvector)에 대해 이야기해 보겠습니다. 이는 선형대수(Linear Algebra)에서 가장 중요한 이론 중 하나이며 많은 머신러닝 이론에서 사용되고 있습니다. 고유값과 고유…
간단하게 만드는 이상한 알람 안녕하세요. 우아한형제들에서 DBA로 근무하고 있는 이재웅입니다. 오늘은 간단한 이상점 탐지를 이야기 하려고 합니다. 장애 사례를 한가지 들어볼께요. 오전 8시 서버 배포 이후 DB의 CPU 사용률이 전일 대비 10% 정도 높아졌습니다. 아침에는 서비스 트래…
1. IT 현대화 개요 디지털 혁신 시대로 접어들면서 기업들은 빠르게 변하는 시장과 고객 요구에 대응하기 위해 IT 활용도를 높이고 있습니다. 이에 따라 기업 IT 인프라스트럭처(Infrastructure)는 더 신속하고 안정적인 서비스를 제공하기 위한 엔터프라이즈 플랫폼으로 진화하고…
마켓컬리에서의 PHP 이야기 마켓컬리에서의 PHP 이야기 개발언어는 도구일 뿐이라고 말은 하지만, 솔직히 구인/구직의 경우 개발자의 실력보다 우선시 되어 판단되는 것이 개발 언어라고 보여집니다. PHP 개발자는 한국 개발자 커뮤니티에서 어떤 위치에 있을까? 혹은 어떤 평가를 받을까 고민…
개발언어는 도구일 뿐이라고 말은 하지만, 솔직히 구인/구직의 경우 개발자의 실력보다 우선시 되어 판단되는 것이 개발 언어라고 보여집니다. PHP 개발자는 한국 개발자 커뮤니티에서 어떤 위치에 있을까? 혹은 어떤 평가를 받을까 고민하던 중, 다음의 책을 읽고 많은 반성 지점 내지는 제가…
가게노출 파트의 조금은 색다른 파일럿 프로젝트, 그리고 첫 업무까지의 이야기 안녕하세요, 프론트검색서비스팀 신입 개발자 김덕수입니다. 입사한지 어느덧 네 달 가까이 시간이 흘렀는데요..! 조금 시간이 지나기는 하였지만, 파일럿 프로젝트를 진행하면서 배웠던 것들과 더불어 신입 개발자가 팀…
CNCF(Cloud Native Computing Foundation)의 2019년 연간 리포트[1]에 의하면, 조사에 참여한 기업 중 84%가 프로덕션 환경에서 컨테이너를 활용 중이며, 89%가 다양한 형태의 쿠버네티스(퍼블릭 클라우드에서 제공하는 관리형 쿠버네티스나 온프레미스 환경의…
Raft 분산 합의 알고리즘과 Python에서의 활용 - 등록일 - 2020.04.25 - | - 코멘트 - 20246 이 글은 Raft 분산 합의(consensus) 알고리즘을 설명하고, 라이브러리로 내장하는 것을 목적으로 이번에 새로 만든 파이썬 구현체를 소개합니다. 이 구현체는 파…
홍승환 | 2020년 04월 17일 | #Machine_Learning #Engineering 핑퐁팀은 PyTorch뿐만 아니라 TensorFlow 2.0도 활발하게 사용하고 있습니다. 최근 팀 내에서 TPU를 활용하여 학습하는 프로젝트를 진행하고 있는데, 이 글에서는 TF 2.0을 기…
우아한테크코스 : 새로운 시작 우테크루즈 : 우아한개발자가 되기위한 크루들이 탄 우주선 - Cruise의 사전적 의미는 ‘순항하다, 정속으로 나아가다’ 로, 우테크루즈는 ‘각자의 속도로 목표를 향해 꾸준히 나아가자’는 의미로 크루가 직접 지은 이름 안녕하세요. 교육코스개발팀 이원미입니다…
Service Monitoring 서비스 소개 (TOAST Service 들여다 보기) 2019년 7월 말에 출시된 TOAST Service Monitoring 서비스에 대해 소개합니다. 서비스 개발자에게 중요한 도구 중의 한 가지는 모니터링 도구일 것입니다. 서비스가 안정적으로 동작하…
들어가며 커피 한잔 (2020.01) 안녕하세요! 저는 2019 카카오 겨울 인턴십을 통해 입사한 톡FE파트의 프레드입니다 :) 2019년 12월 26일부터 2020년 2월 28일로 마무리된 2019 카카오 겨울 인턴십에 참여하였는데요, 어떤 과정이 있었고, 그 시간동안 무엇을 경험했는…
개발자로서의 첫걸음을 카카오에서 시작한다는 것은… 안녕하세요. 저는 2019 카카오 겨울 개발자 인턴십 프로그램에 참여했던 vivi 라고 합니다 :D 지금은 인턴십을 모두 마치고 온 국민이 사용하는 카카오톡 서비스의 아이폰 클라이언트 개발을 맡고 있답니다. 지난 겨울 제게는 정말 많은…
Heimdall - 로그 수집 관제 시스템 이번 블로그에서는 로그수집과 관제알림을 위해서 구축된 관제시스템 "Heimdall"에 대해서 공유하고자 합니다. 1. Heimdall 개요 사람인HR에서 사용하던 기존 관제시스템에서 UI 및 기능을 개선한 관제시스템입니다. Heimdall 유래…
사람인HR에서 Elastic APM을 적용한 경험에 대해서 공유하고자 합니다. 사람인HR에서 서비스 모니터링을 위한 APM시스템을 구축 하였습니다. 시스템을 구축하며 조사한 자료에 대해서 공유 하고자 합니다. « Elasti APM 도입시의 장점 및 Newrelic과의 비교는 2편을 참…
지난 1월, 치열한 경쟁을 뚫고 블라인드 신입 공채에 합격한 신입 개발자들이 카카오에 입사했습니다. 이후 두 달간의 온보딩 과정을 마치고 드디어! 카카오의 개발자로 첫발을 내딛게 되었지요. 올해 온보딩 프로그램은 제주 본사 방문을 비롯하여 기술 교육 및 행사, 그리고 프로젝트 등 다양한…
은닉을 향한 자바스크립트의 여정 ECMAScript 클래스 필드(class field) 명세중에 Private field 즉 Private Property (이하 Private 속성) 가 있다. 클래스 필드 스펙은 Stage 3(Candidate)까지 올랐으니 아마 곧 Stage 4(F…
카카오의 미래 주역, 카카오는 이렇게 맞이합니다. 들어가는 글 안녕하세요! 저는 카카오에서 개발자 성장을 기획하고 실행하는 아론이라고 합니다. 카카오에서는 온보딩(On-Boarding)이라는 프로그램을 통해 새롭게 합류하는 크루들이 카카오를 잘 이해하고 적응할 수 있도록 돕고 있습니다.…
개발자를 위한 레디스 튜토리얼 04 이것만은 하지 마세요! 이제 많은 분이 요청주셨던 레디스의 장애 포인트에 대해서 말씀드리려고 합니다. 레디스, 잘 몰라도 괜찮으니 요구사항 파악하기 (캐시용? 저장소용?) 서비스에서 레디스의 도입을 고민할 때, 캐시용으로 사용할 것인지, 혹은 저장소용…
Kurly에서 주문을 모니터링 하는 법 Legacy 시스템에서 주문 모니터링을 Elasticsearch로 이전했습니다. 주문을 모니터링 하는 개발팀, 출처 : GIPHY 들어가며 컬리 개발팀은 24시간 운영되는 마켓컬리 쇼핑몰과 잠들기 전에 주문한 상품을 다음 날 아침 바로 받아 볼 수…
바로가기 > KCDC 질병관리본부 채널 어떻게 시작했나 안녕하세요. 봇플랫폼파트 Bart (이철민)입니다. 코로나19 로 인한 많은 우려 속에 정부(질병관리본부)에서 카카오쪽에 지원 요청이 들어 왔습니다. 코로나19의 제대로된 정보 제공과 대응책을 안내할 수 있도록 해달라는 요청이었죠.…
1. 마이크로서비스 아키텍처 도입을 고민 중인 당신에게 IT 업계에서 마이크로서비스 아키텍처(Microservices Architecture, MSA)가 대세로 떠오르면서 엔터프라이즈 서비스 개발 프로젝트에 활발하게 채택되고 있습니다. 애플리케이션을 보다 빠르게 개발하고 성능을 지속적으…
개발자를 위한 레디스 튜토리얼 03 Replication 지금부터는 레디스의 HA (High Availability)에 대해서 알아보겠습니다. 레디스는 Master - Replica 형태의 복제를 제공합니다. 복제 연결이 되어있는 동안 마스터 노드의 데이터는 실시간으로 리플리카 노드에…
새로 입사한 개발자가 프로젝트에 기여하는 방법 한 가지 프로젝트 전체의 경고를 감소 시켜 팀에 기여하자! 코딩 스타일 가이드를 읽다가 작성한 Pull Request 안녕하세요. LDD팀 이종립입니다. 오늘은 제가 입사한 지 일주일쯤 지났을 무렵, 즉 2019년 11월에 있었던 이야기를…
DevOps 엔지니어의 Redis Test 분투기 - Part 1 Redis 테스트를 진행했습니다. - 계기: Redis 성능 측정과 Key/Value 값 저장 문제 - 측정/테스트 도구를 찾아보자 - 테스트 전에 Redis 용도를 정리해보자 - API를 사용해 테스트를 시작 - 테스트…
계기: Redis 성능 측정과 Key/Value 값 저장 문제 최근 서비스 고도화를 위해 회사의 중요 서비스들을 MSA로 변환하던 중, 성능 향상 및 용도를 이유로 개발팀은 Redis 도입을 고려하고 있었습니다. 그러다 최근 api 하나의 버전이 업데이트된 이후 덜컥 장애가 발생했습니다…
개발자를 위한 레디스 튜토리얼 01 레디스? 레디스는 REmote DIctionary Server 의 약자입니다. 아마 이 글을 읽으시는 대부분의 분들은 레디스를 사용해보신 경험이 있을 것이고, 적어도 어떤건지 들어는 보셨을 것이라고 생각합니다. Who uses Redis? 레디스는 오…
Validation 어디까지 해봤니? 머리말 애플리케이션을 개발할 때, 데이터의 유효성을 검사하는 것은 일반적으로 애플리케이션 전체에서 발생합니다. TOAST Cloud의 메시징 플랫폼 상품인 Notification은 메시지, 이메일 주소 형식, 수신/발신자의 번호 등 클라이언트의 입력…
Database Driven Development에서 진짜 DDD로의 선회 -1- DDD에 대한 오해에서 벗어나고 개발의 즐거움을 깨달은 이야기 들어가며 - 과거의 내 모습 이 글은 DDD(Domain Driven Design 또는 Development)에 대해 아무런 고민도 없던 제가…
들어가며 - 과거의 내 모습 이 글은 DDD(Domain Driven Design 또는 Development)에 대해 아무런 고민도 없던 제가 현장에서 DDD를 팀원들과 함께 실천하며 깨달은 것(주로 경험)에 대한 이야기 입니다.(내용이 길어지고 하고 싶은 이야기가 많아져서 디테일한 이…
안녕하세요, 뱅크샐러드 Engineering Foundation의 Framework Team 소속 Server Engineer 안석찬입니다. 실리콘밸리의 벤처 캐피털은 테크 기업에 투자를 고려할 때 그 기업이 확장 가능한 기술 역량을 보유하고 있는지 판단합니다. 이때 판단에 활용되는 지…
모바일 애플리케이션 개발자들 사이에서 테스트 코드가 뜨거운 감자 🔥🥔🔥 인 것은 반박 불가능한 사실입니다. 안드로이드 애플리케이션을 개발할 때 테스트 코드는 어떤 코드에 대해서 얼마나 작성되어야 할까요? 사용자의 입력에 따라 원하는 행동을 하고, 원하는 뷰가 노출되는지를 확인하는 것 정…
Spring WebFlux와 Armeria를 이용하여 Microservice에 필요한 Reactive + RPC 동시에 잡기 - 등록일 - 2020.02.19 - | - 코멘트 - 55605 Monolithic 아키텍처는 오랫동안 많은 개발자들이 좋아하며 사용한 아키텍처입니다. 하나의…
배달의민족 최전방 시스템! ‘가게노출 시스템’을 소개합니다. 안녕하세요 우아한형제들 프론트검색서비스팀 권용근입니다. 저는 "먼데이 프로젝트" 라는 2019년 대형 프로젝트에서 요란하게 탄생하였고, 탄생한 순간부터 지금까지 배달의민족 최전방에서 활약 중인 2019년 4월 1일생 가게노출…
네이버 검색의 SRE 시스템 - 등록일 - 2020.02.11 - | - 코멘트 - 42126 네이버 검색은 국내 최대 규모의 트래픽과 데이터를 다루는 대용량 분산 시스템입니다. 수만 대의 서버에서 수백 개의 검색 서비스가 운영되고 있으며, 하루에도 몇 번씩 크고 작은 신규 개발과 유지…