React에서 상태 관리 라이브러리란?정의: 애플리케이션의 여러 컴포넌트들이 공유하는 데이터를 저장하고 관리할 수 있도록 도와주는 도구.쉽게 말해, 애플리케이션 전반에서 공유해야 하는 중요한 정보를 한 곳에 모아놓고, 각 컴포넌트가 이 정보를 편리하게 불러오고 수정할 수 있도록 하는 일종의 "중앙 창고" 같은 역할을 한다.상태 관리 라이브러리를 사용하는 이유복잡한 컴포넌트 구조에서의 상태 전달 문제 해결 (props drilling)React는 컴포넌트 트리 구조로 이루어져 있어, 자식 컴포넌트에 데이터를 전달하려면 props를 통해 상위에서 하위로 상태를 내려주어야 한다. 하지만 트리가 깊어질수록 props를 계속해서 전달해야 하므로 코드가 복잡해지고 관리하기 어려워지는 문제점이 있다. 이 문제를 상태..
개요웹페이지 렌더링 방식은 웹 애플리케이션의 속도와 효율성을 높여 사용자 경험(UX)을 개선하기 위해 발전해 왔다.대표적으로 CSR(Client-Side Rendering), SSR(Server-Side Rendering), SSG(Static Site Generation) 세 가지 렌더링 방식이 등장했고 각 방식은 사용자에게 페이지를 제공하는 과정에서의 차이점을 가지고 있으며, 각각의 장단점이 있다. 이러한 차이점과 각 방식의 특징을 자세히 알아보도록 하자.렌더링 방식의 변화 과거의 웹 애플리케이션은 정적 렌더링 방식을 사용하여, URL에 요청이 오면 해당하는 정적 HTML 파일을 전달하는 형식이였다. 이런 방식은 페이지를 단순하게 제공하는 데에 적합하지만, 페이지 내부의 콘텐츠를 동적으로 변경하거나 ..
RDBMS란?Relational Database Management System로 데이터를 테이블이라는 구조로 관리하는 데이터베이스 시스템.테이블은 행(Row)과 열(Column)로 구성되며, 데이터는 고정된 스키마(Schema)에 따라 저장된다. 대표적인 RDBMS로는 MySQL, PostgreSQL, OracleDB 등이 있습니다.RDBMS의 주요 개념스키마: 데이터를 저장하기 위한 구조를 정의. 테이블의 컬럼 이름, 데이터 타입, 제약 조건 등이 포함됨.ACID 속성: 트랜잭션의 안정성을 보장하는 원칙.Atomicity(원자성): 모든 작업이 성공하거나 모두 실패함.Consistency(일관성): 트랜잭션 전후에 데이터 무결성 유지.Isolation(격리성): 트랜잭션 간 간섭을 최소화.Durabi..
1. 앱키 발급 및 받을 사용자 정보 설정https://developers.kakao.com/ Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.comKakao Developers 가입 후 어플리케이션 생성 하여 앱키를 발급받는다. 제품 설정 - 카카오 로그인 항목의 활성화 설정, OpenID Connect 활성화 설정을 ON으로 바꿔준다. 그 아래 Redirect URI에 본인 백엔드 서버의 파둘 엔드포인트 하나를 추가한다.보통 callback 키워드로 엔드포인트를 생성하더라 근데 난 그냥 kakako로 했다. 제품설정 - 카카오 로그인 - 동의항목 에서..
볼륨(Volume)이 뭐냐영어로는 부피나 소리의 크기를 의미하지만 Kubernetes와 Docker에서의 볼륨은 데이터를 저장하고 관리하는 방식과 관련된 중요한 개념이다. → 영속성을 보장하기위한 개념각각의 볼륨이 어떤 의미를 가지는지 알아보자.Docker Volume도커에서 볼륨은 컨테이너 내부와 호스트 사이에서 데이터를 공유하기 위한 방법으로 사용된다.Docker 컨테이너는 기본적으로 격리된 가상화 환경에서 동작하기 때문에, 컨테이너 내부에서 생성된 데이터는 기본적으로 컨테이너의 라이프사이클에 종속된다.문제점:컨테이너가 삭제되면 내부 데이터도 모두 삭제되므로 영속적으로 데이터를 저장하거나 공유하려면 별도의 방법이 필요함.해결책:Docker 볼륨을 사용하면, 컨테이너 삭제와 관계없이 데이터를 유지하거나..
간단 정리SSL은 과거에 사용된 프로토콜로, TLS가 이를 대체.TLS는 현대 인터넷 보안 통신의 핵심.HTTPS는 TLS를 사용하여 HTTP 트래픽을 암호화하며, 웹사이트 보안을 위한 필수 요소.OSI 7계층 & TCP/IP 4계층OSI 모델이 너무 복잡해서 TCP/IP가 표준이랍니다~네트워크 접근 계층 (Network Access Layer)역할: 데이터를 물리적으로 전송하는 계층.인터넷 계층 (Internet Layer)역할: 데이터의 논리적 전송 경로를 결정.전송 계층 (Transport Layer)역할: 프로세스 간 신뢰할 수 있는 데이터 전송 제공.애플리케이션 계층 (Application Layer)역할: 사용자와 가장 가까운 계층으로 데이터 표현 및 통신 서비스를 제공Encapsulate, ..
HTTP는 Stateless (상태 비저장) 프로토콜HTTP는 상태를 저장하지 않는(stateless) 프로토콜이다. 즉, 클라이언트가 서버에 요청을 보낼 때마다 서버는 이전 요청에 대한 정보를 기억하지 않는다. 각 요청은 독립적으로 처리되며, 서버는 요청이 끝나면 클라이언트가 누구였는지에 대해 기억하지 않는다. 이를 stateless라 하며, 이는 웹 애플리케이션을 설계할 때 중요한 고려사항이 된다.이러한 특성을 보완하기 위해 HTTP에서는 쿠키와 세션이 사용된다. 클라이언트의 상태를 유지하고, 클라이언트가 누구인지 확인하기 위해 두 가지 방법을 활용할 수 있습니다.쿠키와 세션의 개념쿠키 (Cookie)정의: 클라이언트(브라우저)에 작은 데이터를 저장하는 방법. 서버는 클라이언트에게 쿠키를 보내고, 클..
네트워크와 관련된 주요 개념 정리1. 통신과 네트워크통신: 데이터를 주고받는 행위를 의미네트워크: 통신을 가능하게 하는 연결의 구조를 뜻함.네트워크는 작은 LAN(Local Area Network)에서부터 큰 범위의 WAN(Wide Area Network)까지 다양한 규모로 구성될 수 있음.LAN은 주로 집이나 회사처럼 한정된 지역에서 사용되고, WAN은 지리적으로 멀리 떨어진 네트워크를 연결함.2. IP 주소IP(Internet Protocol) 주소: 네트워크에서 기기를 식별하는 고유 주소.정적 IP는 고정된 주소로 변하지 않고, 동적 IP는 네트워크에 접속할 때마다 새로 할당됨.동적 IP의 할당은 DHCP(Dynamic Host Configuration Protocol) 서버가 담당하며, 네트워크 ..