FIF's 코딩팩토리

Java, Spring 백엔드와 Vue, React 프론트를 개발하면서 실제로 써본 기술을 정리하는 블로그.

177개의 글

전체 글

AI

[AI] Hallmark 사용법 - Claude Code 가 만든 화면에서 AI 티 지우는 디자인 스킬, sloplint 가 잡는 것들

Hallmark 는 Claude Code, Codex, Cursor 가 만드는 웹 화면이 AI 가 찍어낸 티가 안 나게 막아주는 디자인 스킬이다. 설치, 동작 순서, sloplint 검사 규칙 정리 AI 한테 랜딩 페이지 하나 만들어 달라고 하면 거의 비슷한게 나온다.보라색에서 파란색으로 넘어가는 그라데이션, 제목 위에 작은 대문자 한 줄, 아이콘 박힌 카드 세 개, 맨 아래 이메일 구독..한번 보면 "아 AI 가 만들었네" 가 바로 보인다.이걸 막겠다고 나온 스킬이 Hallmark 다.https://github.com/Nutlope/hallmarkTogether AI 에서 만들었고 라이선스는 MIT.2026-10-27 오늘 깃허브 트렌딩 1위다. 하루에 스타가 2,200개 넘게 붙었다.10월 21일에..

Back-End/Spring(스프링)

[Spring] Spring Security JWT 로그인 구현 (2) - jti 발행 이력으로 동시 로그인 제한, 토큰 갱신, 로그아웃 무효화

Spring Security JWT 의 jti 를 DB 에 기록해서 동시 로그인 수 제한, 토큰 갱신, 로그아웃할때 토큰 무효화를 구현하는 방법에 대한 정리. JPA 예제 1편에서 남은 문제1편에서 RS256 으로 토큰을 발급하고, HttpOnly 쿠키에 담고, Filter 에서 검증하는 데까지 했다.그런데 그 상태로는 서버가 토큰을 거둬들일 방법이 없다.로그아웃해도 쿠키만 지워진다. 토큰 문자열을 복사해 둔 사람은 만료까지 계속 쓴다같은 계정으로 PC, 폰, 다른 PC.. 몇 군데서 로그인하든 다 살아있다만료 시간이 되면 무조건 다시 로그인해야 한다JWT 의 장점이 "서버가 아무것도 안 들고 있어도 된다" 인데, 이걸 해결하려면 결국 서버가 뭔가를 들고 있어야 한다.다 들고 있을 필요는 없고 토큰 I..

Back-End/Spring(스프링)

[Spring] Spring Security JWT 로그인 구현 (1) - RS256 토큰 발급, HttpOnly 쿠키, Filter 검증과 만료 처리

Spring Security 에서 세션 없이 JWT 로그인 구현하는 방법에 대한 정리. jjwt 0.12 RS256 토큰 발급, HttpOnly 쿠키, OncePerRequestFilter 검증, 만료 처리까지 왜 JWT 인가?세션 로그인은 서버가 로그인 정보를 들고 있다.서버가 한 대면 문제없는데, 두 대 이상이 되면 세션을 어디에 둘지부터 고민이 시작된다. (세션 클러스터링, Redis 세션..)JWT 는 로그인 정보를 토큰 안에 넣고 서명해서 클라이언트에게 준다.서버는 요청이 올 때마다 서명만 확인하면 된다.어느 서버로 요청이 가든 같은 키만 있으면 검증이 되니, 서버가 아무것도 들고 있을 필요가 없다. (STATELESS)이번 글은 Spring Boot 3.5.4, Spring Security ..

AI

[AI] Matt Pocock skills 사용법 - grill-with-docs 로 질문받고 tdd, code-review 까지 쿠폰 기능 하나 직접 만들어보기

스타 30만 개 Claude Code 스킬 mattpocock/skills 의 설치 방법과 grill-with-docs, tdd, code-review 가 어떻게 도는지 쿠폰 기능 하나를 만들면서 직접 돌려본 정리 깃허브 인기 Claude Code 스킬 정리 에서 8개를 짧게 훑었는데, 이번엔 그중 하나만 깊게 판다.고른 건 mattpocock/skills 다.https://github.com/mattpocock/skills2026-10-25 기준 스타 302,624개, 포크 25,451개.1등인 Superpowers 랑 거의 붙어 있다.Superpowers 는 Superpowers 사용법 에 따로 정리했다.TypeScript 강의로 유명한 Matt Pocock 이 매일 쓰는 스킬을 모은 레포다.REA..

