주간닷넷 2016년 8월 2일
여러분들의 적극적인 참여를 기다리고 있습니다. 혼자 알고 있기에는 너무나 아까운 글, 소스 코드, 라이브러리를 발견하셨거나 혹은 직접 작성하셨다면 Gist나 주간닷넷 페이지를 통해 알려주세요. .NET 관련 동호회 소식도 알려주시면 주간닷넷을 통해 많은 분과 공유하도록 하겠습니다.
On .NET 소식
지난 주 On .NET은 취소되었고, 이번 주 On .NET도 사정 상 진행되지 못했습니다. On .NET은 업데이트 되는 대로 Youtube 채널에 올리겠습니다.
금주의 패키지 - AForge.NET
AForge.NET은 영상 처리(CV) 및 인공지능 관련 개발자를 위한 C# 오픈 소스 프레임워크입니다. AForge.NET은 Image Processing, Neural Networks, Genetic Algorithms, Fuzzy Logic, Machine Learning, Robotics 등에 활용할 수 있는 다양한 라이브러리를 포함하고 있습니다.
아래 예제 코드는 주어진 영상에서 동작을 감지하는(Motion Detection) 기능을 구현한 것입니다.
금주의 .NET Core App - Emitter.io
Emitter.io 는 .NET Core, LibUV, Docker 환경을 위에서 동작하는 빠른 성능의 MQTT (Message Queueing Telemetry Transport) 프로토콜 라이브러리입니다. .NET Client 전용 라이브러리도 제공하고 있습니다.
금주의 게임 - Overcooked
Overcooked는 1명에서 4명까지 즐길 수 있는 협동 요리 게임입니다.
Overcooked의 플레이어들은 하나의 요리 팀으로 움직이게 됩니다. 플레이어들은 요리사들을 조작하여 주문을 받아 재료를 준비하고, 요리를 완성한 후 음식을 서빙해야 합니다. 주어진 시간 내로 요리를 마치고, 서빙을 끝내지 않으면 당연히 손님들이 화가 나겠죠?
Overcooked는 혼자 플레이할 수도 있고 여러 명과 함께 즐길 수도 있습니다. 다양한 장소의 주방(해적선, 움직이는 트럭, 지하 세계 등)에서 여러분의 협동 능력과 요리 실력을 테스트해보실 수 있을 겁니다.
Overcooked는 Ghost Town Games가 Unity와 C#을 이용하여 개발하였습니다. 8월 3일에 Xbox One, Windows (via Steam) 그리고 PS4에서 정식 발매 되었습니다.
.NET 소식
- Entity Framework Core 1.1 Plans : Rowan Miller가 Entity Framework Core 1.1 출시 계획을 공유했습니다.
- .NET Support and Versioning : Lee Coward가 앞으로 .NET Core 1.0, ASP.NET Core 1.0, Entity Framework Core 1.0 등을 포함한 .NET Core family의 업데이트 계획에 대해서 공유했습니다.
- Return Any (Task-Like) Type From An Async Method : Bar Arnon이 Async 함수에서 Task<T> 형태의 타입을 반환하는 코드에 대해 설명했습니다.
- Building all and current dotnet core projects in VS Code : Jonathan Channon이 Visual Studio Code를 이용한 .NET Core project 빌드 방법을 설명했습니다.
- Detect and Blur Faces with .NET Core and Face API : Carlos Mendible이 .NET Core 와 Face API를 이용한 안면 인식 구현과 인식된 얼굴에 Blur 효과(흐림 효과)를 추가하는 방법에 대해 설명했습니다.
- Rider – the story so far : Matt Ellis가 Visual Studio에서 사용할 수 있는 Code refactoring 플러그인인 ReSharper의 최신 기능을 설명했습니다.
- .NET Core: Using existing resx resource file : Rockford Lhotka가 리소스 파일인 resx 파일을 .NET Core에서 활용하는 방법을 소개했습니다.
ASP.NET 소식
- The 201 on Building Web API with ASP.NET Core MVC (book) : Badrinarayanan Lakshmiraghavan이 ASP.NET Core 개발 서적 “The 201 on Building Web API with ASP.NET Core MVC” 을 출간했습니다.
- Announcing WebApiContrib for ASP.NET Core : Filip W가 ASP.NET 개발 시 유용하게 사용할 수 있는 오픈 소스 라이브러리인 WebApiContrib가 ASP.NET Core 버전으로 출시되었다는 소식을 전해주었습니다.
- ASP.NET Core upgrade speedrun (video) : Steve Desmond가 기존 ASP.NET Core RC2 버전 애플리케이션을 ASP.NET Core RTM 버전으로 업그레이드하는 과정을 예를 들어서 설명하였습니다.
- Cross platform .NET, welcome to the new age! (video) : Julie Lerman이 ASP.NET Core와 EF Core를 이용하여 MacOS, Linux, Windows와 같은 다중 플랫폼 환경을 타겟으로 하는 애플리케이션을 개발할 때 사용할 수 있는 유용한 정보를 소개해 주었습니다.
- Loading view components from a class library in ASP.NET Code MVC : the ASP.NET Monsters가 ASP.NET Code MVC환경에서 컨텐츠를 불러오는 View components를 클래스 라이브러리 프로젝트로 구성하여 여러 프로젝트에서 사용할 수 있도록 하는 방법을 소개했습니다.
- Using Roles with the ASP.NET Core JWT middleware and Adding parameters to the OpenID Connect Authorization URL : Jerrie Pelser가 ASP.NET Core JWT(JSON Web Token) middleware를 이용한 역할(Roles)의 활용과 인증용 OpenID 에 부가적인 정보를 추가하는 방법을 설명했습니다.
- ASP.NET Core hosting (revisited) – Part I and Part II : Luís Gonçalves가 (사용자 코드 혹은 프로세스에) ASP.NET Core를 호스팅하는 방법을 설명했습니다.
- Securing Authentication Cookies in ASP.NET Core and Generating Route URLs in ASP.NET Core MVC : Marius Schulz가 ASP.NET Core에서 인증을 포함한 사용자 개인 정보를 안전하게 쿠키에 저장하여 사용하는 방법(링크)과 ASP.NET Core MVC 환경에서 Route URL을 생성하는 방법(링크)을 공유했습니다.
- Loading tenants from the database with SaasKit – Part 2, Caching : Andrew Lock이 ASP.NET Core 환경에서 오픈 소스 프로젝트인 SaasKit을 이용하여 데이터베이스에서 애플리케이션을 로드하고 구성하는 방법을 소개해 주셨습니다.
- Exploring a minimal WebAPI with ASP.NET Core : Scott Hanselman이 최소 코드로 구성한 ASP.NET Core WebAPI 프로젝트를 공유해 주셨습니다.
- Walkthrough: ASP.NET application performance improvements on Azure with ANTS Performance Profiler : Ben Emmett가 Azure ASP.NET 애플리케이션의 성능을 향상시키기 위해서 성능 프로파일러인 ANTS Performance Profiler를 활용하는 방법을 설명했습니다.
- How to add MVC to your ASP.NET Core application : Jon Hilton이 기본 ASP.NET Core 프로젝트에 MVC 패턴을 추가하는 방법을 설명했습니다.
- Authoring Nested TagHelpers in ASP.NET Core MVC : Prabhakar Mishra가 ASP.NET Core MVC 환경에서 중첩된(Nested) TagHelpers 구현 방법을 설명했습니다.
- Using PetaPoco micro-ORM with ASP.NET Core : Paul Duffy가 ASP.NET Core에서 PetaPoco micro-ORM을 활용하는 방법을 설명했습니다.
- Using Sessions and HttpContext in ASP.NET Core and MVC Core : Ben Cull이 ASP.NET Core와 MVC Core에서 Sessions과 HttpContext를 사용할 수 있도록 프로젝트를 구성하는 방법을 공유했습니다.
F# 소식
- Working with F# projects in VSCode : Krzysztof Cieślak가 Visual Studio Code에서 F# 프로젝트를 사용하는 방법을 설명했습니다.
- Approximate your spending pattern using Gradient descent in F# : Kimserey Lam이 F#에서 Gradient descent 알고리즘을 이용한 소비 패턴의 분석 과정을 설명했습니다.
- Q&A on Akka.NET 1.1 with Aaron Stannard : Pierre-Luc Maheu가 오픈 소스 프로젝트 Akka.NET의 관리자인 Aaron Stannard와 함께 Akka.NET 1.1의 새로운 기능 소개와 Q&A를 함께 진행했습니다.
- Workshop Recap: Expressing Intent with F# with Tomas Petricek : Erich Ess와 Nora Jones이 F# Microsoft Research Team의 연구원이며 F# 오픈 소스 프로젝트의 열성적인 참여자 Tomas Petricek와 최근 함께 진행한 Workshop의 결과를 공유했습니다.
- My first month working with F# daily : Iuri L Machado가 한달동안 F#을 사용하면서 느낀 점과 자신의 소감을 공유했습니다.
- Struggling with Readability in Functional Programming (with Euler Problem #6 in F#) : Jeremy Clark이 함수 지향형 프로그램 개발시 느낄 수 있는 코드 가독성 문제와 이에 대한 해결책을 공유했습니다.
Xamarin 소식
- Preview: Android N support preview 3 : Adrian Murphy가 Android N을 지원하는 Xamarin SDK preview 3 버전을 소개했습니다.
- Asset Previewer : Miguel de Icaza가 UrhoSharp을 이용하는 프로젝트에서 활용할 수 있는 Asset Previewer의 기능을 소개 했습니다.
- Implement Custom fonts using Effects in Xamarin Forms : S Ravi Kumar가 Xamarin Forms에서 Effects를 이용한 사용자 정의 폰트의 구현 방법을 설명했습니다.
- Creating a Xamarin.Android Navigation Service for MVVM Light to use with any Activity, Using the MVVM Light ObservableRecylerAdapter with the Xamarin.Android RecylerView, and Using the ObservableTableViewSource in MVVM Light V5.3 with Xamarin.iOS : Richard Woollcott이 MVVM Light환경에서 Xamarin.Android Navigation Service의 구현 방법(링크)과 Xamarin.Android RecylerView에서 ObservableRecylerAdapter 객체를 사용하는 방법(링크) 그리고 Xamarin.iOS에서 ObservableTableViewSource 객체를 사용하는 방법(링크)을 설명했습니다.
Games
- Unity 5.4 is Out – Here’s What’s In It : Alex Lian이 Unity 5.4의 출시 소식과 새로운 기능에 대해서 소개했습니다.
- Creating an Ability System With Scriptable Objects : Matthew-Schell이 Scriptable Objects 을 이용한 게임 어빌리티 시스템(쿨다운 등을 체크하는)의 구현 방법을 설명했습니다.
- Character Select System with Scriptable Objects (upcoming Unity live training) : Matthew-Schell 이 Scriptable Objects 을 이용한 캐릭터 선택 시스템의 구현 방법을 설명했습니다.
- Delegates and Events in Unity : Unity Geek에서 Unity에 사용되는 Delegates와 Events의 개념에 대해 설명했습니다.
- Finite State Machine For Game Developers : Marco가 게임 개발자가 이해해면 좋은 유한 상태 기계(Finite State Machine)의 주요 개념에 대해 설명했습니다.
- Hex Map 2: Blending Cell Colors : Catlike Coding에서 퍼즐형 게임에 많이 활용되는 6각형 맵의 구현 및 활용 과정을 소개해 주셨습니다.
- 1.1 Unity Tower defense tutorial : inScope Studios에서 타워 디펜스 게임 구현 방법에 대해 설명했습니다.
- Unity and C# Tutorial – Lesson Three – Arrays : Craig Hinrichs가 C#을 이용한 Unity 프로그램 개발의 기초를 설명했습니다.
- C# Monogame RPG Made Easy Tutorial 2 – GameScreen : CodingMadeEasy에서 Microsoft XNA framework 기반 게임 엔진인 MonoGame을 이용하여 RPG 게임을 구현하는 방법에 대해 설명하였습니다.
주간닷넷은 .NET Blog 에서 매주 발행하는 The week in .NET 을 번역하여 진행하고 있으며, 한글 번역 작업을 오픈에스지의 송기수 전무님의 도움을 받아 진행하고 있습니다.