최근 포스트

[C#] default

June 14 2021

default 연산자 default 키워드는 해당 변수 타입의 기본 또는 빈 상태를 반환 참조 형식(class, delegate, …)의 default 값: null 값 형식 (struct, enum, …)의 default 값: all-zeroes value int 0, DateTime 0001-01-01 00:00:0...

[C#] Blittable과 Unblittable

June 14 2021

Managed vs. Unmanaged Code Unmanaged code란 컴퓨터 구조, 프로세서에 특화되어 그에 의존하는 코드 C#에서는 unsafe 키워드를 이용하는 코드 프로그래머에 의해 직접 관리 Managed code란 .NET 프레임워크에서 구동하는 C# 코드 자체 ...

[C#] lock

June 04 2021

lock 키워드 개체에 대한 뮤텍스를 획득하고 signal과 unlock을 실행

[Unity] DontDestroyOnLoad

June 03 2021

DontDestroyOnLoad 새로운 Scene이 로드될 때, 자동으로 파괴되지 않는 target 오브젝트를 생성 새 레벨이 로드되면 Scene의 모든 오브젝트들은 파괴되고, 새 레벨의 오브젝트들이 로드된다. 레벨 스위치 중에 오브젝트를 보존하기 위해 DontDestroyOnLoad 사용 해당 오브젝트가 component이거나 gam...

[C#] sealed

March 16 2021

sealed 키워드 클래스에 적용된 경우 다른 클래스가 해당 클래스에서 상속하는 것을 막음

[C#] unsafe

March 15 2021

C# 포인터 C# 대부분의 코드는 확인할 수 있는 안전한 코드 .Net 도구에서 코드가 안전한지 확인 가능 원시 메모리를 할당하지 않고, 포인터로 직접 메모리에 엑세스하지 않음 경우에 따라 앱의 성능을 향상 포인터가 필요한 네이티브 함수를 호출하는 경우 필수 보안 및 안전성 이슈 발생...

[C#] async와 await

March 12 2021

동기와 비동기 동기 어떤 operation을 실행시켰을 때 결과값이 도출될 때까지 프로그램은 멈춰서 기다려야 함 비동기 언제 값이 도출될 지 보장할 수 없고, 그 동안 프로그램은 다른 프로세스를 진행할 수 있음 async / await는 위 중 비동기 프로그래밍을 위해 사...

[C#] Extension Method

March 08 2021

확장 메서드란 기존 제공되는 클래스/구조체/인터페이스의 구현을 직접 변경하지 않고 기능을 확장해 사용 기존 데이터 타입 (int, float 등)의 class에도 적용 가능

[Unity] Image Compressing

March 04 2021

이미지 압축 PNG/JPG 등으로 압축했더라도 GPU 메모리에 저장할 때는 압축이 풀린 상태로 저장 GPU가 이 파일을 그대로 읽어들일 수 없기 때문 대역폭 사용량에 초점을 맞춘 파일 형식 GPU가 텍스쳐로 쓰기 위한 압축 형식이 아님 가변 비율 인코딩을 수행하기 때문 ...