잊을만 하면 돌아오는 정산 신병들 안녕하세요!!! 안녕하세요. 정산시스템팀 온택트 신입 개발자 김시영입니다. (입사한 지 2달이 되었지만 한 번도 출근한 적이 없습니다..) 꿈꾸던 회사에서 (방에서) 직접 글을 작성하고 있다니 믿기지가 않는데요..ㅎㅎ 이번 글은 파일럿 프로젝트에 대한…
선물하기 시스템의 상품 재고는 어떻게 관리되어질까? 안녕하세요. 저는 주문서비스팀의 서버개발자 강홍구입니다. 이 글에서는 배달의민족선물하기 서비스의 상품권 재고관리를 위한 시스템 설계에 대한 경험을 공유드리고자 합니다. 들어가며 선물하기 서비스는 배달의민족 어플리케이션에서 고객분들끼리…
배민상품시스템팀에서 1년동안 배운 것들 안녕하세요, 배민상품시스템팀 개발자 한진욱입니다. 신규 개발자로 입사한 지 어느덧 1년이 다 되어가는데요. 1년 동안 배운 점들을 정리했습니다. 1. 비즈니스 규칙은 언제든지 변경될 수 있다. 혹시 ‘오픈서비스’라고 들어보셨나요? 2020년 4월…
크롬 확장 플러그인 톺아보기 크롬 확장 플러그인 톺아보기 안녕하세요. 우아한 테크캠프 3기를 거쳐서 지난 10월에 배민선물하기팀으로 합류한 신입 꼬꼬마 프론트엔드 개발자 전수현입니다. 평소에 타입스크립트를 사용하는 프론트엔드에서 API 연동 작업을 하면 API 문서에 있는 Request…
안심번호(050) 시스템 #1 – 시스템 구축 스토리 안녕하세요. 우아한형제들 중계시스템 팀에서 안심번호(050) 시스템 개발을 담당하고 있는 김용찬이라고 합니다. 중계시스템 팀에서는 주문을 중계하는 역할 뿐만 아니라, 050 전화도 중계하고 있는데요. 새롭게 만들어가고 있는 안심번호(…
iOS Networking and Testing Why Networking? Networking은 요즘 앱에서 거의 필수적인 요소입니다. 설치되어 있는 앱들 중에 네트워킹을 사용하지 않는 앱은 거의 없을 겁니다. API 추가가 쉽고 변경이 용이한 네트워킹 모듈을 개발하는것이 중요한 이유…
내가 꿈꾸는 프로그래머로서의 삶 안녕하세요. 테크코스교육개발팀 이원미입니다. 우아한테크코스(이하, 우테코) 2기를 맞이한지 얼마 지나지 않은 것 같은데, 벌써 마무리해야 한다는 게 실감이 나지 않네요. 모두가 힘든 시기를 겪고 있는 만큼 우테코 크루들 또한 코로나 상황에서 학습하기 힘들…
독서가 내게 가져다 준 것들 안녕하세요 여러분! 배민서비스개발팀에서 백엔드 개발을 하고 있는 김다인입니다. 여러분은 책 읽는 것 좋아하시나요?  1. 들어가며 안녕하세요! 정산시스템팀 병아리 개발자 최태현입니다. 최근에 엑셀 다운로드 개발을 편하게 할 수 있는 모듈을 만들게 되었습니다. - 제가 엑셀 다운로드 모듈을 만들게 된 이유는 무엇…
우아한테크코스 3기 과정에 참여할 사람을 모집합니다. 우아한테크코스 3기를 모집합니다. 1기 모집 글을 쓸 때가 엊그제 같은데 벌써 3기 모집 글을 쓰네요. 2020년은 코로나19 때문에 2기 교육 과정을 운영하는데 많은 어려움이 있었는데요. 많은 어려움에도 불구하고 2기 교육 과정은…
우리는 불편함을 어떻게 마주하고 있는가 안녕하세요. 신사업부 띠잉셀 박제현입니다. 띠잉 서비스를 개발하면서 어떤 고민을 하며 시스템을 개선했는지, 그리고 그 고민을 해결하는 과정에서 얻은 것은 무엇이었는지 가볍게 공유하고자 합니다. 뭔가 불편하다. 띠잉 서비스는 작년 10월에 오픈했습니…
MySQL 환경의 스프링부트에 하이버네이트 배치 설정해 보기 안녕하세요. 배민상품시스템팀 권순규 입니다. 저희팀에서 하이버네이트 배치 설정을 통해 대량 insert/update 시의 속도개선을 경험하여 공유드리고자 합니다. 전체 예제 파일은 github 에서 확인 할 수 있습니다. 하이…
우아한테크캠프 인턴들의 8월의 마지막 회고 안녕하세요, 회고글을 작성하며 되돌아 본 8월은 그 어느 때보다도 교육 진행에 변수가 많았습니다. 서울/경기지역 사회적거리두기가 2.5단계로 격상됨에 따라 우아한형제들도 다시 전사 재택근무에 돌입했고, 이에 따라 온/오프라인을 병행했던 우아한테…
2020 우아한테크캠프 3기 8월의 일기 7월 1일 첫 만남을 가졌던 우아한테크캠프가 어느덧 2개월이 지나 처음보다 성장한 모습으로 마지막을 맞이하였습니다. 수업, 데모, 세미나, 팀 프로젝트 수행 등 모든 과정을 온라인으로 전환하는 고충이 있었지만, 어수선한 사회적 상황임에도 불구하고…
팀 프로젝트가 나에게 남긴 것 안녕하세요. 테크코스교육개발팀 이원미입니다. 우아한테크코스(이하, 우테코) 2기도 어느덧 막바지를 향해 달려가고 있습니다. 레벨 3 기간 동안 우테코 크루들은 실제 현장을 더 밀접하게 경험하기 위해서 팀 프로젝트를 진행하였는데요. 서비스를 실제로 만들어보면…
우아한테크캠프 인턴들의 7월의 회고 안녕하세요, 우아한형제들 Developer Relations 입니다. 지루하던 장마가 끝나고 우아한테크캠프도 어느덧 막바지에 이르렀습니다.생기넘쳤던 우리 교육생들 분들의 얼굴이 날이 갈수록 누렇게 익어가는 모습을 보며 이번 캠프도 제대로 진행되고 있구…
2020 우아한테크캠프3기 7월의 일기 안녕하세요, 우아한형제들 Developer Relations입니다. 지난 7월 1일을 시작으로 우아한테크캠프 교육이 시작되었습니다. 이 글을 통해 우아한테크캠프의 7월 생활기를 전해드리고자 합니다. 2020년 우아한테크캠프 3기 우아한형제들은 개발…
우아한형제들의 기술이사 다섯분을 소개합니다. 안녕하세요, 우아한형제들 CTO 송재하입니다. 저는 올해 4월 1일에 우아한형제들에 합류했는데요, 그 이후 몇 달간 새로운 환경에 정착하고 또 의욕과 영감을 불러일으켜 준 다섯분의 기술이사님들과 기술이사 제도에 대해 여러분들께 소개하는 것으로…
Thiiing(띠잉) iOS 앱 개발기 안녕하세요. 저는 영상 기반 소셜 서비스인 Thiiing(띠잉) iOS 앱을 개발하고 있는 박태현입니다. 2019년 12월 띠잉셀에 합류하여 약 3개월 동안 개발하여 신규 서비스 Thiiing(띠잉) 앱을 출시하였는데요, 프로젝트 세팅부터 출시까지…
DB분산처리를 위한 sharding 소개 저희는 신사업부문에서 Thiiing(띠잉)서비스를 만들고 있는 송재욱/전병두입니다. 이번에는 두 명이 함께 기술블로그를 작성했습니다. 🙂 서비스 오픈전에 아름다운 J곡선 그래프를 바라는 마음은 모두 같을 겁니다. 그런 서비스 성장에 있어 중요한…
데이터분석가로서 업무 과정과 경험, 배움을 공유합니다 1. 들어가며 안녕하세요? 우아한형제들에서 데이터분석가로 일하고 있는 송훈화입니다. 최근에 분석가로서 Product 부문에 참여해 아래 2개의 업무를 진행했습니다. - AI 추천배차의 성과 측정 및 현황 분석 - 비마트 주문수 및 입…
코드리뷰 모음 서비스를 소개합니다. layout: post title: "코드리뷰 모음 서비스를 소개합니다." description: "코드리뷰 피드백 모음 서비스 javable" author: brown date: 2020-06-05 14:00:00 +0900 categories: t…
간단하게 만드는 이상한 알람 안녕하세요. 우아한형제들에서 DBA로 근무하고 있는 이재웅입니다. 오늘은 간단한 이상점 탐지를 이야기 하려고 합니다. 장애 사례를 한가지 들어볼께요. 오전 8시 서버 배포 이후 DB의 CPU 사용률이 전일 대비 10% 정도 높아졌습니다. 아침에는 서비스 트래…
팀 문화의 탄생 안녕하세요, 우아한형제들 상품시스템팀의 손권남입니다. 가끔씩 저는 우리팀의 팀 문화에 대한 질문을 받곤 합니다. 그때마다 매번 단편적인 답을 드리곤 하면서 한 번 정도 우리의 팀문화를 정리했으면 좋겠다고 생각했습니다. 하지만 우리팀이 행하는 팀 문화 자체보다는 그 문화가…
Spring REST Docs에 날개를… (feat: Popup) 안녕하세요? 우아한형제들에서 정산시스템을 개발하고 있는 이호진입니다. 2018년 12월 Spring REST Docs를 주제로 사내 블로그를 작성 후… 1년 이상이 지났습니다. Spring REST Docs를 적용 후 빠…
우아한테크코스 교육 설명회에 초대합니다. 나는 왜 교육자로 살고 있는가? 저는 20대 후반에 본격적으로 프로그래밍 학습을 시작했는데요. 제가 프로그래밍을 통해 무엇인가를 만들고, 문제를 해결하는 과정이 너무 재미있더라고요. 제가 앞으로 걸어가야할 길은 이 길이다라는 확신이 들었고, 정말…
코틀린에서 하이버네이트를 사용할 수 있을까? 신규 시스템을 개발하면서 코틀린과 하이버네이트를 함께 사용한 경험을 나누기 위해 작성해봅니다. 안녕하세요! 서비스플랫폼 팀에서 서버 개발을 하는 김지희, 김석홍입니다. 저희 팀은 이번에 사장님이 혜택을 관리할 수 있는 신규 프로젝트를 진행하면…
가게노출 파트의 조금은 색다른 파일럿 프로젝트, 그리고 첫 업무까지의 이야기 안녕하세요, 프론트검색서비스팀 신입 개발자 김덕수입니다. 입사한지 어느덧 네 달 가까이 시간이 흘렀는데요..! 조금 시간이 지나기는 하였지만, 파일럿 프로젝트를 진행하면서 배웠던 것들과 더불어 신입 개발자가 팀…
Todo list 만들기는 이제 그만 안녕하세요. 만화경 프론트엔드 개발자 한민호입니다. realworld.io 오픈소스에 기여한 이야기를 해보려 합니다. 여러분은 새로운 기술을 배울 때 어떤 방법을 선호하시나요? 1. 두꺼운 교과서 같은 책을 사서 처음부터 끝까지 독파한다. (하지만…
[모집] 우아한테크캠프 3기 우아한개발자가 되고 싶은 이들을 위한 우아한테크캠프 3기 모집이 시작됩니다. 우아한테크캠프는 여름방학 기간에 맞춰 진행되며 정해진 커리큘럼에 따라 개발 관련 지식을 공부하고, 다양한 미니 프로젝트를 통해 실제 서비스를 만들며 개발 지식을 익히는 교육형 인턴…
우아한테크코스 : 새로운 시작 우테크루즈 : 우아한개발자가 되기위한 크루들이 탄 우주선 - Cruise의 사전적 의미는 ‘순항하다, 정속으로 나아가다’ 로, 우테크루즈는 ‘각자의 속도로 목표를 향해 꾸준히 나아가자’는 의미로 크루가 직접 지은 이름 안녕하세요. 교육코스개발팀 이원미입니다…
알람에 관하여 안녕하세요. 우아한형제들에서 DBA로 근무하고 있는 이재웅입니다. 오늘은 누구나 알고 있는 알람에 관해 이야기를 하려고 합니다. 인프라나 데이터베이스를 운영하게 되면 수많은 알람을 만나게 됩니다. 우아한형제들의 데이터베이스 또한 많은 알람이 설정되어 있습니다. 사실 알람이…
정산지기를 향한 첫걸음 (feat. 파일럿 프로젝트) 안녕하세요-! 우아한형제들 정산시스템팀 신입 개발자 박우빈입니다. 예전부터 계속 눈팅만 하면서 구경하던 우아한형제들 기술블로그에 제가 지금 localhost:4000을 띄우고 글을 작성하고 있다니 쉽게 믿기지 않네요ㅎㅎ 오늘은 제가…
배달의민족 최전방 시스템! ‘가게노출 시스템’을 소개합니다. 안녕하세요 우아한형제들 프론트검색서비스팀 권용근입니다. 저는 "먼데이 프로젝트" 라는 2019년 대형 프로젝트에서 요란하게 탄생하였고, 탄생한 순간부터 지금까지 배달의민족 최전방에서 활약 중인 2019년 4월 1일생 가게노출…
우아한형제들 Developer Relations 2019 회고 안녕하세요, 우아한형제들 Developer Relations담당 문수민입니다. 작년 2019년 3월에 작성한 "3월 우아한Tech세미나" 라는 글을 통해 2019년 DR 활동에 대한 계획을 공유하였습니다. 당시 저는 배민 앱…
AWS 멀티 계정 환경에서 취약한 Security Group 설정 모니터링 들어가며 클라우드 서비스의 장점은 리소스의 탄력적 사용, 비용 절감, 운영에 대한 부담 감소에 있다. 하지만 보안 관점에서는 이러한 클라우드 서비스의 장점이 취약점으로 작용한다. 클라우드 환경에서는 개발자가 직접…
HikariCP Dead lock에서 벗어나기 (실전편) 1부 HikariCP Dead lock에서 벗어나기 (이론편)은 잘 보셨나요? 2부 HikariCP Dead lock에서 벗어나기 (실전편)에서는 실제 장애 사례를 기반으로 장애 원인을 설명하고 해결 사례를 공유하고자 합니다. 그…
HikariCP Dead lock에서 벗어나기 (이론편) 안녕하세요! 공통시스템개발팀에서 메세지 플랫폼 개발을 하고 있는 이재훈입니다. 메세지 플랫폼 운영 장애를 바탕으로 HikariCP에서 Dead lock이 발생할 수 있는 case와 Dead lock을 회피할 수 있는 maximum…
Spring Batch와 Querydsl Spring Batch와 QuerydslItemReader 안녕하세요 우아한형제들 정산시스템팀 이동욱입니다. 올해는 무슨 글을 기술 블로그에 쓸까 고민하다가, 1월초까지 생각했던 것은 팀에 관련된 주제였습니다. 결팀소: 결제시스템팀을 소개합니다와…
Gradle 프로젝트에 JaCoCo 설정하기 안녕하세요. 상품시스템팀에서 서버 개발(..새발)을 하고 있는 연철입니다. 프로젝트 세팅 중에 찾아보고 삽질했던 내용들이 도움이 될까 하여 남깁니다. JaCoCo는 Java 코드의 커버리지를 체크하는 라이브러리입니다. 테스트코드를 돌리고 그…
모두를 위한 배달의민족 모두를 위한 앱 개발 스토리 2019년, 배달의민족 앱서비스팀은 ready… set… 마침내… GO! Accessibili—–ty! 했던 한 해였습니다. 서비스 초기부터 접근성 개선을 위해 조금씩 작업했고, 그 노하우가 쌓이고 구성원들의 열정이 더해져 올해는 이전…
ELK 셋팅부터 알람까지 안녕하세요. 저는 상품시스템팀에서 개발업무를 맡고 있는 이중석입니다. 최근 팀 내에서 로그엔트리를 ELK 로 전환하고 필요한 알람을 셋팅하는 작업을 진행했습니다. 이 과정중 알람을 설정하는 부분이 어렵진 않지만 쉽지도 않았습니다. 그 과정에서 알게된 것들이 다른…
Cucumber + Appium을 통해 Android 앱 테스트 안녕하세요! Android 앱이 UI 자동화 테스트되는 과정의 일부에 대한 동영상입니다 🙂 저는 앱서비스팀에서 Android/iOS의 배달의민족 앱 QA를 담당하고 있는 최윤주입니다. 배달의 민족 앱은 2주 단위로 정기 업…
feign 좀더 나아가기 안녕하세요. 저는 상품시스템팀에서 개발하고 있는 고정섭입니다. 이 글에서는 배달의민족 광고시스템 백엔드에서 feign 을 적용하면서 겪었던 것들에 대해서 공유 하고자 합니다. 이 글은 이전에 작성된 게시글에서 추가 보완사항에 대해서 작성되었습니다. http cl…
메인 데이터베이스 IDC 탈출 성공기 안녕하세요. 우아한형제들 시스템신뢰성개발팀 박주희입니다. 2019년을 마무리하는 시점에 우아한형제들이 어떻게 메인 데이터베이스를 IDC 환경에서 탈출시켰는지, 그 과정을 공유하려고 합니다. 발단 2010년 6월 출범한 배달의민족은 (2018년 12월…
Spock Extension과 Elasticsearch + Kibana 조합으로 테스트 결과를 빠르게 피드백 받기 안녕하세요. 우아한형제들 주문마케팅회원서비스팀 장진우입니다. 모든 테스트는 중요하고 가치가 높은 활동입니다. 특히 개발을 지원하기 위한 기술 중심의 테스트가 조금 더 중요하…
이 회사, 이 세상 쿨함이 아니다 안녕하세요. 우아한형제들에서 ‘우아한테크코스(이하, 우테코)’ 교육을 진행하고 있는 교육코스개발팀입니다. 이달 말, 우테코 1기 교육생들이 8개월간의 대장정을 마치고 드디어 수료를 합니다. 짝짝짝! ‘시원섭섭하다’는 감정이 어떤 감정인지 다시 한번 느끼…
Aurora MySQL를 운영하면서 알면 좋을 것 같은 미세한 팁 들어가며 안녕하세요. 우아한형제들에서 DBA로 근무하고 있는 유영근입니다. 저희는 AWS환경에서 RDS로 수많은 요청을 처리하고 저장하며 Aurora MySQL을 주력으로 사용하고 있습니다. 한정된 사람구하기 힘든 DBA…
우아한테크코스 : 나의 북극성을 찾아서 안녕하세요. 교육코스개발팀 이원미입니다. 따뜻했던 날씨가 훌쩍 추워진 만큼 우아한테크코스(이하, 우테코) 1기도 어느덧 막바지를 향해 달려가고 있습니다. 크루들에게 주어진 세 번째 글쓰기 주제는 ‘내가 꿈꾸는 프로그래머로서의 삶’입니다. 우테코를…
스프링부트에서 DbUnit 을 이용하여 DB 테스트해 보기 안녕하세요. 상품시스템팀 권순규입니다. 저희 팀에서 DB 테스트를 위해 사용하고 있는 DbUnit 의 설정 및 사용에 대해 알려드리고자 합니다. DbUnit 을 사용하지 않고 스프링부트만을 이용하여 테스트하기 아래와 같은 관계를…
‘우아한테크코스 – 웹 백엔드’ 2기 과정에 참여할 사람을 모집합니다. ‘우아한테크코스 – 웹 백엔드’ 2기를 모집합니다. 아무 것도 없는 상태에서 우아한테크코스 1기 모집 글을 쓸 때가 어제 일 같은데 벌써 2기 모집 글을 쓰네요. 1기 모집 글을 쓸 때는 막막함과 약간의 두려움이 있…
How to onboard a new hire / 신규입사자 조직안착 과정 안녕하세요, 우아한형제들 Developer Relations 담당자 문수민입니다. 제가 우아한형제들에 입사하여 경험한 "온보딩 프로세스(Onboarding process) – 조직이 신규 입사자를 채용하고 조직에…
주니어 개발자의 클린 아키텍처 맛보기 안녕하세요 딜리버리플랫폼팀 송인태입니다. 우아한테크캠프를 마치고 팀에서 들어온 지 1년 정도 되면서 개발을 할 때 어떻게 하면 유지 보수하기 쉽게 개발할지 고민을 하던 도중 Robert C. Martin이 블로그에 기재한 Clean Architect…
좌충우돌 Terraform 입문기 안녕하세요, 저는 신사업부문의 오지산이라고 합니다. 저희 신사업부문은 배달의민족과는 조금 다른… 시장의 문제를 해결하기 위해 다양한 신규 서비스들이 개발되는 곳입니다. 그 중에는 아직 출시되지 않은 서비스도 있고, 배달의민족과 비교적 관련성이 적은 서비…
개발자 머피의 법칙 안녕하세요, 우아한형제들 광고시스템팀의 손권남입니다. 이 글은 기술적인 내용도 아니고 우아한형제들 회사에 관한 이야기도 아닌, 순전히 저의 개인적인 경험을 다룹니다. 매우 긴 글이므로, 맨 앞과 맨 뒤, 그리고 제목 정도만 읽어도 대략의 핵심 주제는 파악 가능합니다.…
병아리 개발자의 걸음마 한 발짝 (feat. 파일럿 프로젝트) 지원서에서 발췌한 내용 … 나름대로 제일 좋은 방법이라고 생각했던 해결책이 경험 많은 개발자분들이 보시기에는 어떤지, 시니어 개발자분들은 문제가 생겼을 때 어떻게 접근하고 어떻게 해결하는지 등도 항상 궁금해 왔습니다. … 파…
우아한테크코스 : 나만의 항로 찾기 안녕하세요. 교육코스개발팀 이원미입니다. 지난 6월, 우아한테크코스 (이하, 우테코) 의 글쓰기 교육에 대한 소개를 드렸습니다. 한 달 생활기에 이어, 우테코에서 찾은 나만의 효과적인 학습법 이라는 주제를 가지고 두 번째 글쓰기를 진행하였는데요. 4개…
회사 눈치 안 보고 투잡하기 소개 안녕하세요 우아한형제들에서 백엔드 개발자로 일하고 있는 강현구입니다.🙇 저는 개발 외에도 다른 일을 하고 있는데요, 바로 우아한테크코스(이하 우테코)에서 코드 리뷰어로 활동하고 있습니다. 코드 리뷰어는 우테코에 참여중인 크루(우테코는 교육생을 학생이 아…
결팀소: 결제시스템팀을 소개합니다. 소개 우아한형제들 결제시스템팀에서 근무하고 있는 이주현이라고 합니다. 제가 입사하고 이 팀에서 일한 지 3년이 넘었습니다. 지금은 회사, 사람, 팀, 인프라, 코드, 문화 등 다양한 변화에 적응하고 있는 구성원이지만 한 때 우아한형제들은 너무나 가고…
SwiftLint와 Git Hook을 이용해서 코딩 스타일 관리하기 안녕하세요. 우아한형제들 앱서비스팀에서 iOS 앱을 만들고 있는 김민호입니다. 이번에 저희 팀에서 코딩 스타일을 맞추기 위해 Git Hook을 적용한 경험을 공유드리려고 합니다. iOS 앱을 만들고 있는 많은 팀에서 코…
Dagger 적용기 Dagger 적용기 최근 적용한 dagger에 대해서 이야기합니다 시작하며 DI 좋은건 다들 알지만 하나하나 만들어가자면 손이 너무 많이가는 것도 사실입니다. 그래서 많은 안드로이드 프로젝트에서 Dagger 또는 코틀린을 적용한 프로젝트라면 koin 등을 사용하고 있…
LocalStack을 활용한 Integration Test 환경 만들기 안녕하세요. 주문마케팅서비스팀 송정훈입니다. 이 글에서는 AWS 서비스를 활용하는 웹 어플리케이션이 클라우드 환경이 아닌, 로컬개발환경에서 쉽게 실행하고 테스트할 수 있는 방법에 대해서 설명하고자 합니다. 우리의 I…
멀티모듈 설계 이야기 with Spring, Gradle 멀티 모듈 설계 이야기 안녕하세요. 배달의민족 프론트 서버를 개발하고 있는 권용근입니다. 멀티 모듈의 개념을 처음알게 되었을 때부터 현재까지 겪었던 문제점들과 그것을 어떻게 해결해나갔는지를 이야기해보려고 합니다. 아래 내용은 모두…
우아한테크코스 : 항해의 시작 안녕하세요. 교육코스개발팀 이원미입니다. 많은 분들이 알고 계시다시피, 우아한형제들에서는 개발자 양성 교육 ‘우아한테크코스(이하, 우테코)‘ 를 진행하고 있습니다. 빠르게 흘러가는 시간 덕인지, 우테코를 시작한 지 어느덧 두 달이 되어 가네요 : ) 총 4…
Dll을 이용하여 배달대행 주문정보 연동 우아한형제들에도 Windows 개발자가 있습니다. 저는 주문중계시스템팀에서 PC 어플리케이션을 개발하고 있습니다. 대부분 우아한형제들에서 PC 어플리케이션을 개발한다는 것 자체를 모르시는 분이 많겠지만 우아한형제들에는 Windows Applica…
Spring Boot에서 Repository로 DynamoDB 조작하기 (2) – Gradle을 활용해 실행 & 테스팅 환경 구축 이전 글에서 DynamoDB를 조작할 수 있는 다양한 API를 알아봤습니다. 애플리케이션을 실행하거나 테스트하기 위해 docker로 DynamoDB를 띄우는…
Spring Boot에서 Repository로 DynamoDB 조작하기 (1) – 설정부터 실행까지 안녕하세요, 미래사업부문 김명재입니다. 작년 10월에 우아한형제들에 입사하고 행복한 주니어 개발자 생활을 하고 있습니다. 현재 개발중인 시스템의 NoSQL DB를 MongoDB에서 Dyn…
입사 후, 벌써 1년 작은 SI 회사 개발자에서 우아한형제들로 이직 1년 안녕하세요. 배민플랫폼실 결제정산개발팀에서 정산 업무를 맡고 있는 이호진입니다. 이 글은 SI 회사에서 우아한형제들로 이직한 후 1년간 있었던 변화에 대한 이야기입니다. 5월 14일, 입사 1년이 되는 날을 맞아…
MySQL을 이용한 분산락으로 여러 서버에 걸친 동시성 관리 안녕하세요. 비즈인프라개발팀 권순규입니다. 현재 광고시스템에서 사용하고 있는 MySQL을 이용한 분산락에 대해 설명드리고자 합니다. 분산락을 적용하게된 원인 현재 테이블은 아래 그림과 같이 User 테이블과 Card 테이블이…
우아한 feign 적용기 안녕하세요. 저는 비즈인프라개발팀에서 개발하고 있는 고정섭입니다. 이 글에서는 배달의민족 광고시스템 백엔드에서 feign 을 적용하면서 겪었던 것들에 대해서 공유 하고자 합니다. 소개 - Feign 은 Netflix 에서 개발된 Http client binder…
도움이 될수도 있는 JVM memory leak 이야기 도움이 될지도 모르는 JVM memory leak 얘기인데 제목을 뭐라고 하지? 안녕하세요. 배민 플랫폼실 주문중계 시스템팀 오민철입니다. 이 글은 몇 줄의 코드와 어디서 걸렸는지 모를 dependency library로 발생한 m…
5월 우아한 Tech 세미나 후기 안녕하세요. 교육코스개발팀 이동규입니다. 저희 팀은 5월 7일부터 우아한테크코스 교육을 진행하고 있습니다. 교육과 관련하여서는 이전의 포스팅에서 모집글과, 프리코스관련 글을 확인하실 수 있습니다. 현재 우아한형제들은 다양한 DR (Developer Re…
목적의식 있는 연습을 통한 효과적인 학습 나는 우아한형제들에서 우아한테크코스(이하 우테코) 교육 과정을 진행하고 있다. 우테코를 설계하면서 고민스러웠던 부분 중의 하나는 ‘선발 과정을 어떻게 하면 의미 있는 시간으로 만들 것인가?’였다. 보통의 선발 과정은 경쟁을 통해 누군가를 선발해야…
‘Gradle Kotlin DSL’ 이야기 Developer life is Coding between Build and Deploy. 개발자 인생은 (프로젝트) 빌드와 배포 사이 삽질(=코딩)이다. — #월급쟁이개발자 허니몬 빌드도구(Build tool) 이야기 새로운 프로젝트를 시작하…
Packer와 Ansible을 이용한 표준 AMI 만들기 안녕하세요 저는 작년 우아한테크캠프 2기를 마치고 10월에 시스템신뢰성개발팀에 입사한 김규남이라고 합니다. 이번 글에서는 팀 내에서 Packer와 Ansible을 이용해 AMI를 코드레벨로 어떻게 관리하고 있는지에 대해 공유드리려…
파일럿 프로젝트를 통한 배치경험기! 들어가며 안녕하세요 ! 우아한 테크캠프 2기를 통해 1월에 결제정산개발팀에 합류하게 된 최유성입니다. 입사 후 총 5주간 신입 개발자의 팀 적응을 위한 파일럿 프로젝트를 진행하였습니다. 지금부터 그 5주간의 파일럿 프로젝트에 대한 경험을 공유하겠습니다…
리모트 컨피그 앱 개발기 안녕하세요. 우아한형제들 배민앱개발팀에서 안드로이드 앱을 개발을 하고 있는 이민형입니다. 배달의민족 앱에서 앱의 다양한 설정 값들을 앱 배포없이 적용할 수 있는 리모트 컨피그 기능에 대해 공유하고 리모트 컨피그를 어떻게 사용하고 있는지에 대한 내용을 공유드리려…
Aurora 로컬 스토리지 성능 테스트 안녕하세요 시스템신뢰성개발팀에서 DBA로 근무하고 있는 오윤택입니다. 오로라를 사용할때 그동안 로컬스토리지의 성능이슈로 인하여 구 모델인 R3 인스턴스를 사용해왔습니다. 최근 오로라에 R5 인스턴스가 추가된 만큼, 계속 R3 인스턴스를 사용하는게…
개발 미션과 함께 읽는 클린 코드 들어가며 안녕하세요, 미래사업부문의 오지산이라고 합니다. 저는 작년 10월 우아한형제들에 신입 개발자로 입사하면서 처음으로 Spring 위에서 코드를 작성하는 경험을 했습니다. 0의 지식으로 부딪혀야 하는 상황이었는데요. 거기에 신규 서비스를 개발해야…
3월 우아한 Tech 세미나 후기 스프링 리액티브 세미나 후기 안녕하세요! 우아한 형제들에서 결제/정산/포인트/비즈머니를 담당하는 결제정산개발팀 이동욱입니다. 사내에서는 다양한 DR (Developer Relations) 활동을 하고 있습니다. 여러 활동 중 이번엔 토비의 스프링의 저자…
구글플레이 권한 정책 지키기 안녕하세요. 우아한형제들 배민앱개발팀에서 배달의민족 안드로이드 앱을 개발을 하고 있는 나동호입니다. 구글플레이에서 보안 및 개인 정보 보호 정책을 강화하면서 민감한 권한을 제거하며 겪은 이야기를 작성한 글입니다. 이 글에서 나온 버전 코드 및 몇몇 정보들은…
aop를 이용한 oauth2 캐시 적용하기 서론 저는 현재 미래사업부문에서 신규 서비스를 만들고 있으며, 신규 서비스는 기존 우아한 형제들에서 서비스중인 배달의민족과 디펜던시를 갖지 않는 독립적인 서비스다 보니 모든 것을 처음부터 새 판에서 고민하며 만들어 가고 있습니다. 이 글에서는…
로봇 개발 어떻게 해야되죠? (1/2) – AWS RoboMaker 따라하기 (ROS 어플리케이션 개발과 시뮬레이션 편) AWS RoboMaker를 사용해 ROS 어플리케이션 개발부터 시뮬레이션, Fleet 관리, OTA 배포까지 쭉~ 따라 해봅니다. by Jinyong Park(박진용…
코드리뷰 적응기(feat. 파일럿 프로젝트) 안녕하세요. 결제정산개발팀의 권세희입니다. 저는 정산업무를 맡게 되었는데, 정산은 데이터 정합성과 트랜잭션, 도메인 주도 개발, Entity 간의 연관 관계, 대용량 데이터 처리가 핵심인 시스템입니다. 정산 도메인과 기술셋에 대한 경험이 없어…
테스트 코드 없이 레거시 코드를 다 감수하시겠습니까? 부서 이동을 하다 2018년 말미, 결제/정산 파트에서 주문중계 파트로 부서 이동하게 되었습니다. 인사 발령을 받고 나서 팀 이동을 하게 되면 누구나 직면하게 되는 상황이 발생하는데요. 그것은 바로 레거시 코드의 인수 인계입니다. 처…
리모트 컨피그 서버 구축기 안녕하세요. 저는 배민서비스개발실에서 웹어플리케이션 서버를 개발하는 강홍구입니다. 이 글에서는 배달의민족 앱에서 사용되는 여러가지 설정값들을 관리하기 위한 리모트 컨피그 서버를 구축한 내용에 대해 공유 하고자 합니다. 왜 리모트 컨피그 서버가 필요했을까? 브라…
Spring 웹 애플리케이션에서 사용하지 않는 API를 찾아보자 안녕하세요. 배민주문서버개발팀 송정훈입니다. 이 글에서는 스프링 웹 애플리케이션에서 사용자 요청에 대한 로그를 수집하고, 사용되고 있지 않는 API를 쉽게 확인하는 방법에 대해서 설명하고자 합니다. 이 많은 API 들을 다…
‘우아한테크코스 – 웹 백엔드’ 과정에 참여할 사람을 모집합니다. 우아한테크코스가 뭔가요? 우아한테크코스는 프로그래밍을 배워 프로그래머로서의 삶을 살고 싶은 사람들을 대상으로 하는 프로그래밍 교육 과정입니다. 한마디로 프로그래머로 취업하고 싶은 사람들을 위한 직업 전문 학교와 같다고 생…
배달아~ 배달 가는길 알려줘!(단호함) 서론 배민라이더스에서는 배달거리를 업소와 고객의 주소 정보를 이용해서 지구는 적당히(?) 둥글다는 계산으로 거리계산을 하고 있습니다. ~대충대충코드~ double theta = from.getLongitude() - to.getLongitude()…