주간닷넷 2016년 8월 9일
여러분들의 적극적인 참여를 기다리고 있습니다. 혼자 알고 있기에는 너무나 아까운 글, 소스 코드, 라이브러리를 발견하셨거나 혹은 직접 작성하셨다면 Gist나 주간닷넷 페이지를 통해 알려주세요. .NET 관련 동호회 소식도 알려주시면 주간닷넷을 통해 많은 분과 공유하도록 하겠습니다.
금주의 커뮤니티 소식
Taeyo.NET 에서 https://docs.asp.net의 ASP.NET Core 문서를 한글화하여 연재하고 있습니다.
On .NET 소식
지난 주 On .NET에서는 iPad용 개발 IDE 인 Continuous C# and F# IDE 를 개발한 Frank Krueger를 모시고 얘기를 나누어 보았습니다.
[embed]https://www.youtube.com/watch?v=3LuIirxXNjk[/embed]
이번 주 On .NET에서는 Francisco Monteverde와 함께 PlasticSCM에 대해 얘기를 나누어 보았습니다.
금주의 패키지 - OxyPlot
OxyPlot은 멀티 플랫폼을 지원하는 오픈 소스 plotting 라이브러리입니다.
아래 예제는 UWP(Universal Windows Platform) App에서 코사인(cos) 함수를 plotting 하는 예제 코드입니다.
금주의 Tool - .NET API Catalog
.NET API Catalog는 .NET API를 쉽게 탐색하고 다양한 버전의 .NET(.NET Framework, .NET Standard, Mono, Silverlight)에서 API가 지원되는지 쉽게 확인할 수 있도록 도와줍니다. 또한 긴 이름을 가진 API라고 하더라도 해당 API에 접근할 수 있는 짧은 URL을 생성해주므로 접근성도 뛰어납니다.
.NET API Catalog는 Azure Blob Storage를 이용하여 서비스 하고 있으며, 내부 Git repo인 CoreFxTools에 commit이 일어날 때마다 자동으로 변경 사항을 catalog에 반영하고 있습니다. 이렇게 하면 실제 서비스에 지장을 주지 않고도 항상 최신 내용을 유지할 수 있다고 합니다.
금주의 게임 - Dreamfall Chapters
Dreamfall Chapters는 전세계적으로 히트한 어드벤쳐 게임인 The Longest Journey와 DreamFall: Longest Journey 시리즈의 후속작입니다. The Longest Jounrey 시리즈는 Stark라고 불리우는 사이버펑크틱 미래 지구와 Arcadia라고 불리우는 판타지 세계, 이 두 개의 평행 세계를 배경으로 하고 있습니다. 여러분은 게임에서 두 개의 나라를 지키기 위해 여행을 떠나게 됩니다. 탄탄한 스토리를 가진 여행 속으로 한 번 떠나보세요! 여행 중에 여러분이 하는 선택은 두 개의 세계에 영구적인 영향을 줄 수도 있기에 선택을 할 때에는 항상 신중하셔야 합니다. Dreamfall Chapters는 총 5개의 에피소드로 나누어져 있으며, 각 에피소드를 마칠 때마다 여러분의 게임 진행 상황을 다른 플레이어들의 진행 상황과 비교하여 랭킹을 매기게 됩니다.
Dreamfall 시리즈는 정말 잘 만든 게임이고, 꼭 한 번 플레이해볼 가치가 있습니다! 하나만 명심하세요: 선택은 신중히 하셔야 합니다.
Dreamfall Chapters는 Red Thread Games가 Unity와 C#을 이용하여 개발하였습니다. 또한 온라인 서버로는 Azure를 사용합니다. Dreamfall Chapters는 Good Old Games와 Steam을 통해서 Windows, MacOS, Linux에서 플레이 가능하며 PS4에서도 즐기실 수 있습니다.
.NET 소식
- Announcing .NET Framework 4.6.2 : Stacey Haffner가 .NET Framework 4.6.2의 출시 소식을 전해주었습니다.
- Compile your changes on the fly with .NET Core Watch : Jon Hilton이 .NET Core의 Watch 기능을 이용하여 개발 애플리케이션의 소스가 변경될 때마다 프로젝트가 자동으로 빌드 되도록 구성하는 방법을 공유했습니다.
- Entity Framework Core 1.0 – Table Valued Functions and LINQ Composition : Christos Matskas가 Entity Framework Core 1.0의 Table Valued Function과 LINQ Composition에 대해 설명했습니다.
- Announcing Machine.Specifications (MSpec) 0.11 for .NET Core, .NET CLI and .NET Standard : Ivan Zlatev가 .NET Core, .NET CLI, .NET Standard 1.3을 지원하는 Machine.Specifications (MSpec) 0.11 버전의 정보를 공유했습니다.
- NSubstitute 2.0.0 (RC) released with .NET Core compatibility : David Tchepak이 .NET Core에서 실행 가능한 NSubstitute 2.0.0 (RC) 의 출시 소식을 전했습니다.
- .NET thread-pool threads and CLR worker threads : Changhong Fu가 .NET의 thread-pool threads와 CLR worker threads에 대해 설명해 주었습니다.
- Fast Deep Copy by Expression Trees (C#) : Frakon이 Expression Tree를 이용한 고속 깊은 복사(Fast Deep Copy) 방법을 공유했습니다.
- Throttling to improve responsiveness : jbe2277이 Throttling을 이용해 반응성을 높이는 방법을 공유했습니다.
- Exploring Entity Framework Core 1.0.0 RTM Changes : Steve Gordon이 Entity Framework Core 1.0.0 RTM 버전의 변경 내용을 공유했습니다.
ASP.NET 소식
Microsoft MVP인 박용준 강사님께서 ASP.NET Core 관련 동영상 강의를 공유해 주셨습니다.
- SPA 만들기 파트 3 : Angular 컨트롤러 생성 및 샘플 데이터로 리스트 페이지 기본 모양 구현하기
- SPA 만들기 파트 4 : Angular Route 모듈을 사용하여 리스트와 상세 보기 기능을 하나의 영역에서 분기해서 표시하기
- ASP.NET Core Kestrel – The Need for Speed : Mark Downie가 ASP.NET Core용 멀티 플랫폼 지원 고속 웹 서버인 Kestrel에 대해서 소개했습니다.
- ASP.NET Core Dependency Injection : Shawn Wildermuth가 ASP.NET Core의 DI(Dependency Injection)에 대해 설명했습니다.
- Add HTTP headers to static files in ASP.NET Core : Jürgen Gutsch가 ASP.NET Core에서 JavaScript, CSS 파일과 같은 정적 파일의 요청을 코드를 이용해서 처리하는 방법을 공유했습니다.
- Integration testing your ASP.NET Core middleware using TestServer : Joseph Woodward가 TestServer를 이용한 ASP.NET Core의 미들웨어 통합 테스트 방법에 대해서 설명했습니다.
- Simulating Latency in ASP.NET Core : Marius Schulz가 ASP.NET Core 애플리케이션 로컬 개발시 로컬 서버의 응답 시간을 실제 서버에서 동작하는 것처럼 보이게 응답 지연(Latency) 효과를 시뮬레이션 할 수 있는 방법을 공유했습니다.
- Forking the pipeline – adding tenant-specific files with SaasKit in ASP.NET Core : Andrew Lock이 ASP.NET Core에서 SaasKit을 이용할 때 tenant-specific 파일을 추가하는 방법을 공유했습니다.
F# 소식
- Walmart Rewrites Its E-Commerce Strategy With $3.3 Billion Deal for Jet.com : Leslie Picker와 Rachel Abrams이 미국 월마트가 온라인 유통회사인 아마존에 대항하기 위해 jet.com을 33억 달러(약 3조 6316억원)에 인수한다는 소식을 전했습니다.
- F# in Numbers: A Look at the Annual F# Survey Results : Tomas Petricek이 FSharpWorks에서 올해 4월에 진행한 F# 개발자 대상 설문의 결과를 정리해서 공유했습니다.
- F# for Fun and Profit is Available as a Gitbook : fsharpforfunandprofit.com 사이트의 eBook 버전인 Gitbook 페이지가 소개되었습니다.
- Comparing Scala to F# : Mikhail Shilkov가 F# 언어와 Scala 언어를 비교해 주었습니다.
- F# for Scala Developers (slides) : Alfonso Garcia-Caro가 Scala 개발자들 위한 F# 슬라이드를 공유해 주었습니다.
- TypeShape: Practical Generic Programming for F#, a new library : Erik Tsarpalis가 F# 오픈 소스 라이브러리인 TypeShape를 소개했습니다.
- F# to Javascript with Tomas Petricek (podcast) : Tomas Petricek이 F#을 JavaScript으로 변환해주는 컴파일러 프로젝트인 Fabel에 대한 Podcast를 진행했습니다.
- Perspectives on Clojure and F# (video) : Clojure 개발자 Rich Hickey와 F# 컴파일러 개발자인 Joe Pamer가 각각 자신들의 개발 언어를 소개하고 특징을 비교했습니다. (링크된 영상은 2010년에 업로드 된 것으로 이때부터 F#이 뜨는 개발 언어로 주목받고 있었네요)
- If you’re not live-codeing, you’re dead-coding (video) : Jeremy Chassaing이 Live-coding이라는 주제로 F# 기술 세션을 진행했습니다.
- Fable |> React Native – Native apps with F# : Steffen Forkmann이 Fable과 React Native 라이브러리를 이용한 F# 모바일 앱 개발 방법을 공유했습니다.
- Incremental construction of DFA in F# : Vyacheslav Chernykh가 F#으로 구현한 DFA의 Incremental construction 알고리즘을 공유했습니다.
- Building an OData service in F# using Entity Framework and Suave : Tamizh Vendan이 Entity Framework와 F#의 웹 개발 라이브러리 Suave을 이용한 F# OData 서비스 구현 방법을 공유했습니다.
Xamarin 소식
- Xamarin.Forms 2.3.1-stable : Bryan Hunter가 Xamarin.Forms 2.3.1 버전의 설치 방법 및 변경된 내용을 공유해 주었습니다.
- Using Speech Recognition in iOS 10 : Greg Shackles가 iOS 10에서 음성 인식 기능을 사용하는 방법을 공유해 주었습니다.
- .NET Standard Library Support for Xamarin 및 Creating and Consuming .NET Standard Libraries in Xamarin and Xamarin.Forms (video) : James Montemagno가 .NET Standard Library를 Xamarin 에서 활용하는 방법과 Xamarin과 Xamarin.Forms에서 .NET Standard Libraries를 활용 및 구현하는 방법을 소개했습니다.
- .NET Standard Library with Xamarin Forms 와 [.NET Standard with Xamarin Forms Gotchas]https://xamarinhelp.com/net-standard-xamarin-forms-gotchas/() : Adam Pedley가 Xamarin Forms에서 .NET Standard Library를 활용하는 방법과 .NET Standard의 장점 등을 설명했습니다.
- Integrating Azure Active Directory B2C into Xamarin Mobile App : Hossam Barakat이 Azure Active Directory B2C를 Xamarin 앱과 연동하는 방법을 소개했습니다.
- Using the ContainerView to Share Views – aka Fragments in Xamarin.iOS : Richard Woollcott이 Xamarin.iOS 에서 ContainerView를 활용하는 방법을 소개했습니다.
Games
- IL2CPP Optimizations: Faster Virtual Method Calls : Josh Peterson이 가상 함수를 호출할 때 성능을 효과적으로 향상할 수 있는 개발 방법을 공유했습니다.
- Hex Map 3: Elevation : Catlike Coding에서 퍼즐형 게임에 많이 활용되는 6각형 맵의 구현 및 활용 과정을 소개해 주셨습니다.
- 1.2 Unity Tower defense tutorial – Tile types : inScope Studios에서 타워 디펜스 게임 구현 방법에 대해 설명했습니다.
- Unity and C# Tutorial 4 – Finish Rock Paper Scissors Console : Craig Hinrichs가 C#을 이용한 Unity 프로그램 개발의 기초를 설명했습니다.
- C# Monogame RPG Made Easy Tutorial 3 – Xml Serialization : CodingMadeEasy에서 Microsoft XNA Framework 기반 게임 엔진인 MonoGame을 이용하여 RPG 게임을 구현하는 방법에 대해 설명하였습니다.
주간닷넷은 .NET Blog에서 매주 발행하는 The week in .NET을 번역하여 진행하고 있으며, 한글 번역 작업을 오픈에스지의 송기수 전무님의 도움을 받아 진행하고 있습니다.