MySQL

항해99/필기노트

[필기노트] MySQL Index

Index : 자료 내에서 특정 항목을 찾기 위한 메커니즘 - 인덱스는 일반적인 데이터 테이블과 달리 특정 순서로 유지되는 특수 테이블 - 모든 데이터를 포함하는 대신, 행이 실제로 존재하는 위치에 대한 정보와 함께 데이터 테이블에서 행을 찾을 때 필요한 열만 포함 - 인덱스의 역할 : 테이블의 모든 행을 확인할 필요 없이 테이블의 행과 열의 서브셋을 쉽게 검색하는 것 - 특정 테이블에서 행을 빨리 찾기 위해 사용된다. ☆ - 디스크 저장소에 얼마나 덜 접근하게 만드는지, 인덱스 Root에서 Leaf 까지 오고가는 횟수를 줄이는 것이 핵심 - 인덱스의 검색은 Root > Branch > Leaf > 디스크 저장소를 기준으로 검색한다. 고유 인덱스 : UNIQUE 속성 다중 열 인덱스 : 두 열을 함께 사..

Database/MySQL

[MySQL] SQL Injection 예제

정상적인 이메일, 비밀번호 검사 SELECT DISTINCT 1 FROM Users WHERE email = 'dddd@naver.com' AND password = 'SE7vYnBwximuz/hD1hsjM1n83RTUOIn8wLmwwFh2TdDAwQdLAZlqz3Vcfaxg/AtAYMK5+RGpCoIFiImpzzLnCw=='; 사용자의 정보를 조회할 때 모든 정보를 조회하는 것이 아닌, 특정 조건을 만족하는 데이터의 존재 유무를 바탕으로 로그인을 진행합니다. 해당 SQL에서 SELECT DISTINCT 1 부분에서 조건에 만족하는 데이터가 있을 경우 1이라는 데이터가 출력되도록 예시가 구성되어있습니다. 입력 데이터 email : dddd@naver.com password : SE7vYnBwximuz/h..

항해99/WIL

[항해99] WIL 9주차 - 실전 프로젝트 3주차 (후기)

서론 7/23 ~ 9/3의 실전 프로젝트가 진행 중입니다. Node.js 클론코딩 코드리뷰가 진행되었습니다. 디자이너 회의가 진행되었습니다. 디자인 와이어 프레임이 일부 구성되었습니다. 담당 매니저님과 이범규 대표님의 팀 면담이 진행되었습니다. 팀장 주간 회의가 진행되었습니다. 1:1 토요 멘토링이 진행되었습니다. 일정 7/23 (금) ~ 9/3 (금) : 실전 프로젝트 진행 8/03 (화) 19:00 ~ 21:00 : Node.js 클론코딩 코드리뷰 8/04 (수) 20:30 ~ 21:30 : 디자이너 회의 8/05 (목) 12:30 ~ 13:30 : 이범규 대표님 팀 면담 8/06 (금) 12:30 ~ 14:00 : 팀장 주간 회의 8/07 (토) 20:00 ~ 22:10 : 1:1 토요 멘토링 실전..

항해99/WIL

[항해99] WIL 8주차 - 실전 프로젝트 2주차 (후기)

서론 7/23 ~ 9/3의 실전 프로젝트가 진행 중입니다. Kick-off 팀별 멘토링이 진행되었습니다. 팀장 주간 회의가 진행되었습니다. 기획을 수정하였습니다. 일정 7/23 (금) ~ 9/3 (금) : 실전 프로젝트 진행 7/28 (수) 17:00 ~ 17:30 : Kick-off 팀별 멘토링 7/29 (목) 20:30 ~ 23:00 : 디자이너 회의 7/30 (금) : 팀장 주간 회의 실전 프로젝트 2주 차 7/23 ~ 9/3 : 실전 프로젝트 기간이 진행 중입니다. 기획을 '모든' 주제에서 '운동'이라는 주제로 수정하였습니다. 디자이너 회의를 통해 Figma를 이용한 와이어 프레임이 작성되었습니다. 메인 테마 색상, 로고, 폰트가 선정되었습니다. MySQL ERD를 수정하였습니다. 카카오맵을 이용..

항해99/WIL

[항해99] WIL 7주차 - 실전 프로젝트 1주차 (후기)

서론 7/16 ~ 7/22의 클론코딩 기간이 종료되었습니다. 7/23 ~ 9/3의 실전 프로젝트 기간이 시작되었습니다. 튜터님의 미니프로젝트 코드리뷰가 진행되었습니다. 일정 7/16 (금) ~ 7/22 (목) : 클론코딩 진행 7/23 (금) ~ 9/3 (금) : 실전 프로젝트 진행 7/20 (화) : Node.js 미니프로젝트 코드리뷰 7/23 (금) : 실전 프로젝트 발제 6주 차 클론코딩 7/16 ~ 7/22 클론코딩 기간이 종료되었습니다. tumblr를 주제로 클론코딩을 진행하였습니다. 총 22개의 API를 제작하였습니다. Sequelize만으로 MySQL DB 통신을 진행하였습니다. DB를 Migrate 할 때 트리거를 생성하도록 설정하였습니다. AWS EC2, Synology Docker에 클..

