본문 바로가기

Develop

Android 앱의 카카오 로그인 문제 해결하기 - 키해시와 앱 서명의 이해 안드로이드 앱에서 카카오 로그인 구현 시 가장 흔히 발생하는 문제 중 하나는 Play Store 배포 버전에서 로그인이 실패하는 현상입니다. 이 글에서는 이 문제의 원인과 해결 방법을 상세히 알아보겠습니다.1. 문제 상황개발자들이 카카오 로그인 구현 시 흔히 마주치는 시나리오는 다음과 같습니다:Android Studio에서 직접 빌드한 Debug 버전에서는 카카오 로그인이 정상 작동로컬에서 생성한 Release 버전에서도 정상 작동Google Play Store에 출시한 버전에서만 카카오 로그인 실패로그인 시도 시 "카카오톡과 연결할 수 없습니다" 또는 "키해시가 유효하지 않습니다" 오류 발생2. 문제의 원인앱 서명 프로세스 이해하기문제의 핵심은 앱 서명 프로세스에서 발생하는 키해시 차이에 있습니다:개발.. 더보기
MealLens 앱 소개: AI 기반 음식 분석 도우미 MealLens는 식사 기록과 영양 분석을 위한 스마트 모바일 애플리케이션입니다. 앱의 구조는 Flutter의 GetX 패턴을 따르며, 사용자 인터페이스와 비즈니스 로직이 명확하게 분리되어 있습니다. 메인 화면은 다음과 같이 구현되어 있습니다:class HomeScreen extends StatelessWidget { // GetX 컨트롤러를 전역적으로 관리하여 상태 일관성 유지 static final MealController controller = Get.put(MealController()); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Row( .. 더보기
2024년 업무 효율을 높여줄 크롬 확장 프로그램 완벽 가이드 "왜 내 동료는 나보다 일을 더 빨리 끝내는 걸까?" 이런 고민을 한 번쯤 해보셨나요? 비결은 의외로 간단할 수 있습니다. 바로 브라우저를 제대로 활용하는 것입니다. 우리가 하루 중 가장 많은 시간을 보내는 도구가 바로 웹 브라우저인데, 대부분의 사람들은 이 강력한 도구의 10%도 활용하지 못하고 있습니다.이 글에서는 제가 실제 업무 현장에서 사용하며 검증한, 업무 효율을 극대화해주는 다섯 가지 크롬 확장 프로그램을 소개하려고 합니다. 이 도구들은 단순히 '편리한' 수준을 넘어서서, 여러분의 업무 방식을 완전히 바꿔줄 수 있는 게임 체인저들입니다.왜 하필 이 다섯 가지일까요?수많은 크롬 확장 프로그램 중에서 이 다섯 가지를 선택한 데에는 분명한 이유가 있습니다. 바로 '보편성'과 '효율성'입니다. 이 확.. 더보기
Flutter와 GetX로 가게 검색 앱 개발기: 상태관리의 시작부터 배포까지 안녕하세요! 오늘은 Flutter와 GetX를 사용하여 지역 가게 검색 앱을 개발한 경험을 공유하려고 합니다. 처음 Flutter로 프로젝트를 시작할 때 많은 고민이 있었는데요, 특히 상태관리 라이브러리 선택에서 Provider, Bloc, GetX 등 다양한 옵션 중에서 어떤 것을 선택할지 많은 고민이 있었습니다.결국 GetX를 선택하게 된 이유와 개발 과정에서 겪은 다양한 도전과 해결 방법들을 공유하려고 합니다. 프로젝트 개요기획 의도지역 상권 활성화를 위한 가게 정보 제공사용자 위치 기반 주변 가게 탐색낮/밤 시간대별 추천 가게 제공카테고리별 필터링 기능주요 기능지도 기반 가게 위치 표시카테고리별 가게 필터링낮/밤 시간대별 가게 목록가게 상세 정보 보기검색 기능기술 스택 선정GetX를 선택한 이유간.. 더보기
크롬 확장프로그램 개발기: 이미지 다운로더 만들며 배운 것들 주말에 만든 크롬 확장프로그램 출시 이야기 - 이미지 다운로더 개발기 🚀💡 시작하게 된 계기디자이너 친구가 "웹사이트에서 이미지 여러 개 다운받을 때마다 우클릭하기 너무 귀찮다"는 말을 했습니다. "그거 확장프로그램으로 만들어볼까?" 하는 가벼운 마음으로 시작한 프로젝트였죠.🛠 주요 기능페이지 내 모든 이미지 자동 스캔숨겨진 이미지까지 전부 찾아냅니다이미지 크기와 해상도 정보 제공스마트 필터링파일 크기별 필터 (Small 1MB)파일 형식별 필터 (JPG, PNG, GIF, 기타)파일명 검색 기능편리한 다운로드선택한 이미지만 다운로드진행률 표시자동 파일명 정리🔧 기술 스택과 구현 포인트Manifest V3 설정{ "manifest_version": 3, "name": "Image Downlo.. 더보기
Selenium 크롤러의 진화: 안티봇 탐지를 피하는 우아한 방법 웹 크롤링 시스템 개선: 안티봇 탐지 우회와 안정성 향상최근 우리 팀은 웹 크롤링 시스템을 대폭 개선하는 작업을 진행했습니다. 이 글에서는 크롤링 시스템의 안정성을 높이고 안티봇 탐지를 우회하기 위해 적용한 다양한 전략들을 공유하고자 합니다. 1. 인프라 구성 개선1.1 패키지 의존성 추가크롤링 시스템의 안정성을 높이기 위해 필요한 시스템 패키지들을 추가했습니다. 특히 헤드리스 Chrome 브라우저가 정상적으로 동작하기 위해 필요한 다양한 의존성들을 식별하고 추가했습니다.packages: cups-libs: [] cups: [] cups-client: [] cups-devel: [] libXScrnSaver: [] nss: []이러한 패키지들은 다음과 같은 목적으로 추가되.. 더보기
Flutter로 만든 안드로이드 앱 플레이스토어 출시하기 (초보자도 가능한 A to Z) 안녕하세요! 오늘은 제가 Flutter로 개발한 앱을 플레이스토어에 등록하면서 겪었던 과정과 노하우를 공유하려고 합니다. 처음 출시를 준비하면서 여러 블로그를 찾아봤는데, 막상 실전에서는 또 다른 이슈들이 많이 발생하더라구요. 저처럼 첫 출시를 앞두고 계신 분들에게 도움이 되었으면 좋겠습니다! 1. 개발자 계정 등록하기 (25달러의 첫 관문)첫 단계는 Google Play Console에 개발자로 등록하는 것입니다. 한 번만 내면 평생 쓸 수 있는 25달러... 투자한다고 생각하면 그렇게 부담스럽진 않았어요 😅Google Play Console에 접속구글 계정으로 로그인개발자 계정 만들기 클릭개발자 약관 동의 및 25달러 결제개발자 정보 입력 (개인/법인 선택 가능)TIP: 법인카드가 없다면 일반 신용.. 더보기
크롬 확장프로그램 개발 실전 가이드 (feat. 삽질 방지 팁) 내가 크롬 확장 프로그램을 만들면서 배운 것들 🚀안녕하세요! 오늘은 제가 크롬 확장 프로그램을 개발하면서 겪은 이야기와 유용한 팁들을 공유하려고 합니다. 처음에는 저도 'manifest.json이 뭐야?' 하면서 멀뚱멀뚱 쳐다보기만 했는데요, 이제는 제법 익숙해져서 이렇게 글도 써보네요! 😅크롬 확장 프로그램이 도대체 뭐길래?쉽게 말해서, 크롬 브라우저를 여러분 입맛대로 커스터마이징 할 수 있게 해주는 작은 프로그램이에요. 마치 스마트폰에 앱을 설치하는 것처럼, 브라우저에 추가 기능을 설치하는 거죠. HTML, CSS, JavaScript만 알면 누구나 만들 수 있어요. (물론 저처럼 처음엔 삽질을 좀 하겠지만요 😂)왜 확장 프로그램을 만들어야 할까요?음... 제 경우는 매일 아침 열어보는 사이트가.. 더보기