Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

주간닷넷 2017년 6월 6일

On .NET 소식 : Brett Morrison

지난 주 On .NET에는 사업가이자 기업의 임원이면서 Microsoft .NET 플랫폼으로 개발하는 Brett Morrison과 함께 했습니다. 그는 Onestop, ememories 등의 스타트업 회사를 설립했으며 SpaceX에서도 일한 경력이 있습니다.

금주의 패키지: DateTime Extensions

애플리케이션에서 사용하는 날짜와 관련된 계산은 대부분 간단하며 그리 복잡하지 않습니다. 하지만 “이번 달의 공휴일이 몇 일인가?”와 같은 계산은 조금 복잡합니다. 이런 경우 DateTime Extensions 프로젝트를 활용하면 도움을 받을 수 있습니다. 이 라이브러리는 현재 24개 문화권의 공휴일이 정확하게 설정되어 있고, 이를 계산에 이용할 수 있습니다.


DateTimeCultureInfo pt_ci = new DateTimeCultureInfo("pt-PT");
DateTime startDate = new DateTime(2011, 4, 21);

//21-04-2011 - start
//22-04-2011 - holiday
//23-04-2011 - saturday
//24-04-2011 - sunday
//25-04-2011 - holiday
//26-04-2011 - end

DateTime endDate = startDate.AddWorkingDays( 1, pt_ci);
Assert.IsTrue(endDate == startDate.AddDays(5));
  • DateTime Extensions Web site
  • DateTime Extensions on GitHub
  • DateTime Extensions on NuGet
  • Sample web site

.NET 소식

  • .NET Core and .NET Framework Working Together, Or: The Magic of .NET Standard : Jamie Taylor가 .NET Standard를 소개했습니다.
  • Announcing Reactive Extensions for .NET 4.0 Preview 1! : Oren Novotny가 .NET 4.0 Preview 1버전의 Reactive 확장기능을 소개했습니다.
  • The Coming .NET Renaissance : Aaron Stannard가 .NET 플랫폼의 비전과 가능성을 설명했습니다.
  • Choice amongst cross-platform .NET IDEs – VS Code, Visual Studio for Mac, JetBrains Rider : Scott Hanselman이 크로스 플랫폼 .NET용 개발 툴인 VS Code, Visual Studio for Mac, JetBrains Rider를 소개했습니다.
  • Array Pool : Christian Nagel이 .NET Core의 Array Pool을 소개했습니다.
  • Creating a simple key-value logger for an object graph : Daniel Wertheim이 오브젝트 그래프 정보를 표현하는 간단한 로깅기능 구현 방법을 설명했습니다.
  • The Fraternal Twins of Equals and GetHashCode : Tim Patrick이 같으면서도 다른 Equals()과 GetHashCode() 메서드를 설명했습니다.
  • .NET Core Support in dotConnect Providers and LinqConnect! : Devart에서 .NET Core에서 DB와 LINQ에서 사용할 수 있는 새로운 버전의 ADO.NET data provider의 릴리즈 했습니다.
  • Docker for .NET Developers (Part 1)An introduction to Docker for .NET developers : Steve Gordon이 “.NET 개발자를 위한 도커(파트1)-도커 소개”를 공유했습니다.
  • Docker for .NET Developers (Part 2) Taking a look at our first dockerfile and building an image for an ASP.NET Core API service : Steve Gordon이 “.NET 개발자를 위한 도커(파트1)-도커파일 다루어 보기와 ASP.NET Core API 서비스 이미지 만들기”를 공유했습니다.
  • Using Roslyn refactorings with OmniSharp and Visual Studio Code : Filip W가 OmniSharp과 Visual Studio Code에서 Roslyn의 리팩토링 기능 활용 방법을 설명했습니다.
  • Refactoring dependencies with Autofac Aggregate Services : Cecil Phillip가 Aggregate Service를 쉽게 구현할 수 있도록 도와주는 오픈소스 Autofac 프로젝트를 소개했습니다.
  • ClrMD Part 4 – What callbacks are called by my timers? : Nasarre Christophe와 Kevin Gosse가 “CLR MD” (Microsoft.Diagnostics.Runtime.dll)의 callbacks 함수 호출에 대해서 설명했습니다

