일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- convert
- windows
- C#
- chashtag
- windows10
- mysql
- 코딩테스트
- programmers
- git
- Github
- commit
- Visual Studio
- csharp
- coding-test
- WPF
- algorithm
- log
- Binding
- string
- tls
- Coding
- ListView
- IValueConverter
- Microsoft
- .net
- nullable
- File
- Process
- logging
- dotNET
- Today
- Total
목록전체 글 (144)
CHashtag
안녕하세요. asp.net (혹은 core) 에는 3가지 Life cycle이 존재합니다. Life cycle은 무엇이며, 어떤 경우에 적절한지 한번 알아봅시다. Web Server에서의 Life Cycle기본적으로 Server는, Request를 받고, Response를 내보내 줍니다.수많은 Request들을 처리하게 되는데, 이 때 DI는 필수적이죠.매번 새로운 객체를 생성하는 것이 불필요한 경우도 있고, 내부 변수를 다른 Request와는 절대 공유해서는 안되는 경우도 있을 수 있습니다. 또는, 하나의 Request내에서만 공유되도록 하고싶을 수도 있죠. AddSingleton()말 그대로 Inject될때 최초 만들어둔 singleton 객체로 생성됩니다.장점이자 단점은, 매번 동일한 객체를 반환..
안녕하세요. 저는 약 2년 전부터 프리다이빙을 시작하였습니다. 최근 아바타2가 개봉하고, 해외여행에 대한 수요가 늘어나면서 프리다이빙에 대한 관심도가 급격히 늘어난 것을 느낄 수 있었습니다. (요즘 다이빙장이 정말 북적북적 하거든요 ㅎㅎ) 그러나, 아직까지도 프리다이빙은 일반인에게는 많이 생소한 스포츠이고, 어떻게 시작하고, 어떤것을 준비해야 하는지 막막한 경우가 많습니다. 그래서, 제가 프리다이빙을 시작할 때 겪었던 궁금증들과, 제 지인들과 얘기를 나눌 때 흔히들 잘못 알고있는 사실에 대해 얘기해볼까 합니다. Q. 저는 수영을 못해요. 저도 수영은 잘 못합니다. 심지어 물을 정~~말 무서워 합니다. 일반적으로 프리다이빙은 오리발을 착용하고 물 속으로 잠수하여 들어가는 스포츠입니다. 또한, 오리발을 착용..
안녕하세요. 오늘은 복권번호를 생성하는 방법에 대해 알아보도록 하겠습니다. using System; public class Program { public static void Main() { int[] lottoNumbers = new int[6]; Random rand = new Random(); for (int i = 0; i < lottoNumbers.Length; i++) { int newNumber = rand.Next(1, 46); while (lottoNumbers.Contains(newNumber)) { newNumber = rand.Next(1, 46); } lottoNumbers[i] = newNumber; } Array.Sort(lottoNumbers); Console.WriteLin..
C#에서 "!!"는 parameter null check 기능으로 사용되는 연산자입니다. 이 연산자는 parameter 값이 null인지 아닌지를 판단하는 기능을 수행합니다. "!!" 연산자는 다음과 같이 사용됩니다. string myString = null; bool isNotNull = !!myString; 위의 코드에서는 myString이 null이므로 isNotNull 변수에 false 값이 할당됩니다. 만약 myString에 문자열이 할당되어 있다면 isNotNull 변수에 true 값이 할당됩니다. C#에서는 null check를 위해 if문을 사용하는 것이 일반적입니다. 하지만 "!!" 연산자를 사용하면 코드를 간결하게 작성할 수 있으며 가독성도 높일 수 있습니다. if(myString !=..
WPF의 Listview는 많은 데이터를 표시할 수 있도록 도와주는 UI 요소 중 하나입니다. 이전에는 SelectedItems 속성을 바인딩하는 것이 불가능했지만, 최신 버전의 WPF에서는 Command로 처리할 수 있도록 업데이트되었습니다. 이번에는 Prism 라이브러리를 이용하여 Mvvm 패턴을 적용한 예제를 살펴보겠습니다. Prism은 MVVM 패턴을 구현하는 데 도움이 되는 많은 기능을 제공합니다. 우선, Prism 라이브러리를 사용하려면 NuGet 패키지 관리자에서 Prism.Core 패키지를 설치해야 합니다. 설치 후, ListView와 Command를 바인딩하는 방법을 알아보겠습니다. ListView의 Behaviors 클래스 가져오기 xmlns:i="http://schemas.micros..
WPF에서 Converter를 사용하여 bool의 반대값을 binding하는 방법은 매우 간단합니다. Converter는 데이터를 변환하는데 사용되며, 이를 사용하면 XAML 코드에서 데이터 변환을 수행할 수 있습니다. Converter를 사용하여 bool의 반대값을 binding하는 예제를 보여드리겠습니다. 먼저, Converter 클래스를 작성합니다. 이 클래스는 IValueConverter 인터페이스를 구현해야 하며, Convert와 ConvertBack 메서드를 구현해야 합니다. 다음과 같이 작성할 수 있습니다. using System; using System.Globalization; using System.Windows.Data; namespace MyConverter { public clas..
안녕하세요. JWT란? JWT는 인증과 정보 교환을 위한 안전한 방법을 제공하는 토큰 기반의 개방형 표준입니다. JWT는 세 부분으로 구성되어 있습니다. 헤더(header), 내용(payload), 서명(signature)으로 이루어져 있으며 각각은 Base64Url로 인코딩되어 하나의 문자열로 만들어져 전송됩니다. Header : JWT의 타입과 사용하는 해시 알고리즘 등의 정보를 포함합니다. Payload : 토큰에 포함할 클레임(Claim) 정보를 담습니다. 클레임이란 사용자 정보, 권한 정보 등을 의미합니다. Signature : 헤더와 페이로드, 비밀키를 조합하여 생성된 서명값으로, 토큰의 변조 여부를 검증합니다. JWT 암호화하기 C#에서 JWT를 암호화하는 방법은 다음과 같습니다. using..
C#에서의 BigIntegers는 매우 큰 정수를 표현하기 위한 자료형입니다. 일반적인 정수형이 다룰 수 있는 범위를 넘어서는 수치 데이터를 다루기 위해서 사용됩니다. 이번 글에서는 C#에서 BigIntegers에 대해 설명하며, 이 자료형이 실제로 무한한 값을 저장할 수 있는지에 대해 살펴보겠습니다. 또한 BigIntegers의 내부 구현 방식에 대해서도 알아보겠습니다. BigIntegers란 무엇인가요? C#의 BigIntegers는 매우 큰 정수를 표현하기 위한 자료형입니다. 이 자료형은 .NET Framework 4.0 이상에서 사용할 수 있으며, 다른 정수형 자료형과 마찬가지로 System.Numerics 네임스페이스에서 제공됩니다. BigIntegers는 다음과 같은 방법으로 생성할 수 있습니..
안녕하세요. Swagger는 RESTful API를 문서화하고 테스트하기 위한 프레임워크입니다. Swagger를 사용하면 API 사용자들이 API의 구성 요소, 작동 방식 및 입력/출력 매개변수 등을 이해하기 쉬워지므로 개발자들 사이에서 매우 인기가 있습니다. 자 그럼, swagger를 사용하는 방법에 대해 알아보도록 하겠습니다. (visual studio에서 asp.net core 프로젝트 생성시에 swagger사용하기를 클릭하면 자동으로 생성되나, 이 글에서는 직접 swagger를 사용하는 방법에 대해 다룹니다.) Swagger 패키지 설치하기 Swagger를 사용하려면 먼저 NuGet 패키지 매니저를 사용하여 Swashbuckle.AspNetCore 패키지를 설치해야 합니다. 이 패키지는 Swagg..
안녕하세요. 오늘은 내용이 짧으니 바로 본론으로 들어가 보겠습니다. 다양한 방법이 존재하는데요, 그 중 상황에 맞는걸 선택하시면 좋을 것 같습니다. using System.Globalization; int number = 100000000; Console.WriteLine(string.Format("{0:n0}", number)); // 100,000,000 Console.WriteLine(number.ToString("N0", new CultureInfo("ko-KR"))); // 100,000,000 Console.WriteLine(number.ToString("#,#", new CultureInfo("ko-KR"))); // 100,000,000 Console.WriteLine(string.Form..