이제 막 슬픔 없이 십오 초 정도가 지났다
-
개인과제 : sequelize 세팅이제 막 슬픔 없이 십오 초 정도가 지났다 2022. 10. 11. 10:52
//npm 이니셜라이즈, -y는 초기 설정 넘어가는 것 npm init -y //app.js 생성 touch app.js //걍 합쳐서 한번에 쳐도 됨 yarn add express sequelize yarn add express sequelize-cli yarn add express mysql2 //Seqeulize 초기화하기 npx sequelize init //Sequelize의 Migrations 및 Models 생성하기: 강의 예시자료 npx sequelize model:generate --name NaverUsers --attributes id:string,password:string,nickname:string,profileImage:string,gender:tinyint npx sequel..
-
개인과제 : ERD 작업 - 좋아요 테이블의 경우이제 막 슬픔 없이 십오 초 정도가 지났다 2022. 10. 11. 10:14
ERD Entity Relationship Diagram 매체, 매개를 다루는 것은 사용자의 경험을 디자인하는 일이다. 건축, 음악, 서사, 이미지, 그리고 그것에 부여된 시간. 그리고 매개의 디자인은 계열의 작업이 있고 통합의 작업이 있다. ERD는 계열의 작업이다. 나는 이 범주들을 사랑한다. 계열, 은유, 압축 등. (세상에 아직도 50년전 언어학의 구분이라니. 그런데 더 나아간 구분을 아직 접하지 못했다.) 웹의 경험으로부터 필요한 데이터와 그 범주를 찾을 수 있다. 카테고리, 게시글, 댓글, 유저, URI, 그리고 그 관계. 어떤 데이터들이 어떤 범주로 어떻게 관계를 맺는가? 강의에서 제공된 네이버 카페의 ERD. 주의할 점은 화살표가 기왕의 집합론의 그것과는 반대로 그려진다는 것. 예컨대, 카..
-
개인과제 : PATCH method를 처음 구현해본 기념이제 막 슬픔 없이 십오 초 정도가 지났다 2022. 10. 7. 16:06
//순서 바꾸기 : 자기(todo) order를 위 아래로 이동할 때 //이동할 자리가 비었으면? 그냥 그 order로 저장. //이동할 자리에 다른 targetTodo가 있으면, 걔의 order(targetTodo.order)를 자신의 order(todo.order) 로 바꾸기 router.patch("/todos/:todoId", async (req,res)=> { const {todoId} = req.params; const {order} = req.body; const currentTodo = await Todo.findById(todoId).exec(); if(!currentTodo){ throw new Error("존재하지 않는 todo 데이터입니다.") } if(order){ const ta..
-
개인과제 : 쿠키, 세션, 토큰이제 막 슬픔 없이 십오 초 정도가 지났다 2022. 10. 7. 10:48
https://inmanustuaspater.tistory.com/52 JWT (JSON Web Token) http 프로토콜은 상태(state)를 유지하지 않는 stateless protocol. 요청(request)를 전송하고 응답(response)를 전송받은 시점에서 통신이 종료되며 어떠한 상태 정보도 남지 않는다. 즉, 특정 클라이언트에 inmanustuaspater.tistory.com 위 게시글에서 계속되는 주제이다. 쿠키 : key value 형태의 문자열 서버에서 response에 담아 쿠키를 보내면, 브라우저는 받은 데이터를 그대로 저장한다. 브라우저는 서버로부터 request 요청을 받으면 가지고 있는 쿠키 데이터를 포함해서 보낸다. request의 header를 열어보면 암호화된 끔찍..
-
개인과제 : Mongoose ODM이제 막 슬픔 없이 십오 초 정도가 지났다 2022. 10. 6. 09:34
Mongoose는 ODM Object Document Mapping 이다. ORM Object Relational Mapping 과 대별된다. 객체와 모델의 관계가 아니라, 도큐먼트를 사용하기 때문이다. ODM으로서 몽구스는 몽고디비에 데이터를 넣기 전 서버단에서 데이터를 스키마에 따라 정렬한다. 그리고 스키마를 통해 데이터의 모델이 익스포트 된다. populate 메소드의 경우, RDMBS의 join 과 유사하게 데이터 컬렉션간 관계를 설정할 수 있다. 이는 몽구스 만의 유별난 강점으로 보인다. (아직 populate에 대한 공부가 되어 있지 않아 아쉽다.) 몇번째 정리인지 모르지만 또 정리 1.RDBNS Relational Database Management System -테이블 간 관계를 사용하는 ..
-
개인과제 : 빼앗긴 포트번호에도 봄은 오는지 알 바 없고 그냥 다시 뺏으면 된다.이제 막 슬픔 없이 십오 초 정도가 지났다 2022. 10. 5. 15:40
계속해서 나를 괴롭히던 에러 메시지, 내 EC2의 3000번 포트가 이미 사용중이라는 것. 그래서 일단 3001번으로 대피했었으나. nano app.js 조장님이 알려주신 이 편리한 기능. 터미널 내 편집으로 포트 번호를 다시 3000으로 돌려보았다. 될리가, 여전히 안된다. 그래서 3000번을 확인한다. lsof -i : 3000 그리고 바로 PID를 죽이려 했으나.... kill -9 pid 번호 말짱하게 살아있다. ip-172-31-45-12.ap-northeast-2.compute.internal 은 EC2 의 호스트 이름이고, 문제되지 않는다. 위의 3000번이 문제이다. 게다가 user가 root 이다. 언젠가 관리자 권한으로 3000번을 돌렸던 적이 있었고, 그것이 제대로 종료되지 않았던 것..
-
개인과제 : 포트포워딩이 안되던 나에게이제 막 슬픔 없이 십오 초 정도가 지났다 2022. 10. 5. 11:31
http의 기본 포트인 80포트를 3001번 포트로 돌렸다. sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3001 그리고 작동하지 않았다. 됐다면 글을 안썼겠지... 포트포워딩 확인 sudo iptables -t nat -L --line-numbers 확인해보니, 안돼서 여러번 입력한 흔적이 적나라하다. 포트포워딩이 안되었던 이유는 간단하다. 우선순위가 있기 때문이다. 일단은 상위포트가 우선순위로 적용된다고 하지만, 자세한 순서는 확인하지 못했다. 간단하게 모두 지우고 하나만 남기는 방식으로 해결했다. 포트포워딩 삭제 sudo iptables -t nat -D PREROUTING {삭제할 번호} 삭제할..
-
개인 과제 : yarn과 npm이제 막 슬픔 없이 십오 초 정도가 지났다 2022. 10. 5. 10:48
NPM Node Package Manager 자바스크립트 언어를 위한 패키지 관리자. 설치된 모듈들의 버전과 업데이트 등을 체크해주기도 한다. yarn 페이스북에서 만든 자바스크립트 패키지 관리자. npm과 같은 기능을 한다. npm보다 속도performance, 안정성stability, 보안성security 등에 강점이 있다고 한다. (그런데 개인적인 경험으로, yarn 을 쓰고 난 후 어쩐지... 프로젝트 구성이 지저분해지고 git 푸시에 애로사항이 많아졌다. 이유는 더 확인해보아야 할 것.) 어떤 지혜로운 자에 의하면, npm은 패키지가 설치될 때 자동으로 의존성에 접근하도록 허용한다. 이 말은 협업 등에 공유가 필요한 의존성 범주를 수상쩍은 패키지가 침투할 수 있다는 뜻이다. 그러나 Yarn은 y..