MSDN 세미나, 아는 만큼 행복해지는 Visual C# 2008 팁 앤 트릭, 그리고...

토요일에 세미나라니... 사실, 신청은 해놓고 그냥 회화 스터디를 갈까하고 고심을 하기는 했다. 하지만, 직업 상 이 세미나도 중요하기에 한주쯤은 그냥 프로그래밍 실력을 향상시키는 데 쏟기로 하였다.

첫번째 세션은 마이크로소프트의 에반젤리스트인 박중석님이 새로나온 비주얼 스튜디오 2008의 유용한 팁들을 소개하는 팁 & 트릭시간이었다. 팁 & 트릭이라는 가벼운 주제였지만 생산성을 향상시키는 매우 중요한 팁들을 얻을 수 있었다. 나중에 참관한 개발자들이 알고 있는 팁을 알려주는 시간이 되었는데, 수많은 팁들이 나와서 서로들 흐뭇한 표정이었다. 아마도 이렇게 댓가없이 자신이 알고 있는 기술을 전수해주는 것이 개발자들의 열정이 아닐까?

가장 호응을 받은 팁은 빌드 취소 단축키인 [ctrl] + break] 였다. 처음에는 그런 것이 있구나라고 생각했던 개발자들, 퇴근해야 될때...라는 부연설명이 붙자 여기저기서 환호성이 터져 나왔다.

Why C# & LINQ, When C# & LINQ

두 번째 세션은 C# 3.0의 기능과 목적성에 대하여 서학수 ASP.NET MVP의 강연이 있었는데, 3.0의 핵심변화인 LINQ의 유용성에 대한 설명이 대부분이었고 나머지도 이것을 위한 서두였다.

LINQ의 핵심은 바로 SQL문도 디버깅으로 찾아낼 수 있다는 것인데, 아직까지 어떤 것이 더 편한지는 잘 모르겠다. SQL문을 전통적으로 DB서버의 역할로 한정하여 스토어드 프로시져를 사용한다면 쿼리문에 의한 문법오류를 컴파일러가 잡아내지 못하며 디버깅으로도 잡아내기가 어렵다. 그래서 Try & Catch문에 씌워주는 것이고... 반면에 LINQ를 사용하여 쿼리문을 C#코드에 심어 놓으면 컴파일러에 의해서 문법 오류를 잡아낼 수 있다는 장점이 있다. 하지만, 역시 반대급부도 수반하는데, 바로 쿼리문을 바꿀 때마다 컴파일을 해야 한다는 것이다. LINQ가 모든 SQL문을 커버하지도 못하는 상황에서 과연 생산성 증가를 꾀할 수 있을까? 적어도 DBA들은 반대할 것이고 새로운 것을 배우기 싫어하는 일부 개발자들도 반대할 것이다.

이상욱