Computer Science/CPP, C#(4)
-
CPP26 공식 채택
ISO 위원회가 CPP26을 발표했습니다. 물론 위대한 클로드님과 제미나이님께서 개발자들을 대체하는 상황에서 의미가 있겠나 싶지만.... 쨋든 혁신적이라면 아주 혁신적인 내용이 대거 포함되어 있습니다. Reflection대충 언어가 자기 자신을 기술하고, 그 정보를 바탕으로 코드를 생성할 수 있게 되었습니다. 그니까 정확히 무슨소리냐면, Serialization같은걸 예전에는 매크로나 Qt MOC등에 던져서 했다면 이제는 언어 자체가 이걸 수행한다는 얘기입니다. 쉽게 말하면 프로그램이 자기의 구조(type, field, function 등)을 Introspection(자기 관찰)할 수 있게 되었다는 겁니다. 사실 예전에는 Reflection이라고 해봤자 RTTI(Run TIme Type Informati..
2026.03.31 -
CPP와 디자인 패턴
CPP 강의를 만들다가, DP 부분은 도움이 될 것 같아 공개적으로 PPT를 업로드합니다. 추상 팩토리, 프로토 타입, 싱글톤, 어뎁터, 컴포짓, 데토레이터, 파사드, 옵저버, 스테이트 패턴에 대해서 개념을 알아보고 대걍 코드로 작성한 것입니다. 많은 분들에게 도움이 되기를 바랍니다.
2025.07.01 -
CPP와 ASM
사실 컴퓨터 구조 시간에 충실히 수업을 들은 분들이라면, 굳이 입 아프게 설명할 필요는 없지만.. 어쨋든 필요하신 분이 있을 것이라 추측되어, CPP 강의에 사용된 PPT중 일부를 업로드 했습니다. Volatile, Disassembly, CA에 대해서 간단하게 다뤘으므로, 겉핥기로나마 배우고 싶으신 분들에게 도움이 되길 바랍니다.
2025.07.01 -
[C#] Thread, Task, Coroutine
Thread : 프로세스 보다 작은 실행 단위, 그래서 우스갯 소리로 서브 프로세스라고 한다. 하나의 프로세스 안의 여러 스래드가 메모리를 공유하여 코드를 실행한다. 물론 여기서 발생하는 문제가 상당히 많다...Task : 원래는 비동기 작업을 추상화해서 만든 클래스이다. 다만 안에서 내부적으로 Thread의 Pool을 만들어서 (Object Pooling 패턴 참고.) 작업을 처리하게 되므로, 쓰레드에 비해서 개발자가 지지고 볶을 필요가 없게 되었다. 더불어 Await/Async를 지원하기에 비동기 프로그래밍을 구현한다. 스레드와 테스크의 메서드나 플래그에 대해서는, 다른 블로그에서 아주 친절하고 자세하게 설명하고 있으므로 생략한다. 다만 이 포스트에서는 Thread를 사용할 때의 몇가지 유의사항에 대..
2025.07.01