전체 글
-
[Riverpod] Unhandled Exception: Tried to modify a provider while the widget tree was building.Programing/Flutter 2024. 6. 9. 21:52
어떤 화면에 로딩 인디케이터(loading indicator - 작업 완료될 때 까지 뱅글뱅글)를 넣어놨는데,작업이 완료되기 전에 해당 화면에서 빠져나갈 경우, 다시 그 화면으로 들어갔을 때무한정 뱅글뱅글 돌아가는 에러가 있음을 확인했습니다. 그래서 그 화면에 들어가자마자 indicator.status = false로 설정해두면 되겠지... 하면서 다음과 같이 코드를 작성했습니다.import 'package:flutter/material.dart';import 'package:flutter_riverpod/flutter_riverpod.dart';import 'package:projects/common/w_loading_indicator.dart';class ChatScreen extends Consum..
-
[Flutter] HandshakeException: Handshake error in client (OS Error: CERTIFICATE_VERIFY_FAILED)Programing/Flutter 2024. 5. 19. 00:51
앱에서 서버로 request를 보내는 과정에서 다음과 같은 에러가 발생했습니다. 원인은 요청한 서버의 인증서(CA)가 공인된 인증서가 아니기 때문입니다. 권장할 수 없는 방법이긴 하지만, 우회/무시 할 수 있는 방법은 있습니다. 방법참조: https://stackoverflow.com/questions/54928080/flutter-https-handshake-error-in-client-os-error-certificate-verify-failed-ok 1. main.dart에 새로운 MyHttpOverrides class 추가// ...class MyHttpOverrides extends HttpOverrides{ @override HttpClient createHttpClient(Securi..
-
[Flutter] (google admob) java.lang.NoSuchMethodError: No virtual method setRequestAgent(Ljava/lang/String;)Lcom/google/android/gms/ads/AdRequest$Builder;Programing/Flutter 2024. 5. 13. 01:27
토이프로젝트 앱에 구글 애드몹을 붙였더니배너광고 위젯을 표시하는 화면에서 다음과 같은 에러가 발생했습니다. 원인파악구글 Ads 공식문서를 보고 그대로 따라했었는데,안드로이드 build.gradle 설정 과정에서 google_mobile_ads 패키지와 버전 불일치가 있었기 때문에 발생한 문제인 것으로 보입니다. 패키지 간 충돌문제로 google_mobile_ads 패키지를 4.0.0으로 사용하고 있었는데 그 때문인 것 같습니다. 패키지 버전을 올릴 수는 없으므로 dependency를 변경해줍시다. dependency 수정android/app/src/build.gradledependencies { // 아래의 한줄 추가 or 버전 변경 implementation 'com.google.an..
-
[onnxruntime] CUDAExecutionProvider가 적용되지 않을 때Programing/기타 오류 해결 2024. 5. 8. 20:21
GPU 딸린 새 VM에 환경을 구축하고 테스트를 진행하는데Applied privider가 'CPUExecutionProvider'로 적용되고 있습니다. CUDA, cuDNN, onnxruntime 간 버전이 맞지 않아 발생한 문제일 가능성이 큽니다. 클라우드 서비스에서 제공하는 GPU VM은 적어도 CUDA, cuDNN 간 버전은 맞춰진 상태이므로,onnxruntime만 조정해보도록 하겠습니다. CUDA, cuDNN 버전 확인CUDAnvcc -V cuDNNcat /usr/include/x86_64-linux-gnu/cudnn_v*.h | grep CUDNN_MAJOR -A 2 ONNX Runtime 재설치이미 onnxruntime이 설치가 되어있었다면 충돌문제가 발생할 수 있기 때문에 먼저 삭제해주세..
-
[OCI VM] https 인증하기 #2 로드 밸런서 설정Programing/OCI 2024. 4. 2. 00:06
[OCI VM] https 인증하기 #1 인증서 생성 OCI에서는 인스턴스 1개에 대한 로드밸런서를 상시 무료 서비스로 제공하고 있습니다. 즉, 로드밸런서에 VM(무료)를 한개만 연결하고 certificate(무료)를 관리하면 무료로 https 인증된 서비스를 배포 brain-nim.tistory.com 지난 글에 이어 계속 진행하겠습니다. 5. Load Balancer 생성 (참고 - 로드밸런서 vs 네트워크 로드밸런서) 더보기 1) 세부정보추가 Add details 내부용 로드밸런서인 경우 "프라이빗 (Private)"를 선택하시면 됩니다. 예약한 Public IP가 있다면 "예약된 IP 주소 (Reserved IP address)"를 선택하시면 됩니다. 2) 백엔드 선택 Choose backends..
-
[OCI VM] https 인증하기 #1 인증서 생성Programing/OCI 2024. 4. 2. 00:05
OCI에서는 인스턴스 1개에 대한 로드밸런서를 상시 무료 서비스로 제공하고 있습니다. 즉, 로드밸런서에 VM(무료)를 한개만 연결하고 certificate(무료)를 관리하면 무료로 https 인증된 서비스를 배포할 수 있다는 뜻입니다. 로드밸런서의 목적이...ㅎ.. 아래의 포스팅을 참고했습니다. 16.1 Load Balancer의 인증서를 OCI Certificate로 관리하기 16.1 Load Balancer의 인증서를 OCI Certificate로 관리하기 OCI Certificate는 Load Balancer, API Gateway와의 연동을 지원합니다. Compute 인스턴 thekoguryo.github.io 이 포스팅에서 전반적인 과정을 매우 친절하게 설명하고 있지만, 그 사이 OCI 콘솔에서..
-
[streamlit] 원격VM으로 streamlit 앱 배포하기Programing/python 어플 개발 2024. 3. 30. 17:38
이전 글에서는 streamlit sharing을 통해 앱을 쉽게 배포하는 방법에 대해 다루었습니다. [streamlit] streamlit앱 배포하기 데이터분석 프로젝트나 간단한 AI모델링 프로젝트에서 Streamlit을 종종 사용하곤 하죠. Streamlit Sharing을 사용하면 Streamlit으로 만든 어플리케이션을 쉽게 배포할 수 있습니다. 무료계정 옵션의 경 brain-nim.tistory.com 쉽게 배포하고 git에 올리면 자동으로 수정되어 배포된다는 점이 매우 큰 장점이지만 커스터마이징에 한계가 있고, 타 서비스들과 연계하기 어렵다는 단점이 있습니다. 일주일에 한번 이상 접속하지 않으면 일종의 휴면모드로 전환된다는 단점도 있습니다. 이번에는 AWS EC2, OCI VM 등의 클라우드 서..
-
[streamlit] streamlit앱 배포하기Programing/python 어플 개발 2024. 3. 26. 23:54
데이터분석 프로젝트나 간단한 AI모델링 프로젝트에서 Streamlit을 종종 사용하곤 하죠. Streamlit Sharing을 사용하면 Streamlit으로 만든 어플리케이션을 쉽게 배포할 수 있습니다. 무료계정 옵션의 경우 아래와 같은 제한사항이 있습니다. 최대 3개의 어플리케이션까지 한 어플리케이션 당 RAM 1GB 제한 Github repo 중, Puiblic만 배포 가능 제한사항이야 많지만 무료도 감지덕지입니다. 그 이상을 필요로 한다면 유료옵션을 이용하거나 타 호스팅 자원을 사용해야겠습니다. 자세한 내용은 아래의 공식문서를 참조해주세요 Streamlit Docs Join the community Streamlit is more than just a way to make data apps, it'..