전체 글
-
[mongodb] 비밀번호 설정하기(m1)카테고리 없음 2023. 1. 26. 14:58
mongodb를 이용하려면 id와 pw를 설정해야 한다. 그런데 이게 귀찮기도 하고 사람들이 할 필요성을 잘 못느껴서 하지 않는 경우가 많다. 그러나 이런 경우 해커들이 찾아서 공격하기도 한다. 그러면 비밀번호가 없으니 쉽게 당할 수 밖에 없다. 그렇기에 설정을 해보자! use admin db.createUser({user:"계정이름",pwd:"비밀번호",roles:['root]}) 각 데이터베이스용 계정도 만들 수 있다. 계정을 삭제할 때는 use admin db.dropUser('계정이름') 그리고 mongod.conf 파일을 바꾸어준다. 위치는 m1이면 /opt/homebrew/etc systemLog: destination: file path: /opt/homebrew/var/log/mongodb..
-
mongoDB RDBMS 비교카테고리 없음 2023. 1. 26. 12:59
일단 mongodb는 제약이 없이 확장성이 굉장히 뛰어나다.(Nonsql) 실제로도 라인의 DB가 mongoDB로 되어있다고 들었다. 무한히 확장할 수 있다는 장점이 있다. 그에 비해 RDBMS는 제약이 있는 반면 각 테이블간 관계성이 있다면 조합해서 사용할 수 있다는 장점이 있다. 그리고 생각보다 이 두가지를 병행해서 사용하는 서비스도 굉장히 많다. 아무래도 간단한 서비스라면 RDBMS가 더 속도면에서도 유리할 수 있다. 늘 잊어먹는 개념이기에 직접 자료를 만들었다. 까먹지 않기를...
-
mongodb 명령어Backend/nodejs 2023. 1. 26. 11:28
show dbs; 데이터 베이스 생성 use [데이터 베이스명] 데이터 베이스 이름 확인하기 [데이터 베이스명] 데이터 베이스에 넣기 db.[컬렉션 이름].insert(document 내용) 안에 정보를 넣어야 데이터 베이스를 확인할 수 있다. show dbs; 컬렉션 이름 확인하기 컬렉션 내용 확인하기 db.[컬렉션 이름].find() 컬렉션 내용 query 조회 - db.[컬렉션 이름].find({검색할 내용}).pretty() 여기서 검색할 내용은 쿼리문을 사용해서 한다. 간단한 조건은 그냥 사용하면 된다. db.book.find({"author":"yuyu"}) 이걸 통해 대소문자를 구분함을 알 수 있다. 만약 여기서 숫자가 있다면 db.[컬렉션명].find({"항목":{$lte:20}) 이렇게도..
-
mongo 실행 에러카테고리 없음 2023. 1. 26. 09:48
brew services start mongodb-community 원래 이걸 하면 실행이 되야한다. Bootstrap failed: 5: Input/output error Try re-running the command as root for richer errors. Error: Failure while executing; `/bin/launchctl bootstrap gui/501 /Users/yuyu/Library/LaunchAgents/homebrew.mxcl.mongodb-community.plist` exited with 5. 에러가 떴다. 알아보니 제대로 설치가 안 된 것 같다.(mariadb때문에 전에 뭘 건들긴 했었다.) brew install mongodb-community 또 에러가 ..
-
[react] useEffect카테고리 없음 2023. 1. 19. 17:34
useEffect는 렌더링 후 이루어지는 함수이다. 그렇기에 가장 하위에 있는 컴포넌트의 useEffect가 더 빨리 이루어진다. 그래서 최상위 즉, _app.tsx나 _document.tsx에 useEffect를 작성하는 것은 올바르지 않다. 그래서 useEffect로 데이터 페칭을 한다거나 이런 일은 벌어지지 말아야할 것이다. 그래서 react18버전부터는 이렇게 하면 된다. const [routing,setRouting] = useState( useEffect(()=>{ Routing() },[]) async function Routing (){ if(isMobile) { await window.location.replace(`${process.env.NEXT_PUBLIC_MOBILE_URI}`) ..
-
[AWS] multi region 서비스 만들기카테고리 없음 2023. 1. 18. 14:35
국가마다 인스턴스 다르게 하기 S3때문에 미국 동부 리전을 사용했었는데, Flutter를 도커로 돌리니 한국에서 시간이 꽤 걸렸다. 그래서 flutter 개발자 분은 최적화를 진행시키시겠다고 하셨고, 나는 나대로 서버쪽에서 해결해보겠다고 했다. 분명 네이버도 한국에서 들어갈 때랑 미국에서 들어갈 때 홈페이지가 다르게 나오는데 방법은 분명 있는데 아무리 검색해도 키워드를 찾기가 힘들었다. 뭐 cloud Front를 사용한다거나 뭐 그런 내용들이 있었는데 생각보다 S3때문에 그렇게 사용한다는 것이었다. 그래서 방법을 찾았는데 방법은 간단했다. Route53을 이용하는 것이었다. route53을 이용해서 같은 주소를 리전 갯수만큼 만들고 거기에 각 리전에 로드밸런스를 연결해주면 된다. 거기서 규칙을 단순 라우..
-
[react] redux-tools 사용해서 언어 설정하기카테고리 없음 2023. 1. 17. 11:08
5개의 언어를 사용해서 바꿔야하는데, redux-tools를 사용하는데 오류가 굉장히 많이 났다. 이게 i18n이랑 같이 써서 동시에 해야하는데 그냥 window.navigator.language로 하기에는 어느 브라우저에서는 'ko'라고 나오고 어떤 브라우저에는 'ko-KR'이라고 나와서 switch 문을 사용하는 것이 효과적이라고 생각했다. import { createSlice } from "@reduxjs/toolkit"; const searchLang = (): String => { let userLanguage; if (typeof window == "undefined") { userLanguage = 'en'; }else{ switch(window.navigator.language){ case..