목록개발 (26)
동도리 개발 로그
매번 구글링하기 귀찮아서 정리. 이 버전관리방법은 iMac에서 사용중. (jenv로 java 버전관리) 1. 설치 1.1 brew 설치/업데이트 https://brew.sh/index_ko Homebrew The Missing Package Manager for macOS (or Linux). brew.sh 에서 brew 설치 / 혹은 brew update 로 brew 업데이트 1.2 java 설치 brew search jdk brew로 현재 사용가능한 jdk 를 찾는다. $brew search jdk ==> Formulae openjdk ✔ openjdk@11 openjdk@8 jd mdk cdk ==> Casks adoptopenjdk-jre adoptopenjdk11-openj9 adoptopenj..
firebase를 이용하여 로그인 관리를 개발하던 도중 iOS앱에서 구글로그인을 시도하게되면 오류와 함께 앱이 죽어버리는 일이생겨서 구글링을 통한 오류 해결 과정을 정리 하려한다. 1. 문제 안드로이드는 문제 없이 구글 로그인이 되는데 아이폰 시뮬레이터에서는 앱이 죽어버리는 상황 발생 2. 초기 설정 문제 firebase console의 프로잭트 안에 ios 앱에 들어가서 SDK (GoogleService-Info.plist) 를 추가 안한것 부터가 시작이었다. 안드로이드만 생각하다보니 안되는게 당연한 결과 중요! 앱 생성시 번들ID를 정확히 지정해줘야하는데 {projectRoot}/ios/Runner.scodeproj/progect.pbxproj 파일의 PRODUCT_BUNDLE_IDENTIFIER
서버에 저정하는 것 말고 휴대폰 내부 저장공간에 사용 할 수 있는 DB는 주로 sqlliste 를 사용한다. 이를 flutter에 ORM형식으로 사용할 수 있게 해주는 Drift(Moor)패키지에 대해서 정리하고자 한다. -> ORM 방식 말고도 기존의 SQL 쿼리와, Dart Table을 이용한 방법도 있지만 지금은 ORM을 이용한 DB사용만 정리하도록한다. 기존에 사용하던 패키지는 Moor인데 Moor라는 단어가 남에게 경멸하는 용어로 사용되기도 하고 Dart 와 Flutter에 사용되는 패키지라고 반영이 되는거 같지않다고 해서 rename을 결정하게되었다고 한다. 1. 기존에 사용한 moor사용법을 정리하고 2. 이후에 moor 에서 drift로 마이그레이션 하는 방법을 정리 하도록 하겠다. 유튜브..
증상 React로 된 웹 페이지에서 크롬, 안드로이드에서는 문제 없이 보여지지만 safari와 아이폰에서 확인하였을때 뜨지않는 오류가 발생하였다. SyntaxError: Invalid regular expression: invalid group specifier name 원인 숫자에 콤마, 포메팅하는 정규표현식에 Safai와 iOS에 지원이 되지 않는 부분이 포함되어있었다. https://stackoverflow.com/questions/58460501/js-regex-lookbehind-not-working-in-firefox-and-safari JS Regex lookbehind not working in firefox and safari I have this following regex which ..
플러터로 UI 개발시 마우스로 드래그 앤 드롭으로 미리 볼 수 있는 사이트가있어서 소개 하려한다. 페이지 이름은 Flutter Flow https://flutterflow.io/ FlutterFlow | Build Native Apps Visually FlutterFlow lets you build mobile apps unbelievably fast in your browser. Integrate with Firebase, use 3rd party services, and deploy your app straight to the app store. flutterflow.io 무료로 몇가지 샘플 UI가 있어서 내가 사용하고자 하는 서비스랑 비슷한 것을 찾아서 만들 수 있다. 내가 원하는대로 바꿀수 있는 ..
앱에서 다국어 처리를 위해 Flutter 에서 제공하는 라이브러리를 사용해도되지만 나는 Getx를 사용하기 때문에 해당 라이브러리에서 제공하는 방식을 사용한다. https://github.com/jonataslaw/getx/blob/master/README.ko-kr.md#%EA%B5%AD%EC%A0%9C%ED%99%94 GitHub - jonataslaw/getx: Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject dependencies eas Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject de..
gRPC를 이용한 앱을 구현하던 도중에 좀 되긴하였지만 HTTP/3 가 있고, 구글에서는 이미 사용중이라고 해서 비교 글을 적으려고한다. 나중에 이직에도 도움이 되길.. 1. HTTP 1.1 - 표준 프로토콜 현재 가장 많이 사용되고 있는 표준 프로토콜이다. 특징으로는 http 헤더 사용 - 여러정보 포함 TCP 커넥션 사용 3-way-handshaking을 통한 신뢰성 확보 커넥션 재사용 파이프라이닝(piplining) 표준이긴 하지만 단점들이 있다. Head of Line Blocking 파이프라이닝을 이용한 데이터 전송 속도 향상을 이루었지만 '순차적'으로 받는 다는 한계에서 벗어나지 못해 선 요청에 대한 응답시간이 지연되면 이후의 요청들의 시간은 자연스럽게 늦춰진다. RTT(Rount Trip T..
플러터 앱에서 현재 핸드폰에 내장되어있는 지문/ faceId를 사용하기 위해 찾아보던 중 local_auth 패키지가 지원해준다는 것을 알고 테스트 해보았다. 우선 local_auth 패키지 주소 는 아래 링크에서 확인할 수 있다. local_auth | Flutter Package Flutter plugin for Android and iOS devices to allow local authentication via fingerprint, touch ID, face ID, passcode, pin, or pattern. pub.dev Flutter에서 사용하기 pubspec.yaml 에 아래와 같이 local_auth 를 추가 (작성일 최신 버전 v1.1.10) 중요한것! 위 링크에서 example을 ..