만사에 관심 많은 청춘입니다. 코알라국에서 웹개발 하고 있어요.

Dell Latitude E7240 디스플레이 교체기

March 21, 2018 Gadget

얼마 전에 중고 Dell Latitude E7240을 100달러 주고 구입했었다. cpu는 i3지만 램도 넉넉하고 ssd도 달려 있어서 그런지 개발 장비로도 큰 무리 없을 것 같아 장만했다. 리눅스 머신을 갖고...

신입 PHP 개발자가 읽어야 하는 책

March 7, 2018 Book

나도 신입으로 일을 시작했을 때 혼자 인터넷 검색창을 붙들고 코드와 씨름한 경험이 있었다. 작은 회사에서 유일한 개발자라 물어볼 선임도 없었고, 문제는 어떻게든 기간 내에 해결해야 하는 상황이 많았다....

트윗덱 메모

March 1, 2018 App

그동안 트위터 공웹을 사용했었는데 트윗덱으로 바꿨다. 공앱이랑 디자인이 거의 비슷하다. 그냥 공앱인데 다른 버전 쓰는 느낌 정도다. 공앱 같은데 광고가 (아직) 없다. 최고. Home을 숨기고 리스트만 보이게 만들었다....

코드에서 macOS 노티피케이션 센터 띄우기

February 19, 2018 Dev

최근 php로 cli 도구를 만드는 프로젝트를 했다. 타겟 서버에 접속하는 권한이 제한적이고 나도 프로젝트 스코프 내에서만 접근 가능한 상황이라 ci를 돌리기 좀 애매해서 bash로만 작성해뒀다. 총 12개의 물리...

리액트 Advanced guides 후반부 노트

February 15, 2018 Dev

리액트의 Advanced guides 페이지를 따라하면서 노트한 내용이다. 가이드 쪽은 옴니버스 같은 기분이라서 반반으로 나눠 읽기로 했다. 기록하고 싶은 부분만 남겼기 때문에 자세한 내용은 각 페이지를 참고한다. Reconciliation React는...

리액트 quick start 노트

February 11, 2018 Dev

리액트의 Quick start 페이지를 따라하면서 노트한 내용이다. js의 컨텍스트에서 이해할 수 있는 부분은 적지 않았다. 코드 스니핏도 간단히 알아볼 수 있게만 적어놔서 전체 내용이나 설명이 궁금하다면 본문을 확인하는게...

Dell Latitude E7240 Archlinux 설치하기

January 27, 2018 Dev

맥북 프로 키보드에 불만족스러워서 그런지 회사에서도 미팅 때마다 사람들이 들고 들어온 노트북을 계속 눈여겨 보게 되었다. 3년 전까지는 델 납품을 받았는데 그 이후로는 레노보를 사용하고 있어서 Dell Latitude랑...

PHP에서 커링 currying 함수 작성하기

January 27, 2018 Code

