programming/programing terms

스테이징 이란
스테이징 환경 운영 환경과 거의 동일한 환경을 만들어 놓고, 운영환경으로 이전하기 전에, 여러 가지 비 기능적인 부분 (Security, 성능, 장애등)을 검증하는 환경이다. 아래는 위키에서 설명하는 내용인데 위의 스테이징을 더 세분화한것같다 스테이지(Stage)에 따라 각 단계를 구분하여 프로젝트가 진행되는 것을 스테이징(Staging)이라고 한다. 스테이지에는 무엇이 있는가 초기화 스테이지(Project initiation stage) 프로젝트 계획 또는 설계 스테이지(Project planning or design stage) 프로젝트 실행 또는 제품화 스테이지(Project execution or production stage) 프로젝트 모니터링과 제어 시스템(Project monitoring a..
URL에서 쿼리문자열과 parameter
쿼리문자열 : 주로 부가적인 정보전달, 선택적 매개변수 Parameter : 필수적인 정보, 필수적 매개변수

CQRS 패턴
CQRS 패턴이란 command and query responsibility segregation의 약자이고 명령과 조회의 책임분리를 의미한다 도메인 모델을 command 연산과 query연산으로 분리시키는것이다 query는 단순 조회를 뜻하고 command는 단순조회를 제외한 나머지 연산들( crud에서 cud에 해당됨 ) 1단계 가장 일반적인 단계는 단일 DB에 command와 qeury모델을 분리시키는 방식이다 2단계 이렇게 command와 query에 책임이 분리되어 있으니 이제 각기 다른 데이터베이스를 적용시킬 수 도 있어 read는 NoSql write는 Sql 등 서비스에 더 잘 최적화된 디비를 선택해서 적용할수있다 그럼 위와 같이 Polygrat 한 구조가 가능하다 위의 구조에서는 동기화 ..
데이터베이스의 세션이란 무엇인가
데이터베이스에서 사용하는 세션이란 용어가 있고 보통 웹에서 인증얘기할때 세션방식 쿠키방식 할때 쓰는 세션이라는 용어가 있는데 세션이라는 용어 자체의 의미는 파파고에서 session번역하면 "개회중임","(거래소의)개정" 이런식으로 나온다 무언인가가 열려있는 상태로 받아들였다 그래서 웹에서도 유저가 계속 로그인중인지 아닌지 확인할때 쓰이는것 같고 데이터베이스에서도 클라이언트가 데이터베이스에 접속한 후 연결을 유지하면서 트랜잭션을 수행한다고 했을 때 그 연결이 유지되는 기간을 세션이라고 하는 것 같다 세션안에 하나이상의 트랜잭션이 있는것이다 클라이언트가 데이터베이스에 접속을 하면 커낵션이 이루어진다 물리적인 연결임(tcp) 이 커낵션안에서 여러개의 세션이 생성될 수 있고 (세션이 없을 수도 있고 커넥션없이 ..
type-safe란
type-safe하다는 것은 타입이 안정적이라는것 :타입이 안정적 이라는 것은 런타임시에 타입으로 인한 에러가 나지 않는다는것런타임시에 에러가 나지 않는 이유는컴파일 타임에서 에러를 띄워줘서 개발자가 수정하게 만든다 type-safety하지 않다는것 :런타입시에 타입으로 인한 에러가 날 수 있다는것컴파일 타임에서 타입이 맞지 않아도 에러를 안띄우고 그냥 넘어가서 런타임시에 에러가 나는것 그래서 자바스크립트는 type-safe하지 않다. 이유는 문자열 + 숫자 도 알아서 연산이 이루어짐console.log('hihi'+1234);//이런 연산도 알아서 형변환이 되면서 연산이 이루어진다이러한 것도 type-safety하지 않다고 하고 아래와 같이 어떠한 연산(함수)가 어떤 타입을 리턴해줄지 모르는 상황도t..

monorepo란 무엇인가
monorepo는 하나의 레포란 뜻이고 여려개의 프로잭트를 하나의 레포지토리에서 관리하는 아키텍쳐이다 장점 1. 레포지토리가 하나니까 여러개의 프로잭트들의 커밋히스토리들을 하나의 레포에서 확인이 가능하다 2. 여러개의 프로잭트가 어떤 공통 로직을 가지고 있을떄 import로 쉽게 모듈을 사용할수있다. 3. 2번과 비슷한 개념인데 어떤걸 설치해서 쓸때, 예)레포안의 모든 프로잭트가 node16.1.0을 사용할때 root에만 한번 설치하면된다 4. ide하나 켜서 폴더로 모든 프로잭트를 관리할수있음 단점 1. 특정 프로잭트가 특정한 버젼의 모듈이 필요할 떄, 다른 버젼의 모듈을 사용하는 프로잭트와 충돌할수있음
TCP, UDP
TCP (transmistion control protocol) UDP (user datagram protocol) 두개의 공통점은 일단 둘다 4계층 프로토콜이다. 위의 것들은 프로세스간의 통신에서의 프로토콜이다. Tcp는 신뢰성이 보장되는 프로토콜이다. 신뢰성이란 데이터가 손실없이 잘 전달되는것이다. 위 그림은 3hand shake라는 두 장치(프로세스)가 연결됬나 확인하는 방법이다. 1.client에서 syn에 m을 담아서 보내고, 서버는 그걸 받고 syn랑 ack를 보내는데 syn에는 n을 넣고 ack에는 받아온 m에 1을 더해서 m+1을 담아서 보낸다 2.그럶 client는 ack를 확인하고 아 내가 보낸 syn이 잘갔구나를 알수 있는것이다. 3.그리고 서버도 본인이 보낸 syn일 잘갔나를 확인해..