카테고리 보관물: article

Java 웹 개발자의 학습 로드맵

Java 웹 개발자의 학습 로드맵

동영상 정보


강의감상평


이런 강의를 내가 취업하는 시점에 찾아보지 못하고 지금 본게 조금 아쉽다. 만약 내가 이 강의를 듣고 장기 과정의 흐름에 따라 진행 했으면 현재 보다 좋은 프로그램을 작성하는 개발자가 되었을거 같다는 뒤늦은 후회가 든다.

현 시점에서 내가 부족한 부분을 집어보자.

1. Java

자바는 2010년도부터 지금까지 꾸준히 내가 사용하는 언어다. 버전도 1.5에서 1.8까지 정식버전이 릴리즈가 되었고 조만간에 1.9가 릴리즈가 될 것 같다. 관심을 계속 주려고 하지만 현재 업무가 자바와 관련이 없어 뒷전으로 밀려있다. 아직도 볼게 많고 배울게 많이 남아 있다. 아마도 프로그래머라는 직업이 끝날때 까지는 계속 공부해야 될 것 같다.

2. Servlet

웹에서 사용하는 단순 요청 & 응답에 대한 처리만 하는 형식으로 공부하다보니 서블릿 생명주기 또는 구성을 제대로 공부한 적은 없는 것 같다.

3. 개발방법론

어떤 개발 방법론을 적용해서 현재 개발하고 있는지 모르고 과거에도 어떤 방법론을 썼는지 모르는걸 보면 개발 방법론에 대해서는 완전 무지하다.

4. OOP & 디자인 패턴

OOP. 디자인 패턴은 계속 공부를 해야 어느정도 알 수 있을 것 같다. 현시점에서는 감도 안온다.

5. Spring

2.5부터 시작했는데 정확하게 어떤 것을 하는지 모르겠다. 그냥 사용법 그리고 사용하면 편하다 정도로 생각하고 있다. 다시 한번 공부를 해야겠다.

6. ORM

Mybatis만 사용해서 Hibernate또는 JPA를 사용할 기회가 없었다. 개인적으로라도 공부해야겠다. 단순 사용법이 아닌 어떤 구조, 어떤 생각으로 이 프레임워크가 만들어졌는지를 생각하자.

7. 협업도구

지금 개발과정에서는 Mantis를 사용하고 있는데 단순 버그 트래킹 정도로만 사용하고 있다. 기회가 된다면 협업도구를 사용해봐야겠다.



단기과정


취업이 최우선이다.

취업을 먼저 한 후 장기 과정을 진행한다면 문제 없다. 그렇지만 장기과정을 따라하지 않고 현 위치에 머무르는 것은 한심하다.

[무조건 취업을 위해 준비해야하는 것들]

  • Java

  • eclipse

  • Spring framework

  • Mybatis

장기과정


  1. 통합개발도구 (eclipse, Intellij) [**]
  2. Java (최종까지 가장 중요하게 가지고 가야한다.) [*]
  3. Servlet + JSP [**]
  4. Build Tool [*]
    • Ant
    • Maven
    • Gradle
  5. 버전 관리 도구 [**]
    • SVN
    • CVS
    • Git
  6. 개발 방법론
    • TDD(테스트 주도 개발) [*]우선은 원칙대로 따라하고 자신에 맞게 변경하도록 한다.

      TDD가 내 몸에 익히면 야근 시간을 줄일 수 있다.

      TDD는 수영으로 치면 자세로 생각할 수 있도록 한다.

      처음 연습은 기본 기능으로 시작한다. String, Date등

  7. HTML & CSS & JAVASCRIPT [**]서버사이드 웹 개발자라면 기본적인 개념만 알고 있으면 된다.

    그렇지만 JAVASCRIPT를 언어적인 측면에서 접근한다면 도움이 된다.

  8. Model1 방식을 사용하여 웹 페이지 개발
    • Spring 또는 Struts가 나오게 된 계기를 알 수 있다.
    • MVC 패턴이 왜 편한지를 알 수 있다.
  9. OOP & 디자인 패턴 [*]
    • 다른 사람들과 다른 방식의 접근이 가능하다.
  10. Spring framework
    • 기본적인 사상들에 대해 먼저 습득하고 API를 확인한다(Dependency Injection)
  11. 생 JDBC 연결 및 중복 코드를 제거하면서 Spring-jdbc와 비교를 한다. [*]
    • Callback interface
    • Class 이념.
  12. JDBC
    • MyBatis
      • 학습 비용 낮고
      • SI에 사용
      • 테이블 정규화가 불가능
    • ORM(JPA, Hibernate) : 개인적으로 학습을 하여 인지를 하도록 한다.
      • 학습 비용 무지 높다
      • 솔루션, 자체 서비스 개발
      • 테이블 정규화가 가능
      • 생성산 향상이 크다
  13. 협업도구 [*]
    • JIRA
    • REDMINE

