Flutter 소셜 로그인 (카카오/애플) 개발기

지난 백엔드 편에 이어, 이번에는 Flutter 앱 클라이언트에서 소셜 로그인을 붙이는 과정을 정리한다. 백엔드에서 아무리 잘 받아줘도, 클라이언트에서 토큰을 못 던져주면 말짱 도루묵이니까. 일단 결과물부터 보여드리면, 화면은 이런식으로 만들었고, 카톡 로그인 성공 시, 데이터 베이스에는 오른쪽과 같이 암호화된 임시 계정이 저장되었다. 왜 이 글을 쓰게 되었는지 소셜 로그인 라이브러리 kakao_flutter_sdk랑 sign_in_with_apple 가져다 쓰면 끝 아닌가? 싶었다. 그런데 막상 해보니 “카카오톡 … 더 읽기

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

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

Stitch AI로 화면 설계 효율화하기

안녕하세요! 오늘은 Tennis GG 프로젝트를 진행하면서 AI(Stitch AI)를 활용해 화면 설계를 어떻게 효율적으로 진행했는지 공유해보려 합니다. 앱 개발 과정에서 가장 고민되는 부분 중 하나가 바로 “복잡한 입력 폼을 어떻게 직관적이고 예쁘게 만들 것인가?” 입니다. 특히 제가 개발 중인 ‘매칭 생성’ 페이지는 날짜, 시간, 테니스장 위치, NTRP 레벨(실력), 구력, 모집 인원 등 입력해야 할 정보가 많아 자칫하면 화면이 … 더 읽기

챗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 프로젝트를 내 로컬 환경에 심어보기로 … 더 읽기