기록 , 그리고 습관
article thumbnail
부트캠프 최종 프로젝트가 앱스토어 25위에 올랐다 – 출시 2일 만에 100명 유저가 생기기까지
MyProject 2025. 6. 29. 20:37

🚀 부트캠프 프로젝트가 앱스토어 25위에 올랐습니다.AI 해석 기반의 감정 분석, 실무처럼 직접 구축한 백엔드, 그리고 단 4명의 팀.2일 만에 실사용자 100명을 돌파한 우리의 여정을 공유합니다.👣 시작은 3월, 부트캠프 입과와 함께2025년 3월, 내일배움캠프 플러터 트랙에 입과하며 개발자의 길을 본격적으로 걷기 시작했습니다.모든 게 처음이었고 낯설었지만, 매일 반복되는 실습과 팀 프로젝트를 통해 점차 감을 잡아갔습니다.그리고 캠프 후반부, 최종 팀 프로젝트 기간이 다가왔습니다.그때 주어진 조건은 단 하나.“AI를 활용한 앱을 만들 것.”저희는 생각했습니다.“사람들이 매일 꾸는 꿈을, 더 의미 있게 기록하고 새롭게 AI로 해석할 수는 없을까?”이 질문에서 시작된 프로젝트가 바로,몽비 였습니다.🧭..

Flutter TMDB 영화 앱 개발기 트러블 슈팅은 어려워..
Mystudy 2025. 5. 15. 11:59

내일배움캠프 Flutter 개발코스에 참여하고있는데 심화 프로젝트를 진행중인데요? Flutter로 영화 앱을 개발하면서 겪었던 시행착오들과 해결 방법을 공유합니다. 특히 TMDB API 연동 및 Riverpod 상태 관리, Hero 애니메이션, 캐싱 처리 등에서 마주쳤던 문제들을 정리해봤습니다. 1. ❌ TMDB API 호출 시 "Unauthorized" 오류 (401)문제:TMDB API 호출 시 다음과 같은 에러가 발생했습니다. 401 Unauthorized: Invalid API Key 원인:TMDB에서는 v4 인증 방식(Bearer Token)을 사용하는데, Authorization 헤더에 제대로 된 Bearer 토큰을 입력하지 않았기 때문이었습니다.해결:.env 또는 secrets.dart 파..

Flutter 앱 개발 중 겪은 트러블슈팅 2가지: 네이버 지역 검색 API와의 전쟁
Mystudy 2025. 4. 22. 09:49

안녕하세요, Flutter 개발자 지망생 문호 입니다! 😄최근 네이버 지역 검색 API를 활용한 장소 검색 앱을 개발하면서 여러 가지 도전 과제를 마주쳤습니다. 그중에서도 특히 기억에 남는 두 가지 트러블슈팅 경험을 공유하려고 합니다. 이 과정에서 얻은 교훈이 다른 개발자들에게도 도움이 되길 바랍니다! 1. 한글 입력 시 자음과 모음이 분리되는 문제문제 상황검색바(TextField)를 구현하고 사용자가 검색어를 입력하면 실시간으로 HomeViewModel에서 searchQuery를 업데이트하도록 했습니다. 그런데 실기기에서 테스트를 해보니 한글 입력 시 자음과 모음이 분리되는 문제가 발생했어요. 예를 들어 "맘스터치"를 입력하려고 하면 UI에 "ㅁㅏㅁ" → "마ㅁ" → "맘" 이런 식으로 단계적으로 표..

[Flutter] 기차 예매 앱 개발 중 만난 문제와 해결법
Mystudy 2025. 4. 2. 10:15

최근 개인 과제로 기차 예매 서비스 앱을 만들면서 몇 가지 트러블을 겪었는데요, 초보자라면 한 번쯤 마주칠 법한 문제들이라 공유해보려 합니다. 이 글에서는 제가 만난 이슈와 해결 과정, 그리고 실무에서 유용했던 팁을 정리했습니다.1. StationListPage에서 선택한 역이 HomePage에 반영되지 않는 문제문제 상황HomePage에서 출발역을 클릭하면 StationListPage로 이동하고, 역을 선택하면 다시 HomePage로 돌아와야 합니다. 그런데 선택한 역 이름이 HomePage에 업데이트되지 않고 초기값인 "선택"으로 남아있더라고요.원인 분석StationListPage에서 Navigator.pop()으로 역 이름을 반환했는데, HomePage에서 이 값을 제대로 받아서 상태를 갱신하지 않..

