분류 전체보기 129

HTTP에서 바라본 TCP 커넥션 관리 방식

본 내용은 "HTTP 완벽 가이드" 내용을 참고하여 기록한 정리본입니다.게시할 내용HTTP의 커넥션 사용 방식TCP의 구조TCP 지연TCP 병목TCP 막힘흐름제어/혼잡제어HTTP 네트워크 프로토콜 스택HTTP는 전송 계층인 TCP 위에서 동작하며, IP 계층을 통해 패킷이 전달된다. 이 과정에서 여러 계층을 거치기 때문에, 각 계층이 가진 헤더(메타데이터)들이 포함되어 전송된다.HTTPSHTTPS는 위의 HTTP 네트워크 프로토콜 스택에 SSL/TLS를 위한 보안 계층을 추가한 프로토콜이다. SSL/TLS 계층에서 암호화, 무결성 보장, 인증 등의 과정을 거친 후에 TCP 계층에 데이터를 전달하기 때문에, 일반 HTTP보다 연결 과정이 조금 더 복잡하고 느리다.그러나 전송되는 내용이 암호화되어 보안성을 ..

HTTP 메시지

본 내용은 "HTTP 완벽 가이드" 내용을 참고하여 기록한 정리본입니다.게시할 내용메시지는 어떻게 흘러가는가HTTP 메시지의 세 부분시작줄헤더바디요청과 응답 메시지의 차이요청 메시지가 지원하는 여러 메소드들응답 메시지가 반환하는 여러 상태 코드들HTTP 헤더들은 각각 무슨일을 하는가메시지는 어떻게 흘러가는가요청과 응답이라는 두 가지 형식으로 통신하며, 클라이언트-서버 간의 데이터를 교환한다.메시지는 크게 시작줄, 헤더, 바디 세 부분으로 이루어져 있다.요청 메시지와 응답 메시지는 기본 구조는 유사하지만, 시작줄에서 사용하는 구문이 다르다.요청 메시지는 메소드, URL, 버전으로 시작한다.응답 메시지는 버전, 상태코드, 사유구절로 시작한다.HTTP 메시지의 세 부분시작줄요청 메시지: 메소드 URL HTTP..

URL과 리소스

본 내용은 "HTTP 완벽 가이드" 내용을 참고하여 기록한 정리본입니다.게시할 내용URL 문법 및 컴포넌트URL의 각 구성 요소가 가지는 의미와 역할을 설명한다.단축 URL여러 웹 클라이언트에서 지원하는 상대 URL과 확장 URL 등 단축 URL에 관한 내용을 다룬다.URL 인코딩 및 문자 규칙URL 작성 시 사용되는 인코딩 방식과 문자 사용 규칙에 대해 설명한다.공통 URL 스킴다양한 인터넷 정보 시스템에서 채택하는 URL 스킴에 대해 살펴본다.URNURL과는 구분되는 리소스 명명 방식인 URN에 대해 설명한다.URI란?URI는 리소스를 식별하는 방식으로, HTTP와는 별개로 독립적인 개념이다. 주로 다른 프로토콜과 결합되어 특정 리소스를 명시하는 데 사용된다.리소스 명명 방식URI는 리소스를 이름으로..

HTTP란?

본 내용은 "HTTP 완벽 가이드" 내용을 참고하여 기록한 정리본입니다. 게시할 내용리소스란 무엇인가?리소스는 어디서 오는가?웹 트랜잭션의 동작 원리HTTP 메시지의 기본 형식HTTP 기저의 TCP 네트워크 전송여러 종류의 HTTP 프로토콜HTTP 버전 종류웹의 구성요소HTTP란?HTTP는 신뢰성 있는 데이터 전송을 위해 설계된 프로토콜이다. 데이터의 파괴, 중복, 왜곡을 방지하는 여러 메커니즘이 내재되어 있어, 웹 상에서 정보가 안정적으로 주고받을 수 있도록 한다.웹 클라이언트와 서버웹 클라이언트리소스를 요청하는 주체로, 사용자가 브라우저를 통해 웹 페이지에 접근할 때 역할을 수행한다.웹 서버클라이언트의 요청에 따라 리소스를 제공하는 시스템이다.웹 콘텐츠웹 서버가 제공하는 다양한 형태의 리소스를 의미한..

책 읽는 방법

오랜만에 독서를 통해 새로운 개념을 학습하려고 하니, 어떻게 접근하고 학습하였는지 기억도 잘 안나고, 체계가 잡혀있지 않은 상태로 읽게되는 것 같다.이 문제를 해결? 하기 위해, 가볍게 "책 읽는 방법" 이라는 주제로 생각을 정리한 글을 게시한다.1. 목차 읽기알려주는 내용 파악: 목차를 먼저 읽어 책이 전달하려는 핵심 메시지와 다루는 주제를 명확히 한다.주제 분석: 각 목차 항목을 통해 책의 전반적인 내용과 범위를 이해한다.예상 결과 도출: 목차를 기반으로 책을 읽으면서 얻을 수 있는 인사이트나 배움의 방향을 미리 예측한다.2. 용어 추출핵심 단어 강조: 책을 처음 읽을 때 주요 개념이나 용어에 형광펜을 사용해 강조한다.부제 작성하기: 각 문단별 부제를 작성함으로써, 해당 문단이 설명하고자 하는 개념과..

조금씩 차근차근 - 25년 3월 3주차 회고