AI

[AI] 깃허브 인기 Claude Code 스킬 정리 - 스타 많은 순으로 8개, 설치법과 직접 돌려본 결과

깃허브에서 스타가 많은 Claude Code 스킬 레포 8개(mattpocock, Karpathy, anthropics/skills, Caveman 등)의 설치 방법, 동작 방식, 직접 돌려본 결과 정리 요즘 깃허브 트렌딩을 보면 반은 Claude Code 스킬 레포다.."best claude code skills" 로 검색해도 비슷한 이름들이 계속 나온다.그래서 스타 수를 직접 찍어봤다.2026-10-25 기준, gh CLI 로 확인한 숫자다.obra/superpowers : 304,691mattpocock/skills : 302,614multica-ai/andrej-karpathy-skills : 223,430anthropics/skills : 183,551nextlevelbuilder/ui-ux-..

AI

[AI] oh-my-claudecode, oh-my-codex 사용법 - 하네스 엔지니어링을 대신 깔아주는 플러그인, 훅과 매직 키워드 뜯어보기

oh-my-claudecode(OMC)와 oh-my-codex(OMX)는 Claude Code ㆍCodex CLI 에 훅, 전문 에이전트, 매직 키워드를 한번에 깔아서 하네스 엔지니어링을 대신 해주는 플러그인이다. 설치와 동작 구조 정리 요즘 AI 코딩 쪽에서 "하네스 엔지니어링" 이라는 말이 자주 보인다.그리고 그 얘기가 나올때 같이 나오는 레포가 이 두 개다.https://github.com/Yeachan-Heo/oh-my-claudecodehttps://github.com/Yeachan-Heo/oh-my-codex둘 다 허예찬(Yeachan Heo)님이 만든 레포고 라이선스는 MIT.2026-10-23 기준 스타가 OMC 약 4만 개, OMX 약 3.4만 개다.한국어 README 도 있다.이 글은..

AI

[AI] Superpowers 사용법 - Claude Code 가 코드부터 짜지 않게 브레인스토밍, TDD, 디버깅 순서를 스킬로 넣는 플러그인

Superpowers 는 Claude Code 같은 코딩 에이전트에 브레인스토밍, 계획, TDD, 체계적 디버깅 순서를 스킬로 넣어주는 플러그인이다. 설치와 동작 방식, 스킬별 규칙, 직접 돌려본 예시 정리 REA 다음으로 깃허브에서 많이 보이는 AI 레포가 Superpowers 다.https://github.com/obra/superpowers2026-10-22 기준 스타가 약 30만 개, 포크가 2.7만 개다.Jesse Vincent 가 만들었고 지금은 Prime Radiant 라는 회사에서 같이 관리한다.라이선스는 MIT.REA 는 REA 사용법 글에 따로 정리했다.MCP 서버를 직접 만드는 건 MCP 서버 직접 만들기 에 있다.이번 건 MCP 가 아니라 스킬(Skill) 쪽이다.글이 좀 길다.앞..

AI

[AI] REA 로 Electron 앱 리버스 엔지니어링 - 직접 만든 Git 클라이언트를 app.asar 만으로 뜯어보고 소스랑 비교

REA 의 analyze-javascript-application 으로 Electron 앱 app.asar 를 정적 분석해서 IPC 채널, preload API, fuse 설정을 뽑고 실제 소스와 얼마나 맞는지 비교해 본 정리 지난 글에서 REA 를 문서만 보고 정리했다.REA 사용법 - AI 에이전트로 리버스 엔지니어링 하는 MCP 서버, 설치부터 분석 명령어까지이번엔 직접 돌려봤다.대상은 내가 만든 Electron 앱 GitFIF 다.GitKraken 무료 버전은 private 저장소를 열려고 하면 업그레이드를 하라고 한다.그래서 GitKraken 같은 그래프 UI 로 private 저장소도 그냥 열리는 Git 클라이언트를 직접 만든게 GitFIF 다.Electron + React + TypeScr..

