항해99/필기노트

항해99/필기노트

[필기노트] Docker Volume, SQL

도커 볼륨 - 컨테이너를 삭제하면 컨테이너 계층에 저장돼있던 데이터베이스의 정보도 삭제된다. - 이를 방지하기 위해 데이터를 영속적(Persistent) 데이터로 활용할 수 있는 방법 - 볼륨을 관리하는 방법 : 호스트 볼륨 폴더 공유, 볼륨 컨테이너, 도커 볼륨 호스트 볼륨 공유 : 호스트의 디렉터리와 컨테이너의 디렉터리를 동기화시키는 방법 볼륨 컨테이너 : 볼륨을 사용하는 컨테이너를 다른 컨테이너와 공유하는 것 도커 볼륨 : docker volume 명령어를 사용하는 것 - 도커 자체에서 제공하는 볼륨 기능을 활용해 데이터를 보존할 수 있다. - 사용하는 방법 : [볼륨의 이름]:[컨테이너의 공유 디렉터리] -v : 호스트의 디렉터리와 컨테이너의 디렉터리를 공유한다. -- 호스트 볼륨 공유로 Dock..

항해99/필기노트

[필기노트] PROCEDURE, 인증메일 구성방법

CREATE TABLE Auths( authId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, email varchar(255) NOT NULL UNIQUE, authData varchar(20) NOT NULL, isAuth tinyint NOT NULL DEFAULT 0, createdAt datetime NOT NULL DEFAULT NOW(), updatedAt datetime NOT NULL DEFAULT NOW() ); ### PROCEDURE 생성 DROP PROCEDURE IF EXISTS SP_Auths_INSERT ; DELIMITER $$ CREATE PROCEDURE SP_Auths_INSERT ( IN auth_email varchar(255), ..

항해99/필기노트

[필기노트] Docker, 실전 프로젝트 SQL

== Tips 컨테이너를 대상으로하는 모든 명령어는 컨테이너의 이름 대신 ID를 사용할 수 있다. - 그러나 이름이 너무 길 때는 앞의 2~3자만 입력해도 된다. ex) docker start dd16c1ee6bf2 ex) docker start dd1 - ID 앞자리가 dd1인 다른 컨테이너가 이미 존재한다면 어느 컨테이너를 가리키는지 알 수 없으므로 에러가 발생 - 따라서 ID의 앞자리를 사용해 컨테이너를 제어할 때는 적절히 3~4자를 입력하는 것이 좋다. == Docker Docker - 리눅스 컨테이너에 여러 기능을 추가함으로써 애플리케이션을 컨테이너로서 쉽게 사용할 수 있게 만든 프로젝트 가상 머신 장.단점 - 완벽한 운영체제를 생성할 수 있다. - 일반 호스트에 비해 성능 손실이 있다. - 수..

항해99/필기노트

[필기노트] pm2, Linux bash, SQL, Socket

== pm2 $ pm2 -v - 설치한 pm2의 버전을 확인하는 명령어 $ pm2 start app.js - app.js 파일을 pm2에 등록해 실행 $ pm2 list - 실행중인 pm2의 목록을 출력한다. $ pm2 monit - 실행중인 pm2의 프로세스들을 실시간 모니터링 할 수 있도록 설정한다. $ pm2 show app - app 프로세스의 상세한 상태를 조회 $ pm2 restart app $ pm2 restart 0 - 프로세스이름이 app 또는 PID가 0일 경우 재시작한다. $ pm2 delete app $ pm2 delete 0 - 프로세스이름이 app 또는 PID가 0일 경우 삭제 및 종료한다. == Linux Bash 명령어 $ tail ~/.pm2/logs/app-out.log ..

항해99/필기노트

[필기노트] 실시간 통신 논리구조, Socket

-- API Socket 논리 구조 생각 1. 네이버 지도 페이지로 돌아왔을 때 Socket을 연결한다. 2. 연결한 클라이언트에게 자신의 친구 리스트, 동일한 일정에 등록되어있는 유저 리스트를 뿌려준다. 3. Server에서는 클라이언트의 실시간 위치를 취합해서 모든 유저에게 동일한 위치 데이터를 뿌려준다. 3.1 Socket 데이터 = {userId, lat, lng} 4. 클라이언트는 친구, 일정 리스트에서 userId를 구분해 표시할 아이콘을 지정한다. TODO 일정 데이터는 어떻게 뿌려줄 수 있을까? - 일정 데이터 (모일 장소) 는 처음 접속했을 때 한번만 뿌려줄 수 있도록 설정한다. - 나중에 유저수가 증가할 경우 지역별로 일정데이터를 관리할 수 있도록 설정한다. == Socket == So..

