잡탕1 - IT2009. 3. 18. 12:14
"프로그래밍의 길은 멀고도 험한 것"

프로그래밍에 처음 입문해서 짜보는 프로그램이 'Hello Wolrd' 일 것이다
해당 언어의 기본출력으로 텍스트를 출력하는 가장 간단한 프로그램..
어떤 언어든 최초 예제는 저걸로 시작한다
언제부터 시작되었는지 정확히 알 수는 없지만 타이핑하게되는 프로그래밍 첫 예제임은 부인할 수 없다

그러다가 순환문을 배우게 되면 구구단을 짜게 된다
2*1=2 로 시작해서 9*9=81 까지 출력해보는 for 문의 예제로 말이다

이런 거의 정형화 되어지는 이러한 프로그래밍 예제에서 요즘 떠오르는게 있다
바로 lotto 숫자 출력 프로그램이다
1~45 까지 숫자중에서 랜덤 6개를 중복없이 출력하는 이 예제는
순환, 랜덤, 자료형, 배열 등을 포함할 수 있다

언어를 배우다보면 알게되는 지식으로부터 상상했던 프로그램이 땡기는 경우가 있다
소켓 인터페이스를 배우면 채팅 프로그램을 만들고 싶은 충동이 일어나는 등 말이다
비단 엔터프라이즈 환경의 core 프로그램이 아니라해도 반 장난성 프로그램들을 만들고 싶어질 때가 있다

그래서 그런지 몰라도 나도 Java 로 로또 숫자 생성 프로그램을 만들어본 적이 있다
아마 1~45 중 6개 랜덤한 숫자를 뽑아서 BitSet 을 이용해서 중복을 없에는 방식이었을 것이다
잘 돌아가는걸 보며 나름 흐믓해 했었던거 같다

'JAVA의 정석' 을 보다가 충격적인 로또 프로그램을 보게된다
내가 짠것보다 무려 코딩라인이 1/2 이나 줄어 있고 간단명료한 것이다

 import java.util.*;

class TreeSetLotto {
    public static void main(String[] args) {
        Set set = new TreeSet();

        for (int i = 0; set.size() < 6 ; i++) {
            int num = (int)(Math.random()*45) + 1;
            set.add(new Integer(num));
        }
        System.out.println(set);
    }
}

BitSet 을 이용해서 중복제거 과정을 프로그램에서 돌리는 내 예제와는 다르게
입력부터 중복을 배제하고, 정렬까지 되는 TreeSet을 이용하여  출력하는 이런 간단명료한!

이런 작은 예제에서부터 이런 차이가 난다면 대형 프로젝트에 투입됐을 때의 차이는 명확할 것이다
프로그램의 소소한 부분을 신경쓰지 못하는 아닐함 or 무지...

기초, 기본이 중요하다는건 그 영향력을 생각한다면 상당한 큰 부분이지만
실상은 이런 작은 차이에서 시작된다

"나는 과연 프로그래머가 될 수 있을까?"
"능력부족은 과연 노력만으로 매꿔질 수 있는 것인가?"

다시한번 생각해볼 문제다
Posted by pearl짓거리전문
잡탕1 - IT2009. 3. 14. 01:43
JAVA PROGRAMMING(열혈강의)(개정판)
카테고리 컴퓨터/IT
지은이 김충석 (이한디지털리, 2001년)
상세보기
Java 1.2 일때 나온 책이다. 내가 본건 99년으로 기억한다
자바를 처음 접할때라 동영상 강의를 참 열심히 봤었다
개념이 명확히 잡힐 만큼의 실력이나 사고력이 있던 때가 아니지만
OOP 도 처음 접해본 것이었고, Java 가 참 좋아진 책이다
지금도 소장하고 있다


SCJP(VER 1.4)(EASY GUIDE)
카테고리 컴퓨터/IT
지은이 한동호 (영진닷컴, 2004년)
상세보기
참~ 불행한 커리큘럼으로 교육받은 나는 컴공임에도 불구하고 학교에서 Java를
배워 본적이 없다. 위에 나온 열혈강의 Java 책도 방학때 독학했던 책이다
이 책은 항상 자바에 관심이 있던 내가 SCJP 를 따기 위해 구입했었다
100% SCJP 만을 위한 책이다. 또한 100% 레퍼런스 서술이 목표인 책이기도 하다
이 책은 Java1.4 일때 이고, 1.5 버전에 동일 저자의 책이 또 나와 있다


