캠핑과 개발

JAVA를 처음 배우는 이들에게 가장 중요한건 무엇일까?

또 실무에서 JAVA를 통한 개발이 3년 이상이 지났는데도 스킬 향상 없이 항상 그 자리에 있는 개발자들의 문제는 무엇일까?

그 해답은 기본이다.

 

기초를 탄탄히 하면 경력이 올라갈수록 더욱 설계가 탄탄하고 제대로 된 개발을 할 수 있는 반면에 기초가 부족하면 경력이 올라갈수록 높은 스킬을 요구하는 프로그램을 개발해야 한다.

하지만 기초 없이 개발된 프로그램은 개발할 때는 전혀 아무런 문제가 발생되지 않지만 배포를 하게 되거나 서비스 오픈을 하고 얼마 지나지 않으면 조금씩 문제들이 발생을 하게 된다.

작게는 작은 오류 메시지나 일시적인 오동작으로, 크게는 서비스 중인 프로그램이 아예 동작을 안하게 되는 경우까지 발생한다.

이런 소스들을 파헤쳐 보면 정말이지 간단하고 사소한 문제로 인하여 문제가 발생을 했는데 원리나 기초만 제대로 파악하고 있으면 발생되지 않을 문제들이 다수가 있다.

이런 문제들은 이제 막 실무에 들어간 개발자들만이 다년간의 경력을 가진 개발자들에게도 흔하게 일어나는 현실이다.

 

'난 정말 JAVA를 공부한 적이 없다구요.'

이 책에는 이러한 기초나 원리에 대한 내용을 위주로 기술을 하고 있다. 초보자들이 꼭 알아야 할 기초와 그 기초가 이루어지게 되는 원리들을 이해 하기 쉽도록 설명을 하고 있다.

그리고 온라인 학습 사이트에 가입만 하면 동영상 강의를 무료로 제공해주니 책으로도 이해가 안되는 부분이 있을 경우 활용하면 좋을 듯 하다.

강의를 제공하는 URL은 다음과 같다.

http://www.orentec.co.kr/teachlist/JAVA_BASIC_1/teach_sub1.php

 

일반적으로 다른 JAVA관련 책들과 비교했을 때 두께는 결코 얇은 편이 아니다.

평균적으로 봤을때는 두꺼운 편에 속하는 듯 한다. 하지만 목차는 조금 줄은 듯 한데 네트워킹에 관련된 내용이 없기 때문인듯 하다. 이 부분은 개인적으로는 다소 아쉬운 부분이긴 하지만 네트워크 프로그래밍 부분은 서점에 가도 책 한권으로 따로 만들어질 만큼 분량이 크기 때문에 페이지 조금 늘려서 목차를 남긴다고 해도 크게 활용 되지 못할 듯 하니 냉정하게 이 부분이 뺀 선택은 저자의 많은 고민거리였을 듯 하다.

 

개인적으로 이 책에서 다소 아쉬운 부분이 있는데 그것은 전체적인 소스에 대해서 JAVA의 기본적인 Convention에서 조금 벗어난다는 것이다.

 

이 책에서는 예제 소스에서 대해서 다음과 같이 보여준다.

class Method2Param

{

       public static void main(String[] args)

       {

             System.out.println("Hello java");

       }

}

 

하지만 기본 Convention은 다음과 같다.

public class Method2Param {

       public static void main(String[] args) {

             System.out.println("Hello java");

       }

}

 

이는 성능에 영향을 미치거나 문제가 되지는 않는 부분이지만 추후에는 조금 헷갈려 하는 부분일 듯 하다. 이런식의 코딩은 C#이나 actionscript 코딩이기 때문이다. 이는 저자가 많은 언어를 습득했다고 생각이 든다. 하지만 JAVA를 배우는데는 전혀 관계가 없지만 개인적으로는 다소 아쉽긴 하다.

 

이 책의 장점은 위에서 설명했듯이 전체적으로 목차는 좀 작은 편이긴 하나 그 책의 두께만큼은 다른 책보다 오히려 두껍다. 이는 하나의 목차에 대해서는 더욱 알차게 세부목차가 채워져 있고 그 내용 또한 상세하게 기술되어져 있다는 것을 말해준다. 저자가 과감하게 일반 서적과의 비교를 꾀하고 가장 필요한 항목이 무엇인가를 고민한 끝에 내린 결정이 아닌가 생각이 든다.

 

 

그리고 이 책은 꾸밈이 없다.

