C# 입문자를 위한 토탈 가이드

  • Post author:
  • Post category:
  • Post comments:3 Comments
  • Post last modified:July 27, 2007

알립니다.이메일 내용을 그대로 옮겼습니다.

닷넷 경향

.NET Framework 3.0이 나왔습니다만, WPF 같은 최신 기술은 거의 윈도우 비스타에서만 적용되기 때문에 2.0을 주로 씁니다. 오래 전에 닷넷을 도입한 곳은 1.1을 아직 쓰기도 하구요. 저는 2.0을 권합니다.

추천 서적

제가 C# 공부할 때는 .NET Framework 1.1이었기 때문에 요즘엔 입문용으로 어느 책이 좋은지 모르겠습니다. 그래도 아래 두 권 정도는 읽어두시면 좋습니다.

  • Effective C#

    필독서! 이 책 안 읽고 닷넷이 느리다는 둥의 소리를 하면 한대 맞아야 함. -_-;;

  • Head First Design Patterns

    디자인 패턴을 하루면 익힐 수 있습니다. 예제가 전부 자바로 구성되어 있지만, 정말 조금만 손보면 C# 코드가 됩니다. 자바 코드를 어떻게 C# 코드로 바꿔야 하는지 모르겠다 하시는 분은 제가 쓴 Converting C# to Java를 읽어보세요.

입문 시기가 지난 후에 닷넷 서적을 살 땐, 용도에 맞춰 잘 골라야 합니다. ASP.NET, XML Webservices 등 각 분야마다 유명한 책이 따로 있습니다.

공부용으로 볼만한 샘플 코드

System Monitor

  • 마소 칼럼 쓸 때 써먹었던 예제 코드입니다.

    이 정도의 기능을 이토록 간단하게 만들 수 있구나!라는 생각이 드실 겁니다. 디자인 패턴을 어떻게 활용하는지 제대로 보여주는 예제입니다.

추천 사이트 및 라이브러리

  • Microsoft Patterns & Practices

    북마크 해둘 만한 사이트.

    밑에 소개할 Enterprise Library를 비롯해 다양한 라이브러리를 무료로 제공하고, 디자인 패턴 등과 관련된 읽어볼 만한 문서도 많습니다.

  • MSDN Magazine

    모르시는 분 계시나요? 요즘은 한국어로도 기사가 제공됩니다.

  • CodePlex

    오픈 소스 프로젝트가 활발히 진행되고 있는 사이트입니다. 소스포지와 비슷합니다.

  • Enterprise Library

    Microsoft Patterns & Practices 팀이 만든 기업용 소프트웨어 라이브러리입니다.

    캐싱, 데이터베이스, 예외처리, 로깅, 암호화 라이브러리 등을 제공하는데, 특히 데이터베이스, 예외처리, 그리고 로깅 라이브러리는 한번쯤 도입을 고려해봐야 합니다. 이 세 개의 라이브러리만 도입해도 개발 시간을 줄이고 코드를 깔끔하게 유지할 수 있습니다.

    단점.
    • 관련 문서가 영어로만 제공된다는 점

    • 기존 Entlib의 기능을 확장하려면 디자인 패턴을 숙지하고 있어야 한다는 점

개발 도구

  • Visual Studio 사용자를 위한 리팩토링 도구

    Visual Studio 2005에 기본 탑재된 리팩토링 기능은 너무 미흡하죠.

    [스크린캐스트] C# 리팩토링를 보시면 어떻게 활용하는지 감 잡을 수 있을 겁니다.

  • [Redbook] 공통 도구 집합 – 윈도우 편

    제가 인턴할 때 쓴 글이죠? 기억하시나 모르겠네요. 꼭 C#용 도구만 다룬 글은 아닙니다만, 제가 C# 프로그래밍할 때 많이 쓰던 도구를 소개합니다.특히 정규식 도구나 웹 개발 도구를 많이 썼었죠.

  • CruiseControl .NET

    통합 빌드 서버입니다. 하나 장만해둬야 하는 필수품입니다. 한번 쓰기 시작하면 코드의 품질이 점점 나아지는 걸 체감하실 겁니다. 이쯤에서 광고 한번 하자면, 제가 번역한 Ship It!을 읽어보시면 왜 통합 빌드 서버가 필요한지 이해하실 수 있습니다. ^^

  • NUnit

    Visual Studio 2005부터 단위테스트 프레임워크가 제공되니 꼭 NUnit를 쓸 필요는 없습니다. 하지만 .NET Framework 1.1 때만 하더라도 필수 품목이었습니다.

  • NAnt

    빌드 스크립트 도구입니다. Visual Studio에 빌드 버튼이 있는데, 왜 이런 게 필요하냐라고 물으신다면 다시 한번 Ship It!을 권해드려야겠군요. ^^

추천 글

  • 마이크로소프트웨어 기고 칼럼

    제가 쓴 글입니다. CLR Profiler, CPU Profiler, Web Application Stress Tool 등을 이용한 성능 분석에 대한 내용이 주를 이룹니다. 이런 말하기 쑥스럽지만, 성능 분석 방법을 다룬 한글 자료로는 아마 이만한 게 없을 겁니다. (돌려 말하면 영문으론 많습니다. ㅠ.ㅠ)

  • 닷넷 프레임워크 기반의 소켓 프로그래밍 가이드

    제가 쓴 글입니다. C++에서 패킷을 struct로 정의해놓고 소켓 통신을 하는 경우가 많은데, C#에서 동일한 방식을 지원하려면 손이 많이 가서 만들었던 라이브러리입니다.

  • [RedBook C#] 문서 자동화편

    이것도 인턴할 때 쓴 글입니다. 문서화를 해야 할 때 읽어보시면 좋습니다.

  • C# 성능향상에 관한 글

    .NET Framework 1.1 때의 글을 모아놓은 것이지만, 지금도 유효할 겁니다.

Author Details
Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
0 0 votes
Article Rating
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

3 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
ansys
16 years ago

정말 종합선물세트네요. ^^

최재훈
16 years ago

사실 요즘 기술(LINQ 같은)은 잘 모르겠습니다. 1년 정도 담 쌓고 살았더니, 뭐가 이렇게 많이 변했는지 말이죠. ㅎㅎ

남정현
16 years ago

다른 플랫폼과의 호환성을 고려한다던가 하는 측면에서 보았을 때도 2.0이 적당한 기준선이라고 봅니다. ㅎㅎ