데이터테크랩의 빨리 세는 법 데이터테크랩의 나기호 선임님과 함께 진행하고 있는 과제를 소개해 드리는 글 입니다. 오늘은 부서에서 개발 중인 플랫폼 중 많은 데이터의 숫자를 빨리 세기 위해, 혹은 빨리 찾기 위해 만들고 있는 DataMart를 소개해 드리겠습니다. 빨리 집계하기 위해 가장…
TOAST CDN 소개(TOAST Service 들여다 보기) CDN (Content Delivery Network) 이란? CDN (Content Delivery Network)은 콘텐츠(이미지, 텍스트, 미디어 파일 등)를 최적화된 경로를 통해 전송할 수 있도록 전 세계적으로 분산된…
실전! Python 실행 환경 설정하기 배경 이 글은 Linux 환경에서 Python으로 안정적인 서비스 애플리케이션을 제공하기 위해 사용할 환경을 마련하는 방안에 대해서 다룹니다. Python 런타임은 각 OS에서 사용되는 패키지 관리자나 인스톨러를 이용하여 잘 설치되어 있다고 가정하…
About OOME OOME란 Out Of Memory Error의 첫글자를 따서 약어처럼 쓰는 전세계에서 통용되는 일종의 프로그래밍 언어다. 데이터 분석과 관련된 프로젝트 일을 하는 필자로서는 가장 보기 싫은 에러임과 동시에, 현장에서 발생하면 설명하기가 매우 까다로운 녀석임에 틀림이…
Data Swamp ! ! 많은 기업들이 Hadoop과 Cloud 기반의 빅데이터 기술을 사용해 Data Lake의 확장형 아키텍처로 전환하고 있다. 그러나 Data Lake와 빅데이터 기술에 대한 투자 증가(2016년 20.7억달러, 2017년부터 2025년까지 28.6% 성장[1])…
2019년과 이후 JavaScript의 동향 - 라이브러리와 프레임워크 2 - 등록일 - 2019.08.09 - | - 코멘트 - 39504 웹 컴포넌트(Web Component)가 프런트엔드 영역의 개발을 컴포넌트 기반 개발로 전환할 수 있을 것이리라 기대했지만 오랜 시간 동안 웹 컴…
데이터 품질에 관한 5개 체크포인트 - 등록일 - 2019.08.06 - | - 코멘트 - 18072 '코드 품질'은 소프트웨어 개발자에게 직업적 사명의 문제인지라, 이것의 중요성에 대해서는 따로 강조할 필요가 없습니다. '데이터 품질'이란 말은 이에 비하면 다소 모호하고 생소한 개념입…
결팀소: 결제시스템팀을 소개합니다. 소개 우아한형제들 결제시스템팀에서 근무하고 있는 이주현이라고 합니다. 제가 입사하고 이 팀에서 일한 지 3년이 넘었습니다. 지금은 회사, 사람, 팀, 인프라, 코드, 문화 등 다양한 변화에 적응하고 있는 구성원이지만 한 때 우아한형제들은 너무나 가고…
2019년과 이후 JavaScript의 동향 - 라이브러리와 프레임워크 1 - 등록일 - 2019.08.02 - | - 코멘트 - 60045 어느 순간부터 프레임워크의 홍수 속에 있는 듯합니다. 각 프레임워크가 내세우는 철학과 다양한 장점에 촉각을 세우고, 어떤 것을 선택해야 할지 그리…
GraphQL은 페이스북에서 만든 쿼리 언어입니다. GrpahQL은 요즘 개발자들 사이에서 자주 입에 오르내리고 있으나, 2019년 7월 기준으로 얼리스테이지(early-stage)임은 분명합니다. 국내에서 GraphQL API를 Open API로 공개한 곳은 드뭅니다. 또한, 해외의…
Docker 기반 분산 트랜스코더 개발 - 등록일 - 2019.08.01 - | - 코멘트 - 20894 VOD(video on demand, 주문형 비디오) 서비스는 다양한 사용자 환경에서 일관된 품질로 영상이 재생될 수 있도록 콘텐츠를 준비해야 합니다. 서비스에 업로드된 원본 영상은…
배경 및 목적 VR 시장이 본격적으로 활성화되기 위해서는 콘텐츠가 다양화되고 소비자가 몰입할 수 있는 킬러 콘텐츠가 다수 발굴되어야 합니다. 본 심층 리포트는 VR 콘텐츠를 활용하는 소비자의 행태를 세밀하게 분석함으로써 △VR 콘텐츠의 소비 패턴 정보를 제공하고, △VR 콘텐츠 제작 시…
Dagger 적용기 Dagger 적용기 최근 적용한 dagger에 대해서 이야기합니다 시작하며 DI 좋은건 다들 알지만 하나하나 만들어가자면 손이 너무 많이가는 것도 사실입니다. 그래서 많은 안드로이드 프로젝트에서 Dagger 또는 코틀린을 적용한 프로젝트라면 koin 등을 사용하고 있…
TOAST FORWARD - Spring Framework Core 후기 NHN에서 'TOAST FORWARD'라는 이름으로 우수한 내부의 기술교육 콘텐츠를 외부에 공개하고 있다는 것, 알고 계셨나요? 지난 7월 11일에 진행한 '하루에 정리하는 Spring Framework Core'…
BloomFilter는 언제 쓰나요? "데이터테크랩의 김준성 전임님, 박지수 전임님과 함께 수행한 업무 중 공유하면 좋을 것 같은 내용을 정리한 글입니다." 확률적 자료구조인 블룸필터가 저장소도 아낄 수 있고 빨리 검색할 수 있어서 hbase, redis 등 여러 디비에서도 활용되고 있…
바야흐로 1인 미디어 시대! VR 기기로 콘텐츠를 즐기는 것뿐만 아니라 콘텐츠를 제작할 수도 있다는 사실을 아시나요? 단순히 VR 게임플레이 화면을 녹화하는 것이 아니라, VR 기기를 활용한 아바타와 가상세계를 아우르는 방송, 공연 콘텐츠가 생겨나고 있습니다. 본 아티클에서는 이러한 가…
- blog - support 참여 후기: Open Infrastructure & Cloud Native Days Korea 2019 지난 주 18일부터 19일까지 양일간 진행된 Open Infrastructure & Cloud Native Days Korea 2019 행사에 카카오가…
LocalStack을 활용한 Integration Test 환경 만들기 안녕하세요. 주문마케팅서비스팀 송정훈입니다. 이 글에서는 AWS 서비스를 활용하는 웹 어플리케이션이 클라우드 환경이 아닌, 로컬개발환경에서 쉽게 실행하고 테스트할 수 있는 방법에 대해서 설명하고자 합니다. 우리의 I…
우리는 일상 생활에서 무수히 많은 데이터를 생산하고 있습니다, 길을 걸으며 누군가와 메시지를 주고받거나 통화할 때, 쇼핑몰에서 물건을 살 때나, 지하철을 탈 때, 그리고 휴대폰을 통해 드라마를 볼 때도 연관된 많은 데이터가 만들어지고 저장되고 분석됩니다. 시장 조사 기관인 IDC(Int…
멀티모듈 설계 이야기 with Spring, Gradle 멀티 모듈 설계 이야기 안녕하세요. 배달의민족 프론트 서버를 개발하고 있는 권용근입니다. 멀티 모듈의 개념을 처음알게 되었을 때부터 현재까지 겪었던 문제점들과 그것을 어떻게 해결해나갔는지를 이야기해보려고 합니다. 아래 내용은 모두…
이주홍 백영민 김준성 | 2019년 07월 01일 | #Machine_Learning XLNet은 최근에 대부분의 NLP 테스크들에서 state-of-the-art 성능을 달성하고 있던 BERT를 큰 차이로 outperform 하면서 파장을 일으켰습니다. 논문 저자들은 기존의 Langu…
이 글은 카카오 아레나 2회 대회(Part.1) - 브런치 데이터의 탐색과 시각화라는 이름으로 카카오 정책산업연구 브런치에 동시 개제되었습니다. 브런치 이용자의 취향을 분석하라 지난해 11월 개최된 카카오 아레나 1회 대회에 이어 카카오 아레나 2회 대회가 개최되었습니다. 첫 번째 대회…
NAVER 오픈소스 세미나 - Performance does matter - 등록일 - 2019.06.28 - | - 코멘트 - 18499 다양한 컴포넌트의 조합으로 구성된 서비스를 운영하다보면 장애나 성능 문제가 발생했을 때 정확한 원인을 파악하는데 시간이 오래 걸린다는 또다른 난제에…
Kotlin 도입 과정에서 만난 문제와 해결 방법 - 등록일 - 2019.06.26 - | - 코멘트 - 43671 "Google I/O 2017 참관기 - Kotlin"에서 소개한 것처럼 Kotlin은 JVM은 물론 Android, JavaScript, 네이티브 영역 등 다양한 플랫폼…
2019년과 이후 JavaScript의 동향 - WebAssembly - 등록일 - 2019.06.24 - | - 코멘트 - 32354 WebAssembly는 C와 C++ 같은 프로그래밍 언어를 컴파일해 어느 브라우저에서나 빠르게 실행되는 바이너리 형식(low-level language…
더 가볍고 강력해진 TOAST UI Grid v4.0을 만나보세요! TOAST UI Grid 4.0 TOAST UI Grid는 여러분의 데이터를 효과적으로 표현하고, 편리한 사용성을 제공하기 위해 많은 노력을 해왔습니다. TOAST UI Grid 4.0은 더 빠르고, 가벼우면서 사용하기…
3 기준정보 정확도 제고를 위한 DQM 시스템 사례 3.1 품질관리 대상 선정의 중요성 기업이 관리하는 데이터의 규모가 무한하다고 느껴질 만큼 방대해지고 있어, 적합한 품질관리 대상 데이터를 선정하는 것은 비즈니스 성패를 결정 짓는 중요한 요소로 작용합니다. 전사에서 운영하는 모든 정보…
Apollo Client는 Redux와 무엇이 다른가 - 등록일 - 2019.06.17 - | - 코멘트 - 35858 최근 들어 REST API의 단점을 보완하고 더 개선된 사용 환경을 제공하기 위해 네이버의 다양한 서비스에서 GraphQL을 기반으로 한 Apollo Client를 도…
개요 암호학과 같은 수학적 보안 분야와 달리 소프트웨어 보안 분야는 전통적인 컴퓨터과학 분야에 비해 그 역사가 짧은 편입니다. 초기 개척기 동안 데이터베이스, 네트워크, 운영체제, 프로그래밍 언어, 소프트웨어 공학 등 많은 다른 분야의 연구자들이 보안 연구에 유입되었고, 기존의 다양한…
1 데이터 품질관리 이슈 업무 자동화를 위한 애플리케이션 세분화, 모바일 디바이스와 정보시스템 간 연계 등으로 기업이 관리하는 데이터 볼륨은 매년 급속도로 증가하고 있으며, 데이터의 소스나 형태도 신기술을 반영하여 다양해지고 있습니다. 이에 따라 기업의 데이터 관리정책도 변화를 거듭하고…
Spring Boot에서 Repository로 DynamoDB 조작하기 (2) – Gradle을 활용해 실행 & 테스팅 환경 구축 이전 글에서 DynamoDB를 조작할 수 있는 다양한 API를 알아봤습니다. 애플리케이션을 실행하거나 테스트하기 위해 docker로 DynamoDB를 띄우는…
2019년과 이후 JavaScript의 동향 - JavaScript(ECMAScript) - 등록일 - 2019.06.12 - | - 코멘트 - 34323 JavaScript의 인기는 이제는 굳이 언급할 필요가 없어 보일 만큼 계속되고 있습니다. GitHub의 보고서인 Octoverse…
0.7KB로 Vue와 같은 반응형 시스템 만들기 TOAST UI Grid는 현재 새로운 메이저 업데이트인 버전 4를 릴리스하기 위해 열심히 준비중이다. 버전 4는 Backbone과 jQuery를 사용해서 작성했던 기존의 코드를 모두 버리고 처음부터 새로 작성하는 대대적인 개편 작업이다.…
출처 https://www.import.io/post/history-of-deep-learning/ 머신러닝은 여러 산업 분야 및 연구에 있어서 매우 중요한 주제 중 하나입니다. 머신러닝은 1949년 Hebb이 Hebbian Learning Theory를 발표하는 것으로 시작되었습니다.…
Spring Boot에서 Repository로 DynamoDB 조작하기 (1) – 설정부터 실행까지 안녕하세요, 미래사업부문 김명재입니다. 작년 10월에 우아한형제들에 입사하고 행복한 주니어 개발자 생활을 하고 있습니다. 현재 개발중인 시스템의 NoSQL DB를 MongoDB에서 Dyn…
[Kotlin | Android] 테스트 코드 작성이 힘든 이유와 테스트 가능 코드에 대한 고민 안녕하세요. 요새 저는 테스트 코드 작성에 혈안 집중을 하고 있는데요, 많은 분들이 '테스트 코드' 작성이 힘들다고 생각하시며, 과연 그게 '필요한가' 하는 고민까지 하는 것을 보았습니다.…
Deep Neural Network 경량화의 필요성 2012년 이미지 분류 대회인 ILSVRC(ImageNet Large-Scale Visual Recognition Challenge)에서 Deep Neural Network 기반의 Alexnet이 2위(Top 5 Error 26.2%)…
입사 후, 벌써 1년 작은 SI 회사 개발자에서 우아한형제들로 이직 1년 안녕하세요. 배민플랫폼실 결제정산개발팀에서 정산 업무를 맡고 있는 이호진입니다. 이 글은 SI 회사에서 우아한형제들로 이직한 후 1년간 있었던 변화에 대한 이야기입니다. 5월 14일, 입사 1년이 되는 날을 맞아…
MySQL을 이용한 분산락으로 여러 서버에 걸친 동시성 관리 안녕하세요. 비즈인프라개발팀 권순규입니다. 현재 광고시스템에서 사용하고 있는 MySQL을 이용한 분산락에 대해 설명드리고자 합니다. 분산락을 적용하게된 원인 현재 테이블은 아래 그림과 같이 User 테이블과 Card 테이블이…
우아한 feign 적용기 안녕하세요. 저는 비즈인프라개발팀에서 개발하고 있는 고정섭입니다. 이 글에서는 배달의민족 광고시스템 백엔드에서 feign 을 적용하면서 겪었던 것들에 대해서 공유 하고자 합니다. 소개 - Feign 은 Netflix 에서 개발된 Http client binder…
NAVER Tech Talk: FE devtalk 14회 (2019년 4월) - 등록일 - 2019.05.29 - | - 코멘트 - 3837 NAVER에서는 다양한 FE 기술에 대한 테크톡을 주기적으로 진행하고 있는데요. 이번 FE devtalk 14회 주제는 "Interactive D…
#안전하고 안심할 수 있는 게임을 만들고 싶어 게임은 소프트웨어 프로그램 중에서도 특히나 여러가지 요소가 유기적으로 작용하는 아주 복잡한 콘텐츠다. 그만큼 엮어진 부분들이 많기 때문에 버그도 많이 발생하는 편이다. 슬프게도 테스트를 통해 찾는 버그도 매우 많지만 그만큼 찾지 못하는 버그…
작년 이맘때 GDPR의 실효를 목전에 두고 “GDPR과 PSD2를 통해 바라본 개인정보보호를 위한 데이터분석 방법”이라는 제목의 기고문을 한 차례 작성하였습니다. (https://www.samsungsds.com/kr/insights/GDPR_data_analytics.html) 이전…
Telepresence로 Kubernetes 클러스터에서 실행할 애플리케이션을 로컬 환경에서 개발하기 - 등록일 - 2019.05.24 - | - 코멘트 - 18962 Kubernetes 클러스터에서 실행할 서비스를 개발할 때에는 특정한 기능을 수행하는 작은 단위의 애플리케이션들로 하나…
NAVER Tech Talk: Android 밋업(2019년 3월,4월) - 등록일 - 2019.05.22 - | - 코멘트 - 3393 NAVER에서는 다양한 기술에 대한 테크톡을 주기적으로 진행하고 있는데요. 2019년 3월과 4월에 진행한 사내 Android 밋업 중 발표자의 공개…
크롬 네이티브 레이지 로딩 레이지 로딩이란? 좋은 기회로 2019년 구글 I/O에 참석했다. 웹 기술 세션 중에는 크게 눈에 띄는 세션은 없었지만, 일부 세션에서 소개된 웹과 관련 기술 몇 가지는 흥미로웠다. Native Lazy Loading, Portals, Duplex, Rich…
타입 스크립트에서 Vue 컴포넌트를 개발하는 방법 여기까지 오기까지 내가 처음 SPA 프로젝트를 진행했던 때는 2012년이다. 그때 제일 핫했던 백본(Backbone)을 기반으로 구축한 꽤 큰 규모의 프로젝트였다. 그때는 지금처럼 프런트엔드 개발환경이 좋지 않았고 SPA라는 개념 자체가…
5월 우아한 Tech 세미나 후기 안녕하세요. 교육코스개발팀 이동규입니다. 저희 팀은 5월 7일부터 우아한테크코스 교육을 진행하고 있습니다. 교육과 관련하여서는 이전의 포스팅에서 모집글과, 프리코스관련 글을 확인하실 수 있습니다. 현재 우아한형제들은 다양한 DR (Developer Re…
이전 글로 딥러닝 기반 개인화 추천 시스템의 모델에 대한 부분을 소개 했었어요. 이번에는 당근마켓에서 추천 시스템을 지속적으로 업데이트하는 파이프라인과 서빙 시스템을 구축한 내용을 소개하려고 합니다. Kubeflow Pipelines Kubeflow Pipelines은 Kubernete…
당근마켓 첫화면은 동네 사람들이 사용하는 다양한 물품을 보는 재미가 있어요. 누군가에겐 이제 필요없지만 나에게 유용한 물건들을 발견하게 되고 더불어 저렴하게 득템 할 기회도 종종 있죠. 매일 새로운 글이 올라오는 첫 화면의 스크롤을 내리며 탐색하는 즐거움이 일상이 되어가고 있습니다. 이…
TensorFlow를 활용한 네이버쇼핑의 상품 카테고리 자동 분류 - 등록일 - 2019.05.02 - | - 코멘트 - 80529 네이버쇼핑은 네이버가 제공하는 쇼핑 포털 서비스입니다. 네이버쇼핑은 상품을 체계적으로 구성하고 사용자가 보다 쉽게 검색할 수 있도록 상품을 카테고리에 매칭…
‘Gradle Kotlin DSL’ 이야기 Developer life is Coding between Build and Deploy. 개발자 인생은 (프로젝트) 빌드와 배포 사이 삽질(=코딩)이다. — #월급쟁이개발자 허니몬 빌드도구(Build tool) 이야기 새로운 프로젝트를 시작하…
최신 브라우저의 내부 살펴보기 4 - 컴포지터가 사용자 입력을 받았을 때 - 등록일 - 2019.04.30 - | - 코멘트 - 13333 이 글은 Google Developers 사이트에 공개된 Mariko Kosaka의 "Inside look at modern web browser"…
2016년 중반 마이크로서비스로의 전환을 결정했습니다. 마이크로서비스는 이론상 다른 서비스에 영향을 주지 않고 내부 기술을 바꿀 수 있습니다. 하지만 마이크로서비스 간의 통신 방법은 한번 결정하면 쉽게 바뀌기 어려울 것 같아서 가장 많이 고민했습니다. 그리고 Thrift를 선택했습니다.…
AngularJS에서 Vue로 전환하면서 배운 것 프롤로그 나는 NHN에서 협업도구인 Dooray!를 개발하고 있다. 프로젝트, 메일, 메신저, 캘린더, 드라이브, 위키, 주소록, 칸반 등 방대한 기능을 담은 서비스이며 약 5년 전부터 개발되기 시작하여 현재까지 잘 유지되고 있는 서비스…
본 아티클에서는 자율 주행 기술의 여러 단계와 컴퓨터 비전(Computer Vision)에 대해 자세히 살펴보겠습니다. 시맨틱 세그먼테이션(Semantic segmentation)이란 이미지를 구성하고 있는 픽셀들을 구별하는 기능입니다. 인스턴스 세그먼테이션 (Instance segme…
최신 브라우저의 내부 살펴보기 3 - 렌더러 프로세스의 내부 동작 - 등록일 - 2019.04.22 - | - 코멘트 - 32193 이 글은 Google Developers 사이트에 공개된 Mariko Kosaka의 "Inside look at modern web browser"(최신…
Packer와 Ansible을 이용한 표준 AMI 만들기 안녕하세요 저는 작년 우아한테크캠프 2기를 마치고 10월에 시스템신뢰성개발팀에 입사한 김규남이라고 합니다. 이번 글에서는 팀 내에서 Packer와 Ansible을 이용해 AMI를 코드레벨로 어떻게 관리하고 있는지에 대해 공유드리려…
실용적인 프론트엔드 테스트 전략 (3) 2부에서는 스토리북을 사용해서 시각적 요소에 대한 테스트를 자동화하는 방법에 대해 알아보았다. 기억을 되살리기 위해 우리가 작성하고 있는 할 일 관리 애플리케이션의 실행 단계를 다시 정리해보자. 애플리케이션이 실행되면 화면에 기본 UI를 보여준다.…
IBN 이란? 다양한 형태의 IoT 서비스가 선보이면서 네트워크에 연결되는 디바이스의 수가 기하급수적으로 증가하고 있습니다. 향후 5G 서비스가 본격적으로 상용화되면 더 빠른 속도로 네트워크 디바이스 수가 증가할 것으로 예상됩니다. 이러한 디바이스 수의 증가와 함께 네트워크에서 처리해야…
동영상 플랫폼 개선기 2 - 신규 동영상 플랫폼 구축 - 등록일 - 2019.04.15 - | - 코멘트 - 16393 "동영상 플랫폼 개선기 1 - 신규 동영상 플랫폼의 구성"에서는 기존 동영상 플랫폼의 구성과 문제점, 새로운 동영상 플랫폼의 구성을 살펴보았습니다. 새로운 동영상 플랫…
저녁 11시까지 주문하면 Full-Cold Chain을 통해서 다음날 7시까지 배송해주는 마켓컬리 서비스 구성에 대해서 상세하게 소개 드립니다. 마켓컬리 서비스는 크게 사용자가 신선식품을 포함한 각종 상품을 앱과 웹을 통해서 쇼핑할 수 있는 이커머스 서비스와 주문한 상품을 물류 센터내에…
동영상 플랫폼 개선기 1 - 신규 동영상 플랫폼의 구성 - 등록일 - 2019.04.11 - | - 코멘트 - 22771 네이버의 동영상 플랫폼은 2007년에 네이버 블로그에 동영상 서비스를 처음으로 지원했습니다. 현재는 약 60여 개의 네이버 서비스를 지원하고 있으며, 동영상 처리를…
TOAST IAP 소개 (TOAST Service 들여다 보기) In App Purchase란? In App Purchase는 Google Play, Apple App Store 등의 스토어에서 설치한 앱 안에서, 상품을 유료로 구매하는 것을 의미합니다. 혹은 앱 밖에서 구매할 수도 있…
오늘날 브랜드와 소매업체 모두, 옴니 채널(omni-channel) 환경에서 진화하고 있는 고객의 구매 과정을 더 잘 이해하기 위해 서로 경쟁하고 있습니다. 기업들은 신제품을 출시할 때 브랜드 ‘페르소나(persona)’를 강조합니다. 즉, 외향적이고 모험심이 강하다거나, 상상력이 풍부…
파일럿 프로젝트를 통한 배치경험기! 들어가며 안녕하세요 ! 우아한 테크캠프 2기를 통해 1월에 결제정산개발팀에 합류하게 된 최유성입니다. 입사 후 총 5주간 신입 개발자의 팀 적응을 위한 파일럿 프로젝트를 진행하였습니다. 지금부터 그 5주간의 파일럿 프로젝트에 대한 경험을 공유하겠습니다…
실용적인 프론트엔드 테스트 전략 (2) 1부에서는 테스트 자동화와 테스트 전략의 중요성, 시각적 테스트를 자동화하는 것이 어려운 이유 등을 살펴보았다. 사실 시각적 테스트를 자동화하는 것이 불가능하지는 않지만, 현재 우리가 가진 도구로는 기대하는 만큼 효용을 얻기가 어렵다. 이 글은 "…
최신 브라우저의 내부 살펴보기 2 - 내비게이션 과정에서 일어나는 일 - 등록일 - 2019.03.26 - | - 코멘트 - 23162 이 글은 Google Developers 사이트에 공개된 Mariko Kosaka의 "Inside look at modern web browser"(최…
리모트 컨피그 앱 개발기 안녕하세요. 우아한형제들 배민앱개발팀에서 안드로이드 앱을 개발을 하고 있는 이민형입니다. 배달의민족 앱에서 앱의 다양한 설정 값들을 앱 배포없이 적용할 수 있는 리모트 컨피그 기능에 대해 공유하고 리모트 컨피그를 어떻게 사용하고 있는지에 대한 내용을 공유드리려…
Aurora 로컬 스토리지 성능 테스트 안녕하세요 시스템신뢰성개발팀에서 DBA로 근무하고 있는 오윤택입니다. 오로라를 사용할때 그동안 로컬스토리지의 성능이슈로 인하여 구 모델인 R3 인스턴스를 사용해왔습니다. 최근 오로라에 R5 인스턴스가 추가된 만큼, 계속 R3 인스턴스를 사용하는게…
지혜로운 자는 그릇의 형상에 맞추어 자신을 변화시킨다. -중국 격언 좋은 인용구는 모두의 마음에 와닿습니다. 이 격언은 특히 올해 자동차 업체가 나아가야 할 방향을 잘 제시하고 있죠. 자동차 산업이 중대한 변화를 겪고 있는 것은 분명합니다. 신기술의 도입과 새로운 소비자 트렌드로 인해,…
개발 미션과 함께 읽는 클린 코드 들어가며 안녕하세요, 미래사업부문의 오지산이라고 합니다. 저는 작년 10월 우아한형제들에 신입 개발자로 입사하면서 처음으로 Spring 위에서 코드를 작성하는 경험을 했습니다. 0의 지식으로 부딪혀야 하는 상황이었는데요. 거기에 신규 서비스를 개발해야…
TOAST Object Storage 소개 (TOAST Service 들여다 보기) TOAST Object Storage는 여러 서비스의 백엔드 스토리지로 사용되고 있습니다. Dooray!, TOAST File, TOAST Image 등 비정형 데이터를 저장하는 많은 서비스의 근간이라고…
3월 우아한 Tech 세미나 후기 스프링 리액티브 세미나 후기 안녕하세요! 우아한 형제들에서 결제/정산/포인트/비즈머니를 담당하는 결제정산개발팀 이동욱입니다. 사내에서는 다양한 DR (Developer Relations) 활동을 하고 있습니다. 여러 활동 중 이번엔 토비의 스프링의 저자…
최신 브라우저의 내부 살펴보기 1 - CPU, GPU, 메모리 그리고 다중 프로세스 아키텍처 - 등록일 - 2019.03.14 - | - 코멘트 - 62850 이 글은 Google Developers 사이트에 공개된 Mariko Kosaka의 "Inside look at modern w…
NAVER Tech Talk: Golang 밋업(2018년 8월, 2019년 1월) - 등록일 - 2019.03.08 - | - 코멘트 - 5326 NAVER에서는 다양한 기술에 대한 테크톡과 밋업을 주기적으로 진행하고 있는데요. 2018년 8월, 2019년 1월에 진행한 사내 Gola…
aop를 이용한 oauth2 캐시 적용하기 서론 저는 현재 미래사업부문에서 신규 서비스를 만들고 있으며, 신규 서비스는 기존 우아한 형제들에서 서비스중인 배달의민족과 디펜던시를 갖지 않는 독립적인 서비스다 보니 모든 것을 처음부터 새 판에서 고민하며 만들어 가고 있습니다. 이 글에서는…
로봇 개발 어떻게 해야되죠? (1/2) – AWS RoboMaker 따라하기 (ROS 어플리케이션 개발과 시뮬레이션 편) AWS RoboMaker를 사용해 ROS 어플리케이션 개발부터 시뮬레이션, Fleet 관리, OTA 배포까지 쭉~ 따라 해봅니다. by Jinyong Park(박진용…
코드리뷰 적응기(feat. 파일럿 프로젝트) 안녕하세요. 결제정산개발팀의 권세희입니다. 저는 정산업무를 맡게 되었는데, 정산은 데이터 정합성과 트랜잭션, 도메인 주도 개발, Entity 간의 연관 관계, 대용량 데이터 처리가 핵심인 시스템입니다. 정산 도메인과 기술셋에 대한 경험이 없어…
필자는 지난 1월 24일부터 2일간, 미국 샌프란시스코에서 열린 RE-WORK’s Deep Learning Summit 2019에 참석하였습니다. RE-WORK는 AI와 Deep Learning과 관련되어 컨퍼런스, 워크샵 등 다양한 행사를 개최하는 단체입니다. 필자가 참석한 행사는 D…
도메인 별 프로세스와 구조개선을 통해 나아진점을 설명 앞선 포스트에서 설명드렸듯이 기존 시스템의 Engine이 가지고 있던 기능들을 도메인으로 역할을 분리했고, 컨테이너화를 통해 독립적인 애플리케이션으로 구축을 진행했습니다. 저희가 운영중인 시스템에는 캠페인 정보, Push 메시지 생성…
테스트 코드 없이 레거시 코드를 다 감수하시겠습니까? 부서 이동을 하다 2018년 말미, 결제/정산 파트에서 주문중계 파트로 부서 이동하게 되었습니다. 인사 발령을 받고 나서 팀 이동을 하게 되면 누구나 직면하게 되는 상황이 발생하는데요. 그것은 바로 레거시 코드의 인수 인계입니다. 처…
행사소개 필자는 [Deep Learning Summit 2019, “Deep Learning Stage”]를 기고한 정지원 프로와 함께 1월 24일부터 25일까지 2일간, 샌프란시스코에서 열린 Deep Learning Summit 2019 행사에 참석했습니다. 본 컨퍼런스는 Deep L…
딥러닝을 활용한 거래량 예측 기능 개선 - 등록일 - 2019.02.27 - | - 코멘트 - 36022 네이버페이의 카드 결제 시스템에서는 사용자의 거래량을 예측하고 평소와 다른 문제 상황을 감지해 알림을 보내는 모니터링 시스템을 운영합니다. Facebook의 Prophet 라이브러리…
2019년 1월 24일부터 이틀간, 세계적 규모의 AI 컨퍼런스 중 하나인 ‘Deep Learning Summit 2019’가 미국 San Francisco에 위치한 Hyatt Regency 호텔에서 개최되었습니다. 필자는 출장을 통해 해당 컨퍼런스에 참석하여 최신 Deep Learni…
구조개선을 하려 했던 이유와 전체 시스템 설계에 대한 설명, 주요 기술, 빌드, 배포에 대해 공유 이 포스트는 저희가 2년여간 운영해온 분산처리 시스템의 구조개선 프로젝트에 대해서 시스템 구축에 사용한 기술과 경험을 공유하고자 합니다 구조개선 하려는 시스템은 IMDG 플랫폼 Apache…
브랜드는 항상 고객과의 관계를 강화할 수 있는 방법을 모색합니다. 하지만 요즘같이 광고에 둘러싸여 그로부터 발생하는 모든 소음을 접하는 환경에서, 브랜드들이 고객에게 다가가는 것은 특히 어렵죠. 소비자가 집에서 TV를 보거나 인터넷을 할 때 접근하는 방법도 있지만 이 또한 소비자의 관심…
리모트 컨피그 서버 구축기 안녕하세요. 저는 배민서비스개발실에서 웹어플리케이션 서버를 개발하는 강홍구입니다. 이 글에서는 배달의민족 앱에서 사용되는 여러가지 설정값들을 관리하기 위한 리모트 컨피그 서버를 구축한 내용에 대해 공유 하고자 합니다. 왜 리모트 컨피그 서버가 필요했을까? 브라…
Spring 웹 애플리케이션에서 사용하지 않는 API를 찾아보자 안녕하세요. 배민주문서버개발팀 송정훈입니다. 이 글에서는 스프링 웹 애플리케이션에서 사용자 요청에 대한 로그를 수집하고, 사용되고 있지 않는 API를 쉽게 확인하는 방법에 대해서 설명하고자 합니다. 이 많은 API 들을 다…
사물인터넷(IoT), 인공지능 등 4차 산업혁명 기반 기술이 발전함에 따라 대형 마트, 백화점, 편의점은 물론 일반 리테일 매장까지 유통 환경 전반에 영향을 미치고 있습니다. 이에 국내/외 선진 유통 기업들은 오프라인 매장에 첨단 ICT 기술을 도입함으로써 새로운 고객 경험과 가치를 창…
‘우아한테크코스 – 웹 백엔드’ 과정에 참여할 사람을 모집합니다. 우아한테크코스가 뭔가요? 우아한테크코스는 프로그래밍을 배워 프로그래머로서의 삶을 살고 싶은 사람들을 대상으로 하는 프로그래밍 교육 과정입니다. 한마디로 프로그래머로 취업하고 싶은 사람들을 위한 직업 전문 학교와 같다고 생…
암호키 해킹기법의 증가 암호기술은 거의 모든 IT 제품 및 서비스에서 데이터 보호와 사용자/기기 인증 등의 목적으로 사용됩니다. 암호시스템은 크게 알고리즘과 키로 구성되는데, 공격자가 이 키를 획득하면 암호화된 데이터를 복구하거나 정당한 사용자로 위장하는 공격을 할 수 있어 암호키 보호…
배달아~ 배달 가는길 알려줘!(단호함) 서론 배민라이더스에서는 배달거리를 업소와 고객의 주소 정보를 이용해서 지구는 적당히(?) 둥글다는 계산으로 거리계산을 하고 있습니다. ~대충대충코드~ double theta = from.getLongitude() - to.getLongitude()…
스마트 제조 분석의 현재와 한계 제조업, 특히 하이테크 제조분야에서는 인더스트리 4.0(Industry 4.0)과 스마트 공장(Smart Factory)과 같은 새로운 방법의 모색을 통하여 끊임없이 변화하는 시장 요구사항에 대응함으로써 혁신적인 제품을 더 빨리 제공할 수 있는 방법을 찾…
데이터 베이스의 자동증가 값을 기본키로 사용할 수 없을때는? 안녕하세요. 비즈상품 개발팀 권순규 입니다. 작년에 입사한 이후로 매번 주변 동료분들에게 배움을 얻기만 해왔는데, 이번에는 배운 내용을 공유해보고자 합니다. 이제껏 해온 기본키 매핑 엔티티에 기본키를 매핑할때 간편하게 매핑할…
응? 이게 왜 롤백되는거지? 이 글은 얼마 전 에러로그 하나에 대한 호기심과 의문으로 시작해서 스프링의 트랜잭션 내에서 예외가 어떻게 처리되는지를 이해하기 위해 삽질을 해본 경험을 토대로 쓰여졌습니다. 스프링의 트랜잭션의 세부적인 동작방식을 살펴보기 때문에 코드가 많고 설명이 조금 긴…