본문 바로가기

전체보기154

[flutter,firestore] 파이어 스토어 필터링 후 정렬하기 - 복합색인, 태그검색 기능 구현 파이어베이스는 NoSQL 엑셀에 익숙한 저는 처음 파이어 베이스의 파이어 스토어를 사용했을 때 이건 머지?? 라는 생각을 했습니다. 파이어 베이스는 NoSQL방식으로 비전문가, 취미 개발자 입장인 저에게는 Json 또는 딕셔너리와 그냥 똑같다고 느껴졌습니다. 많이 없는 예제 자료들 SQL 자료는 이미 구글에 검색하면 수없이 나오지만 파이어베이스에 대한 자료는 거의 한글로 된 문서는 없고, 영어로 된 문서가 대부분입니다. 이점은 저한테 취미개발자에게는 취약한 부분일 수 밖에 없고, 또 겨우 겨우 알았다고 해서 머리 속에 오래 남지 않습니다. 그래서 저의 시행착오를 이 티스토리에 혹시나 미래의 저 혹은 저와 같은 문제를 가지고 계신 분들을 위해 기록을 남기고자 합니다. MySQL로는 할수 있을거 같은데 파이.. 플러터관련 정보/파이어 베이스(플러터) 2022. 6. 6.
돌발성 난청 골든 타임내 병원 갔을때 후기(서울아산병원 안중호 교수님) 갑자기 귀에 물이 찬 느낌이 났다.. 동네 이비인후과에 가니 갑자기 청력 검사를 하자고 하셨다. 그때 까지만 해도 저는 중이염이나 고막이 이상이 있을거라고 별 대수 롭지 않게 생각했습니다. 근데 갑자기 청력검사지를 보시던 선생님이 진료 의뢰서를 드릴테니 하루빨리 큰병원으로 가보라는것이 아닌가?? 그때 저는 몬가 잘못 들은줄 알았습니다. 그렇게 심각한 건가??? 1/3은 청력이 돌아오지 않는다... 아마 돌발성 난청 진단을 받으신 분들은 대부분 일단 저와 같은 이야기를 들을 실거라 생각됩니다. 1/3은 청력이 나빠지고 1/3은 이대로 청력이 더 나빠지지 않고 1/3만 원래 청력으로 돌아온다고 합니다. 이때 부터 저는 서울에있는 빅5병원, 저의 고향 분당의 큰 병원을 모조리 뒤쳐 제일 예약을 빨리 잡을수 있.. 후기/내가 직접 경험한 후기 2022. 6. 6.
돌발성 난청으로 인한 스테로이드 복용 후 부작용 치료 지난 2월 돌발성 난청으로 고용량의 스테로이드를 복용하였습니다. 이로인해 제가 겪은 부작용에 대해 포스팅 하겠습니다. 약을 끊은지 3일째 되던 날부터 온몸이 가렵기 시작하더니 온몸에 두르러기? 좁쌀 사마귀 같은 것들이 나기 시작했습니다. 괜히 긁어서 더 악화 시킨것 같아 후회가 되어지만 이미 벌어진일.... 결국 회사를 좀 일찍 나와 집 근처 피부과로 갔습니다. 아무래도 고용량의 스테로이드를 복용하였고 피부과 약도 스테로이드를 줄것 같아 미리 제가 이비인후과에서 처방 받은 처방전도 들고 갔습니다. 피부과 선생님께 처방전을 보여드리고 진찰을 받았습니다. 그리고 4일치 약을 주셨고 바로 약국으로 가서 이번엔 약사선생님께 처방 받을 약에대해 물어 보았습니다. 아무래도 스테로이드를 다시 먹게 되었을때 또 다른 .. 후기/내가 직접 경험한 후기 2022. 6. 5.
[Flutter, firebase]파이어 스토어에서 데이터 저장하고 불러오기 flutter 파이어베이스 데이터 가져오기 순서 파이어베이스에 프로젝트를 생성한다. dart package 설치 cloud_firestore firebase_core 프로젝트와 파이어베이스를 연결한다. flutterfire configure 명령어를 실행(저는 CLI를 이용하였습니다. ) 파이어 베이스 초기화 파이어 스토어 데이터 베이스 만들고 규칙 설정한다. 파이어 스토어에 CRUD 기능을 구현할 클래스를 만든다. 데이터를 객체로 만든다. 불러올때는 fromJson 사용 저장할때 tojson 함수 사용 CRUD를 처리할 클래스를 만든다. 파이어베이스(파이어스토어) 기본 개념들 Collection Table이랑 비슷한 개념이다. Document Row, Record와 같이 하나의 데이터 최소 단위 Doc.. 플러터관련 정보/파이어 베이스(플러터) 2022. 4. 13.
ORM(SQLALCHEMY)에서 그냥 SQL로 하게된 이유 -제가 생각하는 ORM의 단점 시작하며 파이썬의 SQLALCHEMY, Flutter drift(Moor)와 같이 쉬게 데이터베이스를 사용 할수 있게 해주는 ORM들이 많습니다. 저는 플라스크를 접하면서 SQLALCHEMY에 대해 알았고 플러터를 접하면서 drift(Moor)를 알았습니다. 이런 ORM은 파이썬이나 다트 언어만 알고 있으면 SQL을 모르더라도(?) 어느정도 기능 구현, 사용은 가능하다는 장점이 있습니다. 하지만 저는 그냥 이제부터 파이썬으로 MySQL을 사용하여 서비스를 개발할때 ORM 사용을 줄이려고 합니다. 지금 부터 그 이유에 대해 써보려고 합니다. 가장 큰 이유는 자료가 많이 없다. 공식문서를 보면 좋겠지만 당장 내가 필요한 기능을 찾기에는 공식문서를 다 볼수도 없고, 구글링을 해봐도 쓰는 사람이 적어서 그런지 .. 플러터관련 정보/플러터-안드로이드 개발 2022. 4. 10.
[flutter, firebase] 핵심만 콕콕!! 플러터와 파이어베이스 세팅하기 with Firebase CLI 사용 Firebase CLI를 사용하면 쉽게 플러터 앱과 파이어 베이스를 연결 할 수 있습니다. 기존 여러 강의에서는 수동으로 설정하는 방법은 많이 소개하는데 Firebase CLI를 이용하여 연결하는 방법을 별로 없더군요. 사실 공식 문서를 보면 쉽게 할수 있지만 복습하는 의미에서 한번 써보도록 하겠습니다. 참조한 사이트를 Firebase CLI 사이트: https://firebase.google.com/docs/cli Firebase CLI 참조 | Firebase Documentation Firebase.Installations firebase.google.com 플러터와 파이어베이스에 관한 사이트 : https://firebase.flutter.dev/docs/overview/ FlutterFire O.. 플러터관련 정보/파이어 베이스(플러터) 2022. 3. 21.
[Flutter]drift로 todo list 만들기 예제 - 2탄(with drift, SQLite) Flutter로 todo list 만들기 1탄에 이어 2탄도 이어 가겠습니다. 1탄을 못보신 분은 아래 링크로 가시면 됩니다. https://jh-industry.tistory.com/52 [Flutter] todo list 만들기 예제 - 1탄(with drift, SQLite) 시작하면서... 이전에 Moor를 이용한 SQLite CR 포스팅을 한적이 있습니다. 이후 Update와 Delete 부분에 대한 포스팅을 한다고 했는데 아직까지 못했네요 지금은 Moor가 drift로 이름이 바뀐거 같더군요 jh-industry.tistory.com 완성된 화면 어플 구현 영상 main.dart 아래 전체 코드에는 드리프트(drift) 사용법과는 관계 없는 코드도 있습니다만 우선 전체적인 부분적인 코드를 발췌.. 플러터관련 정보/플러터-안드로이드 개발 2022. 3. 5.
[Flutter] drift로 todo list 만들기 예제 - 1탄(with drift, SQLite) 시작하면서... 이전에 Moor를 이용한 SQLite 사용법 포스팅을 한적이 있습니다. 이후 Update와 Delete 부분에 대한 포스팅을 한다고 했는데 아직까지 못했네요 지금은 Moor가 drift로 이름이 바뀐거 같더군요 이번에는 드리프트를 이용해서 간단한 할일리스트(to do list)를 만드는 예제를 만들어 보겠습니다. 이전 포스팅 Flutter, Moor(SQLite ORM)을 사용한 CRUD 정리 - 1편 Create, Read - Flutter moor example, Dart ORM, Flutter database tool 외부 서버 등의 저장공간을 사용하지 않고 손쉽게(?) 휴대폰 내부 저장공간에 사용 할 수 있는 로컬 DB은 SQLite를 ORM 형식으로 사용할수 있게 해주는 Moor.. 플러터관련 정보/플러터-안드로이드 개발 2022. 3. 4.
[flutter] beamer update에 따른 state.pathBlueprintSegments 변경 강의 버전과 현재버전이 달라 생기는 문제점 코딩 파파 님의 당근 마켓 클론강의를 수강하다보면 아무래도 패키지의 업데이트에 따라 변경된 부분이 발생합니다. 일단 강의와 같은 버전으로 공부하고 추후 코딩파파 님께서 업데이트를 해주신다고 하시기는 했는데 코딩파파님의 강의 들으면서 문제해결 방법도 어느정도 알려주셔서 이번 문제도 제가 한번 해결 해보려고 했습니다. 업데이트 후 없어진 beamer(^0.14.1) state.pathBlueprintSegments 어디에?? 강좌에서는 분명 'state.pathBlueprintSegments' 라고 했는데 저한테는 안뜨더 군요. 이곳 저것에 알아보니 1.0.0 버전 업데이트 후 이름이 변경 되었다고 나오네요 근데 BeamPage 부분의 state도 RouteInfo.. 플러터관련 정보/플러터-안드로이드 개발 2022. 2. 27.
[Flutter] 플러터로 여러가지 영상(비디오) 재생하는 법(Video_player) 이번 포스트는 유튜브 화면과 같이 리스트뷰로 여러가지 영상을 Video_player로 보여주는 것입니다. 참고 자료: 플러터 공식문서 -> 영상 재생 및 일시 중지 영상 재생 및 일시 중지 앱 개발에 있어 영상 재생은 일반적인 작업으로 Flutter에서도 예외는 아닙니다. 영상을재생하기 위해 Flutter는 [`video_player`]({{site.pub-pkg}}/video_player) 플러그인을제공하고 있습니다. `video_player` 플러 flutter-ko.dev 완성된 화면입니다. 기본적인 컨셉은 별도의 비디오 플레이어 위젯을 만들고 그 위젯을 리스트 뷰로 보여주는 것입니다. 비디오 위젯은 기본 예제를 참고하여 만들었습니다. 자세한 설명은 위에 참고 자료 링크를 보시는 것이 더 좋을 거 .. 플러터관련 정보/플러터-안드로이드 개발 2022. 2. 13.
안드로이드 스튜디오 범블비 업데이트 후 CocoaPods not installed or not in valid state 오류 해결 안드로이드 스튜디오 범블비(android studio version bumblebee) 업데이트 후 이것저것 문제가 많네요. 디바이스 매니져가 안열리고 이번에는 iOS 빌드 시 CocoaPods not installed or not in valid state. 오류가 발생합니다. 진짜 이 문제를 해결하려고 안드로이드 스튜디오와 플러터 CocoaPods를 얼마나 삭제 재설치를 했는지 모르겠네요 결국 스택오버플로우에 가장 최근 질문 순을 검색해서 해결하였습니다. 지금까지의 CocoaPods not installed or not in valid state 은 CocoaPods의 자체의 문제 해결 방법이라면 제가 발견한 해결방법은 안드로이드 스튜디오 범블비 자체의 문제인거 같습니다. 참고로 디바이스 매니져가 안.. 플러터관련 정보/플러터-안드로이드 개발 2022. 2. 1.
문제해결-안드로이드 스튜디오 범블비 업데이트 후 디바이스 매니저 실행안됨 해결 Why Device Manager don't open? Why Device Manager don't open? Guys I'm working on the flutter project and after I updated the version of the android studio when I click on the device manager to open my devices it didn't show up I don't know what should do? Ed... stackoverflow.com 1. 프로젝트 스트럭쳐 메뉴에 들어간다. 2. 모듈 탭에 들어간다. 3. + 버튼을 눌러 안드로이드를 추가 한다. 4. OK 버튼을 누르고 나간다. 5. Device manager를 클릭하면 정상 동작한다. 플러터관련 정보/플러터-안드로이드 개발 2022. 1. 27.
해결된 이슈 - 안드로이드 스튜디오 범블비 업데이트 후 디바이스 매니져 작동 안함 해결 방법 링크 입니다. https://jh-industry.tistory.com/48 스택오브플로우에 해결 방법이 올라와 있더군요 자세한 건 위에 링크를 클릭해주세요 android studio bumblebee device manager not opening 안드로이드 스튜디오 오늘 업데이트 후 디바이스 매니져가 열리지 않는 버그가 있습니다. 아래 이슈 트래커에도 많은 내용이 있는것을 보아 많은 사람이 같은 이슈를 겪고 있는거 같습니다. 아직 뚜렷한 해결책은 없는거 같습니다. 새로운 업데이트가 나와야 해결될것으로 보이니 해결될때까지 업데이트는 자제하시는게 좋을것 같습니다. https://issuetracker.google.com/issues?q=device%20manager&pli=1 플러터관련 정보/플러터-안드로이드 개발 2022. 1. 26.
앱개발로 돈벌자 - 플러터 강의(코딩파파), Do it! 플러터 앱 프로그래밍 내돈 내산 후기 취미로 안드로이드 개발해서 돈 벌자!! 올해의 목표는 안드로이드 어플을 개발하여 월 1만원 벌기입니다. 비전공자가 독학으로 로또 어플을 출시하기까지 후기를 남겨 봅니다. 일단 앱 개발 언어를 정하자 우선 앱 개발을 위한 언어에는 여러가지가 있습니다. 안드로이드는 자바, 코틀린 애플은 오브젝트C, 스위프트가 있습니다. 취미로 시작하는 프로젝트다 보니 최소한의 비용만 가지고 진행해야 되었습니다. 안드로이드 개발자 등록: 25달러 1회 애플 개발자 등록: 매년 갱신 99달러 일단 안드로이드 개발자 등록은 한번만 25달러를 지불하면 됐지만 애플은 매년 99달러의 비용 들었습니다. 그래서 저는 일단 안드로이드로 개발하고 잘되면 iOS로 넘어가려는 계획을 세웠습니다. 일단 자바 or 코틀린 안드로이드 개발에 가장 .. 플러터관련 정보/플러터-안드로이드 개발 2022. 1. 24.
[Flutter, Dart] 생성자, Named Constructor, 이니셜라이져 정리 전체 코드 void main() { Mac myMac = Mac('red','16'); print(myMac.color); print(myMac.screenSize); Map json = {'color':'blue','size':'14'}; Mac jsonMac = Mac.fromJson(json); print(jsonMac.color); print(jsonMac.screenSize); Mac forwardMac=Mac.forward('amber','14'); print(forwardMac.color); print(forwardMac.screenSize); } class Mac{ String? color; String? screenSize; // 사용법1 Mac(this.color,this.screenS.. 플러터관련 정보/플러터-안드로이드 개발 2022. 1. 16.
[Flutter, Dart 문법] List형 자료의 map 함수 관련 정리 void main() { print("map fucntion train"); List intList = [1,2,3,4]; List newList = intList.map((value){ return value*2; }).toList(); List newList1 = intList.map((value)=>value*3).toList(); print(intList); print(newList); print(newList1); } 리스트 같이 이터러블에 있는 내장함수로 각 리스트의 항목들을 함수에 집어 넣어 다시 리스트로 만들때 사용합니다. 플러터관련 정보/플러터-안드로이드 개발 2022. 1. 6.
[1인 앱 개발] 1인 개발자 Google Ads 광고 12000원써서 로또 어플 홍보 후기 로또 어플 사용자가 늘지 않아 고민이 늘어가던 때.... 블로그 홍보, 인스타그램 홍보도 해보았지만 제가 그렇게 바이럴이 쎈 사람도 아니여서 블로그, 인스타를 통한 홍보효과가 미미했습니다. 그렇게 저는 매일매일 사용자가 늘지 않아 고민이었습니다. Google Ads 광고나 해볼까?? 고민하던차 다른 1인 개발자 글을 보니 전단지라도 돌려라 라는 말을 듣고 호기심 삼아 Google Ads 광고로 제가 만든 로또 어플을 홍보해 보았습니다. 일단 16,000원 써보자 수동결제로 진행하였고, 최소 결제 단위는 16,000원이어서 일단 16,000원 결제해보았습니다. 그 결과... 나름 대 성공?!! 결과는 제 상상 이상이었습니다. 16,000원 중 약 12,000원 정도 쓴 결과 였습니다. 이것도 파고 들면 많.. 후기/내가 직접 경험한 후기 2022. 1. 2.
[플러터(flutter) 오류 해결] Class AMSupportURLConnectionDelegate is implemented 오류 해결법 플러터 iOS 빌드시 아래와 같은 오류가 발생하여 해결한 방법을 소개 하겠습니다. Class AMSupportURLConnectionDelegate is implemented in both /usr/lib/libauthinstall.dylib (0x1e6ff2b90) and /Library/Apple/System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/MobileDevice (0x103e242c8). One of the two will be used. Which one is undefined. Class AMSupportURLSession is implemented in both /usr/lib/libauthinstall.dylib (0.. 플러터관련 정보/플러터-안드로이드 개발 2022. 1. 1.
도커파일 사용법 - 도커를 이용한 FastAPI 서버 구축 방법 관련 정리 기본 컨셉 기본 FastAPI 서버 구성을 위해 우선 구글 클라우드 VM 인스턴스에 도커를 설치하고 VM 인스턴스 로컬저장소에 /code/app 폴더를 만들어서 컨테이너에 바인드 마운트하였습니다. 이렇게 하면 컨테이너에 접속하지 않고도 로컬 폴더(/code/app 폴더)에 있는 파이썬 코드만 수정하면 되어 코드 수정할때마다 컨테이너에 접속하지 않아되어 편리합니다. 기본 순서 1. 구글 클라우드 플래폼에 VM 인스턴스를 만든다. 2. VM 인스턴스에 도커를 설치한다. 3. 도커 파일을 만든다. 4. 도커 파일로 이미지를 생성한다. - 도커 명령어 sudo docker build -t myimage . 5. VM 인스턴스 로컬 저장소에 code/app/ 폴더를 생성하고 main.py 생성 후 폴더로 업로드 .. 프로그래밍사업/도커(docker) 2021. 11. 18.
[SQL] Postgres에서 중복도 제거하고 다른 컬럼 기준으로 정렬하기(DISTINCT, ORDER BY, subquery SQL(Postgres)로 해보기 //Postgres SELECT * FROM ( SELECT DISTINCT ON (중복을 제거할 컬럼명) * FROM 테이블명 WHERE name='a') as foo ORDER BY id DESC; // 정렬할 컬럼 python SQLAlchemy로 해보기 from sqlalchemy import desc // 중복을 제거한 서브커리를 생성한다. sub_images = db.query(테이블명).distinct(테이블명.컬럼명).filter(테이블명.컬럼명==컬럼에서찾을내용).subquery() // 서브커리를 ORDER BY로 정렬한다. tests = db.query(sub_images).order_by(desc("id")).all() SQLAlchemy에서 서브커.. 프로그래밍사업/사이드 프로젝트 2021. 11. 6.