반응형

전체 글 163

[MongoDB/Javascript] 몽구스 반환객체 to Javascript Object

몽구스 이놈은 쿼리문 반환을 자바스크립트 객체로 안해주고 , 지만 알고있는 형태 (Mongoose Document)로 반환해줌. 그래서 이 반환 값을 그대로 받아서 깊은 복사 해서 보면 겁나 이상한 형태로 들어있음. 아ㅏㅏㅏㅏ진짜 ㅈ아ㅉ자증ㄴ나ㅏ 몽구스 공식 문서에 따르면 몽구스 쿼리의 반환객체인 이 "Mongoose Document" 는 내부 상태가 많기때문에 Javascript Objec 보다 훨씬 무겁다! 쿼리 성능 향상을 위해서 lean() 부터 이용하라! 고 가이드 하고있음 예를 들면 const schema =new mongoose.Schema({ name: String }); const MyModel = mongoose.model('Test', schema); await MyModel.crea..

카테고리 없음 2022.09.29

[Node.js] pm2, 왜 쓸까?

pm2 공식 사이트의 한줄 소개를 보면 , "Advanced, production process manager for node.js" 라고 소개되어있다. node.js를 위한 발전된 상품 프로세스 매니져 ! *process : 컴퓨터에 저장된 프로그램이 실행돼서 메모리에 올라간 상태. 즉 동작중인 프로그램을 말함. 즉 pm2란 node.js로 만들어진 프로그램을 잘 관리해주는 아이라는 것. pm2는 여러가지 기능이 있는데, 예를들어 1. 프로그램이 꺼지면 자동으로 다시 켜줄 수 있다. - pm2로 start한 경우 , pm2로 끄지 않으면 프로세스가 예기치 못하게 꺼졌을때, pm2로 시작한 경우 그냥 재시작 된다. # pm2 start app.js - 위 명령을 해주면 app.js 라는 프로그램을 프로..

nodejs 2022.09.18

[Git] switch / checkout 차이

의도치않게 충격적인 사실 발견. 여태 브랜치를 이동하는 명령으로 git switch 를 사용했었다. 이유는.. 더 최신에 바뀐 명령어 이고, 전에 계시던 과장님께서 checkout명령어 이름이 이상하다고 하셨기 때무네. 두 명령어의 기능적인 차이는 없을거라고 생각했는데 차이가 있었다. switch --- local 에 있는 브랜치로만 이동 가능 checkout --- remote에 있는 브랜치로도 이동 가능 만약 로컬에 없는데 switch 명령어 쓰게 되면 fatal: Could not read from remote repository. 이런 에러 뜸

[AndroidStudio] the selected avd is currently running in the emulator

