일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- docker
- nodejs
- PAT
- 네트워크
- 이론
- RAID
- Docker-compose
- node.js
- PaaS
- MongoDB
- mysql
- Docker Swarm
- IaaS
- git
- 클라우드
- worker
- express
- Javascript
- dockerfile
- network
- OpenStack
- 실습
- RAPA
- 개념
- 명령어
- gns3
- 용어정리
- 도커
- 쿠버네티스
- kubernetes
- Today
- Total
목록Javascript (7)
융융이'Blog
MongoDB는 cascade On 과 같은 기능을 따로 제공하지 않는 거 같다. 아무리 검색을 해봐도 mongDB 모델링 할 때 따로 지정해주는 것이 없었던 같다.(앞서 1장에서 말했던 내용) 대신 MongoDB는 미들웨어를 통해서 cascade On과 같은 기능을 따로 만들어 줘야한다.(이걸 일일이 지정해준다니 미쳤군) 미들웨어를 만들어 낼 때 중요한 것은 pre와 post를 잘 구분해 줘야한다. 왜냐하면 내가 값을 저장할 때 pre를 이용하게 되면 생성전의 외래키값을 참조할 수 없기 때문이다. 번외로 나중에 ORM을 이용하면 belong_to 와 같은 것을 이용하면 편하게 구현할 것 같다. 다음에 알아보기로 하자 model/User.js ... //유저를 삭제할 때 UserSchema.pre('de..
controller/like.js module.exports = { toggle_like: async(req, res) => { const user = req.body.user; const { board_id } = req.params; let result = {}; const is_liked = await Like.findOne({$and: [{user: user}, {board: board_id}]}); // 해당 게시물에 좋아요 일때 if(is_liked){ await Like.findByIdAndDelete(is_liked); result = {data : false} } // 해당 게시물에 좋아요 아닐때 else{ //creat에 save명령어도 같이 실행된다. await Like.create(..
Comment.js module.exports = { //게시물에 댓글 작성하기 create: async (req, res) => { const { user } = req.body; let comment = new Comment({ content : req.body.content, board : req.params.board_id, user : user, }); result = await comment.save(); return res.json(result); }, //게시판에 해당하는 댓글 모두 불러오기 read: async (req, res) =>{ const result = await Comment.find({board: req.params.board_id}) .populate('user&#..
mongoDB Cluster세팅 1. MongoDB(https://www.mongodb.com/)들어가서 로그인 2. New Project - 프로젝트 이름 - 사용자 권한 - 지역설정 ... - 보안 설정!( IP 허용 꼭 설정해줘야 합니다. Default로 허용 IP가 아무것도 없기 때문에 이 설정 안하시고 연동하면 Server connection rejection 에러가 뜹니다.!! 3. 컬렉션 만들기(User, Board, Comment, Like...등) GUI 환경에서 간단하게 만들수 있습니다. Express와 mongoDB의 연동 const { mongoDBurl } = require('../../../config/mongoDBconfig'); const MongoClient ..
Node.js로 기본적인 데이터베이스를 연동하기 위해서는 express 를 통하여 node.js 기반 웹 모듈을 설치해준다. npm install express express-generator express PROJECT_NAME npm install 다음으로 데이터베이스(mySQL)를 이용하기 위해서 mySQLWorkbench를 설치해준 뒤 database를 만들어주고 사용하고자 하는 table을 만들어준다. 자세한 내용은 mySQL 자료를 확인해 보자. Localhost, Host, port, password 값을 확인해준뒤 이제 node.js에 적용을 시켜보자 config라는 폴더를 만들어주고 그안에 dbconfig.js 파일을 만들어준다. const mysql = require('promi..
JWT (Json Web Token) JWT 란? JSON Web Token의 약자로 클레임 토큰 기반 인증 방식입니다. 클라이언트의 세션 상태를 저장하는 것이 아니라 필요한 정보를 토큰 body에 저장해서 클라이언트가 가지고 이를 증명서 처럼 사용 JWT의 구성 {Header}, {Payload}, {Verify Signature} 3가지 정보를 '.'로 연결하여 사용한다. Header : JWT 토큰의 유형이나 사용된 해시 알고리즘의 정보가 들어간다. PayLoad : 클라이언트에 대한 정보가 담겨있다. 또한 여기에는 iss,sub,aud,exp,nbf,lat,jti 와 같은 기본 정보가 들어간다. Signature : header에서 저장한 알고리즘과 secret key로 Header..
Learning Javascript(1) 자주 사용 되는 툴 또는 프로그램 깃(Git) : 프로젝트가 커져도 쉽게 관리할 수 있고 다른 개발자와 협력할 수 있게 돕는 버전 컨트로롤 도구입니다. 노트(Node) : 브라우저 밖에서 자바스크립트를 실행할 수 있게 하는 도구입니다. 노드와 함께 설치되는 npm은 이 리스트의 다른 도구를 설치 할 때 필요합니다. 걸프(Gulp) : 반복적인 개발 작업을 자동화하는 빌드 도구 입니다. 바벨(Babel) : ES6코드를 ES5코드로 변환하는 트랜스컴파일러입니다. ES린트(ESLint) : 자주 하는 실수를 피하고 더 나은 프로그래머가 되도록 돕는 린트 프로그램입니다. ES6, ECMAScript 자바스크립트란? 자바스크립트(Javascript)는 1995년 넷스케이..