한빛미디어에서 "자신만의 자바 로드맵 만들기"라는 이벤트를 한다고 하길래 자바를 만진 시간은 그리 길지 않지만 이젠 약간 어떤 순서로 해야할지 감도 살짝은 왔고(맞든 틀리든... ㅎㅎ) 이벤트 응모하는 겪으로 한번 작성해 봅니다.
저는 웹개발만 하기 때문에 자바로드맵이라기 보다는 자바웹개발 로드맵에 더 가깝다고 할 수 있습니다. 이점 참고하시길 바랍니다. 제가 본 책도 있고 보지 않은 책들도 있습니다.
일단 웹개발을 하려면 모든 것 이전에 웹애플리케이션에서 가장 중요하다고 할 수 있는 HTML과 CSS를 알아야 합니다.
결국 유저가 보는 것은 HTML파일이므로 HTML과 CSS, JS의 기초를 모르면 일단 웹개발은 전혀 할 수가 없다고 생각합니다. 이 기본정도는 알고 있어야 그위에 자바로 개발을 하던 디비를 연결하든 할 수가 있습니다. 자바개발자가 클라이언트개발까지 한꺼번에 하지 않는게 정상적이고 보통은 웹디자이너가 퍼블리셔가 HTML, CSS를 만들어지기는 하지만 결국은 서버개발자가 마지막으로 파일을 핸들링 해야하고 작은 회사는 html이나 css가 제대로 나오지 않아서 개발자가 손대야 하는 경우도 많고 자바스크립트같은 경우에는 경계가 좀 애매한 부분이 있기 때문에 개발자도 많이 손대야 하는게 사실입니다. 자바 스크립트 for 웹 2.0은 기초적인 내용을 다루고 있기 때문에 초반에 보기엔 괜찮다고 생각한다.
그 다음에는 슬슬 자바에 대해서 공부해야 하기 때문에 JSP를 봐야 합니다.
JSP는 Java를 웹페이지에서 표현하는 방법이기 때문에 가장 기본적이고 처음에 알아야 합니다. Head First Servlets & JSP은 SCWCD를 위한 서적이긴 하지만 JSP와 Servlets에 대한 기본적인 설명이 잘 나와 있기 때문에 여러번 봐도 도움이 될 필요가 있다고 생각합니다. 그냥 스크립틀릿을 이용해서도 개발할 수 있기는 하지만 서블릿과 합해지면서 MVC Model 1, MVC Model 2로 유지보수가 쉽고 구조적이 되도록 해야하기 때문에 패턴에 대해서도 같이 공부해야 합니다.
그리고 웹개발에서는 당연히 데이터베이스가 필요하기 때문에 데이터베이스에 대한 공부도 병행되어야 합니다.
데이터베이스를 이 타이밍에 거론하기는 했지만 솔직히 데이터베이스 같은 경우는 두고두고 공부해야 할 부분이라고 생각합니다. 회사가 아주 크고 좋아서 쿼리를 짜주는 사람이 따로 있다면 모를까 그렇지 않다면 쿼리는 개발자가 직접 작성해야 하는 경우가 많기 때문에 알아야 합니다. 작은 곳이 아니면 DBA정도는 따로 있기도 하기 때문에 데이터베이스 구축부터 운영까지 하지 않기는 하지만 그래도 그런 부분이 데이터베이스의 기초이기 때문에 전반적으로 알고 있는 것이 쿼리를 짜는데도 도움이 된다고 생각합니다.
그리고 데이터베이스에는 MySQL, MS-SQL등 많은 디비가 있지만 자바하면 기본적으로 오라클을 디비로 생각하고 하는것이 일반적이기 때문에 자바개발을 하려면 오라클에 대해서 깊이 알고 있는 것이 도움이 된다고 생각합니다.
이제 자바를 본격적으로 봐야할 때가 아닌가 싶습니다.(너무 늦었나요? ^^;;) 처음에는 아주 자바의 기초부분만 가지고도 JSP를 이용해서 Java웹개발을 할 수가 있었지만 서블릿도 많이 사용하게 되고 MVC Model 2도 사용하기 시작하면 자바개발의 비중이 높아지기 때문에 자바에 대한 공부가 거의 필수적이라고 생각합니다. 또한 이정도 타이밍에서는 스크립틀릿(<% %>)을 이용한 JSP개발은 지양하고 이제 EL과 JSTL을 사용해야 하기 때문에 실제적으로는 대부분의 로직은 서블릿과 자바쪽에서 하기 때문에 자바의 실력향상은 필수적이라고 생각합니다.
이제 프레임워크를 봐야합니다. 요즘 웹개발에서는 프레임워크를 사용하는게 일반적이고 스트럿츠잉 이젠 좀 지고 있기는 하지만 그래도 사업전반에는 아직 많이 깔려있다고 생각하고 있습니다. 요즘 대세는 Spring으로 가는듯 하더군요. 회사에서 사용하는 프레임워크를 따라 공부해야 하기는 하지만 기초를 어느정도 닦았으면 프레임워크를 이용해서 자바웹개발을 향상시켜야 하고 프레임워크에서는 많은 개념과 기술들을 제공하고 있기 때문에 프레임워크를 공부하면서 많은 것을 얻을 수 있습니다.
관련 툴에 대한 지식도 쌓아야 합니다. 기본적으로 자바개발하면 이클립스를 사용하고 그외에 넷빈즈나 IntelliJ같은 툴들이 있기 때문에 이런 IDE에 대해 잘 파악하고 있으면 개발속도를 크게 향상 시킬수 있습니다. 그 외에 형상관리는 하는 CVS, SVN 그리고 빌드툴인 Ant, TDD를 위한 JUnit와 통합툴등 개발자가 개발에만 집중하고 실수를 줄일 수 있도록 하는 다양한 도구들이 많기 때문에 이런 부분에 대한 익숙해지는 거나 공부는 개발을 공부하는 내내 병행되어야 한다고 생각합니다.
.
XML은 다양한 용도로 사용되기 때문에 XML에 대한 공부를 해야합니다. 최근에는 REST때문에 약해지긴 했서도 아직은 꽤 비중이 있다고 생각하는 웹서비스를 공부해야하고 거기에는 필수적인 XML도 파악해야 합니다. 이런 부분도 파악하고 있어야 더 수준 높은 개발자가 될 수 있다고 생각합니다.
웹개발이라는 것 자체가 워낙 많은 부분이 필요하기 때문에 로드맵으로 정리하는게 쉽지 않군요. 더군다나 저도 아직 다 나아가지 못하고 생각만으로 잡아놓은 부분도 같이 작성하려다 보니까 더 어렵네요. 기본적으로 자바웹개발이라는 것을 중심으로 로드맵을 작성하였습니다. 제가 잘못 생각한 부분이 있으면 지적해 주시면 감사하겠습니다.
한빛미디어 설문
1. 현재 하시는 일은 무엇인가요?
ASP와 자바를 다루는 웹개발자입니다.(다른건 못하고 웹개발만 해요.. ㅎ)
2. 로드맵에서 각 단계별로 같이 보면 좋은 책이 있나요?
책을 이용한 공부외에도 각종 블로그나 개발사이트를 통해서 실시간적인 개발에 관한 정보를 입수하면서 최근에 트랜드를 이해하는 것이 중요하다고 생각합니다.
3. 로드맵에 대한 자신의 생각을 적어주세요.
다른 사람의 로드맵을 그대로 따라하기 보다는 초기엔 참고하고 따라하면서 점점 자신만의 로드맵을 구상하는게 좋다고 생각하고 있습니다.
Comments