ASP.NET 소식

  • IdentityServer4: New & Improved for ASP.NET Core : Dominick Baier가 ASP.NET Core용 IdentityServer4 서버의 향상된 기능을 소개했습니다.
  • Installing Asp.Net Core Docker For Windows : Sibeesh Passion가 윈도우에 ASP.NET Core Docker 설치방법을 설명했습니다.
  • Getting Started with ASP.NET Core JavaScript Services : Jason Taylor가 ASP.NET Core JavaScript Services를 소개했습니다
  • The Microsoft.AspNetCore.All metapackage is huge, and that’s awesome, thanks to the .NET Core runtime store : Andrew Lock이 .NET Core의 메타패키지(Microsoft.AspNetCore.All)를 설명했습니다.
  • Using ImageSharp to resize images in ASP.NET Core – Part 4: saving to disk : Andrew Lock이 “ASP.NET Core에서 ImageSharp을 이용한 이미지 resize 방법: 저장하기 – 파트4″를 공유했습니다.
  • Logging in ASP.NET Core – Connecting the pieces : Ibrahim Šuta가 ASP.NET Core에서 여러가지 로깅 방법을 설명했습니다.
  • The end of request validation : James Jardine가 ASP.NET의 Request Validation을 설명했습니다.
  • Post-Redirect-Get and TempData with ASP.NET Core : Gérald Barré가 ASP.NET Core의 Post-Redirect-Get(PRG) 패턴을 설명했습니다.
  • Conditional middleware based on request in ASP.NET Core : Paul Hiles가 사용자 요청에 따라 다른 미들웨어 호출하는(요청타입별 미들웨어 설정)기능을 설명했습니다.
  • Bypassing IIS Error Messages in ASP.NET : Rick Strahl이 IIS의 에러 메시지 원본의 출력 방법을 설명했습니다.
  • Using VS Code and ASP.NET Core? : Shawn Wildermuth가 “VS Code 를 활용한 ASP.NET Core 애플리케이션 개발” 학습 시리즈 정보를 공유했습니다.
  • Owin middleware in .NET Standard for Application Insights – part 2 : Piotr Stapp가 “.NET Standard의 OWIN(Open Web Interface for .NET)미들웨어” – 파트2를 소개했습니다.
  • ASP.NET Core Utils – nuget package available : Michal Dymel이 ASP.NET Core용 오픈소스 프로젝트 “AspNetCoreUtils”를 소개했습니다.
  • Implementing a silent token renew in Angular for the OpenID Connect Implicit flow : Damien Bowden이 Angular 환경의 클라이언트에서 OpenID 의 접속토큰 갱신 방법을 설명했습니다.

C# 소식

  • Practical C# – Select in LINQ : Andrea Angella가 학습 비디오 “C# 실무 : Select LINQ”를 공유했습니다.
  • Practical C# – Aggregate in LINQ : Andrea Angellaa가 학습 비디오 “C# 실무 : Aggregate LINQ”를 공유했습니다.
  • Practical C# – Sum in LINQ : Andrea Angellaa가 학습 비디오 “C# 실무 : Sum LINQ”를 공유했습니다.
  • Practical C# – Where in LINQ : Andrea Angellaa가 학습 비디오 “C# 실무 : Where LINQ”를 공유했습니다.
  • Strong Typing: a pattern for more robust and maintainable code : Jos Hickson이 Strong Typing 패턴을 소개했습니다.

F# 소식

  • Introducing Fable.Remoting: Automated Type-Safe Client-Server Communication for Fable Apps : Zaid Ajaj이 Fable.Remoting을 소개했습니다.
  • (Nearly) Everything You Ever Wanted to Know About F# Active Patterns : Hakka Labs에서 F#의 “Active Pattern” 학습 비디오를 공유했습니다.
  • F# Partiall-Applied Unions : Anthony Perez가 F#에서 Union을 부분적으로 적용하는 것에 대해 설명합니다.
  • Why you should use F# : .NET 개발언어 팀의 Phillip Carter와 Mads Torgersen이 F#의 장점을 설명했습니다.
  • Using Polly with F# async workflows : Mark Seemann이 비동기 애플리케이션에서 활용할 수 있는 Polly 라이브러리를 소개했습니다.
  • Encapsulation – C# vs F# vs Haskell, equivalent result : Ramón Soto Mathiesen이 C#, F#, Haskell 언어 각각의 “은닉화(Encapsulation)”기능을 공유했습니다.
  • Azure Functions tip: working locally with F# Scripts : Mathias Brandewinder가 로컬 F# 스크립트를 Azure Function에서 활용하는 방법을 공유했습니다.

VB 소식

  • Simple .NET Core application using VB.NET : Gunnar Peipman이 .NET Core용 VB.NET 애플리케이션의 개발 과정을 공유했습니다.

