# dotnet

4개의 글
thumbnail

.NET 배열 공변성으로 인한 성능 고려사항

공변성(Covariance)은 어려운 용어처럼 들리지만, '따라서 같이 변할 수 있는 성질'이라는 간단한 의미이다. 예를 들어 A라는 타입이 B라는 타입으로 바뀔 수 있을 때, 여기에서 파생되는 C<A> 타입이 C<B> 타입으로 ...

thumbnail

.NET Sealed 클래스 성능 고려사항

C#에는 더 이상 상속할 수 없음을 나타내는 sealed 키워드가 있다. 프레임워크처럼 다른 개발자가 내 클래스를 사용할 때 잘못된 확장을 막기 위해 sealed를 붙여 상속을 차단할 수 있다. 다만 .NET 디자인 지침에서는 확장성을 위해 굳이 se...

thumbnail

.NET에서 DateTime 후킹으로 시간 속이기

개발하다 보면 테스트 목적으로 시간을 변경해야 하는 필요가 생길 때가 있다. Windows 경우 보통 제어판에서 시간을 바꿀 수 있고, 실행되어있는 프로그램에도 바로 바뀐 시간이 적용된다. 하지만 회사 정책으로 시간 변경이 막혀있거나, 실행 중인 서버...

thumbnail

.NET ReadyToRun 바이너리의 symstore 심볼 서버 업로드 문제

.NET의 배포 방식과 실행 환경은 다양해서 나중에 따로 글을 써서 정리 한번 하려고 한다. 원래대로라면 .NET의 코드는 JIT(Just-in-Time) 컴파일러에 의해 런타임에 네이티브로 컴파일 된다. 하지만 ReadyToRun 방식으로 배포를 하...