coding 215

.net global.json

https://docs.microsoft.com/ko-kr/dotnet/core/tools/global-json?tabs=netcore3x global.json 개요 - .NET CLI .NET CLI 명령을 실행할 때 global.json 파일을 사용하여 .NET SDK 버전을 설정하는 방법을 알아봅니다. docs.microsoft.com global.json 파일을 사용하면 .NET CLI 명령을 실행할 때 어떤 .NET SDK 버전을 사용할지 정의할 수 있습니다. .NET SDK를 선택하는 것은 프로젝트가 대상으로 하는 런타임을 지정하는 것과는 별개입니다. .NET SDK 버전은 사용된 .NET CLI 버전을 나타냅니다. 일반적으로 최신 버전의 SDK Tools를 사용하려고 하기 때문에 global..

coding/asp.net 2021.12.29

C# FormsAuthenticationTicket

FormsAuthenticationTicket .NET Framework에 탑재된 System.Web.Security의 라이브러리를 사용하여 암호화하는 방법을 소개하겠습니다. 이번에 소개할 암호화 기법은 폼 인증에 이용되는 FormsAuthenticationTicket을 이용하는 방법에 대해서 설명하겠습니다. 이 암호화 기법의 특징은 대략 암호화가 이루어지면 길이가 300~400문자 이내로 구성됩니다. 쿠키에 적용하여 사용하면 많은 도움을 얻게 될 것입니다. https://yyman.tistory.com/227

coding/c# 2021.12.29

[C#] Request.ServerVariables 전체 값 확인 (URL, IP주소 등등)

https://ggmouse.tistory.com/75 [C#] Request.ServerVariables 전체 값 확인 (URL, IP주소 등등) Request Object인 ServerVariables Collection의 전체 값을 확인해보자 ServerVariables의 함수를 사용하여 IP주소, 도메인 주소 등 많은 요소들의 정보를 알아낼 수 있다. // 클라이언트(사용자) IP 주소 (xxx.x.. ggmouse.tistory.com ServerVariables의 함수를 사용하여 IP주소, 도메인 주소 등 많은 요소들의 정보를 알아낼 수 있다. // 클라이언트(사용자) IP 주소 (xxx.xxx.xxx.xxx) Request.ServerVariables["REMOTE_HOST"]; // 서버 ..

coding/c# 2021.12.29

NOLOCK

MSSQL 은 기본적으로 SELECT 시 공유잠금(S Lock) 이 걸린다. 이는 MSSQL 의 기본 격리수준(Isolation Level) 이 Read Committed 이기 때문이다. 즉, DML(INSERT, UPDATE, DELETE) 작업중인 ROW 또는 TABLE 에 SELECT 할 경우, 해당 작업이 끝나야 SELECT 할 수 있다는 의미이다. 만일 이렇게 수행된다면 DB의 성능은 떨어지고, 데드락(Deadlock) 이 발생될 수 있다. 이를 방지하기 위해 WITH(NOLOCK) 을 사용할 수 있다. WITH(NOLOCK) 의 격리수준(Isolation Level)은 Read Uncommitted 와 같다고 보면 된다. 즉, SELECT 할 ROW 또는 TABLE 이 잠겨있어도(작업중이여도)..

coding/mssql 2021.12.28

Encoding.UTF8.GetBytes

문자열을 Byte[] 배열로 변경하기 위해서는 System.Text.Encoding의 인코딩 방식을 지정한 후 GetBytes() 메소드를 호출하면 된다. String을 Byte[]로 인코딩 문자열을 Byte[] 배열로 변경하기 위해서는 System.Text.Encoding의 인코딩 방식을 지정한 후 GetBytes() 메소드를 호출하면 된다. 예를 들어, 유니코드 인코딩을 사용하여 Byte[]로 변환하는 경우, System.Text.Unicode.GetBytes() 메서드를 호출하고, UTF8 인코딩을 사용하는 경우, System.Text.UTF8.GetBytes() 메서드를 호출하면 된다. 예제 // String을 Char[]로 변환 string str = "Hello 한국"; char[] uchar..

coding/c# 2021.12.20

C# record? struct? class?

recorc, struct 불변타입 https://www.daveabrock.com/2020/07/06/c-sharp-9-deep-dive-records/ C# 9 Deep Dive: Records In a C# 9 deep dive, we go in depth on records. www.daveabrock.com C# 9에 record라는 class와 유사하고 또 struct와도 유사한 타입이 생겼습니다. 불변개체를 다루기 위한 타입인데, 사실 class또는 struct으로 이와 유사하거나 거의 동일하게 쓸수는 있습니다만, record타입을 추가해서 코딩량을 줄이고 불변개체사용을 유도하며 사실은 함수형 언어의 장점을 차용한 기능이라고 할 수 있겠네요. 간단히 사용해 본 결과 코드량이 줄고 record..

coding/c# 2021.12.20

C# 구조체와 클래스 차이

클래스와 구조체는 데이터 타입생성기 라는 점에서는 유사하지만, 구조체는 값타입이라는것과 클래스는 참조타입이라는 점에서 차이점이 있다. 구조체를 사용하는이유는 클래스 사용시에 참조로인한 시간적 비용적 낭비를 없애기 위해 사용한다. 구조체는 값타입이기에 직접적으로 메모리에 접근하므로 낭비를 막을수 있다. c#에서는 크기가 작고 단순한 함수들을 포함하는 선, 컬러 들과 같은 그래픽요소등을 구조체로 정의해두었다. 또한 구조체와 클래스의 다른점은 구조체는 상속자체가 불가능하다. struct Person { public int age; public long height; public float weight; public Person(int a, long h, float w) { age =a; height = h; ..

coding 2021.12.20