2014년 상반기를 돌아보며…

2014년 상반기에 목표로 하던 일들이 많았지만 계획대로 살기는 어려운거 같습니다.
스스로 게을러 지는거 같고 여유를 부리고 힘들다고 포기하면서 살고 있습니다.
이렇게 글을 적으며 게을러지고 힘들다고 포기하는 제 자신을 스스로 채찍질하고 싶습니다.

상반기 한일을 적으면..
1. 이직
– 근무기간: 2010/01 ~ 2014/03
– 떠난 이유:
약 4년이란 기간동안 [Unified Communications] 라는 큰 그림중 IPT 메신저 서버를 개발을 담당했습니다.
짧다면 짧고 길다면 긴 4년이란 기간동안 많은 사람들을 만나고 함께 일하면서 많은점을 배웠습니다.
그렇지만 시간이 지나면서 제 자신이 정체되어 간다는 생각이 들었습니다.
익숙해지면서 점점 요령이 늘고 핑계만 는거 같아 떠나야 한다고 생각하고 퇴사를 하였습니다.

  • 새로운 회사:
    이직한 회사는 가족같은 분위기의 10명 미만의 직원이 있는 작은 회사입니다. 업무는 주로 HTML, Android App 개발쪽을 주로 하고 있습니다.

  • 이직후 가장 좋은점.
    출,퇴근 시간이 3시간에서 40분으로 변경 되었다는 점입니다. 그렇기 때문에 아침에 운동도 할 수 있고 책도 볼수 있고 퇴근 후 아이의 얼굴을 보는 점이 가장 좋습니다.
    전 회사에서는 매일 퇴근을 하고 오면 아이의 자고 있는 모습만 보고 자고 있을때 출근을 해야 하기 때문에…

2. 업무
– Android App 개발
안드로이드 어플리케이션을 처음 개발하다보니 적응이 안되는 부분과 서버 프로그램만 개발하다 UI가 있는 프로그램을 개발하기가 쉽지 않습니다.
적응하는데 시간이 필요하고 동일한 소스가 기기별로 다르게 나와 어려운 부분이 있습니다. 그렇지만 재미 있습니다.
새로운 도전은 언제나 즐거운거 같습니다.

  • HTML5
    하이브리드 앱을 개발하기 위해 HTML을 새로 공부하고 있습니다. 서버 개발자일 때는 관리자 페이지만 간단하게 만들거나 테스트 페이지만 만들면 되던 부분을 지금은 조금은 아름답게 만들려다 보니 노가다가 많습니다. 그리고 Javascript를 객체 지향적으로 설계하는 부분은 꾸준히 생각을 해봐야 하는 파트인거 같습니다.

그 외에 가정적으로 일어난 일들도 많지만 이만 적어야 할거 같습니다..^^

많은 생각을 하게 하는 글…

 

Netty에 대한 내용을 검색하던 중에 발견한 내용..

좋은 개발자가 되고 싶은 나는 어떻게 하고 있는가에 대한 생각을 하게 한다.

시인이 되고 싶은 사람은
옛사람의 시를 보면서 공부합니다

화가가 되고 싶은 사람은
대가의 작품을 보면서 공부합니다

가수오디션에 지원하는 가수 지망생조차
다른 옛 선배의 노래를 듣고 부르며 성장을 하려고 합니다