배움에 끝은 없다.취준을 위한 공부를 피해라.불안을 동기로 하는 공부는 정신을 갉아먹는다.지속가능한 학습을 수행해라.남들보다 뒤쳐질 것 같더라도, 무시당할 것 같더라도, 나는 정답을 알고 있다.결국엔, 내가 옳고, 이 방식이 옳다.타인의 시선을 의식하지 마라.나에게 가장 부족한 부분을 인식하고, 현재 내가 필요한 부분의 학습에 집중해라.나 자신을 인정하고, 겸허히 받아들이고, 기초를 탄탄히 다져놔야 뭐든 할 수 있다.순수하게, 나를 위해서 가끔 돌아가보고, 실수해보는 공부를 할 여유를 가져라.미래에 대한 불안 없이, 막연히 즐기며 할 수 있는 공부방향성에 대한 불안이 없는 공부순수하게 배움의 즐거움에 빠져있을 수 있는 공부난 패러다임 시프팅을 수행하기엔, 너무 아깝다.이미, 내가 좋아하는 공부를 즐기는 ..

개인적 공간 2025.03.21

기아 면접 KPT 회고 - 25년 3월 2주차 회고

잘한 것 - 유지해야 함"회복 탄력성"매우 강한 스트레스 관리 능력.성장에 진심인 태도.강렬한 논리적 피드백에 대해, 압박받지 않는 것.내 감정이 아닌, 문제의 해결에 집중하는 것.피드백 상황에서 유연하게 대처함.피드백 상황에서, 어떻게 해야 할 지 나름대로 생각을 해보고 침착하게 답변함.갈등 해결 능력"글로 의견이 적히면, 불필요한 대화의 반복을 제거할 수 있다.""같은 말을 반복하면 감정이 담긴다는 것을 파악하고, 글로 감정을 정리해서 표현했다.”못한 것 - 개선해야 함소통 능력 - 내게 들어온 질문, 피드백에 대한 대응너무 많은 것을 혼자서 생각하려 하지 말고, 동료와 의견을 나누어 정답을 찾아가려는 의지를 보여라.피드백을 들었다고, 당장 그걸 해결하려는 건 좋은게 아니다!정확히 그 피드백이 무슨 ..

개인적 공간 2025.03.14

상속 관계 매핑

상속 관계 매핑은 엔티티 간의 상속 관계를 데이터베이스에 표현할 필요가 있을 때 사용하는 모델링 기법이다. 이는 객체지향의 상속 개념과 유사하게, 엔티티가 is-a 관계를 가지거나 부모 타입으로 일관되게 관리되어야 할 때 유용하다. RDBMS는 상속 개념을 직접 지원하지 않으므로 Super-Type Sub-Type Relationship이라는 기법으로 이를 대체한다.상속관계 매핑이란?필요성엔티티 간 상속 관계가 필요한 경우가 존재한다.is-a 관계: 특정 엔티티가 다른 엔티티의 특성을 물려받을 때부모 타입으로 일관된 관리: 여러 엔티티를 공통 부모 타입으로 관리해야 할 경우 - 부모 타입으로 다형적 쿼리(ex: 부모 타입으로 전부 조회)를 지원해야 할 경우대체 기법RDBMS는 상속 개념이 없으므로, 슈퍼..

WEB BE Repo/JPA 2025.03.11

도메인 주도 설계(DDD)

1. 개념 및 원칙도메인 주도 설계(Domain-Driven Design)는 소프트웨어의 핵심 비즈니스 도메인에 집중하여 복잡한 도메인 지식을 코드의 도메인 모델로 표현하고 발전시키는 설계 철학이다. 복잡한 비즈니스 로직을 도메인 모델(객체 모델)로 추상화함으로써 비즈니스 현실과 코드 간의 간극을 줄인다. 이를 위해 도메인 전문가와 개발자는 공유하는 보편 언어(Ubiquitous Language)를 구축하여 요구사항 분석부터 설계, 구현까지 동일한 언어로 소통한다. 이 과정에서 모델은 지속적으로 정제되고 리팩토링되어, 요구사항의 의도를 코드에 정확히 반영하게 된다.DDD가 필요한 이유는 복잡한 도메인 문제를 다루는 소프트웨어에서 두드러진다. 전통적인 데이터 중심 설계나, 도메인 객체가 단순히 데이터 저장..

Docker 개념과 기본 지식

1. Docker의 개념: 컨테이너 기반 가상화 vs. VMVM과 컨테이너의 구조를 비교하면, VM은 하이퍼바이저 위에서 각각 게스트 OS를 포함하는 반면, 컨테이너는 Docker와 같은 컨테이너 엔진 위에서 호스트 OS의 커널을 공유하며 애플리케이션과 라이브러리만 포함한다.컨테이너는 운영체제 수준에서 격리된 가상화 환경을 제공하며, 별도의 게스트 OS를 포함하지 않기 때문에 VM보다 훨씬 경량이고 빠르게 실행된다.또한, 컨테이너는 프로세스 격리를 통해 애플리케이션을 다른 환경과 분리함으로써 시스템 간 간섭을 최소화한다.Docker는 이러한 컨테이너 기술을 활용해 애플리케이션을 패키징하고 배포하는 플랫폼이다. Docker 컨테이너의 주요 이점은 다음과 같다.경량성 & 효율성: 시작 속도가 수 초 이내로 ..