본문 바로가기

core7

.Net - Easy to make log file Console App 콘솔 앱에서 로그파일을 만들수 있는 방법은 많다. 직접 로그 용도의 함수을 만들어서 파일에 쓰는 방식으로 할 수 있지만, 매번 반복적으로 개발을 해야 한다면, 라이브러리를 쓰는게 가장 효율적일 것이다. 여기에서는 .NET core 에서 많이 사용되는 Serilog라는 라이브러리를 이용하여 쉽게 Log File을 만들수 있는 방법을 소개하도록 하겠다. 먼저 Visual Studio를 실행하여 .Net core 용도의 콘솔 앱을 생성한다. 1. Serilog 추가 그리고 Serilog.Sinks.RollingFile을 추가하도록 하자. 현재는 Serilog.Sinks.File 로 포함되어 관리되고 있으므로, Serilog.Sinks.File 을 설치해도 무방하고, RollingFile 역시 동작에 문제가 없.. 2020. 12. 19.
C#7.0 - switch에 유연한 패턴 일치 사용 switch는 용어와 맞게 중복되지 않는 조건, 즉 유일 조건을 비교하는 용도로 사용한다. 그런데 만약 문자열의 특정 조건으로 switch를 사용하고 싶다면 어떨까? C#7.0(.NET core 3.1) 에서는 문자열 검색 조건을 switch에서 사용할 수 있다. 방법은 when 키워드를 이용해서 조건의 추가가 가능하다. 사용 방법은 다음과 같다. string mesg = "allmnettest"; switch(mesg) { case string b when b.StartsWith("test"): Console.WriteLine("case2"); break; case string a when a.StartsWith("test"): Console.WriteLine("case1"); break; defaul.. 2020. 12. 10.
.NET - 코드 난독화 .NET 코드는 디컴파일러를 통해 쉽게 복호화가 가능하다. 필자 역시 .NET을 이용하여 코드를 많이 작성하는데, 간혹 비밀키가 들어갔거나 암호화가 필요할 때 난독화를 항상 고민한다. .NET 에서 사용할 수 있는 난독화 도구는 필자 기준으로 추천한다면, .NET기준 현재 유용한 도구는 Eazfuscator.NET이다. .NET 기준 디컴파일러로 가장 많이 손쉽게 이용되는 ILSPY를 통해 Eazfuscator.NET 을 이용하여 암호화 전/후를 비교해 보면 쉽게 차이를 알 수 있다. ILSPY https://github.com/icsharpcode/ILSpy/releases/tag/v6.2.1 Release ILSpy 6.2.1 · icsharpcode/ILSpy This is a bugfix rele.. 2020. 12. 7.
.Net/core - make service for auto-start when boot on Ubuntu youtu.be/1akt--pYvfs 오늘은 Ubuntu 서버에 실행한 .Net/Core Application을 서비스로 등록해 상태를 관리하거나 서버 재시작시 자동으로 실행이 가능하도록 만들어 보자. 1. Prepare make Service 서비스를 만들기 전에 체크해야 하는 부분이 3가지가 있다. 1. Check to path of dotnet command 2. Check to path about application of dotnet 3. Test to running for user permission .Net/Core를 실행할 때 필수로 필요한 요소가 위 3가지 이다. 먼저 dotnet command가 설치된 위치를 확인하자. 기본적으로 패키지 설치를 진행했다면, Ubuntu기준으로 /usr/.. 2020. 11. 12.
.Net/C#/Core - How to Get Client IP on HTTP .Net Core를 개발하면서 기존 C#과 앞으로 .Net core(.Net)에서 어떻게 다른지 정리하는 글을 남긴다. 클라이언트 IP를 가져올때 주의할점은 프록시 서버를 이용하는 경우를 대비해서 X-Forward-For 헤더를 확인할 필요가 있다는 것이다. X-Forward-For 는 아래 글에 잘 정리되어 있는데, 현재 전송된 HTTP 패킷이 어떤 프록시 서버를 거쳤는지, 그리고 실제 Client IP는 무엇인지 확인이 가능한 헤더이다. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For X-Forwarded-For The X-Forwarded-For (XFF) header is a de-facto standard hea.. 2020. 11. 10.
.NET core 3.1 - ActionLink glyphicon 사용하기 Action Link를 통해 glyphicon을 이용하여 아이콘을 사용하고 싶을때 찾은 방법을 정리한 글이다. 1. CSS 및 폰트 추가 기본적으로 Bootstrap 4.x 버전부터는 라이센스 이슈로 glyphicon이 기본적으로 들어가 있지 않다. 그리고 .Net core 3.1 버전 이상부터는 기본적으로 BootStrap 4.x 이상을 사용한다. 하여 css와 폰트를 추가해 줘야 한다. 아래 링크에서 다운로드가 가능하다. https://github.com/Darkseal/bootstrap4-glyphicons Darkseal/bootstrap4-glyphicons How use Glyphicons with Bootstrap 4 (without getting mad) - Darkseal/bootstra.. 2020. 11. 9.
.Net core에서 .Net 5로 변화, Core, Framework 통합 .Net을 사용하는 개발자중 하나로써 Windows환경 귀속이 많이 아쉬웠는데, Microsoft에서 구상하는 그림이 점점 다가오는것 같습니다. 현재 .Net core가 3.1 버전까지 개발이 되어 공개된 시점입니다. 처음 .Net core 1.0이 발표되었을때 호환성이 너무 부족해서 쓰기 힘든 언어라, 얼리 어뎁터 들만 접하는 언어였죠. 그랬던 .Net core 가 3.1에서는 C# 의 대부분의 기능을 수용하고, 기존 라이브러리도 동일하게 사용이 가능합니다. 아마 C#을 사용해 보신 분은 아시겠지만, NewtSoft의 JSON은 C#에서 JSON 관련 라이브러리로 오래 사용되었는데 이를 .Net core 3.1 에서 완벽한 호환성으로 사용할 수 있습니다. https://www.youtube.com/wa.. 2020. 10. 30.