Todo list 만들기는 이제 그만 안녕하세요. 만화경 프론트엔드 개발자 한민호입니다. realworld.io 오픈소스에 기여한 이야기를 해보려 합니다. 여러분은 새로운 기술을 배울 때 어떤 방법을 선호하시나요? 1. 두꺼운 교과서 같은 책을 사서 처음부터 끝까지 독파한다. (하지만…
Service Monitoring 서비스 소개 (TOAST Service 들여다 보기) 2019년 7월 말에 출시된 TOAST Service Monitoring 서비스에 대해 소개합니다. 서비스 개발자에게 중요한 도구 중의 한 가지는 모니터링 도구일 것입니다. 서비스가 안정적으로 동작하…
지난 3월 11일 세계보건기구(WHO, World Health Organization)의 코로나바이러스 팬데믹 선언 이후, 원격근무에 대한 수요가 급격하게 증가하고 있습니다. [그림 1]에서 보는 바와 같이, Google Trends에서 'remote work' 검색 키워드의 변화 추이…
들어가며 중요한 리서치, 비즈니스 그리고 사회적 문제들은 흩어져 있는 데이터를 모을 때 문제에 대한 답을 찾을 수 있습니다. 최근 COVID-19로 인해 전 세계가 어려움을 겪고 있습니다. 심각한 것은 향후 COVID-19와 같은 유사한 전염병이 더욱 활성화될 것이라는 전망입니다. 이러…
개발자로서의 첫걸음을 카카오에서 시작한다는 것은… 안녕하세요. 저는 2019 카카오 겨울 개발자 인턴십 프로그램에 참여했던 vivi 라고 합니다 :D 지금은 인턴십을 모두 마치고 온 국민이 사용하는 카카오톡 서비스의 아이폰 클라이언트 개발을 맡고 있답니다. 지난 겨울 제게는 정말 많은…
지난 1월, 치열한 경쟁을 뚫고 블라인드 신입 공채에 합격한 신입 개발자들이 카카오에 입사했습니다. 이후 두 달간의 온보딩 과정을 마치고 드디어! 카카오의 개발자로 첫발을 내딛게 되었지요. 올해 온보딩 프로그램은 제주 본사 방문을 비롯하여 기술 교육 및 행사, 그리고 프로젝트 등 다양한…
카카오의 미래 주역, 카카오는 이렇게 맞이합니다. 들어가는 글 안녕하세요! 저는 카카오에서 개발자 성장을 기획하고 실행하는 아론이라고 합니다. 카카오에서는 온보딩(On-Boarding)이라는 프로그램을 통해 새롭게 합류하는 크루들이 카카오를 잘 이해하고 적응할 수 있도록 돕고 있습니다.…
개발자를 위한 레디스 튜토리얼 04 이것만은 하지 마세요! 이제 많은 분이 요청주셨던 레디스의 장애 포인트에 대해서 말씀드리려고 합니다. 레디스, 잘 몰라도 괜찮으니 요구사항 파악하기 (캐시용? 저장소용?) 서비스에서 레디스의 도입을 고민할 때, 캐시용으로 사용할 것인지, 혹은 저장소용…
#1. 시작하며 이슈(Issue)를 추적관리하는 업무는 QA 직군이 반드시 해야 하는 필수 업무 중 하나입니다. 탄생(생성)부터 죽음(완료)까지 이슈의 생애를 각종 정보들을 통해 지켜봄으로서 이들의 처리가 원활하도록 관리해야 합니다. 이슈는 또 일종의 일감으로, 전체 프로젝트 마일스톤(…
1. 마이크로서비스 아키텍처 도입을 고민 중인 당신에게 IT 업계에서 마이크로서비스 아키텍처(Microservices Architecture, MSA)가 대세로 떠오르면서 엔터프라이즈 서비스 개발 프로젝트에 활발하게 채택되고 있습니다. 애플리케이션을 보다 빠르게 개발하고 성능을 지속적으…
새로 입사한 개발자가 프로젝트에 기여하는 방법 한 가지 프로젝트 전체의 경고를 감소 시켜 팀에 기여하자! 코딩 스타일 가이드를 읽다가 작성한 Pull Request 안녕하세요. LDD팀 이종립입니다. 오늘은 제가 입사한 지 일주일쯤 지났을 무렵, 즉 2019년 11월에 있었던 이야기를…
DevOps 엔지니어의 Redis Test 분투기 - Part 1 Redis 테스트를 진행했습니다. - 계기: Redis 성능 측정과 Key/Value 값 저장 문제 - 측정/테스트 도구를 찾아보자 - 테스트 전에 Redis 용도를 정리해보자 - API를 사용해 테스트를 시작 - 테스트…
계기: Redis 성능 측정과 Key/Value 값 저장 문제 최근 서비스 고도화를 위해 회사의 중요 서비스들을 MSA로 변환하던 중, 성능 향상 및 용도를 이유로 개발팀은 Redis 도입을 고려하고 있었습니다. 그러다 최근 api 하나의 버전이 업데이트된 이후 덜컥 장애가 발생했습니다…
Database Driven Development에서 진짜 DDD로의 선회 -1- DDD에 대한 오해에서 벗어나고 개발의 즐거움을 깨달은 이야기 들어가며 - 과거의 내 모습 이 글은 DDD(Domain Driven Design 또는 Development)에 대해 아무런 고민도 없던 제가…
들어가며 - 과거의 내 모습 이 글은 DDD(Domain Driven Design 또는 Development)에 대해 아무런 고민도 없던 제가 현장에서 DDD를 팀원들과 함께 실천하며 깨달은 것(주로 경험)에 대한 이야기 입니다.(내용이 길어지고 하고 싶은 이야기가 많아져서 디테일한 이…
안녕하세요. 뱅크샐러드, Advanced Financial Infra Team(이하 AFIT) 서지원 입니다. AFIT 은 최고의 개발환경을 구축한다 는 Vision 아래, IDC 에 Nutanix 를 올린 Private Cloud 환경을 멋지게 개선하고 있는 팀입니다. 이번 글은 AF…
배달의민족 최전방 시스템! ‘가게노출 시스템’을 소개합니다. 안녕하세요 우아한형제들 프론트검색서비스팀 권용근입니다. 저는 "먼데이 프로젝트" 라는 2019년 대형 프로젝트에서 요란하게 탄생하였고, 탄생한 순간부터 지금까지 배달의민족 최전방에서 활약 중인 2019년 4월 1일생 가게노출…
AWS 멀티 계정 환경에서 취약한 Security Group 설정 모니터링 들어가며 클라우드 서비스의 장점은 리소스의 탄력적 사용, 비용 절감, 운영에 대한 부담 감소에 있다. 하지만 보안 관점에서는 이러한 클라우드 서비스의 장점이 취약점으로 작용한다. 클라우드 환경에서는 개발자가 직접…
Spring Batch와 Querydsl Spring Batch와 QuerydslItemReader 안녕하세요 우아한형제들 정산시스템팀 이동욱입니다. 올해는 무슨 글을 기술 블로그에 쓸까 고민하다가, 1월초까지 생각했던 것은 팀에 관련된 주제였습니다. 결팀소: 결제시스템팀을 소개합니다와…
트리 쉐이킹 되는 UI 라이브러리 만들기 ㄱ부터 ㅎ까지 웹 페이지를 만들 때 풍부한 기능을 제공하기 위해서 잘 만들어진 UI라이브러리를 사용한다. 필자는 TOAST UI의 라이브러리 중 하나를 개발하고 있고 그동안 쌓은 경험과 노하우를 대방출하고자 한다. 이 글은 UI 라이브러리를 만들…
지속 가능한 소프트웨어를 위한 코딩 방법 - 세 번째 앞서 이야기한 것들. 앞서 이야기한 것들을 정리해보겠습니다. - DRY 원칙으로 중복 코드를 줄여봅시다. - 중복 코드가 있으면, 비즈니스 로직이 여러 군데 흩어진 것과 같습니다. - 그래서 버그를 수정해도, 여전히 존재하는 같은 버…
지속 가능한 소프트웨어를 위한 코딩 방법 - 네 번째 불변 클래스 (Immutable Class) 불변 클래스는 객체가 생성된 후에는 그 값을 변경할 수 없는 것을 의미합니다. 자바에서는 대표적인 불변 클래스는 String입니다. Integer, Double 같은 프리미티브 타입을 감싸…
ELK 셋팅부터 알람까지 안녕하세요. 저는 상품시스템팀에서 개발업무를 맡고 있는 이중석입니다. 최근 팀 내에서 로그엔트리를 ELK 로 전환하고 필요한 알람을 셋팅하는 작업을 진행했습니다. 이 과정중 알람을 설정하는 부분이 어렵진 않지만 쉽지도 않았습니다. 그 과정에서 알게된 것들이 다른…
Spock Extension과 Elasticsearch + Kibana 조합으로 테스트 결과를 빠르게 피드백 받기 안녕하세요. 우아한형제들 주문마케팅회원서비스팀 장진우입니다. 모든 테스트는 중요하고 가치가 높은 활동입니다. 특히 개발을 지원하기 위한 기술 중심의 테스트가 조금 더 중요하…
NAVER Tech Talk: AI 7차 (2019년 1월, 5월~10월) - 등록일 - 2019.12.12 - | - 코멘트 - 9446 NAVER에서는 매주 사내외 전문가를 초빙하여 테크톡을 진행하고 있는데요. 발표자 분의 공개 동의를 얻어 NAVER Engineering 페이스북에…
Aurora MySQL를 운영하면서 알면 좋을 것 같은 미세한 팁 들어가며 안녕하세요. 우아한형제들에서 DBA로 근무하고 있는 유영근입니다. 저희는 AWS환경에서 RDS로 수많은 요청을 처리하고 저장하며 Aurora MySQL을 주력으로 사용하고 있습니다. 한정된 사람구하기 힘든 DBA…
카카오커머스를 지탱하는 Angular from if kakao 카카오커머스의 FE개발파트는 React나 순수 JS로 개발되어있던 선물하기, 쇼핑하기 등 각 서비스 프레임웍을 모두 Angular로 전환하고 있습니다. 이 글에서는 이 결정을 하게 된 배경과 Angular가 어떤 프레임웍이고…
이 글은 <카카오 나우>의 콘텐츠를 인용했습니다. ‘세상을 조금 더 좋아지게 만드는 사람들’ 기술 발전 속도가 거세짐에 따라 더 많은 개발자들이 보다 나은 내일을 만드는데 기여하고 있습니다. 수천만 명이 사용하는 카카오 서비스들의 이면에도 여러 개발자들이 한 땀 한 땀 엮어놓은 알고리듬…
브라우저 싸움에 등 터지는 개발자들을 위한 HTTP쿠키와 톰캣 쿠키 프로세서 이야기 무심코 프로젝트의 라이브러리를 버전 업하다가 예상치 못한 에러가 발생한 경험이 다들 있을 것입니다. 주로 이런 에러는 성가신 호환성 문제이거나 버전 별 버그가 원인이지만, 가끔은 버전과 세월을 따라 발전…
당신의 자바스크립트 API 문서는 안녕하신가요? 이 글을 읽고 있을 개발자라면 적어도 한 번쯤 API 문서를 작성해 본 경험이 있으리라 생각한다. "오전까지 100개 함수에 대한 API 문서를 만들어주세요."라는 업무가 주어졌다고 가정해보자. 이때 어떤 그림이 그려지는가? 워드 또는 엑…
2019년과 이후 JavaScript의 동향 – 브라우저 밖의 JavaScript 2 - 등록일 - 2019.10.28 - | - 코멘트 - 27984 브라우저 밖의 JavaScript 생태계를 다루는 "2019년과 이후 JavaScript의 동향" 시리즈의 마지막 글에서는 JavaSc…
2019년과 이후 JavaScript의 동향 – 브라우저 밖의 JavaScript 1 - 등록일 - 2019.10.28 - | - 코멘트 - 29904 이제 JavaScript는 프런트엔드에서만 작동하는 언어라고 말할 수 없습니다. 브라우저 영역에만 국한되지 않는 다양한 시도가 Java…
2019년 10월, 영국 컨설팅업체 헨리앤드파트너스가 발표한 여권지수(Henley Passport Index)에 따르면 한국의 비자면제 방문국 수는 188개국으로 독일, 핀란드와 함께 공동 2위에 올랐습니다. 이는 우리나라의 위상이 그만큼 높아졌다는 것을 뜻할 뿐 아니라, 여권이라는 세…
[K8S] kubernetes POC를 위한 portainer, rancher 소개 및 설치 등록일 2019.10.16 조회수 12107 들어가는 말 - docker와 kubernetes(이하 k8s)를 간단하게 활용해 보기 위한 portainer와 rancher를 소개합니다. 대상 -…
‘우아한테크코스 – 웹 백엔드’ 2기 과정에 참여할 사람을 모집합니다. ‘우아한테크코스 – 웹 백엔드’ 2기를 모집합니다. 아무 것도 없는 상태에서 우아한테크코스 1기 모집 글을 쓸 때가 어제 일 같은데 벌써 2기 모집 글을 쓰네요. 1기 모집 글을 쓸 때는 막막함과 약간의 두려움이 있…
올해에도 2020이라는 멋진 숫자와 함께, 카카오의 신입 개발자 채용을 시작했습니다! 그 여정 중 첫 단계로 1차 코딩 테스트가 지난 9월 7일 토요일 오후 2시부터 오후 7시까지 5시간 동안 진행됐는데요. 저희 준비위원들도 설렘과 긴장 속에 원활한 진행을 위해 노력했고, 무사히 1차…
WEB Firewall 서비스 소개 (TOAST Service 들여다 보기) WEB Firewall은 웹 공격을 전문적으로 탐지/방어하는 보안 설루션으로, 고객의 웹서비스로 공격이 인입될 경우, 전용 설루션을 통해 탐지/방어함으로써 즉각적인 대응이 가능하도록 지원하는 서비스입니다. TO…
개발자 머피의 법칙 안녕하세요, 우아한형제들 광고시스템팀의 손권남입니다. 이 글은 기술적인 내용도 아니고 우아한형제들 회사에 관한 이야기도 아닌, 순전히 저의 개인적인 경험을 다룹니다. 매우 긴 글이므로, 맨 앞과 맨 뒤, 그리고 제목 정도만 읽어도 대략의 핵심 주제는 파악 가능합니다.…
대상 서버의 포트가 열려 있는지 확인하는 3가지 방법 ACL이나 보안 그룹(security group)으로 포트가 막혀 있는지 확인하고 싶을 때가 많습니다. 보통은 ping 같은 명령어로 ICMP 패킷을 쏴보고 해당 서버가 살아있는지 먼저 확인합니다. 그러나 ping으로는 살아 있는데,…
병아리 개발자의 걸음마 한 발짝 (feat. 파일럿 프로젝트) 지원서에서 발췌한 내용 … 나름대로 제일 좋은 방법이라고 생각했던 해결책이 경험 많은 개발자분들이 보시기에는 어떤지, 시니어 개발자분들은 문제가 생겼을 때 어떻게 접근하고 어떻게 해결하는지 등도 항상 궁금해 왔습니다. … 파…
API Gateway 소개 (TOAST Service 들여다 보기) API Gateway 란? 최근 서비스는 마이크로서비스 아키텍처 형태로 독립적인 기능을 수행하는 작은 단위의 서비스로 나누어 개발하고 있습니다. 작은 단위의 서비스로 분리함에 따라 서비스의 복잡도를 줄일 수 있으며, 변…
Data Swamp ! ! 많은 기업들이 Hadoop과 Cloud 기반의 빅데이터 기술을 사용해 Data Lake의 확장형 아키텍처로 전환하고 있다. 그러나 Data Lake와 빅데이터 기술에 대한 투자 증가(2016년 20.7억달러, 2017년부터 2025년까지 28.6% 성장[1])…
데이터 품질에 관한 5개 체크포인트 - 등록일 - 2019.08.06 - | - 코멘트 - 18072 '코드 품질'은 소프트웨어 개발자에게 직업적 사명의 문제인지라, 이것의 중요성에 대해서는 따로 강조할 필요가 없습니다. '데이터 품질'이란 말은 이에 비하면 다소 모호하고 생소한 개념입…
2019년과 이후 JavaScript의 동향 - 라이브러리와 프레임워크 1 - 등록일 - 2019.08.02 - | - 코멘트 - 60045 어느 순간부터 프레임워크의 홍수 속에 있는 듯합니다. 각 프레임워크가 내세우는 철학과 다양한 장점에 촉각을 세우고, 어떤 것을 선택해야 할지 그리…
GraphQL은 페이스북에서 만든 쿼리 언어입니다. GrpahQL은 요즘 개발자들 사이에서 자주 입에 오르내리고 있으나, 2019년 7월 기준으로 얼리스테이지(early-stage)임은 분명합니다. 국내에서 GraphQL API를 Open API로 공개한 곳은 드뭅니다. 또한, 해외의…
LocalStack을 활용한 Integration Test 환경 만들기 안녕하세요. 주문마케팅서비스팀 송정훈입니다. 이 글에서는 AWS 서비스를 활용하는 웹 어플리케이션이 클라우드 환경이 아닌, 로컬개발환경에서 쉽게 실행하고 테스트할 수 있는 방법에 대해서 설명하고자 합니다. 우리의 I…
멀티모듈 설계 이야기 with Spring, Gradle 멀티 모듈 설계 이야기 안녕하세요. 배달의민족 프론트 서버를 개발하고 있는 권용근입니다. 멀티 모듈의 개념을 처음알게 되었을 때부터 현재까지 겪었던 문제점들과 그것을 어떻게 해결해나갔는지를 이야기해보려고 합니다. 아래 내용은 모두…
Dll을 이용하여 배달대행 주문정보 연동 우아한형제들에도 Windows 개발자가 있습니다. 저는 주문중계시스템팀에서 PC 어플리케이션을 개발하고 있습니다. 대부분 우아한형제들에서 PC 어플리케이션을 개발한다는 것 자체를 모르시는 분이 많겠지만 우아한형제들에는 Windows Applica…
2019년과 이후 JavaScript의 동향 - WebAssembly - 등록일 - 2019.06.24 - | - 코멘트 - 32354 WebAssembly는 C와 C++ 같은 프로그래밍 언어를 컴파일해 어느 브라우저에서나 빠르게 실행되는 바이너리 형식(low-level language…
개요 암호학과 같은 수학적 보안 분야와 달리 소프트웨어 보안 분야는 전통적인 컴퓨터과학 분야에 비해 그 역사가 짧은 편입니다. 초기 개척기 동안 데이터베이스, 네트워크, 운영체제, 프로그래밍 언어, 소프트웨어 공학 등 많은 다른 분야의 연구자들이 보안 연구에 유입되었고, 기존의 다양한…
2019년과 이후 JavaScript의 동향 - JavaScript(ECMAScript) - 등록일 - 2019.06.12 - | - 코멘트 - 34323 JavaScript의 인기는 이제는 굳이 언급할 필요가 없어 보일 만큼 계속되고 있습니다. GitHub의 보고서인 Octoverse…
Spring Boot에서 Repository로 DynamoDB 조작하기 (1) – 설정부터 실행까지 안녕하세요, 미래사업부문 김명재입니다. 작년 10월에 우아한형제들에 입사하고 행복한 주니어 개발자 생활을 하고 있습니다. 현재 개발중인 시스템의 NoSQL DB를 MongoDB에서 Dyn…
우아한 feign 적용기 안녕하세요. 저는 비즈인프라개발팀에서 개발하고 있는 고정섭입니다. 이 글에서는 배달의민족 광고시스템 백엔드에서 feign 을 적용하면서 겪었던 것들에 대해서 공유 하고자 합니다. 소개 - Feign 은 Netflix 에서 개발된 Http client binder…
작년 이맘때 GDPR의 실효를 목전에 두고 “GDPR과 PSD2를 통해 바라본 개인정보보호를 위한 데이터분석 방법”이라는 제목의 기고문을 한 차례 작성하였습니다. (https://www.samsungsds.com/kr/insights/GDPR_data_analytics.html) 이전…
RPA POC 개발 경험과 자료 공유 저희팀에서 RPA POC를 진행하며, 조사했던 자료와 경험했던 것들을 공유하고자합니다. 들어가기에 앞서 RPA 는 다음과 같이 정의 할 수 있습니다. - 비즈니스 프로세스를 사람이 아닌 S/W 로봇이 수행하도록 자동화 하는 것 - 프로세스 처리를 위…
TensorFlow를 활용한 네이버쇼핑의 상품 카테고리 자동 분류 - 등록일 - 2019.05.02 - | - 코멘트 - 80529 네이버쇼핑은 네이버가 제공하는 쇼핑 포털 서비스입니다. 네이버쇼핑은 상품을 체계적으로 구성하고 사용자가 보다 쉽게 검색할 수 있도록 상품을 카테고리에 매칭…
목적의식 있는 연습을 통한 효과적인 학습 나는 우아한형제들에서 우아한테크코스(이하 우테코) 교육 과정을 진행하고 있다. 우테코를 설계하면서 고민스러웠던 부분 중의 하나는 ‘선발 과정을 어떻게 하면 의미 있는 시간으로 만들 것인가?’였다. 보통의 선발 과정은 경쟁을 통해 누군가를 선발해야…
‘Gradle Kotlin DSL’ 이야기 Developer life is Coding between Build and Deploy. 개발자 인생은 (프로젝트) 빌드와 배포 사이 삽질(=코딩)이다. — #월급쟁이개발자 허니몬 빌드도구(Build tool) 이야기 새로운 프로젝트를 시작하…
Packer와 Ansible을 이용한 표준 AMI 만들기 안녕하세요 저는 작년 우아한테크캠프 2기를 마치고 10월에 시스템신뢰성개발팀에 입사한 김규남이라고 합니다. 이번 글에서는 팀 내에서 Packer와 Ansible을 이용해 AMI를 코드레벨로 어떻게 관리하고 있는지에 대해 공유드리려…
간단하게 구축해 보는 JavaScript 개발 환경 - 등록일 - 2019.04.18 - | - 코멘트 - 43013 프로그래밍은 다양한 문제를 해결할 수 있는 한 가지 방법입니다. 하지만 해결해야 하는 문제가 크고 복잡해지면서 혼자 소프트웨어를 만들며 프로그래밍으로 문제를 해결하기는…
동영상 플랫폼 개선기 2 - 신규 동영상 플랫폼 구축 - 등록일 - 2019.04.15 - | - 코멘트 - 16393 "동영상 플랫폼 개선기 1 - 신규 동영상 플랫폼의 구성"에서는 기존 동영상 플랫폼의 구성과 문제점, 새로운 동영상 플랫폼의 구성을 살펴보았습니다. 새로운 동영상 플랫…
동영상 플랫폼 개선기 1 - 신규 동영상 플랫폼의 구성 - 등록일 - 2019.04.11 - | - 코멘트 - 22771 네이버의 동영상 플랫폼은 2007년에 네이버 블로그에 동영상 서비스를 처음으로 지원했습니다. 현재는 약 60여 개의 네이버 서비스를 지원하고 있으며, 동영상 처리를…
Kubernates에 Pod 기반의 IAM Role 접근 제어 통합하기 Hyojun Kim — 김효준 @therne 왜 Kiam인가? Kiam의 구조 kiam은 마스터 노드에 붙는 서버와 각 노드에 붙는 에이전트로 나뉘어진다. 파드에서 어떤 IAM Role을 쓰고 싶을땐 어떻게 할까?…
오늘날 브랜드와 소매업체 모두, 옴니 채널(omni-channel) 환경에서 진화하고 있는 고객의 구매 과정을 더 잘 이해하기 위해 서로 경쟁하고 있습니다. 기업들은 신제품을 출시할 때 브랜드 ‘페르소나(persona)’를 강조합니다. 즉, 외향적이고 모험심이 강하다거나, 상상력이 풍부…
최신 브라우저의 내부 살펴보기 2 - 내비게이션 과정에서 일어나는 일 - 등록일 - 2019.03.26 - | - 코멘트 - 23162 이 글은 Google Developers 사이트에 공개된 Mariko Kosaka의 "Inside look at modern web browser"(최…
지혜로운 자는 그릇의 형상에 맞추어 자신을 변화시킨다. -중국 격언 좋은 인용구는 모두의 마음에 와닿습니다. 이 격언은 특히 올해 자동차 업체가 나아가야 할 방향을 잘 제시하고 있죠. 자동차 산업이 중대한 변화를 겪고 있는 것은 분명합니다. 신기술의 도입과 새로운 소비자 트렌드로 인해,…
개발 미션과 함께 읽는 클린 코드 들어가며 안녕하세요, 미래사업부문의 오지산이라고 합니다. 저는 작년 10월 우아한형제들에 신입 개발자로 입사하면서 처음으로 Spring 위에서 코드를 작성하는 경험을 했습니다. 0의 지식으로 부딪혀야 하는 상황이었는데요. 거기에 신규 서비스를 개발해야…
3월 우아한 Tech 세미나 후기 스프링 리액티브 세미나 후기 안녕하세요! 우아한 형제들에서 결제/정산/포인트/비즈머니를 담당하는 결제정산개발팀 이동욱입니다. 사내에서는 다양한 DR (Developer Relations) 활동을 하고 있습니다. 여러 활동 중 이번엔 토비의 스프링의 저자…
최신 브라우저의 내부 살펴보기 1 - CPU, GPU, 메모리 그리고 다중 프로세스 아키텍처 - 등록일 - 2019.03.14 - | - 코멘트 - 62850 이 글은 Google Developers 사이트에 공개된 Mariko Kosaka의 "Inside look at modern w…
구글플레이 권한 정책 지키기 안녕하세요. 우아한형제들 배민앱개발팀에서 배달의민족 안드로이드 앱을 개발을 하고 있는 나동호입니다. 구글플레이에서 보안 및 개인 정보 보호 정책을 강화하면서 민감한 권한을 제거하며 겪은 이야기를 작성한 글입니다. 이 글에서 나온 버전 코드 및 몇몇 정보들은…
aop를 이용한 oauth2 캐시 적용하기 서론 저는 현재 미래사업부문에서 신규 서비스를 만들고 있으며, 신규 서비스는 기존 우아한 형제들에서 서비스중인 배달의민족과 디펜던시를 갖지 않는 독립적인 서비스다 보니 모든 것을 처음부터 새 판에서 고민하며 만들어 가고 있습니다. 이 글에서는…
코드리뷰 적응기(feat. 파일럿 프로젝트) 안녕하세요. 결제정산개발팀의 권세희입니다. 저는 정산업무를 맡게 되었는데, 정산은 데이터 정합성과 트랜잭션, 도메인 주도 개발, Entity 간의 연관 관계, 대용량 데이터 처리가 핵심인 시스템입니다. 정산 도메인과 기술셋에 대한 경험이 없어…
‘우아한테크코스 – 웹 백엔드’ 과정에 참여할 사람을 모집합니다. 우아한테크코스가 뭔가요? 우아한테크코스는 프로그래밍을 배워 프로그래머로서의 삶을 살고 싶은 사람들을 대상으로 하는 프로그래밍 교육 과정입니다. 한마디로 프로그래머로 취업하고 싶은 사람들을 위한 직업 전문 학교와 같다고 생…
암호키 해킹기법의 증가 암호기술은 거의 모든 IT 제품 및 서비스에서 데이터 보호와 사용자/기기 인증 등의 목적으로 사용됩니다. 암호시스템은 크게 알고리즘과 키로 구성되는데, 공격자가 이 키를 획득하면 암호화된 데이터를 복구하거나 정당한 사용자로 위장하는 공격을 할 수 있어 암호키 보호…
배달아~ 배달 가는길 알려줘!(단호함) 서론 배민라이더스에서는 배달거리를 업소와 고객의 주소 정보를 이용해서 지구는 적당히(?) 둥글다는 계산으로 거리계산을 하고 있습니다. ~대충대충코드~ double theta = from.getLongitude() - to.getLongitude()…
SQL Server 에게 String 이란? (NVARCHAR 인가 VARCHAR 인가) SQL Server JDBC Driver 를 사용하면서 배운, 그리고 주의해야 할 특징 안녕하세요. 비즈상품개발팀에서 광고시스템을 개발하고 있는 김승영입니다. 현재 광고시스템의 일부분이 Spring…
세상은 데이터로 넘쳐납니다. 데이터 홍수의 시대죠. 사람들은 데이터를 수집, 정렬 및 분석하여 정확한 정보를 바탕으로 비즈니스 전략에 대한 결정을 내립니다. 효과적인 전자상거래 전략으로 디지털 공간을 장악하고 있는 기업들은 고객의 데이터를 적재적소에 활용할 줄 알죠. 오프라인 소매상들은…
AWS에서 보안 감사 및 이상징후 탐지 Introduction Summary AWS에서는 유용하게 사용 할 수 있는 log들이 있다. 그 중에서도 cloudtrail log를 수집/분석하여 정보보안 및 운영의 효율성을 높이는데에 도움이 되는 기술을 공유하고자 한다. Backbround…
오토스케일(Autoscale)의 이해와 예제를 통한 구성(TOAST 서비스 들여다보기) 오토스케일은 인스턴스의 부하를 모니터링해서 특정 이벤트에 대해 인스턴스를 추가/삭제하는 기능을 제공하는 서비스 입니다. 예를 들어, 급작스러운 서비스 트래픽의 증가 상황에서 운영자의 개입없이 자동으로…
실용적인 프론트엔드 테스트 전략 (1) 바야흐로 자바스크립트의 시대이다. 최근 2~3년 동안 자바스크립트는 가장 인기있는 언어 순위 1위를 유지하고 있고, 여전히 빠른 속도로 성장하고 있다. 10여년 전, 웹 표준이라는 개념조차 없을 때부터 프론트엔드 개발을 해 오던 나 같은 개발자에게…
React에서 Mobx 경험기 (Redux와 비교기) 안녕하세요 딜리버리플랫폼팀 김찬정입니다. 이 글의 목적 React와 함께 사용하는 State(상태)관리 라이브러리중 가장 많이 사용되고 있는 Redux와 또 다른 라이브러리인 Mobx를 직접 사용하여 개발해 보고 느낀 차이점과 Mob…
HTTP 쿠키와 톰캣 버전별 이슈 HTTP 쿠키 - HTTP 쿠키는 서버가 사용자의 웹 브라우저에 전송하는 데이터 조각입니다. - 브라우저는 이 데이터 조각들을 저장할 수 있고 다음 요청 시에 전송할 수 있으며 방문자의 상태를 저장하는 용도로 사용합니다. 쿠키의 목적 1. 세션 관리 (…
Big things in JDK 10 JDK 10 2018년 3월 20일에 발표된 JDK 10에서 추가된 전체 기능은 아래의 JDK Enhancement Proposals(JEPS)에서 살펴볼 수 있습니다. 약 109개의 신규 기능들로 이루어져있으며, 대표적으로 var 를 사용한 지역변…
파일럿 프로젝트와 함께 우아한개발자 되어가기 들어가며 안녕하세요! 배민서버개발팀 김다인입니다. 지난 10월 신입 개발자로 입사한 후 약 5주간에 걸쳐 파일럿 프로젝트를 진행했는데요, 그동안 제가 경험하고 느낀 것들을 공유해 드리고자 합니다. 시작 설렘 반, 긴장 반으로 입사한 당일, 팀…
Elastic Stack과 Lambda를 활용한 데이터 모니터링 시스템 구축 - 등록일 - 2018.11.17 - | - 코멘트 - 31520 네이버쇼핑의 일부 시스템에서는 서비스에 적용할 상품 데이터를 받아서 Apache Kafka(이하 Kafka)를 통해 서비스에 반영합니다. 이 과…
오늘날 행사 기획과 관리의 요구 사항에서 기술은 빠질 수 없는 요소입니다. 충분한 대역폭을 확보하고, 복잡한 사운드 및 조명 요구 사항을 충족하고, 상황 적응형 디지털 사이니지 및 디지털 화이트보드를 설정하는 것 등 말이죠. 하지만 많은 행사 기획자들이 아직도 참석자 모니터링과 피드백…
KakaoTalk Bizmessage 서비스와 친구톡 기능 소개(TOAST 서비스 들여다보기) KakaoTalk Bizmessage 서비스 최근에 TOAST에 친구톡이라는 기능을 새롭게 마련하면서, 알림톡과 친구톡을 합쳐서 KakaoTalk Bizmessage라는 이름의 서비스로 개편하…
양자컴퓨팅 미디어를 통해 ‘특정 기업이 N qubit의 양자컴퓨터를 개발했다’는 소식을 접한다면, 이때 N qubit가 의미하는 바는 무엇일까요? N qubit 양자컴퓨터는 2N개의 N-bit 정보를 동시에 처리할 수 있다는 의미입니다. 현재 우리가 사용하는 N-bit 컴퓨터는 한 번에…
사물 인터넷(IoT: Internet of Things) 기술이 발달하면서, 기업은 비즈니스와 고객 경혐 혁신을 위해 IoT 기술의 도입을 시도하고 있습니다. 이 과정에서 IoT 기술의 성공적인 비즈니스 적용을 위해, 수 많은 디바이스를 통제하고 관리하는 IoT 플랫폼의 역할이 중요하게…
Digital transformation 시대에 들어서며, 스마트홈부터 스마트카에 이르는 연결 기기를 우리 주변에서 쉽게 찾아볼 수 있게 되었습니다. 저희는 급부상 중인 IoT의 성공적인 기술 적용을 위해 고심해야 할 문제들에 대해 SAS의 신기술 책임자인 타마라 덜(Tamara Dul…
Real-time Service Configuration으로 Consul을 신주소 서비스에 적용한 사례 안녕하세요. 배민프론트서버개발팀 박제현입니다. 주소 검색 서비스를 개선하면서 Real-time Service Configuration으로 consul을 적용한 사례를 공유하고자 합니다…
Storage Security ' Cloud DB Encryption ' 본 아티클에서는 DB 암호화 기술을 소개하고자 합니다. DB 암호화 기술은 새로운 기술이 아니라 이미 오랫동안 on-prem 환경에서 사용돼 왔습니다. 그러나 클라우드 환경에서라면, 또 다른 이슈들에 대해서 고민해…
지난 몇 년간 클라우드 도입 증가와 글로벌 규제 강화로 보안 시장은 급성장하고 있으며, 특히 데이터 암호화 시장은 가장 큰 성장 폭을 보이고 있습니다. 클라우드 보안 시장은 ‘17년 4.09 Billion USD에서 ‘22년 12.73 Billion USD (23.5% GAGR)로 성장…
제조업이 지향해야 할 목적은 명확하다. 첨단 기술과 인프라를 개별 제품이나 단일 공정에만 적용할 것이 아니라, 기획 의도부터 최종 사용자 경험까지 제품이 태어나 소비되는 전 과정에 걸쳐 품질을 최우선 가치로 상정하는 통합 품질 관리다. 이제 제조에서의 품질 관리는 조립과 가공 단계에서…