간략한 프로그래밍 정리
- git 정리
- git branch ⇒ git 브랜치 만들기
- git checkout ⇒ git 브랜치 전환하기
- checkout = 내가 사용할 브랜치를 지정하는 것
- git checkout -b ⇒ 브랜치 작성 및 체크아웃 동시 실행
- git add . ⇒ git 추가하기
- git commit -m "" ⇒ add 설명 추가하기
- git merge ⇒ 현재 사용하고 있는 브랜치로부터 커밋 실행
- git checkout master ⇒ switch to master 브랜치
- git branch -d ⇒ branch 삭제하기
- sequelizemeta
- sequelizemeta를 알기 전에, sequelize ORM 의 개념부터 알아야 한다.
- ORM이란, 객체와 관계와의 설정을 의미합니다. 객체 모델과 관계형 모델간애 불일치가 존재하는데, 객체간의 관계를 바탕으로 SQL을 자동생성하여 불일치를 해결하는 것
- ORM advantages
- CRUD을 위한 긴 SQL 문장을 작성할 필요가 없다
- 가독성과 생산성을 높여준다
- re-use 및 유지보수의 편리성이 증가한다.
- ORM은 DB에 종속적이지 않으며, 비교적 적은 리스크와 시간이 소요되며, 구현 방법 및 자료형 타입까지 유효하다.
- ORM disadvantages
- 완벽한 ORM만으로는 구현하기가 어렵다. 다시 말해, 설계에는 매우 신중해야 하고, 잘못 구현될 경우, 일관성이 무너질 수 있다.
- Sequelize
- promise를 기본으로 지원 가능
- 복잡한 비동기 코드를 깔끔하고 쉽게
- chaining을 통해 값을 전달 하거나 연속된 일련의 작업 처리
- error handling에 대한 처리를 깔끔하게
- npm install 하기
- npm i - - save sequelize mysql2
- npm i - - g sequelize-cli
- root 폴더 진입
- migration 생성 ⇒ purpose: schema에 변경이 필요할 때마다 진행, migration 필요한 데이터 자동 저장
- DB models 정의
- npx sequelize-cli model:generate - - name 'table 이름' - - attributes firstName:string,lastName:string,email:string
- seeders
- npx sequelize-cli seed:generate - - name demo-user
- sequelize db:seed:all
- migration 진행
- npx sequelize db:migrate - - env development
- "sequelizemeta" table create
- migration 취소
- npx sequelize db:migrate:undo - - env development
- DB 생성
- user
- npx sequelize model:generate - -name User - -attributes userName: string
- text
- npx sequelize model:generate - - name Text - -attributes textContent: string
- npx sequelize-cli db:create
- npx sequelize-cli db:migrate
- JSON.stringify
- Javascript의 값을 Json 문자열로 변환
- Json: 브라우저와 서버사이에서 오고가는 데이터 형식
- JSON parse
- parse 메소드가 string 객체를 Json 객체로 변환
- JSON hoisting
-
Json 의 선언된 변수, 함수의 선언부를 scope 에 따라 최상단으로 끌어올리는 개념이며, 실질적이 메모리에 영향을 주지는 않는다.
⇒ var, function 선언이 자동적으로 제일 위로 올라가는 것
⇒ 코드가 나타나는 순서대로 자동적으로 선언된다는 것


ref:
https://tibetsandfox.tistory.com/23
- sql
- 관계형 데이터베이스에서 사용하는 표준 질의언어
- 모든 DBMS에서 사용 가능
- Interpreter 언어
- 대소문자 구별 없음




- javascript for..of, for..in
- for in 반복문 : 객체의 모든 열거 가능한 속성에 대해 반복
- for of 반복문 :
[Symbol.iterator]
속성을 가지는 컬렉션 전용
- error
- TypeError: Cannot read property 'nickname' of undefined
- 이유: for..of 가 아닌 for..in을 썼기 때문에 발생
- 팀 회의 결과 db 수정 ⇒ 내가 해야 할 일: 댓글 수정 기능 (include와 where 사용하기 ⇒ completed by Nov 2, 2021
ref:
https://velog.io/@yesparrot/sequelizeDB
https://kyounghwan01.github.io/blog/etc/sequelize/sequelize-join/#include
https://jsdev.kr/t/for-in-vs-for-of/2938
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/for...of