본문 바로가기

전체 글127

[TIL] 면접카타 3일차 🧐 RDBMS의 정규화에 대해 설명해주세요. 정규화(Normalization)는 관계형 데이터베이스(RDBMS)의 설계에서 데이터 중복 없이 효율적으로 저장하기 위한 과정이다. 이를 통해 데이터베이스의 구조가 불필요한 중복을 최소화하고 데이터의 일관성과 무결성을 유지할 수 있게 된다. 🧐 Primary Key, Foreign Key에 대해 설명해주세요. primar key(기본키) 데이터베이스 테이블 내의 모든 레코드에서 고유한 아이디를 제공한다. PK 특징 모든 레코드가 서로 다른 값을 가지고 있어 각 레코드를 식별할 수 있다. NULL값이 존재할 수 없다. 레코드의 값은 중복이 불가능하다. 테이블에는 하나의 기본키만 가질 수 있지만 경우에 따라 1개 이상의 기본키를 정의할 수도 있다.(다수 열 기본키.. 2024. 3. 29.
[TIL] 면접카타 2일차 🧐 HTTP 메서드에 대해 설명해주세요. HTTP메서드란 클라이언트와 서버 사이에 이루어지는 요청과 응답 데이터를 전송하는 방식이다. 메서드의 종류에는 총 9가지가 있으며 주로 GET, POST, PUT, PATCH, DELETE를 사용한다. 메서드 종류 GET - GET메서드는 특정 리소스의 표시를 요청한다. GET을 사용하는 요청은 오직 데이터 받기만한다. HEAD - GET메서드의 요청과 동일한 응답을 요구하지만, 응답 본분을 포함하지 않는다. POST - POST 메서드는 등록, 요청 데이터를 처리한다. PUT - 목적 리소스 모든 현재 표시를 요청 payload로 바꿔준다. PATCH - 리소스의 부분만을 수정한다. DELETE - 특정 리소스를 삭제한다. CONNECT - 목적 리소스로 식별되.. 2024. 3. 28.
[TIL] 면접카타 1일차 기본적으로 사용하는 언어인 자바스크립트는 싱글 스레드이다. 근데 싱글 스레드는 무엇이고 프로세스는 무엇일까? 🧐 프로세스 프로세스는 컴퓨터에서 연속적으로 실행되고 있는 프로그램을 뜻한다. 메모리 상에 올려진 프로그램의 한 개체라고 생각하면 된다. 프로세스는 운영체제(OS)로 부터 자원을 할당핟은 작업이다. 🧐 스레드 스레드는 프로세스 내에서 실행되는 작업 흐름의 단위이다. 스레드는 한 프로세스 내에서 Stack만 따로 할당 받고, Code, Data, Heap은 공유 한다. 🧐 멀티 프로세스와 멀티 스레드 멀티 프로세스는 운영체제에서 하나의 응용 프로그램에 대해 동시에 여러 개의 프로세스를 실행할 수 있게 하는 기술이다. 멀티 프로세스의 장점 프로그램 안정성: 한 프로세스가 비정상적으로 종료 되어도 다른.. 2024. 3. 27.
[TIL] Elastic Load Balancer 기본 개념 🤔 Elastic Load Balancer ELB는 AWS에서 제공하는 로드 밸런싱 서비스로, 다수의 EC2인스턴스를 사용하여 트래픽을 분산 시키는 시스템이다. 안정적인 서버를 유지하는 방법은 고가용성과 확장성있다. 고가용성은 하나의 데이터 센터에 문제 생겨도 다른 곳에서 데이터를 안정적으로 유지시켜주는 것을 말한다. 확장성은 수평적 확장성과 수직적 확장성으로 나뉜다. 수평적 확장성은 인스턴스, 서버를 여러개로 늘려 사용하는것이다. 수직적 확장성은 인스턴스의 성능을 높이는 것을 말한다. 이처럼 서버를 분산화 시켜 서버를 안정성있게 사용하는 것이 load balancer의 사용 목적이다. 🤔 Elastic Load Balancer를 사용하는 이유 요청 분산(EC2와 연동) 단일 액세스 포인트 공개(Rout.. 2024. 3. 27.
[TIL] TCP프로토콜과 UDP프로토콜 TCP와 UDP는 OSI 표준모델과 TCP/IP 모델의 전송 계층에서 사용되는 프로토콜이다. 전송계층은 송신자와 수신자를 연결하는 통신 서비스를 제공하고 IP에 의해 전달되는 패킷의 오류를 검사하며 재전송 요구 제어등을 담당하는 계층이다. 쉽게 말해 데이터의 전달을 담당한다고 생각하면 된다. TCP와 UDP는 포트 번호를 이용해서 주소를 지정하는 것과 데이터 오류 검사를 위한 체크섬 존재하는 두가지 공통점을 가지고 있지만 정확성(TCP)을 추구할지 신속성을 (UDP)을 추구할지 구분하여 나뉜다. 🤔 IP IP의 버전은 4,6가 존재한다 (IPv4, IPv6) Internet Protocol version 4 32bit로 구성 (2^32개 IP주소) : 0.0.0.0 ~ 255.255.255.255 (0부.. 2024. 3. 25.
[TIL] Typeorm @Many-To-Many Typeorm을 관계를 설정할때 @Many-To-Many로 관계를 설정할때가 있다. Typeorm 공식문서를 살펴보면, 기본적으로 @Many-To-Many는 A가 B의 여러 인스턴스를 포함하고, B가 A의 여러 인스턴스를 포함하는 관계라고 정의하고 있다. //category.entity.ts import { Entity, PrimaryGeneratedColumn, Column } from "typeorm" @Entity() export class Category { @PrimaryGeneratedColumn() id: number @Column() name: string } //question.entity.ts import { Entity, PrimaryGeneratedColumn, Column, Man.. 2024. 3. 23.