주간닷넷 2016년 5월 31일
온라인으로 진행되는 닷넷 콘퍼런스인 DotNetConf 가 6/7(화) ~ 6/9(목) 동안 진행됩니다. 풍부한 콘텐츠로 가득 찬 세션이 준비되어 있으며, 세션이 끝난 후 진행되는 Q&A 시간에는 직접 질문도 하실 수 있으니 꼭 참여해보시기 바랍니다. 여러분들의 적극적인 참여를 기다리고 있습니다. 혼자 알고 있기에는 너무나 아까운 글, 소스 코드, 라이브러리를 발견하셨거나 혹은 직접 작성하셨다면 Gist나 주간닷넷 페이지를 통해 알려주세요. .NET 관련 동호회 소식도 알려주시면 주간닷넷을 통해 많은 분과 공유하도록 하겠습니다.
dotnetConf 소식(6/7 ~ 6/9)
이번 주 화요일부터 목요일까지 3일 간 주요 .NET Community 리더와 Microsoft 제품을 담당하고 있는 팀에서 근무하고 있는 분들을 모시고 온라인 콘퍼런스인 DotNetConf 가 실시간 생방송으로 진행됩니다. 궁금한 사항은 세션이 끝난 후 Q&A 시간에 직접 질문하실 수도 있습니다. 컨퍼런스 기간동안 진행되는 모든 라이브 세션은 Channel 9 을 통해 다시 보실 수 있습니다.
닷넷 개발자에게는 지금이 황금기 같아 보입니다. 웹, 모바일, 데스크톱, 게임, 서비스, 라이브러리 등등 다양한 플랫폼과 여러 디바이스를 지원하는 .NET을 학습해 보세요! .NET Core 와 ASP.NET Core, C#, F#, Roslyn, Visual Studio, Xamarin 을 포함한 유용하고 풍부한 세션들이 진행될 예정입니다. 세션 목록과 스피커 정보를 확인해 보세요. Miguel de Icaza, Scott Hunter, Scott Hanselman이 키노트 세션을 진행할 예정이며 커뮤니티에서도 많은 콘텐츠들을 준비했습니다.
좀 더 자세한 정보는 웹 사이트를 통해 확인하실 수 있으며 트위터 계정인 #dotnetconf 와 @dotnet 에서도 소식을 확인하실 수 있습니다.
금주의 커뮤니티 소식
Taeyo.NET 에서 https://docs.asp.net 의 ASP.NET Core 문서를 한글화하여 연재하고 있습니다.
- ASP.NET Core MVC 뷰 추가하기 : ASP.NET Core 에서 MVC View 를 추가하는 방법을 예제와 함께 상세하게 소개합니다.
On.NET 소식
지난 On.NET 인터뷰에서는 Maoni Stephens 를 모시고 닷넷 가비지 컬렉션에 대해 알아보았습니다. 닷넷 프레임워크의 핵심 서브시스템인 가비지 컬렉션을 이해할 수 있었던 좋은 기회였습니다.
이번 주 On.NET 인터뷰에는 마이크로스프트의 주요 언어의 프로그램 매니저이면서 동시성 부분의 전문가(concurrency expert)인 Lucian Wischik과 함께 이야기 나눌 예정입니다.
금주의 패키지- FluentAssertions
테스트 작업에서 에러가 없는 프로그램을 작성하기 위해 Assertion(가정 설정문)을 추가하는 작업이 필요합니다. Assertion 을 지원하는 다양한 API 가 있습니다. 그중 가독성이 우수한 FluentAssertions 라이브러리를 소개합니다.
FluentAssertions 라이브러리는 MSTest, NUnit, xUnit 등의 테스트 플랫폼을 지원하며 .NET Framework 프로젝트와 .NET Core 프로젝트에서도 사용하실 수 있습니다.
금주의 Xamarin 애플리케이션 - Haven Holidays
Haven Holidays 는 영국에서 가장 큰 가족을 위한 공원으로 해안가를 따라 36개의 공원을 가지고 있습니다. 모바일 애플리케이션 개발업체이며 Xamarin 프리미어 파트너인 Rarely Impossible 에서 놀이공원 방문자를 위한 뛰어난 디자인의 애플리케이션 두 개를 Xamarin.Forms 을 이용하여 단 4개월 만에 개발했습니다.
Rarely Impossible 블로그에서 프로젝트의 개발 방법과 진행 과정을 좀 더 자세하게 확인하실 수 있습니다.
금주의 게임 - ElemenTales
ElemenTales 라는 게임은 불, 흙, 공기, 물 4가지 형태로만 존재해야 하는 저주받은 사형제가 등장합니다. 게임 플레이어는 이들의 고유한 능력을 이용해서 각 단계의 3D 퍼즐을 풀며 다음 단계를 진행하게 됩니다. 총 24 단계가 있으며 상위 레벨로 갈수록 복잡해지고, 단순한 형태의 그래픽을 가진 게임입니다.
ElemenTales 는 Total Monkery 라는 회사에서 Unity 와 C# 을 이용해서 개발되었으며 현재 윈도우 스토어에서 다운로드 받으실 수 있습니다. 좀 더 자세한 정보는 링크를 통해서 확인하실 수 있습니다.
.NET 소식
- Making it easier to port to .NET Core : Immo Landwerth 이 .NET Core 플랫폼의 미래를 통합된 BCL을 설명하며 소개했습니다.
- Announcing MSTest Framework support for .NET Core RC2 / ASP.NET Core RC2 : Pratap Lakshman 이 .NET Core RC2 / ASP.NET Core RC2 를 지원하는 MSTest 프레임워크와 사용방법을 소개했습니다.
- Mads Torgersen and Dustin Campbell on the future of C# : Tim Anderson 이 C# 의 변화와 미래에 대해 C# 프로그램 매니저인 Mads Torgersen 과 Visual Studio 프로그램 매니저인 Dustin Campbell 과 인터뷰했습니다.
- Tuple Tuesday! : Anthony D. Green 이 C# 과 VB 에 새롭게 추가될 기능인 Tuple 을 소개하고 Tuple 을 이용했을 때의 장점을 예제를 통해 소개 해 주었습니다.
- TPL Dataflow Is The Best Library You’re Not Using : Bar Arnon 이 병렬처리 라이브러리인 TPL(Task Parallel Library) Dataflow 를 소개합니다.
- Rethinking IEnumerable : Jared Parsons 이 컬랙션/배열의 열거관련 기본 인터페이스인 IEnumerable<T> 을 사용하지 않고 프로그래밍 한 예제를 소개하며 그것이 가지는 장점에 대해서 설명해주었습니다.
- Using Windows Runtime in a .NET desktop application : jbe2277 아이디 사용자가 .NET 데스크톱 애플리케이션에서 Windows Runtime API 를 사용하는 방법을 설명합니다.
- Running .NET Core RC2 on Fedora 23 : Nemanja Milosevic 이 .NET Core RC2 가 지원하지 않는 Fedora linux 에서 CentOS 패키지를 이용하여 .NET Core RC2 응용프로그램을 실행하는 방법을 소개했습니다.
- Installing .NET Core RC2 on Ubuntu 16.04 : Donovan Brown 이 .NET Core RC2 를 Ubuntu 16.04 버전에 설치하는 방법을 소개했습니다.
- Write your first .NET Core Library : Thomas Stringer 이 .NET Core 라이브러리를 작성하는 방법을 공유했습니다.
- Introduction to Composition : Robert Mikhayelyan 이 Desktop Window Manager (DWM) 라고도 알려진 Windows 10 의 새로운 API 인 Composition API 를 소개했습니다.
- Builder: C# : Ted Neward 이 C# 의 Builder 패턴을 소개합니다.
- Reset Entity Framework migrations : Morten Anderson 이 migration 작업이 끝난 후 코드를 정리하는 방법을 소개했습니다.
- RavenDB 4.0 on .NET Core RC2 : Ayende Rahien 이 NoSQL 임베디드 DB 인 RavenDB 4.0 의 .NET Core RC2 호환성 테스트 진행 사항을 업데이트 해주었습니다.
ASP.NET 소식
- Setting up Ubuntu 14.04 for ASP.NET Core RC2 with PostgreSQL : Joshua Hardy 이 Ubuntu 14.04 에서 ASP.NET Core RC2 와 PostgreSQL 을 설정하는 방법을 소개했습니다.
- A deep dive into the ASP.NET Core CORS library : Andrew Lock 이 ASP.NET Core 에서 수행되는 CORS( Cross-Origin Resource Sharing) 라이브러리를 소개해주었습니다.
- ASP.NET Core : Getting Clean with SOAP : Shayne Boyer 이 ASP.NET Core 에서 WCF 서비스를 이용하여 필요한 서비스만 참조하여 개발하는 방법을 소개해 주었습니다.
- Running multiple ASP.NET Web API pipelines side by side : Filip W 가 하나의 실행 프로세서로 두개의 Web API 인스턴를 충돌 없이 동시에 수행하는 방법을 소개했습니다.
- Getting the Web Root Path and the Content Root Path in ASP.NET Core : Marius Schulz 가 ASP.NET Core 에서 웹 루트 경로와 콘텐츠 루트 경로를 구하는 방법을 공유했습니다.(기존 ASP.NET에서는 Server.MapPath() 메서드 등을 이용하여 절대/상대 경로를 구할 수 있었으나 ASP.NET Core 에서는 다른 방법을 이용해야 합니다.)
- Dotnet EF Migrations for ASP.NET Core : Ben Cull 이 ASP.NET Core 로 EF(Entity Framework)를 마이그레이션 하는 방법을 공유해주었습니다.
- Storing ASP.NET session outside webserver – SQL Server vs Redis vs Couchbase : Omar Al Zabir 가 ASP.NET 에서 사용자 세션정보를 웹 서버가 아닌 외부 서버(SQL Server, Redis, Couchbase)에 저장하여 연동하는 방법을 설명하였습니다.
- How To Specify Framework When Running ASPNET Core Apps : Steve Smith 가 ASP.NET Core 애플리케이션을 실행할 때에 프레임워크의 버전을 지정하는 방법을 설명했습니다.
- How to Build a Search Page with Elasticsearch and .NET : Ryszard Seniuta 이 오픈소스 검색 엔진인 Elasticsearch 를 이용하여 검색 페이지를 구현하는 방법을 소개했습니다.
- 3 ways to keep your ASP.NET MVC Controllers thin : Jon Hilton 이 ASP.NET MVC 프로젝트에서 컨트롤러를 가능한 한 복잡하지 않게 구성하기 위한 세가지 방법을 공유했습니다.
F# 소식
- Fable: F# to JavaScript Transpiler : F#을 JavaScript 으로 바꿔주는 컴파일러인 Fable 을 소개합니다.
- Login with WebSharper, by FSharpTV : Adam Granicz 가 WebSharper 을 이용하여 로그인 페이지를 구현한 과정을 소개합니다.
- F# for Python Programmers : Darren Platt 이 Python 개발자들을 위해 만든 F# 자료를 공유했습니다.
- Having Fun with Computation Expressions : Matthias Dittrich 이 F# 의 computation builder library 를 구현하는 과정을 소개했습니다.
Xamarin 소식
- Xamarin DevOps with VSTS – Setup iOS CI Builds with MacinCloud, Xamarin DevOps with VSTS – Setup Android CI Builds, Xamarin DevOps with VSTS – Versioning Apps For HockeyApp, Xamarin DevOps with VSTS – Deploying To HockeyApp, and Xamarin DevOps with VSTS – Deploying To Devices From HockeyApp : Richard Woolcott 가 Visual Studio Team Services 를 이용하여 Xamarin 프로젝트의 DevOps 경험을 시리즈 형식으로 블로그에 포스팅 하였습니다.
- Bluetooth LE plugin for Xamarin released and Swipe to dismiss with MvvmCross : Sven-Michael Stübe 이 오픈소스 프로젝트로 개발한 Xamarin 용 블루투스 플러그인에 대한 소개와 MvvmCross 을 이용해 밀어서 알림제거 기능을 구현한 소식을 공유했습니다.
- Xamarin.Forms XAML Previewer Design Time Data : James Montemagno 이 Xamarin.Forms 의 XAML 디자이너에서 샘플 데이터를 미리 볼 수 있게 해주는 기능인 Design Time Data 기능을 소개했습니다.
- Cross-Platform Development with Xamarin.Forms and Realm by the Realm Team : 모바일용 데이터베이스 엔진을 개발하는 회사인 Realm 의 Kristian 와 Yavor 가 Xamarin.Forms 와 Realm 을 이용한 크로스 플랫폼용 모바일 애플리케이션 개발 방법에 대한 포스트를 예제와 함께 작성하였습니다.
Games
- Unite Europe 2016 Keynote – Video : Unite Europe 2016 키노트 동영상이 공개되었습니다.
- Unity UI Healthbar Script C# Tutorial – Video : Jay AnAm 이 Unity 에서 게임속 캐릭터의 생명 표시 상태를 나타내는 Healthbar UI를 구현한 C# 코드 소개했습니다.
- Unity 5 Tutorial 2D Fighting Game Redux Introduction – Video by C Sharp Accent Tutorials : Unity 5 에서 2D 그래픽의 격투 게임을 개발하는 방법을 소개합니다.
주간닷넷은 .NET Blog 에서 매주 발행하는 The week in .NET 을 번역하여 진행하고 있으며, 한글 번역 작업을 오픈에스지의 송기수 전무님의 도움을 받아 진행하고 있습니다.