"개발 이야기" 태그된 글

174건의 포스트가 있습니다.

January 2019

1건의 포스트가 있습니다.

January 22, 2019

Tiny Tip Calculator 개발기

iOS 앱 Tiny Tip Calculator 를 만들었다. 계기 매번 식사를 밖에서 할 때마다 팁을 계산하는 모습을 보고 간편한 팁 계산기가 있으면 좋겠다고 생각했다. 그래서 앱스토어에서 받으려고 검색했는데 수많은 팁 계산기가 다음 부류였다. 광…


December 2018

1건의 포스트가 있습니다.

December 12, 2018

기술 업계의 독성 말투 문제, 고칩시다!

이 글은 April Wensel 의 Tech has a Toxic Tone Problem — Let’s Fix It! 번역입니다. 기술 업계의 독성 말투 문제, 고칩시다! 의사소통에 관해서, 특히 엔지니어가 연관된 경우라면 기술 업계에서 독성 …


November 2018

3건의 포스트가 있습니다.

November 15, 2018

Hacktoberfest 2018 후기

지난달 Hacktoberfest 2018 이 열린다고 트위터에서 알게 되었다. 이번이 5회차라고 하니 여러 해 있던 행사인데 어떻게 한번도 몰랐나 싶었다. 그동안 몇 달 코드를 작성할 일이 전혀 없어서 나는 정말 개발자인가 😢 싶을 정도였는데 오랜…

November 06, 2018

단일 리포지터리의 좋은 점

지난 달에 있던 Hacktoberfest 에 참여하면서 Gatsby에 기여를 하게 되었습니다. 단일 리포지터리로 된 프로젝트는 처음 경험해서 코드가 반영되고 갱신되는 과정이 흥미로웠습니다. 단일 리포지터리를 사용하면 다중 리포지터리에 비해 어떤 장…

November 05, 2018

React에서 Redux 전에 배워야 할 8가지

이 글은 Robin Wieruch 의 8 things to learn in React before using Redux 번역입니다. React에서 Redux 전에 배워야 할 8가지 상태 관리(State management)는 어렵습니다. Rea…


October 2018

1건의 포스트가 있습니다.

October 12, 2018

블로그 업데이트

wordpress를 사용해서 운영하고 있던 블로그를 gatsby 기반으로 전환했다. 전환하는 과정에서 고려한 부분과 생각한 점을 정리하려고 한다. 전환 이전의 상황 그동안 wordpress를 직접 호스팅해서 사용하고 있었는데 매월 digitaloce…


August 2018

1건의 포스트가 있습니다.

August 02, 2018

C++ 연산자 오버로딩 가이드라인

이 가이드라인은 California Institute of Technology의 강의 자료인 C++ Operator Overloading Guidelines 를 번역한 글로 C++에서 연산자를 오버로딩 할 때 유의해야 하는 부분을 잘 설명하고 있다…


July 2018

4건의 포스트가 있습니다.

July 25, 2018

프로그램과 프로그래밍에 대해