AVD 에서 wipe data 혹은 delete를 할때 애뮬레이터가 없는데도 (실행중이지 않은데도) 이 에러가 뜰 때가 있다. 프로그램을 종료하지 않아도 이 현상을 고칠수 있는 방법이 있다. 해당 애뮬레이터 폴더의 .lock 파일을 모두 지워주는것임. rm ~/.android/avd/your_emulator/*.lock *rm : 파일 지워라 *~/.android/어쩌구/ : 경로 * *.lock : .lock 인 모든 파일 내 애뮬레이터의 이름은 저 경로 들어가보면 확인할 수 있음. ls ~/.android/avd/ 해보면 Pixel_XL_API_31.avd Pixel_XL_API_31.ini 이렇게 나옴. .avd 이게 이름 https://intrepidgeeks.com/tutorial/when-th..

[React] .env 환경변수 관련 자잘 정보

까먹어서 짜잉났던 사실 1. 리액트 프로젝트 내에서는 변수 앞에 REACT_APP_ 을 붙여주지 않으면 변수를 인식하지 못함 2. 변수를 설정하고 저장을 하면 바로 반영되는게 아니라 서버를 한번 재시작 해줘야 반영됨 3. process.env는 자바스크립트 내장객체여서 그냥 냅다 갖다가 쓰면 된다는 사실 4. yarn start 시 --> .env.development 파일의 환경변수가 , yarn build시 --> .env.production 파일의 환경변수가 자동으로 적용됨. 명령어 입력에 따라 자동으로 인식하는거였음 5. index.html 페이지에서 환경변수를 사용하고자 할때는 그냥 %% 안에서 사용하면 되는거였다 예를 들면 카카오 지도 sdk 사용할때 앱키 입력은 // 이런 식으로 쓰면 됨 여..

[AWS] 스냅샷 공유를 이용한 계정간 rds 데이터 이동 /백업 / 복원 , KMS 키 발급

준비물 : 루트 계정이면 그냥 하면 되지만,, IAM 계정인 경우 권한을 부여받아야 한다 kms키(키 생성 권한 : AWSKeyManagementServicePowerUser) , rds ( 권한 : RDSFullAccess) , kms 키는 암호화된 스냅샷을 복사할때 필요하다. kms 키를 공유하고있는 계정만 이 스냅샷 복사가 가능하기 때문이다 스냅샷은 DB 인스턴스의 순간을 포착해서 그 순간의 데이터를 파일형태로 간직하고 있는것이다. 후에 이 스냅샷을 복원해서 DB 인스턴스를 생성할 수 있다. (원복은 불가능 , 새로운 인스턴스 생성) 나는 계정간 데이터 이동을 목적으로 하고 있기때문에, 1. 계정간 스냅샷 공유 2. 공유 받은 계정에서 해당 계정에 다시 스냅샷 복사 - 공유한(from) 계정을 삭제..

AWS 2022.08.17

[mysql / Mariadb] ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

정말 얼탱이가 없게도 잘~만 쓰던 mysql에서 갑자기 접속이 안되는 에러가 발생. 비밀번호를 맞게 입력해도 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 에러가 계속 떴다. 혹시나 싶어서 비밀번호 0000,1234,1111,root 다~~~~ 해봤는데 다 안된다. home brew를 가지고도 해보고,, 별별짓 다해봣는데 안돼서 걍 다시 지웠다 깔아야되나 생각하다가 얼탱없게 됐다 1. mysql 중단 시키기 sudo launchctl load -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist ( 기존에 실행중이었던 경우 Load failed: 3..

카테고리 없음 2022.08.16

[Flutter] Future async await

1. Future Future 클래스는 미래에 뭔가 구체적인 결과물로 나타나서 실제적인 객체로 반환된다는 약속. 자바 스크립트의 Promise 클래스와 같은 의미라고 생각하면 된당 Future 특징 : 원하는 데이터형을 지정해줄 수 있음 Future 어쩌구(){} 주로 Future.delay(dutarion,뭔가함수()) 이런식으로 delay매소드와 함께 많이 씀. 2. 비동기 처리하기 (sleep매소드 vs Future.delay()) 비동기적인 처리를 원할 때 Future.delay() 를 이용할 수 있다. 예를 들어 sleep 함수를 사용해서 실행을 늦추는 방법 vs Future.delay를 사용해서 실행을 늦추는 방법을 비교를 통해 비동기 원리를 아라보자. 먼저 기본적인 코드 뼈대는 이상태에서 진..

Flutter 2022.07.26

[Git] git stash - 내 브랜치 작업중 다른 브랜치 이동하기 / 작업 임시저장

내 브랜치에서 작업 도중 다른 브랜치의 코드를 확인할 일이 있을때가 종종 있다. 그냥 브랜치 이동을 해서 확인하면 되지 않나? 싶지만 git에서는 다른 브랜치로 이동할 때 반드시 작업 내용을 전부 commit 한 상태에서만 이동이 가능하다 . 내 모듈을 작업중인 상태에서 commit을 하기 애매한 상황일때 , git stash 를 사용한다. 임시저장 / 저장한거 가져오기 명령어만 간단히 써보자면 1. git stash 작업중이던 내용을 stack에 임시 저장. 주의 - 이때 1. staged 된 파일이나 2. tracked상태인 파일(이미 git에서 추적중인 상태로 수정중인 파일)만 stash가 가능하다. (새로 만든 파일이 있다면 git add 해줄것) stack에 저장이 되었으면 이 상태에서 git ..

Git 2022.07.03

[react] Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.

(예시코드) const [text,setText] = useState(""); . . . setText(someThing); 을 하니 Error: Too many re-renders. React limits the number of renders to prevent an infinite loop. 와같은 에러가 나타남. 구글링을 해보니 useEffect안에 dependency와 함께 써보라는 글을 발견. https://wnsdufdl.tistory.com/245 오늘의 에러 : Too many re-renders. React limits the number of renders to prevent an infinite loop. ( +13,+137 어떤 에러인가? 리액트 무한루프 렌더링 props로 전달받..

반응형