React Server Components를 위한 컴포넌트 아키텍처2026.06.01React Server Components를 위한 컴포넌트 아키텍처번역 및 정리ReactNext.js#suspense#architecture#react-server-components2026.06.01React Server Components를 위한 컴포넌트 아키텍처번역 및 정리ReactNext.js#suspense#architecture#react-server-components이 포스트는 Vercel의 Next.js 팀 소속 개발자 Aurora Scharff가 자신의 블로그에 올린 Component Architecture for React Server Components 게시글을 번역한 것이다. 번역하는 과정에서 다소 의역이 있을 수 있으며, 일부 번역에는…
Trie 자료구조2026.04.11Trie 자료구조번역 및 정리Javascript#자료구조#trie2026.04.11Trie 자료구조번역 및 정리Javascript#자료구조#trie문자열 데이터를 다룰 때 단순히 “이 단어가 있나?”만으로는 부족한 순간이 있다. 자동 완성처럼 특정 접두사로 시작하는 후보를 모아야 할 때도 있고, 어떤 키에 값을 두고 빠르게 찾고 싶을 때도 있다. 이럴 때 가장 자연스럽게 떠올릴 수 있는 자료구조가 바로 Trie이다. Trie는 무…
JavaScript를 위한 더 나은 Streams API가 필요하다2026.03.04JavaScript를 위한 더 나은 Streams API가 필요하다번역 및 정리Javascriptstreams-api-series#streams-api2026.03.04JavaScript를 위한 더 나은 Streams API가 필요하다번역 및 정리Javascriptstreams-api-series#streams-api이 포스트는 node.js의 코어 컨트리뷰트이며 Cloudflare Workers 팀 소속 개발자 James M Snell이 cloudflare 블로그에 올린 We deserve a better streams API for JavaScript 게시글을 번역한 것이다. 번역하는 과정에서…
함수, 펑터, 그리고 모나드2026.03.01함수, 펑터, 그리고 모나드번역 및 정리#functional2026.03.01함수, 펑터, 그리고 모나드번역 및 정리#functional복잡한 버그는 대개 거대한 기능이 아니라 사소한 데이터 변환 구간에서 시작된다. 문자열을 한 번 다듬고, 숫자를 한 번 바꾸고, 그 결과를 다음 단계로 넘기는 단순한 흐름이다. 그런데 조건이 조금씩 추가되는 순간 로직은 빠르게 복잡해진다. 값만 바꾸던 코드가 어느새 값의 부재, 비동기…
Static Hermes로 JavaScript를 C 코드로 컴파일하기2026.01.15Static Hermes로 JavaScript를 C 코드로 컴파일하기번역 및 정리#static-hermes2026.01.15Static Hermes로 JavaScript를 C 코드로 컴파일하기번역 및 정리#static-hermes이 포스트는 parcel의 메인테이너 Devon Govett가 자신의 블로그에 올린 How to compile JavaScript to C with Static Hermes 게시글을 번역한 것이다. 번역하는 과정에서 다소 의역이 있을 수 있으며, 일부 번역에는 사견이 포함되어있기도 하다…
CSS Color Functions2026.01.03CSS Color Functions번역 및 정리CSS#color-space#colors#design#gradients2026.01.03CSS Color Functions번역 및 정리CSS#color-space#colors#design#gradients이 포스트는 Sunkanmi Fafowora가 css-tricks에 올린 CSS Color Functions 게시글을 번역한 것이다. 번역하는 과정에서 다소 의역이 있을 수 있으며, 일부 번역에는 사견이 포함되어있기도 하다. 몇 달 전 누군가 저에게 “웹사이트가 돋보이려면 무엇이 필요할…
마약 조직으로 이해하는 책임 할당 패턴 GRASP2025.12.07마약 조직으로 이해하는 책임 할당 패턴 GRASP번역 및 정리#responsibility#design-principles#architecture#grasp#object-oriented2025.12.07마약 조직으로 이해하는 책임 할당 패턴 GRASP번역 및 정리#responsibility#design-principles#architecture#grasp#object-oriented<갱단과의 전쟁>을 보다가 또 하나의 흥미로운 생각이 들었다. 마약 조직이라는 대상은 도덕적으로 정당화될 수 없지만, 구조적인 관점에서 보면 규모를 키우고 오래 버티기 위해 꽤 일관된 설계를 갖추고 있다는 점이다. 이들의 설계는 멋있어서가 아니라 생존을 위해 필연적으로 그렇게 된 것처럼…
마약 조직으로 이해하는 객체지향 설계 원칙 SOLID2025.12.07마약 조직으로 이해하는 객체지향 설계 원칙 SOLID번역 및 정리#encapsulation#design-principles#solid#architecture#object-oriented2025.12.07마약 조직으로 이해하는 객체지향 설계 원칙 SOLID번역 및 정리#encapsulation#design-principles#solid#architecture#object-orientedSBS에서 제작한 다큐멘터리 <갱단과의 전쟁>을 보다가 흥미로운 생각이 들었다. 마약 조직이라는 대상이 도덕적으로는 비난받아 마땅하지만, 구조적인 관점에서 보면 놀라울 정도로 객체지향적인 특성을 가지고 있다는 점이다. 상위 조직은 세부 구현에 관여하지 않는다. 전체적인 전략과 역할만 정…
TOON2025.11.25TOON번역 및 정리#prompt#llm#json#ai2025.11.25TOON번역 및 정리#prompt#llm#json#ai최근 대규모 언어 모델을 활용한 애플리케이션 개발이 일반화되면서, 프롬프트에 구조화된 데이터를 어떻게 전달할 것인지가 점점 더 중요한 문제로 떠오르고 있다. 기존의 JSON은 웹 API의 표준으로서 널리 사용되고 있지만, LLM에 데이터를 전달하는 데에는 JSON이 불필요한 토큰 사용을…
나의 AWS 요금 감량기2025.05.09나의 AWS 요금 감량기번역 및 정리#cost-optimization#docker#ec2#aws#devops2025.05.09나의 AWS 요금 감량기번역 및 정리#cost-optimization#docker#ec2#aws#devops이번 달 초, AWS 요금 청구서를 확인하고 자빠질 뻔했다. 프리티어가 끝난 데다 원달러 환율이 치솟으면서 12만 원이 넘는 요금이 결제된 것이다. AWS에 배포해 둔 프로젝트는 나만의 작은 독후감 작성 및 공유 사이트인 onef.co.kr 뿐인데, 아무리 애정이 가는 프로젝트라 해도…
함수형 프로그래밍과 Iteration Protocol2025.04.23함수형 프로그래밍과 Iteration Protocol번역 및 정리Javascript#monad#iteration#functional2025.04.23함수형 프로그래밍과 Iteration Protocol번역 및 정리Javascript#monad#iteration#functionalIteration Protocol 이터레이션 프로토콜은 자바스크립트에서 데이터를 순회하기 위한 표준화된 규약으로, 컬렉션(배열, 문자열 등)을 순회 가능한 형태로 정의한다. 이 프로토콜은 두 가지로 나뉘며, 하나는 이터러블 프로토콜(Iterable Protocol), 다른 하나는 **이…
docker2025.04.17docker번역 및 정리#container#docker#backend#devops2025.04.17docker번역 및 정리#container#docker#backend#devops현대의 개발 환경에서 도커(Docker)는 빠르게 개발하고 배포할 수 있는 핵심 도구로 자리 잡았다. 도커를 사용하면 애플리케이션 실행 환경을 컨테이너라는 독립된 단위로 포장할 수 있으며, 이를 통해 운영체제에 관계없이 동일한 환경에서 애플리케이션을 실행할 수 있다. 이러한 장점 덕분에…
자바스크립트에서의 멀티패러다임 프로그래밍2025.03.15자바스크립트에서의 멀티패러다임 프로그래밍번역 및 정리Javascript#multiparadigm#functional#object-oriented2025.03.15자바스크립트에서의 멀티패러다임 프로그래밍번역 및 정리Javascript#multiparadigm#functional#object-oriented이 글의 제목은 ‘자바스크립트에서의 멀티패러다임 프로그래밍’이지만, 우선은 영어에 대해 이야기해보자. 다소 뜬금없다고 느낄 수도 있겠지만, 다 이유가 있다. 아주 오래전, 국제 외교의 언어는 프랑스어였다. 왕실 간의 외교문서와 고위 외교관의 대화는 프랑스어로 쓰이는 것이 관례였다. 하지…
inheritance v composition2025.01.30inheritance v composition번역 및 정리#object-oriented2025.01.30inheritance v composition번역 및 정리#object-oriented객체 지향 프로그래밍은 코드의 재사용성과 유지보수성을 높이기 위해 다양한 설계 원칙을 제시한다. 그중에서도 클래스 상속(Class Inheritance)과 클래스 합성(Class Composition)은 객체 간의 관계를 정의하는 대표적인 방법이며, 시스템의 유연성과 확장성에 직접적인…
비즈니스 로직은 어디에 있어야 할까2025.01.30비즈니스 로직은 어디에 있어야 할까번역 및 정리Nest.js#object-oriented2025.01.30비즈니스 로직은 어디에 있어야 할까번역 및 정리Nest.js#object-orientedNest.js에서 컨트롤러와 각각의 프로바이더는 분명한 책임을 갖는다. 하지만 막상 서버를 개발하다 보면, 이 책임들을 깊이 고민하지 않은 채 코드를 작성하게 되고, 그 결과 클래스들이 서로의 영역을 침범하는 상황이 반복된다. 나 역시 컨트롤러에 비즈니스 로직이 섞이거나, 서비스가 지나…
Feature-Sliced Design2024.12.22Feature-Sliced Design번역 및 정리#fsd-architecture2024.12.22Feature-Sliced Design번역 및 정리#fsd-architecture프론트엔드 애플리케이션이 커질수록 문제는 코드의 복잡성이 아니라 구조의 일관성에서 발생한다. 컴포넌트와 상태, 비즈니스 로직이 뒤섞이기 시작하면, 기능 추가는 점점 느려지고 변경에 대한 두려움은 커진다. **FSD(Feature-Sliced Design)**는 이러한 문제를 “어떻게 구…
TCP/IP 4 계층으로 알아보는 네트워크의 동작2024.11.12TCP/IP 4 계층으로 알아보는 네트워크의 동작번역 및 정리#dns#tcpip#networking#web#osi2024.11.12TCP/IP 4 계층으로 알아보는 네트워크의 동작번역 및 정리#dns#tcpip#networking#web#osi우리는 보통 브라우저 주소창에 URL을 입력하고 엔터를 누르는 것으로 네트워크 통신을 시작한다. 하지만 그 짧은 동작 뒤에는 수많은 프로토콜과 계층이 맞물려 동작하는 복잡한 과정이 숨어 있다. 요청 하나가 서버에 도달하고, 다시 응답이 돌아오기까지 컴퓨터는 생각보다 훨씬 많은 일을 처리…
당신은 리액트 쿼리가 필요하지 않을 지도 모른다2024.11.05당신은 리액트 쿼리가 필요하지 않을 지도 모른다번역 및 정리React#server-components#data-fetching#tanstack-query#architecture2024.11.05당신은 리액트 쿼리가 필요하지 않을 지도 모른다번역 및 정리React#server-components#data-fetching#tanstack-query#architecture이 포스트는 Dominik Dorfmeister가 자신의 블로그에 올린 You Might Not Need React Query 게시글을 번역한 것이다. 번역하는 과정에서 다소 의역이 있을 수 있으며, 일부 번역에는 사견이 포함되어있기도 하다. 리액트 서버 컴포넌트와 함께라면 리액트 쿼리…
UML2024.07.22UML번역 및 정리#object-oriented2024.07.22UML번역 및 정리#object-oriented소프트웨어 시스템은 코드로 구현되지만, 코드만으로 시스템 전체를 설명하기는 어렵다. 특히 여러 명이 함께 개발하거나, 시간이 지나 다시 코드를 바라보는 상황에서는 “이 시스템이 어떤 구조를 가지고 있고, 왜 이렇게 설계되었는지”를 빠르게 파악하기가 쉽지 않다. 이런 맥락에서 설계 의도를…
HTTP 상태 코드2024.05.25HTTP 상태 코드번역 및 정리#http2024.05.25HTTP 상태 코드번역 및 정리#http요즘 백엔드를 만지작 거리면서 계속 '이런 상황에서는 내가 어떤 상태코드로 리스폰스를 돌려보내야 하는 거지?'하는 의문이 들었다. 프론트 할 때는 크게 신경쓰지 않고 대충 숫자가 200대면 문제 없구나, 300대면 어디 다른 데로 가야하는 구나, 400대면 내가 문제가 있구나, 500대…