주간닷넷 2017년 1월 18일
여러분들의 적극적인 참여를 기다리고 있습니다. 혼자 알고 있기에는 너무나 아까운 글, 소스 코드, 라이브러리를 발견하셨거나 혹은 직접 작성하셨다면 Gist나 주간닷넷 페이지를 통해 알려주세요. .NET 관련 동호회 소식도 알려주시면 주간닷넷을 통해 많은 분과 공유하도록 하겠습니다.
On .NET 소식
지난주 On .NET에서는 David와 함께 일정, 날씨 등 다양한 정보를 표시해주는 스크린 거울인 ”magic mirror” 제작 과정을 알아보았습니다. “magic mirror”는 Raspberry Pi와 Windows 10 IoT Core를 이용하여 만들어졌으며, 오픈소스 UWP 애플리케이션을 변경하여 개발되었습니다. “magic mirror”에는 카메라, 마이크, 음향, 음성인식 등의 기능도 포함되어 있습니다.
https://sec.ch9.ms/ch9/e937/9e3b0877-c4d9-49bd-a3c8-1a13839ee937/onnet20170112davidpine\_high.mp4
이번 주에는 ON.NET 영상이 준비되지 않았습니다. 다음 주에 2편의 영상으로 돌아올 예정입니다.
금주의 패키지: PwdLess
비밀번호 해킹으로 인해 수억 개의 비밀번호가 대량으로 유출되는 사고가 잇따라 발생하고 있으며 많은 사람들이 피해를 입고 있습니다. 이러한 사고들로 인해 비밀번호 보안에 대한 신뢰도가 점차 줄어드는 추세입니다.
비밀번호를 사용하지 않고 다른 방법으로 해킹을 막을 수 있을까요? 대안 중 하나가 "magic links"입니다. 애플리케이션에서 사용자가 등록한 이메일 주소나 연락처로 인증을 목적으로 일시적으로 사용하는 값인 nonce를 보내는 방법입니다.
PwdLess는 .NET으로 제작되었지만 단순한 HTTP API를 통해 모든 플랫폼에서 사용할 수 있습니다. GET / auth / sendNonce? identifier = [IDENTIFIER]는 nonce를 전송하고, GET / auth / nonceToToken? nonce = [NONCE]는 nonce가 유효하면 JWT로 200을 응답합니다.
PwdLess 구성은 간단한 JSON 파일을 통해 수행됩니다.
금주의 게임 : Terraria
Terraria는 고전 액션 게임 방식과 샌드박스 스타일의 자유도가 조화된 인기 있는 2D 어드벤처 생존 게임입니다. 플레이어는 맵을 탐색하며 장비 및 기계, 생존을 위한 공간 만드는 데 활용할 수 있는 자원을 획득하고 정보를 수집하기 위해 외계인과 싸워야 합니다.
여행을 통해 만나는 동맹국에서 머물기도 할 수 있으며, 외계인의 본거지를 찾아내 그곳으로부터 안전한 장소에 도시를 세울 수도 있습니다. Terraria는 랜덤으로 생성된 맵과 많은 양의 무기 및 방어구 그리고 수많은 제작 옵션을 제공합니다.
Terraria는 Re-Logic에서 C#과 XNA를 이용하여 개발하였습니다. 현재 Windows, Mac, Xbox 360, Xbox One, PlayStation 3, PlayStation 4, PSVita, Android, iOS에서 즐기실 수 있습니다.
.NET 소식
- What .NET Developers ought to know to start in 2017 : Scott Hanselman이 2017년에 .NET 개발자가 알아야할 핵심 정보를 공유했습니다.
- Essential .NET – Essential MSBuild: a build engine overview for .NET tooling : Mark Michaelis가 .NET Tooling을 위한 빌드 엔진의 개요를 설명합니다.
- Engineering changes for corefx : Wes Haggard가 .NET Core의 Corefx 라이브러리 엔지니어링 버전 변경 사항을 공유했습니다.
- Smarter build scripts with MSBuild and .NET Core : Matthew Abbott가 MSBuild와 .NET Core용 프로젝트 파일을 더욱 효과적으로 구성할 수 있는 스크립트 기능을 소개합니다.
- Faking out the .NET Runtime version : Rick Strahl이 .NET 4.x 버전 하위 호환성에 관해 설명합니다.
- My first ScriptCS : Shawn Wildermuth가 C# 스크립트 엔진인 ScriptCS에 관해 소개합니다.
- Implement IDisposable : jbe2277가 IDisposable 인터페이스 개념과 올바른 구현 방법을 설명합니다.
- Analysing pause times in the .NET GC : Matt Warren이 .NET 환경에서 서버와 워크스테이션 각각의 GC pause time 값의 분석 결과를 공유했습니다.
- Visual Studio 2017 and Visual Studio 2015 with .NET Core : Christian Nagel이 .NET Core 애플리케이션 개발을 위해 Visual Studio 2017 와 Visual Studio 2015를 동시에 사용할 때 발생할 수 있는 문제점과 해결 방법을 공유했습니다.
- C# code formatting settings in VS Code and OmniSharp : Filip W가 Visual Studio Code에 C# 코드 서식을 설정하는 방법에 관해 설명합니다.
- Analyzing GitHub LINQ usage – the results : Dror Helper가 GitHub에 공유된 많은 소스들이 사용하는 LINQ 명령 패턴의 분석 결과를 공유했습니다.
- VSTS and MSBuild (v15) : Darren Neimke가 VSTS에서 .NET Core 프로젝트를 자동 빌드하기 위해 MSBuild 용 빌드 에이전트를 구성하는 방법을 설명합니다.
ASP.NET 소식
- An introduction to ViewComponents – a login status view component : Andrew Lock이 ASP.NET Core Razor view의 View Component를 활용한 로그인 상태 컴포넌트를 구현하는 방법을 설명합니다.
- Getting down to business building an ASP.NET Core API service : Rick Strahl이 Angular 2.0과 ASP.NET Core를 이용해 비즈니스 애플리케이션을 구현하는 방법을 예제를 통해 설명합니다.
- When a single ASP.NET client makes concurrent requests for writeable session variables : Sanjay Patel이 ASP.NET에서 성능을 향상시키기 위해 다중 스레드에서 세션 변수에 접근하는 방법을 설명합니다.
- .NET Core and NancyFX: can writing a WebApi get any simpler? : Carlos Mendible이 .NET Core와 NancyFX을 이용해 간단하게 WebApi를 구성하는 방법을 설명합니다.
- Enabling gzip compression with ASP.NET Core : Gérald Barré가 ASP.NET Core에서 gzip 압축기능을 사용하는 방법을 소개합니다.
- Standardize page objects with Visual Studio item templates : Anton Angelov가 Visual Studio의 아이템 템플릿을 이용해 페이지 객체 타입을 표준화하는 방법을 설명합니다.
- File logging on ASP.NET Core : Gunnar Peipman이 로그 라이브러리 Serilog을 ASP.NET Core에서 이용하는 방법을 설명합니다.
F# 소식
- F# has won me over: coming to .NET world from outside .NET : Tom Prior가 F#의 장점과 Mac에서의 F# 개발 환경을 리뷰하였습니다.
- New release of @fsibot, now on Azure Functions : Matthias Brandewinder가 자신이 만든 @fsibot 트위터 봇 프로그램을 Azure Function 서비스 환경으로 전환한 경험을 공유했습니다.
- You too can build Xamarin apps with F# : Greg Shackles가 F#으로 Xamarin 애플리케이션을 개발하는 방법을 공유하였습니다.
- Pairwise distance calculation on the GPU : Xiang Zhang이 GPU를 이용한 "Pairwise distance" 연산 처리 방법을 소개합니다.
- Estimating Pi on the GPU : Xiang Zhang이 GPU를 이용한 Pi 값 계산 방법을 공유하였습니다.
F# 커뮤니티에서 연재하는 주간 F#에서 더욱 풍부한 F# 콘텐츠를 확인해보세요.
Xamarin 소식
- What Xamarin developers ought to know to start 2017 : James Montemagno가 2017년 Xamarin 개발자가 알아야할 팁을 공유했습니다.
- Xamarin Alpha Preview 7: Cycle 9 : Adrian Murphy가 Xamarin Alpha Preview 7 버전을 소개합니다.
- Webinar series: Xamarin University presents getting started with Xamarin : Bryan Costanich가Xamarin 입문을 위한 웨비나 시리즈를 공유하였습니다.
- The top 12 Xamarin blog posts of 2016 : Courtney Witmer가 2016년 최고의 Xamarin 블로그 포스팅 12개를 공유했습니다.
- Start the new year with Xamarin developer events : Jayme Singleton이 2017년 Xamarin 개발자 행사 일정을 공유했습니다.
- The Xamarin show: getting started with MVVM & snack pack 6: managing Android SDKs : James Montemagno가 MVVM을 소개하는 Xamarin show 그리고 snack pack의 6번째 시리즈인 "Android SDK 관리하기"를 공유했습니다.
- Securing Mac application with Touch ID : Prashant Cholachagudda가 Xamarin.Mac app에서 new Macbook Pro에 등장한 지문 인식 Touch ID를 구현하는 방법을 공유하였습니다.
- Jumpstart your Xamarin app development : Sam Basu가 모바일 앱 개발을 위한 Xamarin 환경 구축 방법을 소개합니다.
- Designing a responsive music player in sketch (Part 1) : Christian Krammer가 Mac의 sketch 디자인 툴을 이용해 뮤직 애플리케이션을 디자인 해보는 교육 과정을 공유하였습니다.
- Multi-targeting the world: a single project to rule them all : Oren Novotny가 Visual Studio 2017의 멀티 타겟 기능과 NET Standard Librarie 프로젝트 그리고 PCL의 차이점을 비교하여 설명합니다.
- Adding databound pickers to a ListView : Jesse Liberty가 리스트뷰에 databound picker를 포함시키는 방법에 관해 설명합니다.
Azure 소식
- Azure Mobile Apps .NET SDK releases : Adrian Hall이 Azure Mobile SDK 릴리즈 소식을 공유했습니다.
- Announcing the Azure Tools Extension for Visual Studio Code : Brady Gaster가 Visual Studio Code의 Azure Tools Extension 발표 소식을 공유했습니다.
- Create you first ASP.NET Core App and host it in a Linux Docker container on Microsoft Azure Part 1, Part 2, and Part 3 : Malte Lantin이 완성된 ASP.NET Core App을 Azure 클라우드의 리눅스 도커환경에 호스팅 하는 방법을 세파트로 나누어 설명합니다.
- Azure Storage Queues new feature: pop-receipt on add message : Sercan Guler가 Azure Storage Queue의 새로운 기능 "pop-receipt on add message:메시지 추가시 트래킹 키 얻어오기"을 소개합니다.
UWP 소식
- Join us on Feb 8th for Windows Developer Day – Creators Update livestream : Windows Apps Team에서 Windows Developer Day 라이브 행사 소식을 공유했습니다.
- Adafruit Class Library for Windows IoT Core : Rick Lesniak가 여러 IoT 장비를 제어할 수 있는 라이브러리 패키지 Adafruit Class Library for Windows IoT Core를 소개합니다.
- Modern Apps – Exploring the UWP Community Toolkit : Frank La Vigne이 UWP 개발에 도움이 되는 샘플들을 포함한 UWP Community Toolkit을 소개합니다.
- Using custom fonts in C# UWP apps : Martin Zikmund가 C# UWP용 애플리케이션에서 사용자 폰트를 적용하는 방법을 설명합니다.
- Hitchhiking the HoloToolkit-Unity, Leg 9–Holes in the Walls : Mike Taulty가 HoloToolkit의 샘플인 "벽의 구멍 효과 활용하기"에 관해 설명합니다.
- Windows 10, UWP, IoT Core, SpeechSynthesizer, Raspberry PI and ‘Audio Popping’ : Mike Taulty가 Windows 10, UWP, IoT Core 플랫폼에서 사용 가능한 사운드 출력 기능인 "Audio Popping"에 관해 설명합니다.
Data 소식
- Paging with Entity Framework Core : Gunnar Peipman이 Entity Framework Core를 이용한 페이징 데이터 처리 방법을 설명합니다.
- What’s New in Entity Framework Core 1.1 : Ricardo Peres가 Entity Framework Core 1.1의 새로운 변경 사항을 공유했습니다.
Games 소식
- Unity Navigation – Part 1 : Stacey Haffner가 Unity Navigation을 사용하여 포인트 앤 클릭 스타일의 움직임을 캐릭터에 추가하는 방법을 소개합니다.
- How I taught people to play my game in 8 steps : 아이튠즈 앱 스토어에서 5.0 평점을 받았으며 터치 아케이드의 2016년 TOP10 게임 중 하나로 평가 받고 있는 Zombie King의 성공 비결 8 가지가 공유되었습니다.
- Character design – some tips and tricks : Chris Hildenbrand가 캐릭터 디자인에 도움이 되는 팁 & 트릭을 공유했습니다.
- Angry Birds is so successful and popular: a cognitive teardown of the user experience : Charles Mauro가 앵그리버드의 인기 비결에 대한 자신의 의견을 공유했습니다.
- Developer perspectives: lessons from E McNeill : 오큘러스 VR 게임 대회 우승자 E McNeill가 VR 프로젝트 경험을 공유했습니다.
- Why adventure games rock – Part 1 : Bryce Covert가 모험 게임의 인기 비결을 설명합니다.
- Curated #UnityTips No. 28 by DevDog January 2017
- Unity UFPS tutorial: enemy hit & damage animation : Jay AnAm가 Unity 확장 아이템 UFPS (Ultimate FPS) 활용 방법에 관해 설명합니다.
주간닷넷은 .NET Blog에서 매주 발행하는 The week in .NET을 번역하여 진행하고 있으며, 한글 번역 작업을 오픈에스지의 송기수 전무님의 도움을 받아 진행하고 있습니다.
Comments
- Anonymous
February 07, 2017
The comment has been removed