훈스닷넷에서 주최한 DEVDDC 참관후기입니다.
들은 내용 까먹기 전에 정리하려고 했는데.. 벌써 까먹은 내용이 많네요.. ㅎㅎ
1. 가는길
일산에서 강남가는 길은 솔직히 너무 멀다..
전날 야근으로 인해 늦잠 자고 싶은 마음을 뒤로 하고 7시부터 일어나서 출발했지만,
도착해 보니 10시 30분이다..
덕분에 버스에서 숙면을 취했더니 세션 내내 졸지 않고 잘 들을 수 있었다..
왜!! 맨날 이런 행사는 강남에서만 하는것이냐!!
지역사회 균형발전을 위해 강북에서도 좀 합시닷!!
2. 개발자들을 위한 닷넷4.0의 로드맵
늦게가서 못들었음.
3. 개발자의 커리어 개발
- Burnout Syndrome : 탈진증후군
- 초과근무는 낮은 생산성을 유발
- 개인의 업그레이드 전략이 필요하다. 이를 위해 여유가 필요하며, 우선순위를 정해야 함
- 경력개발의 선순환
- 스팩, 실력, 태도의 선순환
- 스팩 : 자격증, 학력, 수상내역, 이력서는 1년마다 갱신해보자 (지난한해의 쓸내용이 없다면 문제있는것임)
- 실력 : 개발 능력, Hard Skil(기술적) / Soft Skil (자아와 타인을 다루는 능력)
- 태도 : 성격, Social Skil, 실력이 없다면 태도라도 바꿔라
- 환경을 바꿀 수 없다면 자기 자신을 바꿔라 (크게 공감이 됨)
- 어디로 배를 저어야할지 모르는 사람은 어떤 바람도 순풍이 아니다 - 미셸 드 몽테뉴
- 커리어 패스
- 비지니스 도메인 : 비지니스 전문자 --> 프로젝트 매니저 --> CIO
- 기술 도메인 : 초급개발자 --> 중급개발자 --> 상급개발자 --> 아키텍트 --> CTO / CIO
- 나를 마케팅하자
- 나의 핵심가치는?
- 핵심가치를 갖기 위해 시간과 비용은 얼마나 확보했는가?
- 누가 고객이며 나를 어떻게 알릴것인가?
- 특정 기술에 얽매이지 말자. 필요하면 다른 기술로 갈아타자. 기술은 계속 변한다.
- 자격증 : 공부를 계속할 계기를 만들어준다.
- 그밖에 필요한것들 : 커뮤니티, 앱, 수상, 저작, 강의, 영어, 챔피언(나를 지지할 사람), 실행
4. 현재 그리고 미래의 기업에서 원하는 개발자의 인재상
발표 내용은 생각이 안남 (친구가 밖에서 담배피자고 자꾸 꼬셨음)
http://www.i2brein.com/ 에 좋은 자료가 많음. 차후 파보아야 겠음.
5. 기술과 아이디어, UX를 만나다.
- UX에 대한 내용보다는 스폰서 회사였던 d'strict 홍보영상이 주를 이뤘음.
- 많은 관심을 가지고 있는 회사였기때문에 홈페이지에서 다 본거 또 봤음.
- 처음 본 사람들은 다들 정신 못차리는 분위기. 나도 첨에 그랬음.
- http://www.dstrict.com/products/
6. 실전코드로 살펴보는 개발 프레임워크와 AJAX웹 개발
- 개발 프레임워크 필요성
- 일관성 있는 Application Architecture
- 다양한 외부 업체 참여시
- 개발 표준을 통해 Code의 품질 통제
- 단위 Application 사용하는 공통적인 기능을 표준화
- 개발 프레임워크에서는 "실전코드"를 제공해야 함
- General Framework ≠ Enterprise 개발
- General Framework : Data, Utility(암호화, 에러..), Custom Control(달력..), Structure data, business, prresantation 분리)
- Enterprise 개발 : 로그인, N-Tier 구조, Transaction 등
- Open Source Framework
- Spring .NET, Object Builder, NHibernate ....
- MS Enterprise Library 5.0
7. Enterprise Development with ASP.NET MVC2
- 발표자가 능글능글 재밌던데.. 사람들은 안 재밌어함.
- ASP.NET MVC2는 낚시였음. 시간내에 Enterprise Develpment 설명도 벅찼음.
- Enterprise Architecture
- modularity : 모듈화
- loosley coupled : 종속성 없게..
- reusability : 재사용 가능하게
- interoperbility : 이기종도 고려하자
- Enterprise Development
- reliability : 견고하게 잘 동작해야 함. 테스트 많이 해봐야함
- Flexibility : 유연해야함. Class 만들때 무조건 interface를 만들어라?!?!
- SoC(Separation of Concerns) : 한 Class는 한 역할만 하자
- Reusability
- 만들어보자
- TDD를 사용하여 개발이 완료되면 완벽한(검증된) 코드가 된다. TDD가 불필요하다고 생각하지 말자
- IoC / DI containers : '의존성 뒤집기'를 위한 Framework
- IoC : Inversion of Control - 제어 역행화
- DI : Dependency Injection - 의존성 주입
- IXX aa = new XX(); --> interface를 사용하고는 있지만.. 아직 new 하고 있으므로 의존성이 남아있다.
- - TDD
- Red - Green - Refactoring
- 1) 실패(Red)하도록 Test 작성
- 2) 성공(Green)하도록 Code 작성
- 3) Refactoring
- 4) 다시 1)로 이동
- Structure Map
- http://dotnetslackers.com/articles/designpatterns/IntroducingDependencyInjectionFrameworks.aspx
- float interface pattern (???) : 메소드 꼬리물기 (A.aaa().bbb().ccc())
- Refactoring 실습
- 1) 메소드 작성
- 2) 메소드를 Class로 뺌
- 3) Calss에서 Interface 추출
- 4) Structre Map으로 instance를 받도록 수정
this.mailService = ObjectFactory.GetInstance<IMailService>();
8. Tune your MSSQL up for ur application
- 속도 높이는 방법
- 좋은 데이터베이스 디자인
- 좋은 물리적 디자인 (index)
- App Server와 DB Server간의 Round-Trip 메세지를 최소화 --> Stored Procedure
- Set Based Query : cursor 보다 일반적으로 성능이 좋다.
- 적절한 HW (메모리, I/O, Processing Power) : Storage System을 구축한다면 Wirte cache를 더 높여라
- 적절한 Index 사용
- index 전략
- cluster index : range query에 좋다.
- non-cluster index : unique key lookup 에 좋다.
- where절에 맞는 index
- index 사용가능한 where 절 사용
- MS SQL 서버 도움을 받아서 index를 제안 받아라
- Database Tuning Advisor
- missing index
- index 전략
- MS SQL을 강력하게 쓰려면
- 최신 통계 사용할것 : CBO(Cost baesed optimizer)일때는 최신 통계가 꼭 필요
- Compile 비용 vs Query Plan 품질 비교해보자
ex)실시간 정보를 위한 쿼리는 보통 같은 쿼리문을 계속 사용하므로 컴파일하는게 좋다.
- 자동통계 사용할것
- 좋은 통계 -> 좋은 예측 -> 좋은 플랜
- 자동통계를 끄려면 전체 데이터베이스를 끄지 말고 table 또는 column을 끄자
- full scan 통계 사용
- 자동통계의 한계 : Data 20% 이상이 변경되야 자동통계 작동함 --> 대용량 DB일때 20% 변경하려면 오래걸림 --> 잘못된 통계
- 인덱스 생성으로 생성된 통계는 full sanc이다. 이후 update하면 sampling하므로 더 안 좋아진다.
- 비동기 통계 업데이트를 사용하자 (기본값은 off 이다..)
- QO (Query Optimizer)가 선택을 상상하게 만들지 마라
- 나쁜예 : 복잡한 표현식(a * b > 100), 지역변수 사용 (상수를 사용해야 분석가능), 읽기 전용 DB의 통계
- 힌트가 필요한 경우 : plan guide 사용 - http://www.sqler.com/127801 참고
- 어떤 쿼리 메커니즘을 쓸까?
- Ad-hoc Query : 막쿼리, 일회성일때만 쓰자 (모니터링, 간단한 통계, 변수를 바꾸지 않을때)
- Prepared Query : 변수를 바꾸어 여러번 쿼리시 사용
- Stored Query : 무조건 이게 짱임!!
- Linq : data는 다르지만(linq to object/dataset/sql/xml...) 쿼리하는 방법은 같다. Linq에서도 Stored Procedure를 써라
9. HTML5의 현재와 미래
- HTML5
- IE9에서 지원, video codec도 지원함
- 유튜브에서도 flash 없이 html5로 재생가능
- Google Gears 개발 중단하고 HTML5에 집중, Google은 점점 HTML5로 변환되는 분위기
- Apple 쟙스형님은 Flash를 싫어함
- 현재 W3C Working Draft 상태
- 요소
- Sementic
- Multimedia
- API
- 시연 : 구글 제공 자료
- 거대기업들의 움직임을 보아하니.. 우리도 지금부터 HTML5를 준비해야겠음.
- http://channy.creation.net/blog/776 여기에 정리 잘 되어 있음.
- HTML5와 RIA는? 공존할꺼 같기도 함..
10. 총평
- 가기 잘했음. 바빠도 가끔 이런데 가야 리마인드가 됨
- 사은품으로 나눠준 티셔츠에 소스코드는 좀..... 건담W에 자주나오는 Basic 코드 같은 느낌이라서..

- 책 중고장터는 담부터 하지말기를.. 오래된 기술의 책들만 있더라. 내가 보기 싫은 책들은 남도 보기 싫을듯함.
- MIX10 행사를 모르고 있었는데 덕분에 알게됐음.
- MSDN 팝콘에서 팝콘을 줬음. 우걱우걱!
- 경품추첨은 나랑 상관없는 일.. 맨 우측의 상품은 XBOX360.. 집에 2번째 XBOX360 이 있어서 무념무상!


http://www.hoons.kr/board.aspx?Name=Gongji&BoardIdx=35151&Page=1&Mode=2