Bjarne Stroustrup 책 을 읽고 있는데 단순하면서도 마음에 남는 말이 참 많다. Our code must be maintainable … A successful program “ lives ” for a long time (oft…

July 09, 2018

오픈소스 지속가능성 체계적으로 생각해보기

C. Titus Brown 의 글 A framework for thinking about Open Source Sustainability? 을 번역했다. 공유지의 비극과 그 해결책을 오픈소스 프로젝트에 적용해보는 글인데 오픈소스 거버넌스에서 기성 …

July 04, 2018

알고리즘 학습에 대한 조언

Buck Shlegeris의 My advice on studying algorithms 를 번역했다. 알고리즘 학습에 대한 조언 소프트웨어공학 면접에서는 화이트보드 알고리즘 질문을 종종 냅니다. 이런 질문을 어떻게 공부해야 하는지 조언을 하려고 합…

July 02, 2018

node.js의 module.exports와 exports

lazlojuly 의 글 Node.js module.exports vs. exports 을 번역했다. node.js의 module.exports와 exports (노트: 이 글은 Node.js 6.1.0 릴리즈 이후에 작성되었습니다.) 요약 는 …


May 2018

1건의 포스트가 있습니다.

May 02, 2018

공변성과 반공변성은 무엇인가?

Stephan Boyer 의 What are covariance and contravariance? 을 번역한 글이다. 공변성과 반공변성은 무엇인가? 서브타이핑 은 프로그래밍 언어 이론에서 까다로운 주제다. 공변성과 반공변성은 오해하기 쉬운 주제이…


April 2018

3건의 포스트가 있습니다.

April 12, 2018

C# 으로 배우는 적응형 코드

요즘 사무실에서 비는 시간이 좀 많이 있어서 책을 가져다두고 읽었다. 가볍게 읽으려고 읽었던 책을 가져가야지 했는데 지금 회사에서는 C#을 전혀 쓰지 않고 있으니 리마인드도 할 겸 읽게 되었다. 베타리딩을 포함해서 3번째 읽는데 그래도 또 배우는 게…

April 05, 2018

일반 PHP 프로젝트 개발 환경에서 docker 사용하기

지금 있는 회사에서도 정말 오래된 php 페이지가 발굴되어 작업해야 하는 경우가 간혹 있다. 예전에는 그냥 MAMP 같은 패키지를 사용해도 큰 문제가 없었다. 이 회사에서는 기본적으로 포함되어 있지 않은 익스텐션을 사용하는 경우가 많아서 (ldap이…

April 05, 2018

php callable 살펴보기

php에서는 이라는 타입 힌트를 제공한다. 이 타입 힌트는 말 그대로 호출이 가능한 클래스, 메소드, 또는 함수인 경우에 사용할 수 있다. php에서는 타입이 별도의 타입으로 존재하지 않는 대신에 문자열로 처리하고 있어서 다소 모호한 부분도 있다…


March 2018

3건의 포스트가 있습니다.

March 31, 2018

오픈소스 메인테이너는 당신에게 빚진 적 없다

Mike McQuaid의 Open Source Maintainers Owe You Nothing 를 번역한 글이다. 이 번역은 CC-BY-NC-SA 를 준수한다. 오픈소스 메인테이너는 당신에게 빚진 적 없다 이 포스트는 지난 10년간 오픈소스 …

March 22, 2018

Org-mode 기초부터 시작하기

Press key for an agenda command a Agenda for the current week or day t List of all TODO entries (require ‘org-install)

March 07, 2018

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

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


February 2018

4건의 포스트가 있습니다.

February 19, 2018

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

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

February 15, 2018

리액트 Advanced guides 후반부 노트

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

February 14, 2018

리액트 Advanced guides 전반부 노트

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

February 11, 2018

리액트 quick start 노트

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


January 2018

3건의 포스트가 있습니다.

January 27, 2018

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

JavaScript에서 커링 currying 함수 작성하기 를 다시 보다가 PHP로도 작성해봤다. js 버전도 요즘 스타일로 작성하면 좀 더 간결할 것 같다. php와 js와의 차이점을 적어보면, 함수에서 몇 개의 파라미터를 사용하는지 알아내기 위해…

January 23, 2018

ReactPHP의 Process로 pipe 사용하기

ReactPHP의 child-process 패키지를 사용하면 손쉽게 pipe를 사용할 수 있다. 아래 명령을 코드로 전환한다고 생각해보자. 수작업으로 열어서 pipe를 받아 , 해도 되지만 코드가 복잡해진다. ReactPHP를 사용하면 …

January 14, 2018

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

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


October 2017

3건의 포스트가 있습니다.

October 27, 2017

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

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

October 18, 2017

이벤트 소싱 event-sourcing 패턴 JavaScript로 구현하기

얼마 전 이벤트 소싱 패턴에 대한 글 을 작성했다. 글을 읽고나서 js로 간략하게 구현해봤던 내용을 글로 정리했다. 개념을 나눠 설명하기 위해 CQRS 부분은 다른 글을 통해 덧붙이려고 한다. 여기서 사용하는 구현은 프로덕션에서 사용하기에 부족한 …

October 17, 2017

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

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


August 2017

5건의 포스트가 있습니다.

August 18, 2017

Angular의 의존성 주입 이해하기 – @Inject, @Injectable, 토큰과 프로바이더

Todd Motto 의 글 Mastering Angular dependency injection with @Inject, @Injectable, tokens and providers 를 번역했다. Angular 내에서 의존성 처리를 위해 어떤 과정…

August 15, 2017

Angular의 constructor와 ngOnInit 차이점

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

August 14, 2017

Angular 1을 배워야 하나요 2를 배워야 하나요?

Todd Motto 의 글 Should you learn Angular 1.x or 2? 를 번역했다. Angular 1을 배워야 하나요 2를 배워야 하나요? “ Angular 1을 배워야 하나요 2를 배워야 하나요? ” 라는 질문은 정말 자주 받…

August 03, 2017

ReactPHP로 고성능 PHP 앱 만들기

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

August 02, 2017

500 마일 이메일 문제

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


July 2017

2건의 포스트가 있습니다.

July 13, 2017

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

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

July 07, 2017

PHP 함수 타입 선언과 정적분석도구 phan 활용하기

PHP에서도 다른 타입 언어처럼 함수 인자에 타입을 지정할 수 있도록 타입 선언(Type declaration)을 지원한다. 1 동적 타입 언어에서 왜 이런 문법을 사용해야 하는가에 대한 이야기는 여전히 많지만 타입 선언을 사용하는 쪽을 선호한다…


June 2017

2건의 포스트가 있습니다.

June 26, 2017

데이터베이스에서 객체를 지연 로딩(lazy loading) 하기

최근 프로젝트에서 PDO를 사용해 작업하다보니 아무래도 ORM에 비해 아쉬운 점이 많아 ORM의 구현을 살펴보는 일이 잦아졌다. Giorgio Sironi의 글 Lazy loading of objects from database 을 번역했다. 좀 …

June 13, 2017

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

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


May 2017

3건의 포스트가 있습니다.

May 25, 2017

제네릭 없는 PHP 인터페이스

PHP를 사용하면서 가장 아쉬운 부분은 인터페이스다. PHP는 인터페이스를 지원하고 있고 이 인터페이스를 활용한 타입 힌트, 의존성 주입 등 다양한 방식으로 적용 가능하다. 하지만 제네릭 타입이 존재하지 않아서 타입 컬렉션 같이 재사용하기 좋은 인터…

May 10, 2017

왜 클래스죠?

최근 아키텍처에 관한 책을 읽고 있는데 레퍼런스로 나온 글 중 하나로 Hadi Hariri 의 글 Refactoring to Functional–Why Class? 을 번역했다. 이 글은 함수형으로 리펙토링하기라는 코틀린 연재 중 일부라서 그다지…

May 02, 2017

Google Chrome에서 자가서명 인증서에 missing_subjectAltName 문제가 발생하는 경우

Google Chrome 58 에서 정책 EnableCommonNameFallbackForLocalAnchors의 기본 설정이 변경되었다. 이 변경으로 개발 환경에서 https에 사용하는 사내 자가서명 인증서에 문제로 접근이 차단되었다. 보안상 …


April 2017

1건의 포스트가 있습니다.

April 20, 2017

서비스 로케이터는 안티패턴이다

새로 옮긴 회사에서 열심히 레거시를 정리하고 있다. 기존 코드는 관리가 전혀 되지 않는 인하우스 프레임워크를 사용하고 있어서 전반적으로 구조를 개편하기 위해 고심하고 있다. 이 포스트는 Mark Seemann 의 Service Locator is…


March 2017

1건의 포스트가 있습니다.

March 17, 2017

Satis로 PHP 패키지 리포지터리 만들기

PHP에서 Composer를 통해 사용할 수 있는 패키지 리포지터리 서비스인 Packagist는 오픈소스로 공개되어 있어서 필요하면 누구든지 받아 사용할 수 있게 되어 있다. 하지만 Solr이라든지 Redis라든지 요구하는 환경이 있어서 Packag…


January 2017

1건의 포스트가 있습니다.

January 29, 2017

영문 설정 OS의 크롬 웹페이지 한글 깨짐 현상 고치기

이상하게 집이나 회사에서 한국어 웹사이트를 접속하면 종종 한글이 제대로 표시되지 않는 문제를 겪고 있었다. 사파리에서는 그렇게 동작하지 않는 것 같은데 크롬에서는 자주 깨진 모습으로 나타난다. 증상은 웹페이지에서 한글이 깨진 문자로 나온다는 점이다.…


October 2016

1건의 포스트가 있습니다.

October 12, 2016

레거시 PHP에서 모던 PHP로 – 뷰 분리하기

흔히 모던 PHP라고 말하는 현대적인 PHP 개발 방식에 대해 많은 이야기가 있다. 새 방식을 사용하면 협의된 명세를 통해 코드 재사용성을 높이고 패키지를 통해 코드 간 의존성을 낮출 수 있는 등 다른 프로그래밍 언어에서 사용 가능했던 좋은 기능을 …


September 2016

5건의 포스트가 있습니다.

September 26, 2016

파이썬 @memoize 고립된 환경에서 사용하기

파이썬에서 데코레이터를 정말 자주 사용하고 있지만 다양한 용례는 접해보지 못했었다. Ned Batchelder의 글 Isolated @memoize 은 @memoize 데코레이터에 대한 이야기인데 같이 곁들여진 설명과 각 링크가 유익해서 번역했다.…

September 20, 2016

파이썬 리스트 vs. 튜플

파이썬을 처음 공부할 때 리스트와 튜플에 대해 비슷한 의문을 가진 적이 있었다. 이 둘을 비교하고 설명하는 Ned Batchelder의 Lists vs. Tuples 글을 번역했다. 특별한 내용은 아니지만 기술적인 차이와 문화적 차이로 구분해서 …

September 15, 2016

스마트 소켓 Orvibo S20을 라즈베리 파이로 텔레그램과 연동하기

반 년 전에 Orvibo S20이라는 스마트 소켓을 구입했다. 스마트 소켓은 스위치를 제어할 수 있도록 Wifi 모듈이 내장되어 있다. 스마트폰 앱을 사용해서 이 소켓의 전원을 올렸다 내렸다 할 수 있는데 집에 있는 거실 스탠드와 안방 스탠드에 연결…

September 13, 2016

setup.py와 requirements.txt의 차이점과 사용 방법

파이썬을 사용하다보면 setup.py와 requirements.txt를 필연적으로 마주하게 된다. 처음 봤을 때는 이 둘의 용도가 비슷하게 느껴져서 마치 둘 중 하나를 골라야 하는지, 어떤 용도로 무엇을 써야 하는지 고민하게 된다. 같은 내용을 이상…

September 10, 2016

PyCon AU 2016 참가 후기

Python을 실무에서 많이 사용하고 있지 않긴 하지만 사용할 때마다 재미있고 깊게 배우고 싶다는 생각이 늘 드는 언어 중 하나다. 관심을 갖기 시작했을 때부터 PyConAU에 다녀오고 싶었는데 이전엔 브리즈번에서 하고 그 전엔 호바트에서 해서 숙박…


August 2016

1건의 포스트가 있습니다.

August 24, 2016

리눅스 접근 권한, 특수 권한 설정 정리

최근 프로젝트 중 인프라 회사와 함께 협업하는 프로젝트가 있었다. 이전까지 사용하던 방식과는 다르게 상당히 세세한 퍼미션 설정으로 환경을 잡길래 다시 공부하는 겸 정리하게 되었다. 리눅스(또는 Unix-like) 시스템에서는 파일의 접근 권한과 파일…


July 2016

3건의 포스트가 있습니다.

July 17, 2016

MS PowerShell 버전과 확장자 ps1

파워쉘을 가장 처음 접했을 때 확장자에 숫자가 있어서 어떤 의미인지 궁금했는데 오늘 잠시 검색해보고 내용을 정리했다. 먼저 결론을 얘기하면 버전과 상관 없이 이 파워쉘 스크립트의 확장자다. 파워쉘은 이전까지 Monad Manifesto 라는 Wi…

July 08, 2016

MS PowerShell에서 텔레그램 메시지 전송하기

얼마 전에 Windows 환경이 필요해 lubuntu 설치해서 사용하던 노트북을 Windows 10으로 전환했다. 이 노트북은 32GB eMMC 내장이라 사실 공간이 엄청 부족한 편이다. Windows 10을 설치하고 나니 5GB만 남아서 Visua…

July 04, 2016

dd 사용해서 이미지 백업/복원하기

윈도 머신이 잠시 필요해서 lubuntu를 설치한 컴퓨터를 다시 Windows로 복구했다. Lubuntu로 밀기 전에 명령으로 이미지를 백업해뒀는데 과정을 따로 기록해두질 않아서 삽질을 좀 하게 되었다. 그래서 이번에는 안전하게 잊을 수 있도록 …


June 2016

1건의 포스트가 있습니다.

June 23, 2016

C# 초보가 C# 패키지를 만드는 방법 발표 후기

지난 21일 Weird Developer Melbourne 밋업 이 있었다. 3회차인 이번 밋업은 라이트닝 토크 형식으로 진행되었고 그 중 한 꼭지를 맡아 C# 초보가 C# 패키지를 만드는 방법 주제로 발표를 했다. C# 스터디 에 참여한 이후…


May 2016

1건의 포스트가 있습니다.

May 04, 2016

git 한글 파일명 사용 문제 고치기 core.quotepath

지금까지 git을 숱하게 사용했지만 한글 파일명은 문제가 생긴다는 사실을 이제야 알았다. 다음처럼 를 끄면 , 등에서 한글 출력이 정상으로 돌아온다. 이 설정은 일반적이지 않은 문자를 탈출문자로 처리하는 기능을 수행한다. 그래서 한글 앞에 탈…


April 2016

3건의 포스트가 있습니다.

April 14, 2016

크로스플랫폼에서 ASP.NET Core 애플리케이션 개발하기 발표 자료

올해부터 호주 멜버른에서 IT 개발 직군에 종사하는 한국어 구사자를 위한 Weird Developer Melbourne 이 운영되고 있다. 2월 16일 밋업 에 발표했던 자료인데 정리해서 올린다고 하고 두 달이나 지나서야 올리게 되었다. 발표 영…

April 10, 2016

iterm에서 zsh 사용할 때 `Opt + 방향키` 설정하기

이전에도 iterm을 설치했었지만 키맵이 영 익숙해지지 않고 기본 터미널과 맞추려니 이것저것 찾아보는게 귀찮아서 계속 터미널을 사용하고 있었다. neovim을 설치하는 차에 iterm3 베타가 나왔다는 얘기가 생각나서 iterm도 설치했다. Opt …

April 02, 2016

Gradle로 Java 프로젝트 시작하기 요약

spring의 gradle로 프로젝트 시작하기 를 따라하며 정리한 글이다. 먼저 brew로 java와 의존성 및 빌드 관리/자동화 도구인 gradle 을 설치한다. 문제없이 설치되었다면 버전 정보를 출력한다. gradle로 프로젝트를 초기화한다. …


February 2016

6건의 포스트가 있습니다.

February 29, 2016

tmux 사용에 도움되는 설정과 플러그인 정리

최근에 구입한 Dell 노트북 에 조금이라도 가볍게 사용해보려고 Lubuntu를 설치해서 사용하고 있다. 트랙패드가 예전에 비해 많이 나아지긴 했지만 아무래도 맥북에서 사용하던 것과는 많이 달라서 좀 더 키보드 친화적인 환경을 꾸려야겠다는 생각이 들…

February 22, 2016

JavaScript의 Generator와 Koa.js 소개

사이드 프로젝트에서 Express를 오랜 기간 사용했었는데 hapi 가 좋다는 얘기를 듣고는 hapi를 많이 사용해왔다. Hapi도 단순하긴 하지만 “ 설정만 넣으면 되는 ” 단순함이라서 설정에 들어가는 수고가 꽤 컸다. 최근에는 토이 프로젝트에…

February 15, 2016

떠나세요, PHP 개발자여. 아니면 잘하든가!

PHP 개발자는 그 태생부터 죄에 속한 것과 같이 업을 쌓고 산다. 아무리 좋은 디자인과 아키텍처, 방법론으로 무장하고 있더라도 그 죄성은 쉽게 씻겨지지 않는다. 어디서든 PHP 개발자라는 얘길 하면 PHP: 잘못된 디자인의 프랙탈 링크를 받게 …

February 09, 2016

Node.js의 Events `EventEmitter` 번역

는 Node.JS에 내장되어 있는 일종의 옵저버 패턴 구현이다. node 뿐만 아니라 대부분의 프레임워크나 라이브러리에서 이 구현을 쓰거나 유사한 구현을 활용하고 있는 경우가 많다. DOM Event Listener를 사용해본 경험이 있다면 사실 특…

February 02, 2016

VS Code에서 TypeScript 환경 꾸리기

Visual Studio Code에서 TypeScript을 사용하는 환경을 꾸리는 방법을 정리했다. vscode에 아직 기능이 많은 편은 아니지만 여러 편의 기능이 있어 환경을 구축하는데 활용했다. 물론 실무에서 사용할 땐 webpack이나 여타 t…

February 01, 2016

중고 사이트 게시물 모니터링 도구 작성 후기

호주에서도 중고나라 같은 gumtree.com.au 라는 웹사이트가 있다. 출퇴근을 자전거로 해보고 싶어서 저렴한 자전거를 찾고 있는데 괜찮은 딜은 검트리에 올라오는 족족 팔리기 때문에 수시로 모니터링 하지 않는 한 저렴한 물건을 구하기가 쉽지 않…


January 2016

4건의 포스트가 있습니다.

January 30, 2016

Django Girls 튜토리얼 정리

이상한모임에서 진행할 사이드 프로젝트에 Django를 사용하게 되었는데 제대로 살펴본 경험이 없어서 그런지 영 익숙해지질 않았다. 이전에 Django Girls 튜토리얼 – django로 블로그 만들기 포스트를 본 것이 생각나서 살펴보다가 튜토리…

January 28, 2016

Nginx 설정으로 robots.txt 덮어쓰기

대부분 개발은 폐쇄망에서 개발하거나 공개되어도 auth 등을 걸어둬 아무나 접속하지 못하는 환경이기 때문에 큰 문제가 없다. 하지만 가끔 크롤링 되지 말아야 할 사이트가 검색엔진에 크롤링 되는 경우가 종종 있다. robots.txt을 에 넣어 각 …

January 26, 2016

표현 문제 (Expression problem)

상속에 관한 포스트를 읽다가 레퍼런스로 c2의 Expression Problem 페이지를 보게 되었는데 내용이 좋아 짧게 번역했다. 원문은 wiki로 작성되어 있으므로 자세한 내용이 궁금하다면 해당 페이지를 참고하자. “ 표현 문제(Express…

January 05, 2016

내가 Google Chrome을 떠나지 못하는 이유

Google Chrome은 2008년 말에 퍼블릭 베타로 처음 맛을 본 직후 군입대를 했다. 군자원(?)으로 사용한 것까지 치면 Chrome을 주 브라우저로 사용한지 벌써 6년이란 시간이 흘렀다. 개발에서 사용하는 도구 중 IE6 이후로 가장 오래 …


December 2015

3건의 포스트가 있습니다.

December 23, 2015

Angular에서 디렉티브 간 `require`를 사용해 소통하기

Todd Motto의 글 Directive to Directive communication with “ require ” 를 번역한 글이다. 짧은 글이지만 디렉티브의 계층 관계에서 를 활용해 값을 주고 받는 방법을 살펴볼 수 있다. 다른 디렉티…

December 15, 2015

구석기 PHP와 현대적인 PHP 비교하기

PHP는 언어적인 지원은 물론, 환경이나 커뮤니티도 계속 발전하고 있다. 최근 프레임워크 운용 그룹(Framework Interop Group, FIG)에서 제안하는 PSR 문서를 보면 알 수 있듯, 표준화된 라이브러리를 만들기 위해 라이브러리/패키…

December 14, 2015

당신이 PHP 개발자라면 2016년 놓치지 말고 해야 할 것들

여전히 PHP가 천덕꾸러기라고 생각하는 사람도 많다. 하지만 다른 언어에서만 볼 수 있었던 좋은 도구와 라이브러리, 의존성 관리도 지원하기 시작했고, PSR을 기준으로 표준도 활발하게 논의되고 있어 예전의 PHP 개발과는 확실히 분위기가 다르다. 한…


November 2015

11건의 포스트가 있습니다.

November 30, 2015

TypeScript에서 <reference> 없이 쓰기

TypeScript를 사용한다면 다음과 같은 참조를 많이 봤을 것이다. TypeScript 1.5부터 추가된 을 프로젝트에 넣으면 레퍼런스를 일일이 적지 않고도 알아서 인터페이스를 불러온다. 별다른 설정 없이 을 생성하는 것으로도 모든 디렉토리를…

November 29, 2015

DefinitelyTyped와 `tsd` 정의 관리 도구

TypeScript는 MS에서 개발한 JavaScript 슈퍼셋 언어다. 이 TypeScript를 사용하면 정적 검사를 활용할 수 있어 개발에 많은 편의를 제공한다. 물론 기존에 있던 JavaScript 라이브러리에 대해서도 정적 검사를 수행하려면 …

November 26, 2015

IIS 7.5에 *.crt로 된 SSL 등록하기

한 줄 요약 crt 인증서를 IIS에 등록하려면 사용해서 pfx로 변환해야 한다. 왜 안되나요 https를 위한 인증서를 SSL 제공 업체에서 받아 IIS 7.x에 설치하려고 했다. IIS Manager에서 서버 선택 후, Server Certi…

November 17, 2015

AngularJS의 서비스와 팩토리

AngularJS의 서비스 Services 는 여러 코드에서 반복적으로 사용되는 코드를 분리할 때 사용하는 기능으로, 해당 서비스가 필요한 곳에 의존성을 주입해 활용할 수 있다. 서비스는 다음과 같은 특성이 있다. 지연 초기화(Lazily inst…

November 17, 2015

노출식 모듈 패턴 Revealing Module Pattern

Carl Danley의 글 The Revealing Module Pattern 을 요약 번역한 글이다. Todd의 Angular 스타일 가이드를 읽는 중 factory를 노출식 모듈 패턴으로 작성하라는 얘기가 있어서 찾아봤다. 노출식 모듈 패턴 R…

November 15, 2015

Angular 1.5의 새 기능, .component() 알아보기

Todd Motto의 글 Exploring the Angular 1.5 .component() method 를 번역한 글이다. 아직 1.5 beta 1이라서 아직 한참 출시 전이긴 하지만 이 글에서 확인할 수 있는 변화는 크게 달라질 것 같지 않…

November 12, 2015

$scope은 이제 그만, Angular에서 bindToController 활용하기

이 글은 Todd Motto의 글 No $scope soup, bindToController in AngularJS 를 번역한 글이다. Angular에서 문법을 사용한다면 자연스럽게 따라오는 디렉티브 프로퍼티인 에 관한 글이다. 기존 와 어…

November 12, 2015

Angular 디렉티브 때려잡기: 구조와 MVVM

이 글은 Todd Motto의 글 Killing it with Angular Directives; Structure and MVVM 를 번역한 글이다. Angular에서 디렉티브를 어떤 방식으로 사용해야 하는지 예제를 통해 설명하고 있다. Angu…

November 08, 2015

$scope를 사용하는 더 나은 방법, angular.extend()

이 글은 Todd Motto의 글 A better way to $scope, angular.extend, no more “vm = this” 를 번역한 글이다. Angular에서 Controller As 문법을 사용하면 와 같이 this의 스코프…

November 08, 2015

Angular의 Controller As 문법 살펴보기

Todd Motto의 글 Digging into Angular’s “Controller as” syntax 를 번역했다. Angular의 Controller As 문법에 대해 설명하고 있는 글이다. 를 분리하는 것으로 더 사용성 높은 컨트롤러를 …

November 08, 2015

Angular 컨트롤러를 작성하는 두가지 방법

Johnpapa의 Do You Like Your Angular Controllers with or without Sugar? 를 번역한 글이다. 원본 포스트는 CC BY 2.5 라이센스로 작성되어 있다. 그냥 읽을 때는 괜찮게 느껴졌는데 옮기고…


October 2015

2건의 포스트가 있습니다.

October 19, 2015

코드 리뷰 가이드

이 포스트는 CC BY 라이센스로 작성된 thoughtbot의 guides 중 Code review 를 번역한 글이다. 짧은 만큼 상식적인 느낌도 많이 드는데 숙지하고 평소 습관으로 만들 수 있으면 좋겠다. 코드 리뷰 코드를 리뷰하고 내 코드를 리…

October 13, 2015

Express, Koa, Hapi 장단점 비교

nodejs로 개발을 한다면 Express, Koa, Hapi 중 하나는 꼭 접하게 된다. 내 경우는 Express를 맨 처음 접해서 가장 익숙하지만 generator를 지원하는 koa에 대한 이야기도 들어봤고 hapi도 최근 react나 angul…


September 2015

5건의 포스트가 있습니다.

September 11, 2015

마이크로서비스 트레이드오프

원문: Microservice Trade-Offs By Martin Fowler (July 1, 2015) 많은 개발팀이 모노리스(monolithic) 아키텍처에 비해 마이크로서비스 아키텍처 스타일이 낫다는 점을 발견했다. 몇몇 팀에서는 오히…

September 09, 2015

MelbJS 2015년 9월 밋업 참석 후기

8월에도 다녀왔는데 앞 세션만 듣고 와서 후기를 따로 남기지 않았었다. 오늘은 처음으로 모든 세션을 들었는데 오늘은 3개 세션만 운영해서 일찍 끝났다. Viewport Trickery Bugherd 개발사인 Macropod의 Jessica 발표였…

September 03, 2015

MongoDB 스키마 디자인을 위한 6가지 규칙 요약

MongoDB를 개인 프로젝트에서 자주 사용하긴 하는데 항상 쓰던 방식대로만 사용하고 있어서 스키마를 제대로 구성하고 있는지 검색하다가 이 글을 찾게 되었다. MongoDB 블로그에 올라온 포스트인 6 Rules of Thumb for MongoD…

September 01, 2015

FP in Elm 노트 – Intro to FRP in Elm

FP in Elm의 week 1-2 Intro to FRP in Elm 정리 포스트다. FP in Elm 전체 노트 정리 보기 Introduction to FRP in Elm JS 이벤트 리스너 코드 예제를 보여주면서 같은 변수를 만들어 상태를 저…

September 01, 2015

Ubuntu에 Redis 설치하기

Redis 를 리눅스 박스에 직접 설치해본 적이 한번도 없었다. Ubuntu에 redis를 설치하려니 빌드가 생각처럼 진행되질 않아서 계속 검색을 하게 되었는데 기록 삼아 블로그에 적어둔다. 의존성 라이브러리 때문에 에러가 계속나서 라이브러리를 한참…


August 2015

4건의 포스트가 있습니다.

August 25, 2015

FP in Elm 노트 – Intro to ML in Elm

FP in Elm의 week 1-1-2 Intro to ML in Elm 정리 포스트다. FP in Elm 전체 노트 정리 보기 Introduction to ML in Elm Elm은 웹사이트에서 받아 설치한다. REPL로 진행한다. 는 와 모…

August 25, 2015

FP in Elm 노트 – 코스 개요

seoh 님의 Elm Resources 글에서 [Functional Programming: Purely Functional Data Structures in Elm ] 3 강의를 알게 되었다. 개요를 읽고 흥미가 생겨 강의 노트를 읽기 시작했고…

August 24, 2015

이 멱집합 생성 함수는 어떻게 동작하는거죠?

Elm 강의 를 보고 있는데 멱집합을 생성하는 함수가 과제로 나왔다. 한참을 고민하다가 결국 검색을 해보게 되었다. 반성하는 차원에서 How is this powerset generating function working? 를 짧게 번역했다. 수학…

August 10, 2015

Backbone.js가 underscore를 활용하는 방법

Backbone.js 를 지금까지 사용해본 적이 없었는데 주말에 깜짝 방문한 jimkimau 님과 함께 살펴보게 되었다. 처음 사용해보는데다 아직 이사온 곳에 인터넷이 아직 들어오지 않아 문서 없이 코드만 보고 살펴볼 수 있을지 걱정했다. 컴퓨터를…


July 2015

4건의 포스트가 있습니다.

July 22, 2015

JavaScript 모나드

얼마 전 제이펍 출판사 베타리더스 3기에 선정되었다. 선정 되자마자 <함수 프로그래밍 실천 기술>이란 제목의 책을 베타리딩하게 되었는데 함수형 프로그래밍에 대해 전반적인 내용과 세세한 개념을 Haskell로 설명하는 책이었다. 함수형 프로그래밍에…

July 21, 2015

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

요즘 함수형 프로그래밍에 대한 관심이 많아져 여러가지 글을 찾아 읽고 있다. JavaScript에서도 충분히 활용 가능한데다 JS의 내부를 더 깊게 생각해볼 수 있고 다른 각도로 문제를 사고해보는데 도움이 되는 것 같아 한동안은 이와 관련된 포스트를…

July 18, 2015

Lodash의 지연 평가 소개 by Filip Zawada

이상한모임 슬랙 #dev-frontend 채널 에서 Lodash에 대해 이야기하다 지연 평가(Lazy Evaluation)를 지원한다는 이야기를 듣고 검색하게 되었다. 검색 결과로 찾은, Filip Zawada의 How to Speed Up Lo-…

July 13, 2015

JavaScript 부분 어플리케이션

이상한모임 슬랙 #dev-frontend 채널 에서 함수가 1급 시민이라는 얘기가 나온 적이 있었다. Wikipedia를 읽다가 Partial Application에 대한 이야기가 있어 검색하던 중 John Resig이 작성한 Partial App…


June 2015

5건의 포스트가 있습니다.

June 26, 2015

JavaScript로 Arduino 제어하기 Johnny-Five

요즘 출퇴근 하는 시간에는 눈도 쉴 겸 팟캐스트를 자주 듣는다. 그 중 Hanselminutes을 애청하고 있는데 Scott Hanselman이 여러 분야 사람들을 인터뷰하는 방식으로 진행되는 팟캐스트다. 이 팟캐스트에서 진행한 Getting st…

June 19, 2015

ino toolkit으로 Arduino 맛보기

지난번 구입한 Raspberry Pi에 이어 이번엔 Arduino가 도착했다. 첫인상으로 비교했을 땐 Raspberry Pi는 똑똑하고 Arduino는 우직한 기분이 든다. 🙂 Arduino는 모든 정보가 오픈소스로 공개되어 있어서 훨씬 다양한 종류…

June 17, 2015

브라우저를 위한 패키지 관리 도구 jspm 사용하기

Client-side에서 패키지 관리를 위해서 bower를 자주 사용하는 편인데 bower는 module loader가 아니라 정말 말 그대로 패키지만 받아서 bower_components 에 넣어주는 정도의 역할만 하기 때문에 부수적인 작업이 많이…

June 07, 2015

ECMAScript 6를 위한 Babel 기본 사용법

ECMAScript 6 에서 추가되는 많은 새로운 기능들이 기대가 되면서도 아직까지 직접 사용해보지 못했었다. 최근에 JavaScript 관련 컨퍼런스 영상 뿐만 아니라 대부분의 포스트도 최신 문법으로 작성되는 경우가 많아 살펴보게 되었다. ES5 …

June 04, 2015

라즈베리 파이 2 구입 및 설치기

지난 2월에 한국에서 구입했는데 다시 호주로 오기 전까지 배송이 안되서 결국 들고 오질 못했었는데 집에서 택배와 함께 보내줘서 이제야 개봉해보고 살펴보게 되었다. 라즈베리 파이 는 영국의 Rasberry Pi Foundation에서 교육 용도로 개발…


May 2015

1건의 포스트가 있습니다.

May 27, 2015

PHP의 json_encode() 함수에서 JsonSerializable 활용하기

PHP에서 데이터를 json 문자열로 변환할 때 함수를 사용하게 된다. 이 함수를 이용해 개체를 변환할 때에도 활용할 수 있다. 기본적으로는 클래스에서 public인 프로퍼티에 대해서만 json으로 반환한다. protected나 private, …


April 2015

4건의 포스트가 있습니다.

April 17, 2015

Micro-Framework, Lumen 살펴보기

Micro-framework의 전성기라고 할 만큼 다양한 환경과 언어로 프레임워크가 쏟아지고 있다. PHP에도 micro-framework가 많이 나와 있는데 1 최근 Laravel에서 Lumen을 발표 했다. 발표 자료에서는 symfony2 기…

April 15, 2015

PHP 네임스페이스

PHP 5.3에서 새로운 기능으로 네임스페이스가 추가되었다. (= 이미 오래된 기능이다.) 많은 현대 언어는 이미 이 기능을 추가한지 오래지만 PHP는 조금 늦게 추가되었다. 최근에 개발되는 대다수의 PHP 라이브러리는 네임스페이스로 패키징해 , …

April 09, 2015

C#6의 새로운 기능 요약

msdn 블로그에 게시된 New Features in C# 6 포스트를 요약했다. C# 6는 VS 2015 프리뷰와 함께 제공된 버전으로 여러가지 문법 특징이 추가되었다. 이 포스트는 요약이라 내용이 좀 부실할 수 있는데 상세한 내용은 위 포스트를…

April 05, 2015

블로그 테마 변경

반년 만에 블로그 테마를 변경했다. 고해상도 디바이스가 많아져서 그런지 요즘 대부분의 블로그 테마들이 큰 서체 사이즈와 넓은 레이아웃으로 많이 나오고 있다. 반년 정도 사용한 hamingway 테마로 변경했을 때에도 비슷한 테마를 여럿 적용해봤는데 …


March 2015

4건의 포스트가 있습니다.

March 21, 2015

Visual Studio 2013 소소한 팁 모음

요즘 Microsoft Virtual Academy 를 통해 제공되는 여러 강의를 듣고 있다. 모든 강의가 영어로 제공되어 있어 아쉽긴 하지만 우린 직접 하는 그림(?)을 보고 따라 할 수 있으니까 만약 관심이 있다면 살펴보는 것도 좋겠다. C#…

March 20, 2015

Visual Studio 2013 무료로 사용하기

마이크로소프트에서 제공하는 IDE인 Visual Studio는 다양한 언어과 강력한 기능을 제공하고 있다. 이 IDE는 상황에 맞게 구입해서 사용할 수 있도록 다양한 버전으로 제공되고 있었는데 예전부터 Visual Studio Express 라는 이…

March 16, 2015

워드프레스 유지보수 모드 (Maintenance mode)

워드프레스에서 유지보수를 위해 사이트를 일시적으로 차단할 경우가 있다면 유지보수 모드(Maintenance mode)를 활용할 수 있다. 사용자로서 워드프레스를 이용하게 될 때에는 이 모드를 보게 되는 일이 거의 없다. 만약 보게 된다면 워드프레스 …

March 10, 2015

구글 크롬에서 Geolocation API 테스트하기

HTML5에서 추가된 Geolocation API는 웹 브라우저에서 사용자 위치를 찾을 수 있도록 도와주는 API다. 이 API를 기반으로 웹앱을 만들거나 웹사이트에서 기능을 구현하면 임의의 경도, 위도로 변경해 테스트를 해야 하는 경우가 있는데 G…


January 2015

3건의 포스트가 있습니다.

January 18, 2015

커피 세 잔으로 BDD하기 – CoffeeScript, Mocha, Chai

CoffeeScript에 대한 얘기는 정말 많이 들었고 주변에서도 많이 사용하고 있지만 정작 제대로 살펴본 적이 없었다. 주말 시간을 내서 Better CoffeeScript Testing With Mocha 글을 중점으로 여러 아티클을 읽어보고…

January 16, 2015

Slack에서 Hubot 사용하기

최근에 #이상한모임 slack이 개설 되었다. 순식간에 많은 분들이 가입해서 왕성한 활동 펼치고 있어 신기해 하는 한편 같이 휩쓸려(?) 잘 놀고 있다. 골빈해커님 이 hubot으로 weirdbot을 만들어서 재미있는 기능들을 만드는 것을 보고 …

January 02, 2015

Terminal에서 MAMP의 php 사용하기

요즘 대부분의 php 도구들이 콘솔에서 사용할 수 있도록 제공되고 있다. OSX에는 기본적으로 php가 설치되어 있고 별다른 설정이 없다면 이 php를 사용하게 된다. composer 같은 도구는 php 버전이나 모듈과는 큰 영향이 없어서 기본 …


December 2014

3건의 포스트가 있습니다.

December 21, 2014

C# Obfuscation 난독화하기

최근 회사 프로젝트에서 C# 어플리케이션을 obfuscate 하면서 알게 된 부분들을 정리한 포스트. 내 (얕은) 지식으로는 컴파일 언어는 “ 컴파일러를 통해 바이너리로 치환되서 컴파일된 결과물만 가지고 소스를 복구할 수 없다 ” 고 알고 있었는데…

December 17, 2014

간편한 LAMP 호스팅 관리도구 VestaCP

PHP를 대차게 까는 분들이 가끔 워드프레스 설치하는 환경을 물어보기도 하고 또 환경 설정을 알려주면 설치하면서도 잔소리를 계속 하길래 이런 도구를 소개하는 것도 도움이 될 것 같아 짧게 소개글을 남긴다. 이제는 일반적인 웹호스팅 비용이나 AWS, …

December 03, 2014

NameValueCollection을 JSON으로 Serialize 하기

를 해서 다른 곳에 전송하는 것은 어떨까 하는 아이디어를 듣고 코드를 작성해 Json.NET 을 사용해서 를 했다. appSettings는 클래스인데 Dictionary와 같이 serialize 될 것이라 예상했지만 결과는 키값만 배열로 반…


November 2014

1건의 포스트가 있습니다.

November 24, 2014

C# 클래스 소멸자 ~ (물결 문자)

C#을 쓸 일이 종종 있는데 아직 초보 수준이라서 모르는 문법이 많다. 코드를 읽다가 메서드 선언 앞에 나온 물결 문자를 보게 되었는데 관련된 내용을 찾아봤다. 다음 내용은 함수명 앞에 오는 물결 표시는 무슨 의미인가요? 에 나온 답변이다. C#에…


October 2014

1건의 포스트가 있습니다.

October 04, 2014

Scrapbook – 스크랩을 위한 워드프레스 플러그인

트위터, 페이스북, pocket 전부 관리되지 않는 스크랩 자료로만 가득 차는 기분이 들어서 워드프레스에서 수집할 수 있도록 작은 플러그인을 만들었다. 플러그인은 이라는 포스트 타입을 생성해주며 일반 포스트와 동일하게 category와 tag를 지…


September 2014

1건의 포스트가 있습니다.

September 15, 2014

PHP 클래스 자동으로 불러오기 (Autoloading)

객체 지향 프로그래밍에 익숙한 개발자라면 하나의 파일에 하나의 클래스를 작성하는 방식에 익숙할 것이다. 다만 php는 다른 언어와 같이 라이브러리를 일괄적으로 불러오는 방법이 없어 위와 같은 접근 방법으로는 또는 를 이용해 수많은 단일 파일을 …


August 2014

1건의 포스트가 있습니다.

August 20, 2014

맥에서 여러 파일 이름 일괄 변경하기

터미널에서 을 이용하면 정규표현식으로 한번에 파일 이름을 변경할 수 있다. mac에 기본적으로 없는 것 같으니 homebrew 를 이용해서 을 설치한다. 으로 변경할 수 있다. 변경 전에 어떤 식으로 변경이 될지 플래그를 사용해 확인할 수 …


July 2014

5건의 포스트가 있습니다.

July 31, 2014

Mono 환경에서 OWIN 시작하기

OWIN은 Open Web Interface for .NET의 약어로 요즘 MS 진영에서 핫한(?) 오픈소스 프로젝트다. 다음은 OWIN 공식 사이트에 나와 있는 프로젝트의 목표. The goal of the OWIN interface is to d…

July 15, 2014

Postfix로 서버에서 발송되는 메일을 리다이렉트하기

서비스나 웹사이트를 테스트를 하다보면 사용자에게 메일이 발송되는지 확인해야 하는 경우가 있다. 또한 실제로 운영되는 서비스를 테스트 환경에 놓고 테스트 하다가 메일이 사용자에게 발송되어 버리는 경우가 생길 수 있다. 물론 sendmail을 꺼두는 것…

July 15, 2014

MAMP에서 Sublime Text로 Xdebug 사용하기

PHP를 디버깅하기 위해서는 Xdebug와 같은 확장을 서버에 설정해야 하고 리모트로 디버깅 하기 위한 클라이언트 프로그램이 요구된다. 이 글에서는 서버로 MAMP를 활용하며 클라이언트로 Sublime text를 활용한다. Xdebug 활성화하기 M…

July 13, 2014

Chrome 개발자도구 – 소소소한 팁

다른 브라우저를 사용하다가도 구글 크롬으로 돌아오게 되는 가장 큰 이유가 개발자 도구 때문이다. 물론 다른 브라우저에 내장된 개발자 도구들도 뛰어나지만 오래 사용하다보니 단축키나 사소한 기능들이 손에 익어버린 이유가 크다. 최근들어 멀티커서나 재미있…

July 04, 2014

OSX에 나만을 위한 워드프레스 설치하기

평소에 짧은 메모를 많이 적는 편이다. 맥에서 메모를 위해 사용할 수 있는 다양한 도구가 많이 있긴 하지만 완제품인 어플리케이션을 내 취향대로 수정해 사용할 수 없는 부분이 가장 불편하다. 손에 딱 맞는, 쉽게 사용할 수 있는 프로그램을 찾아야하는데…


June 2014

3건의 포스트가 있습니다.

June 30, 2014

ssh config로 ssh 접속 간편하게 하기

일반적으로 ssh에 접속하기 위해 다음과 같은 명령어를 사용한다. 사실 단순해 보이지만 개발자는 게을러야 하므로 에 설정을 작성해두면 더 짧게 사용할 수 있다. 가 없다면 빈 파일을 만들면 된다. 파일 내용은 다음과 같다. 이렇게 작성하면 다음과…

June 30, 2014

ssh 인증키 생성 및 서버에 등록하기

ssh key를 생성하고 서버에 등록하는 방법은 복잡하지 않다. 으로 공개키/비밀키 한 쌍을 생성하고, 공개키 내용을 접속할 서버에 에 저장하면 해당 서버에 비밀번호 없이 ssh 접속이 가능하다. 다음은 클라이언트에서 인증키를 생성하는 방법이다.…

June 26, 2014

git log -p 파일 하나의 변경 이력을 한번에 보기

파일 하나의 변경 이력을 한번에 확인해야 할 때가 가끔 있다. 물론 GUI 도구들이 워낙 잘 되어 있어서 쉽게 파악이 가능한 부분이지만 콘솔에서 필요할 때 다음의 명령어를 활용할 수 있다. 는 다양한 기능을 가지고 있는데 단순히 커밋 로그만 보여주는…


May 2014

1건의 포스트가 있습니다.

May 06, 2014

Mac에서 OpenCV 설치 및 예제 구동하기

주말에 아티클을 보다가 관심이 생겨 OpenCV를 잠깐 살펴봤다. OpenCV 는 Computer Vision 오픈소스 라이브러리로, 제공하는 예제를 통해 Face Tracking 등을 구현해볼 수 있다. 초보자를 위한 튜토리얼은 많은데 생각처럼 …


April 2014

3건의 포스트가 있습니다.

April 08, 2014

자바스크립트 스터디 – Chapter 4 정리

다른 프로그래밍 언어와 같은 부분이 많아 큰 어려움은 없었지만 타입 변환 등 자바스크립트만의 특성으로 잘 읽어봐야 할 부분이 많았다. 특히 나 부분은 JavaScript를 더 이해하는데 도움이 되었다. Chapter 4 표현식과 연산자 Expr…

April 05, 2014

tmux 입문자 시리즈 요약

를 어디선가 보고 엄청 멋지다 싶어서 검색했더니 @nanhapark 님이 재미있게 정리한 글이 있어서 편하게 볼 수 있었다. 읽은 글들은 다음 목록에서 확인할 수 있고, 읽으며 요약해 정리했다. (nodeqa.com에 해당 글이 있었는데 사이트가 …

April 02, 2014

자바스크립트 스터디 – Chapter 3 정리

짧지 않았던 3번째 챕터인데 깊은 내용은 후반부에 다룬다는 부분이 많았다. 전반적으로 살펴보는 느낌으로 읽으면 좋을 것 같다. Chapter 3 타입 1 , 값, 변수 Types, Values, and Variables 이 챕터에서는 다음 세가지에 …


March 2014

5건의 포스트가 있습니다.

March 27, 2014

Koala Hates Rain 개발후기

예전부터 게임 개발에 관심이 많았고 만들어보고 싶었었는데 첫 결과물로 Koala hates rain 을 릴리즈 하게 되었다. 게임 소개 Koala hates rain 은 코알라가 하늘서 떨어지는 비를 피하는 내용으로 짧은 시간에도 즐길 수 있는 미…

March 23, 2014

자바스크립트 스터디 – Chapter 2 정리

기초적인 부분이긴 하지만 유니코드 값 비교 부분은 잘 살펴볼 필요가 있다. 꼭 자바스크립트가 아니더라도 각 언어에서 유니코드를 어떻게 처리하고 다루는지 알아두면 유용하다. 발생할 수 있는 수많은 케이스가 있는데 그 중 하나로 음악 스트리밍 서비스인…

March 22, 2014

자바스크립트 스터디 – Chapter 1 정리

놀부님이 진행하는 자바스크립트 스터디 http://on.fb.me/1iEpW0a 에 참여하게 되었다. 커리큘럼에서 제시된 교재를 선택하고 순서대로 공부해나가면 된다. 상당히 세세하고 실질적이라서 전혀 모르는 사람도 공부하기에 좋은 커리큘럼이다. …

March 04, 2014

간편하게 .gitignore 파일 생성하기 – gitignore.io

예전에 트위터에서 누군가 소개해줘서 알게 되었는데, 도메인이 도저히 기억나지 않아 한참 검색하다가 다시 찾아서 까먹지 않기 위해 포스트. (허무하게 gitignore.io라니 … ) http://gitignore.io git에서는 커밋에 포함하지…

March 03, 2014

WP_Query를 사용할 때 Properties가 제대로 동작하지 않는다면

WordPress에서 제공하는 클래스인 는 wordpress의 컨텐츠(Post, Page, Custom content etc.)를 쉽게 불러 사용할 수 있도록 도와준다. Widget이나 테마 등에서 컨텐츠 목록을 제공할 필요가 있을 때 편리하게 사…


February 2014

1건의 포스트가 있습니다.

February 04, 2014

iOS SpriteKit 관련 문서 모음

예전부터 cocos2D나 unity를 배워보고 싶었는데 몇 번 글을 보고 따라해봐도 감이 안와서 미뤄왔다. 우연히 SpriteKit 튜토리얼을 보고 따라하다보니 생각보다 쉽게 결과물이 나오길래 게임 만들어보자 마음 먹고 매일 문서 찾아보며 조금씩 만…


December 2013

2건의 포스트가 있습니다.

December 17, 2013

웹에서 svg 이미지로 레티나 지원하기

근래 아이폰, 아이패드, 맥북 프로 등 통칭 레티나로 일컬어지는, 고밀도 디스플레이 기기가 늘고 있다. 그에 따라서 웹페이지도 레티나 해상도에 대응을 하기 시작했는데, 각 이미지를 2배의 해상도로 저장한 후 css 또는 js를 이용해 치환하는 형태 …

December 14, 2013

Mono 환경에서 MVC5 돌리기 실패 로그

읽기 전에 Mono에서 웹개발을 하고 싶다면 OWIN 프로젝트를 활용 하자. 차후 .NET mvc 프레임웍도 owin 기반에서 구동 가능할 예정이다. tl;dr Mono에서 MVC5 지금은 안됨 .Net 개발은 정신 건강을 위해 Windows 위에…


November 2013

3건의 포스트가 있습니다.

November 29, 2013

WordPress Menu 마크업 변경하기

WordPress에 내장되어 있는 메뉴(Menu)는 이미 쓸만한 명이 이미 다 붙어 있어 사실 딱히 수정이 필요가 없는 편이다. 예를 들면 현재 활성화 된 메뉴는 라든가, 해당 메뉴가 연결된 포스트의 타입을 식으로 이미 선언되어 있다. 하지…

November 19, 2013

PyPy와 함께 인터프리터 작성하기

PyPy 는 들을 때마다 호기심을 자극하는 프로젝트 중 하나인데 Python으로 Python을 작성한다는 간단히 이해하기 힘든 방식(?)의 프로젝트다. 최근들어 긴 인고의 노력 끝에 좋은 결실을 맺고 있다는 소식도 들려오고 있어서 관심을 가지고 찾아…

November 02, 2013

PHP에서 DateTime Class 사용하기

PHP에서의 DateTime은 늘 문자열로 처리되어 를 엄청나게 사용하게 되고, 기간 비교를 위해 timestamp를 직접 다뤄야 하는 번거로움 등 불편함을 다 적기에 시간이 부족할 정도다. 5.2.0 이후 지원되는 은 다른 언어들과 비교하면 아…


October 2013

3건의 포스트가 있습니다.

October 29, 2013

PHP 기반의 Micro Frameworks 정리

근래 들어서는 공개적으로 하는 작업은 아니지만 잔잔하게 프로토타이핑은 꾸준히 하고 있는데 와 조합으로 진행하고 있었다. 는 micro web framework이며 micro 답게 간단하게 작성 가능해 생각나는 대로 작성하기 편리 는 class …

October 13, 2013

AngularJS 마크업 충돌 회피하기

는 방식의 인터폴레이션 마크업을 사용하는데 나 등에서 형태의 템플릿 마크업을 이미 사용하고 있어서 문제가 된다. 이런 경우를 위해 AngularJS에서 를 지원하는데 이를 이용해 문제를 회피할 수 있다. 자세한 내용은 AngularJ…

October 03, 2013

AWS에 Apache Hadoop 설치하기

요즘 한참 핫(!)한 빅데이터 스터디에 참여하게 되었다. AWS에서는 사실 EMR을 지원하는 등 직접 설치할 일이 없다고 하는데 EC2 Micro 인스턴스에 Hadoop을 실습을 위해 설치했다. 예/복습 차원에서 간략하게 스터디 내용을 정리해보려고…


September 2013

4건의 포스트가 있습니다.

September 25, 2013

mac에서 Mono (.Net) 개발 환경 만들기

.Net 스터디를 대비해 개발 환경을 설치한 과정을 기록해둔 포스트. 이전 MonoDevelop에 비해 훨씬 뛰어난 모습의 Xamarin Studio와 각종 add-in package로 mac OSX에서의 .Net 개발 환경을 구축할 수 있었다. 스…

September 23, 2013

파이썬 클래스가 변수를 상속 받는다?

다음의 파이썬 코드에서 Bus 클래스가 Base를 상속을 받을 수 있는가. 다시 말해 어떻게 변수를, 또는 인스턴스를 class가 상속을 받을 수 있는가? 라는 질문을 받았다. 듣고 나도 혹해서 어떻게 이게 가능하지? 이러고서 모듈을 들여다봐도 …

September 08, 2013

pytz – 세계 시간대 정의를 위한 Python 라이브러리

근래 간단한 서비스를 만들고 있는데 시작부터 시간대로 인한 문제가 있어 이 기회에 제대로 살펴보게 되었다. 한국에서 개발할 때는 단 한번도 생각해본 적이 없던 시간대 문제에 대해서 찾아볼 수 있게 되어 참 좋았고, 국가가 시간대를 변경함에 따라 역사…

September 06, 2013

MPUG 9월 모임 후기

멜버른에도 많은 개발자 모임이 활성화되어 있고 세션이 운영되고 있는데 그 중 MPUG(Melbourne Python Users Group) 에서 매월 첫주 월요일에 열리는 meetup에 처음으로 다녀왔다. 장소는 협업 공간인 Inspire9 이고…


June 2013

1건의 포스트가 있습니다.

June 12, 2013

Comprehensive Google Map Plugin(CGMP) conflicted with W3 Total Cache

When I installed W3 Total Cache, It was always problem with Comprehensive Google Map Plugin. Although W3 Total Cache is awesome plugin, I c…


May 2013

1건의 포스트가 있습니다.

May 12, 2013

뜻을 가늠하기 어려운 개발언어 용어들

얼마 전 생활코딩에서 즉시실행 익명함수 라는 표현을 보고 깜짝 놀랐다. 근래에 JavaScript로 몇번 개발을 해봤다면 예제를 보면 이게 무슨 의미인지 바로 이해할 수 있겠지만 “이건 아무래도 과하지 않은가” 라고 생각했다. 이렇게까지 거창한(?…


November 2012

1건의 포스트가 있습니다.

November 14, 2012

새로운 테마로 변경 Twenty Twelve

오랜만에 wp 사이트에 들어가서 좋은 테마 없나 찾자마자 튀어나온 새로운 테마 Twenty Twelve. 2012년 9월부터 제공했는데 여태껏 보지 못했다니 내가 너무 소홀했나보다. 이전 Twenty Eleven 과 같이 Responsive Desi…


October 2012

1건의 포스트가 있습니다.

October 01, 2012

Mercurial, totoiseHg 에서 리비전 기준으로 파일 추출하기

몇번이고 키워드를 바꿔 검색해봤지만 나오질 않았다. 그래서 영어로 검색했더니 바로 나오는 … 영어로 검색하면 커맨드 라인으로 추출하라느니 얘기가 많이 나온다. 혹시나 같은 고민 하는 분 있을까 싶어 글을 적어본다. 업데이트 또는 특정 이유로 인해 …


August 2012

1건의 포스트가 있습니다.

August 20, 2012

wordpress plugin 개발 후기

WordPress에 폼메일을 위한 강력한 플러그인이 참 많은데 그 중 contact form 7이 유명하기도 하고 편리하다. 이 폼메일과 mailchimp를 연동하기 위해 플러그인을 검색해봤지만 3rd party integration plugin은 …


January 2012

2건의 포스트가 있습니다.

January 16, 2012

테마 변경

늘 이것저것 테마를 사용해보곤 하지만 기본적으로 지원해주는 테마보다 깔끔한 것이 없는 기분이 들어 결국 이 테마를 설정하는데 오늘은 사진도 바꿔보고 색도 바꿔보고 했더니 정말 색다른 느낌! 2012년에 들어 하고싶은, 해야 할 계획도 참 많이 세워야…

January 10, 2012

tomcat 7.0 가상호스트 virtualhost 설정

java는 기껏해야 headfirst 한권 읽은 수준인데 tomcat 서버 설정을 하려니 막막했다. 검색을 해봐도 한글 문서는 흔치 않았고 … 몇일 생각했는데 답은 그냥 레퍼런스에서 나오는 내용이었다. 바로 레퍼런스 봤으면 5분도 안되서 해결했을 …


December 2011

2건의 포스트가 있습니다.

December 14, 2011

apache에서 해당 유저권한으로 파일 생성/제어하기

호스팅 서비스를 이용해보면 호스팅 아이디를 기준으로 생성된 파일들의 uid, gid가 설정된다. 별도의 모드를 설치해줘야 해당 방식대로 아파치를 운영할 수 있는데 apache1.x는 mod become, apache2.x는 [mod ruid] 1 …

December 14, 2011

cafe24 서버호스팅 기본 설치/세팅 목록

cafe24에서 서버 호스팅을 구입하면 세팅 연락이 오는데 추가 요청 시 아래와 같은 기본적인 사항을 설치해준다. centOS 5.x(x64) 서버 구입시 설치해준 항목이다.


November 2011

5건의 포스트가 있습니다.

November 20, 2011

웹게임 잡담 #1

개발언어를 공부할 때 가장 좋은 방법은 게임을 만들어보는 것입니다. 게임은 그나마 비지니스 지향의 모델보다는 현실적인 객체지향을 공부할 수 있는 환경을 경험할 수 있다고 합니다. 그래서 올 한해 해온 일을 정리하는 느낌으로 간단한 웹게임을 구현해보고…

November 16, 2011

facebook 웹페이지 캐시 삭제하기

facebook에서 링크를 공유하거나 담벼락에 게시한 경우 해당 사이트의 정보가 페이스북에 캐싱되어 있습니다. 그래서 페이지 내용이 수정되면 캐시를 초기화 해줘야 하는데요. 아래의 주소로 들어가 해당 주소를 넣어주시면 갱신이 됩니다. http://d…

November 15, 2011

CI처럼 모델 로드하기

php 싱글톤(singleton) 패턴인데 클래스 외부에서 function을 선언함으로 해당 클래스 자체에서 사용 가능하게 되는 형태였네요. CI가 이런 형태로 구현되어 있습니다.

November 08, 2011

naver smart editor에서 jindo 네임스페이스 사용하기

2014년 4월 추가 : 에디터 적용을 위해 이 글을 보고 있다면 Summernote를 확인하자. http://hackerwins.github.io/summernote/ 에디터 문제로 늘 골머리를 썩히고 있는데 naver smart editor…

November 03, 2011

mysql 5.5.x 캐릭터셋 변경하기

이번에 mysql 최신 버전을 써보겠다는 일념으로 mysql 5.5.x 소스를 받아 컴파일해서 서버에 올렸습니다. 이상하게 한글이 깨져 보니 기본 캐릭터셋이 latin1로 되어 있어서 변경해보고자 검색을 해봤지만 적용하니 mysql이 시동조차 되지 …


October 2011

3건의 포스트가 있습니다.

October 24, 2011

Cufon에서 hover 사용하기

Cufon 은 font를 js 데이터로 변환해 canvas로 출력하는 방식으로, 기존 iFR, FIR, sFIR 처럼 텍스트를 그래픽 폰트로 변경해주는 도구다. 기반이라 플래시보다 무겁진 않지만 글꼴의 끝부분이 다소 뭉개지는 현상이 있다. 한국어…

October 22, 2011

centOS에서 tomcat 서버 설치하기

java 소스도 겨우 읽는데 tomcat 서버 설치하느라 고생했습니다. 상당히 단순한 절차인데도 개발자분이 올린 소스가 계속 에러가 나서 설치 문제인줄 알고 몇번이고 다시 설치를 시도했는데 다행히도(?) 폴더명이 문제였습니다. 지웠다가 재설치 하는 …

October 12, 2011

Aptana Studio 3.0 에서 SVN 사용하기

안내 : 이 글은 2011년에 작성한 글입니다 최근에 @sh84ahn 님이 관련 글을 작성하셔서 링크를 남깁니다. Aptana Studio SVN error folder ” does not exist remotely 대처법 개발에 Eclipse…


August 2011

3건의 포스트가 있습니다.

August 16, 2011

httpd -k graceful

위 커맨드를 사용해서 httpd를 재시작해줬는데 오늘 봤더니 CBand에 기록된 트래픽도 초기화 되더군요. 깜짝 놀랐습니다 ;ㅅ; 검색해보니 … graceful이란게 있더군요. ( http://httpd.apache.org/docs/2.0/ko/s…

August 13, 2011

루비(Ruby) 입문 #1

연재할 듯 글을 시작했으나 연재하지 않고 있습니다. ( … ) 이름 이쁜 프로그래밍 언어 루비. 루비 온 레일즈가 각광 받는데 궁금해서 전부터 배우고 싶었던 언어였고, 휴가를 이용해 배워보려고. 루비를 일단 설치해야 하는데 RoR이 최종 목표이므로 …

August 09, 2011

cafe24 서버 호스팅 구입 후 기본 세팅 과정

cafe24에서 서버호스팅을 결제한 후 세팅한 과정에 대한 글로 기본적인 세팅 과정에 대해 기록했다. cafe24에서 서버호스팅 구입 시 안내에는 centOS, ubuntu, fedora 등 원하는 OS로 설치해준다고 하여 Ubuntu server로…


July 2011

2건의 포스트가 있습니다.

July 12, 2011

사무실 이사

사무실 이사를 했다. 좁은 사무실 내에 인원이 많아지다보니 무질서한 커뮤니케이션 또한 잦아져 온전히 업무에 집중하기 어렵다는 판단 하에 사무실을 분리하기로 결정했다. 비도 오고 그래서 이사하기에 좋은 날씨는 아니었지만 짐을 내릴 땐 날씨가 괜찮아 다…

July 07, 2011

오픈소스 쓰셨던데 그러고도 개발자입니까?

한 달 여 프로젝트를 맡아 개발했던 웹사이트가 있었다. 회사에서 투입된 인력으로도 상당한 규모의 프로젝트였고 나는 개발 담당자로 개발 미팅도 내 주도 하에 이루어졌다. 개발이 완료되어 최종 납품하는 순간에 클라이언트는 기획 전반의 변경을 요구하였고 …


June 2011

1건의 포스트가 있습니다.

June 24, 2011

trac 간편하게 설치하기

요즘 개발 환경에 관심이 많아져 이것저것 찾아보다가 trac에 대해 알게 되었습니다. trac은 svn과 연계하여 사용할 수 있는 프로젝트 관리 도구입니다. 제가 있는 곳에서는 별도의 버전관리가 없는(알아서 백업하고 알아서 관리하는) 환경이라 실제로…