[Hurl] 여러 API 호출 시나리오를 로컬에서 테스트하기
·
Development
Hurl은 HTTP 요청을 실행할 수 있을 뿐만 아니라 HTTP 응답을 테스트하는 데에도 사용할 수 있다 . 들어가며이번 태스크는 화면에서 직접 호출하는 API가 아니라, 여러 API 호출을 이어주는 Domain Handler를 개발하는 작업이었다.Handler 하나를 검증하려면 로그인부터 프로젝트 생성, 파이프라인 생성, 연결 정보 저장 등 수많은 선행 API를 먼저 호출해야 했다.Playwright도 고민했지만, 화면 역시 내부적으로는 API를 호출하는 과정일 뿐이었다.내가 검증하고 싶었던 것은 UI가 아니라 특정 Handler를 실행하기 위한 API 호출 흐름이었다.처음에는 JUnit 기반 E2E 테스트도 고려했다.하지만 복잡한 테스트 코드보다 여러 API 호출 시나리오를 선언적으로 관리하고 반복 ..
[사이드 프로젝트] 캘린더웹앱 만들기 dayflow
·
Development
1. 시작하며: "맘에 드는 게 없어서 그냥 내가 만들었다"나는 약속, 결제일, 공고, 개발 마감일, 집안일까지 모든 일정과 할 일을 캘린더에 기록하는 헤비 유저다. 그동안 타임블록, 플래닛, 미니캘 등 수많은 앱을 써봤지만 늘 아쉬움이 남았다. 무료 앱은 디자인이 부족했고, 예쁘고 편한 앱은 부분 유료화나 광고가 거슬렸다.'요새 비개발자도 AI로 앱을 만든다는데, 내가 직접 만들면 얼마나 걸릴까?' 계좌 잔고를 보며 망설이던 유료 결제를 접어두고, 출퇴근 자투리 시간을 활용해 직접 개발해 보기로 했다. 결과적으로 원하는 초기 프로토타입을 뽑는 데는 5시간도 채 걸리지 않았다. 2. 기획 및 기술 스택: 백엔드 없이 가볍고 예쁘게과거 칸반보드와 간트차트를 개발하며 느꼈던 아쉬운 점들을 반영해, UI/..
[Claude] buddy 생성하기 / buddy 바꾸기
·
Development
클로드에 버디가 생겼다길래 바로 써봤다. 만우절 이벤트인지 계속 쓸 수 있는건지는 의문...🤔 `/buddy`를 사용하여 펫을 생성할 수 있다. buddy 생성`/buddy`를 입력해보면, 계정 아이디+hash 기반으로 고유한 버디가 할당된다고 한다.근데.. 귀여운거 나오길 기대했는데 카피바라가 나오심.. any-buddy그래서 이를 바꿀 수 있는 패키지를 깔았다.https://github.com/cpaczek/any-buddy GitHub - cpaczek/any-buddy: Hack Claude Code to get any buddy you wantHack Claude Code to get any buddy you want. Contribute to cpaczek/any-buddy develop..
[CI/CD] 컨테이너 레지스트리, Harbor
·
Development
Harbor란 무엇인가?컨테이너 기반의 인프라(K8s)를 운영하다 보면 빌드된 이미지를 안전하게 보관하고 관리할 중앙 저장소가 필요해진다. 이때 단순한 Docker Registry를 넘어, 엔터프라이즈 환경에 필요한 보안과 관리 기능을 기본적으로 제공하는 오픈소스 솔루션이 바로 Harbor이다. CNCF(Cloud Native Computing Foundation)의 졸업(Graduated) 프로젝트로, 그 안정성과 범용성을 이미 검증받았다. 도커 레지스트리(Docker Registry)는 이미지를 저장하고 공유하는 저장소이다.더보기도커 레지스트리는 도커 이미지를 저장하고 공유하는 중앙 저장소이다. 쉽게 말해, GitHub가 소스코드를 보관하는 곳이라면 Docker Registry는 이미지를 보관하는 곳..
[Obsidian] 문서 구조에 대한 고민 (feat.PARA 방법론)
·
Development
원래도 문서를 많이 남기려고 하는 편이지만, 작성이나 정리가 쉽지가 않았다. 또한 어느 순간 AI를 쓰다 보니, 생성되는 md 파일들이 너무나 많아지고, 이를 직접 필요할 때 찾기가 어려워지기 시작했다. 물론 AI는 알아서 컨텍스트를 잘 찾고 참고하지만, 정작 내가 볼 때는? 어디에 있는지 찾기 조차 어렵다. 분명 어디서 봤는데, 어디에 써놓은 것 같은데, 정확한 문구나 단어가 생각나지 않으면 전체 검색도 어려울뿐더러, 검색한다 해도 연관된 파일이 너무나도 많다. (현재 프로젝트 폴더 내에 문서 폴더를 만든 것도 영향이 큼.) 이런저런 고민을 하던 차에, 폴더 구조부터 개선하고 싶었고, 어떻게 개선하면 좋을까 고민해 보게 되었다. 현재 폴더 구조는 아래와 같다. 분석: 코드나, 기능에 대한 설명들을 모은..
obsidian cli 설정하고 사용해보기
·
Development
Obsidian cli가 출시되었을 때 Catalyst 라이선스 보유자만 사용가능해서 나중에 풀리면 써야지 했는데 오랜만에 생각해서 확인해보니 이제 무료 사용자도 이용할 수 있게 되었다. 풀린지 꽤 되었나보다. 설정 > 고급 설정 > 명령줄 인터페이스 토글을 활성화하면 사용할 수 있다. 일일노트템플릿일일노트에 사용할 템플릿을 만들어서 등록한다.# 📅 {{date:YYYY-MM-DD}} ({{date:ddd}})## 🎯 오늘의 핵심 목표- [ ] ## ✅ 할 일 (To-Do)- [ ] ## 📝 업무 로그 (Working Log)> 오늘의 주요 작업 내역과 의사결정 사항을 기록합니다.- ## 💡 인사이트 및 메모- ## 🔗 관련 문서 (Links)> 오늘 참고하거나 작성한 분석 문서 등을 연결하세..
[Terminal] 코딩 에이전트, 멀티 태스킹을 위한 터미널, cmux
·
Development
코딩 에이전트, 멀티 태스킹을 위해 만들어진 터미널설치https://cmux.com/ko cmux — 멀티태스킹을 위해 만든 터미널AI 코딩 에이전트를 위한 네이티브 macOS 터미널. Claude Code, Codex, OpenCode, Gemini CLI, Kiro, Aider 등 모든 CLI 도구와 호환.cmux.com 단축키`cmd + N` : 워크스페이스 생성`cmd + T` : 새 서피스(탭) 생성`cmd + shift + [` : 다음 서피스(탭) 이동`cmd + shift + ]` : 이전 서피스(탭) 이동`cmd + W` : 서피스(탭) 닫기`cmd + D` : 세로 분할`cmd + shift + D` : 가로 분할 장점 Ghostty기반이라 빠르다.워크스페이스 개념을 제공하여, ..
[React] 커스텀 셀렉트 박스 무한 렌더링 삽질기 - flex 레이아웃 한 줄로 해결되다..
·
Development/React
JS 동적 계산과 CSS Flex의 상관관계문제 상황페이지에서 등록 폼을 만들었다. 목록을 선택하는 MultiChipSelectSearch 이라는 현재 프로젝트 내부의 커스텀 컴포넌트를 썼는데, chip을 3~4개 이상 선택하면 화면이 계속 떨렸다. 1~2개일 때는 괜찮았는데 개수가 늘어나니까 갑자기 깜빡거리기 시작했다. chip이 많아져서 input 크기를 넘어가게되면, 더보기로 볼 수 있게 개수가 표시되는 구조인데, 그게 표시될 때 무한 렌더링이 발생했다. 이전에 개발하면서 테스트할 때는, 목록 데이터의 길이가 짧아서 위 사항을 테스트하지 못했었던 것이다.사실 다른 오류가 있어서 수정하다가 확인하다보니 이것도 문제 였던 거지만.. API 응답조차 너무 느려서 더미 데이터로 교체하고 테스트 해봤다. 원..