본문 바로가기

전체 글

(135)
[Docker] Postgresql 도커에 설치 및 접속 docker로 postgresql 을 설치하는 방법에 대해 알아본다. 이미 도커가 설치되어있다고 가정하고 시작한다. 만약 도커가 설치되어있지 않다면 다음 게시물을 참조바란다. https://jung-mmmmin.tistory.com/124 [Docker] Docker 부터 docker compose 설치 실행환경 cat /etc/*-release | uniq DISTRIB_ID=Ubuntu DISTRIB_RELEASE=22.04 Docker 설치 sudo apt-get update 필요한 패키지 설치 sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common Docker의 공 jung..
EC2 한국시간으로 타임존(timeZone) 설정하기 처음 EC2 인스턴스를 할당받으면 다음과 같이 할당되어있다 이를 바꾸기 위한 방법을 기록한다. ubuntu@ip-172-xx-xxx-xxx:~$ date Mon Jan 8 09:29:51 UTC 2024 sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime sudo timedatectl set-timezone 'Asia/Seoul' tzselect 4 > 23 > 1 Please identify a location so that time zone rules can be set correctly. Please select a continent, ocean, "coord", or "TZ". 1) Africa 7) Europe 2) Americas 8) Ind..
맥북 영구 alias 등록하기 맥북은 bash쉘이 아닌 zsh쉘을 기본으로 사용한다. 그렇기 때문에 ~/.bashrc 가 아닌 ~/.zshrc 파일을 열어 수정을 해줘야 한다. zshrc 파일로 영구 등록 1. vi ~/.zshrc 2. 원하는 alias를 등록해준다. alias [별명]=[linux 명령어] alias aws='cd Desktop/aws' alias testjm='ssh -i "XXXXX.pem" ubuntu@XXXXXXXX' 3. esc -> :wq 로 저장한다. 4. 터미널을 끄고 다시 시작한다.
CORS(Cross Origin Resource Sharing) CORS(Cross Origin Resource Sharing)에 대해 설명해주세요. CORS란 교차 출처 리소스 공유로 추가 HTTP 헤더를 사용하여, 한 Origin에서 실행 중인 웹 어플리케이션이 다른 Origin의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에서 알려주는 체제입니다. 웹어플리케이션은 리소스가 자신의 Origin과 다를 때 COR HTTP 요청을 실행합니다. CORS는 HTTP요청을 보낼때 요청 헤더에 Origin 담아 보냅니다. 서버는 응답해더에 Access-Control-Allow-Origin을 담아 클라이언트로 전달합니다. 이때 Origin을 비교하는 로직은 브라우저에 구현이 되어있기 때문에 서버의 응답은 CORS정책 위반 여부에 관여하지 않습니다. 클라이언트에서는..
NoSQL과 RDBMS의 특징과 장단점 NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점을 들어 설명해주세요. RDBMS는 관계형 데이터베이스 관리 시스템으로 관계모델, 스키마, ACID 특성을 가지고 있습니다. 테이블 형식으로 저장하며 테이블은 관계를 나타내고 있습니다. 데이터의 구조는 미리 정의된 스키마에 따라야 하며 트랜젝션의 원자성, 일관성, 고립성, 지속성을 보장합니다. 장점으로는 ACID 특성으로 데이터의 일관성 복잡한 쿼리를 다루는데 효과적입니다. 단점으로는 확장이 어렵기 때문에 성능 저하가 발생할 수 있습니다. NoSQL은 비관계형 데이터베이스로 데이터가 동적으로 정의되기 때문에 스키마가 느슨합니다. 비정형 데이터로 다양한 형식의 데이터를 저장할 수 있으며 대규모 데이터를 분산 저장하고 처리할 수 있습니다. 장점으로는 ..
기본키(Primary Key), 외래키(Foreign Key) Primary Key, Foreign Key에 대해 설명해주세요. 기본키(Primary Key)는 관계형 데이터베이스 관리 시스템 테이블에서 모든 행을 고유하게 식별하는 필드 또는 필드의 집합입니다. 데이터베이스 테이블 내에서 각 레코드는 오직 하나의 값만 존재해야하고 기본키를 구성하는 어떤 속성도 널 값을 가질 수 없는 개체 무결성 제약조건이 있습니다. 따라서 기록을 삭제하거나 업데이트 하는 경우 데이터 무결성을 확인하기 위해 지정한 조치가 수행됩니다. 기본키는 식별자 역할을 하며 빠른 검색을 가능하게 하며 상위 테이블에 대한 삭제 또는 업데이트 작업을 거부하려면 제한 작업이 수행됩니다. 외래키(Foreign Key)는 두 테이블 간의 관계를 생성하는 열입니다. 외래키는 참조 무결성 제약조건을 가지고 ..
HTTP Method HTTP 메서드에 대해 설명해주세요. HTTP 메소드는 클라이언트와 서버 사이에 이루어지는 요청과 응답 데이터를 전송하는 방식으로 서버에 주어진 리소스에 수행하길 원하는 행동과 서버가 수행해야 할 동작을 지정하는 요청을 보내는 방식입니다. 주요 메소드로는 GET, POST, PUT, PATCH 메소드가 있습니다. GET 메소드는 리소스를 조회할때 사용하며 POST는 요청 데이터를 처리하고 등록하는데 주로 사용되는 메소드로 메시지 바디(body)를 통해 서버로 요청 데이터 전달합니다. PUT메소드는 리소스를 대체하며 해당 리소스가 없으면 생성하는 메소드입니다. 일부의 리소스를 변경을 할때 PATCH메소드를 사용합니다. DELETE 메소드는 리소스를 제거할때 사용하며 GET, PUT, DELETE는 메소드를..
N+1문제의 발생이유와 해결방법 N+1 문제의 발생 이유와 해결 방법에 대해 설명해주실 수 있을까요? 해결 방법은 3가지 이상 말씀해주시면 좋습니다. N+1 문제란? N+1 문제는 데이터베이스 쿼리를 실행할 때 발생할 수 있는 성능 문제 중 하나로, 쿼리 실행 시 추가적인 N개의 쿼리가 발생하여 성능저하를 초래할 수 있습니다. 이는 주로 ORM(Object-Relation Mapping)를 사용하는 경우 발생하며, 한 번의 부모 쿼리로 N개의 자식 쿼리를 가져오는 방식에서 문제가 발생합니다. Lazy Loading(지연 로딩) : 연관된 데이터가 실제로 필요할때만 로드되도록 설계된 방식이지만, 이를 잘못 사용할 경우 여러번의 쿼리가 발생하여 N+1 문제가 발생할 수 있습니다. Eager Loading(즉시 로딩) : Eager 전략으로..