[컨퍼런스] 제 11 회 2011 한국자바개발자 컨퍼런스

[■프로그래밍 일반]

제 11회 2011 한국자바개발자 컨퍼런스
크리에이티브 커먼즈 라이센스
Creative Commons License

[사이냅소프트] 2009년 채용공고

[■프로그래밍 일반/OO 기술면접 OO]

<어떤 일을 하나요?>

  • Google Docs, Zoho 보다 경쟁력있는 웹오피스 편집기 개발
  • 어플리케이션 및 서비스 개발
  • MS-OFFICE/HWP/HTML/XML 문서변환기 개발
  • 이미지, 도형 변환기 개발
  • 대용량 웹오피스 서비스 사이트 개발

<어떤 사람을 찾나요?>

  • 한국어에 능통하여 의사소통에 문제가 없다.
  • 어디에 있어도 평균이상의 개발자다.
  • 더 행복하게 개발에 집중하고 싶다.
  • 개밥먹기(DogFood)를 즐긴다.
  • 사용하는 PC에 3가지 이상의 브라우저가 설치되어 있다.
  • prototype.js 정도는 언제든지 만들 수 있다.
  • HTML, CSS specifications은 완전히 숙지하고 있다.
  • 특정한 개발언어에 집착하지 않는다.
  • 개발자는 코더와 다르다. 난 개발자다.
  • 어떤 미션이라도 프로토타이핑은 3일이면 충분하다.

<어떻게 진행되나요?>

채용절차는 서류접수 > 전화인터뷰 > 실무자 면접 > 임원 면접 순으로 진행됩니다.

1. 서류접수  2009.09.02.(수) ~ 2009.09.15.(화)

  • 출제된 채용퀴즈를 풀어서 이력서와 함께 제출해야 합니다 (아래 채용퀴즈 참조)
  • 생년월일과 희망연봉, 긴급연락처를 꼭 기재합니다 (주민등록번호는 기재하지 마세요).
  • 본인을 잘 소개할 수 있는 톡톡튀는 이력서에 좋은 점수를 드립니다.
  • 이력서를 잘 쓰려면 ...
    * 구직자를 위한 자기소개서, 면접 조언 - 전경헌 사장 블로그중 -
    * 개발 문화가 성숙한 회사를 향해 - IBM dW Interview 내용 -

2. 전화인터뷰 2009.09.14.(월) ~ 2009.09.18.(금)

  • 서류전형 합격자에 한해 진행합니다.
  • 이력서와 자기소개서의 내용을 토대로 기술적인 사항에 대해 인터뷰합니다.
  • 약 20~30분 정도 소요됩니다.

 3. 실무자면접 2009.09.21.(월) ~ 2009.09.25.(금)

  • 구술면접, 실기시험으로 진행됩니다.
  • 구술면접은 약 1시간가량 진행됩니다.
  • 실기시험은 약 3시간가량 퀴즈성문제와 미니프로젝트로 진행됩니다.
  • 대면 면접시에는 소정의 면접비(서울경기3만원, 지방5만원)를 드립니다.

 4. 임원면접

  • 약 1시간정도 구술면접이 진행됩니다.
    * 각 단계별 결과는 이메일로 알려드립니다.

<복리후생>

  • 유연한 휴가제도 
    - 처음 입사하면 총 16일의 휴가가 주어지며 1년중 본인이 원하는 시기에 언제라도 사용이 가능합니다.  
    - 휴가가 남아있을 경우 수당처럼 보상을 받을 수 있습니다.
  • Refresh 휴가제도 
    - 입사일 기준 근속년수가 만 4, 7, 10년 되는 시점에 28일간(4주간)의 연속휴가 부여.
    - 10년 초과부터는 매 만 2년되는 시점에 21일간(3주간)의 연속휴가를 부여.
    - 유급 휴가 (급여 100%)
  • 도서 구입비 지원  
    - 필요한 도서는 뭐든지 사서 보세요. 구입비 일체 지원합니다.  
  • 팀별 워크샵 
    - 인당 연 60만원 규모로 팀별 워크샵 비용지원합니다.  
    - 매달 팀별로 워크샵비용이 지급되며, 이 비용은 팀의 재량에 따라 자유롭게 사용합니다. 
  • 전문가 초청 세미나 
    - 사이냅소프트에서는 격주휴무를 시행중이며 촐근하는 토요일은 외부 전문가를 초청하여 세미나를 진행합니다.
    - 세미나가 없을 경우 전체회의, 회고 등 사내행사를 진행합니다.
  • 기타
    - 근무시간 : 9시30분 ~ 6시 퇴근  
    - 상반기 전체 체육대회, 하반기 전체 워크샵을 진행합니다.


<접수방법>

  • 이메일로만 접수 : qa@synapsoft.co.kr
    (아래 3 퀴즈 중 1개 이상을 선택해서 이력서와 함께 제출해 주세요)
  • 채용 문의 : 02 ) 890-3405,3411
