'허니몬의 IT 이야기/프로그래머, '코드 엔지니어''에 해당되는 글 99건

허니몬의 IT 이야기/프로그래머, '코드 엔지니어'

20120728 어느 멋쟁이 작은별 이야기


작은별 이야기만들어진 앱


앱 실행화면

 Package

com.somday.story.littlestar


 동화 스토리 타임

  • 0:42 씨앗여행자와 만남
  • 1:56 긴 물빛옷을 입은 아줌마별과 만남
  • 2:46 물방울, 연기, 바람을 나르는 할아버지와 만남
  • 3:56 귀여운 꼬마별과 만남


 앱구현 내용 정리


  • 기본정보
    • 안드로이드 화면 비율 가로 480px * 세로 800px
  • 고려사항
    • 동화 구현방식
    • 동화의 길이
      • ‘어느 멋쟁이 작은별 이야기’ : 총 길이 5’40" 내외
        • 0:42 씨앗 여행자 이야기
        • 1:56 긴 물빛옷을 입은 아줌마별과 만남
        • 2:45 물방울, 연기, 바람을 나르는 할아버지 만남
        • 3:56 귀여운 꼬마별 만남
    • 동화 재생방식
      • 자동
      • 수동
        • FF, REW
        • Vul Up. Vul Down.
  • 필요한 이미지
    • 인트로 1장
    • 동화 장면별 이미지 장
    • 도움말 화면 1장
      • 화살표 출처 : http://www.iconfinder.com/icondetails/27881/128/arrow_up_icon
    • 크래딧 1장
  • 추후 변경되어도 공통사항 요소
    • 앱 아이콘
    • 음원파일(사용될 이미지가 노출될 타이밍도 있으면 좋음)
    • 음원파일에 따라서 앱에 표시할 이미지 목록
  • 기본이 되는 Template 프로젝트를 완성하고 나면, 동화음원에 따라서 변경되도록 수정



 개발과정

  • 매니저, 디자이너가 잉여의 시간을 많이 보냈다.
  • 생각보다 지연이 많이 되었다.




 개발 후 정리


  • 이미지 작업
  • 안드로이드앱 개발과 관련하여 개발에 필요한 API 들에 대한 사전 준비와 학습이 필요했다.
    • 일정시간 안에 앱개발을 마치기 위해서는, 그 전에 미리 ‘필요한 것들을 만들어둘’ 필요가 있다.
    • 혹은 간단하게, 제대로 동작하는 앱을 만들 수 있는 능력을 갖춘 개발자가 필요하다.
    • 기능적인 요구사항은 간결하게 정리하는 것이 좋다.
  • 생각했던 것에 비해서 사전작업이 많이 필요했다.
    • 개발에 대한 충분한 얘기가 진행이 되어야 그 안에서 필요한 요구사항과 기능들이 도출되고 정리될 수 있을 것 같다.
  • 처음 시도해보는 실험프로젝트였다. 만족스런 부분들보다 부족한 부분들이 더 많았다. 그래서 욕심이 생겨, 다음에도 참여하기로 했다.
  • 이번 프로젝트에서 소스코드는 '네이버 개발자센터(http://dev.naver.com/projects/littlestar)'에서 소스코드 관리를 하고 있다.
    • 아직까지 제대로 네이버 개발자센터를 사용해보지 않은 탓에 많이 낯설은 것이 있다.
  • 개발자로서의 경험보다... 기술이 많이 부족하다. 후아~

허니몬의 IT 이야기/프로그래머, '코드 엔지니어'