항해99/필기노트

[필기노트] SQL, 5개 Table 조회

-- 유저 정보 조회 (동일한 일정이 있을 경우) 2명의 userId가 존재한다. 1. 모든 유저를 출력한다. SELECT * FROM Users ; 2. 모든 구인 공고를 출력한다. SELECT * FROM Posts ; 3. 모든 채널을 출력한다. SELECT * FROM Channels ; 4. 해당하는 Channels에 모든 user를 출력한다. SELECT userId FROM Channels WHERE postId = 1; 5. 입력받은 userId가 있는 경우의 Channel만 출력해야한다. SELECT postId FROM Channels WHERE userId = 2; 6. 입력받은 userId가 있는 일정에 참여중인 userId를 출력한다. SELECT DISTINCT userId FR..

항해99/필기노트

[필기노트] 카카오맵, API 구현

Click 이벤트는 마우스 클릭이 종료될 때 발생한다. kakao.maps.Size(width, height) : 크기 정보를 담고 있는 사이즈 객체를 생성한다. kakao.maps.Point(x, y) : 화면 좌표 정보를 담고 있는 포인트 객체를 생성한다. 각각의 marker를 생성하면서 생성된 것과 동시에 addListener에 입력받은 userId, type을 기반으로 함수를 삽입한다. TODO marker를 삭제하지않고 이동하는 방식으로 사용하려면 어떻게 해야할까? - markers를 object형식으로 저장하고, 키값을 userId로 하면 되지 않을까? - userId로 검색을 했을 때 데이터가 있을 경우 markers의 위치만 변경하고 , 없을때 생성하도록 하면? TODO 위도, 경도를 변환..

항해99/필기노트

[필기노트] 2021-07-26 DB생성, 임시 데이터 삽입

== DB ERD CREATE TABLE Users( userId int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY , email varchar(255) NOT NULL UNIQUE, name varchar(50) NOT NULL, nickname varchar(50) NOT NULL UNIQUE, password varchar(255) NOT NULL, profileImg varchar(255), statusMessage varchar(255), rating int(11) NOT NULL, createdAt datetime NOT NULL, updatedAt datetime NOT NULL ); CREATE TABLE Likes( likeId int(11) NOT NULL ..

항해99/필기노트

[필기노트] 2021-07-22 SQL, 태그 검색, 테스트코드

-- 검색 API에서 태그검색 기능 추가 1. 태그 테이블 전체를 조회한다. SELECT * FROM Tags ; 2. 태그 테이블에서 해당하는 키워드로 검색해 본다. SELECT * FROM Tags WHERE tag LIKE '%na%' ; 3. 검색된 태그 테이블에서 postId만 추출한다. SELECT postId FROM Tags WHERE tag LIKE '%na%' ; 4. 검색 코드에서 WHERE 절에 서브쿼리를 삽입해 병합을 종료한다. SELECT u.userId, u.nickname, u.profileImg, p.postId, p.reBlog, p.title, (SELECT GROUP_CONCAT(img ORDER BY img ASC SEPARATOR ', ') FROM Images W..

항해99/필기노트

[필기노트] 2021-07-21 SQL, PROCEDURE

-- 요런 블로그 어때요? 1. 조회하는 유저 아이디를 입력받고, 제외한다. SELECT * FROM Users WHERE userId != 1 ; 2. Follows 테이블에서 followUserId를 지정하고, 등록한 followerUserId를 출력한다. SELECT followerUserId FROM Follows WHERE followUserId = 1 ; 3. 조회하는 유저와 팔로우 등록된 사람을 제외한다. SELECT userId, nickname, profileImg FROM Users WHERE userId NOT IN (SELECT followerUserId FROM Follows WHERE followUserId = 1) AND userId != 1 ; 4. RAND()와 LIMIT을..

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