Posts

JavaScript 코드 안 HTML 문자열

JavaScript 코드에 HTML 문자열을 써야 하는 경우가 종종 있다. 문자열이 짧을 때는 그냥 한 줄로 써도 크게 상관 없다. 복잡한 계층 구조를 가지는 긴 HTML 문자열을 써야 할 경우에는 한 줄로 작성하지 않는다. 작성하기도 어렵고 알아보기도 어렵기 때문이다. 보통 다음과 같이 여러 줄로 문자열을 만들고 +로 연결해 변수에 저장한다.

Read more...

개발자의 암울한 미래

IT 분야는 기술 발전이 빠르기 때문에 뒤쳐지지 않으려면 끊임없이 공부해야 한다. 젊었을 때는 새로운 기술을 따라가는 데 큰 무리가 없었다. 음주가무를 좋아한 것도 아니고 청춘사업은 개점휴업 상태였다. 특별히 할 일이 있는 경우는 거의 없었기에 퇴근 후나 주말이면 컴퓨터 붙잡고 인터넷을 돌아다니며 필요 기술 관련 자료를 읽고 연습할 수 있었다. 노력만 하면 됐다.

Read more...

환경변수에 설정 정보 저장하기

웹 애플리케이션에서 데이터베이스 계정 정보나 URL, 외부 서비스에 대한 인증 정보는 어떻게 관리하는 것이 좋을까? 설정 파일을 만들어 여기에 관리하는 방법도 있지만, 환경에 따라 설정이 변해야 하는 경우 관리가 까다로워 진다. 어떻게 하는 게 좋을까?

Read more...

jps 사용법

자바로 개발할 때 보통 javajavac만 사용하지만, JDK에는 이 이외에도 많은 도구가 포함되어 있다. 그 중 하나인 jps를 살펴보자.

Read more...

매클로린 급수를 이용한 sin(x) 구현

뉴튼 법을 이용한 근사값 구하기에서 매클로린 급수를 이용해 \sin x 와 같은 초월함수의 값을 구할 수 있다고 했다. 여기서 clojure를 이용해 직접 구현해보려 한다.

Read more...

뉴튼 법을 이용한 근사값 구하기

\sqrt x 함수의 값을 어떻게 계산할 수 있을까? Java라면 Math.sqrt(x) 함수를 통해 제곱근을 구할 수 있는데, Math.sqrt(x) 함수는 어떻게 구현한 것일까?

Read more...

저자 증정본 처리

자신의 이름으로 책을 낸다는 것은 정말 흥분되는 일이다. 처음 번역서를 냈을 때가 생각난다. 사비를 들여 수십 권을 구입해 회사 사람들에게 돌렸다. 한권 한권 서명해 동료들에게 나눠줄 때의 뿌듯함은 이루 말할 수 없었다. 쉬는 시간에 차 한잔 들고 사무실을 어슬렁거리며 동료 책상이나 책꽂이에 놓여 있는 내 책을 보며 미소를 짓곤 했다.

Read more...

수작업 brew 포뮬러 업데이트

Homebrew는 Mac OS X를 위한 패키기 관리자다. Homebrew를 이용하면 Mac OS X에 설치되어 있지 않은 다양한 패키지를 쉽게 설치하고 관리할 수 있다. Homebrew로 설치한 패키지의 새 버전이 나왔다면 콘솔에서 brew upgrade 명령으로 쉽게 업그레이드 할 수 있다. 웬만한 것은 거의 brew를 통해 설치할 수 있고, 매우 빠르게 업데이트 된다.

Read more...

infix 매크로

Clojure에 대한 오해에서 LISP 언어가 널리 사용되지 않는 주요 이유 중 하나로 전위 표기법(prefix notation)을 들었다. LISP의 표현력이 뛰어난 이유 중 하나가 전위 표기법 때문인데 이것 때문에 LISP이 널리 사용되지 못한다니 역설이 아닐 수 없다.

Read more...

JavaScript에서 private 필드

JavaScript를 주로 사용하게 되면서 JavaScript에 대한 부정적인 생각이 줄어들었지만, 여전히 마음에 들지 않는 부분이 있다. 그 중 하나가 private 필드를 만들기가 애매하다는 점이다.

Read more...