node(9)
-
Node X MySQL 오답 및 중점노트
1. 프론트에서 axios를 통해 데이터를 객체로 보내면, 백엔드에서도 같은 키 값으로 찾아야 한다. input 태그의 name 속성이 아니다. 2. 각 라우터의 controller에서 모델을 require 할 때, {}로 구조분해 할당을 하든지, 직접 경로를 파고들어 참조할지 확실히 하자. 3. html 템플릿에 for문 돌리는 것보다는 프론트js에서 처리하자. 4. 404처리는 에러가 아니라, 지금까지 위에서부터 처리되지 않은 라우터들을 모아서 처리해주는 것이라고 생각하는 일반 라우터이며, 여기서 next(error)를 한번 거쳐서 에러 라우터로 보내는 것이다. /* 이것은 에러 처리 라우터가 아님! 지금껏 나오지 않은 주소를 처리하는 라우터를 단지 404로 처리하는 것에 불과함! */ app.use..
2020.10.28 -
MySQL과 MongoDB 비교
MySQL MongoDB 관계형 다큐먼트형 모델 스키마 테이블 컬렉션 로우 다큐먼트 컬럼 필드 include aggregate(populate - ref) ASC .sort({ 필드명: 1 }) DESC .sort({ 필드명: -1 }) Op.gt , Op.ne , ... $gt: , $ne: , ... 데이터베이스명.update({바꾼 후 모양, where: {조건}}) 데이터베이스명.update({})
2020.10.27 -
[npm] Sequelize X MySQL 에서 헷갈리거나 어려울만한 것 정리
👍 기본 개념 1. Sequelize는 ORM이다. 2. ORM이란, Object-Relational Mapping의 약자로 JavaScript의 자료형인 "Object"와 실제 DB에 저장된 "Relation"을 "대응(Mapping)"시켜주는 도구를 말한다. 3. Sequelize와 연결될 수 있는 DB는 관계형 DB면 상관없다. 만약 MySQL DB와 연결하려면 npm mysql2를 설치해야 한다. 4. MySQL은 오픈소스 관계형 DBMS이다. 5. 우리가 하려는 것은 다음과 같다. 웹 서비스의 데이터들 간에 관계가 명확하므로 관계형 데이터베이스를 사용할 것임 그리고 그 관계형 데이터베이스를 조작하기 위해 오픈소스 DBMS인 MySQL을 사용할 것임 그리고 그 DBMS를 Node.js & Expr..
2020.10.26 -
[오류해결] Node.js(express) 사용 시 "Cross-Site-Policy"로 인해 스크립트가 사용되지 않는 문제
물론 하루종일 이거 하나만 한 것은 아니지만, 여기에 정신을 많이 뺏겼다. 문제의 원인 : npm helmet의 업데이트를 확인하지 않음 해결 : 3.23.3 버전으로 다운그레이드
2020.09.08 -
[오류해결] Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed
도대체 이게 왜 갑자기 뜨기 시작했는지 모르겠다. 똑같은 boilerplate를 사용했어도 여태 이런 에러는 뜨지 않았었는데. 내가 설치한 npm 패키지가 꼬인 것인지, 오타가 있는 것은 아닌지 한참 헤매다가 github.com/webpack/webpack/issues/4899 여기서 해답을 얻었다. webpack.config.js에서 정의한 config 객체 안에 다음을 추가하면 된다. devtool: "source-map"
2020.09.07 -
[🙌 에러해결하기] Module build failed (from ./node_modules/extract-text-webpack-plugin/dist/loader.js):TypeError: text.forEach is not a function
웹팩을 자유자재로 활용하기 위해 노력하고 있다만, 역시 오늘도 사투를 벌였다. 👊 내가 하려던 것 : extract-text-webpack-plugin을 사용하여 수많은 scss를 단 하나의 styles.css로 압축시키기 그런데 이 포스팅의 제목과 같은 에러가 떴다. 내가 오타를 낸건지, 다른 라이브러리 버전을 잘못받은건지 한참 동안 디버깅했다. 그러다가 제작자 깃헙 레포에서 원인을 발견했다(진작 제작자의 충고를 들을걸) ❗️ 원인 : extract-text-webpack-plugin은 css 용으로 쓰여서는 안되므로, mini-css-extract-plugin을 사용해야 했던 것이다. 💖 해결 : 기존에 쓰던 extract~를 mini~로 변경했고, 다음과 같이 webpack.config.js를 수정..
2020.08.08