반응형
이번에 소개할 표현은 "Brownfield Project"입니다. "Brownfield Project"는 이미 존재하는 레거시 시스템이나 기존 코드베이스를 개선하거나 통합하는 프로젝트를 가리키는 표현입니다. 마치 건물이 이미 들어선 오래된 개발지(brownfield)를 재개발하듯, 기존 시스템 위에 새로운 기능을 추가하거나, 현대적인 기술 스택으로 전환하는 등 변화를 주는 상황을 의미합니다.1. 의미"Brownfield Project"는 백지 상태에서 시작하는 Greenfield Project와 반대되는 개념입니다. 여기서 개발 팀은 이미 구축된 인프라나 레거시 코드, 기존 설계 제약사항, 운영 중인 시스템 등 다양한 역사적 요소를 안고 출발합니다. 이 때문에 단순한 초기 설계 자유도는 낮을 수 있지만,..
과거 C++ 템플릿 프로그래밍에서 타입 제약을 표현하기 위해 사용되던 기법 중 하나가 바로 SFINAE(Substitution Failure Is Not An Error)였습니다. 이는 템플릿 인자의 대입 과정에서 타입이 맞지 않을 경우 에러 대신 다른 오버로드를 시도하는 기법으로, 조건부로 템플릿을 선택하는 메타프로그래밍 트릭이었습니다.그러나 SFINAE는 코드가 복잡해지고, 컴파일 에러 메시지가 난해해진다는 단점이 있었습니다. 모던 C++20에서는 Concepts를 통해 이 문제를 해결했습니다. Concepts는 템플릿 인자에 대한 명확한 제약 조건을 선언적으로 표현할 수 있어 코드 가독성과 유지보수성, 그리고 에러 진단을 크게 개선합니다.관련 참고 자료:SFINAEConcepts (C++20)과거:..
과거 C++98/03 시절, 문자열 형식 지정 출력은 주로 C 표준 라이브러리 함수를 이용했습니다. printf 계열 함수들은 간단히 사용할 수 있지만, 타입 미스매치 문제나 서식 문자열 관리가 번거로운 단점이 있었습니다. 예를 들어 %d, %f, %s 등의 포맷 지정자가 실제 매개변수와 불일치할 경우 런타임 버그가 발생할 수 있으며, 이는 디버깅하기도 까다롭습니다.모던 C++에서는 이러한 문제를 해결하기 위해 C++20부터 std::format 함수를 도입했습니다. 이는 타입 안전하고, Python의 f-string과 유사한 형식 지정 문법을 제공하며, 가독성과 유지보수성을 크게 향상시킵니다.관련 참고 자료:std::format (C++20)과거: printf 계열 함수의 문제점printf는 서식 문자..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.