#리팩토링

12개의 게시물

GitHub Actions로 Daily AI 포스트 자동 발행 설정
commitsether-blog · db9bca3

GitHub Actions로 Daily AI 포스트 자동 발행 설정

🤖 1059 in / 713 out / 1772 total tokens GitHub Actions 워크플로우를 만들어 매시간 자동으로 AI 뉴스 다이제스트를 발행하도록 했다. API 엔드포인트 호출 방식으로, BLOG_API_KEY 시크릿을 사용해 인증한다. 기존에 하드코딩돼 있던 AI 클라이언트 설정을 getAIConfig 함수로 통합했다. gen

이더2026.03.171 min read
GitHub Actions자동화리팩토링
radarlog.kr 도메인 적용하고 AI 프로바이더 멀티 지원으로 변경
commitsether-blog · d249a81

radarlog.kr 도메인 적용하고 AI 프로바이더 멀티 지원으로 변경

🤖 2296 in / 1380 out / 3676 total tokens 커스텀 도메인을 radarlog.kr로 확정했다. site config, docs, env example, seed script 등 모든 URL 참조를 기존 railway 서브도메인에서 새 도메인으로 일괄 변경했다. AI 프로바이더를 동적으로 선택할 수 있게 개선했다. Anth

이더2026.03.173 min read
도메인AI리팩토링
게시글 slug를 숫자 방식으로 전환했다
commitsether-blog · ba7c338

게시글 slug를 숫자 방식으로 전환했다

🤖 1211 in / 782 out / 1993 total tokens 기존엔 제목을 한글/영문 혼합으로 변환해 slug를 만들었다. URL이 길어지고 가독성도 좋지 않았다. 그래서 단순 순번 숫자로 바꿨다. 새 글 생성 시 prisma.post.count()로 현재 개수를 구하고 +1한 값을 slug로 쓴다. 기존 글들은 /api/admin/pos

이더2026.03.132 min read
slug리팩토링블로그
마크다운 프리뷰, 직접 짜다가 라이브러리로 갈아탐
commitsgit2blog · 7e845e9

마크다운 프리뷰, 직접 짜다가 라이브러리로 갈아탐

🤖 797 in / 995 out / 1792 total tokens 에디터 페이지에서 쓰던 regex 기반 renderMarkdown 함수를 걷어내고 react-markdown 기반의 MarkdownPreview 컴포넌트로 교체했다. 순수 정규식으로 마크다운을 파싱하려니 엣지 케이스가 끝도 없었고, 코드 블록 안에서 이스케이프 처리하다가 머리가 아팠

이더2026.03.081 min read
react-markdown리팩토링마크다운
로그인 페이지 UI 개선과 레이아웃 분리
commitsgit2blog · 1c7c1c6

로그인 페이지 UI 개선과 레이아웃 분리

🤖 779 in / 678 out / 1457 total tokens 로그인 페이지를 깔끔하게 다듬었다. 큰 입력창과 카드 레이아웃을 적용해서 시인성을 높였고, 전체적으로 더 모던한 느낌으로 변경했다. AppShell 컴포넌트를 새로 만들어서 레이아웃 로직을 분리했다. usePathname으로 현재 경로를 확인해서 로그인 페이지일 때는 Navbar를

이더2026.03.081 min read
Next.jsUI리팩토링
TypeScript 타입 에러 3개를 0개로: 테스트 Mock 타입 확장하기
commitsMidWayDer · 8080316

TypeScript 타입 에러 3개를 0개로: 테스트 Mock 타입 확장하기

🤖 771 in / 792 out / 1563 total tokens search-cache.test.ts에서 발생하던 TypeScript 타입 에러 3개를 모두 해결했다. 기존 MockPlace 타입이 실제 DetourResult 타입과 맞지 않아 에러가 발생했다. MockPlace를 MockDetourResult로 확장하고, Place와 Rout

이더2026.03.071 min read
TypeScript테스트Mock
ESLint any 타입 경고 21개를 모두 해결했다
commitsMidWayDer · b138e94

ESLint any 타입 경고 21개를 모두 해결했다

🤖 1442 in / 604 out / 2046 total tokens v0.52.0에서 @typescript-eslint/no-explicit-any 경고 21개를 전부 제거했다. 이제 코드베이스에 any 타입이 없다. 주요 변경은 명시적 타입 정의다. PersonalizedDetourResult는 개인화 점수가 포함된 결과를, CacheQuery

이더2026.03.071 min read
TypeScriptESLint리팩토링
LocaleContext ESLint 에러 해결과 useState lazy initialization
commitsMidWayDer · 34189b8

LocaleContext ESLint 에러 해결과 useState lazy initialization

🤖 794 in / 722 out / 1516 total tokens v0.49.0에서 LocaleContext의 ESLint set-state-in-effect 경고를 해결했다. 기존에는 useEffect 내부에서 localStorage 값을 읽어 setState를 호출하는 패턴이었다. 이는 React 팀에서 권장하지 않는 방식이라 ESLint가

이더2026.03.072 min read
ReactESLint성능최적화
v0.25.0: any 타입 정리하고 린트 0 달성했다
commitsMidWayDer · 0c0e18c

v0.25.0: any 타입 정리하고 린트 0 달성했다

🤖 1062 in / 625 out / 1687 total tokens 코드 품질 개선 작업을 진행했다. 9개였던 린트 경고를 모두 해결했고, any 타입을 구체적인 인터페이스로 교체해 타입 안전성을 높였다. ErrorBoundary와 performance 모듈에서 Sentry 관련 any 타입이 문제였다. WindowWithSentry와 Sentr

이더2026.03.061 min read
TypeScript린트타입안전성
검색창을 button으로 변경하여 UX 개선
commitsMidWayDer · d8be9c3

검색창을 button으로 변경하여 UX 개선

🤖 389 in / 612 out / 1001 total tokens 검색창을 input에서 button으로 교체했다. 기존엔 input을 클릭하면 검색 오버레이가 열리는 구조였다. 문제는 실제로 텍스트를 입력할 수 없는데 input처럼 보인다는 점. 사용자가 커서가 깜빡이는 걸 보고 입력을 시도하다 혼란을 겪을 수 있다. 그래서 아예 button으

이더2026.03.051 min read
UXReact리팩토링
접근성 라벨 보완과 죽은 코드 정리
commitsMidWayDer · 5e743d3

접근성 라벨 보완과 죽은 코드 정리

🤖 1043 in / 1761 out / 2804 total tokens 검색 관련 컴포넌트의 접근성을 개선했다. 스크린 리더 사용자가 버튼의 목적을 명확히 인식할 수 있도록 aria-label을 체계적으로 추가했다. SearchOverlay 닫기 버튼은 '뒤로 가기'로, 저장된 장소 카드는 '{장소명} 카테고리로 검색'으로, ResultCard 전

이더2026.03.042 min read
a11y접근성React
v3.3.0: 봇/게임 테스트 35개 추가, 커버리지 보강
commitsradar_fun_meter · aebb905

v3.3.0: 봇/게임 테스트 35개 추가, 커버리지 보강

🤖 1557 in / 839 out / 2396 total tokens 이번 커밋은 봇과 게임 어댑터의 테스트 커버리지를 대폭 보강했다. 총 35개 테스트가 추가되어 127개에서 162개로 늘었고, 전부 통과다. FlappyBirdBot은 신규 테스트 파일을 만들어 decide()의 파이프 감지, _pendingTick 흐름, _findNextPip

이더2026.03.012 min read
테스트커버리지TDD