AI

[AI] MCP 서버 직접 만들기 - Spring AI 로 사내 API 를 Claude Code 도구로 붙이기

Spring Boot 4 와 Spring AI 2.0 의 @McpTool 로 MCP 서버를 직접 만들고, curl 로 확인한 뒤 Claude Code 에 붙여서 사내 게시판 API 를 AI 에이전트가 호출하게 하는 방법 정리 지난 글에서 REA 라는 MCP 서버를 소개했다.REA 사용법 - AI 에이전트로 리버스 엔지니어링 하는 MCP 서버남이 만든 MCP 서버를 붙여 쓰는건 쉽다.그런데 회사에서 쓰려면 결국 "우리 API" 를 에이전트가 부를수 있어야 한다.게시판 검색, 주문 조회, 코드 테이블 조회 같은 것들..자바 백엔드라면 Spring AI 로 MCP 서버 구현이 생각보다 금방 된다.이번 글은 게시판 API 를 MCP 도구로 열고 Claude Code 에서 불러보는 데까지 간다. MCP 란?M..

AI

[AI] REA 사용법 - AI 에이전트로 리버스 엔지니어링 하는 MCP 서버, 설치부터 분석 명령어까지

REA(Reverse Engineer Anything)는 Claude Code 같은 AI 에이전트에 붙여 바이너리, Electron 앱, .NET, APK 를 리버스 엔지니어링하게 해주는 MCP 서버다. 설치와 CLI 사용법 정리 요즘 깃허브에서 제일 핫한 레포 중 하나가 REA 다.https://github.com/morluto/rea2026-10-19 기준 스타가 약 32만 개, 포크가 8만 개를 넘었다..npm 패키지(rea-agents)는 2026년 7월에 처음 올라왔으니 몇 달만에 이렇게 된거다.한 달 다운로드도 34만 회가 넘는다.뭐길래 이렇게 난리인지 문서를 톺아봤다. REA 란?한 줄로 하면 "AI 에이전트용 리버스 엔지니어링 도구 모음" 이다.레포 설명도 "Reverse enginee..

Back-End/Spring(스프링)

[Spring] Spring Boot JPA 다중 DataSource 설정 - DB 두 개 붙일 때 @Primary, 저장소 스캔 분리, 트랜잭션 매니저

Spring Boot JPA 에서 DataSource 2개(MariaDB + MSSQL)를 붙이는 다중 DataSource 설정 정리. @Primary 로 기본을 정하고 @EnableJpaRepositories 로 저장소를 나누고 트랜잭션 매니저를 유닛별로 둔다 왜 하나?서비스 DB 는 MariaDB 하나인데, 문자 발송은 문자 시스템 쪽 MSSQL 에 프로시저를 불러야 한다.JDBC 로 따로 붙어도 되지만 이미 JPA 를 쓰고 있으니 같은 방식으로 가고 싶다.문제는 스프링 부트 자동 설정이 DataSource 를 하나만 가정한다는 거다.spring.datasource.* 하나 읽어서 DataSource, EntityManagerFactory, TransactionManager 를 한 벌 만들어준다.두..

Back-End/Spring(스프링)

[Spring] 응답 JSON 휴대폰 번호 마스킹 - ContentCachingResponseWrapper 로 Filter 에서 응답 본문 바꾸기

스프링 Filter 에서 ContentCachingResponseWrapper 로 JSON 응답 본문을 꺼내, 정규식으로 휴대폰 번호를 010****5678 처럼 마스킹하는 방법에 대한 정리. 컨트롤러는 손대지 않는다. Host 헤더 검증 필터도 덤으로 왜 하나?관리자 화면의 회원 목록, 신청자 목록.. 이런 데는 휴대폰 번호가 꼭 들어간다.보안 점검을 받으면 "목록에서 휴대폰 번호가 전부 노출된다" 는 항목이 거의 빠지지 않고 나온다.DTO 마다 마스킹 코드를 넣으면 되긴 하는데, API 가 수십개면 하나씩 고치다 빠뜨리는 게 생긴다.그래서 응답이 나가는 길목인 Filter 에서 한번에 처리한다.JSON 응답 본문에 "010-1234-5678" 모양이 보이면 "010****5678" 로 바꿔서 내보낸..