전체보기22
Java6
프로그래밍 언어6
Kafka5
네트워크5
메시지큐4
NestJS3
OOP3
결제3
디자인 패턴3
CS2
gRPC2
protobuf2
Servlet2
Socket2
TypeScript2
멱등성2
AWS1
Buf1
CICD1
DI1
DLQ1
ECR1
ECS1
Fargate1
git1
HTTP1
HTTP21
JNI1
JVM1
Kotlin1
OAuth1
OIDC1
OS1
Python1
Redis1
Spring1
Spring Cloud Stream1
Spring Kafka1
Swagger1
syscall1
Thread1
데코레이터1
동시성 제어1
아키텍처1
알고리즘1
인가1
인증1
인프라1
재시도1
커리어1
환불1
태그: CS (2)
커널부터 Socket.java까지 소켓 추상화 스택 분석
서버 개발자의 본질은 네트워크를 통해 클라이언트의 요청을 수신하고 이에 대한 응답을 제공하는 애플리케이션을 만드는 데 있습니다. 오늘날에는 수많은 추상화 덕분에 개발자가 네트워크 설정을 직접 다루지 않아도, 단순히 Controller라는 개념을 사용해 직관적인 코드만으로 HTTP 서버를 띄울 수 있게 되었습니다. 그러나 추상화는 본질적으로 동작을 은닉하고 이를 고수준의 언어로 포장합니다. 이 과정이 겹겹이 쌓이다 보니 서버, 통신, HTTP, 서블릿, 톰캣, 스프링, 스프링부트 등을 설명하는 글들은 오히려 불필요한 첨언과 혼란스러


Java
CS
Java
CS
네트워크
Socket
프로그래밍 언어
Java의 new Thread()는 어떻게 OS 커널 스레드가 될까?
Java에서 new Thread() 를 호출하면 OS의 커널레벨 스레드와 1대1로 매핑된다고 흔히들 공부하실 겁니다. 다만 이 인스턴스가 OS에서 다루는 스레드까지 도대체 어떤 과정을 통해서 매핑되는 지는 와닿지 않으실겁니다. 사진 출처: 우아한 기술 블로그 개발자 이전에 공학도로서 한번 top-down으로 파고들며 분석해보겠습니다. OS부터 올라오기 보단 친숙한 Java 애플리케이션 레벨 부터 시스템콜을 호출 하는 부분까지 실제 동작 과정을 코드를 타고가며 관측해보겠습니다. 코드 분석 Java 표준 라이브러리 - Thr


프로그래밍 언어
Java
프로그래밍 언어
Java
JVM
OS
Thread
JNI
syscall
CS