본문 바로가기
  • 포르쉐타고싶다

분류 전체보기93

[node.js] nodemailer 구현 방법 1. nodemailer 라이브러리 설치 npm i nodemailer 2. env파일에 메일 정보추가 NODEMAILER_USER = "[이메일]" NODEMAILER_PASS = "[비밀번호]" ** 이 때 저 비밀번호는 계정의 비밀번호가 아니다! @ google에서 1) 내 계정 2) 보안 -> 내 비밀번호 3) 앱 비밀번호 추가: 이름 설정 이 비밀번호를 사용해야 한다. 3. nodemailer 객체 초기화 let transporter = nodemailer.createTransport({ service: 'gmail', host: 'smtp.gmail.com', port: 587, secure: false, auth: { user: process.env.NODEMAILER_USER, pass: .. 2021. 8. 9.
[flutter] #if __has_include(<kakao_flutter_sdk/kakaofluttersdkplugin.h>) 혹은 Undefined symbols for architecture arm64: "_OBJC_CLASS_$_kakaoFlutterSdk.... 에러 해결 https://github.com/flutter/flutter/issues/41900 Error when 'flutter run': Undefined symbols for architecture arm64: · Issue #41900 · flutter/flutter I get error when 'flutter run': charlesdeMBP:rongchang_app charles$ flutter run Launching lib/main.dart on yueji的 iPhone in debug mode... Automatically signing iOS for device deployment usi... github.com flutter clean rm ios/Podfile ios/Podfile.lock.. 2021. 8. 6.
[flutter] url_launcher 에러: Attempt to present <SFSafariViewController: 0x1042b6400> on <SFAuthenticationViewController: 0x103d15800> (from <SFAuthenticationViewController: 0x103d15800>) whose view is not in the window hierarchy. 해결 회원가입과 비밀번호찾기 등을 구현하는 대신 카카오 채널을 통해 연결해 놓은 상태이다. Uri kakaoChannelUri = await TalkApi.instance.channelChatUrl('_fZnrK'); 카카오로그인과 카카오 채널 연결은 상관없는 내용이고 패션몬스터에서는 카카오로그인 -> 카카오 채널 연결을 이어 구현한 상태이다. 카카오로그인 String authCode = await AuthCodeClient.instance.request(); //authCode로 token 확인 print(TAG + 'authCode: ' + authCode); // getting access token AccessTokenResponse token = await AuthApi.instance.issueAc.. 2021. 7. 29.
[flutter] FLUTTER SDK installation is incomplete 에러 다른 버전의 Flutter SDK를 사용하다가 위와 같은 에러로 SDK를 사용하지 못하는 에러가 발생하는데 나같이 노트북을 잘 종료하지 않는 사람들은 자주 겪는 에러이다. Flutter 공식 문서의 지시사항을 잘 따른 다음에는(sdk 다운, 환경변수 설정, source ~~) 컴퓨터를 껐다켜야 해당 환경변수가 전역적으로 적용이 된다. (echo %PATH에 해당 sdk경로가 추가되었다고 적용이 된 것이 아니다! 가뜩이나 노트북 종료 안하는데 개고생했다.. 2021. 7. 9.
[flutter] statusBar for android and ios build에 SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle( //상태바 색 -> 근데 ios에는 적용 안됨 statusBarColor: Theme.of(context).backgroundColor, // 상태바 글자색 // For Android. // Use [light] for white status bar and [dark] for black status bar. statusBarIconBrightness: Brightness.light, // For iOS. // Use [dark] for white status bar and [light] for black status bar. statusBarBrightness: Brightness.dar.. 2021. 5. 24.
[npm] npm install 중 ../../nan/nan_object_wrap.h:24:25: error: no member named 'IsNearDeath' 에러 해결 문제 블록체인 프로젝트를 진행하던 중 특정 모듈을 다운 받기 위해 터미널에 $ npm install 를 입력했는데 ../../nan/nan_object_wrap.h:124:26: error: no member named 'IsNearDeath' in 'Nan::Persistent' assert(wrap->handle_.IsNearDeath()); 같은 에러가 발생하였다 . 해결 node의 버전을 downgrade 해줬더니 해결되었다. $ npm install -g n $ n 10.15.1 사용하려고 하는 package는 npm버전과 관련이 있을 뿐만 아니라 node의 버전도 맞춰줘야 한다. 2021. 4. 13.
[nginx] 특정 도메인으로 들어왔을 때, 다른 도메인으로 redirect 하는 방법 서론 도메인 구매 사이트에서 도메인을 구입한 뒤 해당 도메인의 특정 호스트에 대해 다른 도메인으로 연결할 일이 생길 수 있다. 해당 작업은 도메인 구매 사이트의 관리툴에서 해결할 수 없고 직접 웹호스팅을 통해 코드를 작성해야 한다. 필자는 ec2 웹서버와 nginx를 사용하여 redirect를 진행하였다 해결 방법 1. ec2 서버에 nginx를 설치한다 2. nginx의 sites-available에 하나의 파일을 생성하고 리다이렉팅하는 코드를 작성한다 3. nginx를 재실행한다. 1. ec2서버에 nginx를 설치한다 [ubuntu@~:] sudo apt-get install nginx 2. nginx의 sites-available에 하나의 파일을 생성하고 리다이렉팅하는 코드를 작성한다. - 파일생.. 2021. 2. 10.
[flutter] 에러 "Flutter/Flutter.h not found." 에러 해결 문제: Flutter SDK가 동기화가 안되고 있는 상태, 아무리 flutter clean을 조져봤자 refresh되지 않고 위의 에러가 뜬다 해결: $ rm ios/Flutter/Flutter.podspec $ flutter clean 2020. 12. 20.
[flutter] Flutter 프로젝트에서 android 모듈을 켜고싶은데 버튼이 비활성화 되어있을 때: .iml파일 문제: 어떤 프로젝트의 android 모듈를 보고싶을 때, android 패키지에 오른쪽 마우스를 누른 다음 Flutter -> open Android Module in Android Studio 를 통해 열 수 있다. 그러나 어떤 프로젝트를 '클론'해서 보거나 할 때, 위의 Flutter 버튼이 비활성화 되어 안드로이드 모듈을 못 켜는 경우가 있다. 해결: 이 때 android 패키지를 보면 .iml 파일이 없을 것이다. 이 .iml 파일을 다른 플러터 프로젝트로부터 복사해 와서 이름을 [프로젝트명_android.iml] 로 붙여주고 다시 오른쪽마우스를 눌러보면 이제 활성화되어있을 것이다. 2020. 12. 19.
[flutter] 앱 출시와 앱 서명 앱을 완성하고 출시를 할 때 기본, 필수이지만 놓치는 부분이 있다. 바로 앱 서명 부분. 앱 서명을 왜 하는지 와닿지 않은 상태에서 따라만 하려니 디버깅할 때 되던 기능이 스토어를 통해 다운을 받으면 먹통이 되는 모습을 발견하게 된다. 나는 바보라서 어플의 카카오로그인이 안되고나서야 앱 서명이 뭔지 깨닫게 되었다. 기업의 거래과정을 보면 협상안을 기업의 회장이 보면 서명을 통해 확인했다는 인증을 남긴다. 그 서명은 그 거래가 나중에 법원같은 곳에서 증거 등으로 유효성을 따지게 됐을 때 공인된 것임을 인증한다. 서명에 대응되는 앱 서명키는 비슷하게 해당 앱이 인증된 개발자로부터 만들어진 앱이다 를 인증하는데 이용된다(앱서명키=서명, 개발자=회장, 타사 api회사=법원) 앱 서명키는 개발모드, 출시모드로 나.. 2020. 12. 12.
[flutter] 에러: Execution failed for task ':app:compileFlutterBuildDebug'. 뒤로의 모든 에러해결과정 = Flutter SDK를 바꿔주면 통로가 뚫린다 아이클라우드를 업데이트를 했는데 어김없이 생뚱맞은 플러터 프레임워크에서 에러가 터졌다. 처음엔 식은땀이 줄줄 났던 프레임워크 에러,, 이제는 반갑기만 하다 가장 먼저 시비를 건 에러는 Execution failed for task ':app:compileFlutterBuildDebug'. 라고하는 에러였다. 여러 에러를 만나봤지만 이 문구는 처음보는 에러였다. 구글에 검색해서 모든 명령어를 따라해봤지만 해결되지 않았다.. flutter clean을 거의 100번 이상 돌린 것 같다.. 여기서 flutter upgrade였나 에러가 해결 되기는 무슨 다음단계(?)로 넘어갔다.  스튜디오에선 Process 'command '/Users/apple/Documents/SDK/flutter/bin/flutter.. 2020. 12. 8.
[flutter] 특정 위젯 rebuild에서 제외시키기: AsyncMemoizer flutter는 수 많은 rebuild가 이뤄진다. 대표적인 예로 TextField가 있는데 TextField를 클릭만 해도 rebuild가 일어난다. 이런 rebuild는 좋은 역할도 많이 하지만 방해할 때도 많다. 인스타그램에서 검색뷰를 보자 검색에서 검색어 입력창을 누르면 검색결과를 보여주는 화면전환이 일어나고 검색어를 입력한 뒤에 결과리스트 스크롤을 내리면 자연스럽게 결과리스트를 보게된다. 이렇게 간단해보이는 뷰도 불필요한 rebuild로 인해 구현되기 어렵다. 나는 검색어를 입력하면 1) 데이터를 불러오는 시간 2) 2초 딜레이 를 진행하는 future를 선언하여 검색결과 창안의 Future.builder에 적용하였다. 위의 future이 완료되지 않으면 로딩창이 나타난다. 하지만 불필요한 re.. 2020. 11. 9.
[flutter] TextField 타이밍 : Debouncing 검색기능 등에서 텍스트가 바뀔때마다 통신을 하게 구현을 했을 때 현실과 이상의 괴리가 발생한다. 이상: 원하는 텍스트를 '모두' 입력했을 때, 그 텍스트에 대해서 검색을 시도한다. 현실: 텍스트가 바뀔 때마다 '불필요한'통신을 모두 놓치지 않고 진행한다. TextField안의 onChanged에서 텍스트입력에 따른 통신을 바로 하지 않기위해 억지로 await Future.delay()를 중간에 끼고 통신을 뒤에 붙이는 시도를 해봤자 onChanged:() { setState(() { isLoading = true; }); await Future.delayed(Duration(seconds: 1)); getConnect() //통신시도 } 저 onChanged 콜백 자체는 텍스트가 아무리 빨리 바뀌어도 스.. 2020. 11. 5.
shallow copy / deep copy 한 리스트에 대해서 하나는 적용결과로, 하나는 변동가능한 보여주기용으로(앨범 선택) 사용해야한다. 이 두 리스트는 언제는 같으면서도 독립적으로 사용되어야 한다. (앨범에서 사진을 선택하고 적용을 누르지 않고 앨범창을 닫은 다음 다시 앨범 선택버튼을 누르면 이전에 적용하지 않은 의미없는 선택된 이미지들 대신 그 이전에 적용했던, 결정되어있는 리스트를 보여주어야 한다.) 앨범에서 가져온 이미지 리스트를 적용결과 필드, 보여주기용 필드에 각각 넣는다고 해보자 List imageList = [Photo(), Photo(), Photo()]; List _photoList = List();//보여주기용 List _prePhotoList = List();//적용결과용 대표적으로 1) = 으로 넣어주는 방법 2) ad.. 2020. 10. 27.
[flutter] Text를 중앙정렬하고싶은데 Center안에 넣어도, textAlign: TextAlign.center로 해도 중앙정렬이 안된다ㅜ : TextStyle(height:) 이용 Text를 중앙정렬하고싶은데 Center안에 넣어도, textAlign: TextAlign.center 를 설정해도 가운데정렬이 안되고 위의 공간이 남겨지고 아래로 치우치는 것을 볼 수 있다. 이유 기본적으로 텍스트는 의 형태로 설정이되고 사진을 보면 위의 공간이 기본적으로 부여되어있는 'Font metrics default height'로 지정되어있는 것을 볼 수 있다. TextStyle(..)의 height성분은 fontSize * height로 계산되어 저 Font metrics height로 설정할 수 있다. 해결법: Font metrics height를 Font size와 동일하게 해야 원래 우리 목적대로 여백이 없이 글자크기를 조절할 수 있다 Font metrics height = Font s.. 2020. 10. 26.