태그 : java

아꿈사 AS 2008과 올해의 학습 방향

아키텍트를 꿈꾸는 사람들 Annual Summary 2008 발표회에 다녀왔다.
생각보다 사람들이 정말 많이 왔고, 거의 끝까지 자리를 지켰다.
발표들이 나름 재미 있었으니까.

사실 새로운 지식을 전달해 준 것은 별로 없었지만, 지식을 얻는 소스에 대한 소개를 잘 해주신 것 같다.

아꿈사 스터디에서 소개한 책들 중 올해 안에 읽을 예정인 책들은 다음과 같다.

올해는 기술 학습에 대해서는 되도록 TDD, 패턴, 리팩토링, 알고리즘 쪽에 맞추려고 한다. 그리고 아키텍처 구성등에 대해서도 읽어보고.

일단 올해 무조건 읽어 볼 책으로는 실전 코드로 배우는 실용주의 디자인 패턴, 리팩토링(아직도 안 읽었니??), 소프트웨어 개발의 지혜 : 원칙, 디자인패턴, 실천 방법, Head First Object Oriented Analysis & Design, Clean Code(누군가 번역중이라는 소문이... 이거 아마존에서 작년에 상당히 뜬 책이다.. 역시 엉클 밥.. 어떤 블로그에서는 자바 개발자 뽑을 때 이 책의 내용으로 인터뷰를 하겠다는 얘기도 읽은 적이 있다), JUnit in Action 2nd, Test Driven, Growing object-oriented software guided by tests, GoF Design Patterns(훑어 보는 정도만), Working effectively with legacy code(당연히 원서로.. --;) 등이다.
Agile Testing 추가(2009/01/13).

기술 서적이 아닌 쪽에 대해서는 가능하면 정보 조직화 능력? 뭐 이런 것에 대해서 학습하려고 한다. 지식을 똑똑하게 습득하는 방법을 알아보고 싶다 뭐 이정도로 설명할 수 있을 것 같다. - 하루 하루 감퇴하는 기억력 때문이라고...굳이 설명을 하고 싶지는 않았는데... --; 아마도 메모 기법, 마인드 맵을 통한 이해력, 기억력 향상 기법 등을 공부해보지 않을까 싶다. 혹시 이 블로그 보시는 분들중 이런 주제에 대해 책 추천해주시면 너무 감사할 듯. 그리고 곧 번역되 나온다는 소식이 있는 Pragmatic thinking and learning : Refactor your wetware 같은 책.

스스로 이렇게 까지 썼는데.. 설마 정말로 읽어보겠지..!

아.. 무엇보다도 프로그램을 많이 짜보는 프로그래머가 되야겠다.

by 권남 | 2009/01/11 17:39 | 일상속에서... | 트랙백 | 덧글(5)

2008 WoC 멘토를 하고자 합니다.

NCSoft 오픈마루 스튜디오에서는 3년전부터 매년 Winter of Code 라는 것을 합니다. 겨울 방학때 학생들이 개발을 하고 현업에 종사하는 개발자들이 멘토링을 해주는 행사이지요.

지금까지는 한 번도 여기에 참여한 적이 없었는데요, 제가 이번에 만들고 싶은 애플리케이션이 있어서 제가 만든다기 보다는 제가 멘토로 참여하여 학생들과 함께 만들어 보고 싶네요.

오해가 있을까봐 잠깐 부연 설명 - WoC의 멘토는 개발을 해주는 것이 아니라 학생들이 개발하는데 대해 가이드만 해주는 것입니다. 개발은 학생이 하는 것입니다.

일단 제가 만들고 싶은 것을 소개합니다.

간단히 요약하면 독서 목록을 관리하고 함께 나누는 싸이트입니다. 사실은 요즘에 블로그에 올리고 있는 책 리뷰를 좀 더 편하게 써보고자 하는 욕심에서 나온 것이지요.. ^^;

  1. 사용자는 자기가 가지고 있는 책, 보고 싶은 책, 보고 있는 책들로 목록을 만듭니다. - Aladdin, Daum, Naver, Amazon 등의 오픈 API를 사용합니다.
  2. 해당 책에 관한 리뷰를 작성하고 별점을 메깁니다.
  3. 리뷰는 MetaWebLog, Daum Blog API 등을 사용하여 블로그에 포스팅을 할 수 있습니다.
  4. 기타 기능이 더 붙습니다만, 그게 좀 핵심이 되는 것이라 여기서 상세한 아이디어는 공개하지 않겠습니다. 학생과 함께 키워나가도록 하지요. ^^
