대용량 파일을 AsynchronousFileChannel로 다뤄보기

Java 7 에는 비동기 방식의 File I/O를 지원하는 AsynchronousFileChannel이 추가되었다. 비동기 방식이므로 File I/O에 소요되는 시간 동안 다른 처리를 할 수 있다는 장점이 있다. 특히 용량이 큰 파일일 수록 File I/O에 소요되는 시간이 클 수 있으므로, 비동기 방식의 장점을 더 살릴 수 있다. Asynchronous
Continue reading

Java NIO는 생각만큼 non-blocking 하지 않다

일부러 낚시 냄새가 독하게 풍기는 제목을 지어봤다. Java NIO는 New IO의 줄임말인데, Non-blocking IO 의 줄임말이라고 알고 있는 개발자도 많은 것 같다.(나도 그랬다..) 그만큼 NIO는 Non-blocking이라는 마케팅이 꽤나 열심이었고, 또 그게 잘 먹혔기 때문인지, File I/O를 사용할 때마저 기존의 IO 방식 대신 NI
Continue reading

재귀, 반복, Tail Recursion

fibonacci(피보나치) 수열잘 알려져 있듯 피보나치 수열은 다음과 같다. 10, 1, 1, 2, 3, 5, 8, 13, 21, 34, ... 프로그래밍과는 관련 없는 얘기를 살짝 하자면, 이 수열의 이름은 본명은 Leonardo da Pisa이지만 fibonacci로 알려진 12세기 이탈리아 수학자의 이름을 따서 지어졌는데, 사실 이 수열을 가장 먼저
Continue reading

HomoEfficio


Seoul, Korea.