자유를 위해

IT 개발 35

Mac - Java 버전 관리 (jenv)

brew의 jdk를 이용한 java version 관리 이외에 내 맥북에서는 jenv로 java version을 관리하고있다. jenv 사용법을 정리하려 한다. (brew 를 이용한 버전관리 ) 1. 설치 1.1 brew로 jenv 설치 $ brew install jenv $ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc $ echo 'eval "$(jenv init -)"' >> ~/.zshrc 위처럼 추가하면 빠르게 ~/.zshrc에 추가 할 수 있다. $ source ~/.zshrc 설정 반영 스크립트를 입력하고 설치를 확인하면 $ jenv jenv 0.5.4 Usage: jenv [] Some useful jenv commands are: com..

개발/공통 2022.02.25

Mac - Java 버전 관리 (brew)

매번 구글링하기 귀찮아서 정리. 이 버전관리방법은 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..

개발/공통 2022.02.25

Flutter(플러터) - Firebase를 이용한 google Login - iOS

firebase를 이용하여 로그인 관리를 개발하던 도중 iOS앱에서 구글로그인을 시도하게되면 오류와 함께 앱이 죽어버리는 일이생겨서 구글링을 통한 오류 해결 과정을 정리 하려한다. 1. 문제 안드로이드는 문제 없이 구글 로그인이 되는데 아이폰 시뮬레이터에서는 앱이 죽어버리는 상황 발생 2. 초기 설정 문제 firebase console의 프로잭트 안에 ios 앱에 들어가서 SDK (GoogleService-Info.plist) 를 추가 안한것 부터가 시작이었다. 안드로이드만 생각하다보니 안되는게 당연한 결과 중요! 앱 생성시 번들ID를 정확히 지정해줘야하는데 {projectRoot}/ios/Runner.scodeproj/progect.pbxproj 파일의 PRODUCT_BUNDLE_IDENTIFIER

개발/Flutter 2022.02.25

Flutter(플러터) - Drift(Moor)클라이언트 DB를 ORM으로 사용하기 (sqlite)

서버에 저정하는 것 말고 휴대폰 내부 저장공간에 사용 할 수 있는 DB는 주로 sqlliste 를 사용한다. 이를 flutter에 ORM형식으로 사용할 수 있게 해주는 Drift(Moor)패키지에 대해서 정리하고자 한다. -> ORM 방식 말고도 기존의 SQL 쿼리와, Dart Table을 이용한 방법도 있지만 지금은 ORM을 이용한 DB사용만 정리하도록한다. 기존에 사용하던 패키지는 Moor인데 Moor라는 단어가 남에게 경멸하는 용어로 사용되기도 하고 Dart 와 Flutter에 사용되는 패키지라고 반영이 되는거 같지않다고 해서 rename을 결정하게되었다고 한다. 1. 기존에 사용한 moor사용법을 정리하고 2. 이후에 moor 에서 drift로 마이그레이션 하는 방법을 정리 하도록 하겠다. 유튜브..

개발/Flutter 2022.02.17

정규식 Invalid regular expression 에러 - safari/iOS

증상 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 ..

개발/React, RN 2022.02.10

Flutter(플러터) - UI를 마우스로 구축하는 곳이 있다?

플러터로 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 2022.02.07

플러터(Flutter) - 다국어 처리

앱에서 다국어 처리를 위해 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..

개발/Flutter 2022.01.28

HTTP/1.1 과 HTTP/2.0 와 HTTP/3

gRPC를 이용한 앱을 구현하던 도중에 좀 되긴하였지만 HTTP/3 가 있고, 구글에서는 이미 사용중이라고 해서 비교 글을 적으려고한다. 나중에 이직에도 도움이 되길.. 1. HTTP 1.1 - 표준 프로토콜 현재 가장 많이 사용되고 있는 표준 프로토콜이다. 특징으로는 http 헤더 사용 - 여러정보 포함 TCP 커넥션 사용 3-way-handshaking을 통한 신뢰성 확보 커넥션 재사용 파이프라이닝(piplining) 표준이긴 하지만 단점들이 있다. Head of Line Blocking 파이프라이닝을 이용한 데이터 전송 속도 향상을 이루었지만 '순차적'으로 받는 다는 한계에서 벗어나지 못해 선 요청에 대한 응답시간이 지연되면 이후의 요청들의 시간은 자연스럽게 늦춰진다. RTT(Rount Trip T..

개발/공통 2022.01.24

플러터(Flutter) - 지문인식 테스트

플러터 앱에서 현재 핸드폰에 내장되어있는 지문/ 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을 ..

개발/Flutter 2022.01.14

핸드폰 개발자모드 변경(note20)

Flutter 개발 테스트를 위해 우선 내 핸드폰 설정부터 바꾸자 내 개인핸드폰인 Note20을 기준. 1. 테스트 핸드폰 개발자모드 만들기 설정 - 휴대전화정보 - 소프트웨어정보에 들어간다. 빌드번호로 되어 있는 부분을 몇번 터치 하다보면 개발자 모드가 활성화 되어서 개발자 옵션이 생긴다. 여기서 USB 디버깅 가능모드로 바꾸면 핸드폰 준비 완료

개발/공통 2022.01.13