이제 슬슬 Python(http://www.python.org/) 을 공부할 채비를 해야겠다.


아직 자바도 제대로 이해하지 못하고 제대로 사용하지 못하는 상황이지만,

자바 이외의 언어를 공부해봐야겠다는 생각을 모아서 일을 진행하는데 써야겠다.

혼자하는 게 나을까? 아니면 스터디를 조직해서 간단한 목표를 정하고 하는게 나을까?

허니몬의 IT 이야기/프로그래머, '코드 엔지니어'

20120627 TDD 실천법과 도구 - 2년 뒤

장소 : 회현 부근 LG CNS 2층 대회의실 발표자 : 채수원님


  채수원님의 책 [테스트 주도 개발 TDD 실천법과 도구] 책이 출간된지 2년의 시간이 흘렀다. 이 책이 나오기전 뭣도 모르는 상태에서 베타리딩을 신청했다. 베타리딩을 할 때도 그렇게 열심히 했다는 생각은 들지 않는다. 당시에 빠져있던 지독한 무력감을 벗어나기가 참 어려웠다. 그래도 꾸역꾸역 베타리딩을 하면서 TDD에 대해서 눈을 뜨게 되었다. 

'빨강(실패, fail!!)'에서 '파랑(성공, Success!!)'으로 바뀌는 재미를 느낀거다.


테스트 주도 개발 TDD 실천법과 도구

저자
채수원 지음
출판사
한빛미디어 | 2010-06-16 출간
카테고리
컴퓨터/IT
책소개
효율적인 설계와 간결한 코드를 만드는 필수 TDD 기법『TDD ...
가격비교


출처 : 아웃사이더님 인스타그램 : http://instagram.com/p/MX7-gIsvxw/


아.. 난 몰라.. 

나도 모르겠다!!

  채수원님이 어떤 이야기를 해주실지 두근두근하는 마음으로 자리에 앉았다.


  • 푸뤼하게 진행하는 것!! Free style!!
  • think smart - Change the world.

2년 동안

국내외의 내노라하는 개발자들이 모였다.
  • How do you do?

    I'm fine, and you?

  • 2010년
    • 난 뭐했지?
      • 나 말 정말 못한다. ㅡ0-)!! 이래 가지고 어디가서 발표할 수 있겠어?
  • 2011년
    • 모바일 교보문고
      • XP - 스프린트
      • 스프링
      • 스프링 시큐리티
      • ibatis
      • 아무 생각없이 한 것 같다. 그래... 좀 더 집중해서 했어야했어.
    • 회사 솔루션
      • DDD
      • TDD
      • 난 삽질 중이야. ㅡ0-)!!
    • 애자일
      • TDD
      • 짝코딩
      • 기획, 디자인 파트
      • 기획, 디자인과 개발 파트가 한데 어우러진 팀
    • 코딩 해본 게 언제인가?
      • 시뮬레이션
    • 봄싹 스터디에서 만나게 되었다.
      • 취업 사기단
      • 애자일을 적용할 수 있는 가능성
      • 안드로이드 번역
    • TDD
      • 주요 기능에 대한 테스트 이외에는 테스트케이스를 줄어들 게 되고 있다.
      • 업무적으로 테스트 커버리지 맞추라는 강요에 흥미를 잃어가고 있다.
    • 사람들의 무관심
      • 애자일
      • XP 스프린트에 대한 이야기가 점점 잦아들고 있다.
    • 애자일, 스크럼과 XP
    • 2년 전과 지금
      • 지쳐서 도망갈 사람은 도망갔다.
      • 체력 싸움
    • HTML5 & JavaScript -> App publish(Sencha였던가?)
    • Embeded
      • 2년 사이
    • 애자일 코칭
      • TDD가 잘하는 것만으로는 불충분 하다.
      • TDD가 아닌 것들
      • 몰라서 못하는 것보다 알면서 못하는 것이 더 힘들다.
      • TDD를 어려워하는 사람들
      • 정상적으로 돌아가는 것들에 드는 비용을 줄여라.
    • 안영회
      • TDD로 개발하는 지, 개발 후 jUnit만 끼워넣는 건지…
      • 프로젝트에서 테스트 커버리지를 정해놓고, 그걸 맞추기 위해 노력하게 된다.
      • 작게 쓰고 모호한 것들은 TDD를 통해서 진행하는 것이 좋다.
    • 루비를 쓰는 개발자
      • 보릿고개를 살아가고 있는 개발자
      • 루비 하지 마세요. ㅎㅎ
      • Startup
    • NHN 황상철
      • Spec by example -> 요구사항에 맞춰서 테스트를 작성해내는 것?
      • 어려워요. ㅡ0-)~
    • 서버, 통신쪽 위주로 한점
      • 스쿱미디어 CTO
  • TDD로 개발을 한 적 있나요?
    • 팀 전체가 TDD로 개발을 한적 있나요?
    • 몇 명쯤 변화 시켰나요?
      • 누군가를 변화시킨 적이 있는가?
    • 뭘 배웠을까?
    • 한 달 만에 20년 산 포도주와 비슷한 맛의 포도주를 만드는 방법!
      • 한달에 4시간 일하기!!?
      • 독하게 하는 사람들 : 소믈리에
      • 들어봐~~
  • 왜 안될까??
    • TDD를 써야 하나?
    • TDD가 안되는 이유?
    • 개발이 잘 안되는 이유?
    • 프로젝트가 실패하는 이유?
    • 오바하지마! vs. 원래는 안되는 거야!
      • 불편해하거나
      • 지속적으로 하지 않거나
  • CBD 실패의 이유…
    • 쓸 일이 없다.
    • 함수 -> 객체 -> 컴포넌트 의 단계를 제대로 겪어오지 못했다.
    • 방법론 등이 실패하는 이유
      • 사람은 쉽게 바뀌지 않는다.
    • 기술이 받쳐주지 못하기 때문에
      • 과거에도 있었지만, 현재에 그 개념을 구현할 수 있는 기술이 지원하기 때문에 유행되기 시작한 것들이 있다. 실패하게된 이유 중 하나는 그 당시에 개념들을 지원한 기술이 없었기 때문이다.
      • 공격과 방어!! +_+)~
    • CBD의 개념이 다르다.
      • 장사꾼(밴더, Vendor)
    • 무엇을 하려고 했는지 초심을 잊고, ‘어떤 결과를 얻으려는 욕심’ 키워갔다.
      • ‘무조건 된다’ 라는 욕심
    • ’문제가 있다.’는 큰 문제는 아니다.
      • ‘한 사람이 그 문제를 고민하면 된다.’
    • 다르게 생각한다.
      • 실패를 했다는 이야기… 성공을 한 것은 뭘까?
      • 성공과 실패를 말하기는 쉽지 않다. 언뜻 보면 모두 실패 같다.
      • 다른 렌즈로 보고 있다.
      • “어차피 안된다.”
        • 혈당이 낮으면 의지력이 떨어진다.
    • 목표와 역량의 차이!!


출처 : 정용식님 페이스북 :http://www.facebook.com/photo.php?fbid=386681444723742&set=a.163284913730064.36566.100001456685573&type=1&theater


배운점

  • 기술이 없어서 못하는 경우는 없다.
    • 핑계다!
    • 하는 사람은 다 해! -> 기술이 없어서 못한다고 생각한다.
    • 밀린다.
  • 왜 실패할까?
    • 무지 : 문제가 뭔지 몰라
    • 무시 : 변화를 시도하지 않는다.
    • 무지속 : 시도를 지속하지 않는다.
    • 무개선 : 개선하지 않는다. -> 내 이야기 같어!!
  • 대상이 없으니 감동이 적다
    • TDD로 뭘 해결할 수 있나? 무엇을 할 수 있는가? 목표의식?
    • 신기함은 잠깐
    • 감동도 잠깐
      • 현실이 녹녹치 않아요.
  • 재미가 없다
    • 커버리지의 압박!!(테스트 커버리지 압박, 수치로 체크!!)
  • 고민
    • 개인 ‘어떻게 하면 개발을 잘할 수 있을까?’
    • 회사 ‘좋은 개발자를 만들기 위해서는 어떻게 할까?’
  • 걍 하지 말까…
  • TDD 잘하는 사람 : 관찰하기
    • 우선 채수원님
      • 좋아하는 데 열심히 하는데 못하면 심란하다.
    • 협력업체 직원
      • 해야하니까.
    • 잘 하는 것처럼 보이는 캐릭
      • 우리팀 1등 개발자!!
    • 다음과 같은 조건을 가진 사람
      • 경험의 소유자 : 장점의 기억(좋은 경험을 가지고 있는 사람)
      • Divide & Conquer : 분할과 정복!?
      • 협력
    • 묻지 말게하고 시키자!!
      • 설계 먼저 하기
      • Given/When/Then : 기억을 남긴다. 자신이 테스트하려고 했던 것의 느낌…
      • Pen/Paper로 미리미리 그려보기
    • TDD 해보려면
      • 계획을 세우고, 연습을 하고, 피드백을 준다.
        • 기능 요구사항이 명확한지 확인
        • 머리속으로 단게를 그리고
        • 종이에 적어보기
        • 단계별로 확인해야할 경우 보기
    • 가장 중요하면서도 괴로운 질문
      • 시나리오를 써내려가서 문맥을 유지해라.
      • 지금 작성하려고 하는 코드에서 테스트를 작성할 수 있는 가장 간단한 것은?
        • 끊임없이 묻고 답하라.
      • LUHN 공식
        • 한국말인데 모르겠어.
        • Given : 16자리의 숫자가 나타난다.
        • When : - 우측숫자부터 2번째 숫자마다 2를 곱하고? - 1번째 숫자는 합쳐?
        • Then : 보안숫자와 일치해야한다 : 내 카드 번호 945가 나와야 한다.
    • 누가 좀 도와줬으면 좋겠어~ Some body help!!
      • 코드 리뷰 하자!! 라고 하면…
    • Mock Object
      • 개발자들은 Mock에 매우 흥미를 느낀다.
      • 하지만 불필요하게 만들어지는 코드가 많다.
      • 안쓰는 경우가 더 좋다.
    • 짝코딩!!
      • 짝으로 시키니 훨씬 낫다!!
      • 성공조건!!
        • 둘이 함께 같은 업무를 개발하는 것이다? -> 나는 O!!
        • 재미있으면 되지!! 둘이 같이 일하는 것을 편안하게 즐겁게 생각하면 되지 않을까나?
        • 가치관의 차이를 좁혀가는 것?
        • 가치관이 달라도 괜찮아. - 서로 다름을 이해하는거야. 소셜스킬(살이 닿고 호흡이 섞이고 코드가 섞이고… 응?) - 갈등해소 능력!!
        • 페어 프로그래밍을 할 때 중요한 상황은 화면보다 사람 사이에서 발생한다.
        • VIsion Planning : 함께 달성하고자하는 목표를 함께 얻는 것을 목표로 한다.
        • 요령과 발생할 수 있는 문제점, 그리고 대처 방식을 사전에 알려주어야 함
        • 드라이버와 네비게이터의 역할을 분명하게 할 것
      • 효율 높았던 경우
        • 프로젝트 초반
        • 서로 낯설었던 경우?
      • Do
        • 상대방에 대한 존중
        • 개발 업무의 목표를 잊지 않을 것
      • Don’t
        • 짜증
        • 100분 토론
        • Don’t에는 Do를 붙여라!
      • 짝코딩 실패 케이스
        • 자존심 대결
        • 마이크로 컨트롤 : 세세한 컨트롤, 지시를 내리고 기다리는 것에 미숙함
        • 너무 쉽거나 너무 어렵거나
        • 모르쇠로 일관하게 되는 경우?
      • 이건 뭐지!
        • 하면 좋긴 한데 힘들다.
        • TDD 안해도 된다.
        • 단위 테스트를 잘 만들면 좋다.
      • 외쿡!
        • 외국 소스들은 안그렇던데?
        • 없으면 defect report도 의심함
        • 기능추가 해도 테스트 코드 없으면 pull 안 받아줌.

