스마트 포인터에 대해서
메모리 관리를 자동화하는 C++의 객체 일반적인 원시 포인터(raw pointer)와 달리 소멸자가 호출될 때 자동으로 동적 메모리를 해제 C++에서는 std::unique_ptr, std::shared_ptr, std::weak_ptr 등의 스마트 포인터가 제공 스마트 포인터의 활용으로 메모리 누수(memory leak)를 방지하며,...
메모리 관리를 자동화하는 C++의 객체 일반적인 원시 포인터(raw pointer)와 달리 소멸자가 호출될 때 자동으로 동적 메모리를 해제 C++에서는 std::unique_ptr, std::shared_ptr, std::weak_ptr 등의 스마트 포인터가 제공 스마트 포인터의 활용으로 메모리 누수(memory leak)를 방지하며,...
동시성 (Concurrency) 논리적인 개념 하나의 프로세스 안에서 여러 서브태스크를 매우 빠르게 번갈아 실행해 마치 동시에 실행되는 것처럼 동작하는 것 CPU가 한 순간에는 하나의 작업만 함. 대개 멀티 스레딩 혹은 비동기 프로그래밍(Async/Await)을 사용해 구현됨. 병렬성 (Parallelism) 물리적인 개념...
동기/비동기는 “결과 반환 시점”에 대한 개념이고, 블로킹/논블로킹은 “Thread가 그 사이에 대기하는가”에 대한 개념으로 볼 수 있다. 동기(Synchronous) vs. 비동기(Asynchronous) 동기 (Synchronous) 동기 방식에서는 하나의 작업이 완전히 끝난 후에야 다음 작업을 실행한다. 즉, 이전 작...
.NET에 대해서 .NET은 Microsoft에서 개발한 소프트웨어 개발 프레임워크 및 런타임 환경으로, 다양한 플랫폼에서 애플리케이션을 개발하고 실행할 수 있도록 설계되었다. .NET 5 (이후 버전) 부터는 기존 .NET Core 라인과 .NET Framework 일부 기술들을 통합 ∙ 재설계해, 단일 .NET 브랜드로 발전해왔다. .NET...
9월 11일 오후 4시 알쓸유잡 : 유니티 스크립터블 오브젝트☁️ 위 글은 유니티에서 공식으로 제공하는 E Book을 기반으로 제가 번역, 공부하며 정리한 자료를 글로 남긴 것입니다. Scriptable Object란 무엇인가? 기본적으로는 데이터 컨테이너 동일한 데이터를 다양한 객체가 복제해서 가...
아이언맨 1에서 본 AI, 그리고 개발자의 방향성 영화 <아이언맨 1>에서 집으로 돌아온 토니는 새로운 슈트의 테스트 중 맞닥뜨린 문제의 해결을 자신의 AI 비서 ‘자비스’와 논의한다. (당시 영화 자막으로 ‘결빙 문제’라고 본 기억이 있다.) 이 장면에서 토니는 자신이 문제를 해결하는 주체가 된다. AI 비서인 ‘자비스’는 이를 옆...
UI에 걸맞는 MVC, MVP, MVVM 패턴 본 글은 위 영상을 참고하여 만든 정리본임. MVC, MVP 그리고 MVVM S/W의 UI 개발에 사용되는 패턴 모두 UI와 로직의 분리가 목적인 패턴들 불필요한 종속 관계를 줄인다. SoC(Separation of Concerns, 관심사 분리) 측면 아키텍처 패턴...
Attribute C# 코드에 추가할 수 있는 메타 데이터 메타 데이터 코드 자체에 대한 정보 데이터 안의 데이터로 Attribute, Reflection을 통해 얻는 정보 [Obsolete] 더 이상 사용하지 않는 코드에 대해 경고를 남길 때 사용한다. 위와 같이 IDE에서 경고를 인식할 수 있도록 도와주기도 하며, ...
Reflection 모든 타입은 내부에 다양한 데이터가 있다. Reflection은 이런 타입의 데이터를 런타임 중에 동적으로 볼 수 있는 강력한 기능을 제공한다. 이를 통해 해당 타입의 프로퍼티, 메서드, 필드 이벤트 등을 확인할 수 있다. 프로세스 Reflection에 대해 알아보기 전에, 프로세스의 구조에 대해 먼저 짚고 넘어가자. ...
LINQ (Language INtergrated Query) C#과 .NET 환경에서 사용할 수 있는 데이터 쿼리 언어 컬렉션이나 데이터 소스에 대해 SQL과 유사한 방식으로 데이터 조회, 필터링, 정렬, 변환 작업을 수행할 수 있다. 위 특징으로 인해 SQL문을 배운적이 있다면, LINQ의 사용법을 아주 쉽게 익힐 수 있을 것이다. ...