C# 12

nginx reverse proxy

sudo vim /etc/nginx/nginx.conf 또는 sudo vim /etc/nginx/sites-available/default 명령어로 nginx configuration을 수정할 수 있다. 수정한 뒤에는 sudo systemctl reload nginx 명령어로 reload를 시켜줘야 한다. 참고로 conf 파일이 잘못되었을 경우 reload가 실패하고 nginx는 기존 설정 그대로 동작한다. 즉, stop하고 start하는 것보다, reload 한 번 하는 것이 더 안전하다. reload 하지 않고 그냥 configuration 문법이 제대로 지켜졌는지만 확인하고 싶다면 sudo nginx -t를 입력하면 된다. a@DESKTOP-NSB:~$ sudo nginx -t ng..

C# 2025.08.25

Get euc-kr in .NET 8.0

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);Encoding euckr = Encoding.GetEncoding("euc-kr"); .NET Framework 4.8.1에서는 Encoding.GetEncoding("euc-kr");만 쓰면 된다. 하지만 .NET 8.0에서는 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);을 쓰지 않을 경우, GetEncoding 호출 시 다음과 같은 exception을 발생시킨다. System.ArgumentException: 'euc-kr' is not a supported encoding name. For information on def..

C# 2025.08.15

Dynamically replace the contents of a C# method?

https://stackoverflow.com/a/42043003/14367566 Solve(int n, DEvent callback) { ..." data-og-host="stackoverflow.com" data-og-source-url="https://stackoverflow.com/a/42043003/14367566" data-og-url="https://stackoverflow.com/questions/7299097/dynamically-replace-the-contents-of-a-c-sharp-method" data-og-image="https://blog.kakaocdn.net/dna/b1nfIX/hyZygOZGMP/AAAAAAAAAAAAAAAAAAAAABC8mQ18NsFSv9WftT-hVSQEVkHfxOoEMMR6eX4kps_W/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1777561199&allow_ip=&allow_referer=&signature=svLGVuLSDUfx3%2BUpVNLIu0bbiRg%3D

C# 2025.08.14

[C#] IEnumerable<int>, IEnumerator<int> 구현하는 방법

.NET Framework 4.8.1 기준으로 작성됨. 문제foreach(var x in new PrimeRange(a, b))Console.WriteLine(x); 라는 코드가 a보다 크거나 같고 b보다 작거나 같은 모든 소수를 출력하는 코드가 되도록 class PrimeRange를 구현하시오. 해답 #1내가 만든 class를 foreach문에서 돌릴려면 IEnumerable 인터페이스를 구현해줘야 한다. IEnumerable를 구현하는 PrimeRange class를 만들고 그 안에 IEnumerator를 구현하는 class를 집어넣었다.using System;using System.Collections;using System.Collections.Generic;using System.Diagnos..

C# 2025.07.11

ValueTuple은 .NET Framework 4.6.2에선 지원하지 않는다.

https://learn.microsoft.com/en-us/dotnet/api/system.valuetuple ValueTuple Struct (System)Provides static methods for creating value tuples.learn.microsoft.com이 문서를 보면 ValueTuple은 .NET Framework 4.7부터 지원한다. https://learn.microsoft.com/en-us/dotnet/api/system.tuple Tuple Class (System)Provides static methods for creating tuple objects.learn.microsoft.com그에 반해 Tuple은 .NET Framework 4.0부터 지원한다. ..

C# 2025.05.13

csc로 라이브러리 만들기

■ 라이브러리 만들 때 접근 제한자 주의 dll로 만들고자 하는 소스 파일의 클래스 제한을 public으로 바꿔줘야 한다. 앞서서 LogWriter.cs 모양은 아래와 같았음 Program.cs using System; class Program { static void Main(string[] args) { LogWriter logWriter = new LogWriter(); logWriter.Write("start"); } } LogWriter.cs using System; class LogWriter { public void Write(string txt) { Console.WriteLine(txt); } } class LogWriter 앞에 접근 제한자가 명시되어 있지 않지만, 이런 경우 inter..

C# 2022.12.09