hatemogi.com

김대현은 다음커뮤니케이션에서 근무하는 소프트웨어 개발자입니다. 2005년부터 Daum 카페, Daum 캘린더, 마이피플등의 웹서비스, 프론트엔드 웹애플리케이션, iOS 모바일앱 개발에 두루 참여했으며, 사내 개발자를 위한 Git저장소 서비스를 직접 구축하여 서비스하는 등, Java/C/Ruby/Node 기반의 다양한 백엔드 시스템을 개발하고 운영했습니다. 2014년 현재는 제주 다음스페이스.1에 근무하며 클라우드기술팀과 NTX팀의 팀장직을 맡고 있습니다.

개인적으로 Ruby, Erlang, Scala등의 프로그래밍 언어에 관심이 많고, 기술적 흥미를 바탕으로 실용적인 가치를 만들어 내는 일을 추구합니다. 직업도 개발이고 취미도 개발입니다.

트위터

@hatemogi에 종종 개발적인 한마디를 적습니다.

GitHub

깃헙에서도 아주 가끔 활동 합니다.

Medium

미디엄에는 나름 진지한 글을 적습니다.

Tumblr

텀블러에는 개발 블로깅을 합니다, 아주 가끔. 그리고,육아일기도 적고 있습니다.

LinkedIn

링크드인에서는 직업적 프로필을 보실 수 있습니다.

SlideShare

슬라이드셰어에는 사내외에서 발표한 자료를 올려놓습니다.

블로그에 남겨야겠다고 생각한 내용이었는데, 벌써 한달이 넘게 지난 일이군요. 지난 얘기지만, 꼭 남겨두고 싶은 얘기들이 있어서 메모를 뒤적이며 기억을 되살려 남겨봅니다. 5월말 Werner Vogels박사 방한에 관련한 내용입니다.

Werner Vogels

werner vogels

아마존닷컴의 부사장이자 CTO인 Werner Vogels 박사님이 방한했습니다. All Things Distributed라는 테크니컬 블로그를 통해, 많은 개발자가 익히 알고 있는 분입니다. 모든 NoSQL 바람의 시초라고 할 수 있는 Amazon Dynamo 논문

더 읽기

소프트웨어 공학 수업 수료

지난 포스트에서 소개드렸던 ‘Software Engineering for SaaS’ 수업의 5주과정이 모두 끝났습니다. 총 2만여명이 하나 이상의 강의 영상을 보았고, 1만여명이 한 번 이상의 과제 제출이나 퀴즈 응시를 했다는군요. 수료 기준은 총 과제 점수의 절반 이상, 그리고 총 퀴즈 점수의 절반 이상을 받는 것이었으며, 약 3,500명 정도가 수료 대상이라고 합니다.

수료증

저랑 같이 일하는 개발자 한 분도 이 수업 내용을 극찬했었는데요, 이렇게 좋은 수업의 내용을 전세계에서 3,500명이 ...

더 읽기

클라우드환경의 소프트웨어공학 수업

Coursera라는 단체(?)를 통해 무료로 제공되는 공개 수업을 소개합니다. 공개 수업 제목은 ‘Software Engineering for Software as a Service’입니다. 총 5주 과정으로, 현재 3주차과정이 진행되고 있습니다. 루비온레일스로 Software-as-a-Service 애플리케이션을 개발하고 배포하는 애자일 개발에 대해 알려줍니다. 버클리 대학에서 실제 했던 수업내용을 녹화해서 제공하는것 같구요, 버클리 학생들은 이 수업을 위해 주당 5~10시간정도를 할애했...

더 읽기

2000년도, 첫 직장에 다니던 때에는 ‘10년 경력’이라는 표현은 나와는 상관 없는 일이었습니다. 그저 ‘10년 경력이면 대단한 실력의 프로그래머가 되겠구나’라고 막연히 생각했었죠. 그야말로 어느덧 시간이 흘러 경력 햇수는 쌓였는데, 꼭 그만한 실력이 함께 쌓이는 것은 아닌가 봅니다. 10년 내내 열심히 실력을 연마하지 않은거겠죠.

