전체 글
-
노드 시퀄라이즈 모델 만들기노드 2023. 4. 19. 19:09
//models/user.js const Sequelize = require('sequelize'); class User extends Sequelize.Model { static initiate(sequelize) { User.init({ name: { type: Sequelize.STRING(20), allowNull: false, unique: true, }, age: { type: Sequelize.INTEGER.UNSIGNED, allowNull: false, }, married: { type: Sequelize.BOOLEAN, allowNull: false, }, comment: { type: Sequelize.TEXT, allowNull: true, }, created_at: { type: ..
-
타입스크립트 ts 추가 문법 + 노드 타입 사용하기타입스크립트 2023. 4. 19. 13:58
//node.ts import fs from 'fs'; fs.readFile('package.json'); fs에서 에러가 발생한다. 노드의 타입은 따로 설치해야 사용할 수 있다. npm i -D @types/node 그러면 노드의 타입들을 사용할 수 있게 된다. 위의 그림을 보면 노드에서 다뤘던 모듈들이 보인다. 다시 npx tsc --noEmit을 해보면 이번엔 다른 에러가 발생했다. 에러를 잘 읽어보면 인수를 2~3개 받는데 한개만 받아서 에러가 발생했고 두번째 인수로는 콜백 함수를 받을 수 있다는 점을 메세지를 통해 알 수 있다. import fs from 'fs'; fs.readFile('package.json', () => {}); 에러 메시지를 통해 위의 코드와 같이 고쳐 봤다. *타입스크립..
-
타입스크립트 ts 기본 문법 익히기 -3타입스크립트 2023. 4. 19. 12:11
//index.ts let a: boolean = true; const b: { hello: string } = { hello: 'world'}; function add(x: number, y: number): number { return x + y}; const minus = (x: number, y: number): number => x - y; 콜론 : 이 많이 보인다. 타입스크립트는 : 을 통해 자료형을 명시적으로 지정해준다. 한번 : 부분을 다 제거해보면 다음과 같다 let = true; const b = { hello: 'world'}; function add(x, y) { return x + y}; const minus = (x, y) => x - y; 자바스크립트와 완전히 같다. 이렇게 기..
-
타입스크립트 ts 기본 문법 익히기 -2타입스크립트 2023. 4. 19. 11:13
이번엔 자료형을 다르게 해서 할당을 해보자. //index.ts let a = 'hello'; a = 123; 타입스크립트 에러가 에디터에서 바로 뜨는 것을 볼 수 있다. 또 콘솔에 npx tsc를 하게 되면 다음과 같다 동일하게 에러를 확인 할 수 있다. 그런데 npx tsc를 하고 index.js를 보면 컴파일이 되어 있는 것을 볼 수 있다. 에러가 있는 코드가 컴파일이 되버렸다. *tsc는 타입 검사와 자바스크립트 변환, 두 기능이 합쳐진 것이다. 그런데 타입 검사에서 에러가 발생 했다고 해서 자바스크립트 변환을 막지 못한다. 따라서 위와 같은 현상이 발생한 것이다. 아무튼 간에... 왜 오류가 났는가에 초점을 일단 맞춰보자. 자바스크립트에서는 사실상 위의 코드가 에러가 아니다. 하지만 타입스크립트..
-
타입스크립트 ts 기본 문법 익히기 -1타입스크립트 2023. 4. 19. 10:41
타입스크립트는 자바스크립트에 명시적으로 타입이 추가된 언어이다. 자바스크립트에도 타입이 있는데... 문자열, 숫자, 불 값, 객체가 그것들이다. 하지만 자바스크립트 코드를 작성 할 때 명시적으로 타입을 지정하지 않는다. 타입스크립트는 자바스크립트와 비슷하고 다만 자료형을 명시적으로 지정한다. 타입스크립트 코드는 tsc라는 컴파일러를 통해 자바스크립트 코드로 변환할 수 있다. 노드는 자바스크립트만 실행할 수 있어서 타입스트립트 코드를 자바스크립트 코드로 변환해야만 실행이 가능하다. *프로젝트를 셋팅하고 콘솔에서 (해당 경로에서) npx tsc --init 해서 프로젝트를 타입스크립트 타입으로 바꿀 수 있다. 해당 명령어를 입력하면 tsconfig.json이라는 파일이 생성이 되는데 이것이 노드의 packa..
-
노드 시퀄라이즈 사용하기노드 2023. 4. 19. 09:58
시퀄라이즈 ORM SQL 작업을 쉽게 할 수 있도록 도와주는 라이브러리 ORM : Object Relational Mapping : 객체와 데이터를 매핑(1 대 1 짝지음) MySQL 외에도 다른 RDB(Maria, Postgre, SQLite, MSSQL)와도 호환된다. 자바스크립트 문법으로 데이터베이스 조작 가능 * 자바스크립트 코드를 SQL로 바꿔서 실행을 해준다. 시퀄라이즈를 사용해 보기 위해서 프로젝트 세팅을 하자. 콘솔을 통해 경로로 이동한 후 package.json 작성. //package.json { "name": "learn-sequelize", "version": "0.0.1", "description": "시퀄라이즈를 배우자", "main": "app.js", "scripts": { ..
-
노드 데이터베이스 CRUD 작업하기노드 2023. 4. 18. 16:15
Create, Read, Update, Delete 데이터베이스에서 많이 하는 작업 4가지 이다. 첫 글자들을 따서 CRUD라고 한다. Create INSERT INTO 테이블 (컬럼명들) VALUES (값들) 앞에는 컬럼의 이름이 왔고 values 다음에는 각각의 컬럼에 들어갈 데이터를 적었다. 하지만 id 컬럼이 보이지 않는다. 처음에 테이블을 만들때 id 컬럼은 auto_increment 조건을 줬다. 즉, 따로 명시를 하지 않아도 데이터가 들어갈 때마다 자동으로 1, 2, 3 이런 식으로 넣어주게 된다. *근데 꼭 모든 컬럼을 다 써줘야 하는 건 아니다. 단, 명시한 컬럼은 꼭 데이터를 넣어주어야 한다. Read Select 컬럼 From 테이블명 select * 은 모든 컬럼을 선택한다는 의미이..
-
노드 데이터베이스 MySQL노드 2023. 4. 18. 15:40
데이터베이스 지금까지는 데이터를 서버 메모리에 저장했다. 서버를 재시작하면 데이터도 사라져버린다. ->영구적으로 저장할 공간이 필요하다. MySQL 관계형 데이터베이스 사용 데이터베이스 : 관련성을 가지며 중복이 없는 데이터들의 집합 DBMS : 데이터베이스를 관리하는 시스템 RDBMS : 관계형 데이터베이스를 관리하는 시스템 서버의 하드 디스크나 SSD 등의 저장 매체에 데이터를 저장 서버 종료 여부와 상관 없이 데이터를 계속 사용할 수 있다. 여러 사람이 동시에 접근할 수 있고, 권한을 따로 줄 수 있다. MySQL 설치는 여기에서 https://dev.mysql.com/downloads/installer/ MySQL :: Download MySQL Installer Select Operating S..