HTTP 버전 : http1, http1.1, http2, http3

HTTP/1은 1996년에 도입된 HTTP 프로토콜의 첫 번째 버전입니다. 모든 요청에 별도의 TCP 연결이 필요 했습니다. HTTP/1.1은 네트워크 리소스의 비효율적인 사용 및 대기 시간과 같은 문제를 해결하는 것을 목표로…
자바스크립트 문자열 : 문자열 다루기, 문자열 검사, 형변환

파이썬 문자열을 꽤 다루어 보았음에도 “자바스크립트 문자열”을 다뤄보니 여간 헷갈리는 게 아니네요…. 문자열 다루는 것이나 형변환은 유사한 데 자료형 검사 부분이 파이썬과 많이 달라 유독 고생을 했던 것 같습니다
자바스크립트 구조 분해 : 배열 분해하기, 변수 값들 교환하기

“자바스크립트 구조 분해” 구문을 사용하면 배열의 값을 추출하거나 객체의 속성을 고유한 변수로 추출할 수 있습니다. 그리고 변수 값들을 교환하는 데에도 사용할 수 있습니다. 자바스크립트 구조 분해는 어떤 기능 일까요?
동시성 병렬성 : 멀티 태스킹의 비밀

모든 사람들이 멀티 태스킹이라고 하면 직관적으로 병렬 작업을 생각할 것 같습니다. 하지만 멀티 태스킹을 공부하다 보면 동시성 병렬성 개념이 등장 합니다.
파이썬 자료형 검사 : type(), isinstance(), isnumeric(), isdigit()…

입력 받은 값, 혹은 전달 받은 값이 어떤 자료형 인지 검사할 때가 있습니다.파이썬 자료형 검사 함수들에는 type(), isinstance(), isdigit(), isnumeric() 등이 있는데요…
프로세스 vs 스레드 : IPC, 주소 공간, 멀티 프로세스, 멀티 스레드

프로젝트를 진행 하다가 처리 시간이 긴 프로세스를 만난 적이 있었습니다. 그때 바로 생각난 개념이 “멀티 프로세싱” 이였습니다. 그런데 공부를 하다 보니 “스레드”라는 개념이 튀어나옵니다. “프로세스 vs 스레드” 끝인가? 아닙니다… 동시성, 병렬성, 뮤텍스…
파이썬 zip 함수 : 반복자 쌍들을 가지고 노는 함수

Python에서 zip() 함수는 여러 iterable 항목(예: 리스트, 튜플 또는 문자열)을 튜플의 반복자로 결합하는 데 사용됩니다. zip 함수는 이런 기능을 이용해서 병렬 반복이나 데이터 쌍과 같은 작업에 유용하게 사용 할 수 있습니다
멀티 태스킹 : 스케줄러, Dispatch, Context Switching, PCB

“Context Switching”에서 Context는 프로세스의 상태를 의미합니다. 기본적으로 Context Switching은 프로세스 상태를 바꾸는 것을 말하며,다시 말하면 프로세스를 일시 중지하고 다시 시작할 수 있도록 프로세스/스레드 상태를…
프로세스 생명주기 : 대기열, 스케줄링, 가상 메모리 스와핑

어찌보면 당연한거지만 프로세스에도 생애주기가 있었습니다. 사람도 세포도, 여러 대사 작용들도 모두 cycle이 있습니다. SDLC 개념도 처음 들으면서 재밌다 생각했는데, “프로세스 생명주기”도 있다는 걸 깨닫지 못한 게 오히려 신기한 건가 싶기도 합니다.
메모리 계층 : 레지스터, 캐시, 메인 메모리, 보조 메모리

“메모리” 하면 사실 RAM이 가장 먼저 떠오릅니다. 하지만 여러 메모리 형태가 “메모리 계층”으로 분리되어 존재합니다. 레지스터, 캐시, 메인 메모리, 보조 메모리 이들은 어떤 역할을 하는 걸까요?