Understanding HTTP Versions: From 0.9 to 3.0 Notes HTTP(HyperText Transfer Protocol) HTTP(HyperText Transfer Protocol)는 웹 상에서 클라이언트와 서버 간에 데이터를 주고받기 위한 프로토콜이다. HTTP는 여러 버전을 거쳐 발전해왔으며, 각 버전은 성능 향상과 보안, 효율성 개선 등을 목적으로 다양한 변경 사항을 포함한다. 오늘날 쓰이고 있는 HT... 2025/07/22 Archive, Web
Process and Thread Notes 프로세스와 스레드는 무엇이 다른가 둘 다 실행 단위이지만 책임이 다르다. Process: 실행 중인 프로그램 인스턴스이자 자원 소유 단위 Thread: 프로세스 안에서 실제 코드를 실행하는 흐름 단위 운영체제는 프로세스에 주소 공간과 파일 디스크립터 같은 자원을 할당하고, 스레드는 그 안에서 CPU를 사용해 실행된다. 메모리 관점 차... 2025/07/22 Notes, OS
Multiplexing Notes 멀티플렉싱이란 멀티플렉싱은 하나의 자원이나 채널을 여러 작업이 번갈아 또는 함께 사용할 수 있게 만드는 방식이다. 통신에서는 하나의 회선을 여러 신호가 공유하는 의미로 쓰이고, 운영체제에서는 하나의 스레드나 프로세스가 여러 I/O 대상을 효율적으로 감시하는 의미로 자주 등장한다. 핵심은 제한된 자원을 더 잘 나눠 쓰는 것이다. 운영체제에서 왜 중... 2025/07/22 Notes, OS
Multithreading Notes 멀티스레딩이란 멀티스레딩은 하나의 프로세스 안에서 여러 스레드가 동시에 실행 흐름을 가지는 구조다. 같은 프로세스 안에 있기 때문에 코드, 힙, 전역 데이터 같은 자원을 공유하면서도, 각 스레드는 자기만의 스택과 실행 문맥을 가진다. 즉 멀티스레딩은 “작업을 나눈다”는 의미이기도 하고, “같은 주소 공간 안에서 여러 실행 흐름을 운영한다”는 의미이... 2025/07/22 Notes, OS
Inside ArrayList: Capacity Expansion Mechanism Notes ArrayList 배열확장 ArrayList는 내부적으로 배열(Object[] elementData)을 사용하여 요소를 저장한다. 이 배열은 고정 크기이기 때문에, ArrayList는 동적으로 크기를 늘리는 방식으로 작동한다. 이 과정에서 배열의 용량(capacity)이 가득 차면 기존 배열보다 더 큰 새로운 배열을 생성하고, 기존 요소들을 복사하여... 2025/07/22 Archive, Java
2025-07-18-TIL TIL Today I Learned 어제에 이어서 이틀째 이력서를 다시 작성중이다. 정말 어려운 것은 내가 쌓은 경력에서 매력적인 요소를 억지로 뽑아내려고 쥐어짜내는 것이다. 이전에 한 지인이 이력서를 피드백 해줄 때, 말해준 내용이 정말 와닿았다. “우리는 조졸두님이 아니라서 수치를 화려하게 써놓아도 눈에 띄기 어렵다.” 따라서 우리는 실무에서 어떤 문제... 2025/07/18 TIL, 2025-TIL
2025-07-17-TIL TIL Today I Learned 오늘은 이력서를 다시 작성해보았다. 첫 페이지를 보고 “이 사람의 경력기술서를 더 보고싶다”라는 생각이 들도록 하고싶은데, 그게 쉽지는 않다. 그리고 내가 경험하거나 배운 내용들보다도 이력서에 포함된 내용이 너무나도 보잘것 없는것 같다. 기존에 작성했던 내용들말고 또 내가 어떤 일을 했는지, 어떤걸 배웠는지, 그리고 어떤... 2025/07/17 TIL, 2025-TIL
2025-07-16-TIL TIL Today I Learned 4주간의 멘토링 질문/답변을 정리해보고, 스스로 답변을 작성해보았다. 질문만 보고 답변을 작성해보면서 어떤 부분이 제대로 정리되지 않았는지 확실히 파악이 가능했다. 메소드 시그니처란? 자바에서 메소드를 구분하기 위한 최소한의 기준이자, 내부적인 처리단위이다. 메소드 이름, 매개변수의 ... 2025/07/16 TIL, 2025-TIL
애프랩(F-Lab) Java Backend 1개월 후기 TIL F-Lab 신청이유 먼저, F-Lab에 신청하게 된 이유를 스스로 명확히 하는 것이 중요하다고 생각했다. 이유가 명확해야 확실한 목표 의식이 생기고, 내가 성취하고자 했던 목표를 이룰 수 있다고 믿기 때문이다. 사실, 나는 이미 신입 개발자로 지원할 당시 부트캠프를 수료한 경험이 있다. 그래서 이번에는 이러한 교육 프로그램에 대해 더욱 신중하게 고... 2025/07/08 TIL, 2025-TIL
Java의 Garbage Collection을 어떻게 이해해야 할까 Notes Java의 Garbage Collection은 흔히 “사용하지 않는 객체를 자동으로 지워주는 기능” 정도로 설명된다. 이 설명 자체는 틀리지 않지만, 실무에서 중요한 것은 GC가 있다는 사실보다 GC가 언제 비용이 되고, 어떤 기준으로 동작하며, 왜 튜닝이 필요한지를 이해하는 것이다. GC의 기본 역할 GC의 목적은 더 이상 사용되지 않는 객체가 ... 2025/07/04 Notes, Java