크리에이티브 커먼즈 라이센스
Creative Commons License

[사이냅 소프트] 2010년도 사이냅 채용공고

[■프로그래밍 일반/OO 기술면접 OO]

@ 필수 요건

-       한국어로 의사소통하는데 문제가 없는 분.

-       널리 쓰이는 자료구조와 알고리즘에 대해 충분한 이해를 가진 분.

-       자바스크립트, HTML/CSS, 자바, DBMS 전반에 대해 기본적인 역량을 갖춘 분.

 

@ 아래에 해당하는 분은 가산점 혜택이 있습니다.

-       HTTP 등 통신 프로토콜에 대해 깊은 이해가 있는 분

-       대용량 DB 및 서비스 환경에 대한 경험과 노하우가 있는 분

-       VML과 SVG를 잘 알고 계신 분

-       파이썬으로 웹로봇 정도는 제작 가능한 분

-       XML과 XSLT를 잘 활용하실 줄 아는 분


사이냅 소프트의 입사 자격 요건이다.
어떤 방향으로 나아갈지 갈피가 안잡히는 요즘.
공부해 보도록 하자.

크리에이티브 커먼즈 라이센스
Creative Commons License

컴퓨터 역사

[■프로그래밍 일반]
http://www.ted.com/talks/lang/kor/david_merrill_demos_siftables_the_smart_blocks.html
데이빗 메릴: 생각하는 장난감 블록 '시프터블'에 대하여

http://www.ted.com/talks/lang/kor/bill_joy_muses_on_what_s_next.html
빌 조이가 미래에 대해 고민하다.

http://www.ted.com/talks/lang/kor/george_dyson_at_the_birth_of_the_computer.html
George Dyson - 컴퓨터의 탄생

http://www.ted.com/talks/lang/kor/alan_kay_shares_a_powerful_idea_about_ideas.html
알란 케이의 아이디어에 대한 파워풀한 아이디어

http://www.ted.com/talks/lang/kor/evgeny_morozov_is_the_internet_what_orwell_feared.html
에브게니 모로조프: 인터넷은 오웰이 우려했던 바로 그것인가?

http://www.ted.com/talks/lang/kor/jonathan_zittrain_the_web_is_a_random_act_of_kindness.html
조너선 지트렌: 임의적 친절 행위로서의 웹
크리에이티브 커먼즈 라이센스
Creative Commons License

[기술면접] 프로그래밍 면접

[■프로그래밍 일반]
프로그래밍 면접 이렇게 준비한다   
지은이  Eric Giguere/서환수  출판사 한빛미디어  |   발행일 2007년 10월 10일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 22,000원15,400원 30%
마일리지 0% 0원
발행일 2007-10-10
ISBN 8979145241 | 9788979145243
기타정보 번역서 | 428쪽
예상출고일 금일 가능 (근무일기준)
배송비 2,000원 (20,000원이상 무료배송)
   
컴퓨터공학
종합지수 3p 119 위
월간지수 7p 30 위
주간지수 21p 13 위
   
NAVER Checkout 네이버 아이디 하나로 간편구매
구매하기 찜하기
이 책의 원서 Programming Interviews Exposed: Secrets to Landing Your Next Job (2/E)   | WROX PRESS | John Mongan
 
컴퓨터공학 분야 베스트(월)
1. CODE COMPLETE 2/E
2. 테스트 주도 개발 : Test-Driven Development[재출간판]
3. 소프트웨어개발의 지혜 : 원칙,디자인패턴,실천방법
 
 
컴퓨터공학 분야 베스트(주)
1. 소프트웨어개발의 지혜 : 원칙,디자인패턴,실천방법
2. 뇌를 자극하는 알고리즘
3. Introduction to Algorithms (개정판) (2007년 대한민국학술원 우수학술도서)
 
 
컴퓨터공학 분야 신간
1. Interface Tribology Towards 100 Gbit/In2
2. 통계 프로그래밍 실습
3. Soi Circuit Design Concepts
 
 
1장. 구직을 시작하기 전에
2장. 입사 지원 절차
3장. 프로그래밍 문제 접근법
4장. 연결 리스트
5장. 트리와 그래프
6장. 배열과 문자열
7장. 재귀 호출
8장. 동시성
9장. 객체지향 프로그래밍
10장. 데이터베이스
11장. 기타 프로그래밍 관련 내용
12장. 카운팅, 측정 및 순서 관련 퍼즐
13장. 그림 및 공간 퍼즐
14장. 지식 기반 문제
15장. 기술과 무관한 질문
16장. 결론
부록 A. 이력서
부록 B. 마이크로소프트 인턴 면접기
크리에이티브 커먼즈 라이센스
Creative Commons License

[필독서] UML 실전에서는 이것만 쓴다.

