" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스상황기능구현을 위해 A 브랜치에서 작업, main으로의 merge를 위해 PR을 올림.그러나 팀원들이 아직 확인 후 merge하지 않아 다른 작업을 하기 애매한 상황 방법 1. 작업 후 나중에 merge먼저 A 브랜치의 HEAD에서 새로운 B 브랜치 생성이후 B 브랜치에서 작업 진행Github에서 A 브랜치가 main에 merge되면, 로컬에서 main으로 checkout 후 pull다시 B 브랜치로 이동 후 git merge main다시 작업을 진행하거나, 작업이 마무리 되었다면 push 방법 2. 작업 후 나중에 rebase먼저 A 브랜치의 HEAD에서 새로운 B 브랜치 생성이후 B 브랜치에서 작업 진행Github에서 A 브랜..

" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스들어가며백엔드를 공부하기 전, 필수적으로 알아야할 개념인 서버와 소켓에 대해 다루어보려 한다. 단순히 두 용어의 정의를 나열하는 것이 아닌, 네트워크 및 운영체제와 엮어 실제 동작 방식에 대해 알아보자. 서버란?서버란 클라이언트로부터 요청을 받아 알맞은 응답을 반환해주는 "프로세스"이다. 프로세스란, 메모리 위에서 실행되고 있는 프로그램을 의미하며 모든 서버 및 실행중인 프로그램들은 독립적인 프로세스로서 메모리 위에서 동작하고 있다. IPC: 프로세스 간 통신위의 내용처럼, 서버는 하나의 프로세스이다. 그렇다면, 서버는 어떤식으로 클라이언트에게 요청을 받고, 응답하게 되는지 알아보자.먼저, A와 B라는 컴퓨터에서 브라우저와 서버가..

HTML 삽입 미리보기할 수 없는 소스 기존에 알고 있던 스프링 구조 스프링 콘텍스트 밖에서 필터를 거친 후, 디스패쳐 서블릿(프런트 컨트롤러)이 컨트롤러들에게 요청을 위임하는 방식 의문점 우리는 스프링 시큐리티를 사용하면서 스프링 컨텍스트 내부에서 필터를 등록해 사용하는데, 어떻게 스프링 컨텍스트에 도달하기 전에 필터를 거칠 수 있는걸까? DelegatingFilterProxy 현재 필터체인은 크게 2가지가 존재한다. 서블릿 컨테이너의 필터체인 스프링 컨테이너의 필터체인 과거에는 필터는 서블릿 컨테이너에만 존재했으며, 필터를 스프링 컨테이너에서 관리할 수 없었다. 그러나, DI와 같은 기술들이 필터에서도 필요해지면서 DelegatingFilterProxy라는 프록시 호출용 필터를 지원하기 시작하였다. ..

HTML 삽입 미리보기할 수 없는 소스 URL 구조 URL의 일반적인 구조 -> 스킴(프로토콜)://서버위치/경로 URL 문법 대부분의 URL 스킴 문법은 일반적으로 9개의 부분으로 나뉜다. ://:@:/;?# 스킴 어떤 프로토콜을 사용하여 리소스를 가져올지를 가리키며, 대소문자를 구분하지 않는다. 사용자 이름과 비밀번호 FTP와 같은 프로토콜의 경우, 데이터 접근 허용을 위해 이름과 비밀번호를 요구한다. 후행 컴포넌트와 '@' 문자로 구별된다. 호스트와 포트 호스트는 인터넷 상의 호스트 장비(IP주소 또는 도메인 네임)을 가리키고, 포트번호는 해당 호스트의 네트워크 포트(또는 프로세스)를 가리킨다. 경로 이전 컴포넌트와 '/' 문자로 구분되며 서버에서 리소스의 정확한 위치를 나타낸다. 파라미터 애플리케..

HTML 삽입 미리보기할 수 없는 소스 HTTP? 추상적으로 설명하자면, HTTP는 인터넷의 정보들을 전달해주는 배달부와 같다. 수많은 멀티미디어 정보들을 빠르고, 간편하고, 정확하게 전달해줄뿐만 아니라, 전달되는 정보의 무결성을 보장해준다. 웹 클라이언트와 서버 인터넷에 존재하는 수많은 멀티미디어 정보들을 우리는 웹 콘텐츠라고 한다. 웹 콘텐츠는 웹 서버에 존재하며, 웹 클라이언트에 요청에 따라 콘텐츠를 전송(응답)한다. 리소스 웹 리소스는 웹 콘텐츠의 원천이다. (웹 리소스 > 웹 콘텐츠) 정적 파일일수도, 동적으로 콘텐츠를 생성하는 프로그램이 될 수도 있다. 미디어 타입 인터넷에는 수천가지 데이터타입이 존재하므로, HTTP에서는 MIME 데이터 포맷 라벨을 활용한다. MIME은 기존에 서로 다른 메..
HTML 삽입 미리보기할 수 없는 소스 격리 수준에 따라 발생할 수 있는 이상현상 1. Dirty Read (오손 데이터 읽기) 데이터의 변경이 끝나지 않은 상황에서 다른 트랜잭션이 데이터를 읽어 잘못된 데이터를 읽는 경우 2. Non-Repeatable Read (반복할 수 없는 읽기) 한 트랜잭션 내에서 같은 데이터를 2번 이상 읽었을 때, 다른 값을 읽게되는 경우 3. Phantom Read (팬텀 읽기) 한 트랜잭션 내에서 같은 쿼리를 2번 실행했을 때, 없던 데이터가 추가된 경우 Isolation Level (격리단계) Level 0: Read uncommited Commit 되지 않은 데이터에 대해서 읽기가 가능하다. 따라서 3가지 이상현상 모두 발생 가능하다. Level 1: Read com..