Head First java
카테고리 컴퓨터/IT
지은이 케이시 시에라 (한빛미디어, 2007년)
상세보기
기억이 맞다면 SCJP 를 따고 구입했던거 같다 -_-;;
개인적인 호기심으로 자바 언어를 공부하긴 했고, SCJP 를 따긴 했으나
취직을 하고 보니 Java를 쓰지 않는 곳이라 쓸 기회가 없었다
그래도 자바에 대한 연민(?)이 남아선지 이 책을 구입하고 들여다 보곤 했던거 같다
근래에 다시 읽어보니 참 잘만들어진 책인걸 실감한다
Java 복습겸 1.5 버전에 추가된 점을 확인해보고자 하는 생각도 있었다


자바 웹 프로그래밍
카테고리 컴퓨터/IT
지은이 황희정 (한빛미디어, 2007년)
상세보기
JSP 를 시작해 보기위해 구입하게 된다
당시는 이 책이 나온지 갓 한달도 안된 상황이었다
그 때는 빨리 변하는 컴퓨터관련 지식들을 빨리 익힐려면
가장 최근에 나온 책을 구입해야겠다는 생각을 했었다
또 이클립스에 대해서 잘 몰랐던 나로써는 책의 부제인 '이클립스 스트럿츠로 배우는' 에
혹 했던게 사실이다. 하지만 내가 사본 Java(JSP) 관련 책 중에
이책이 가장 최악이라고 생각한다
두서 없는 시작, 실행 에러나는 예제, 적절하지 않은 DB(오라클 10g로 진행된다)
이클립스의 내용은 따라하기이고 설명은 거의 없다
교수님이 교제용으로 출판했다는걸 미리 알고 있었으나 이정도일 줄이야 ㄷㄷㄷ
강컴에 가면 내 서평이 실려 있다
2년이 지난 지금 어제 살짝 보니까 관련 부분 판매량이 상위권인 것이다
'개정판 이라도 나왔나?' 하고 봤더니, 내 서평도 아직 그대로 있고 책도 그대로인데,
다만 시기가 학기 초 라는 점! -_- 학생 수 많은 학교 교수님인가 보다


HEAD FIRST DESIGN PATTERNS
카테고리 컴퓨터/IT
지은이 에릭 프리먼 외 (한빛미디어, 2005년)
상세보기
Head First 씨리즈의 열혈팬이 된 나는 이책도 아무 생각 없이 구입한다
아~ 참으로 잘 샀다는 생각이 드는 책이다. 뭐랄까 신세계를 보는 듯한 느낌?
디자인 패턴의 바이블 GoF 의 Design Pattern 에 언급된 패턴들 중에서
가장 많이 쓰이고 유용한 10가지에 대해서 Java 로 구현 해석 사례 등이 실려 있다


