전체 글

이것저것 만드는 개발자입니다.
잘 사용하고 있던 웹뷰 페이지가 어느 순간 SUPPRESS_ERROR_PAGE Error를 뱉어내며 페이지가 보이지 않는 문제가 발생했습니다.물론 Flutter를 최신 버전으로 upgrade 하면서 flutter_inappwebview를 6.0.0으로 migration하면서 발생한 문제였던것 같습니다.E/MethodChannel#flutter/platform_views( 3411): Failed to handle method callE/MethodChannel#flutter/platform_views( 3411): java.lang.RuntimeException: Unknown feature SUPPRESS_ERROR_PAGEE/MethodChannel#flutter/platform_views( 3411..
노마드코더의 ChatGPT 강의를 스터디 하면서 streamlit 을 이용한 챗봇을 만들어보고 있습니다.강의 영상을 따라서 streamlit을 실행하는 도중 갑자기 nltk LookupError가 발생했습니다.잠시 당황하였지만 무슨 문제인지 확인해본 nltk가 뭔지? 해결방법은 뭔지? 알아봤습니다.NLTK(Natural Language Toolkit)는 파이썬에서 영어 텍스트 전처리 작업을 하는 데 많이 쓰이는 라이브러리라고 하네요.이 라이브러리는 50여 개가 넘는 말뭉치 리소스를 활용해 영어 텍스트를 분석할 수 있게 제공하고,직관적으로 함수를 쉽게 사용할 수 있게 구성돼 있어 빠르게 텍스트 전처리를 할 수 있다고 합니다.해결방법은  "nltk 다운로드하기" 였습니다.pip로 설치하는 방법도 있다고 ..
잘 사용하고 있던 iOS 빌드였는데 갑자기 아래와 같은 오류가 발생하면서 실행이 되지 않는 문제가 발생했습니다.Warning: CocoaPods not installed. Skipping pod install. CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side. Without CocoaPods, plugins will not work on iOS or macOS. For more info, see https://flutter.dev/platform-pluginsTo install see https://guides.cocoa..
플러터 프로젝트를 만들면 항상 하는 작업중의 하나가 build.gradle 파일을 수정하는 것입니다.제가 사용하는것은 key.properties와 local.properties를 사용하도록 수정하는 것인데요.오늘은 local.properties를 사용하는 방법을 간단히 알아보려고 합니다.https://kjmhercules.tistory.com/58 (대상 API 수준을 업데이트 하는 방법) 링크와 함께 보면 좋을것 같아요.우선 app수준의 build.gradle 파일을 다음과 같이 수정합니다.아마 프로젝트를 처음 만들면 flutterVersionCode과 flutterVersionName 두개 항목만 있을거에요.. . .def flutterVersionCode = localProperties.getPr..
Crashlytics를 적용한 이후 앱 버전을 업데이트하면 아래의 이미지와 같이 dSYM 파일이 누락되었다는 이메일이 자꾸 옵니다.먼저, dSYM 파일이 뭔지 간단히 알아보겠습니다.dSYM은 debug sumbol file의 약자이고 해당 앱의 디버그 기호 및 정보를 저장하고 있습니다.그럼 dSYM 파일을 업로드 방법을 공유해드리겠습니다.1. XCode - Window - Organizer 실행2. dYSM 파일이 누락된 버전의 위치 열기 3. 패키지 내용 보기4. dSYMs 폴더 압축5. Firebase - Crashlytics - dSYM 탭으로 이동 후 dSYM 압축 파일 업로드 그럼 아래와 같은 화면이 나오고 약 10분 이후에 적용이 됩니다.그럼 즐코딩 하세요~
최근에 do {} while 문을 사용하는데 내부 로직에서 무한루프가 도는 문제가 생겼었습니다.REST API를 호출하여 result 값을 조건으로 사용하는 로직이었는데 도무지 원인을 알수가 없었습니다. (해당 코드가 테스트 과정에서 임시로 사용했던 코드라 지금은 어떤 내용이었는지 기억이 나질 않네요 ㅠ.ㅠ)어쨌듯 한시간 가량 왜 그런 문제가 발생했는지 찾아보다Future.doWhile 이란 놈을 알게 되었습니다.그래서 이 문법을 사용하는 코드를 공유해보려고 합니다. 문법 자체는 엄청 단순한데요.아래의 코드와 같이 Future.doWhile을 사용하는 것입니다.Future.doWhile(() async {  // do something});일반적인 do {} while 구문과의 차이점이라면 break; ..
최근 구글 정책이 업데이트 되면서 8월 31일까지 대상 API 수준을 업데이트하라는 메시지가 떴습니다."세부정보 보기" 버튼을 눌러 확인해보면 아래와 같이 친절하게 위반항목이 무엇인지 알려줍니다. 이번의 경우는 Android 13(API 33)을 타겟팅하지 않아 생긴 문제이네요. [해결방법] 그럼 바로 해결해봅시다.아래의 app/build.gradle 파일을 열어 compileSdk와 targetSdkVersion을 34로 바꿔주면 끝납니다. android { namespace "com.octoverse.ocpamine" compileSdk 34 // 저는 build.gradle 파일을 위의 내용처럼 사용하지 않고 local.properties 파일을 이용해서 한눈에 보기 좋게 수정해서 사용하..
앱을 개발하다 보면 숫자를 다양하게 표시해야 하는 경우가 있습니다.숫자를 표시하는 경우 숫자가 변경되면서 위치가 움직이거나 깜빡이는 느낌을 받을때가 있습니다. 아래 동영상과 같이 "11"과 "99"의 width 값이 서로 달라 보기 좋지 않은 경우도 있죠.이 문제를 해결하는 방법을 알려드리겠습니다.우선 간단하게 설명드리면 아래 코드와 같이 fontFeatures에 tabularFigures를 설정하는 것입니다.Text( '1. $formattedTime (tabularFigures)', style: const TextStyle( fontSize: 30, fontFamily: 'NotoSans', fontFeatures: [FontFeature.tabularFigure..
알렉산도대왕
알렉산도대왕의 개발일지