본문 바로가기

전체 글

(10)
AI로 개발하더라도 휴식은 필수 - AI Brain Fry 요즘 Claude Code로 여러 작업을 동시에 진행하면서 생산속도가 엄청나게 빨라졌다.하지만 매일 오후가 되면 두통과 눈의 피로, 멍해지는 느낌을 받는다. 주변에 AI로 개발하는 사람들에게도 물어 보았는데 많은 사람이 느끼고 있는 문제였다.2026년 3월, Boston Consulting Group과 UC Riverside가 공동으로 수행한 연구가 Harvard Business Review에 발표되면서, 이 현상에 공식적인 이름이 붙었습니다."AI Brain Fry".Brain Fry, 번아웃이랑 뭐가 다른가요?둘은 꽤 다릅니다.번아웃은 수개월에 걸쳐 서서히 쌓이는 만성적 감정 소진입니다. 오래 달린 엔진이 과열되는 것과 비슷하죠.Brain Fry는 집중적인 AI 세션 이후 갑자기 찾아오는 인지 과부하..
VSCode에서 Qt UI파일(.ui)를 QtDesigner로 열기 VS Code에서 Qt UI 파일(.ui)을 편집할 때 Qt Designer를 사용하고 싶은 경우가 있다. 이 글에서는 단축키 하나로 Qt Designer를 실행하는 방법을 정리한다.환경Windows 10/11Visual Studio CodeQt 6.8.6 (msvc2022_64)Qt 공식 확장 설치됨 (theqtcompany.qt-ui)문제 상황Qt 공식 확장(theqtcompany.qt-ui)을 설치하면 .ui 파일을 VS Code 내장 UI 에디터로 열 수 있다. 그러나 복잡한 UI 작업에는 Qt Designer가 더 적합한 경우가 많다.Qt 공식 확장의 한계확장에서 제공하는 qt-ui.openWidgetDesigner 명령을 사용하면 Qt Designer를 실행할 수 있지만, 다음과 같은 문제가 ..
[C++ Troubleshooting] ODR(One Definition Rule) 위반으로 인한 액세스 위반 디버깅 TL;DRODR 위반으로 코드 실행 중 액세스 위반 발생.익명 네임스페이스 사용과 고유한 struct 이름 변경으로 해결.진행 중인 프로젝트를 개발하던 중 프로그램을 종료할 때 액세스 위반(Access Violation)이 발생했다. 😱액세스 위반이 발생한 위치는 특정 클래스의 소멸자인데, 이상한 점은 해당 클래스와 사용하는 곳에 대한 변경사항은 없었던 것이다.한참을 디버깅하고 변경했던 부분을 다시 보다가 원인을 찾았다! 🤩비슷한 기능을 가지는 클래스를 새로 만들어야 했는데, 기존 클래스를 복사해서 사용하다가 문제가 발생한 것이었다. (껄껄)원인문제 코드// ComponentA.cppnamespace App::Project::Component { struct InnerData { int member..
[Git Hooks] 브랜치 이름으로 커밋 메시지 규칙 확인 진행중인 프로젝트에서는 git 정책으로 커밋 메시지가 이슈 번호로 시작하도록 되어있다.보통은 커밋 메시지를 정책에 맞게 작성해서 문제가 없지만, 종종 부랴부랴 커밋하다 보면 이슈 번호를 잘못 적거나 오타가 발생한 그대로 커밋해서 엉뚱한 이슈 번호가 기록되기도 한다. 😱커밋 직후에 바로 인지하면 바로 수정하면 되지만 시간이 흐른뒤 여러 커밋이 생긴뒤에는 수정하기 힘들다. 이런 문제를 예방하고자 git hooks 기능을 사용해서 커밋되기 전에 커밋 메시지가 정책에 맞게 작성됬는지 확인할 수 있도록 해보았다.🙌commit-msg hookcommit-msg hook은 git의 hook 기능 중 사용자가 커밋 메시지 작성을 완료한 후, 커밋이 최종적으로 생성되기 직전에 실행되는 hook이다.스크립트가 0으로 ..
[Git Troubleshooting] git restore 해도 변경사항이 없어지지 않는 문제 해결 방법 TL;DR증상: 내용은 안 바꿨는데 git status에 계속 modified가 뜬다. 그래서 git restore를 해도 없어지지 않는다.😱주요 원인: 파일의 권한 설정(filemode) 또는 줄 끝 문자(LF/CRLF) 불일치.빠른 해결: 권한 추적 불필요하면 core.filemode=false. 줄 끝 문자는 .gitattributes로 LF 고정 후 git add --renormalize .Git을 쓰다가 건드리지도 않은 파일이 modified로 표시되는 문제를 만났다.'유령 변경'이라고 불리는 문제인데, 특히 Windows↔Linux 사이를 오가는 .sh 파일에서 자주 발생한다고한다.이 글에서는 왜 이런 ‘유령 변경’이 생기는지, 그리고 어떻게 해결하는지 정리한다.증상파일을 변경하지 않았는데 ..
지속가능한 SW 개발을 위한 코드 리뷰(우아한테크세미나) + @ 지난 4월 우아한테크세미나에서 코드 리뷰를 주제로 세미나가 진행되었다. 이 세미나 내용을 중심으로 개인적인 경험과 생각을 덧붙여, 코드 리뷰가 무엇이고 어떻게 하는지에 대해서 정리를 해본다. 사실 세미나 듣고 바로 정리하려고 했지만 차일피일 미루다가 얼마 전 회사에서 PR(Pull Request)에 대한 설명을 해달라는 요청이 있었다. PR 사용에 코드 리뷰는 빠질 수 없는 내용이라서 겸사겸사 같이 정리해서 써먹어보려 한다. (씨익..) 그리고 이 글에서는 요즘 가장 많이 사용되는 코드리뷰 방법인 Pull Request(이하 PR)를 사용한다는 전제하에 설명한다. 세미나는 유튜브에서 다시 볼 수 있으며, 약 2시간 분량인데 1.5배속으로도 들을만해서 쪼금만 시간 투자해서 봐도 괜찮을 것 같다. 코드리뷰란..
unique_ptr로 Pimpl idiom 구현시 소멸자의 필요성 Pimpl idiom을 사용하여 클래스를 아래와 같은 형태로 작성을 했다.// headerclass Controller{public: Controller();private: class ControllerImpl; std::unique_ptr d;};// cpp#include "Controller.h"class ControllerImpl{ ...};Controller::Controller() : d(new ControllerImpl) { ...}그리고 컴파일을 했는데.. 어? 아래와 같은 오류가 발생했다.use of undefined type 'ControllerImpl'can't delete an incomplete type 문제 파악구글링 해본 결과, 오류 발생 이유가 아래 두 가지인 것을 알아냈다.컴..
Google CSE(Custom Search Engine) 사용하여 검색결과 가져오기 스터디로 진행하는 프로젝트에서 웹에서 검색되는 결과를 수집하는 기능이 필요하게 되었다.흔히 크롤링으로 검색하면 나오는 방법이 있지만, 좀 더 나이스 한 방법을 알아보던 중 흔히 사용하는 검색엔진(e.g. Google)을 이용하는 방법을 알게 되었다.Google에서는 Programmable Search Engine(또는 Custom Search Engine)이라는 명칭으로 제공되는 API를 제공한다.그래서 간단히 가이드 문서(Programmable Search Engine - Guide)를 보고 확인한 내용을 정리해보았다.Control Panel에서 Programmable Search Engine 생성Control Panel에서 검색 요청을 받아 검색하여 결과를 리턴해줄 검색엔진을 생성한다.검색할 사이트이..