[■프로그래밍 일반]
http://kangcom.com/common/bookinfo/book ··· 12170001


 
Robert Cecil Martin
정지호 , 이용원
Insight (인사이트)
20,000원16,000원 (20%↓)
480원 (3%)
8995300981 / 9788995300985
번역서 / 2004-01-02 / 380 쪽
도서특징
[전문가 서평]
또 UML 책인가?
이 책은 UML을 공부하려는 사람을 위한 책이 아니다. 이 책은 UML을 사용하려는 사람을 위한 책이다. 이 책의 철학에 그나마 가까운 UML 서적을 꼽는다면 마틴 파울러가 쓴 'UML Distilled' 정도를 꼽겠다. 하지만 그것마저도 가까운 것이지, 이토록 실용적이고 실전적이면서 최소주의(minimalism)적인 UML 서적은 본인이 아는 한 없다.

필자가 이 책의 초고를 처음 볼 때 ‘UML을 언제 사용하는가’라는 질문에 저자가 답한 것을 읽고는 뒷통수를 죽비로 얻어맞는 느낌을 받았다. ‘뭔가 꼭 테스트해야 할 것이 있고 그것을 테스트하는 데 코드로 하는 것보다 UML로 하는 것이 더 값싼 경우에 UML을 사용한다.’ 따악---!

실무에서 UML을 사용해본 사람은 이 책을 읽으면서 너무 즐거운 나머지 박수를 치고 발을 구르게 될지도 모르겠다. UML을 사용해보지 못한 사람은 무림비공을 거저 줏은 느낌을 받을 것 같다. 혹 주변의 질투와 시기의 눈초리를 받을지도 모르겠다. 군대 다녀온 사람이 별다른 이유 없이 면제된 사람을 보고 질투심을 느끼는 것처럼.

이 책은 사실 UML만 가르쳐주지는 않는다. XP와 객체 지향 설계의 원칙까지도 덤으로 알려준다. 사실 이런 부가 지식 없이는 UML을 효과적으로 사용하기 어렵다고 생각한다. 특히 뒷부분의 사례 연구를 통해 구체적인 사례에서 UML이 어떻게 사용되는지, 설계는 어떻게 하는지 등을 따라가다 보면 어느새 주변의 시기와 질투를 한 몸에 받는 자신을 발견하게 될 것이다.
- 김창준 (월간 마이크로소프트웨어 편집자문위원, 익스트림프로그래밍 컨설턴트)