이 책을 만든 의도는 JAVA를 모르는 이를 대상으로 기본을 탄탄히 하기 위한 의도이지 소스를 좀 더 보기 좋게 꾸며서 기본서도 아닌 활용서도 아닌 그런 어중간한 서적이 아니다.

기초를 대상으로 무엇이 필요한지를 기술하고 그 내용 중에 헷갈려 하는 부분은 그림으로 상세하게 설명을 한다. 소스는 이번 내용에 배운 소스만으로 코드를 구성한다. 그리고 마지막으로 배운 내용을 퀴즈로 정리하여 복습 하도록 하고 있다.

저자는 지필의도대로 기초의 중요성을 강조하고 그 내용을 단계적으로 암기 할 수 있도록 하고 있다. 기초가 탄탄하면 그 활용도는 더욱 배가 되기 때문이다.

 

아래 그림은 이 책에 삽입된 이미지 들이다. 내용으로 한번 설명을 하고 이해를 돕기 위한 이미지를 제공한다.

 

 

 

 

 

 



사실 어떤 좋은 도서가 있던지 개인이 노력을 하지 않으면 아무 소용이 없는 것이다.

노력 없이 좋은 결과를 얻기는 힘들지만 또 노력만 가지고는 좋은 결과를 내기 또한 어렵다.

요즘 세상은 노력하고 열심히 하는 사람보다는 잘하는 사람을 원하기 때문이다.

누구든지 1~2년을 잘 할 수 있다. 몇 년은 노력으로 그 흠을 매울 수 있기 때문이다. 하지만 시간이 흘러 갈수록 기초가 부족한 사람은 활용도 못하고 스스로 무너지게 되어있다. 그러니 점점 더 남들과의 거리도 멀어진다. 이는 JAVA과 아니라 어떤 언어든지 똑같다.

 

노력은 하지만 제자리 걸음을 걷고 있거나 이제 자바를 시작 한다면 이 책으로 통하여 시작해 보기 바란다. 아마도 이 책을 다 덮을 때 쯤 아니 쓰레드와 동기화(700P) 챕터까지만 공부해도(그 외에는 그때 필요할 때 보면 되기 때문인다) 자바의 대한 기본 문법, 사용법과 객체지향 개념을 정확이 이해를 하게 되지 않을까 생각한다. 열정과 노력을 가진 당신에게 목적지 까지 태워줄 가장 빠른 운송 수단이 될 것이다.

하지만 내용을 모두 이해 했다고 해도 소스를 모두 다 타이핑 해보기 바란다.

열 번 이해하는 것 보다 한번 타이핑 하는게 오히려 큰 도움이 된다. 개발 언어를 공부한다면 당연히 그렇게 해야만 한다.

'일상 > ' 카테고리의 다른 글

[서평] 난 정말 JAVA를 공부한 적이 없다구요.  (0) 2010.02.23
사랑하기 때문에  (0) 2009.09.18
Effective Java  (0) 2009.09.18
Adobe FLEX 3 실전 트레이닝 북  (0) 2009.09.18
퍼레이드  (0) 2009.09.09



자바를 통해서 실무에서 개발을 하고 있거나 현재 자바를 공부하고 있는 분이라면 자바 기본서 하나 쯤은 모두 가지고 있을 것이다. 하지만 모두 가지고 있는 기본서를 고르기란 쉽지 않은 것 또 한 사실이다.

 

그냥 서점가서 구매만 하면 되는데 머가 그렇게 어렵지?” 하고 말 할 수도 있지만 책을 고르고 구입하기란 쉬운데 그렇게 구매한 책을 한 번만 보고 책꽂이에 먼지가 쌓이도록 항상 꽂아 두느냐, 아니면 필요할 때 마다 필요한 부분을 찾아보고 활용 할 수 있느냐가 중요한 것이다.

 

자바 기본서는 모두 다 똑같다? 한마디로 말하면 아니다.

모든 기본서가 말하고자 하는 자바의 기본 문법은 비슷 하다고 할 수 있지만 그 하나의 문법을 어떻게 이해하기 쉽도록 풀어 쓰느냐, 어떤 상황에서 사용 할 수 있느냐를 예를 들어서 설명하는 것이 중요하다. 이는 이론만 가지고 집필한 책과 이론과 경험을 바탕으로 집필된 책과는 전혀 다르다

 

 

난 정말 JAVA를 공부한 적이 없다구요.’

 

