주간닷넷 2016년 6월 7일
지난주에는 온라인 콘퍼런스인 dotnetConf 가 개최되었습니다. 링크를 통해 녹화된 영상을 확인해보시기 바랍니다. 여러분들의 적극적인 참여를 기다리고 있습니다. 혼자 알고 있기에는 너무나 아까운 글, 소스 코드, 라이브러리를 발견하셨거나 혹은 직접 작성하셨다면 Gist나 주간닷넷 페이지를 통해 알려주세요. .NET 관련 동호회 소식도 알려주시면 주간닷넷을 통해 많은 분과 공유하도록 하겠습니다.
금주의 커뮤니티 소식
Taeyo.NET 에서 https://docs.asp.net 의 ASP.NET Core 문서를 한글화하여 연재하고 있습니다.
- ASP.NET Core MVC 모델 추가하기 : ASP.NET Core 에서 MVC 모델(Model)을 추가하는 방법을 예제와 함께 상세하게 소개합니다.
On.NET 소식
지난 On.NET 인터뷰에서는 마이크로스프트의 주요 언어의 프로그램 매니저이면서 동시성 부분의 전문가(concurrency expert) 인 Lucian Wischik 과 함께 이야기를 나누어 보았습니다
이번 주 On.NET 인터뷰에는 Daniel Egloff 와 함께 .NET 에서 GPU 기능을 활용하는 방법에 대해서 알아 볼 예정입니다.
금주의 패키지- Markdig
.NET용 마크다운(markdown) 라이브러리가 풍성한 편은 아니지만 그 중 Markdig 은 상당히 돋보입니다. Markdig는 확장성이 있고 CommonMark 표준을 따르는 고성능(빠른속도, 메모리 최적화)의 마크다운 라이브러리입니다.
금주의 Xamarin 애플리케이션 - Expensya
Expensya 는 유럽, 아프리카, 호주에서 주로 사용되는 유명한 경비 처리용 애플리케이션입니다 . Expensya 는 C# 으로 개발되었으며 Azure 클라우드 서비스를 이용합니다. Xamarin 을 사용한 덕분에 많은 부분의 코드를 공유할 수 있었고, 개발팀이 이미 익숙한 기술을 사용할 수 있었으며, 크로스 플랫폼을 지원하고, 업무로직의 단위테스트가 가능하며, 네이티브 수준의 성능을 구현할 수 있었습니다. 그 결과 3 가지 주요 플랫폼인 윈도우, Android, iOS 에서 동작하는 애플리케이션을 불과 수개월 만에 개발할 수 있었습니다.
금주의 게임 - McDroid
McDroid 라는 게임은 성을 지키는 게임(tower defense game)의 일종입니다. McDroid 는 귀여운 로봇으로 행성 충돌로 불시착한 우주선을 수리하고, 수리가 끝날 때까지 외계인의 공격을 방어하는 책임을 지고 있습니다.
플레이어는 기본 방어 라인을 구축하여 자원을 안정적으로 수확하고, 주기적인 외계인의 공격을 막아내야 합니다. 다음 단계로 가기 위해 무엇보다 중요한 것은 효율적인 시간 관리 입니다. McDroid 는 다양한 스토리와 여러 생존 단계 그리고 다중 플레이어 게임 모드를 제공합니다.
McDroid 는 Grip Digital 에서 Unity와 C#을 이용하여 개발되었으며 현재 PlayStation 4, Xbox One 그리고 Windows 에서 즐기실 수 있습니다. 좀더 자세한 정보는 링크에서 확인하실 수 있습니다.
.NET 소식
- Inline IL ASM in C# with Roslyn : Alexandre Mutel 이 Roslyn 을 이용한 C# Inline IL ASM 에 대해 설명하였습니다.
- Strings and the CLR – a Special Relationship : Matt Warren이 C#의 기본 타입인 문자열이 CLR 에서 어떻게 다루어지고 있는지 설명합니다.
- Use project.lock.json to troubleshoot dotnet restore problems : Andrew Lock 이 project.json 을 사용하는 프로젝트에서 dotnet restore 명령을 이용하여 NuGet 패키지를 다시 로드할때 발생하는 문제를 해결하는 방법을 소개합니다.
- Windows 10 Anniversary Update Preview–Composition and the CompositionBackdropBrush : Mike Taulty 가 Windows 10 Anniversary Update 에 포함될 예정인 Composition API 에 대한 정보를 공유해주었습니다.
- ASP.NET Core – problems and fixes : Michal Dymel 이 기존에 생성한 ASP.NET 프로젝트를 ASP.NET Core RC2 로 전환하면서 경험한 문제와 해결방법을 공유하였습니다.
- MSBuild Structured Log: record and visualize your builds : Scott Hanselman 이 MSBuild Structured Log 툴을 이용하여 MSBuild 작업의 진행과정을 손쉽게 확인 할 수 있는 방법을 소개하였습니다.
- Storing C# app settings with JSON : Piotr Gankiewicz 가 기존의 XML 포맷이 아닌 JSON 포맷으로 configuration 파일을 이용하는 방법을 소개하였습니다.
- Async Programming : Unit Testing Asynchronous Code : Stephen Cleary 가 테스트하기 까다로운 비동기 코드의 단위 테스트 방법을 소개하였습니다.
- Imageflow: Respect the pixels, accelerate the web (Kickstarter) : Nathanael Jones 가 고성능 이미지 프로세싱 프로젝트인 Imageflow 를 소개합니다.
- The .NET CLI Decoded : Sam Basu 가 Windows, OSX 그리고 Linux 에서 공통으로 사용할 수 있는 새로운 커맨드라인 인터페이스를 소개해주었습니다.
ASP.NET 소식
- Publishing and Running ASP.NET Core Applications with IIS : Rick Strahl 가 ASP.NET Core 애플리케이션을 IIS 웹 서버에 배포하고 수행하는 방법을 설명하였습니다.
- Introduction to integration testing with xUnit and TestServer in ASP.NET Core : Andrew Lock 이 xUnit 과 TestServer 클래스를 이용한 통합 테스트 방법을 공유하였습니다.
- Authorizing your .NET Core MVC6 API requests with OpenIddict and Identity : Kerry Ritter 가 .NET Core MVC6 에서 OpenIddict(OAuth, OpenID 관련 기능을 제공하는 오픈소스 라이브러리)를 이용하는 방법을 설명하였습니다.
- Cloudscribe.Web.Localization – more flexible localization for ASP.NET Core : Joe Audette 이 ASP.NET Core 의 지역화(Localization) 기능을 제공하는 오픈소스 프로젝트인 cloudscribe.Web.Localization 를 소개합니다.
- ASP.NET Core RC2 (migration guide) : David Pine 이 ASP.NET Core RC1 애플리케이션을 ASP.NET Core RC2 로 변경하는 방법을 설명하였습니다.
F# 소식
- Using XAML in F# Xamarin Forms – A Screencast : Jonathan Wood 가 Xamarin Forms 에서 F# 과 XAML 을 사용하는 방법을 공유해주었습니다.
- Custom error handling and logging in Suave : Dustin Moris Gorski 가 F# 의 웹 프레임워크인 Suave 에서 사용자정의 예외처리 방법과 이를 로깅하는 방법을 소개해주었습니다.
- Upcoming F# events – learn Suave, FsLab & more! : Tomas Petricek 이 앞으로 개최될 F# 행사 소식을 공유하였습니다
- Fable: Super Fable Mario (Mario clone using HTML5 canvas) : HTML5 canvas 를 이용하여 이미지를 렌더링하고, F#을 이용하여 마리오 캐릭터의 기본 움직임을 구현한 소스코드를 공유해주었습니다.
Xamarin 소식
- Join the Xamarin Team for dotNetConf : Joseph Hill 이 지난주에 개최된 온라인 콘퍼런스인 dotNetConf 에 Xamarin 팀에서 근무하고 있는 분들의 참여소식을 전해주었습니다.
- Xamarin DevOps with VSTS – Setup a Cross Platform Build Agent on OSX, and Xamarin DevOps with VSTS – Setup a Cross Platform Build Agent on Windows : Richard Woollcott 이 Xamarin DevOps 를 위해 VSTS 용 Build Agent 를 Windows 와 OS X 에 설치하는 방법을 소개해주었습니다.
- ASP.NET Core 1.0 RC2 support in Xamarin Studio : Matt Ward 이 Xamarin Studio 에서 ASP.NET Core 1.0 RC2 애플리케이션 개발 및 디버깅 방법을 공유해주었습니다.
- Watch Kent Boogaart code WorkoutWotch from start to end : Kent Boogaart 이 C# 을 이용해 개발한 iOS 애플리케이션인 Workout Wotch 의 개발과정을 소개합니다.
- Xamarin DevOps with VSTS – Getting Started : Richard Woollcott 이 VSTS 를 이용한 Xamarin DevOps 방법을 초보자들을 위해 스크린샷과 함께 자세하게 소개합니다.
- Xamarin Forms UI Snippets : Xamarin Forms 의 UI 코드블럭을 공유하는 사이트를 소개합니다.
Games
- Serialization, Monobehavior Constructors and Unity 5.4 : Lukasz Paczkowski 가 생성자 및 필드 초기화 과정에서 Unity API 호출 시 발생할 수 있는 부작용을 방지하기 위해서 Unity5.4 에 추가된 에러를 소개해 주었습니다.
- Breakout! How to Stop An Infinite Loop in a Unity C# Script : Peter Andreasen 이 Unity 애플리케이션 디버깅시 개발자의 C# Script 에서 발생한 무한루프를 중지하는 방법을 공유해주었습니다.
- Build a Unity Game Part 4 – Video : Stacey Haffner 이 Unity 게임개발 동영상 가이드 Part 4 를 소개합니다.
주간닷넷은 .NET Blog 에서 매주 발행하는 The week in .NET 을 번역하여 진행하고 있으며, 한글 번역 작업을 오픈에스지의 송기수 전무님의 도움을 받아 진행하고 있습니다.