zMyBatis: 내가 빡쳐서 직접 깎은 IntelliJ 플러그인 생존기

zMyBatis - MyBatis Dynamic SQL Runner with Parameters.​ 많이 사용해주세요.

1. 문제의 발단: "이게 뭐하는 짓이냐...(현타옴)"

TL;DR (요약)

  • 타겟: IntelliJ Ultimate & Community 유저
  • 기능: MyBatis XML에서 우클릭 메뉴에서 실행시 파라미터 바인딩 후 즉시 실행 또는 클립보드 복사
  • 성과: 눈문나게 적은 다운로드 수, 리뷰 0개, 그래도 동일한 불편함을 겪은 분에게 도움이 되길...
  • 계획: 사용자가 별로 없어서, 딱히 추가 기능 필요한것 생각이 나지도 않고, 파라미터 입력 UI 개선 정도만 생각하고 있습니다.

실무에서 MyBatis 동적 SQL을 테스트할 때마다 로그를 긁어와서 ? 파라미터에 값을 일일이 복사/붙여넣기 해야 했습니다. 이 노가다에 지쳐 결국 직접 IntelliJ 플러그인을 만들기로 결심했죠.
AI는 자꾸 위와 같은 내용으로 적으려고 하는데, 제 실제 워크플로우는 달랐습니다.

뭐, 저는 솔직히 물경력이라 정석적인 워크플로우도 잘 모르겠고,
제 워크플로우를 적어내기도 좀 부끄럽습니다.

아무튼 xml mapper의 쿼리는 저를 힘들게 했습니다.
이렇든 저렇든 불편합니다. 귀찮습니다. 짜증납니다.

2. 어라, 이게 없네?...

저는 너무 불편한데, 제가 원하는 기능은 JetBrains IDE는 지원하지 않고, 플러그인 역시 존재하지 않았습니다.

3. 직접 깎아보자! (feat. AI Assistant)

저는 AI Assistant를 채찍질한 것 밖에 없습니다.
뭔가 잘 안될땐 심한 욕을 하기도 했죠. 속으로나 혼잣말로 하는게 아닌 AI Assistant에게요.
정말 막힐땐 직접 디버깅 하여 문제를 파악해서 AI에게 알려주면 해결해주더라구요.

4. 'Z' 에피소드

왜 플러그인 이름을 zMyBatis로 지었을까요?
그야 Z가 끝판왕이기 때문입니다. ZFS 처럼요.
하지만 JetBrains Marketplace 검색이 조금 이상하더라구요.
mybatis로 검색해도 제 플러그인은 검색되지 않았습니다.

지금은 검색이 될겁니다.

5. 완성도 높이기

기본 기능(핵심 기능) 구현 이후에는, 추가적으로 더 필요한 부분은 없을까 생각하며,
생각나는대로 덧붙이고, 옵션으로 제공하도록 했습니다.

6. 홍보란 무엇인가?

각종 국내외 개발 커뮤니티에 홍보글을 올렸지만 반응이 거의 없더라구요.
한 레딧 커뮤니티에서는 운영 규칙 위반으로 밴 당하기도 했어요.

5. 마무리하며

사실상 저만 쓰는 플러그인으로 생각하고 있습니다.
그래도 누군가에게는 도움이 되면 좋겠네요.