목록이론적인 부분들 (21)
치춘짱베리굿나이스
쿠키, 세션 쿠키, 세션, 로그인, JWT를 한 포스팅에 욱여넣다가 분량조절 실패로 열심히.. 나누고 있다 (ㅋㅋ) 쿠키와 세션 도입 배경 https://blog.chichoon.com/693 예전에 HTTP에 관한 글을 적은 적이 있었다 여기서 HTTP가 ‘상태를 저장하지 않지만, 세션은 존재한다' 라고 적었는데, HTTP의 특성 중 Connectionless (비연결성), Stateless(무상태) 가 있다 비연결성은 요청 - 응답을 교환 (통신 성공) 한 뒤 연결을 계속 유지하지 않고 끊어버리는 특성으로, 서버 상에서의 자원을 효율적으로 관리할 수 있고 수많은 클라이언트들의 연결 요청에도 리소스 낭비 없이 바로 대응할 수 있다 무상태는 서버에서 클라이언트의 이전 상태를 가지고 있지 않는다는 특성으로..
디자인 패턴 MVC 패턴에 대한 글을 적고 있었는데 아예 카테고리를 따로 파서 디자인 패턴 관련된 글을 묶어놓는 게 나을 것 같아 일단 디자인 패턴에 관해 알아보기로 했따.. 개요 디자인 패턴? 건축학에서 유래된 용어로, 건축학에서는 몇몇 눈에 띄는 공통적인 부분을 디자인 패턴으로 정의하여 이를 조합하여 더 큰 건축물 (또는 도시) 을 설계하는 방법이다 이 건축학 기법이 소프트웨어 프로그래밍 계에 큰 영감을 주면서 비슷한 방식으로 도입하게 되었다 소프트웨어를 설계하면서 발견된 문제와 해결 노하우 (이 부분은 이렇게 짜면 문제가 해결된다 / 개선된다 싶은 것들) 를 다른 큰 소프트웨어를 설계할 때 응용할 수 있도록 잘 정리해 둔 패턴이 바로 디자인 패턴이다 내가 지금 겪고 있는 문제를 과거 다른 사람들이 ..
HTTP 기본 HTTP 소개 Hypertext Transfer Protocol 응용 계층 (Application Layer) 에서 사용되는 프로토콜로, 1989년에 팀 버너스 리에 의해 고안되었다 참고로 www랑 URL 개념도 이분이 고안하셨다 역시 CERN인가? 대박천재시다 처음에는 웹 브라우저 - 웹 서버 간 하이퍼미디어 문서 (이름에도 나와있듯, 말그대로 Hypertext 문서) 를 주고받기 위해 만들어진 프로토콜이지만, 지금은 일반 텍스트나 JSON 객체, 이미지 등 미디어 파일들도 주고받을 수 있게 확장되었으며, 어플리케이션이나 IoT 등 웹과 관계없는 분야에서도 이 프로토콜을 이용하여 데이터를 주고받는다 HTTP는 www (월드 와이드 웹) 에 내재되어 있으며, 일반적인 웹 브라우저에는 htt..
HTTP 응답 코드 약간 치트시트 느낌으로 만들어보는 응답 코드 포스팅이다 1XX 요청을 잘 받았고, 요청에 따른 처리를 진행중이라는 의미이다 사용 빈도는 드물지만 가끔 웹소켓 등에서 사용한다 100 Continue 요청에 문제가 없으니 다음 요청을 이어서 보내도 된다는 의미이다 클라이언트에서 더이상 작업할 게 없는 경우, 보통 이 응답은 무시한다 101 Switching Protocols 클라이언트가 요청한 대로 프로토콜을 바꿀 것이라는 의미이다 웹소켓에서 많이 사용한다고 한다 103 Early Hints 서버가 아직 처리를 진행중이긴 하지만, 클라이언트가 미리 자원을 읽을 수 있도록 맛보기를 제공한다 2XX 성공! 요청이 잘 들어왔고, 서버에서 이 요청을 이해했으며 제한 없이 수용될 수 있음을 의미한..
OSI 7계층 프로토콜? 단어 뜻이 규약, 협약으로, 비단 네트워크 뿐만 아니라 여러 분야에서 상호간의 소통 및 교류를 위한 사회적 약속 및 규칙을 의미한다 예를 들어 편지를 부치기 위해 우체국에 가야하는 것도 일종의 프로토콜이라 할 수 있겠다 마찬가지로 네트워크에서의 프로토콜은, 네트워크 환경 내의 모든 기기가 통신하며 데이터를 주고 받기 위한 규약이라고 할 수 있다 네트워크 프로토콜이 정해지지 않을 경우, 각 기기들은 독자적인 방식으로 통신을 시도할 것이고, 그러다 보면 우연하게 보내고자 했던 요청이 잘 도착할 수도 있지만 대부분의 경우 실패할 것이다 따라서 프로토콜을 사전에 정의하여 요청 및 응답의 포맷, 각 이벤트별 행동 등을 사전에 전역으로 정의하여 모든 기기가 해당 규약을 따라 원활히 통신하도..
https://chichoon.tistory.com/121 [Rank 3] Philosophers - 프로세스와 스레드 프로그램 실행 가능한 코드라인들이 저장된 파일 모든 프로그램은 운영체제로부터 실행되기 위한 메모리 공간을 할당받아야 프로그램에 정의된 대로 동작을 수행할 수 있다 허나 이러한 자원 blog.chichoon.com 앞선 포스팅 (좀 오래된 포스팅이긴 하지만…) 에서 프로세스와 스레드의 차이를 알아보았다 오늘은 프로세스 스케줄링에 대해 공부해보도록 하자 프로세스 스케줄링이란? 프로세스가 생성되고 실행될 때 필요한 자원들을 해당 프로세스에게 할당하는 작업 앞 포스팅에도 적었듯 프로그램이 메인 메모리에 적재된 상태가 프로세스이므로 메인 메모리에는 많은 프로세스들이 존재한다 하지만 프로세스를 처..
.git 뜯어보기 여기서부턴 .git 폴더를 직접 뜯어보았다 깃 많이 쓰긴 하지만 깃의 작동방식 원리를 이해하고 쓰는것도 괜찮을 것 같다 물론 깃의 명령어와 기능이 워낙 방대하기 때문에 전부 다 다룰 수는 없다 .git/index 아직 add하지 않은 상태에서 루트 폴더의 .git/index 파일을 열어보자 대부분의 문자가 깨진 이유는 index 파일 내용물이 SHA1 방식으로 암호화되어 있기 때문이다 이번에는 git add 커맨드를 사용한 뒤 .git/index 파일을 열어보았다 여전히 파일이 깨져있지만 아까와는 변화가 생겼음을 바로 알 수 있다 위에 적었듯 깃에서 이용하는 해시 키는 파일 내용과 함께 암호화되기 때문에, 파일 내용이 조금이라도 달라지면 완전히 다른 해시 키를 발급받게 된다 즉 깃에서 ..
PR 리뷰하기 팔만코딩경에 올렸던 게시글을 다시 정리하여 업로드한다 개요 풀 리퀘스트를 리뷰함으로써 머지 전 수정할 사항은 없는지 여러 사람이 함께 체크할 수 있다 소규모 프로젝트는 리뷰할 사항이 그렇게 많은 편이 아니지만, 프로젝트가 커질 수록 PR이 머지되는 속도가 점점 느려지고 리뷰로만 몇날 며칠을 꼴깍 새운다고 한다 (😱) 아무튼 간단하게나마 깃허브 리뷰방법을 적어본다 1. 리뷰할 풀리퀘스트 고르기 리뷰하고자 하는 풀리퀘스트를 고르자 예시로 일단 내가 올린 풀리퀘스트를 선택하도록하겠다 2. Files Changed 클릭 Files Changed를 통해 이 풀 리퀘스트에서 변경된 모든 파일과 수정점을 볼 수 있다 3. 리뷰 시작 (리뷰 코멘트 작성) Files Changed에 들어가면 파일의 변경된..