JavaScript에서 커링 currying 함수 작성하기를 다시 보다가 PHP로도 작성해봤다. function curry($fn) { $arity = (new ReflectionFunction($fn))->getNumberOfParameters(); return ($resolver = function (...$memory) use ($fn, $arity, &$resolver) { return function...

ReactPHP의 Process로 pipe 사용하기

January 23, 2018 Code

ReactPHP의 child-process 패키지를 사용하면 손쉽게 pipe를 사용할 수 있다. 아래 명령을 코드로 전환한다고 생각해보자. $ cat app.php | wc -l 수작업으로 proc_open 열어서 pipe를 받아 fread, fwrite 해도...

Sublime Text 3의 untitled 탭에 첫 행 표시하기

January 14, 2018 App

설정 다시 하기 귀찮아서 Sublime Text 3 업데이트를 미루다가 실수로 눌러버렸다! 사용하는 에디터 중에는 여전히 sublime이 가장 반응속도가 빠르다. 대부분의 코드는 vscode나 vim에서 작성하지만 여전히 짧은 메모라든지 코드...

ipify: 300억 요청 처리, 그 너머로

January 4, 2018 Dev

Randall Degges의 포스트 To 30 Billion and Beyond를 번역했다. ipify를 만들고 확장하는 일련의 과정을 풀어 쓴 이야기다. Thank you, Randall Degges for giving me the opportunity to translate...

타입스크립트의 네임스페이스와 모듈

October 27, 2017 Dev

TypeScript Handbook의 Namespaces and Modules를 번역했다. 용어에 대한 노트: 타입스크립트 1.5에서 기록해둘 만큼 중요한 명명법 변경이 있었습니다. “내부 모듈(Internal modules)”은 “네임스페이스”가 되었습니다. “외부 모듈(External modules)”은 이제 간단하게 “모듈(modules)”이...

이벤트 소싱 event-sourcing 패턴 정리

October 17, 2017 Dev

최근 프로젝트에서 audit을 생성하는 코드를 작성하면서 이벤트 소싱 패턴을 찾아보게 되었다. 여러 포스트를 통해 접해본 내용이지만 실제로 구현해보지 않아서 크게 와닿지 않았었다. 특히 용어가 익숙하지 않았는데 읽으며 궁금해서...

맥북 프로 우측 command키를 언어 전환 키로 사용하기

August 27, 2017 Gadget

시에라 이후로 Karabiner를 쓸 수 없게 되었는데 그나마 Karabiner-elements가 존재해서 그나마 다행이다. 맥에서는 언어 전환을 조합키로 사용하는 설정이 기본이다. 익숙해지면 그래도 괜찮긴 하지만 오늘따라 불편하게 더 느껴져서 어떻게...

Angular의 constructor와 ngOnInit 차이점

August 15, 2017 Code

Todd Motto의 글 Angular constructor versus ngOnInit를 번역했다. Angular의 constructor와 ngOnInit 차이점 Angular는 여러 생애주기 훅이 존재하지만 여전히 constructor도 있다. 이 글에서는 ngOnInit 생애주기 훅과 차이점을 확인한다. 이...

ReactPHP로 고성능 PHP 앱 만들기

August 3, 2017 Dev

Marc Johannes Schmidt가 쓴 Bring High Performance Into Your PHP App (with ReactPHP)을 번역했다. 2014년 초 글이라서 아마 php7을 사용한다면 여기에 언급된 벤치마킹보다 더 나은 수치가 나오지 않을까...

500 마일 이메일 문제

August 2, 2017 Dev

The case of the 500-mile email을 번역했다. 여기 불가능처럼 들리는 문제가 있습니다. 이 이야기를 공개적인 곳에 올리는걸 분명 후회할겁니다. 왜냐면 이 이야기는 컨퍼런스 갔을 때 술마시면서 하기 좋은...

레거시 php 프로젝트를 composer 패키지로 바꾸기

July 13, 2017 Code

요즘 작업하는 환경이 상당히 오래된 코드를 접할 수 있는 환경이라서 코드를 정리하는 일이 많은데 최근 버전에서도 돌아갈 수 있도록 코드를 정리하는 김에 패키지로 관리하고 테스트도 작성하도록 팀에 권하고...

테스트 주도 개발 : Test-Driven Development by Example

June 13, 2017 Book

예전에도 테스트주도개발에 관한 글을 인터넷에서도 한참 찾아보고 읽었었다. 글을 읽고서 TDD를 행동으로 옮겨보면 대부분 글이 구호만 잔뜩 나열했지 무슨 일을 어떻게 해야 하는지 과정을 제대로 설명하는 경우가 거의...

2017년 반절 회고와 반절 계획

June 5, 2017 Life

매년 계획을 정리해서 올렸는데 올해는 반절 지나갈 동안 생각만 하고 분주하게 지냈다. 어떻게든 틈을 내서 글을 쓰면 생각도 차분해지고 일정도 정리되기 마련인데 모든 일이 다 끝나고 나서야 글을...

결혼 청첩장 페이지 개발기

May 30, 2017 Dev

벌써 6월이 코 앞이라 놀랐다. 그만큼 바빴던 일이 많았다. 민경 씨와 3년 반 넘는 장거리 연애 끝에 결혼하기로 작년 말 결정했다. 올해 들어서 이직도 하고, 책도 나오고, 이상한모임...