목록전체 글 (242)
말랑한 하루
※ 소스코드는 각 문제 설명 하단에 를 통해 확인하실 수 있습니다. [sliver 2, 16953 A→B] - 너비우선탐색(BFS) 10^9자리에서 10^10자리까지 확인할 수 있기 때문에, long long 자료형을 활용해야 하는 것이 핵심이다. 보통 string stl을 사용하면서 숫자를 변환하기 위해 stoi를 많이 활용하는데, 이 함수는 무언가의 약자임을 기억하자. 약자임을 기억한다면, stoi가 string to int임을 생각할 수 있고 다양한 방면으로 연계하여 string을 long long으로 바꾸자 할 때, stoll 함수를 활용할 수 있음을 깨달을 수 있다. 더보기 #include #include #include #pragma warning(disable:4996) using names..
벌써 출시의 때가 다가왔다! 비공개 테스트 버전을 게시하고, 20명 이상의 테스터 참여자를 구해 2주동안 비공개 테스트를 거쳐 현재로 왔다! 비공개 테스트 버전을 게시하기까지, 신입 개발자의 입장에서는 모르는 것 투성이였으나, 실제 경험하고 나니 왜 그렇게 오랜 기간이 걸렸는지 납득하진 못했다. 일각에서는 담당자 케바케라고한다. 비공개 테스트를 거쳐 5번의 게시를 진행했던 내 경우도 비슷한 느낌이 든다. 2주 동안 테스터들의 피드백을 받으며! 앱을 개선해왔던 노력이 헛되지 않게 프로덕션 액세스 신청을 진행하는 방법도 기술하겠다. 🐇 프로덕션 신청 프로덕션 요구사항인 다음 3가지 요구조건이 만족되면, 앱 대시보드 에서 프로덕션 신청을 진행할 수 있다. 🍒 비공개 테스트 버전 개시 🍒 20명 이상의 비공개 ..
엄청나게 많은 해결법들이 제시되었고, 그 사이에서는 프로젝트 내부 gradle 버전과 외부 버전의 호환이 되지 않아 발생하지만 apk 파일은 만들어지므로 굳이 신경쓰지 않아도 된다는 말도 존재했다. 🥕 apk를 빌드하지 않는 과정에서는 다음 해결 방법이 적용된다. path: flutterProject/android/build.gradle buildscript { ext.kotlin_version = '1.9.23' repositories { google() mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } kotlin_version을 최신 버전으로 업데이트해준다. b..
Remote Config는 기본적으로 bool, double, int, string 형식의 변수 만을 사용할 수 있다. 하지만, 많은 양의 데이터를 사용하기 위해서 우리는 json 형식의 변수를 자주 사용하기 때문에 Remote Config에서 json 데이터를 다루는 방법을 기술하려 한다. 필자는 Remote Config를 사용하여 긴급 공지사항을 작성하기 위해 시도를 하고 있다. 다음 단계를 따라가며 해야 하는 일과 주의 해야 할 사항에 대해 파악하기를 바란다. 🍒 RemoteConfig 연결 코드 상에서 연결하는 부분은 다음과 같다. Firebase를 Flutter에 연동하고, RemoteConfig를 사용하기 위한 준비 과정을 진행하지 않았다면, [ Firebase Remote Config ]를 ..
애플리케이션 사용자의 UX 향상을 위해 사용자가 검색했던 닉네임을 캐시하여 검색 전 보여주려한다. API 이용 건수가 상당하지만, 일일 제한 횟수가 초과하게 된다면 애플리케이션 캐싱으로 관리해 볼 예정이고, 캐싱 데이터가 많아져 애플리케이션이 무거워진다면 backend 서버의 도움을 받고자 한다. 일단은 간단하게 닉네임 만을 대상으로 하고있으므로 관련 방법을 알아보자. 🥕 shared_preferences ※ reference : https://pub.dev/packages/shared_preferences $ flutter pub add shared_preferences $ flutter pub get shared_preferences는 flutter.dev에서 관리하는 플러그인이다. 플랫폼별 영구 저..
기본적으로 Firebase와의 연결과, Firebase.initializeApp을 통해 초기화를 진행해 주어야 한다. 관련 내용은 이전에 작성한 [ Firebase Remote Config ] 글의 "🥕 Flutter에 Firebase 추가" 단락을 참고하여 진행해 주길 바랍니다. ※ reference : https://firebase.google.com/docs/firestore/quickstart?hl=ko&_gl=1*30ps05*_up*MQ 🐇 개발 환경 설정 flutter pub add cloud_firestore 🥕 앱 체크 ※ reference : https://firebase.google.com/docs/app-check?hl=ko&_gl=1*1w5bp70*_up*MQ 🐇 Cloud Fire..
사용자들에게 비공개 테스트를 진행하면서, 새로운 버전을 업데이트하여 제공해야 하는 경우가 발생합니다. 하지만 사용자들은 앱을 설치하고 나면, 애플리케이션 페이지로 다시 접속할 일이 없죠. 리뷰를 작성하지 않는다면요! 특정 앱 버전에서 문제가 발생하는 경우, 또는 앱의 버그를 고치는 경우가 새로운 버전이 나오는 시기이기 때문에 사용자들에게 앱이 업데이트가 되었음을 명시적으로 알리고, 업데이트를 진행할 수 있도록 안내해야 합니다. 그래서 이번 포스트는 강제 업데이트를 적용시키기 위해 어떤 과정을 거쳐야 하는지, 필요한 것은 무엇인지 알아보겠습니다. 🥕 구현 강제 업데이트를 구현해 내기 위한 최적의 UI는 애플리케이션 로딩 화면이라고 생각한다. 애플리케이션에서 필요한 정보를 가져오는 등, 내부 비즈니스 로직이..
Firebase에서 제공하는 Remote Config는 사용자가 앱 업데이트를 다운할 필요 없이 앱의 동작과 모양을 변경할 수 있는 클라우드 서비스입니다. Firebase Console과 Remote Config backend API를 활용하여 모든 앱 사용자 또는 특정 사용자들에게 인앱 기본값을 재정의할 수 있습니다. 업데이트를 적용할 시점에서 앱을 제어할 수 있으며, 성능에 거의 영향을 주지 않고 업데이트를 자주 확인하여 적용할 수 있습니다. Remote Config에 저장된 key-value로 구성된 매개변수에 저장해놓은 버전 정보와 packageManager를 활용해 현재 애플리케이션의 버전을 비교하여 앱을 Store로 Redirect 해주는 방식이라 생각하면 편합니다. 애플리케이션을 업데이트 하..