항해99/필기노트

항해99/필기노트

[필기노트] 2021-07-20 SQL, TRIGGER

== 트리거 SHOW TRIGGERS; - 현재 데이터베이스에 정의되어있는 트리거를 출력한다. drop trigger if exists TR_Posts; - TR_Posts 트리거가 존재할 경우 삭제한다. Sequelize.hook를 이용해 다른 TRIGGER를 실행할 수 있다. - TODO 다른 테이블을 Models폴더에서는 왜 참조가 안되는걸까? //postId는 변경되지 않는다. -- Posts 테이블 수정시 Images, Tags 데이터를 지우는 트리거 drop trigger if exists TR_Posts; DELIMITER $$ CREATE TRIGGER TR_Posts AFTER UPDATE ON Posts FOR EACH ROW BEGIN DELETE FROM Images WHERE po..

항해99/필기노트

[필기노트] 2021-07-19 SQL UNION, CONCAT_GROUP, CASE

14. tag와 img의 기본키가 곱연산 되는 문제를 해결하자. SELECT u.userId, u.nickname, u.profileImg, p.postId, p.reBlog, p.title, i.img, p.content, t.tag, CASE WHEN p.postId IN (SELECT postId FROM Favorites WHERE userId=1) THEN "Y" ELSE "N" END AS favorite, (SELECT COALESCE(MIN('Y'), 'N') FROM Follows WHERE EXISTS (SELECT 1 FROM Follows WHERE followUserId = 1 and followerUserId=p.userId)) AS follow, (SELECT COUNT(*) ..

항해99/필기노트

[필기노트] 2021-07-17 SQL, Cookie, Sequelize Migrate

-- DB 생성 CREATE TABLE Users( userId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, email varchar(255) NOT NULL UNIQUE, nickname varchar(255) NOT NULL UNIQUE, password varchar(255) NOT NULL, profileImg varchar(1000), createdAt Datetime NOT NULL, updatedAt Datetime NOT NULL ); CREATE TABLE Posts( postId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, userId int(11) NOT NULL, reBlog int(11), title varch..

항해99/필기노트

[필기노트] 2021-07-16 프로젝트의 목표, DB 생성 및 설정, 쿠키

TODO - 만약 데이터가 없을 때 NULL을 넣는 방법 - 리블로그는 없을 경우 NULL로 삽입한다. - models를 npx로 가져왔을 때 지금 생성된 테이블을 기준으로 models가 만들어질 수 없는가? 이번프로젝트의 코드최적화 방법 - Router를 메인에서 줄이기 - Router에서 동일한 url에 .get과 .post를 route를 사용해 메소드별로 분류하는 것 - 비밀번호를 .env에 저장하는 것 이번 프로젝트의 목표 - 무슨 기술을 할지, 어떤 방향성을 가지고 갈 지 DB에서 외래키를 설정할 때 동일한 기본키를 설정해도 가능하다. 트리거 : 누군가 지정한 TABLE에 데이터를 넣을 경우 실행하도록 설정 (기능 중 하나) ex) 누군가 Favorites에 데이터를 추가할 경우 자동적으로 Al..

항해99/필기노트

[필기노트] 2021-07-15 SQL, 면담, Socket, session

== Socket == 소켓 : 데이터를 송수신하기 위해 반드시 거쳐야 하는 연결부 패킷 : 소켓을 통해 송수신하는 데이터 덩어리 Socket.io - 웹 소켓을 포함해, 웹소켓을 사용하지 못하는 환경에서도 웹소켓과 비슷하게 사용 가능하도록 구현해놓은 라이브러리 $ npm install socket.io app 객체 : express로 기존처럼 API를 개발하거나 프론트엔드 파일을 서빙하는 용도로 사용 io 객체 : 기존처럼 클라이언트와 데이터를 주고 받는 용도로 사용 // Socket은 Express와 별도로 움직여야 하는데 데이터 통신은 무엇을 기준으로 하는가? -- Node.js Socket io.on("connection", (socket) => {} ); - 소켓 연결 이벤트 핸들링 socket..

항해99/필기노트

[필기노트] 2021-07-14 SQL SubQuery, JOIN, Socket, ws

-- 게시글 상세 SQL SELECT p.postId, p.userId, u.nickname, p.title, p.artist, p.showDate, p.description, p.img, CASE WHEN p.postId IN (SELECT postId FROM Favorites where userId = 1) then "TRUE" else "FALSE" end as favorite FROM Posts AS p JOIN Users AS u on p.userId = u.userId; - 출력 데이터 p.postId, p.userId, u.nickname, p.title, p.artist, p.showDate, p.description, p.img, favorite 유무 - Favorites 테이블에서 해..

커스텀 리
'항해99/필기노트' 카테고리의 글 목록 (3 Page)