전체 글 191

Google C++ Style Guide(2024) - 3장 스코핑 (Scoping)

3장 스코핑 (Scoping)3.1 네임스페이스 (Namespaces)대부분의 코드에는 네임스페이스를 사용해야 하며, 네임스페이스 이름은 프로젝트 이름과 경로에 따라 고유해야 한다. using 지시문(e.g., using namespace foo)과 인라인 네임스페이스는 사용하지 않으며, 무명 네임스페이스는 내부 연결에서 다룬다.네임스페이스는 글로벌 스코프를 독립적이고 이름이 지정된 스코프로 분할해 이름 충돌을 방지하는 역할을 한다. 예를 들어, 두 프로젝트가 모두 전역 범위에서 Foo라는 클래스를 정의할 경우, 컴파일 또는 런타임에 충돌할 수 있다. 그러나 각 프로젝트가 네임스페이스를 사용하여 project1::Foo와 project2::Foo로 구분한다면, 충돌을 방지하면서 각 프로젝트 내부에서는 F..

Google C++ Style Guide(2024) - 2장 헤더 파일 (Header File)

2장 헤더 파일 (Header File)일반적으로, 모든 .cc 파일에는 관련된 .h 파일이 있어야 한다. 다만, 단위 테스트 파일이나 main() 함수만 포함하는 작은 .cc 파일 등은 예외로 인정된다.헤더 파일을 올바르게 사용하는 것은 코드의 가독성, 크기, 성능에 큰 영향을 미친다. 이 가이드에서는 헤더 파일 사용 시 발생할 수 있는 여러 문제점을 피할 수 있는 규칙들을 제시한다.2.1 자체 포함 헤더 (Self-contained Headers)헤더 파일은 독립적으로 컴파일될 수 있도록 자체 포함형으로 작성해야 하며, 확장자는 .h로 끝나야 한다. 헤더가 아닌 포함용 파일은 .inc 확장자를 사용하며, 필요한 경우에만 제한적으로 사용해야 한다.모든 헤더 파일은 자체 포함형이어야 하며, 이를 포함하는..

Google C++ Style Guide(2024) - 1장 C++ 버전 (C++ Version)

1장 C++ 버전 (C++ Version)현재 구글 C++ 스타일 가이드는 C++20을 기준으로 코드를 작성하도록 권장하며, C++23 기능은 사용하지 않는 것을 원칙으로 한다. 가이드는 최신 C++ 버전으로 빠르게 전환할 계획이기 때문에, 코드 작성 시점에 맞는 최신 가이드를 참고하는 것이 중요하다.비표준 확장은 사용하지 않는 것이 원칙이다. 또한, C++17과 C++20의 기능을 프로젝트에 적용하기 전 다른 환경으로의 이식성을 반드시 고려해야 한다.참조URLhttps://google.github.io/styleguide/cppguide.html

Google C++ Style Guide(2024) - 배경 (Background)

2024년도에는 진짜 마지막 구글 C++ 스타일 가이드 포스팅을 해낸다.배경 (Background)C++은 구글의 여러 오픈 소스 프로젝트에서 주요 개발 언어로 사용되고 있다. C++을 사용하는 개발자라면 알다시피, 이 언어는 강력한 기능을 제공하지만 그만큼 복잡성을 동반하며, 코드가 버그에 취약해지고 읽기 어려워지거나 유지보수가 까다로워질 수 있다.이 가이드는 C++ 코드를 작성할 때 지켜야 할 사항과 피해야 할 사항을 상세히 설명함으로써 이러한 복잡성을 관리하고자 한다. 이러한 규칙들은 개발자가 C++ 언어의 기능을 생산적으로 활용하면서도 코드베이스를 관리 가능하게 유지하는 데 그 목적이 있다.스타일 또는 가독성이라 불리는 규칙은 단순한 소스 파일 형식 이상의 관습을 포함하는데, 이는 코드 작성 방식..

CHM(Compiled HTML Help, 윈도우 도움말 파일)

1장 개요CHM(Compiled HTML Help) 파일은 주로 Windows 환경에서 사용되는 도움말 파일 형식으로, HTML, 이미지, 스크립트 등 다양한 파일을 압축하여 하나의 파일로 제공한다. Microsoft에서 개발한 이 파일 형식은 소프트웨어 사용자에게 도움말 시스템 제공에 최적화되어 있으며, 웹 브라우저와 유사한 탐색 환경을 지원한다. CHM 파일은 오프라인 상태에서도 사용 가능하여 정보 접근이 쉽고 빠르다.1.1 도움말 시스템문서화는 모든 소프트웨어에서 중요한 요소다. 복잡한 소프트웨어 시스템을 비프로그래머도 이해할 수 있도록 설명하는 것으로, 프로그램의 작동 방식과 기능, 그리고 이를 사용해 목표를 달성하는 방법을 안내한다.좋은 문서는 사용자에게 큰 도움이 되지만, 부족한 문서는 오히려..

기술 노트 2024.10.24

일의 격 - 성장하는 나, 성공하는 조직, 성숙한 삶 / 신수정

일의 격 - 성장하는 나, 성공하는 조직, 성숙한 삶저자: 신수정출판: 턴어라운드발행: 2021.07.01. Be Do Have책에서 "be do have"라는 구절이 등장한다. 이 문장은 ‘내가 어떤 사람인가(be)에 따라 어떻게 행동하고(do), 무엇을 가질 수 있는지(have)’를 표현한다. 예를 들어, 나는 닭의 무리 속에 있는 작은 독수리이다. 독수리이기 때문에 나는 독수리답게 행동하고, 그에 걸맞는 것을 가진다. 이 구절은 우리가 올바른 생각을 가지고 당당하게 행동하며 살아갈 수 있도록 해주는 말이다.

독서 기록 2024.08.31

개발자로 살아남기 - 한글과컴퓨터, 블리자드, 넥슨, 삼성전자, 몰로코 출신 / 박종천

개발자로 살아남기 - 한글과컴퓨터, 블리자드, 넥슨, 삼성전자, 몰로코 출신저자: 박종천출판: 골든래빗(주)발행: 2022.01.01. 모든 행복과 불행은 결국 나 자신으로부터 비롯된다.이 말을 이제서야 깊이 깨닫게 되었다는 사실이 아쉽기도 하다. 지난날, 무지하고 억울해했던 내 모습이 떠오르면 안쓰럽기도 하지만, 이제라도 이러한 깨달음을 통해 마음의 평화를 찾을 수 있음에 감사한다.하지만 솔직히 말하면, 아직도 이 말이 완전히 마음에 새겨지지 않은 것 같다. 명절 때 고향을 방문하는 문제를 결정하는 과정에서 마음 상할 일이 없었음에도 불구하고, 약간의 상처를 받은 나 자신을 보며 그 사실을 느낀다. 그럼에도 불구하고 나를 포용해주는 아내를 보면, 그녀야말로 진정으로 큰 사람이라는 생각이 든다. 이러한 ..

독서 기록 2024.08.27