Raycast 가이드

macOS의 Spotlight는 앱과 파일은 잘 찾지만, 개발 중에 자주 하는 작업은 대부분 도구가 따로 필요하다. 클립보드 기록은 다른 앱으로, 창 배치는 또 다른 앱으로, 반복 입력하는 텍스트는 텍스트 확장 도구로…

Continue ReadingRaycast 가이드

C/C++ 디자인 패턴 (21) — 템플릿 메서드(Template Method)

CSV, JSON, 엑셀에서 데이터를 가져오는 기능은 "읽기 → 걸러내기 → 저장 → 알리기"라는 같은 순서를 따르고, 읽는 방법만 다르다. 형식마다 이 순서를 복사해 두면 단계 하나를 추가할 때 모든 복사본을…

Continue ReadingC/C++ 디자인 패턴 (21) — 템플릿 메서드(Template Method)

C/C++ 디자인 패턴 (17) — 메멘토(Memento)

게임에서 보스 방 앞에 체크포인트를 만들거나, 설정 화면에서 "취소"를 누르면 이전 값으로 돌아가야 한다. 객체 상태를 바깥에서 저장하려면 private 멤버를 공개하거나 getter/setter를 잔뜩 만들어야 하는데, 그러면 캡슐화가 깨지고 저장하는 쪽이…

Continue ReadingC/C++ 디자인 패턴 (17) — 메멘토(Memento)

C/C++ 디자인 패턴 (16) — 중재자(Mediator)

가입 화면에서 "약관 동의"를 체크하고, 이메일이 올바르고, "회사 계정"을 체크했다면 회사명까지 입력해야 가입 버튼이 켜진다. 각 위젯이 서로를 직접 참조해 규칙을 처리하면 체크박스가 버튼과 입력란을 알고, 입력란이 버튼을 알고… 위젯…

Continue ReadingC/C++ 디자인 패턴 (16) — 중재자(Mediator)