정리

  • 기법/테크닉 별로 도움 안됨
  • 습관만이 살길
  • 느끼지 못하면 지속되지 않는다.
    • 재미를 느끼고 본인이 지속적으로 하지 않으면 변하지 않는다.
  • 사례와 상황들
    • 신입은 참 잘한다.
    • 정말 잘한다.
    • 기존 사원은 습관이 무섭다고 잘 안된다.
    • 머리 좋은 사람들도 경계해야 함
    • 함께 연습하면서 하는 것이 짱!
    • 버전업 때 변경사항을 수정하기 편리하다.
    • 문제는 대부분 테스트코드를 작성하지 않은 부분에서 생긴다.
    • 남코드 고치기에도 좋음
  • 업계 선배들의 책임
    • 본인 살기도 힘든 건 알지만 후배들도 챙기자
    • 후배가 없으면 동기 좀 챙기자
    • 선배랑도 잘 지내며 선배도 챙기자

회고


개인 의견

  • 김창준님 처음 뵙니다! ㅡ0-)~?
  • 채수원님의 책을 읽고 어디가서든 "TDD 합니다."라고 이야기 하지만, 실제로 TDD로 개발하는 경험은 그리 많지 않았다. TDD로 개발하기 보다는, 먼저 기능을 구현하기 거기에 짜맞추든 단위테스트를 진행하는 '착한 테스트'를 더 많이 하는 그런 개발자였다.
  • 개발자들 사이에서 애자일, 스크럼, XP 등의 이야기가 잦아들기 시작하는 이유는 뭘까?
  • 새로운 방법론과 개발론을 적용할 때 '왜 해야하는지'에 집중하기 보다 그것을 통해 '무엇을 얻을지'에 관심을 기울이고 있기 때문에 널리 퍼지지 않는 것은 아닐까?
  • 좋은 것이 있다는 것은 알지만, 쉽게 전파하기 어렵다.
  • 수원님이 TDD를 하시면서 전달하고 싶으신 내용이 많으셨던 것 같다. ^^;
  • 다른 사람들도 TDD 등에 대한 이야기를 서로 나누고 싶어하는 눈치였다. 조만간 이런 자리가 다시한번 마련되지 않을까하는 기대가 된다.
  • 말을 물가로 끌고 가기는 쉽다. 그러나 말에게 물을 먹이기는 어렵다. // 강제로 TDD를 시킬 수는 있다. 그러나 스스로 TDD를 즐기면서 개발하기란 쉽지 않은 법이다.



허니몬의 IT 이야기/프로그래머, '코드 엔지니어'

20120623 공감세미나 8회
=========

  오늘은 충전기의 접촉불량으로 충전이 제대로 되지 않아, 거기에 충전 케이블도 안챙겨오고!, 스마트폰의 전원이
일찍 바닥나는 바람에 세미나 풍경을 찍을 수 없었다. 똑딱이를 하나 장만할까 생각중이다. DSLR은 왠지 무겁단 말야.
오늘 강남에는 크고작은 행사들이 있었다. 차태현 아저씨 싸인회도 있었고, 교보문고에서는 유준상씨 싸인회가 있었다.
  이번에 공감세미나는 150명 정도로 참가인원을 제한했다고 이야기를 들었는데, 세미나 자리는 꽤 사람들이 참석을
하지 않았는지 한산한 모습을 보이기도 했다.

* * * * *

### 0. 각 커뮤니티별 공감뉴스 10분 발표!?
<pre>
  이번 공감세미나부터 세미나에 참여하는 3개 커뮤니티(JBoss, OKJSP, KSUG)의 소식을 10분씩 발표하는 시간을
가지기로 했다. 각 커뮤니티별로 어떤 이야기들을 전해줄지 공감세미나가 열릴 때마다 기대해볼만 하겠다. 아마
커뮤니티들은 '3개월'마다 있을 발표에서 무엇을 전해야할지 부담감을 느끼게 되지 않을까? 커뮤니티와의 의견
조율이 있었으려나? 기술이 빠르게 변해가고 있다지만, 커뮤니티 내에서는 크게 별다른 일이 없을 가능성이 많다.
  '무소식이 희소식'이라는 우리나라 속담이 있잖은가.
</pre>

