전체 글
-
ALGORITHM=INPLACE, LOCK=NONE으로 테이블 변경하기스터디노트/DB 2022. 2. 16. 16:16
크기가 큰 테이블에 컬럼이나 인덱스를 추가할 때 테이블의 크기가 큰 경우 락 타임이 길어진다. ALGORITHM, LOCK절을 사용하면 락을 걸지 않고 컬럼이나 인덱스를 추가/삭제할 수 있다. ALTER TABLE tbl_name ADD COLUMN column_name column_definition, ALGORITHM=INPLACE, LOCK=NONE; ALTER TABLE tbl_name CHANGE old_col_name new_col_name data_type, ALGORITHM=INPLACE, LOCK=NONE; 참고자료 https://dev.mysql.com/doc/refman/5.6/en/innodb-online-ddl-operations.html
-
MSA란???스터디노트/CS & 기본기 2022. 2. 2. 10:47
MSA란?? Microservice Architecture 하나의 큰 어플리케이션을 만들기 위해 잘게 쪼개 여러개의 어플리케이션을 합치는 것 Monolithic과 상반되는 개념 MSA의 장점 배포가 용이하다. 서비스별로 개별 배포가 가능하기 때문에 전체 서비스를 중단할 필요가 없다. 확장에 용이하다. 장애 대응에 용이하다. 특정 장애가 전체 서비스에 영향을 미칠 경우가 적다. MSA의 단점 성능적인 측면 비용이나, Latency가 증가하게 된다. 테스트/트랜잭션 측면 서비스가 분리되어 있기 때문에 테스트/트랜잭션 복잡도가 높다. 데이터 관리 측면 서비스 별로 데이터를 관리하기 때문에 한번의 조회로 전체 데이터를 가져오기 힘들고 정합성 등을 검증하기 관리하기 어렵다.
-
Restful API 특징스터디노트/CS & 기본기 2022. 2. 1. 11:11
Restful API란?? 클라이언트 -> 서버 -> DB 형식으로 클라이언트에서 request를 보내고 요청한 데이터에 맞는 response를 보내는 형식 URL 형식으로 CRUD에 대한 요청을 처리한다. POST : Create GET : Read Put : Update Delete : Delete Restful API의 원리원칙 클라이언트와 서버가 분리되어야한다 Stateless 해야한다. Token 등 3자 인증방식으로 관리하므로 session을 사용하지 않는다 (Stateful이 아니다) Cashable 해야한다. 계층적으로 관리되어야한다. 클라이언트 -> 컨트롤러 -> 서비스 -> 레파지토리 -> DB 구조 같이 인접한 노드끼리는 통신이 되지만 건너뛰면서 통신은 하지 않는다.
-
MySQL IFNULL, CASE WHEN, COALESCE스터디노트/DB 2021. 12. 15. 17:03
MySQL에서 NULL 처리 IFNULL SELECT IFNULL('컬럼', 'null시 대체 값') FROM 테이블; CASE WHEM SELECT CASE WHEN 조건1 THEN 반환 값 ELSE 조건에서 필터링 되지 않는 경우 END AS something FROM 테이블; COALESCE : 지정한 표현식 중 NULL이 아닌 첫번째 값을 반환한다. SELECT COALESCE('컬럼', 'null시 대체 값') FROM 테이블; SELECT COALESCE('컬럼1', '컬럼2', '컬럼3') -- 컬럼1~컬럼3에서 null이 아닌 첫번째 값을 반한다. FROM 테이블;
-
TypeScript 세팅해보기스터디노트/TypeScript 2021. 11. 29. 20:29
TypeScript란??? 어느 규모의 프로젝트에서도 적용 가능하며 자바스크립트를 기반으로한 강력한 타입 프로그래밍 언어 https://www.typescriptlang.org/ 초기 세팅 npm install -g typescript ts-node tsc main.ts # .ts파일을 node로 실행하기 위해 .js파일로 컴파일해야한다. npm install -g ts-node # ts-node는 .js파일로 컴파일하는 과정을 알아서 해주는 툴이다. ts-node main.ts tsc main.ts -w # .ts파일을 수정할 때 마다 tsc main.ts를 할 필요 없이 백그라운드로 실행해 수정될 때마다 반영시킬수있다. 간단한 실습 참고자료 https://www.typescriptlang.org/