Xamarin 소식

  • Xamarin Stable Release: 15.2.2 Xamarin.Android, Xamarin.VS Hotfix : Bri Brothers가 15.2.2 Hotfix 릴리즈 정보를 공유했습니다.
  • Xamarin University To Host Free Webinars in June : Michael Domingo가 6월에 진행되는 Xamarin University의 무료 웨비나 정보를 공유했습니다.
  • New & Upcoming Xamarin Dev Days : Jayme Singleton이 Xamarin Dev Days 개발자 행사 정보를 공유했습니다.
  • Xamarin Podcast: Previewing Xamarin.Forms 3.0 : Pierce Boggan이 Xamarin 팟케스트 “Xamarin.Forms 3.0 미리보기”편을 공유했습니다.
  • Introducing ELXF: A UI Framework for Concise, Maintainable & Fast Programmatic UI’s for Xamarin.Forms : Lee Richardson이 Xamarin.Forms에서 활용할 수 있는 오픈소스 라이브러리 ELXF(EasyLayout.Forms)를 소개했습니다.
  • Introduction to Rest Web Services in Xamarin : Asfend Yar가 Xamarin에서 Rest Web Services 활용 방법을 설명했습니다.
  • Shared Components In Xamarin Forms : Asfend Yar가 Xamarin Form 에서 컴포넌트 공유방법을 설명했습니다.
  • View Sizing In Xamarin Forms : Asfend Yar가 모바일 환경의 View 크기설정에 대해서 설명했습니다.
  • A simple page-indicator for your android view-pager : Diego Ponce de León이 안드로이드 view-pager용 page-indicator 개발 방법을 설명했습니다.
  • Xamarin.Tip – Adding Dynamic Elevation to Your Xamarin.Forms Buttons : Alex Dunn이 동적 그림자효과(그림자의 높이가 변하는)가 적용된 커스텀 버튼의 구현 방법을 설명했습니다.
  • Xamarin.Tip – Mvvm Light and Dependency Injection : Alex Dunn이 Mvvm Light와 DI(Dependency Injection)의 활용방법을 공유했습니다.
  • Snack Pack 12: Getting Started with Visual Studio for Mac : James Montemagno가 “Snack Pack 12: Visual Studio for Mac 사용하기” 동영상을 공유하였습니다.
  • Text and Icons in Master/Detail Reveal Button on iOS : Matthew Soucoup이 iOS 의 마스터/디테일 화면의 텍스트, 아이콘 구성방법을 설명했습니다.
  • Things I Think Are Cool: Merge Conflict Podcast : Matthew Soucoup이 기술 팟캐스트 “Merge Conflict”을 소개했습니다.
  • Use Camera To Take Photo In Xamarin Forms : Adam Pedley가 Xamarin Forms에서 사진을 찍기 위한 카메라 활용 방법을 설명했습니다.
  • Xamarin Mobile Apps Continuous Integration and Delivery with Jenkins and HockeyApp : Junian Triajianto가 Jenkins와 HockeyApp을 활용한 Xamarin 애플리케이션의 CI/CD 구성 방법을 설명했습니다.
  • Trying Out Xamarin Live Player : Bryan Anthony Garcia가 Xamarin Live Player를 소개했습니다.
  • Ambient Properties in Xamarin.Forms : Nick Randolph가 Xamarin.Forms의 “Ambient” 속성을 설명했습니다.
  • Toolbar Navigation in Xamarin Forms : Jason Farrell이 Xamarin Forms의 Toolbar 구성방법을 설명했습니다.

Azure 소식

  • Solve production exceptions in no time with Application Insights Snapshots : Patrick van Kleef가 Application Insights에서 새롭게 선보인 Snapshots 기능을 설명했습니다.
  • Azure SQL Data Sync Refresh : Joshua Gnanayutham이 Azure SQL Data Sync 를 소개했습니다.
  • Diagnose sudden changes in your app behavior with a click! : Sharon Nakibly가 애플리케이션의 이상을 쉽고 빠르게 감지할 수 있는 Application Insights Analytics를 소개했습니다.
  • Streamlining Kubernetes development with Draft : Microsoft Azure팀의 Gabe Monroy가 Kubernetes 클러스터에 활용할 수 있는 오픈소스툴 Draft를 소개했습니다.
  • Azure via C# – Create Azure Blobs : Andrea Angella가 “C#을 이용한 Azure 클라우드 서비스 파일 전송 방법” 학습 비디오를 공유했습니다.
  • Building a JAMstack site with Hugo and Azure Functions : Henrik Lau Eriksson이 Hugo와 Azure Functions을 이용한 Serverless 웹 어플리케이션 개발을 소개했습니다.

UWP 소식

  • UWP and the evolution of touch development : Windows Apps Team에서 UWP 애플리케이션의 터치 이벤트 개발 방법을 소개했습니다.
  • Toolkits, Toolkits, Toolkits! : Windows Apps Team에서 UWP 용 오픈소스 툴킷(UWP Community Toolkit, Telerik UI for UWP) 을 소개했습니다.

주간닷넷은 .NET Blog에서 매주 발행하는 The week in .NET을 번역하여 진행하고 있으며, 한글 번역 작업을 오픈에스지의 송기수 전무님의 도움을 받아 진행하고 있습니다.

송 기수, 기술 전무, 오픈에스지
현재 개발 컨설팅회사인 OpenSG의 기술이사이며 여러 산업현장에서 프로젝트를 진행중이다. 입사 전에는 교육 강사로서 삼성 멀티캠퍼스 교육센터 등에서 개발자 .NET 과정을 진행해 왔으며 2005년부터 TechED Korea, DevDays, MSDN Seminar등 개발자 컨퍼런스의 스피커로도 활동하고있다. 최근에는 하루 업무의 대다수 시간을 비주얼 스튜디오와 같이 보내며 일 년에 한 권 정도 책을 쓰고, 한달에 두 번 정도 강의를 하면 행복해질 수 있다고 믿는 ‘Happy Developer’ 이다.

Share the post

주간닷넷 2017년 6월 6일

×

Subscribe to Msdn Blogs | Get The Latest Information, Insights, Announcements, And News From Microsoft Experts And Developers In The Msdn Blogs.

Get updates delivered right to your inbox!

Thank you for your subscription

×