카카오 & 애플 소셜 로그인 구현 삽질기 (Spring Boot + OAuth2)

이번에는 소셜[카카오(Kakao)와 애플(Apple)] 로그인을 실제로 구현하면서 겪은 과정들을 정리해본다. 왜 이 글을 쓰게 되었는지 사실 카카오 로그인만 붙이면 참 편했을 거다. 한국에서는 국민 앱이니까. 하지만 Apple App Store 심사 지침(Guideline 4.8)이 발목을 잡았다. 타사 소셜 로그인(구글, 카카오 등)을 쓰려면 반드시 ‘Sign in with Apple’도 같이 넣어야 한다는 조항 때문이다. 결국 울며 겨자 먹기로 두 가지를 다 구현하게 되었는데, … 더 읽기

AI 기반 테니스 플랫폼 TENNIS.GG 개발 로드맵: Flutter와 Antigravity의 만남

약 3년여간 테니스를 즐겨 치고 있습니다. 단순히 취미로 즐기던 저였지만 새로운 도전을 해보려고 합니다. 최근 직관했던 ‘현대 슈퍼매치’에서 알카라스와 시너의 박진감 넘치는 경기와 수많은 테니스 팬의 열기를 현장에서 직접 느끼며, 우리나라 테니스 커뮤니티와 인프라가 얼마나 빠르게 성장하고 있는지 실감했습니다. 하지만 동시에 동호인으로서 겪어온 불편함들도 떠올랐습니다. 완전 무료의 테니스 매칭앱이 없을까 라는 의문이 생겼고, 개발자로서의 한번 … 더 읽기

챗GPT 1년 구독 해지하고 Gemini로 갈아탄 이유 (feat. 클로드찍먹)

거의 1년 동안 내 통장에서 매달 22달러씩 꼬박꼬박 가져가던 챗GPT(ChatGPT) 플러스 구독을 해지했다. 꽤 오랜 기간 내 코딩 파트너였지만, 최근 개발 환경을 Antigravity 중심으로 개편하면서 “굳이 두 개를 다 써야 하나?”라는 의문이 들었기 때문이다. 결론부터 말하면 나는 Gemini (1년 구독) 로 환승했다. 소문 자자한 Claude는 잠시 찍먹해보다가 살벌한 사용량 제한에 혀를 내두르고 포기했는데, 그 의식의 흐름을 남겨본다. 1. 챗GPT에서 Gemini로 … 더 읽기

Antigravity 및 Gemini CLI 설치와 시행착오(PowerShell 보안 이슈 해결)

맨날 다트(Dart)랑 위젯 트리만 쳐다보다가, 이번에 들어가는 신규 프로젝트에서는 좀 다른 시도를 해보기로 했다. 바로 “개발 환경 자체를 AI-Native하게 바꿔보는 것”. 솔직히 코딩하다가 브라우저 켜서 ChatGPT한테 물어보고, 다시 안드로이드 스튜디오 돌아오고… 이 ‘컨텍스트 스위칭’ 비용이 너무 아깝다는 생각이 들었다. 터미널(Terminal)에서 리눅스 명령어 치듯이 AI랑 대화할 수 있다면? 그래서 구글의 Antigravity 프로젝트를 내 로컬 환경에 심어보기로 … 더 읽기