주간닷넷 2016년 2월 2일
즐거운 설 연휴를 보내시고 계신지요? 설 연휴에도 주간닷넷은 쉬지 않고 연재됩니다! 지난 호를 살펴보시려면 주간닷넷 페이지를 방문해 보시기 바랍니다. 여러분들의 적극적인 참여를 기다리고 있습니다. 혼자 알고 있기에는 너무나 아까운 글, 소스 코드, 라이브러리를 발견하셨거나 혹은 직접 작성하셨다면 Gist나 주간닷넷 페이지를 통해 알려주세요. .NET 관련 동호회 소식도 알려주시면 주간닷넷을 통해 많은 분과 공유하도록 하겠습니다.
On.NET 소식
On.NET 인터뷰 동영상을 기존의 유튜브 채널 뿐만 아니라 Channel 9 에서도 시청하실 수 있게 되었습니다. Channel 9 에서는 MP3 파일을 지원하기 때문에 화면을 시청하지 못하는 분들은 On.NET 의 음성 팟캐스트를 이용하여 청취하실 수 있습니다.
지난번 On.NET 유튜브 동영상 인터뷰는 Apcera 의 Brian Flannery 와 Colin Sullivan 과 함께 NATS 서비스에 대한 이야기를 나누었습니다. 좀 더 자세한 정보는 NATS 웹 사이트에서 확인하실 수 있습니다.
이번 On.NET 유튜브 동영상 인터뷰는 ASP.NET 팀의 수석 프로그램 매니저인 Scott Hunter 를 모시고 .NET, ASP.NET 및 .NET Core 릴리즈 관련 이야기를 나누었습니다.
금주의 패키지 – AutoMapper
AutoMapper 는 객체 간의 데이터를 손쉽게 매핑해주는 라이브러리입니다.
AutoMapper 제작자인 Jimmy Bogard 는 AutoMapper 라이브러리를 객체들간의 매퍼라고 소개하고 있습니다. 일반적으로 UI 영역에서 사용하는 데이터 객체와 도메인 영역에서 사용하는 데이터 객체는 서로 다른 경우가 많습니다. 서비스와 도메인 간의 관계에서도 마찬가지인데, AutoMapper 를 사용하면 이처럼 서로 다른 레이어 간에도 데이터 객체들간의 값을 쉽게 전달 하실 수 있습니다.
var config = new MapperConfiguration(cfg => cfg.CreateMap<Order, OrderDto>());
var mapper = config.CreateMapper();
OrderDto dto = mapper.Map<OrderDto>(order);
AutoMapper 를 이용하면 주요 변환 방식을 구성할 수 있을 뿐 아니라, 사용자 정의 변환 코드도 작성할 수 있습니다.
금주의 툴 - Cake
대규모의 .NET 프로젝트를 빌드하는 경우 MS Build만이 유일한 방법은 아닙니다. MS Build 이외에도 .NET 개발자들이 알아두면 좋은 빌드 자동화 시스템으로 Cake 가 있습니다. Cake 는 크로스 플랫폼을 지원할 뿐만 아니라 빌드 스크립트 자체를 C# 으로 구성할 수 있다는 점에서 차별점을 가집니다.
Cake는 최근에 0.8 버전이 릴리즈되었습니다.
.NET 소식
- .NET Framework 4.6.1 버전이 윈도우 업데이트를 통해 공식적으로 배포되기 시작했습니다.
- 닷넷 응용 프로그램에 대한 다중 플랫폼 이식성을 테스트할 수 있는 .NET Portability Analyzer 도구를 설명하는 동영상이 Channel 9 에 올라왔습니다.
- Interactive coding with C# and F# REPLs : Scott Hanselman 이 C# 및 F# 의 REPL 환경을 설명합니다.
- How (and why) to lobby companies to support .NET OSS : Sean Killeen 은 여러분이 속한 회사가 오픈 소스를 사용한다면 오픈 소스의 발전을 위해서도 기여해야 한다는 글을 기고했습니다. 아울러 회사에서 오픈 소스에 기여할 수 있도록 분위기를 조성하는 방법도 제시합니다.
- What I’ve learned about .NET Native : Mark Rendle 은 .NET Native 를 사용하며 알게 된 점을 공유했습니다.
- NBench Testing – Memory Allocations : Andrea Angella 가 NBench 프레임워크를 이용해 메모리를 테스트 하는 방법을 공유했습니다.
- Porting Microbus to .NET Core : Daniel Little 이 Microbus 오픈 소스 프로젝트를 .NET Core 환경으로 포팅했던 경험담을 공유했습니다.
- Generic resource leak detection with ETW and EasyHook : Alois Kraus 가 윈도우 운영체제의 ETW(Event Tracing for Windows) 와 API 후킹에 사용되는 EasyHook 라이브러리를 이용해 리소스 누수를 감지하는 방법을 설명합니다.
ASP.NET 소식
- JavaScript debugging in Visual Studio with Chrome : Martin Kramer 는 크롬 웹 브라우저를 이용하여 비주얼 스튜디오에서 자바스크립트를 디버깅하는 방법을 소개합니다.
- Understanding the new ASP.NET Core configuration in startup.cs : Mike Mengell 이 startup.cs 를 이용해 ASP.NET Core 를 설정하는 방법을 설명합니다.
- NGINX Reverse Proxy and Load Balancing for ASP.NET 5 Applications with Docker Compose : Tugberk Ugurlu 가 ASP.NET 5 응용 프로그램 대상으로 NGINX 리버스 프록시를 이용하여 로드 밸런싱 환경을 구성하는 방법을 소개합니다.
- Isolated ASP.NET attribute routing : Shannon Deminick 이 WebApi 의 라우팅 특성 분리에 관한 글을 썼습니다.
- A practical approach to cache busting with Webpack and ASP.NET Core : Scott Addie 는 ASP.NET Core 기반의 응용 프로그램에서 Webpack 을 사용해 생성된 정적 컨텐츠의 Cache 를 관리하는 현실적인 방법을 제시합니다.
- Using subdomains in ASP.NET MVC : Jonathan Danylko 가 ASP.NET MVC 환경에서 서브 도메인을 사용하는 방법을 설명합니다.
- ASP.NET Core 1.0 using SQL localization : Damien Bod 가 SQL 데이터베이스를 사용하는 ASP.NET Core 응용 프로그램의 SQL 지역화 방법을 설명합니다.
- Inline images in ASP.NET Core : Ricardo Peres 는 ASP.NET Core 응용 프로그램에서 태그에 인라인 이미지를 적용하는 방법을 설명합니다.
F# 소식
- Krishna Vangapandu 의 Microservices & Messaging at Jet
- Frank Krueger 의 Continuously writing an iPhone app, on an iPad Pro, using F#
- Evelina Gabasova 의 Star Wars social networks: The Force Awakens
- Pierre-Luc Maheu 의 Interview with Henrik Feldt on Suave 1.0
- Yan Cui 의 Building a random art bot in F#
- Roslyn 으로 Visual Studio의 F# 편집기를 개선하는 것에 대한 논의가 있었습니다.
- 최근에 개최된 F# 소프트웨어 재단의 임원 회의에서 논의되었던 내용이 공개되었습니다.
F# Weekly 에서 더 많은 정보를 확인하실 수 있습니다.
.NET 게임 소식
- Andrew Innes 는 Unity 가 Nintendo DS 플랫폼을 지원하기 시작했다는 소식을 공유했습니다.
Global Game Jam 2016 Submission
Oh God, it’s Monday 라는 게임을 소개하고자 합니다. 이 게임은 주어진 업무 시간 내에 종업원들이 일을 완료할 수 있도록 최대한 효율적인 경로를 선택하는 것입니다. 일과 시간 중에 다른 동료를 만나 하던 일을 멈추고 이야기를 나누면, 주어진 시간 내에 일을 완료하지 못해 게임에서 지게 됩니다.