이 글은, 그런 10년 경력의 프로그래머가 구글 코드 잼 코리아 2012(Google Code Jam Korea 2012)에 참가한 뒤 쓰는 후기입니다.

Google Code Jam

Google...

더 읽기

GitHub을 소개한 글

엊그제 류광님의 웹 항해일지 - GitHub 특집을 읽었습니다. GitHub에 관련한 소개와 함께 유용한 관련 링크를 알려주셨습니다. 덕분에 GitHub/git에 관심있는 다른 분들의 블로그도 찾아가 볼 수 있었지요. 그 글에도 처음으로 언급돼있듯이, 석찬님이 이미 2009년 1월에 Github, 코드 개발 기반 소셜 네트웍이라는 글로 아주 상세하게 잘 설명해 주셨더군요. 두 글을 읽어보시면, 아 ‘나도 Git/GitHub을 써야겠구나’하는 생각이 들게끔 잘 소개해주신 것 같습니다.

Git: 분산 ...

더 읽기

지난달 18일, Amazon.com의 CTO인 Werner Vogels의 블로그 포스트와 함께, 또 하나의 NoSQL Database서비스가 공개되었습니다. 서비스 이름은 Amazon DynamoDB입니다. 대규모 인터넷 애플리케이션을 위해 설계한 빠르고, 확장성 좋은(scalable) NoSQL 데이타베이스 서비스라고 소개됐습니다. 또 하나라고 말했을 때 눈치채셨을지도 모르겠습니다만, Amazon.com에는 이미 SimpleDB라는 NoSQL 서비스가 있습니다. 이미 SimpleDB가 있는데 왜 DynamoDB를 새로 만들...

더 읽기

2010년 Daum 개발자 컨퍼런스 출품작

2010년 사내 개발자 컨퍼런스를 위해 개발했던 프로젝트 이야기입니다. “아이폰으로 장난감 무선조종 자동차를 제어하는 임베디드 시스템”을 개발해서 전시했었는데요, 기억을 잘 되살려, 그 관련한 이야기를 정리해보려합니다.

아래는 그 때 전시회장에서 시연을 준비중인 모습입니다.

전시회장에서

전날 밤까지도 펌웨어(firmware)를 다 개발하지 못해서 초조했었는데, 운 좋게도 당일 새벽에 잘 마무리가 되어서 전시할 수 있었습니다. 사진의 표정으로보니, 역시 꽤 즐거운 작업이었던것 같습니다....

더 읽기

HTTP Proxy 서버

HTTP 클라이언트의 네트워크 요청을 대신 받아서, 불특정 외부 서버에 대한 요청을 대신 처리해주는 중계 서버를 HTTP forward 프록시 서버라고 부릅니다. 다음과 같은 경우에 HTTP Proxy 서버가 유용히 쓰일 수 있습니다.

  1. 외부 네트워크 트래픽을 줄이거나 속도를 높이기 위한 캐싱(caching)용도
  2. HTTP 프로토콜 관련한 개발 작업중에 테스트 또는 디버깅 용도
  3. 공인 IP가 할당되지 않고, NAT도 안걸려있는 사설 IP환경의 서버이거나, 네트워크 보안정책에 의해 외부...
더 읽기

node.js

서버측에서 자바스크립트 언어로 네트워크 프로그램을 만들어서 운영하기 좋은 node.js라는 환경이 있습니다. 구글의 v8 자바스크립트 엔진위에 구축되었고, Ruby쪽의 EventMachine처럼 Evented I/O처리를 기본으로 합니다.

기존 멀티쓰레드 네트워크 프로그램 개발은 어려운 쓰레드 동기화 문제를 고려해야해서 복잡할 수 밖에 없지만, Event 방식으로 처리하면, 단일 쓰레드에서의 접근만을 고려하면 되므로 꽤나 간단하게 처리가 가능합니다. 대신 비동기 I/O처리를 해야해서 접근방식의 생소함이 있을...

더 읽기