Posts

org-mode 스프레드시트로 사용하기

Emacs에는 org-mode란 도구가 있다. 할 일 목록, 일정, 작업 로그를 정리할 때 유용하다. 행열 추가/삭제, 행열 이동 등 기본 표 편집도 가능하며, 표 안에서 간단한 계산도 가능하다. 여기서는 표 계산 방법을 간단히 살펴보려 한다. 이 글은 Org as a spreadsheet system: a short introduction을 참고해 정리한 것이다.

Read more...

Emacs: 숫자 범위 포함 텍스트 생성

나는 Vim과 Emacs를 모두 사용할 줄 알지만, 콘솔에서 간단한 로그 파일이나 설정 파일을 잠시 확인할 때를 빼고는 Emacs를 사용한다. 얼마 전 트위터에서 Vim의 흥미로운 기능을 봤다. 숫자 범위를 포함한 텍스트를 간단히 생성하는 방법이다.

Read more...

Emacs: 다이어그램 그리기

가끔씩 다이어그램을 그려야 할 때면 파워포인트를 이용했다. 파워포인트로 다이어그램을 그린 다음 스크린 캡쳐 이미지를 사용하는 식이다. 이 방법에는 심각한 단점이 하나 있다. 다이어그램을 수정하기가 매우 귀찮다는 점이다.

Read more...

프로젝트 오일러 회고

프로젝트 오일러의 처음 100문제를 모두 풀어 블로그에 정리했다. 처음 맛보기로 몇 문제 풀어보고는 재미를 붙여 '100번까지 풀어보자' 생각했다. 새로운 문제가 계속 추가되고 있었고 뒤로 갈수록 문제도 어려워졌기 때문에 모든 문제를 풀기는 무리일 것 같았고, 100번 정도까지가 적당해 보였다.

Read more...

Java 람다의 실체

Java에 람다 표현식이 추가된 지 꽤 됐지만, 람다 표현식이 컴파일러를 통해 익명 클래스로 변환되는 편의 문법 정도로 생각하는 경우가 많은 것 같다. 컴파일러가 생성한 클래스 파일을 살펴보고, 람다 표현식이 실제로 어떻게 컴파일 되는지 확인해보려 한다.

Read more...

한국 운전면허 적성검사 연기 신청

몇 달 전 한국 운전면허 적성검사를 받아야 한다는 소식을 동생에게 들었다. 한참을 미루다 인터넷을 검색하며 조금 알아보았더니 나처럼 해외 체류중인 경우는 적성검사를 연기할 수 있는데, 연기신청을 하려면 경찰서나 도로교통공단, 면허시험장을 방문해야 한다는 것이었다. 이런 젠장! 방문할 수 있으면 가서 그냥 적성검사를 받고 말겠다.

Read more...

장난감 프로젝트

Java 프로그래밍을 밥벌이로 삼고 있지만 JDK에 새로 추가된 기능을 공부하고 연습하기를 멈춘지 꽤 된 것 같다. ScalaClojure 같은 다른 언어를 공부하기도 했지만 많이 나아가지 못했다. Java에 새로 추가된 기능을 제대로 이해하지 못한 상태에서 기본적인 사용법만 익혀 하루하루를 버티다 보니 점점 바닥이 드러났다. 회사 일을 할 때는 레커시 코드에서 자잘한 기능을 추가하거나 버그를 수정하는 작업만 하다보니 새로운 것을 배울 기회가 많지 않다.

Read more...

프로젝트 오일러 100

두 개의 파란 공이 뽑힐 확률이 50%인 경우

문제 자세히 보기: [국어] [영어]

공 전체 개수를 n , 파란 공 개수를 b 라 하면, 상자에서 무작위로 두 개의 공을 꺼냈을 때 두 개가 모두 파란 색일 확률은 다음과 같이 나타낼 수 있다.

%math \begin{aligned} P = \frac{b}{n} \cdot \frac{b-1}{n-1} = \frac{1}{2} \end{aligned}

Read more...

Duplicate lines

예전에 Eclpse를 쓸 때 알게 된 편리한 기능이 있다. 하나는 Move lines up/down 기능으로 Alt+<up> 또는 Alt+<down> 키로 현재 선택 영역 또는 현재 행을 위/아래로 이동하는 기능이고, 다른 하나는 Duplicate lines 기능으로 Cmd+Alt+<down> 키를 누르면 현재 선택 영역 또는 현재 행을 아래로 복사하는 기능이다.

Read more...

프로젝트 오일러 99

밑과 지수 형태로 나타낸 수 중 가장 큰 수 찾기

문제 자세히 보기: [국어] [영어]

로그 개념을 알면 쉬운 문제다. 큰 수에 \log 를 취하면 작은 수로 바꿀 수 있다. 예를 들어 10^{100} 은 1 뒤에 0이 백개나 붙는 큰 수지만 \log_{10} 10^{100} 은 그냥 100이다. 그러나 \log 는 단조증가 함수기 때문에 어떤 수 x y 보다 크다면 \log x \log y 보다 크다.

Read more...