Inversion of Control(제어 역전)

May 14, 2016 Dev

이전 게시물 의존성 역전 원리(Dependency Inversion Principal) 관련 용어에서 Inversion of Control(제어 역전, 이하 Ioc)에 대해 간단히 정리했습니다. 비록 짧지만 제가 알고있는 범위에서 가장 중요한 부분은 설명이 되었다고...

[Google Analytics] 소셜 세그먼트, 판단 방식 TIP

May 13, 2016 Code

SMARTSTUDY 마케팅팀 보노보님이 알려주신 한국형 꿀팁! 감사합니다 (- -)(_ _) 경로별 매출 – 세그먼트 사용 경로별 매출을 볼 때 세그먼트를 사용하게 되는데 설정할 때 소스에 “다음과 정확하게 일치”가...

[독서] 신혼 3년의 힘을 읽고

May 13, 2016 Book

“재테크 시기를 놓쳤다면 신혼 3년 기간을 잘 활용해보자.” 누구나 재테크를 해야겠다고 마음은 먹지만 세상에 얼마나 지름의 유혹이 많은가. 게다가 그 유혹을 이기고 재테크를 한다고 해도 결국 그 모은 돈은...

의존성 역전(Dependency Inversion) 관련 용어

May 13, 2016 Dev

의존성 역전(Dependency Inversion)은 모듈간 낮은 결합도(loose coupling)와 테스트 용이성(testability)을 확보하는데 유용한 디자인 방법입니다. 저는 확장 가능하고(scalable) 클라우드 환경에 적응력있는(adaptive) 응용프로그램 디자인을 위해 의존성 역전이 아주 큰 역할을 한다고...

타 언어에서 rust library 사용하기

May 12, 2016 Code

  일반적으로 시스템 라이브러리라함은 네이티브 언어로 작성되었음을 의미한다. 그리고 보통 네이티브 언어는 c/c++과 같은 언어를 의미한다. 시스템 라이브러리는 다른 언어로 작성한 프로그램에서도 이용할 수 있어야 한다. 그래서 많은...

집중을 위한 음악과 화이트 노이즈

May 12, 2016 App

클래식 음악과 화이트 노이즈가 집중력을 높여주고 생산성을 향상한다는 것은 최근 연구를 통해 많이 알려졌고, 예전부터 많은 사람이 경험하고 애용하는 방법이다. 나도 어려서부터 클래식과 음악과 함께 독서나 공부하는 것을...

scan-build를 이용한 정적분석

May 11, 2016 Code

scan-build 란? scan-build는 clang이 제공하는 정적 분석 도구다. clang은 llvm 기반 컴파일러 프론트엔드이며, GPL 라이센스로 묶여 있는 GNU 컴파일 도구모음(gcc)을 대체하기 위해 bsd 라이센스와 유사한 llvm 라이센스 오픈소스...

[Shell][Python][ImageMagick]하얀색을 투명으로 바꾸기

May 10, 2016 Code

이미지를 전달받았을 때, 배경색이 투명으로 바꿔야할 경우가 있습니다. 여러가지 방법이 있지만, 그 중 두 가지 방법을 쓰려고 합니다. 첫번째는 ImageMagick을 이용한 방법입니다. convert input.png -fuzz 10% -transparent white...

궁극의 워드프레스 개발 환경 실전편 – VV

May 10, 2016 Code

궁극의 워드프레스 개발 환경에서 언급한 VVV와 VV를 실제로 설치하고 워드프레스 개발 가상머신 환경을 구축해본다. 처음 설치하면 시간이 오래 걸리니 인터넷 속도가 좋은 곳에서 설치한다. 속도가 좋지 않은 카페에서...

Elixir – OTP: Introduction to Mix

May 9, 2016 Code

Elixir Tutorial 시리즈입니다. 거의 대부분은 튜토리얼의 한글 번역에 가깝습니다만, 생략되거나 추가로 주석을 달거나 하는 부분이 많습니다. 원문은 최하단의 링크를 참고하세요. Introduction to Mix 이 가이드에서는 자신만의 관리 구조(supervision...

Docker Machine으로 Azure 다루기

May 9, 2016 Code

  들어가는 말 Docker를 사용해서 웹 어플리케이션 등을 배포하면 환경을 맞추는 수고를 대폭 줄일 수 있고 확장할 때도 편리하다. 그런데 이를 다수의 리모트 호스트에 설치하고 각각을 관리하는건 귀찮은...

Python의 Generator와 yield 키워드

May 9, 2016 Code

Python의 반복문 보통 for 구문을 사용해서 0부터 99까지 반복한다고 하면 다른 프로그래밍 언어에선 이런 느낌이 됩니다. for (let i = 0; i < 99; ++i) { do_something(i); }...

Assert: Node.js 테스트 모듈

May 9, 2016 Code

요즘은 TDD니, BDD니 해서 테스트의 중요성이 더 없이 강조되고 있다. 워낙 많이 언급되다 보니 여지껏 테스트 코드를 작성할 일이 없었던 나도 조금은 공부해야겠다는 생각이 들었다. 방대한 라이브러리를 품고...

아두이노 볼륨 컨트롤러

May 8, 2016 Life

개요 평소에 컴퓨터로 음악을 듣거나 영상을 볼 일이 별로 없다 보니 음량에 신경을 안 쓰는 편이었는데, 요즘 취미삼아 리듬게임을 만들다 보니까 소리를 자주 듣게 되어서 음량 조절도 자주...

[ReactiveX][RxSwift]flatMap, flatMapFirst, flatMapLatest

May 7, 2016 Code

flatMap Rx에서 Observable에서 발행한 아이템을 다른 Observable로 만들며, 만들어진 Observable에서 아이템을 발행합니다. RxSwift에서 제공하는 예제를 살펴보면 좀 더 쉽게 이해할 수 있습니다. let sequenceInt = Observable.of(1, 2, 3)...

서울국제사진영상기자재전(P&I) 2016 후기

May 7, 2016 Gadget Life

작년에 처음 알게 된 서울국제사진영상기자재전(이하 P&I)가 올해도 한다고 하길래 가봤는데요. 제가 느낀점 들에 대해 이야기 해보려고 합니다. P&I는 5월 4일 부터 8일까지 5일간 진행됩니다. 간단한 스케치 영상을 만들어 봤습니다....

두 번째 자작 앱 OhMyPlane #6 마지막

May 6, 2016 App

  OhMyPlane 자작 앱 개발 여섯 번째 이야기로 드디어 마지막 이야기다. 이번에는 Game Center 기능을 추가할 때의 이야기다. 게임 센터 관련 기획 게임 센터 관련 기능 구현과 관련된...

프로그래밍 언어 생산성

May 6, 2016 Dev

얼마 전 페이스북에서 대화하던 중 프로그래밍 생산성에 있어서 누가 개발하느냐가 중요하지 어떤 언어를 사용하느냐는 중요하지 않다는 의견을 들었는데 저는 강하게 반대하는 입장이지만 여건 상 길지 않게 의견을 전달했습니다....

lubuntu 환경 설정 변경 기록

May 4, 2016 Code

이전까지는 lubuntu에 있던 xterm을 비트맵이 정겨워서 그냥 사용했는데 특수 기호를 표시하는데 불편함이 있어서 터미널을 변경하며 손 본 기록을 남긴다. 지금 사용하는 환경은 별 특별한 내용 없이 기본 lubuntu...

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

May 4, 2016 Code

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