본문 바로가기

전체 글43

[Effective C++ 정리 #17] 스마트 포인터로 감싸도 new는 독립적으로 먼저 받아라 이 글은 『Effective C++』를 읽고 개인적으로 공부한 내용을 정리한 기록입니다.저는 컴퓨터공학을 전공하지 않았으며, 프로그래밍을 공부하는 과정에서의 이해와 생각을 정리하기 위해 글을 작성하고 있습니다.따라서 내용 중 일부에 오류나 부정확한 설명이 있을 수 있으며, 피드백은 언제든지 환영합니다. 확인 후 수정하도록 하겠습니다.전문적인 해설이 아닌 개인적 시선에서의 정리임을 참고하고 읽어주시면 감사하겠습니다.[Effective C++ 정리 #17] 스마트 포인터를 사용할 때 new는 반드시 독립된 문장에서 처리합니다스마트 포인터를 사용하면 자원 해제 문제를 거의 완벽하게 해결할 수 있습니다. 하지만 이번 아이템 #17에서는 한 가지 놓치기 쉬운 중요한 내용을 알려줍니다. 그것은 바로, 스마트 포인터.. 2025. 6. 27.
[강화학습] Q-learning 이란? 강화학습을 시작하는 가장 쉬운 길, Q-learning 완전 정복강화학습(RL, Reinforcement Learning)은 환경 속에서 스스로 경험을 쌓으며 학습하는 인공지능 분야입니다. 그 중에서도 Q-learning은 가장 널리 알려지고, 구현이 쉬운 대표적인 알고리즘입니다. 본 글에서는 Q-learning의 개념, 동작 원리, 수식, 그리고 간단한 예제까지 모두 하나씩 짚어보겠습니다.Q-learning이란?Q-learning은 모델-프리(Model-free) 강화학습 알고리즘입니다. 즉, 에이전트는 환경의 내부 구조(상태 전이 확률 등)를 알 필요 없이 단지 보상과 상태만 보고 학습합니다. Q-learning의 목적은 각 상태(state)에서 가능한 행동(action)에 대한 기대 보상을 추정하는.. 2025. 6. 26.
[Effective C++ 정리 #16] new와 delete 사용 시 유의 점 - 괄호 하나로 무너지는 코드의 안정성 이 글은 『Effective C++』를 읽고 개인적으로 공부한 내용을 정리한 기록입니다.저는 컴퓨터공학을 전공하지 않았으며, 프로그래밍을 공부하는 과정에서의 이해와 생각을 정리하기 위해 글을 작성하고 있습니다.따라서 내용 중 일부에 오류나 부정확한 설명이 있을 수 있으며, 피드백은 언제든지 환영합니다. 확인 후 수정하도록 하겠습니다.전문적인 해설이 아닌 개인적 시선에서의 정리임을 참고하고 읽어주시면 감사하겠습니다.[Effective C++ 정리 #16] new와 delete: 반드시 같은 형태를 맞춰 사용해야 합니다C++에서 new와 delete는 자원을 동적으로 관리할 수 있도록 해주는 강력한 도구입니다. 하지만 그만큼 주의해서 사용해야 합니다. 특히 **new와 delete를 사용할 때 항상 동일한 .. 2025. 6. 26.
[Effective C++ 정리 #15] RAII의 Raw resource 접근 방법 이 글은 『Effective C++』를 읽고 개인적으로 공부한 내용을 정리한 기록입니다.저는 컴퓨터공학을 전공하지 않았으며, 프로그래밍을 공부하는 과정에서의 이해와 생각을 정리하기 위해 글을 작성하고 있습니다.따라서 내용 중 일부에 오류나 부정확한 설명이 있을 수 있으며, 피드백은 언제든지 환영합니다. 확인 후 수정하도록 하겠습니다.전문적인 해설이 아닌 개인적 시선에서의 정리임을 참고하고 읽어주시면 감사하겠습니다.[Effective C++ 정리 #15] 리소스 관리 클래스에서는 원시 자원 접근을 제공!C++에서 RAII(Resource Acquisition Is Initialization)는 자원 관리를 훌륭하게 해결합니다. RAII 객체를 통해 메모리 해제, 파일 닫기, 락 해제 등 자원 해제를 자동으.. 2025. 6. 25.
[Effective C++ 정리 #14] 리소스 관리 클래스 복사 시 유의사항 이 글은 『Effective C++』를 읽고 개인적으로 공부한 내용을 정리한 기록입니다.저는 컴퓨터공학을 전공하지 않았으며, 프로그래밍을 공부하는 과정에서의 이해와 생각을 정리하기 위해 글을 작성하고 있습니다.따라서 내용 중 일부에 오류나 부정확한 설명이 있을 수 있으며, 피드백은 언제든지 환영합니다. 확인 후 수정하도록 하겠습니다.전문적인 해설이 아닌 개인적 시선에서의 정리임을 참고하고 읽어주시면 감사하겠습니다.[Effective C++ 정리 #14] 리소스 관리 클래스에서 복사 동작을 신중히 결정이전 아이템 #13에서는 C++의 자원 관리에서 RAII(Resource Acquisition Is Initialization) 패턴이 얼마나 강력한지를 살펴보았습니다. RAII 덕분에 우리는 자원을 직접 관.. 2025. 6. 24.
[Effective C++ 정리 #13] RAII란 무엇인가? RAII로 자원 관리 방법 이 글은 『Effective C++』를 읽고 개인적으로 공부한 내용을 정리한 기록입니다.저는 컴퓨터공학을 전공하지 않았으며, 프로그래밍을 공부하는 과정에서의 이해와 생각을 정리하기 위해 글을 작성하고 있습니다.따라서 내용 중 일부에 오류나 부정확한 설명이 있을 수 있으며, 피드백은 언제든지 환영합니다. 확인 후 수정하도록 하겠습니다.전문적인 해설이 아닌 개인적 시선에서의 정리임을 참고하고 읽어주시면 감사하겠습니다.[Effective C++ 정리 #13] 객체를 이용해 자원을 관리하라C++에서 자원을 안전하게 관리하는 가장 강력한 방법은 객체를 통해 관리하는 것입니다. 메모리, 파일 핸들, 네트워크 소켓, 뮤텍스, 데이터베이스 연결 등 다양한 자원들은 **획득과 동시에 객체에 위임하고, 소멸자가 이를 해제.. 2025. 6. 23.