블록체인과 비트코인 이 글은 2017년 5월 사내에서 발표한 자료 입니다. 지금과는 다른 내용이 포함되어 있을 수 있습니다. 들어가기에 앞서 (이미지 출처: https://www.blockchain.com/) 블록 체인 기술이 왜 화제가 되고, 매커니즘은 어떻게 되는지, 어떤 분야에 적…
제조업의 체질을 바꾸는 디지털 혁신 기술들 클라우드 글로벌 공급망 관리를 살펴볼 때 가장 대표적인 변화는 클라우드를 중심으로 진행되고 있다. 자원을 로컬 서버에 두지 않고 고속 네트워크를 통해 수요가 발생하거나 필요할 때마다 불러오는 클라우드의 특성을 살려, 액세스 권한을 얻은 모든 사…
JDBC로 실행되는 SQL에 자동으로 프로젝트 정보 주석 남기기 이 글은 Java기반에서 JDBC와 이를 기반으로 한 Persistence Framework를 이용해 SQL을 실행할 수 있는 개발자를 대상으로 모든 JDBC를 통해 실행되는 SQL 구문에 애플리케이션 정보를 주석으로 넣는…
카카오 코드 페스티벌 예선전, 많은 관심 감사합니다! 작년에 이어 두 번째로 진행된 카카오 코드 페스티벌, 온라인 예선이 지난 8월 4일 토요일에 진행됐습니다. 작년보다 더욱 많은 6,000여 명의 참가자들이 6시간 동안 뜨거운 열정을 발휘했는데요, 특히 실시간으로 바뀌는 스코어보드를…
SMS의 080 수신 거부 설정 기능 소개 (TOAST 서비스 들여다보기) SMS 서비스에는 080 수신 거부를 쉽게 설정할 수 있는 기능이 있습니다. SMS를 이용하여 광고성 메시지를 보낼 경우에 반드시 무료 수신 거부 방법을 기재해야 하며, 수신 거부 방법을 제공하지 않으면 3천만원…
LC3 참관기 - 등록일 - 2018.08.07 - | - 코멘트 - 6085 LC3는 LinuxCon, ContainerCon, CloudOpen 세 가지 콘퍼런스가 하나로 합쳐져 동시에 진행되는 콘퍼런스로, 지난 2015년부터 시작됐습니다. 개발자, 아키텍트, 시스템 어드민뿐만 아니…
나를 술푸게 하는 고민들 안녕하세요, 배민프론트서버개발팀의 개그 신동이자 귀염둥이 이신은입니다. 저는 작년 12월 신입 개발자 공채를 통해, 백엔드 개발자로 우아한형제들에 합류했습니다. 취업준비생에서 7개월 차 삐약삐약 병아리개발자가 된 지금까지, 지난 1년을 돌아보며 제가 했던 고민을…
100,000개의 아이템도 거뜬한 셀렉트박스 만들기 (1/2) 안녕하세요. 분석서비스팀 심준식입니다. 거의 모든 웹사이트에 있다시피 한 셀렉트박스는 매우 쉽게 구현할 수 있는 간단한 컴포넌트이지만, '잘' 만들기는 어려운 컴포넌트이기도 합니다. 아이템의 갯수가 10~100개 정도일 때에…
혁신의 원동력 클라우드 컴퓨팅은 많은 산업을 근본적으로 변화시켰고 소프트웨어를 개발하고 제공하는데 새로운 패러다임을 만들었습니다. 기업과 스타트업은 클라우드 네이티브 기반의 아키텍처에 투자하여 고객에게 보다 안정적이고 탄력적인 서비스를 제공하는 한편 비용 절감으로 혁신에 속도를 내고 있…
필자는 6월 12일부터 15일까지 4일간 샌프란시스코 모스콘 센터에서 열린 도커콘(DockerCon SF 18)이라는 콘퍼런스에 참여했습니다. 모르시는 분들을 위해 참고로 말씀드리면, ‘도커’는 컨테이너 기반의 OS 레벨 가상화 플랫폼입니다. 그리고 ‘컨테이너’는 네모난 화물 수송용 박…
2018년과 이후 JavaScript의 동향 - 브라우저 밖의 JavaScript - 등록일 - 2018.06.22 - | - 코멘트 - 42998 JavaScript는 단지 브라우저 안에만 머물러 있지 않습니다. 다양한 영역에서 그 힘을 발휘하고, 오히려 브라우저에서보다 더 큰 가능성…
New Hadoop3 Release 더그 커팅(Doug Cutting)이 하둡(Hadoop)을 최초로 선보인 지 벌써 12년이라는 시간이 흘렀습니다. 하둡의 성장과정을 보면 오픈소스의 집단지성과 잘 만든 플랫폼의 확장성이 얼마나 대단한지 실감할 수 있습니다. 하둡이 처음 나왔을 때는 많…
백엔드 개발자를 꿈꾸는 학생개발자에게 - 등록일 - 2018.06.21 - | - 코멘트 - 521820 D2에서는 D2 CAMPUS를 통해 만난 학생개발자를 대상으로 정기적으로 Tech meet-up을 진행하고 있습니다. 금번에는 백엔드 개발을 주제로 진행하였는데요, 미래의 백엔드 개…
크로키가 클라이언트-서버 아키텍처를 가진 첫 번째 서비스 개발을 시작한 것은 2012년이었습니다. 클라이언트에서 서버와 통신할 방법이 필요했는데 당시의 대세는 REST API였습니다. 저도 거기에 공감했기 때문에 REST API를 만들어 클라이언트를 구현했습니다. 그 후로 모든 서비스는…
앱실행속도 개선을 위한 최적화 가이드 (2) 스마트폰의 하드웨어적 성능은 날로 높아만 가고 있다. 당연한 얘기같지만 필자가 경험한 게임들은 기기 성능에 따라 실행시간이 대체로 빨라졌었다. 그럼 결론은 간단해 진다. '고객님 기기가 문제였네요. 고성능 폰을 쓰세요'라고 말이다. 실제로 대…
딥러닝 분산 플랫폼, C3DL - 등록일 - 2018.05.14 - | - 코멘트 - 22391 Google의 AlphaGo(알파고)가 이세돌 9단에 4승 1패한 이후 딥러닝(deep learning) 연구가 활발히 이뤄지고 있습니다. 네이버에서도 딥러닝을 서비스에 적용하기 위한 연구가…
결제 시스템 성능, 부하, 스트레스 테스트 안녕하세요. 우아한형제들에서 결제시스템을 개발하고 있는 권용근입니다. 입사한 지 4개월 만에, 드디어 우아한형제들 기술 블로그에 글을 남기게 되어 감회가 새롭습니다. 저는 최근 결제 시스템 의 개비를 진행하며 경험한 성능, 부하, 스트레스 테스…
내 서버에는 누가 들어오는 걸까 - Apache 액세스 로그를 Elastic Stack으로 분석하기 - 등록일 - 2018.04.30 - | - 코멘트 - 59115 웹 서비스를 운영하는 서버 관리자라면 외부에서 어떤 요청이 들어오는지 그리고 어떤 사용자가 있는지에 대한 정보를 담고 있…
Spring에서 요청에 따른 부가 응답 추가하기 (1) 개요 최근 들어 특정 콘텐츠에 부가 속성을 더하여 보여주는 UI가 증가하고 있다. 부가 속성의 예를 들자면 좋아요, 싫어요, 댓글, 공유 링크, 연관 게시물, 추천 게시물 등을 들 수 있다. 이러한 부가 속성들은 기획적 요구나 성능…
우아한형제들의 Developer Relations 투자가를 대상으로 한 IR(Investor Relations) 이야기가 아닌, 개발자를 대상으로 한 DR(Developer Relations) 이야기. Developer Relations Developer Relations라는 말은 다소…
Spring BindingResult를 json으로 받기 개요 Spring은 Controller에서 Validation을 한 후, 유효하지 못한 값이 존재할 때, Error(BindingResult)에 그 내용을 담아서, JSP, FreeMarker 등의 View Template Eng…
동영상 플랫폼 개발 프레임워크의 Spring Boot 전환기 - 등록일 - 2018.04.10 - | - 코멘트 - 65054 Spring Boot 1.0.0이 세상에 나온 지(2014년 4월 1일 공개) 이제 5년 차에 접어들었습니다. Spring Boot는 내장된 웹 애플리케이션 서…
NAVER Tech Talk: AI 3차 (~ 2018.1.) - 비전, 자연어 처리, 음악, 의료, 금융, 데이터 - 등록일 - 2018.03.28 - | - 코멘트 - 10172 NAVER에서는 매주 사내외 전문가를 초빙하여 테크톡을 진행하고 있는데요, 발표자 분의 공개 동의를 얻어…
Redux-Saga: Channel 이번 글에서는 Redux-Saga의 Channel(이하 채널)에 대해 정리해보고자 한다. 채널은 Redux-Saga의 초기 버전에서부터 고려했던 API는 아니다. 그런데 Stackoverflow에서 외부 이벤트를 Saga와 어떻게 연결하냐는 질문에서…
Kudu를 이용한 빅데이터 다차원 분석 시스템 개발 - 등록일 - 2018.03.22 - | - 코멘트 - 45018 네이버의 콘텐츠 통계 서비스는 네이버의 콘텐츠를 사용자가 얼마나 소비했는지에 대한 통계를 콘텐츠 생산자에게 제공합니다. 예를 들어 블로그 관리자가 볼 수 있는 통계 메뉴…
SIL(Swift Intermediate Language)을 통한 Swift debugging - 이 문제는 이슈 [SR-7249], commit을 통해 해결되었고, swift 4.2 브랜치에 머지 되었습니다. Episode III 몇일 전 그렇게 멀지않은 방이동, 경복궁 건물 6층 배…
2017년 12월 암호화폐 비트코인의 가치는 19,000달러로 급등했으나, 불과 두 달 만에 절반으로 추락했습니다. 비트코인의 근간에는 블록체인이 있지만, 많은 사람들이 우려하듯이 블록체인을 단순히 비트코인 거품을 유발하는 기술이라고만 할 수는 없습니다. 블록체인은 그 어떤 기술보다도…
쿠버네티스를 이용해 테스팅 환경 구현해보기 실제로 서비스에 도입해보기 전에 쿠버네티스를 유용하게 사용해 볼 수 있는 방법 중에 하나가 아닐까. 시작하며 이 글은 앞으로 우리가 관리하는 서비스(배민찬)의 아키텍처가 컨테이너 기반의 마이크로 서비스를 지향할 것으로 결정한 후 이를 위해 우선…
Gerrit을 이용한 코드 리뷰 시스템 - CI 연동, SVN 마이그레이션 - 등록일 - 2018.03.10 - | - 코멘트 - 20061 네이버에서는 CI(continuous integration) 도구를 Gerrit과 연동해 리뷰 대상 소스 코드에 대한 기본적인 검증 작업을 자동으…
Spock으로 테스트코드를 짜보자 Spock으로 테스트코드를 작성한 경험을 공유합니다. 안녕하세요! 우아한형제들 배달의민족/배민라이더스 주문시스템 팀 정용준입니다. 여러분은 어떻게 테스트 코드를 작성하고 계신가요? 일정 지키기도 힘든데 무슨 테스트코드냐 하시는 분들도 계신가요? 저도 아…
Gerrit을 이용한 코드 리뷰 시스템 - 코드 리뷰 방법(2) - 등록일 - 2018.02.21 - | - 코멘트 - 27885 이전 글에서는 Gerrit에서 생성한 프로젝트를 Eclipse에서 불러와서 코드를 작성한 다음 코드 리뷰를 요청하는 방법과 코드 리뷰를 요청받은 리뷰어가 G…
Gerrit을 이용한 코드 리뷰 시스템 - 코드 리뷰 방법(1) - 등록일 - 2018.02.21 - | - 코멘트 - 27449 "Gerrit을 이용한 코드 리뷰 시스템 - 사용자 환경 설정"에서는 Gerrit 사용자 정보를 설정하는 방법과 사용자 설정 관련 기능을 살펴봤고, 개발 도…
AI에 관한 일반적인 오해 최근 IT 업계 뿐 아니라 사회 전반에 걸쳐 인공지능(AI) 혁명이 일어나고 있지만 동시에 다음과 같은 인공지능 전반에 관한 오해도 공존하고 있습니다. (1) 딥러닝을 통해 AI가 인간의 지능 수준까지 도달할 수 있다. (2) 알파고의 놀랄만한 성공을 보면,…
NAVER Tech Talk: 개발 언어&방법 (2017년 5월~9월) - 등록일 - 2018.02.07 - | - 코멘트 - 6142 NAVER에서는 매주 사내외 전문가를 초빙하여 테크톡을 진행하고 있는데요, 개발 언어 및 개발 방법을 주제로 한 발표 영상(2017년 5월~9월)을 모…
현재 일고 있는 AI 혁명의 주요 동인 중 하나는 이미지 인식 자동화에 딥 러닝을 적용시켜 성공했다는 데 있습니다. 2012년 인공신경망(Artificial Neural Network) 아키텍처인 AlexNet이 ImageNet 대회에 출전하여 획기적으로 향상된 정확도를 선보이면서 산업…
NAVER Tech Talk: AI 2차 (2017년 5월~12월) - 등록일 - 2017.12.22 - | - 코멘트 - 7610 NAVER에서는 매주 사내외 전문가를 초빙하여 테크톡을 진행하고 있는데요, 발표자 분의 공개 동의를 얻어 NAVER Engineering 페이스북에 공개한…
분산 트랜스코더의 구조와 구현 원리 - 등록일 - 2017.12.22 - | - 코멘트 - 15808 동영상 서비스는 다양한 환경에 있는 많은 사용자에게 일관된 서비스 품질을 보장하기 위해 트랜스코딩이라는 과정을 거쳐 동영상을 제공합니다. 트랜스코딩은 원본 영상의 코덱을 다른 코덱으로…
리액트 HOC 집중 탐구 (1) 리액트 HOC 집중 탐구 (1) 리액트가 정식으로 릴리즈된 지도 벌써 4년이 훌쩍 지났다. 얼마전 나온 16.0 버전에 이르기까지 내부적으로도 많은 발전이 있었고, 수 많은 리액트 관련 라이브러리들이 나오는 등 외부적으로도 많은 발전이 있었다. 지금은 거…
Presto 쿼리 실행계획 겉핥기 들어가며 우리는 여러 가지 이유로, 여러 가지 용도에 사용하기 위해 데이터를 조회합니다. 많은 경우 SQL기반의 데이터 처리 엔진에 SQL 을 사용해서 데이터를 조회하게 됩니다. 이 때, 기본적으로 문법에 맞춰서 데이터를 조회하면 데이터가 잘못 나올 일…
학습에 실패한 이야기 프로그래머에게 지속적인 학습은 기본적으로 갖춰야 할 덕목 중 하나라고 생각합니다. 문제를 해결하는 방법들은 계속 발전하고 변해가며 하나를 배우면 오히려 배울 것이 늘어나는 경험을 항상 합니다. 당장 우아한형제들의 구성원을 봐도 직급이나 연차와 상관없이 아침, 점심시…
HTTPS 전환 과정에서 read timeout 오류 해결 과정 - 등록일 - 2017.12.05 - | - 코멘트 - 79060 네이버는 최근에 서비스에서 사용하는 프로토콜을 HTTP에서 HTTPS로 전환하고 있습니다. 네이버 카페와 '좋아요' 플랫폼 사이의 통신에 사용하는 프로토콜도…
FFmpeg을 이용한 음원 볼륨의 평준화 - 등록일 - 2017.12.01 - | - 코멘트 - 36920 오디오 서비스를 제공하는 입장에서 창작자와 청취자에게 더 좋은 오디오 경험을 제공하는 것은 매우 중요한 일입니다. 오디오 서비스를 이용하면서 사용자가 겪는 주요한 불편함에 '음원들…
Spark가 아파치 프로젝트로 릴리즈 된지 3년이 지난 지금, 데이터 배치 처리에 있어서 Spark는 이제 가장 많이 쓰이는 프로젝트가 되었다. Spark가 인기가 있는 이유는 여러가지가 있지만 그 중에서도 엔진의 빠른 속도와, 그 엔진을 기반으로 한 GraphX, MLlib, Stre…
블라인드 채용으로 관심을 모은 카카오 신입 공채의 세 번째 테스트가 지난 10월 29일(일), 오후 2시부터 6시까지 네 시간에 걸쳐 오프라인으로 치러졌습니다. 두 차례의 온라인 테스트를 통과한 지원자들이 한 자리에 모여 다시 한번 실력을 검증하는 자리를 가졌습니다. 세 번째 관문 오프…
SD-WAN 솔루션 시장의 성장이 점점 빨라지며, 놀라운 속도로 확대 될 것으로 예상하고 있습니다. 이번 리포트를 통해SD-WAN 개념과 구현 기술 그리고 어떤 분야에 적용할 수 있는지 살펴보고, 최근 많은 기업과 통신사업자들 사이에서 왜 주목 받고 있는지 알아보겠습니다. SD-WAN(…
Overview Part 1: 분산 웹 캐시에서는 카카오의 트래픽을 처리하고 있는 Wcache에 대한 간략한 소개를 하였습니다.이전 버전의 Wcache는 기본적으로 준수한 응답속도를 보이고 있었지만, metadata를 집중된 DB에 저장하는 방식 및 기타 구조상의 문제로 인한 성능 안정…
Overview 웹 서비스의 규모가 커지고 이용자의 수가 늘어날수록 서비스 제공자는 scalability 이슈에 직면합니다.그중에서도 실제 ‘로딩 속도’의 차이를 느끼게 해 주고 트래픽의 대부분을 차지하는 정적 컨텐츠의 신속한 제공은 서비스 품질을 좌우하는 중요한 요소가 되곤 합니다.…
코딩테스트 연기 건 사과 드립니다. 사과 드립니다. 10월 21일 오후 2시에 진행 예정이었던, 신입공채 1차 코딩테스트가 원활하게 진행되지 못하고 연기하게 된 점 사과 드립니다. 우아한형제들은 코딩테스트를 위하여 Codility라는 서비스를 이용하고 있습니다. 이번 신입공채에 굉장히…
최신 애플리케이션 개발 트렌드 최근 애플리케이션 개발 트렌드 관련 용어 중 Cloud Native, Microservices, Container 등에 대해서 많이 들어봤을 겁니다. 이 용어들은 서로 밀접한 관련이 있는 듯 보이지만 정작 어떤 관계인지를 설명하기란 쉽지 않습니다. 용어들…
자바 직렬화, 그것이 알고싶다. 실무편 자바의 직렬화 기술에 대한 대한 두 번째 이야기입니다. 실제 자바 직렬화를 실무에 적용해보면서 주의해야 할 부분에 대해 이야기해보려고합니다. 자바 직렬화 실제 업무에서 사용해보기 자바 직렬화는 자바 개발자 입장에서는 상당히 쉽고 빠르게 사용할 수…
자바 직렬화, 그것이 알고싶다. 훑어보기편 자바의 직렬화 기술에 대한 대한 이야기입니다. 간단한 질문과 답변 형태로 자바 직렬화에 대한 간단한 설명과 직접 프로젝트를 진행하면서 겪은 경험에 대해 이야기해보려 합니다. 자바 직렬화가 무엇(what)인가요?? - 자바 직렬화란 자바 시스템…
지그재그 서비스는 모놀리식 아키텍처(Monolithic Architecture)에서 마이크로서비스 아키텍처(Microservice Architecture)로 전환중에 있습니다. 이번 글에서는 그 과정을 설명하려고 합니다. 크로키는 2012년 중반에 첫 서비스 개발을 시작했습니다. 웹 서…
hbase-packet-inspector 이번에 카카오에서 오픈소스로 공개한 hbase-packet-inspector (이하 HPI) 는 HBase 리젼서버의 네트워크 패킷을 분석해 요청과 응답 정보를 추출하는 툴입니다. 기존의 모니터링 툴을 통해서는 알 수 없었던 보다 상세한 정보들을…
“회사에서 시키는 자격증은 다 따고, 영어 등급도! 그래야, 오래 버틴다구!” “임원 승진하는 것보다, 정년까지 근무하는게 더 어려운 세상이야…” 이런 이야기를 듣기 시작한 것은 최근의 일이 아니라, 신입으로 입사하면서 주변의 선배들로부터입니다. 월급쟁이 마인드, 나는 회사에서 무슨 존…
What's New in iOS11 안녕하세요. 게임플랫폼클라팀 박판기입니다. 해당 포스트에서는 곧 출시될 iOS11의 새로운 피처들과 향상된 기능들, 그리고 변경된 점들을 다뤄보겠습니다. WWDC 2017 + iOS11 Beta 지난 WWDC 2017 에서 iOS11에 대한 많은 정보…
실시간 서비스 경험기(배달운영시스템) 경험기 들어가기 앞서 이 글은 신기술 사용기 또는 소개가 아닌 실시간 서비스 즉 배민라이더스 BROS 1.0 을 개발 하면서 겪어왔던 다소 특별한 개발 및 운영 경험기 입니다. BROS 2.0이 나온 상황에서 1.0을 이야기 하는 것이 다소 순서가…
- blog Parallel Programming and Applicative in Scala Monolithic 아키텍쳐로 개발하기 Monolithic 아키텍쳐로 개발시에는 일반적으로 하나의 저장소만 고려해야 하는 경우가 많았습니다. Monolithic 아키텍쳐를 사용하면 편리한점이…
Hystrix! API Gateway를 도와줘! 들어가기 안녕하세요. 배민FRESH 서비스를 개발하고 있는 조건희입니다. 오늘은 API Gateway를 사용하면서 겪은 뼈아픈(?) 장애 사례와 해결 과정을 간단히 공유하고자 합니다. 너무 자세하게 쓰지는 않았습니다. 관련된 링크를 충분히…
MQTT 적용을 통한 중계시스템 개선 어떤 필요에 의해서? 주문중계채널은 개별 디바이스들이 중계서버에 일정시간에 한번씩 API polling을 하는 구조로 운영되고 있습니다. 신규주문 뿐만 아니라 주문의 취소나 상태변경과 같은 정보를 전달 받기 위해 API polling을 수행합니다.…
GitHub의 Merge, Squash and Merge, Rebase and Merge 정확히 이해하기 GitHub의 새 버전에서 merge, squash and merge, rebase and merge 세 종류의 merge를 모두 지원하기 시작했습니다. 각 머지 방식에 따라 커밋…
Gerrit을 이용한 코드 리뷰 시스템 - 사용자 권한 관리(1) - 등록일 - 2017.08.02 - | - 코멘트 - 29834 "Gerrit을 이용한 코드 리뷰 시스템 - 인증 환경 설정"에서는 Gerrit에 접근하는 사용자를 인증할 수 있는 방법을 살펴봤습니다. 다음 단계는 인증…
인(人)턴(Turn) – 당신 인생의 전환점 우아한 테크 캠프 흔히 인턴이라고 하면 단기간 회사에서 정식 구성원이 되기 위해 실습 훈련을 밟는 일원을 말합니다. 말이 실습 훈련이지 막상 회사에 가면 짧게는 2개월, 길게는 6개월, 1년 동안 제대로 된 실습 훈련을 받지는 못합니다. 개발…
원본기고일: 2017년 1월 03일 1. 블록체인 플랫폼, 이더리움의 탄생과 진화 이더리움은 무엇인가? 이더리움(Ethereum)은 비트코인(Bitcoin) 기술에 자극을 받은 19세 러시아 청년 Vitalik Buterin이 ’14년에 개발한 범용 블록체인 플랫폼이다. 모든 거래 참여…
Swift가 진화하는 법 누구? 안녕하세요. FC 서비스 개발팀에서 육아(샤워 전문)와 iOS 앱(배민프레시) 개발을 담당하고 있는 최광훈입니다. 발단 배민프레시 2.0.0 iOS버전을 무사히 올리고, 아기 샤워를 마치고, 밥을 먹이고, 잠을 재우고(그러나 새벽에 다시 깨었지. 30분을…
지능형 비디오영상에서의 인간행동(People Behavior) 이해와 산업 활용사례 기업용 비디오 현황 많은 기업이 영상 감시를 위해 많은 CCTV 카메라를 설치합니다. 2016년 기준 전세계적으로 약 3억 5천만대의 감시카메라가 설치된 것으로 추정됩니다. 이러한 카메라에서 방대한 양의…
GitHub 환경에서의 실전 Git 레시피 저희 팀은 Git으로 소스를 관리하고, GitHub로 코드 리뷰를 진행하고 있습니다. 또한, 저희 팀 상황에 맞춰 변형한 Git Flow 전략으로 브랜치 관리를 하고 있죠. 하지만 Git을 사용하며 개발을 하다 보면 종종 뭔가 잘못되거나, 예상…
Web Components(2): Custom Elements 오늘은 이전에 썼던 글 WebComponents: Keep calm and #UseThePlatform에 이어지는 것으로, Web Components의 주요 표준 중 하나인 Custom Elements에 대한 글이다. TL;…
빅데이터란 무엇인가? 빅데이터의 정의는 주체자에 따라 조금씩 다르게 표현하고 있다. Wikipedia를 참조하면 빅데이터란 “기존 데이터베이스 관리도구로 데이터를 수집, 저장, 관리, 분석할 수 있는 역량을 넘어서는 대량의 정형 또는 비정형 데이터 집합 및 이러한 데이터로부터 가치를 추…
Gerrit을 이용한 코드 리뷰 시스템 - 인증 환경 설정 - 등록일 - 2017.06.19 - | - 코멘트 - 14740 "Gerrit을 이용한 코드 리뷰 시스템 - 코드 리뷰 시스템 설치"에서는 Apache와 MySQL을 사용하는 Gerrit 코드 리뷰 시스템을 설치하는 방법을 살…
HTTPS 전환 후 서버 메모리는 안녕한가요? - 등록일 - 2017.06.14 - | - 코멘트 - 38216 Apache 웹 서버에 HTTPS와 HTTP/2를 적용한 다음 메모리 누수(memory leak) 현상이 발생했습니다. 서버마다 메모리가 80% 이상 사용되고 있어 메모리를…
배민 API GATEWAY – spring cloud zuul 적용기 서비스를 운영하고 개발하는 팀이라면, LEGACY라는 거대한 괴물이 얼마나 다루기가 힘든 일인지 동감 할 것이다. 이 괴물이 오래되면 될수록, 크면 클수록… 제가 운영하고 개발하고 있는 팀에도 7년 묵은 괴물이 살고…
Redux-Saga에서의 WebSocket(socket.io) 이벤트 처리 React(이하 리액트), Redux(이하 리덕스) 생태계에서 소켓과 같은 외부 이벤트 처리는 개발에 많은 고민을 안겨준다. 똑같은 외부 이벤트가 발생하더라도 앱의 상태에 따라 다르게 처리하고 싶을 수도 있고,…
Socket.io-Client for Unity3D 소개 들어가면서 socket.io 웹 환경에서는 클라이언트인 브라우저와 서버 간에 푸쉬나 실시간 데이터를 처리하는데 여러 가지 방법을 활용했습니다. 그중에 Ajax를 이용한 polling, Long polling과 Streaming의…
김영권 금융컨설팅팀장 전세계적으로 전개되고 있는 제4차 산업혁명의 여러 혁신적인 신기술들 중 하나로 블록체인이 주목 받고 있다. 초연결(hyper-connectivity)과 초지능(superintelligence)으로 대변되는 제4차 산업혁명은 이전의 산업혁명에 비해 더 빠르고 넓게 전…
빅데이터 다차원 분석 플랫폼, Kylin - 등록일 - 2017.05.15 - | - 코멘트 - 24508 대규모 데이터에서 데이터 인사이트를 얻는 것은 매우 어려운 일입니다. 특히 데이터 인사이트를 얻기 위해 몇 십억 건의 데이터에 다수의 GROUP BY 질의를 실시간으로 실행해 결과…
최근 클라우드 컴퓨팅환경이 널리 사용되면서 서버 하드웨어 대한 유지보수 및 구성을 신경 쓰지 않고, 다양한 서비스들을 위한 서버를 개발할 수 있게 되었습니다. 하지만 이런 환경을 사용함에도 auto-scaling이나 서버 로그 수집, 서비스 배포 및 관리 등 소프트웨어 스택에 관한 부분…
“NoSQL”이란 용어를 들어보신 적이 있는지요? 관계형 DBMS에서 데이터를 조회, 수정, 삭제하거나, DBMS를 조작하는데 사용되는 언어인 SQL(Structured Query Language)은 많이 들어보셨을 텐데, “No”+ “SQL”이라니? 아마 IT 산업에 현재 일하고 계시…
비트코인은 알아도 블록체인을 모른다? 지난 수년간 금융기술(핀테크), 그리고 가상화폐에 관한 논의가 있었다. 이 화두를 이끈 것은 단연 비트코인(BitCoin)이었다. ‘나카무라 사토시’라는 가명을 사용하는 수수께끼의 개발자가 만들어 보급시킨 비트코인은, 어느 국가의 중앙정부로부터도 통…
글로벌 대표 리서치 기관에 따르면 전세계 데이터 양은 2년 마다 2배씩 증가하고 있으며, 기업에서 다루는 스토리지 볼륨은 연평균 50% 이상 커지고 있습니다. 이에 비례하여 기업의 데이터 관리 비용도 기하급수적으로 늘어나고 있습니다. 늘어만 가는 데이터 관리 비용을 절감할 수 있는 방안…
Redux 분석하기 Redux는 Event Sourcing패턴과 Functional programming을 결합하여 라이브러리 형태로 구현한 컨테이너다. 이 컨테이너는 애플리케이션의 상태를 저장하고, 쉽게 예측할 수 있도록 하여 일관된 구현을 유지할 수 있도록 하고, 테스트, 유지보수,…
React 렌더링과 성능 알아보기 React는 간단하면서도 충분히 빠르다. 하지만 착각하지 말자. 대충 만들어도 빠르다는 것은 아니다. React 애플리케이션은 잘 만들어야 빠르다. React의 동작 원리를 이해하고 애플리케이션이 느려질 수 있는 상황들을 찾아 해결하는 것이 중요하다.…
Gerrit을 이용한 코드 리뷰 시스템 - 코드 리뷰 시스템 설치 - 등록일 - 2017.04.19 - | - 코멘트 - 67901 Gerrit은 코드 리뷰 기능과 Git 서버 저장소 관리 기능을 제공하는 웹 기반 코드 리뷰 시스템입니다. 온라인으로 코드의 변경 사항을 비교하고 토론할…
Gerrit을 이용한 코드 리뷰 시스템 - Gerrit과 Git - 등록일 - 2017.03.20 - | - 코멘트 - 40220 "Gerrit을 이용한 코드 리뷰 시스템 - 코드 리뷰와 Gerrit"에서 Gerrit은 내부에 프로젝트별로 Git 중앙 저장소를 여러 개 두고 접근을 제어…
좋은 git 커밋 메시지를 작성하기 위한 7가지 약속 본 글은 Chris Beams의 How to Write a Git Commit Message 블로그 내용을 이해하기 빠르고 쉽게 전달하기 위해 번역, 편집하고 도움이 될만한 내용을 추가한 것입니다. git 커밋 메시지를 잘 쓰려고 노…
React 적용 가이드 - React 작동 방법 - 등록일 - 2017.03.14 - | - 코멘트 - 51103 이전 글인 "React 적용 가이드 - React와 Redux"에서는 React와 Redux를 사용하는 프로젝트를 시작할 때 미리 알고 있으면 좋은 정보를 살펴봤습니다. 이…
OSORI 권한관리 플랫폼 Osori 권한관리 플랫폼 오소리란? 인증(Authentication)과 인가(Authorization)중 Authorization부분을 담당하며 권한 관리를 쉽게 해주는 플랫폼으로 UI형태의 관리 페이지와 라이브러리를 제공함으로써 최소한의 비용으로 연동할 수…
Gerrit을 이용한 코드 리뷰 시스템 - 코드 리뷰와 Gerrit - 등록일 - 2017.02.03 - | - 코멘트 - 78276 코드 리뷰는 프로그램의 소스 코드를 검토해 프로그래밍 중에 간과하고 지나친 오류를 찾아내 제품이나 서비스의 품질을 높이는 행위입니다. 코드 리뷰를 통해…
- blog - open source 오픈소스 간단 리뷰 - nomad : 가벼운 스케쥴러, 강력한 성능 Introduction 서비스 스케줄러는 클러스터 내의 컴퓨팅 리소스를 관리하고 사용자 애플리케이션을 어느 호스트에서 서비스할지 결정하는 시스템 소프트웨어입니다. 컨테이너 스케줄러로…
Overview 대부분의 초기 스타트업은 컨텐츠를 저장할 저장소에 대한 별다른 고민을 하지 않습니다. 여유가 있다면 NAS 장비를 구매해서 사용하고, 아니라면 NFS와 RAID를 구성해서 사용하게 됩니다. 하지만 서비스가 점점 커짐에 따라 하루 동안 저장되는 컨텐츠의 용량이 커지고, 네…
2016년 개편된 Daum영화 프론트엔드 개발에는 ReactiveX의 JavaScript 라이브러리 RxJS 4를 사용했습니다. ReactiveX는 ReactiveX Introduction에서 callback의 문제점에 도움을 주는 것으로 소개가 되어 있습니다. 웹에서는 Angular…
TOAST Haste 소개 목차 들어가기에 앞서 TOAST Haste Let's haste 결론 들어가기에 앞서 우리는 오랜 시간 동안 TCP(Transmission Control Protocol)를 이용해서 많은 애플리케이션을 개발해왔습니다. TCP는 패킷 순서 보장, 흐름 제어, 혼…
Open Container Korea Seoul Meetup 발표자료 - 등록일 - 2016.12.07 - | - 코멘트 - 3797 D2 COMMUNITY 지원을 받고있는 Open Container Korea의 5번째 밋업 발표자료를 공유합니다. Docker와 컨테이너 기술에 관심있는…
자바스크립트 프레임워크 소개 3 - Vue.js 최근에 팀 내에서 진행했던 스터디 내용을 정리하는 의미에서, 4회에 걸쳐 자바스크립트 (프론트엔드) 프레임워크를 소개하는 시리즈를 연재할 예정입니다. 금주부터 아래와 같은 목차로 진행되니 많은 관심 부탁드립니다. - Cycle.js - A…
자바스크립트 프레임워크 소개 2 - Angular2 최근에 팀내에서 진행했던 스터디 내용을 정리하는 의미에서, 4회에 걸쳐 자바스크립트 (프론트엔드) 프레임워크를 소개하는 시리즈를 연재할 예정입니다. 아래와 같은 목차로 진행되니 많은 관심 부탁드립니다. - Cycle.js - Angul…
자바스크립트 프레임워크 소개 1- Cycle.js 최근에 팀내에서 진행했던 스터디 내용을 정리하는 의미에서, 4회에 걸쳐 자바스크립트 (프론트엔드) 프레임워크를 소개하는 시리즈를 연재할 예정입니다. 금주부터 아래와 같은 목차로 진행되니 많은 관심 부탁드립니다. - Cycle.js - A…