항해99/WIL

[항해99] WIL 6주차 - Node.js 클론 코딩 기간(후기)

서론 7/9 ~ 7/15의 미니프로젝트 기간이 종료되었습니다. 7/16 ~ 7/22의 클론코딩 기간이 시작되었습니다. 풀 스택 개발자 튜터님의 면담이 진행되었습니다. 일정 7/9 (금) ~ 7/15 (목) : 미니프로젝트 진행 7/13 (화) : 1회 협력사 발표 진행 7/16 (금) ~ 7/22 (목) : 클론코딩 진행 5주 차 미니프로젝트 7/9 ~ 7/15 미니프로젝트 주차가 종료되었습니다. 핀터레스트를 모티브로 한 클론코딩으로 진행되었습니다. 코드 최적화를 위주로 작성하였습니다. 총 17개의 API를 구현하였습니다. Sequelize와 mysql 모듈을 이용한 MySQL DB 통신을 진행하였습니다. AWS EC2에 미니프로젝트 서버를 업로드 하였습니다. Notion : https://www.not..

항해99/WIL

[항해99] WIL 5주차 - Node.js 미니프로젝트 기간(후기)

서론 7/2 ~ 7/8의 Node.js 주특기 심화 주차가 종료되었습니다. 7/9 ~ 7/15의 미니프로젝트 기간이 시작되었습니다. 항해 톡 4회 발표가 진행되었습니다. 스파르톤을 진행하였습니다. 일정 7/2 (금) ~ 7/8(목) : 주특기 심화 주차 일정 7/7 (수) : 항해 톡 4회차 발표 7/9 (금) : 미니프로젝트 발제 및 특강 7/9 (금) ~ 7/15 (목) : 미니프로젝트 진행 7/10(토) 21:00 ~ 7/11(일) 06:00 : 스파르톤 1회 진행 Node.js 주특기 심화 주차 7/2 ~ 7/8의 Node.js 주특기 심화 주차가 종료되었습니다. Supertest, Jest 모듈을 이용해 테스트 코드를 작성해보았습니다. Sequelize와 mysql 모듈을 사용해 MySQL을 동..

AWS/EC2

[AWS] EC2 Node.js MySQL설정 방법

EC2 Node.js MySQL설정 방법 - 보안을 위해 3306 포트번호를 AWS 보안그룹에서 열어주지 않음. $ npm i sequelize mysql2 sequelize-cli express mysql socket.io joi nunjucks jsonwebtoken chokidar Sequelize를 기반으로 Node.js를 사용하기 위해 다운로드 하는 모듈들 $ npm install -g pm2 AWS가 종료되더라도 Node.js 서버가 실행되기 위해 pm2를 설치 $ sudo apt-get update $ sudo apt-get install mysql-server $ sudo mysql mysql> use mysql; mysql Database에 접속한다. mysql> select user, ..

항해99/TIL

2021-07-08 항해99 TIL

오늘 한일 Node.js 심화 과제를 배포하였습니다. 기존에 사용하던 mongoDB로 배포를 하지 않고, MySQL을이용해 배포하다보니 설정방법에서 많은 차이가 있었습니다. DB에서 사용하는 캐릭터셋을 한글 사용이 불가능한 latin1 에서 UTF8로 변경하고, 유저를 생성하며 기존에 사용하던 Sequelize와 맞추는 작업과 파일을 수정해 MySQL을 동기화 시키는 작업이 있었습니다. 어렵지는 않지만 설정이라는 것 자체가 주는 햇갈림은 아직까지도 적응되지 않습니다. 심화주차 마지막날 조에서 작게나마 주제를 정해 20분가량의 발표를 진행하였습니다. 저는 테스트 코드라는 주제로 진행 하였는데, Supertest, jest와같은 테스트코드 작성 라이브러리 사용법과 테스트코드를 작성하는 이유, 제가 겪었던 테..

항해99/WIL

[항해99] WIL 4주차 - Node.js 주특기 심화 기간 (후기)

서론 6/25 ~ 7/1의 Node.js 주특기 기본 주차가 종료되었습니다. 7/2 ~ 7/8의 Node.js 주특기 심화 주차가 시작되었습니다. 항해 톡 3회 발표가 진행되었습니다. 주특기 소규모 면담을 진행하였습니다. 일정 6/25 (금) ~ 7/1(목) : 주특기 기본주차 일정 7/2 (금) ~ 7/8(목) : 주특기 심화주차 일정 6/30 (수) : 항해 톡 3회차 발표 7/1 (목) : 백 엔드 개발자 특강 7/2 (금) : 주특기 심화 주차 발제 7/2 (금) ~ 7/3 (토) : 주특기 소규모 그룹 면담 3회 항해 톡 6/30 (수) 19:00 ~ 20:00 2회 항해톡이 진행되었습니다. 1부 : index(DB), 코드스니펫과 매크로 2부 : ORM 3개의 주제로 항해톡이 진행되었습니다. ..

커스텀 리
'MySQL' 태그의 글 목록