Head First Servlets & JSP(상상력을 자극하는...
카테고리 컴퓨터/IT
지은이 케이시 시에라 외 (한빛미디어, 2005년)
상세보기
'자바 웹 프로그래밍' 에서 머리를 얻어맞은 나는
JSP를 다시 공부하기 위해 구입한다
HFJ(Head First Java) 는 자바에 대해서 어느정도 알고 복습 개념으로 봐서 그런가
참 이해가 잘되고 괜찮다고 느꼈었으나 이 책은 참 생소 했다
JSP 를 살짝은 알고 있었지만 설명한다고 설명되어 있는 내용이
난해 했다. 분령도 888 페이지라 보는데도 한참 걸렸다 -_-;
바로 얼마전에 개정판(Java 1.5 적용)이 나왔다
JSP 복습 차원에서 소설책 읽듯이 읽으면 좋을 책이다


JSP 2.0 프로그래밍 기초부터 중급까지
카테고리 컴퓨터/IT
지은이 최범균 (가메, 2004년)
상세보기
HFSJ 에서 뭐가 뭔지 모르게 된 나는 이책을 구입하게 된다
국내 JSP 책중에 괜찮다는 평을 보고 구입했다
보고 있는 중에는 코딩해보고 이해하고 실행해 보느라 정신이 없었지만
다 보고 나서는 JSP 를 처음 접하기에 좋은 책인거 같다는 생각이 든다
확신하지 못하고 '생각이 든다' 고 하는 이유는 2004년에 만들어져서인지
수많은 오타(2008년 10월 인쇄버전임에도 불구하고)와 코드도 상당부분 틀려있고
지금 보기에는 떨어져 보이는 기술들 or 버전들로 되어 있다
2004년이었으면 참 신선했을 텐데...
지금 직장에서도 Java를 하지 않아서 인지, Java -> JSP 의 테크트리를
10년에 걸쳐서 한다 -_-;;


JAVA의 정석
카테고리 컴퓨터/IT
지은이 남궁 성 (도우출판, 2008년)
상세보기
이건 뭐 책장사도 아니고 =_=;;; 또 Java 책을 구입했다
2008년 말부터 요상한 취미가 생겼는데, 온라인 서점에서 책 구경하다가
충동구매를 많이 한다. 아무 생각없이 구입했다
아마도 평들이 좋아서 구입했던걸로 기억한다
충동구매로 나에게 오게된 책이지만 정말 잘 샀다는 책이다
Java 를 지금 시작하는 사람이라면 이 책을 보라고 권하고 싶다
내용 구성부터 개념 정리, 예제 뭐 하나 빠지지 않을 만큼 퍼펙트한 내용으로
꽉차 있다.


JAVA 200제
카테고리 컴퓨터/IT
지은이 조효은 (정보문화사, 2005년)
상세보기
Java의 정석과 같이 구입했다. 어딘선가 '자바 초급에서 중급으로 가는 책'
이라는 말을 들었던거 같다. 그냥 구입한다
아직 보기 전이다. 목차만 살짝 살펴 봤는데 괜찮은 듯 싶다


JSP 2.1
카테고리 컴퓨터/IT
지은이 오정원 (혜지원, 2009년)
상세보기

자바 프로젝트 필수 유틸리티
카테고리 컴퓨터/IT
지은이 박재성 (한빛미디어, 2009년)
상세보기

유쾌한 자바 퍼즐러
카테고리 컴퓨터/IT
지은이 Joshua Bloch (사이텍미디어, 2007년)
상세보기

이젠 병임이 확실하다. 오늘 또 질렀다
최범균의 JSP 에 성이 차지 않아서 인가 JSP 책을 또 샀다
'봤던 책을 또 보면서 복습하는건 어떨까?' 생각해 봤지만
충동구매 욕구를 막을 수는 없었다
JSP 2.1, 자바 프로젝트 필수 유틸리티, 유쾌한 자바 퍼즐러를 한꺼번에 질렀다
결제를 하면서 옆에 있던 친구에게
'나도 미쳤지 저걸 언제 다 볼려고 사는거냐!' 소리치며 결제창에 카드번호를
습관적으로 누르고 있는 나를 발견 했다 ㄷㄷㄷ



지금까지 Java 관련 구입한 책들을 나열해 봤다
괜찮다고 느낀 책도 있고, 별로였다고 느낀 책도 있다
지역적 특성상 서점에 가도 컴퓨터 관련 책이 별로 없을 뿐더러
서점에 'Java'  라고 분류해놓은 책장에는 javascript 책만 널려 있다
그래서 그런지 책을 미리 열어보지 못하고
온라인의 짧은 요약이나 서평등으로 구입하게 되는 현실이 안타깝다
무엇보다 이정도의 책을 봤음에도 실력이 늘지 않았다고 느끼는 내 자신이 한심하다
Java 개발자로 이직을 목표로 공부하고 있는 지금도
'왜 이러고 있는걸까?' 생각하곤 하지만, 10년전부터 느껴왔 듯 Java 가 참 땡긴다
Posted by pearl짓거리전문