[누구를 위한 책인가]
  • 현장에서 일하는 개발자
    프로젝트를 진행하려면 UML을 사용해야 하지만, UML은 너무 복잡하고 난해하다. UML 책을 한두 권 읽어서 이론은 잘 알지만, 실무에서 UML을 어떻게 활용하는지 감을 잡을 수 없다. 프로젝트에서 쓰는 것만 배울 수는 없을까? 현업 개발자에게 맞춰 실무에 쓰기 편하게 알아야 하는 개발자 관점에서 UML을 다루었다. UML을 활용하기 위한 방법론과 리팩토링까지 보여준다.

  • UML과 객체지향 설계를 동시에 배우고 싶은 독자
    실제 설계 예시를 단계별로 분석/설계/구현/검증까지 보여준다. 이 책에 코드가 많은 이유는 ‘평범하고 나쁜 설계’를 ‘좋은 객체지향 설계’로 발전시키는 과정을 빠짐없이 보여주기 때문이다.



    [이 책의 특징]
  • 다이어그램마다 대응하는 코드가 있다
    코드와 다이어그램이 매핑되어 다이어그램을 코드로 즉시 떠올릴 수 있게 소스코드 수준으로 설명해준다.

  • 실제 현장에서 도움이 되는 내용만 담았다
    다양한 프로젝트를 진행해본 저자의 경험에서 우러나온 글이라서, 실제로 프로젝트에 UML을 적용하기로 마음먹은 개발자가 첫 발을 내딛기에 좋다.

  • 꼭 필요하지 않으면 하지 마라
    저자가 누누이 “적게 쓰는 것이 좋은 것이다”를 강조하며 실제 프로젝트에서 그 다이어그램을 잘 쓰지 않는다면 되도록 적게 쓰라고 말한다.

  • 프로젝트 초심자에게 명쾌하게 정리해준다
    각종 다이어그램의 단점과 주의할 점을 딱 집어서 설명해서, UML을 사용하면서 느끼는 궁금증이나 불명확한 부분에 대해 권위 있는 사람이 단정적으로 정리를 해준다.

  • UML는 개발자를 더 편리하게 해주는 도구일 뿐이다
    UML은 단지 의사소통이나 대규모 프로그램의 로드맵이나 막바지 문서화에 쓰는 도구일 뿐이다. 우리의 목표는 제대로 객체지향적으로 개발하기를 원한다.

  • 실제 프로젝트에 쓸 수 있는 XP방법론을 간략하게 소개한다
    최근 관심을 불러일으키는 XP 방법론은 저자의 UML 관(觀)과 잘 들어맞는다. 간략하게 활용하는 예를 보여준다.

  • 실제로 분석/설계/구현/검증하는 예를 보여준다
    좋은 설계를 보면 누구나 어떻게 저런 생각을 해 냈을까하고 궁금하게 여기기 마련이지만 대개 좋은 설계의 예를 보여주고 끝날 뿐이다. 하지만 이 책은 평범하고 나쁜 설계에서 어떻게 좋은 설계로 발전시켜 가는지 중간 단계를 생략하지 않고 모두 보여준다.

  • 설계 초심자에게 선배가 조언해주는 가이드다
    프로젝트 관리와 설계에 눈을 떠가는 개발자가 현장에서 만나는 문제를 어떻게 풀어야 할지 선배 개발자가 명쾌하고 유머러스하게 조언해주는 책이다.



    [부/장별 내용 요약]
    1장 - 이 책의 개요
    정말 바쁜 사람이라면 1장에서 다룬 것만 읽어도 남이 그린 다이어그램을 읽거나 간단한 다이어그램을 그리는 데 문제가 없을 것이다.
    2장 - 다이어그램으로 작업하기
    UML는 문서화를 위해 쓰는 것이 아니다. 그러면 UML을 언제, 왜 사용해야 할까? UML이 단지 의사소통이나 대규모 프로그램의 로드맵을 만들거나 막바지 문서화에 쓰는 도구일 뿐이다. UML 지상주의에 빠지지 마라.
    3장 - 클래스 다이어그램
    UML 클래스 다이어그램의 기본개념과 세부사항을 제시하고, 코드와 다이어그램을 대응시키고 표기법의 핵심적인 내용을 정리한다. UML로 표기할 수 있는 것은 다양하지만, 대부분 UML을 너무 적게 쓰는 편이 너무 많이 사용하는 편보다 낫다.
    4장 - 시퀀스 다이어그램
    시퀀스 다이어그램은 반복과 조건, 비동기 메시지, 다중 쓰레드처럼 복잡한 상황에서 유용하다. 그러나 모든 메소드의 시퀀스 다이어그램을 그리려고 하지는 마라.
    5장 - 유스케이스
    유스케이스 개념을 명확히 하고, 기본 흐름과 대안 흐름을 어떻게 작성해야 할지 설명한다. 복잡한 유스케이스라는 암흑의 길로 발을 들여놓지 마라.
    6장 - OOD(객체지향 개발)의 원칙
    나쁜 설계 냄새가 날 때 단 하나의 책임 원칙(SRP), 개방-폐쇄 원칙(OCP), 리스코프 교체 원칙(LSP), 의존 관계 역전 원칙(DIP), 인터페이스 격리 원칙(ISP) 등 다섯 가지 원칙을 어떻게 써야 할지 소개한다.
    7장 - 실천방법: dX
    익스트림 프로그래밍(XP)을 간략하게 설명해서, 개발 방법론이 아직 정립되지 않은 팀에서도 비교적 빨리 dX 개발 방법론에 익숙해질 수 있다.
    8장 - 패키지
    패키지 다이어그램 표기법을 설명한 다음, 소프트웨어 모듈을 패키지로 어떻게 나누어야 좋은지 릴리즈 재사용 등가 원칙(REP), 공통 폐쇄 원칙(CCP), 공통 재사용 원칙(CRP), 의존 관계 비순환 원칙(ADP), 안정된 의존 관계 원칙(SDP) 등 다섯 가지 원칙을 통해 설명한다.
    9장 - 객체 다이어그램
    간단한 소켓 서비스 프레임워크를 예로 들어 객체 다이어그램이 유용한 경우를 설명한다. 하지만 클래스 다이어그램에서 바로 유추해내기 힘든 경우를 제외하고는 큰 쓸모가 없다.
    10장 - 상태 다이어그램
    많은 개발자들이 간과하지만 사실은 매우 유용한 유한 상태 기계(FSM)를 소개하고, FSM을 상태 다이어그램으로 어떻게 표기하는지 설명한다. 덤으로 저자가 직접 만든 상태 기계 컴파일러를 사용해 직관적인 문법을 사용하는 작은 언어로부터 FSM을 소스 코드로 생성하는 방법도 설명한다.
    11장 - 휴리스틱과 커피
    실제로 커피 메이커를 객체 지향으로 설계하면서 초보자가 빠지기 쉬운 실수들을 지적하고 어떻게 더 나은 설계로 개선하는지 단계별로 설명한다. 고차원 정책과 세부사항을 격리하고 행위 중심으로 설계하며 허깨비 클래스, 하나님 클래스 등을 조심하라.
    12장 - SMC 원격 서비스: 사례 연구
    여태까지 설명한 UML 다이어그램을 전부 사용해서 실무 수준의 복잡한 애플리케이션을 설명한다. 10장에서 설명한 상태 기계 컴파일러를 원격으로 호출하여 사용하게 해주는 서버와 클라이언트를 사례 연구로 제시한다. 애플리케이션의 모든 부분을 빠짐없이 UML 다이어그램으로 그린 다음, 그에 대응하는 모든 코드를 보여주므로 실제로 큰 규모의 프로그램 개발에서 UML이 어떻게 쓰이는지 또렷이 알 수 있다.



    [추천 서평]

    과연 이 다이어그램이 코드랑 무슨 상관인가?이 책을 리뷰하면서 옛 생각이 머릿속을 스쳐 지나갔습니다. “과연 이 다이어그램이 코드랑 무슨 상관인가?” 이 질문은 UML 처음으로 접한 사람들이 대부분 제일 처음으로 하는 질문입니다. 저 역시 4년 전에 UML을 처음 만나고 나서 했던 질문이기도 합니다. 그 당시에는 코드와 다이어그램간의 구체적인 상관관계를 속시원하게 털어놓는 책이 없었습니다. UML Distilled와 같은 명저가 있었지만 그 당시 객체지향 분석설계에 제가 거의 경험이 없는데다가 그 책 자체가 코드와 다이어그램을 매핑하지 않으려고 하는 경향이 강했습니다.
    4년 전에 그토록 갈구했던 답이 이 책 속에 있었습니다. 그것도 아주 구체적으로. 물론 UML 자체의 특성상 코드와 다이어그램의 관계가 1:1 매핑된 것이 아니기 때문에, 완벽한 답이 아닙니다.(완벽한 답이란 존재할 수 없죠.^^) 단지 이 다이어그램으로 코드를 어떻게 나올까하는 ‘감’을 잡을 수 있습니다. 그러나 이 책이 그런 감만 잡게 해줬다면 평범한(?) UML 서적으로 묻혔을지 모릅니다. 객체지향 분석 설계하면서 생기는 UML 사용 노하우가 녹아 있지요. 뭔가 또 부족한가요? 네, 맞습니다. UML을 배우면 자연스레 다가가는 객체지향 분석 설계의 원칙도 다루고 있죠. 더 나아가 최근 뜨는 XP(eXtreme Programming)의 핵심도 다룹니다. 이 얇은 책에 이런 게 어떻게 다 있냐구요? 한번 확인해보길 바랍니다. 정말 다 있습니다.
    마지막으로 다음같이 생각이 드는 분에게는 이 책을 적극 권하겠습니다.
    “다이어그램이랑 코드랑 대체 무슨 상관인 거야!” “UML 책 한 권 보고 남는 게 없어.”
    “UML 표기법 다 외워야 하는 건가?” “객체지향 분석 설계를 맛보고 싶어.” “뭐 이리 다이어그램이 많아!” “뭘 어떻게 써야 하지?” “도통 감이 안 잡혀.”
    - 미리 읽어 본 독자 서현호(objectworld.org)

    C++ 프로그래머도 이 책을 한 번 봐야 한다.
    저자가 이 책을 자바 프로그래머들에게 UML을 가르치려는 책이라고 하는 것은 나도 잘 안다. 논리적으로 자바에 맞게 구성해놓았고 많은 예제들도 다 자바로 되어 있으니 확실하다. 하지만 좋은 UML 책을 찾는 C++ 프로그래머들에게도 이 책이 도움이 될 지도 모르겠다. 자바 예제들이 자바 언어의 복잡한 점을 모두 사용하지는 않으니까. 그럴 필요도 없다. 그러니까 자바를 잘 모른다고 해도 그냥 눈으로 코드를 읽기만 해도 무슨 뜻인지 알 수 있을 것이다. 머릿속으로 그냥 C++로 다시 작성해 볼 수도 있겠다.
    그리고 자바가 C++보다 객체 지향적으로 더 순수하긴 해도, 문법이 C++만큼 강력하진 않지 않은가. 다중 상속도 없고, 템플릿이나 연산자 오버로딩도 없고. 이런 의미에서 C++를 자바의 상위 집합으로 생각해도 괜찮겠다. 그러니까 이 책의 자바 예제를 정면으로 보지 말고 눈을 가늘게 뜨고 보면 그냥 C++로 보인다! 너무 비유가 지나치다고 생각할지도 모르지만, 경험이 많은 C++ 프로그래머에게는 비유가 아니라 사실이다.
    - 아마존서평(Wes Boudville)

    뛰어난 교육 도구
    많은 UML 책과 달리 이 책은 글도 잘 썼고 재미도 있을 뿐 아니라, UML의 기본을 가르쳐주는 데 그치지 않고 독자를 더 훌륭한 프로그래머로 만들어준다. 이 책은 대다수의 UML 책처럼 UML의 모든 것을 피상적으로 다루지 않고, 모델링을 언제, 어떻게, 왜 사용하는지 설명한다. 그리고 이보다 더 중요한 내용인, 언제 사용하지 *말아야* 하는지도 설명한다. 저자는 모델이란 코드를 더 쉽게 이해하기 위한 설명일 뿐이고, 그런 역할을 하지 않는 모델은 쓸모없다고 생각한다.
    이 책에서 UML의 모든 주제를 다루지는 않지만, 중요한 내용들을 적절한 수준에서 다룬다. 특히 저자가 나쁜 코드를 찾아내는 데 모델을 사용할 수 있다는 점을 보여주고, 기본적인 OOAD 원칙들도 몇 가지 논의하는 점이 마음에 든다. 내가 일하는 곳이 XP 기반은 아니지만, 저자는 설계에 대해서 약간 수정한 XP 접근 방법을 옹호한다. 그러나 저자의 접근 방법에는 XP와 무관한 좋은 내용도 많이 들어있다.
    나는 이 책을 두고두고 참고할 수 있도록 결코 내 책상에서 먼 곳에 두지 않을 것이다.
    - 아마존서평

  • 저자소개
    로버트 C. 마틴(Robert C. Martin)
    객체 지향 설계, 패턴, UML, 애자일 방법론(agile methodology)과 익스트림 프로그래밍(eXtreme programming) 컨설팅 분야에서 선두를 달리는 오브젝트 멘터사(Object Mentor Inc.)의 대표다.
    2002년 "Agile Software development: Principles, Patterns, and Practices(Prentice Hall)"으로 졸트상(JOLT Winner)을 수상했고, 베스트셀러 "Designing Object-Oriented C++ Applications Using the Booch Method(Prentice Hall)"를 저술했다. "Pattern Languages of Program Design 3(Addison-Wesley)"과 "More C++ Gems"를 편집했으며, 제임스 뉴커크(James Newkirk)와 "XP inPractice(Addison-Wesley)"를 공동 저술했다.
    또 국제적인 개발자 이벤트에서 유명한 강연자이기도 하며, 4년간 C++ 리포트(C++ Report)의 편집자이기도 했다.



    [역자 소개]
    이용원
    중앙대학교 컴퓨터공학과에서 소프트웨어공학을 전공했으며, (주)소프트웨어크래프트 책임 컨설턴트, JStorm 자문으로 있다. 삼성생명 CM 지원 시스템에 프로젝트 매니저로 참여하고, 삼성생명 인터넷 몰 표준화와 동부건설 ERP 시스템, 삼성생명 CBD기반 자산 관리 시스템 개발, 조흥은행 국외점포 표준 전산 시스템에 아키텍트로 참여했다.
    "엔터프라이즈 자바빈즈(대청)"와 "J2EE 응용과 디자인 패턴(대청)"을 썼고, "EJB 디자인 패턴(인사이트)","J2EE Design Patterns(정보문화사)", "Thinking in Java(대웅미디어)"를 번역했다.

    정지호
    서울대학교 재학 중이며 현재 (주)언어과학에서 주임 연구원으로 있다. 한국어 Text To Speech 서버의 통신 하위 시스템, 유아용 한글 학습 게임 ‘디디미’, 영어 교육 솔루션인 ‘Dr. Listening’ 등 다양한 프로젝트에 참여했다. 파이썬, 펄, 루비 같은 동적 프로그래밍 언어들에 관심이 많아서 큰 규모의 시스템에 통합하는 일이나 UML을 동적 언어에 적용시킬 방법에도 관심이 많다.
    크리에이티브 커먼즈 라이센스
    Creative Commons License

    [프로그래밍] 자바스크립트 완벽 가이드(5/E) 스터디

    [■프로그래밍 일반]

    출처 : http://argus.tistory.com/20

    16년동안 기술서적만 읽어오신 필독의 달인 아거스님의 추천도서입니다.






    고수님들의 방법을 익히자 !!!
    자바스크립트 완벽 가이드 - 전2권 - 10점
    데이비드 플래너건 지음, 송인철 외 옮김/인사이트

    신년계획 중 기술서적 10권 이상 읽기가 있는데 그 중 일환으로 작년에 사놓고 읽지 못했던 책을 다시 보기로 했습니다.
    물론 저 혼자는 심심해서 회사 동료 몇 몇 분을 끌어들였습니다.^^

    진행방식은 김창준님께서 블로그에 소개해주신 "바쁜 직장인을 위한 스터디 비결"을 따르기로 했습니다.
    (삼색볼펜비법 빼구요^^ - 삼색 볼펜이 없어서ㅠㅠ)

    나름 올 해 첫 스터디 진행인데 끝까지 마무리가 잘 되었으면 하는 바램입니다.^^

    스터디가 종료되면(약 1.5 ~ 2개월 정도 예상) 정리된 내용들은 블로그에 포스팅하도록 하겠습니다.







    크리에이티브 커먼즈 라이센스
    Creative Commons License

    [기술면접] 기술면접 시 도움이 되는 책 들

    [■프로그래밍 일반]
    출처 : http://airyym.tistory.com/170

    1. 자료구조 & 알고리즘


    (C언어로 쉽게 풀어쓴) 자료구조 - 천인국
    일단 모든 페이지가 컬러로 되있어서 그림을 식별하기 편하다.
    내용도 기본적인 자료구조인 스택,큐부터 시작하여 리스트, 트리,
    그래프, 정렬등의 자료구조의 전반적인 내용을 잘 정리해놓았다.
    모든 자료구조를 직접 구현해 볼 수 있도록 수도코드 및 실제 C코드도 제공된다.

    Introduction to Algorithm
    알고리즘 책의 본좌 중의 하나. 알고리즘 뿐만 아니라 자료구조도
    다뤄서 사실 이 한권만 제대로 봐도 문제없다. 하지만 책이 일단 너무 두꺼워서 들고 다니기가 힘들고, 내용 자체도 증명 등의 수학적 측면을 많이 다뤄서 실제 면접에서 필요한 내용을 간추리기가 어렵다.
    구현도 수도 코드로 되어있어서 실제로 적용해보기는 좀 어려운게 흠.


    2. 운영체제

    운영체제 : 내부 구조 및 설계 원리 5판
    현재 우리 학교 운영체제 교재로 쓰이는 책이다.
    분량도 적당하고, 운영체제의 필수 요소들도 빠짐 없이 다루고 있다.
    (다른 책에는 다루지 않은 부분이 서울대 대학원 필기 시험에도 나왔었다-Virtual Round Robin-.)
    다만, 교수님도 언급했었는데, 파일 시스템 부분이 이상하게도 DBMS를 설명하고 있어서 수업시간에는 다른 책을 참고했었다.


    뇌를 자극하는 프로그래밍 원리 : CPU부터 OS까지
    내공이 느껴지는 책. OS의 주요 개념인, 스케쥴링이나 메모리 관리를 중점적으로 다루고, 논리 회로부터 어셈블리, 기본적인 프로그래밍 기법들도 다루고 있다.




    3. 컴퓨터 구조

    초보 프로그래머가 꼭 알아야할 컴퓨터 동작 원리
    간단하게 컴퓨터 구조를 복습할 수 있는 책이다.
    주로 파이프라인과 캐쉬메모리에 대해 정리할 때 참고했다.
    분량도 얇고 빠르게 한 번 볼 수 있는 책이다.
    게다가 네트워크에 대해서도 간단하게 내용 정리를 해 놓아서
    전반적으로 유용하게 참고할 수 있는 책.


    IT COOKBOOK 컴퓨터구조와 원리:  비주얼 컴퓨터 아키텍처
    전반적인 컴퓨터 구조 내용이 잘 정리되어 있는 책.
    도식이 많이 첨가되어서 이해하기 편하다.
    이 책에서는 주로 캐쉬 메모리와 버스 구조를 정리하는데 많이 참고하였다.



    위의 책들 외에도 면접 준비를 하면서 다양한 책을 참고하였으나, 중복되는 내용도 많았고, 그 중에서도 위의 책들이 설명도 깔끔하고 이해되기 쉽게 되어있어서 언급해봤다.
    2~3시간 동안 면접을 진행하면서 밑천이 다 드러나는 그런 면접이 아니라면, 위에 나온 책들 위주로 간단하게 정리해 간다면 무난할 것이라고 생각한다.

    크리에이티브 커먼즈 라이센스
    Creative Commons License

    [프로그래밍 기법]

    [■프로그래밍 일반]
    효과적인 프로그래밍 기법

    검색하여 숙지

    플렉스 스터디
    크리에이티브 커먼즈 라이센스
    Creative Commons License

    [DC 펌] 코더에서 프로그래머로... (펌)

    [■프로그래밍 일반]

    DC 펌 : http://gall.dcinside.com/list.php?id=pr ··· page%3D1

    여기서 공부하는 많은 사람들 보면, 걍 옛날 생각도나고해서... 올려 봤습니다. ^^


    프로그래밍 언어를 공부하는 많은 입문자들은 프로그래머가 되기위해 보통 C언어를 먼저 공부하게 됩니다.


    그리고는 좌절하죠 -_-;;


    우선 암기해야할 문법 규칙이 너무 많기 때문입니다.


    이건 뭐..... Hello World 문장 하나 만드는데도, 암껏두 안보구 혼자 만들라면, 컴파일 단계를 넘어가기가 왜 이리 힘든지 ㅋㅋ


    C를 공부하고자 하는 여러분들을 위해서 제가 드리고 싶은 말은...


    문법 생각하지 말고 로직을 생각하라는 겁니다.

     

    문법 까짓꺼 책보고 하면 됩니다. 중요한건 어떤 절차를 기반으로 프로그램이 실행 될것이냐 하는 것입니다.

     

    먼저 종이에 글을 쓰시기 바랍니다. 귀찮으면 그림을 그리시던지 -_-;;


    코드를 작성하는것은 시험볼때 아니면 책보고 해도 문제될것 없습니다.


    C는 로직이 중심입니다.


    어쨌든 이래저래 고생고생해서 제법 포인터와 구조체를 가지고 어찌어찌 몇천라인 정도 되는 코드를 작성할 수 있는 단계까지 왔습니다.


    C는 로직이 중요하기 땜에, 몇천라인 작성했으면 몇만라인 작성하는건 문제가 안됩니다. 시간이 문제죠 ㅋㅋㅋ


    이제 C++이랑 자바를 좀 배워볼까? 라고 생각하고 책을 펴는 순간 속이 울렁이기 시작하죠


    객체지향... -_-;;;


    관련 책에보면 대충 이런말이 나옵니다.


    사람이랑 원숭이는 포유류의 자식 클래스이고, 원숭이들 중에 내 원숭이는 원숭이 클래스의 객체이다.


    이런 ㅅㅂ 그래서 클래스가 뭐고 객체가 도데체 뭔데? 내가 원숭이랑 동급인가? 라는 생각이 들면서 괜히 짜증이 납니다. -_-;;


    대충 C는 아니까 C++이나 자바관련 과제 나오면 코드는 작성 할 수 있겠죠.... 그러나 그건 객체 코드가 아닙니다. 로직 중심의 코드입니다.


    C언어의 로직에 익숙해진 여러분은 객체중심으로 생각하는 능력을 가지고 있지 않습니다.


    따라서 진짜 객체지향 프로그래밍을 할 수 없습니다.


    객체지향은 단순 코드만 보고 쉽게 이해할 수 있는 언어가 아닙니다.


    소프트웨어가 객체들간의 메시지 교환을 통해서 내가 원하는 행동을 하도록 만드는것이 객체지향의 기본 개념입니다.


    제가 여러분께 권해드리는 방식은, UML(Unified Modeling Language)을 공부하라는 것 입니다.


    특히 UML의 클래스 다이어그램, 상태 다이어그램, 시퀀스 다이어그램을 공부하시기 바랍니다.


    어렵지 않습니다. 한.... 1주일정도면 충분히 마스터 가능 합니다.


    그리고, 코드를 작성 하기 전에, 먼저 위에서 소개한 다이어그램을 이용하여 그림을 그려보시기 바랍니다.


    처음엔 시간이 걸리지만, 익숙해지면, 머리에 객체지향에 관한 개념이 그려질 것입니다.


    Together나 Rational Rose와 같은 UML도구는 클래스 다이어그램 설계로부터 C++이나 자바와 같은 객체지향 언어로의 소스코드 생성을 지원합니다. ^^


    생성된 소스코드를 살펴보는 것도 많은 공부가 될 것입니다.


    그리고 사전에 UML로 설계를 할때, 무엇보다 클래스의 재 사용성에 관해서 고민하시기 바랍니다.


    이 작업을 반복하게되면 여러분의 개인 라이브러리가 구축될 것입니다.


    그리고 또 하나,


    소프트웨어 공학을 공부하시기 바랍니다.


    이것은 여러분이 프로젝트에 임했을때, 여러분 스스로가 문제를 해결해나갈 수 있는 다양한 방법을 제공합니다.


    그 외에도 여러분이 훌륭한 프로그래머로 성장하기 위해선 많은 경험을 쌓아야 하고, 많은 학문을 공부해야 합니다.


    최소 3개월 마다 새로운 언어를 익혀두시기 바랍니다.


    그리고 무엇보다 중요한건 프로그래밍 관점에서 모든 사물을 재 해석할 수 있는 능력입니다.


    예를들어 똑같이 스타크래프트 동영상을 구경 하더라도


    저그대 저그 3:3 경기를 본다고 가정하면


    양 팀에서 저글링 수백마리가 나와서 맵을 캐첩 번벅으로 만들면서 박터지게 싸우는걸 봤다면


    여러분은.... 우아 대박이다 라고 생각할것입니다. -_-;;


    그러나 진짜 프로그래머라면,,,,


    우아 장난아니다. 저글링 한마리 한마리가 다 객체로 생성되었을때 그게 다 메모리 한공간씩 잡아먹는다면,


    라운드 로빈 방식으로 동작 하는 CPU에서 저녀석들의 개별적인 동작을 각각 하나씩 처리할텐데....


    저건 최소 600개의 객체가 성성되는건데, 왜 컴퓨터가 버벅되지 않을까?


    어떤 방식으로 객체를 처리할까....


    라고 생각하는 것입니다. -_-;;;


    그리고  저것이 가능한 코드를 작성하려면 어떤 방식으로 설계가 되어야 할지 고민하게 되고


    결국, 시스템의 성능에 최적화된 코드를 작성할 수 있는 능력을 기르게 됩니다.


    단순한 코더가 될것인지, 생각하는 프로그래머가 될것인지는 여러분이 어느길을 선택하느냐에 따라 달려있습니다.

    크리에이티브 커먼즈 라이센스
    Creative Commons License