Index : 자료 내에서 특정 항목을 찾기 위한 메커니즘 - 인덱스는 일반적인 데이터 테이블과 달리 특정 순서로 유지되는 특수 테이블 - 모든 데이터를 포함하는 대신, 행이 실제로 존재하는 위치에 대한 정보와 함께 데이터 테이블에서 행을 찾을 때 필요한 열만 포함 - 인덱스의 역할 : 테이블의 모든 행을 확인할 필요 없이 테이블의 행과 열의 서브셋을 쉽게 검색하는 것 - 특정 테이블에서 행을 빨리 찾기 위해 사용된다. ☆ - 디스크 저장소에 얼마나 덜 접근하게 만드는지, 인덱스 Root에서 Leaf 까지 오고가는 횟수를 줄이는 것이 핵심 - 인덱스의 검색은 Root > Branch > Leaf > 디스크 저장소를 기준으로 검색한다. 고유 인덱스 : UNIQUE 속성 다중 열 인덱스 : 두 열을 함께 사..
정상적인 이메일, 비밀번호 검사 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..
서론 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를 수정하였습니다. 카카오맵을 이용..
서론 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에 클..
서론 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..
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, ..
오늘 한일 Node.js 심화 과제를 배포하였습니다. 기존에 사용하던 mongoDB로 배포를 하지 않고, MySQL을이용해 배포하다보니 설정방법에서 많은 차이가 있었습니다. DB에서 사용하는 캐릭터셋을 한글 사용이 불가능한 latin1 에서 UTF8로 변경하고, 유저를 생성하며 기존에 사용하던 Sequelize와 맞추는 작업과 파일을 수정해 MySQL을 동기화 시키는 작업이 있었습니다. 어렵지는 않지만 설정이라는 것 자체가 주는 햇갈림은 아직까지도 적응되지 않습니다. 심화주차 마지막날 조에서 작게나마 주제를 정해 20분가량의 발표를 진행하였습니다. 저는 테스트 코드라는 주제로 진행 하였는데, Supertest, jest와같은 테스트코드 작성 라이브러리 사용법과 테스트코드를 작성하는 이유, 제가 겪었던 테..