주간닷넷 2017년 5월 30일
금주의 패키지: Open XML SDK
이번 주에 소개해 드릴 패키지는 엑셀, 워드, 파워포인트 문서 작업에 활용할 수 있는 ‘Open XML SDK’ 오픈소스 라이브러리입니다. 워드 ,엑셀, 파워포인트 문서의 고성능 편집 및 작성이 가능하며 워드 문서를 HTML로 변환 혹은 XLSX 포멧으로 데이터를 추출할 수 있으며 다양한 형태의 문서 변경작업이 가능합니다.
using (var doc = WordprocessingDocument.Open(strDoc, true))
{
var p = new Paragraph(new Run(new Text(
"This is some text in a run in a paragraph.")));
doc.MainDocumentPart.Document.Body.AppendChild(p);
}
금주의 게임 : Adventure Time: Magic Man’s Head Games
Adventure Time: Magic Man’s Head Games은 가상현실 기반 게임입니다. 게임을 시작하면 자이언트 풍선 속으로 순간이동하게 되며 그 후 가상현실속 친구인 Finn과 Jake의 도움을 받으며 모든 것이 정상이였던 게임 시작 전 상태로 되돌리는 것이 미션입니다. 게임 진행중에 플레이어는 친구를 도와 Magic Man을 추적하면서 적들과 싸우고 친구들을 구출하는등 위험한 지역에서 모험을 이어가게됩니다.
Adventure Time: Magic Man’s Head Games은 Turbo Button에서C#과 Unity를 이용하여 개발되었습니다. 현재 이 게임은 삼성 Gear VR을 지원하며 Steam을 통해서 Oculus Rift, HTC Vive 디바이스에서도 플레이가 가능합니다.
.NET 소식
- .NET Framework May 2017 Cumulative Quality Update for Windows 10 : Rich Lander가 .NET Framework May 2017 업데이트 정보를 공유했습니다.
- Using .NET and Docker Together : Rich Lander가 .NET환경을 Docker에 활용하는 방법을 설명했습니다.
- Integration testing with .NET Core : Dmitriy Litichevskiy가 .NET Core의 통합 테스트 방법을 설명했습니다.
- An Early Look at Multi-Tenancy in Marten 2.0 : Jeremy D. Miller가 Marten 2.0의 멀티테넌시(Multitenancy) 역할을 소개했습니다.
- Message Handlers in the new Jasper Service Bus : Jeremy D. Miller가 Jasper Service Bus의 Message Handlers를 설명했습니다.
- Actor model and using of Akka.NET : Rubik’s Code에서 Actor model과 Akka.NET을 소개했습니다.
- .NET Framework setup verification tool, cleanup tool and detection sample code now support .NET Framework 4.7 : Aaron Stebner가 setup verification tool, cleanup tool, detection sample code 툴의 .NET Framework 4.7 버전 지원 소식을 공유했습니다.
- Managed object internals, Part 1. Layout : Sergey Teplyakov가 "관리되는 객체의 내부 구조"를 설명했습니다.
ASP.NET 소식
- Access the JWT bearer token when using the JWT middleware in ASP.NET Core : Jerrie Pelser가 ASP.NET Core에서 JWT middleware를 활용한 JWT(JSON Web Tokens) 정보 접근 방법을 소개했습니다.
- Overriding the NameClaimType when using the ASP.NET Core OpenID Connect middleware : Jerrie Pelser가 OpenID 를 사용할경우 NameClaimType 값을 오버라이딩하는 방법을 소개했습니다.
- Start with Elasticssearch, Kibana and ASP.NET Core : Carlos Mendible이 ASP.NET Core에서 엘라스틱서치(Elasticsearch)와 키바나(Kibana)의 활용방법을 소개했습니다.
- Self Descriptive HTTP API in ASP.NET Core : Derek Comartin이 ASP.NET Core 환경에서 자기기술적(Self Descriptive)인 HTTP API 개발 방법을 소개했습니다.
- ASP.NET Core 2.0 Configuration and Razor Pages : Jamie Taylor가 ASP.NET Core 2.0 설정모델과 Razor Pages 를 설명했습니다.
- How to use multiple hosting environments on the same machine in ASP.NET Core : Andrew Lock이 하나의 서버에서 다중 호스팅 ASP.NET Core 환경의 구축방법을 설명했습니다.
- Using Razor Pages to simplify basic actions in ASP.NET Core 2.0 preview 1 : Andrew Lock이 ASP.NET Core 2.0 preview 1 에서 Razor Pages 의 활용법을 설명했습니다.
- Creating simple shoutbox using ASP.NET Core Razor Pages : Gunnar Peipman이 ASP.NET Core Razor Pages를 이용하여 간단한 “shoutbox” 구현방법을 설명했습니다.
- ASP.NET Core Sample Image Resizing Service : Dmitry Sikorsky가 ASP.NET Core를 이용하여 이미지 크기조절 애플리케이션을 구현하는 방법을 설명했습니다.
- Precompiling razor views : Gérald Barré가 razor views의 Precompile 방법을 설명했습니다.
- Exploiting Partial and RenderPartial in ASP.NET MVC : Peter Vogel이 HtmlHelper 클래스의 두 메서드 "Partial"과 "RenderPartial"의 차이점을 설명했습니다.
- DevTrends가 ASP.NET Core의 404 에러 처리방법와 ASP.NET Core Web API의 예외 처리방법를 공유했습니다.
- ASP.NET Core Correlation IDs Writing a basic middleware library to enable correlation IDs on ASP.NET Core : Steve Gordon이 ASP.NET Core에서 correlation ID의 활용법을 소개했습니다.
C# 소식
- C# Local Functions : Gary Woodfine이 C# 지역함수(익명함수)를 설명했습니다.
- C# 7 Series, Part 2: Async Main : mazhou가 C# 7 시리즈 파트2 "Async Main"편을 공유했습니다.
- Lowering in the C# Compiler (and what happens when you misuse it) : Matt Warren이 C# Compiler 의 Lowering 기능(함축적 키워드의 코드 제네레이션기능)과 이것을 과도하게 사용했을때의 부작용을 설명했습니다.
F# 소식
- F# Weekly #22, 2017 with 2017 F# survey results : Sergey Tihon이 F# 설문조사 결과를 포함한 22 차주 F# 기술 정보를 공유했습니다.
- Agile Experiments in Machine Learning with F# – Mathias Brandewinder : channel64에서 지난 2월 덴마크의 코펜하겐에서 진행된 NDC 컨퍼런스중 “Agile Experiments in Machine Learning with F#” 세션 동영상이 공유되었습니다.
- Xamarin Forms: MvvmCross with F# : sam이 C#과 MvvmCross를 활용한 MVVM 패턴 코드를 F#으로 변환하는 과정을 설명했습니다.
- Introducing F# intro : Tomas Jansson이 스페인에서 진행했던 기술세션 “F# 소개” 관련 정보를 공유했습니다.
- F# Works 2017 Survey Results : F# 개발 언어관련 설문조사 결과가 공유되었습니다.
- Lambda expressions in F# : Andras Nemes가 F#에서 람다식 사용법을 설명했습니다.
- Feeding a function result into a pattern matching lambda expression in F# : Andras Nemes이 F# 함수 정의에 람다식 활용방법을 설명했습니다.
VB 소식
- Introduction to (Live) Unit Testing in Visual Basic… : Klaus Löffelmann이 비주얼베이직에서의 “실시간 단위테스트” 기능을 소개했습니다.
Xamarin 소식
- Xamarin University’s free webinar series: Learn mobile development from experts : Mark Smith가 Xamarin University의 새로운 웨비나 시리즈를 공유했습니다.
- Xamarin.Tip – MvvmLight Code Snippets for Visual Studio for Mac : Alex Dunn이 Visual Studio for Mac에서 활용할 수 있는 MvvmLight 용 코드 조각 기능 소개했습니다.
- What good is Xamarin.Forms? : Matthew Calder가 Xamarin.Forms의 장점과 성공 사례를 소개했습니다.
- All The Ways To Have Multiple Solutions Open In VS For Mac : Matthew Soucoup이 Mac에서 여러 VS 솔루션을 한번에 로딩하는 몇가지 방법을 소개했습니다.
- Dynamically binding RESX Resources in Xamarin Forms : Pieter Nijs이 Xamarin Forms에서 RESX 리소스 동적 바인딩 방법을 설명했습니다.
- Yet Another Podcast #171 – MFractor : Jesse Liberty가 MFractor개발자 Matthew Robbins와 함께 진행한 팟케스트 #171편을 공유했습니다.
- Securing Google Play In-App Purchases for Xamarin with Azure Functions : Jonathan Peppers가 Xamarin에서 Azure Function을 사용하여 "Google Play In-App Purchases"기능을 활용하는 방법을 설명했습니다.
- Intelligent Bot in a Native iOS and Android app : Colby Williams가 Microsoft Bot Framework 활용방법을 소개했습니다.
- Change the font type of a NavigationPage Title in Xamarin Forms : Jan Tourlamain이 Xamarin Forms에서 NavigationPage 타이틀의 폰트 변경방법을 공유했습니다.
- Deep Dive into SkiaSharp with Xamarin.Forms : Charles Petzold가 구글의 다중 플랫폼용 2D 그래픽 라이브러리 SkiaSharp의 구조를 설명했습니다.
- Staying Up-to-Date in Visual Studio 2017 with the Xamarin Updater : Pierce Boggan이 Visual Studio 2017의 Xamarin Updater 확장기능을 소개했습니다.
- TrainerRoad Helps Cyclists Increase Performance with Five-Star Apps : Lacey Butler가 자전거 라이더용 애플리케이션을 개발한 TrainerRoad 성공 사례를 소개했습니다.
- Using Local Notifications in Xamarin.Mac : Adam Hartley가 iOS의 Local Notifications 사용법을 공유했습니다.
- Introducing MFractor for Visual Studio Mac : Matthew Robbins가 Visual Studio Mac에서 사용가능한 MFractor 확장툴을 소개했습니다.
- Preview your HockeyApp apps in Mobile Center : HockeyApp Team에서 기존의 HockeyApp apps을 Mobile Center의 HockeyApp apps으로 전환 혹은 병행하는 방법과 정보를 공유했습니다.
- Rebuilding the Xamarin.Forms Button with Visual States and Control Templates : Nick Randolph가 비주얼상태(Visual States)와 탬플릿이 적용된 Xamarin.Forms 버튼의 구현방법을 공유했습니다.
- Styling Pages and Controls in Xamarin Forms using Visual States : Nick Randolph가 Xamarin Forms의 비주얼상태(Visual States)기능을 설명했습니다.
- Xamarin Stable Release: 15.2.2 Servicing Release : Bri Brothers가 15.2.2 서비스 릴리즈 버전 정보를 공유했습니다.
- Stable Release: 15.2 Hotfix Xamarin Android (Mac Only) : Adrian Murphy가 15.2 버전의 Xamarin Android 릴리즈 정보를 공유했습니다.
- Architecting a Large Xamarin Forms App : Adam Pedley가 대규모 Xamarin Forms 애플리케이션을 위한 아키텍처 가이드를 공유했습니다.
- Container, Region and Stack Navigation in Exrin : Adam Pedley가 Xamarin Forms용 MVVM Framework인 "Exrin"의 Navigation 기능을 설명했습니다.
- Continuous Integration and Deployment for Xamarin Apps : Adam Pedley가 Xamarin 애플리케이션을 위한 CI/CD 진행방법을 소개했습니다.
- HoloLens with Xamarin UrhoSharp : Adam Pedley가 Xamarin에서 UrhoSharp을 통한 HoloLens활용 방법을 소개했습니다.
- Running Xamarin UITests Locally : Adam Pedley가 Xamarin.UITest과 Nunit을 활용한 UI 테스트 방법을 소개했습니다.
- Xamarin Forms LayoutOption Differences : Adam Pedley가 Xamarin Forms의 LayoutOption을 설명했습니다.
Azure 소식
- Comparing Data Stores : Dane Vinson이 Azure에서 제공되는 여러 데이터 저장소의 성능과 기능을 비교했습니다.
UWP 소식
- Windows Template Studio : Christian Nagel이 "Windows Template Studio"을 소개했습니다.
- See What’s New with Windows Ink in the Windows 10 Creators Update : Jerry Koh이 Windows 10 크리에이터 업데이트에 적용되는 Windows Ink의 새로운기능을 소개했습니다.
- UWP and the evolution of touch development : Windows Apps Team에서 터치 기반의 개발방법이 기존 키보드/마우스입력 기반의 개발방법과 다른점을 설명했습니다.
Data 소식
- Dealing With Optimistic Concurrency Control Collisions : Jimmy Bogard이 데이터의 "낙관적 동시성 처리방법"을 설명했습니다.
- 5 Ways To Manage Database Schema Changes in 2017 (in .NET) : Alexander Tsvetkov가 데이터베이스 스키마의 변경사항을 관리하는 5가지 방법을 소개했습니다.
주간닷넷은 .NET Blog에서 매주 발행하는 The week in .NET을 번역하여 진행하고 있으며, 한글 번역 작업을 오픈에스지의 송기수 전무님의 도움을 받아 진행하고 있습니다.