* 그 밖의 대표적인 기업들의 기술 블로그
    * 네이버 Hello world : [http://helloworld.naver.com/helloworld](http://helloworld.naver.com/helloworld)
    * 다음 DNA : [http://dna.daum.net/DNALatte/](http://dna.daum.net/DNALatte/)
    * SK 플래닛 README : [http://readme.skplanet.co.kr/](http://readme.skplanet.co.kr/)
        - 공감세미나 동영상 감상 가능
    * KTH 개발자 블로그 : [http://dev.paran.com/](http://dev.paran.com/)
* 개인적 의견
    * 기업들이 SW개발 관련 블로그 운영하는 모습은 보기 좋다.
        - 개발자들과 교류가 늘어나고, 그 회사에서 좋은 개발자들과 접촉하기 위한 좋은 기회를 제공한다.
        - 개발자들이 쉽게 접하기 어려운 기술적 흐름을 파악하는데 도움이 된다.
            - 기업이 요구하는 혹은 관심을 가지고 있는, 실무에 사용하고 있는 기술에 대해서 알 수 있는 기회는 흔하지 않다.
            - 그런 기회를 제공해준다.
        - 인터넷 검색하다가 기업 기술 블로그가 검색이 되면 '호오~'하고 조금은 다른 눈으로 보게 된다.
            - 이건... 내 경우에 한정적일지도 모르겠다.

* * * * *

### 1. 상하이 자바 리더 미팅 및 차세대 자바 이야기

* 발표자 : JBoss User Group 김병곤(fharenheit@gmail.com)
* Java Se와 Java EE의 미래(향후 자바의 변화)
* Jboss 공감뉴스
    * 1년 후에 Java에 변화가 일어나게 될 것이다.
        - 2013년 JAVA 8이 발표되면, 기존의 자바와는 다른 새로운 자바가 될 것이다.
    * Java Readers Meeting
    * DevOps
        - 소프트웨어 개발자들과 IT 종사자들 사이의 의사소통, 협업, 융합을 강조한 소프트웨어 개발 방법론
        - 소프트웨어 개바로가 IT 운영간의 상호 의존관계에 대한 산물
        - DevOps는 조직에서 소프트웨어 상품과 서비스를 신속히 생산하는 것에 도움이 되는 것을 목적으로 한다.
        - Delivery(고객에게 상품을 전달한다는거야??)
        - 예제 : [http://dev.paran.com](http://dev.paran.com)
    * 공개SW 유지관리 가이드
        - SW 라이센스
        - 유지보수 : 하청의 느낌이 강하다.
            - 그래서 유지관리로 바꿨다!
        - 공개SW 라이센스비는 없다.
            - 쓰다가 장애가 생기면 컨설팅, 문제해결 등의 비용이 발생한다.
        - 광고 : 녹초된 여친!! 남자는 멀쩡!!! O_o!! 오오오!!
    * Java 커뮤니티 이슈
* Moving Java Forward
    * Oracle 에서 Sun을 인수한 이후 Java 를 배포하기 위해 지원하고 있다.
    * Java Scoredcard 2012
        - Java SE
            - 맥용 JDK 7 공개
        - Java EE
        - Java FX
    * OpenJDK 참여 : Sun JDK가 Open JDK로 대체되어 간다.
        - OpenJDK 가 공식적인 Java SDK가 된다.
        - OpenJDK(GPL2) 90% 이상 오픈소스화 되었다.
        - 우분투 OS에서 사용하는 Java SDK는 OpenJDK 보다는 SunJDK를 추천하고 있다.
        - OpenJDK가 Java SDK의 기준이 된다면, 사람들에게 OpenJDK를 사용하라고 추천해줄 수 있겠지.
    * 2013년 JDK 8 출시예정
        - Tiered compliation default
            - JDK 7u4 Server와 Client를 수용한 JVM이 얹어진다.
    * JDK 8 - Summer 2013
        - Project Jigsaw
        - Project Lambda
            - Clojure
            - 병렬처리(Parallel operations)를 통해서 기능 향상
        - Oracle JVM convergence
        - JavaFX 3.0
        - JavaScript
            - JavaScript JVM 을 제공한다.
    * Java SE vision
        - Interoperability
            - Multi-language JVM
        - Cloud
        - Ease of Use
        - Advanced Optimization
        - Works Everywhere and with Everything
            - Embbeded to Enterprise
    * Java EE
        - Standard for Developing Enterprise Applications
        - Java가 어떻게 Cloud에 대응할 것이냐
        - Java : Platform(PaaS)로 가겠다.
        - Cloud는 상용화된 플랫폼이다.
        - Auto-Provision Service :
        - Elasticity ; 확장성
        - Cloud에 대한 대응을 WAS 수준에서 하겠다.
    * GlassFish
* Project Avator
    * HTML 5 infrastructure for Java Platform
* MySQL
    * NoSQL 형태로 쓸 수가 있다.
    * InnoDB Stroage
    * MySQL을 쓰면서 성능이 안좋다고 하는 것은 MySQL Community Server를 사용하기 때문이다.
        - MySQL Community Server<-> MySQL Enterprise Server
* JAVA 8 : Lambda Expressions(Closure)
    * JEP 107
    * ParallelIterable.forEach();
        - google. Iterables.find()
        - pAccs.forEach((Account a) -> { if(a.balance() < threshold) a.alert(); })
        - *클로저를 공부할 수밖에 없다.*
        - map().reduce()
    * 새로운 JDK가 나왔을 때 공부를 하면 늦는다.
        - 미리미리 공부를 해서 익혀두는 것이 좋다.
        - JDK 업그레이드를 하면 정상적으로 돌아가지 않는다.
            - 컴파일은 되지만, 동작하는 과정에서 RuntimeException 등 예기치않은 예외사항들이 발생한다.
            - JDK 7 -> Lucene 충돌
                - 루씬 : 검색엔진
* 개인적 의견
    * Java는 다양한 언어를 지원하는 VM(Virtual Machine)을 제공하며 Multi platform의 기능을 제공하려고 한다.
        - 개발자들에게 인기를 끌고 있는 언어들이 가지고 있는 여러가지 장점을 흡수하여 변하려 하고 있다.
        - 멀티스레드 및 비동기 처리 기능을 강화하며 다시한번 기술적인 흐름을 만들어보려 한다.
    * Java 8은 새로운 언어로 태어나게 될 것이다.
        - Java 8이 발표되었을 때, Java를 다시 공부하면 늦는다.
        - 미리 계획을 세워 변화에 대비하여 능동적으로 변화에 대처할 필요가 있다.
        - Clojure, Scalar, Python이 다시한번 개발자들의 관심을 받게 될 것이다.
    * 과연 우리나라 개발자들은 그런 변화에 어떤 태도를 보이며 반응할까?
* 참고 사이트
    * OpenJDK 8 Project : [http://openjdk.java.net/projects/jdk8/](http://openjdk.java.net/projects/jdk8/)
    * Java 8 : [http://jdk8.java.net](http://jdk8.java.net)
    * Lamda Project : [http://openjdk.java.net/projects/lambda/](http://openjdk.java.net/projects/lambda/)
    * Jigsaw Project : [http://openjdk.java.net/projects/jigsaw/](http://openjdk.java.net/projects/jigsaw/)
    * 한국자바개발자협회 JCO 그룹 : [http://www.facebook.com/groups/jco.or.kr/](http://www.facebook.com/groups/jco.or.kr/)
        - 여기에 김병곤님이 자바 리더 미팅 때 올린 글들을 볼 수 있다.
        - Java Heist : [https://www.youtube.com/watch?v=HXvm76e2X1Q&feature=player_embedded](https://www.youtube.com/watch?v=HXvm76e2X1Q&feature=player_embedded)
            - 김병곤님이 재미있다고 추천한 작품
    * Clojure : [http://www.clojure.org/](http://www.clojure.org/)
    * Scala : [http://www.scala-lang.org/](http://www.scala-lang.org/)

* * * * *

### 2. Sencha Touch 클라우드, Sencha.io

* OKJSP 11주년 동향
    * OKJSP 주요활동
        - 프리랜서들의 대화장으로 변해가는 것 같아서 자주 가지는 않는다.
        - 전자정부프레임워크 관련 활동

* 발표자 : OKJSP 안광운님
* Sencha : [http://www.sencha.com/](http://www.sencha.com/)
    * 한국 센차 유저 그룹 : [http://www.sencha.or.kr](http://www.sencha.or.kr)
* Sencha
    * ExtJS
    * Sencha Touch 2.0
        - March 6, 2012 Sencha Touch 2.0 Final 발표
        - Senchar SDK Tools 도 함께 사용해야한다.
        - sencha generate .... 자바스크립트로 MVC 쓸 수 있도록 지원
    * Sencha.io
        - sencha touch 를 통해서 강력해지는 툴이다
        - Cloud Platform Service for Sencha Touch 2
* Sencha.io
    * Sencha.io
        - Sencha.io Login
        - Sencha.io Data
            - Data Sharing, Backup, recovery
        - Sencha.io Channel
            - one-to-one message
            - 카톡과 같은 1대1 메시지 서비스
        - Sencha.io Deployment
    * 유료화가 되면 사용하게 될까?
        - 가격 정책이 어떻게 되느냐에 따라서, 사람들이 관심을 가지게 될 수도 아닐 수도 있겠다.
    * 환경설정
        - 운영체제 설치
        - SDK 설치
        - 환경설정
        - 서버 설정
        - 프레임워크 설치
    * Sencha.io SDk
        - Javascript(socket.io)     
* Meteor
        - 이건... 제대로 못들었다.
* 개인의견
    * 내겐 별로 매력적인 녀석이 아니구나.
    * 누가 관심있어 했더라...? ㅡ_-)?
    * 맥북에 알약이 설치되어 있어!!! ㅡ0-)!!!

* * * * *

### 3. 포스트모템 으로 살펴보는 위대한 게임개발팀의 특징

* 발표자 : NCsoft Team Eternal 박일
    * 블로그
        - 박피디의 게임 개발 이야기 : [http://parkpd.egloos.com/](http://parkpd.egloos.com/)
        - rigmania@naver.com
        - twitter : @rigmania
* 최근 발간 서적
    * [위대한 게임의 탄생](http://www.yes24.com/24/Goods/5819514?Acode=101)
    * [위대한 게임의 탄생 2](http://www.yes24.com/24/Goods/6920788?Acode=101)
* 포스트모템(PostMortem)이란? - 게임 분석 측면에서
    * 게임이름
    * 작성자
    * 소개
    * Data Points
    * 잘된 점 5가지
    * *아쉬웠던 점 5가지*
        - 조금 더 나아지기 위해서 필요한 것은 잘된 점보다 아쉬운 점이다.
    * 정리
* '위대한 게임개발팀'?
    * 국내 전체 문화콘텐츠 수출 부분에서 53.2% 차지
    * 게임은 인류의 뇌에게 주는 선물
* 위대한 게임개발팀의 공통점
    * 비전, 프로토타이핑, 디렉터, 프로듀서, 피드백, FGT, 사람, 의사소통, 일정, 크런치
        - 비전
            - 제목부터
                - 던전앤파이터
                - 마계촌 온라인
            - 크레토스 규칙
                - 절대로 웃지 않는다.
                - 공포를 느끼지 않는다.
                - 등을 땅에 붙이는 경우는 죽었을 때 뿐이다.
                - 항상 앞으로 움직인다.
                - 도망치는 움직임이 없다.
                - 개발팀 내에서 만들어갈 게임 속 캐릭터의 성격을 이해하고 거기에 맞춰 만들어간다.
                - 같은 곳을 바라보며 나아가는 것이 중요하다.
                    - 각자 가는 길은 다르지만, 같은 방향을 보며 걷는다는 게 중요하지 않은가?
            - 귀에 못이 박히도록
            - 공유하는 것이 중요하다.
        - 프로토타이핑
            - Experimental Gameplay Project(혼자 4일 동안 개발)
                - Tower of Goo
                - World of Goo
            - 군주 배틀 -> Atlatica
            - uncharted2
                - 프로토타이핑이라는 사이렌의 유혹
        - 프로토타이핑이 재미없어 보일 떄
            - 아트를 붙이면 괜찮지 않을까?
            - 여러 명이 같이 하다보면 창발적인 재미가 나오지 않을까?
                - 똥은 아무리 금칠을 해도 똥이다.
            - 적극적인 하드 코딩, 스크립트 활용 필요
                - 쉽게 만들고 쉽게 버리고..
                - 장난감으로 만들어라.
        - 디렉터, 프로듀서
            - 디렉터 : 투혼
                - 하루는 PD
                - 하루는 PM
                - 게속되는 퍼블리셔와의 미팅
            - 디렉터 : 아크로폴리스
                - 서버개발자와 PD를 겸임
                - 보수적인 서버 개발자 성향 때문에 기획을 많이 포기 : "안돼요!!"
            - 디렉터는 제대로 된 사람이 해야한다?
        - 피드백, FGT
            - 개발자 = 유저. Heroes in the Sky
                - 신입사원 1주일간 플레이 후 발표시킴
            - 개발자 = 유저
            - 개발자 != 유저
                - 대상 유저 : 40대 여성
                - 개발팀에 40대가 한명도 없음
            - FGT : Focus Group Test
                - 특정 대상을 중심으로 테스트
                - Uncharted : 15번의 플레이 테스트
                - Half-life2 : 마지막 2년을 외부 플레이 테스트
            - 가와사키(Kawasaki) 이야기
                - 사용자의 의견을 무조건적으로 수용하다가는 망할 수가 있다.
        - 사람
            - 개발자는 필요이상으로 뽑을 것
                - 업무가 빡빡하면 급한 불 끄느라 정신이 없어 개선을 못한다.
                - 이직, 건강 등의 이유로 퇴사하는 경우는 항상 있다.
                - 업무가 빡빡하면... 악순환의 반복
                - 괜찮은 개발자는 필요할 때 찾으면 없다.
                - 이직은 타이밍!!
                - 중간 관리자를 키울 것
        - 의사소통 - 여러가지 툴
            - Redmine
            - Google 문서도구
            - 위키
            - Trello
            - Yammer
            - 별도의 업무용 그룹웨어
            - 팀의 특성에 맞춰서 적절한 것을 이용
        - 일정과 크런치
            - 일정은 언제나 밀리기 마련
            - 개발자는 갈수록 나이를 먹어가고
            - *개발자가 즐거워야 재미있는 게임이 나온다.*
    * 사업, 퍼블리셔, 해외진출, 툴, 경험과 욕심
        - 사업 - 유료화에 대한 고민 부재
        - 해외진출
            - 해외진출 - 크로스파이어
                - 중국동접 : 270만명, 글로벌매출 : 1조원
                - 전체 직원 절반을 중국에 파견해 현지화에 올인
                - 한국에서 실패한 덕분에 해외에 집중할 수 있었다.
                - 국내에는 이미 많은 FPS 게임들이 존재하고 있었고, 개인적으로 오픈베타 시절에 해봤을 때는 안될 것 같았다.
            - 해외진출 - HIS
                - 가챠 : 프리미엄 개조 시스템
            - 해외진출 - 실크로드 온라인
                - 각 나라를 배경으로 하는 레벨
                - 단순한 퀘스트 구조
        - 툴
            - 좋은 툴이 개발을 편하게 된다.
        - 경험
            - 카발 온라인
                - 경험이 없었기 때문에 오히려 창의적일 수 있었다.
        - 욕심
            - 롤링콩즈
                - 800여개의 퍼즐 중에서 456개만 추려님
                - 더 잘 만들기 위해 더 많이 만들려는 욕심을 버림
            - 작룡문
                - 손을 집어 넣어 보자.
    * 정리
        - 각 프로젝트별로 좋았던 점, 아쉬웠던 점이 달랐다.
        - *똑같은 실수는 하지 않는다*는 오만함이 역사를 반복시킨다.
            - 역사는 반복된다.
        - 너무 늦게 시작했다.
            - 사례들을 수집하는 것이 중요하다.
            - 경험의 공유
        - 경험을 형식지로도 남기자.
            - 일본, 미국으로 수출 진행 중.
        
* * * * *

### 4. node.js의 의미와 자바의 대안

* 발표자 : 박성철, 박용권
* KSUG 뉴스데스크
    * Cloud Foundry's First Birthday
        - PaaS
        - 자기만의 서비스?
    * Spring 3.2 M1 Released
        - 컨트롤러 비동기 처리
        - Asynch annotation
        - Web Application 에서 비동기Asynch 처리를 어떻게 할 것인가에 대해서 스프링에 녹아드는지 지켜볼만 하다.
    * SpringGone 2GX 2012
        - Octer 15-18
    * Facebook 지부 개설
    * Spring Study Coming soon.
    * 뭐든지 말해주세요.
* Node.js October.SKY
    * 유행
        - Google Trends
        - Node.js 가 자바 프로그래머들에게 어떤 의미가 있는가?
    * Node.js 코드
        - 모듈
        - 콜백(이벤트 핸들러)
        - 소켓
            - java.io.Socket 과는 다르다.
    * Node.js 란?
        - 자바스크립트로 고용량 서버 네트워크서버나 애플리케이션을 작성할 수 있는 프레임워크
        - 자바스크립트 & 모듈화(commonJS)
        - 비동기 I/O 추상화
        - 이벤트 기반 단일 스레드 동시성 처리
        - 웹 애플리케이션 프레임워크가 아님!! 기반 (범용적인)네트워크 프레임워크
    * C10K 문제 : [http://www.kegel.com/c10k.html](http://www.kegel.com/c10k.html)
        - 이젠 웹서버가 만 개의 클라이언트를 동시에 처리해야할 때라고 생각하지 않나요? 무엇보다, 웹은 정말 큰 세상이 됐어요. 컴퓨터가 처리할 수 있는 용량도 커졌고요.
        - 결국, 하드웨어는 이제 병목이 아니에요. - 댄 케이글
            - C10K == Client 10000
        - 클라이언트 제어
            - one process for each client
            - one OS-Level thread : many clients
            - one OS-Level thread for each client
            - one OS-Level thread for each active client
    * 스레드thread & 프로세스process
        - 스레드 = 경량 프로세스
            - 프로세스, 생성 느림, 메모리 무거움, 안정성 높음
            - 스레드, 생성 빠름, 메모리 가벼움, 안정성 낮음
            - 스레드 안에는 스택Stack과 PC만 가져간다.
            - 멀티스레드도 무겁다.
                - 메모리를 차지함
                - 생성 비용 발생
                - 컨텍스트 스위칭 비용
                - 공유 메모리/자원 잠금
                - 병목 (또는 데드락, 라이브락)
    * 이벤트 구동 방식
    * 이벤트 vs 스레드
    * 이벤트의 특징
        - 동시 처리 작업량이 많을수록 컨텍스트 스위칭 비용 절약
            - 고속 웹 서버, 메시징
        - 오랫동안 커넥션을 물고 있으면서 CPU보다 I/O 대기시간이 길수록 메모리 절약
            - DB 중심 Ajax 서버, 네트워크 프록시, 채팅, 알림, 대용량 파일 업로드
        - 무상태이므로 스레드의 복잡성이 없음
        - 위 요인을 못 살릴수록 node.js 의 장점이 희미해짐
    * 초간단 웹서버
        - 클로져
    * Node.js의 구조
        - 왜 자바스크립트인가?
            - 자바스크립트는 다른 동적 언어와 차별화되는 어떤 특성이 있다. 스레드란 개념이 없다는 점이다.
            - 자바스크립트의 동시정은 전적으로 이벤트에 기반을 둔다.
            - 클로저 지원
            - 비동기 처리에 익숙함
            - 가장 많이 퍼진 언어 중 하나
            - 단순하다(단일스레드 밖에 방법이 없음)
            - 고속 V8 엔진
    * 왜 Node.js를...
        - T 학습법
            - 지금 하고 있는 것도 제대로 못하고 있는데...
            - 가로 : 그런게 있다, 어떻게 돌아간다는 파악
            - 세로 : 깊게 판다.
        - polyglot : [http://en.wikipedia.org/wiki/Polyglot_(computing)](http://en.wikipedia.org/wiki/Polyglot_(computing))
            - 여러가지 말을 하는 사람?
    * Node.js 용도
        - 웹소켓 서버 : 채팅, 알림
        - 파일 업로드
    * 자바와 연동
        - Node <-> MQ(Message Queue) <-> Java
        - Node -> Java -> MQ -> Node
    * Redis를 사용한 연동
    * Node.java
        - Non-Blocking I/O (NIO) Server/Client Framework
        - Reactor Pattern!! = 비동기 이벤트 구동
        - TCP, UDP, HTTP, SSL/TLS
        - WebSocket, Protobuf, RTSP
        - Netty, 이희승
    * Netty ++ ?
        - 난 Netty를 모른다.
        - Vert.x
            - JavaScript(Java, Ruby, Groovy, Scala, clojure)
    * Vert.x 를 어떻게 쓸거야??
        - vert.x : [http://vertx.io/](http://vertx.io/)
        - Polyglot
        - Simplicity
        - Scalability
        - Concurrency
    * Node.js의 강점
        - Community & Ecosystem
        - Module
        - 자바스크립트!
        - 6월 22일, 안전판 0.6.19(개발 0.7.12)
        - 결론을 얻을 수 없는 상황이다.
* 개인의견
    * 배경지식이 없으면, 이해하기 어려운 부분이 많다.
        - Node.js 에 대해서 알고 있는 사람이 많지 않았다.
        - Node.js를 써보자고 고려해보지 않은 자바 개발자에게는 조금 무관심해질 수 있는 내용이 아니었을까?
    * 시도해봄직한 것은 'Node.js를 충분히 이해할 수 있을만큼 사용해보는 것이다.'이 아닐까?
        - '아는 만큼 보인다.'
        - 모르면 안보이고 안들린다.
            - 안보여!!
            - 안들려!!

* * * * *

### 5. 개인의견 정리

* Java 8 : 자바 변하고 있다. 그 변화에 대처하려면 미리미리 움직여라.
* Sencha.io : 리프래시 없이 앱을 개발할 수 있다. 클라우드 이야기는 못들은 것 같다. 클라우드 환경에 적합하게 앱을 개발할 수 있다...인가?
* 포스트모템 : 프로젝트를 진행하면서 쌓이는 경험을 정의하고 논의하고 기록하여 자신의 자원으로 남기는 것이 좋다.
* Node.js : 거대한 유행이 되었다. 제대로 알고 써야 한다. 나무 팰때는 도끼를, 땅을 팔 때는 삽을... 응?

마크다운 해서 보려고 했는데... 편집기 귀찮아서 못쓰겠다.... 마크다운 프로그램으로 보면 대충 깔끔하게 나오는 글이다.

허니몬의 IT 이야기/프로그래머, '코드 엔지니어'

20120519 KSUB 세미나 Part 1.

0. KSUG 큰일꾼 고종봉님의 KSUG 소개



1. 스프링 처음 시작하기

  • 발표자 : 고종봉
    • 스프링은 너무 방대하고 어렵다. 쉽게 이해하고 배울 수 있는 방법은 없나요?
  • 스프링이란 무엇인가?
    • 참고 URL : http://static.springsource.org/spring/docs/3.0.x/reference/html/

    • 엔터프라이즈급 애플리케이션을 만들기 위한 경량화된 솔루션
      • 엔터프라이즈에서 필요한 영역을 전체적으로 다루고 있다.
      • 성능상으로 무거운 것을 가볍게 바꿨…!!
      • 자바 애플리케이션을 개발하기 위해 필요한 인프라스트럭쳐를 종합적으로 제공해, 개발자로 하여금 애플리케이션 개발에 집중할 수 있게 도와준다.
      • 스프링은 POJO를 기반으로 애플리케이션을 개발할 수 있게 하여, 엔터프라이즈 서비스를 비간섭적(non-invasively)
    • 스프링의 3대 핵심기술
      • Plain Object
      • DI(Dependency Injection) : 두 객체의 결합을 줄이기 위해 인터페이스로 선언하고, 프레임워크에 의해 주입되는 형태
      • AOP :
      • Portable service Abstractions(추상화)
    • 스프링의 모듈구성

    • 변경 가능 영역
      • 폼 컨트롤러
      • Multipart 리졸버
      • 도메인 모델 동적 바인딩
      • JSP, Velocity, SLT, PDF, 엑셀 뷰 인티그레이션
    • Spring reference
    • OutSider님의 Spring Framework 번역 : http://blog.outsider.ne.kr/tag/spring_reference_documentation

2. 스프링 실무적용 사례


  • 발표자 : 최영목(넥스트리 소프트)
  • 스프링을 실무에 적용하면서 늦어졌다.
    • 스프링 모듈
      • 아키텍츠 구현을 위한 정보들(하드웨어 스펙, 사양, 자원) 수집 후 이에 적합한 솔루션을 선택
      • 컨설턴트를 하다보면, 그림을 가져다 쓰면 퀄리티가 떨어진다?
      • 왜 스프링을 쓸까?
        • 프로젝트에서 쓸 수밖에 없는 이유 : 리모팅(원격지 처리) - EJB, Spring Remote Call
        • 다양한 요구사항을 포함하는 것들을 살펴보다보니 공통적으로 도출되는 솔루션이 나타나기 시작
      • Component Biuild
        • 고객 요구사항
        • 의존성 관리, 비침투적임(기본적인)
        • 컨텍스트 생성
        • 모든 사람들이 스프링을 잘 쓰지는 않는다.
        • @annotation 다세요.
        • xml은 우리가 입력할게요. applicationContext.xml -> component-scan 설정
        • 테스트와 관련된 내용은 우리가 해줄게요.
      • DataAccess : JPA <-> iBatis, MyBatis
        • 도메인의 규모가 다르군…
        • Transaction 관리 -> 스프링!!
      • MVC
      • Spring Test
        • Spring에서 제공하는 Junit Runner를 사용가능하다. DBUnit 테스트 연결, JPA 테스트
        • 통합테스트를 위한
    • 모듈별 실무적용 사례
      • 프로젝트 내에 개발표준
      • 내가 잘하는 분야는… 뭐냐? ㅡ_-)? 삽질?
      • 아키텍트를 설계할 때 개발자는 프레임워크에 대해서 알 필요가 없을 정도로 만든다.
    • 프로젝트 투입 후 애타게 찾는 것.
    • 프로젝트를 투입하기 위해 고려해야하는 것은 무엇일까? 고객의 요구사항, 이를 수용할 수 있는

3. Spring Web-MVC 파헤쳐보자

  • 양완수
  • DispatcherServlet : Proto object?
    • Spring MVC를 사용하는 이유는?
      • 사용하지 않을 이유가 없다? 사용하지 않을 이유도 있을 수 있다.
      • 컨트롤러가 안나와요, view가 안나와요, class not found 가 떠요.
      • 오류와의 싸움! Debugging!!
    • 파헤쳐 보려면 : handler, View Resolver
        • 개발자스런 생각. 상속, 주입… 딸아이가 자신의 습관(엄지와 검지발가락 사이를 비비는… 습관을 따라한다.)
    • Dispatcher가 생성되는 부분
      • BeanMapper : 일반적으로 건드리지 않는 클래스다.
      • Init :
        • HttpServletBean
        • Bean의 Property처럼 init-param을 사용하여 필요한 속성들을 DI받을 수 있게 해준다.
        • PropertyEditor, BeanWrapper
        • WebApplicationContext : eGovment Framework 설명
        • onRefresh() template method : 참고 URL : https://jira.springsource.org/browse/SPR–3297
        • Multipart Resolver
        • ThemeResolver : FixedThemeResolver(default)
        • LocaleResolver
        • HandlerMapping
        • HandlerAdapter
        • doDispatch
        • doService 에서 시작

4. 스프링 3.1 요약정리!

  • 박용권
  • Spring One Session 정리
  • 스프링 3.1, 3.2 는 3.0을 강화하고 개념을 녹여내는 쪽으로 하게 될 것이다.
  • github : https://github.com/arawn/ksug–2012-spring–31-summary
  • 스프링 3.1
    • 빈 정의를 위한 환경 프로파일 Environment profile for bean definiation
    • Java-based application configuration : 자바기반 애플리케이션 설정
      • @Configuration
      • @ComponentScan
      • @Bean
      • @Enable
        • @EnableTransactionManagement
        • @EnableWebMvc
    • Cache abstraction & declarative caching
    • 3.2에서는 Java 7에 대한 지원을 강화시킨다.
    • Spring @MVC 3.1 : key
    • Java config
      • XML에서 자유로워졌다.
        • Java-Based : WebApplicationContext
    • Data Binding & Path Variable
  • 참고자료
  • Source
    • Configuration
    • ImportResource({})
    • PropertyResource({})
    • ApplicationContext.class 를 구현하여 과거의 applicationContext.xml을 대체할 수 있게 되었다….!!
    • RequestMapping에 대한 상세한 대응이 가능하다. -> 샘플… MobileMapping
  • Router -> Spring Router
    • HandlerMapping -> Abstract class. : 과거에 비해서 편리하게 사용가능하다.
    • DispatchServlet 은 크게 변하지 않았다.

5. 개발자 토론(Free talking)

  • Software
  • Enginee 이라는 단어가 붙은 소프트웨어의 역할? 정의 ?
    • Framework는 뭔가?
    • 변경되는 것과 변경되지 않는 것
    • 일반적인 것과 일반적이지 않은 것
    • 어떻게 시스템화 할 것인가? SOA - 단일서비스화
    • 정의 하기가 애매하다… ->
  • 야근하는 개발자
    • 난 일찍 퇴근한다.
      • 자신이 할 수 있는 분량을 정확하게 상사에게 전달한다.
      • 갑이 불안하기 때문에 그렇다. -> 안도감을 심어준다면 된다.
    • 난 칼퇴근하지 않는다.
      • zeide 님 : 칼퇴가 뭐에요? 이게 뭐야?
      • 허니몬 님 : zXXXX 님이 칼퇴하는 모습을 보지 못했…던가?
  • m2e와 WTP 궁합 : 필요한 플러그인 설치하면 되요~
  • 기술 선택의 근거와 설득은 어떻게 하나요?
    • 요구사항을 만족하는가? -> 고객이 원하는 요구사항을 모두 충족시킬 수 있는가?
      • 대형 프로젝트 레퍼런스
    • 절차가 원칙적으로 진행할 수 있는가?
      • 선택을 고객에게 하도록 한다.
      • 고객 설득
      • 스터디 비용을 최소한으로 할 수 있도록 제공해야한다.
      • 나와 상대방의 차이.
      • 팀원들을 하나둘씩 꼬드겨서 함께해라.


  개발자들이 강남에 출현했다. +_+) 검정색 인케이스 백팩으로 무장한 개발자들의 무리가 몰려간다.

  발표하신 분들 수고하셨습니다. ^^


  개발자들은 주말에도 끊임없이 자기계발을 위한 노력을 하고 있다. IT 관련한 기술이 빠르게 변모하고, 이런 변화의 흐름을 즐기기 위해서는 그것을 배우기 위해 꾸준한 노력을 즐길 수 있어야 한다. 그런 의미에서 본다면, 나는 그런 변화의 흐름을 즐기는 노력을 제대로 못하고 있다. 자전거 타는 재미에 빠져서는 매일 출퇴근시에 자전거를 타려고만 하고 있으니... 이런 습관적인 자기비하!!

  '오픈소스OpenSource의 시대'라고 한다. 프로젝트 속에서 고객의 요구사항과 기술적인 기능 제공을 위해 솔루션의 선택하는 것이 중요하다. 그리고 스프링 프레임워크는 이런 고객의 요구사항에 대한 해결책을 제시해줄 가능성을 내포하고 있다. 그래서 컨설턴트와 개발자들의 많은 관심과 사랑을 받고 있다. 하지만 아직도 어렵고 어렵게만 느껴지는 녀석이다. ^^; 익숙해지려면 많이 써보고... 시간 날 때마다 어떻게 돌아가는 지 삽질하듯 깊게깊게 파고 들어가는 노력이 필요하다.

  이번 발표에서는 Prezi(http://prezi.com/)를 사용한 발표가 두 개 있었다. 동적으로 움직이는 화면이 잠깐의 호기심은 일으킬 수도 있겠지만.. 시간이 지나면 산만함을 야기하는 느낌이다. @_@);;; 발표용으로는 그리 효과적이지는 않은 것 같다는 개인적인 생각을 가지고 있다. 아직은 고전적인 프리젠테이션이 좋다.


1 ··· 3 4 5 6 7 8 9 ··· 20
블로그 이미지

Email : ihoneymon@gmail.com 안녕하세요, 꿀괴물 입니다. ^^ 멋진 비행을 준비 하는 블로그 입니다. 만능형 인간이 되어 많은 이들에게 인정받고, 즐겁고 행복하게 살기를 간절히 원합니다!! 달콤살벌한 꿀괴물의 좌충우돌 파란만장한 여정을 지켜봐주세요!! ^^

허니몬