본문 바로가기

Database6

시퀄라이즈로 테이블, 모델 생성하기, 관계정의하기 테이블과 모델 생성하기 mysql 테이블은 sequelize(시퀄라이즈) 모델과 같다. 시퀄라이즈는 테이블과 모델 사이를 연결해준다. 보통 테이블은 소문자 복수형(users), 모델은 대문자로 시작하는 단수형(User)로 작성한다. 테이블과 모델 설정하기 모델은 Sequelize.Model을 확장한 클래스로 선언한다. 모델은 두개의 메서드로 나뉜다. 테이블에 대한 설정을 하는 init 메서드 첫번째 인자 : 테이블 컬럼에 대한 설정 두번째 인자 : 테이블 자체에 대한 설정 시퀄라이즈는 자동으로 id를 기본키로 연결한다.(작성할 필요없음) 시퀄라이즈는 mysql에서 사용하는 자료형과 다른 자료형을 사용한다. 시퀄라이즈 자료형에 대한 공식사이트 자료( https://sequelize.org/docs/v6/c.. 2022. 7. 17.
sequelize (시퀄라이즈) 설치, 세팅하기 설치 sequelize-cli : 시퀄라이즈 명령어를 실행하기 위한 패키지 mysql2 : mysql과 시퀄라이즈를 이어주는 드라이버 $ npm init -y $ npm install express morgan sequelize sequelize-cli mysql2 세팅 다음 명령어를 호출하면 config, migration, models, seeders 디렉토리가 생긴다. $ npx sequelize init config 디렉토리 안 config.json에서 development 속성들을 내가 사용할 데이터베이스에 맞춰서 변경해준다. development을 수정하는 이유는 현재 코드를 작성하는 개발환경이 development이기때문. (혹시 operatorAliases 속성이 들어 있다면 삭제해주자.).. 2022. 7. 16.
[220302] 암호화 (buffer, hash, salt) Buffer란? 어떤 텍스트를 저장하는 비트를 16진수로 표현한 것을 담는 것 ingoo의 16진수 아스키 코드값은 69 6e 67 6f 6f 버퍼에 텍스트를 담은 값을 확인하면 아스키 코드값과 같이 나온것을 확인할 수 있다. const name = 'ingoo' const buf = Buffer.from(name) console.log(buf) //출력 // 총 6바이트 사용중 모든 프로그램은 데이터를 조작하기위해서 버퍼를 가지고있다. 그렇기때문에 브라우저에서 사용하는 자바스크립트에는 버퍼가 없고, 자바스크립트에서 분리되어 나왔지만 컴퓨터를 조작하기 위해서 만들어진 Node.js에는 버퍼가 있다. 근데 16진수는 길이가 길어서 데이터를 많이 차지해 가성비가 안 좋다. 대신해서 사용하는게 64진수. co.. 2022. 3. 2.
[220216] DB와 서버를 연결해주는 Connection Pool DB와 연결되어있는지 체크하는 코드 SHOW STATUS LIKE 'Threads_connected'; 너무 연결이 많이 되면 터짐. 그래서 사용하지 않으면 컴퓨터 자원(로직?)을 반환하기 위해 연결을 끊는 종료코드가 존재함. //연결 샘플 코드 const mysql = require('mysql') // 연결 생성 let connection = mysql.createConnection({ host:'127.0.0.1', user:'hancoco', password:'0000', database:'sample' }) // 연결시작 connection.connect((err)=>{ if (err) throw err; // 여기 함수종료 console.log('socket open') // 실행됨. }) .. 2022. 2. 21.
[220216] Mysql 직접 사용해보기 Mysql의 탄생 유료인 오라클이랑 무료인 mysql이 있었는데 오라클이 mysql을 인수함. 그래서 둘다 유료가 되어버림. 근데 mysql을 오라클이 인수하고나서 신경을 안쓰니까 열받은 개발자들이 나와서 mysql이랑 같은걸 만든게 maria.db. Mysql의 목적 데이터를 하드디크스에 저장하고, 그 데이터를 관리하기 위해서 만들어진 프로그램이다. Mysql에 접속하기 brew install mysql brew services start mysql Mysql 문법 배우기 DDL 데이터베이스나 테이블을 만들때 씀 DML 테이블 안에 있는 데이터를 조작할때 씀 / 가장 많이 쓸 문법 DCL 권한설정, 자주 안 씀 Mysql로 요청/응답 확인하기 요청 보내기 curl : 요청을 보내는 명령어 -X POST.. 2022. 2. 16.
[220210] 그림으로 끝내는 branch 기본 (생성,삭제,병합) 나는 무조건 그림으로 그려서 눈에 보여야 잘 이해하는 편이다. 분명히 까먹고 이 글로 돌아와서 개념을 찾아볼 나를 위해. 1. master branch 가장 먼저, 기본적으로 생기는 메인흐름을 담당하는 branch. 처음 생성시 이름을 바꿔주지 않으면 기본값으로 master라고 이름이 붙여지게 된다. 넘버링 되어있는 원들은 Github에 push를 해서 생성 포인트가 생긴것을 가시적으로 표현한 것이다. 1번 포인트부터 생성되어서 6번 포인트로 흘러간다. (6번이 가장 마지막에 생긴 포인트) (최초로 Github에 push된 상태를 1번으로 놓고 시작한다고 보면 된다.) 2. branch 생성하기 어 그러니까 branch가 뭔데? 혹시 요즘 인기가 많아진 멀티버스 세계관을 안다면 좀 더 이해가 편할 것이다.. 2022. 2. 10.