서점에 가면 정말 수 많은 JAVA 관련 책들이 존재한다. 하지만 그 책을 펼쳐 내용을 보지 않으면 모두 다 같은 JAVA 서적 같아서 어떤 서적을 선뜻 골라야 할지도 난감하다.

난 정말 JAVA를 공부 한적이 없다구요’.

제목은 상당히 호기심을 유발하는 제목이다. 누구나 한번쯤 수많은 자바 관련 서적 중에 한번씩 뽑아서 볼 듯한 제목이다. 물론 서적이 제목만으로 말하는건 아니지만 내용이 충실하고 자신이 있으면 일단 독자들에게 선택할 수 있는 기회를 줘야 한다. 이 책은 흥미 있는 제목으로 독자들에게 선택할 수 있는 권리는 줬다고 생각한다.

이제 선택은 독자들의 몫인 것이다.

 

어떤 서적을 구입하던지 처음 보게 되는 부분은 머리말을 우선 보게 된다. 머리말을 읽어 보면 집필자의 성격과 어떤 전하고자 하는 집필자의 의도를 알 수 있어 서적을 읽을 때에도 그 집필자 말하는 의도를 제대로 짚을 수 있기 때문이다. 머리말을 보면 저자는 결코 이 서적을 칭찬하지도 않고 자신 있게 추천하지도 않는다. 다만 이 서적을 소신 있게 집필하였다는 말만 하고 있다. 하지만 이 서적은 그렇게 겸손할 필요는 없을 듯 하다.

내용을 보면 자바를 배우는 독자들이 정말 어떤 것들을 알아야 하는지 어떤 부분을 궁금해 할지를 미리 알고 기술 하고 있기 때문이다. 이는 풍부한 경험과 오랫동안 계획되어진 노력에서 의해서만 나올 수 있는 이 서적만의 가장 큰 장점이라고 할 수 있겠다. 또 하나는 일반 서적에는 흔히 볼 수 없는 다수의 그림들이 있다.

단순히 글로만 기술하고 결과 출력만을 보여준 많은 다른 서적들과는 다르게 많은 그림들을 삽입하여 독자들이 이해하기 난해한 부분들은 그림으로 설명함으로 독자들이 쉽게 자바의 원리를 이해 할 수 있게 하였다.

이게 무슨 장점이지? 라고 생각 할 수도 있겠지만 이런 부분은 이제 막 자바를 공부하는 개발자들에게는 정말 큰 선물이 될 것이다. 아직도 이런 소중한 내용을 얻기 위해서 수많은 발 품을 팔아 얻는 사람이 적지 않기 때문이다.  

 

이제 막 자바 공부 시작하기 위해 기본서를 고르고 있고 몇몇 개의 좋은 서적들을 리스트에 올리고 있다면  난 정말 JAVA를 공부한 적이 없다구요도 함께 추가하여 비교해보기 바란다. 이 보다 더 좋은 관련 서적도 많이 있을 것이고 독자들의 취향에 따라서 이 책이 맞지 않을 수도 있겠지만 일단 비교해보고 판단하기를 권한다. 현재 필자는 여러 권의 JAVA 관련 책을 가지고 있지만 남들에게 추천 해줄 만한 책은 몇 권 되지 않는다. 그렇게 때문에 JAVA 공부를 시작하는 독자들에게는 좋은 기본서 선택이 중요하다고 말하고 있고 어떤 책을 강력하게 추천 하는 것은 더욱 더 부담스럽고 조심스럽다. 하지만 난 정말 JAVA를 공부한 적이 없다구요는 JAVA 공부를 처음 시작하는 사람에게나 기초가 부족한 개발자들에게는 몇 권 되지 않는 좋은 기본서가 될 것이라고는 확신하고 개발을 할 때 항상 옆에 두고 펼쳐 볼 수 있는 좋은 바이블이 되지 않을까 생각한다.  좋은 서적들은 나름대로 장점이 있고 독자들에게도 맞는 도서가 있기 때문에 판단은 독자들이 하겠지만 개인 적으로는 이 도서에 후한 점수를 주고 싶다.


'일상 > ' 카테고리의 다른 글

[서평] 난 정말 JAVA를 공부한 적이 없다구요  (0) 2010.03.03
사랑하기 때문에  (0) 2009.09.18
Effective Java  (0) 2009.09.18
Adobe FLEX 3 실전 트레이닝 북  (0) 2009.09.18
퍼레이드  (0) 2009.09.09