Dart 콘솔 RPG - 트러블 슈팅 정리
Mystudy 2025. 3. 21. 11:03

스파르타 내일 배움캠프 Flutter 개발반 3주차를 진행중에 있는데 2번째 개인 과제로 Dart를 이용한 콘솔 RPG 게임을 만들어 보자 라는 주제의 과제를 받았다. 프로젝트를 진행하면서 많은 트러블 슈팅 상황이 발생 하였는데 관련해서 블로그에 정리 후 추후에 나를 되돌아보는 시간에 다시금 이 포스팅을 보고 어떤 부분에서 실수를 저질렀고 어떤 부분을 개선해야할지 돌아 볼 수 있는 계기가 있었으면 좋겠다는 생각에 글을 써보려 한다.  1. 캐릭터 & 몬스터 데이터 로드 오류 문제 발생  1.characters.txt 또는 monsters.txt 파일이 존재하지 않거나,2.파일 포맷이 잘못되어 데이터 파싱에 실패하는 경우. 발생 상황 예시Unhandled exception: 캐릭터 파일이 없습니다.Unha..

Dart 콘솔에서 한글 인식 문제 - 트러블슈팅
Mystudy 2025. 3. 14. 10:49

문제 발생Windows 환경에서 Dart 콘솔 프로그램 실행 시 한글이 깨지거나 입력이 정상적으로 처리되지 않는 문제 발생.stdin.readLineSync()로 한글을 입력하면 문자가 깨지거나, null이 반환됨.print()로 한글을 출력할 때 콘솔에서 깨진 문자(�)로 보이거나 아무것도 출력되지 않음.문제 원인 분석Windows의 기본 문자 인코딩 문제Windows의 기본 콘솔 인코딩이 CP949 (EUC-KR)로 설정되어 있음.Dart는 기본적으로 UTF-8을 사용하기 때문에 한글을 정상적으로 입출력할 수 없음.입력 문제 (stdin.readLineSync()가 한글을 null로 반환)한글 입력이 null로 반환되거나 문자가 깨지는 이유는 콘솔에서 CP949로 인코딩된 데이터를 UTF-8로 읽으려..

플러터 위젯 트리란 무엇인가?
Mystudy 2025. 3. 4. 21:04

플러터 위젯 트리란 무엇인가?플러터(Flutter)는 선언형 UI 프레임워크로, 모든 UI 요소를 위젯(Widget)으로 구성합니다. 위젯은 화면의 기본적인 구성 요소이며, 서로 중첩되어 트리 구조를 형성합니다. 이를 위젯 트리(Widget Tree) 라고 하며, 플러터에서 UI를 구축하고 업데이트하는 핵심 개념입니다.1. 위젯 트리 개념위젯 트리는 크게 3가지 종류로 나눌 수 있습니다.Element Tree: UI의 구성을 나타내는 요소들의 트리Widget Tree: 개발자가 선언한 위젯 트리Render Tree: 실제 화면에 렌더링되는 구조위젯 트리는 앱의 UI를 계층적으로 구성하는 역할을 하며, 플러터 프레임워크가 이를 해석하여 실제 화면에 표시합니다.2. 위젯 트리의 구조플러터의 위젯 트리는 다음..

Flutter 상태 관리: 어떤 방법을 선택해야 할까?
Mystudy 2025. 2. 28. 17:22

Flutter는 빠르고 아름다운 UI를 구축할 수 있는 강력한 프레임워크이지만, 앱이 커지면서 상태 관리가 중요해집니다. 많은 개발자가 어떤 상태 관리 방법을 선택해야 할지 고민하는데, 이번 글에서는 주요 상태 관리 기법과 각 방식의 특징을 정리해보겠습니다.1. 상태 관리란?상태(State)란 UI가 렌더링하는 데이터의 현재 상태를 의미합니다. 예를 들어, 버튼 클릭 횟수, 사용자 입력값, API로부터 받아온 데이터 등이 상태에 해당합니다. 이를 효율적으로 관리하지 않으면 코드가 복잡해지고 유지보수가 어려워질 수 있습니다.2. Flutter의 상태 관리 방법2.1. setState가장 기본적인 상태 관리 방식입니다. StatefulWidget에서 setState를 호출하면 UI가 다시 빌드됩니다.장점:간..