푸른영혼의 별 | Tech Blog
Java Backend Engineer의 기술 블로그입니다.
Spring Boot, MSA, JPA, Kafka, Kubernetes 등 실무 경험을 공유합니다.
주요 프로젝트: Settlement MSA · ASAT · GitHub
Posts (총 613편 · 1 / 62 페이지)
-
의존성 화살표가 안쪽으로 돌기까지 — 레이어드·헥사고날·클린 아키텍처 비교
“레이어드·헥사고날·클린 아키텍처 차이가 뭔가요” 는 신입 인터뷰의 단골이다. 답변은 대부분 그림의 차이 (“클린은 동심원, 헥사고날은 육각형…”) 로 흐른다. 그러나 이 셋을 만든 저자들이 실제로 겨눈 건 그림이 아니라 의존성이 어느 방향으로 흐르는가 한 줄이다. 이 글은 그 한 줄을 시대순으로 따라간다.
-
println 으로 HTML 을 찍던 시절과 가상 DOM — JSP 와 React 는 각각 무엇을 지웠나
JSP 와 React 를 “낡은 것과 새것”으로 놓으면 아무것도 안 보입니다. 둘은 서로 다른 시대의 서로 다른 통증에 대한 답이고, 공교롭게도 같은 방식으로 답했습니다 — 사람이 쓰던 절차를 지우고, 결과만 쓰게 했다.
-
JPA 와 MyBatis 는 JDBC 의 무엇을 지웠고, 왜 둘 다 살아남았나
JPA 와 MyBatis 는 서로의 상위/하위 호환이 아니다. 시간순으로 나열해서 “MyBatis 는 옛것, JPA 가 신것” 이라고 이해하면 두 프레임워크의 실제 관계를 놓친다. 둘은 JDBC 라는 같은 통증에서 갈라져 나와 서로 다른 방향을 골랐고, 그래서 둘 다 살아남았다.
-
파이썬은 왜 만들어졌나 — 탄생 배경, 해결한 문제, 그리고 그 이전과 이후
-
LLM 은 태스크별 NLP 모델의 무엇을 지웠고, 무엇을 남겼나
“LLM 이 AI 를 만들었다” 는 이야기는 대체로 틀리다. AI 연구는 1950년대부터 있었고, 신경망도 1980년대에 이미 있었다. LLM 이 실제로 지운 것은 “AI 가 없던 시대” 가 아니라 “NLP 태스크마다 별도의 모델을 훈련시켜야 했던 시대” 다. 이 구분을 세우고 시작한다.
-
EJB 2.1 의 3파일에서 java -jar 한 줄까지 — 스프링/스프링부트가 실제로 지운 것들
“스프링이 왜 나왔는지” 는 자바 백엔드 인터뷰의 단골이다. 그런데 답변은 대부분 결과의 목록 이지 문제의 목록 이 아니다. “DI, AOP, POJO…” 를 나열해도, 그것이 없던 시절엔 무엇을 견뎌야 했는가 를 설명하지 못하면 정확한 답이 아니다. 이 글은 그 순서를 뒤집는다 — 먼저 무엇이 아팠고, 무엇이 지워졌는지 를 정리한다.
-
Oracle 은 IMS 와 CODASYL 의 무엇을 지웠고, 무엇을 남겼나
Oracle 이 관계형 데이터베이스를 발명했다 고 오해하는 사람이 많다. 아니다. Oracle 은 관계형을 팔았다. 이 구분이 무슨 차이를 만드는지, 그리고 Oracle 이 등장하기 전의 데이터베이스가 실제로 어떻게 생겼었는지를 짚는다.
-
쿠버네티스는 어떤 문제를 풀러 왔나 — 컨테이너가 남긴 빈칸과, 도입 전/후
쿠버네티스 설명은 대개 “무엇을 하는가”에서 시작합니다. 파드가 있고, 디플로이먼트가 있고, 서비스가 있고 — 하지만 그건 답입니다. 답만 먼저 보면 문제를 못 봅니다.
-
Java 는 C++ 의 무엇을 지웠고, Kotlin 은 Java 의 무엇을 지웠나
두 언어를 한 줄에 놓고 “Java 다음에 Kotlin” 이라고 말하는 순간, 놓치는 게 있다. Java 와 Kotlin 은 서로 다른 문제를 풀러 왔다. Java 는 C++ 을 대체하려 왔고, Kotlin 은 Java 를 대체하려 오지 않았다 — Java 위에 얹혀 살려 왔다.
-
Kafka는 어떤 문제를 해결했나? 등장 전후 비교
Kafka는 어떤 문제를 해결했나? 등장 전후 비교