이와 비슷한 싸이트가 이미 존재합니다. 바로 OpenYourBook 이지요. 사실 이 아이디어를 생각하고 난 뒤에서야 혹시 이미 비슷한게 있는거 아냐? 하고 찾아봤었습니다. 역시나 있더군요.

하지만 몇가지가 다릅니다. 그리고 사실 이게 만들어서 오픈하는 것 보다는 만드는 과정 자체를 학생이 느껴보도록 하는 것도 목표이기 때문에 이미 존재하고 말고는 크게 의미가 없습니다. 그리고 프로그램의 규모도 학생이 하기에 그렇게 부담되지 않을 정도 인 듯 하네요.

그렇다면 학생은 어떠한 스킬을 기본적으로 가지고 있어야 할까요? 아래는 제가 알려주는 것이 아닙니다. 이미 기본 지식을 알고 있거나 스스로 공부할 의지를 충분히 갖추고 있어야 합니다(좀 스펙이 높긴 하군요.. "기본"을 알고 있다는 정도로..).
  1. HTTP 프로토콜에 대한 기본적인 이해.
  2. Java/JavaScript/CSS
  3. Servlet/JSP(혹은 FreeMarker)
  4. Spring
  5. Hibernate 혹은 iBATIS 혹은 Spring JDBC
  6. MVC 패턴과 Service, Dao 로 구성하는 개발 방식
  7. Subversion 을 통한 소스 코드 관리
  8. Eclipse
가능한 한 제가 일하고 있는 회사의 자바 개발 환경, 개발 방식을 그대로 따르도록 하고자 합니다. 아마도 저러한 기본 지식을 갖추고 있더라도 실제로 개발한 경험은 없는 학생들도 있겠지요? 그래서 제가 회사에서 일 하던 방식을 그대로 가이드 해 주게 될 것입니다. Hibernate는 사실 욕심이 과한 듯 합니다. 상황을 봐서 iBATIS 혹은 Spring JDBC로 스펙을 낮추도록 할 예정입니다.

그리고 개발을 하는 도중 학생은 어떠한 방식을 사용하게 될까요?
  1. Test Driven Development : 제가 요즘 빠져 있습니다. 요즘에는 테스트를 만들지 않으면 거의 코드를 짜지 않으려고 하는 편이지요. 이건 저도 함께 공부하게 되겠군요.
  2. Maven 을 통한 프로젝트 의존성 및 빌드 관리
  3. 기타 제가 밥도 좀 사주면서 함께 만나 짝 프로그래밍도 할 예정입니다. - 이번 WoC에는 아마도 개발자와 학생이 PC를 들고 직접 만나 모두 모여 코딩하는 세션이 들어갈 것 같습니다. 없더라도 제가 따로 시간을 내도록 할 예정입니다.
혹시 함께 하고자 하는 학생(1명 혹은 그 이상의 팀도 가능합니다)이 있다면 오픈마루 스튜디오에서 얼마후에 하는 W Day 때 저에게 면담을 요청해주세요. W Day는 학생과 멘토들이 먼저 만남을 가지고 멘토들이 학생들을 만나보고 강연도 듣는 그런 날입니다.

이 프로젝트에 관심이 있으시면 으로 이메일을 줘서 미리 약속을 잡아도 좋을 것 같고, W Day 당일날 어찌 어찌 만나게 되어도 괜찮습니다. 그러면 저는 여러분들중에 누군가를 좀 더 자세히 알고 프로젝트를 수행할 학생을 선택할 수 있게 됩니다.

야, 긴 글 읽어주셨군요. 고마워요~

by 권남 | 2008/12/08 22:19 | 일상속에서... | 트랙백(1) | 덧글(9)

◀ 이전 페이지          다음 페이지 ▶