전체 글 235

윤년의 개념

우리가 일반적으로 사용하는 1년은 태양년 또는 회귀년(tropical year)입니다. 이것은 태양이 춘분점에서 출발하여 다시금 춘분점에 도달할 때까지 걸리는 시간입니다. 1 태양년의 길이는 365일 5시간 48분 46초 또는 365.2422일입니다. 여기서 일은 평균 태양일입니다. 기 원전 46년경에 Julius Caesar는 당시의 혼란스러운 역법을 정리하면서 1년을 365일로 두었습니다. 그런데, 1 태양년은 365.2422일이므로 해마다 0.2422일이 남았고, 4년이 지나면, 0.2422 x 4 = 0.9688일로서 거의 하루가 남게 되었습니다. 이 때문에 시저는 4년마다 한번씩 윤년을 두어 그 해의 1년은 366일이 되도록 하였습니다. 이것을 율리우스력(Julian Calendar)이라고 합니..

개발 등/중급 2008.08.04

Collection 정리 2

자바 프로그램이 실행되는 동안 프로그램에서는 많은 객체들이 살고 있는 셈입니다. 일반적인 객체의 생명은 new + 생성자를 통해서 만들어진후에, 레러펀스와 결합되어 사용되다가, 가비지 컬렉터에 의해서 정리됩니다. 필요한 객체의 수가 얼마되지 않은 간단한 프로그램에는 객체가 필요할 때마다 하나씩 만들어 사용하면 그만이지만, 실제로는 객체를 모아서 관리해야 하는 경우가 생기기도 하고또는 여러 개의 객체를 하나의 유닛 단위로 연산해야하는 경우도 생깁니다.또 어떤 경우는 만들어진 객체를 사용하다가 잠시 저장하고, 또 다시 꺼내 쓰다가 다시 저장 하기도 합니다.  저장된 객체를 뭉치로 다른 객체의 메소드의 인자로 넘겨준다던가하는 행동들을 해야 하는 경우가 생깁니다.이러한 경우 객체를 저장하는 도구, 저장했다가 다..

개발 등/중급 2008.08.03

Collection 정리

여태 개발하면서 무지 많이 써오던 컬랙션들. 성능이나 별다른 고민없이 걍 대충 써왔던 것 같다. "켄트 벡의 구현 패턴"이란 책을 보다 보니 자세한 설명이 있어서 그 동안 알고 있던것과 더불어 정리해 두는 게 좋을 것 같다.1. 인터페이스The core collection interfaces. Queue는 거의 사용하지 않고 책에 없으니까 생략 ^^ - 배열가장 단순하지만 가장 유연하지 못한 컬렉션.크기가 고정되어 있고 원소 접근 방법이 용이하면 빠르다.단순한 연산의 경우 배열은 다른 컬렉션에 비해 시간, 공간 모든 면에서 효율적이다.일반적으로 배열 접근(element[i])은 ArrayList를 사용했을 때(elements.get(i))에 비해 10배 이상 빠르다고 한다.대부분의 경우 유연성 문제 때문..

개발 등/중급 2008.08.03

[2006/06/27] 첫 길동무를 만나다

베이징에서의 3일. 좋은 친구들을 만났지만, 배낭여행자들이 아니어서일까? 조금씩 틈이 생기고 있다. 왕푸징 거리에서 먹어본 전갈 튀김 맛이 새롭다. 떠나기 전 만난 한국 친구가 화이팅을 외쳐 준다. 이상하게 그 한마디가 나에게 힘을 준다. 베이징 서역에서 열차를 탄 지 45시간. 창밖의 풍경이 새롭다. 산은 전체적으로 완만한 곡선을 이루고 있으며 나무가 없어 황량한 느낌이 든다. 강물은 모두 황토빛을 띄고 있고 흙벽집들은 모두 폐가처럼 보인다. 기차를 탄 지 30시간 정도가 지나고서야 같은 칸에 한국인이 타고 있음을 알게 되었다. 대학에서 중국어를 가르치신다고 한다. 아무래도 첫 길동무를 만난 것 같다. 우루무치에서 남쪽 실크로드의 새로운 루트를 그 분을 통해서 알게 되었다. 아무래도 우루무치에서 카슈카..

[2006/06/25] 여행을 시작하다

삶에 대한 무력감과 권태가 극에 달하자 아이러니하게도 삶을 되돌아 보게 된다. 홀로 떠나는 생애 첫 여행. 이 여행의 끝에서 난 어떤 풍경을 보고 있을까? 암흑의 순수. 밤바다에 안개마저 시야를 가려 난간 밖으로 뻗은 내 손조차 보이지 않는다. 암흑 속에서, 이 배는 항해를 계속하고 나는 그러하지 못했던 것이 목적지의 있고 없음에 대한 차이가 아닌가 한다. 결국 사랑을 대신할 수 있는 것은 사랑뿐이다... 레오 유스호스텔. 여행의 첫 숙박지. 이제 시작이다.