[{"data":1,"prerenderedAt":640},["ShallowReactive",2],{"post-document:\u002Fbasic\u002Fcs\u002F2026\u002F08\u002F24\u002Fessential-development-terms\u002F":3},{"id":4,"title":5,"body":6,"categories":619,"date":622,"description":623,"extension":624,"image":625,"key_concepts":625,"last_modified_at":625,"legacyPath":626,"meta":627,"navigation":629,"part":625,"path":630,"published":629,"robots":625,"seo":631,"series":625,"stem":632,"strengths":625,"summary":625,"tags":633,"tradeoffs":625,"__hash__":639},"posts\u002Fposts\u002FBasic\u002F2026-08-24-essential-development-terms.md","개발 문서를 읽기 위한 핵심 기술 용어",{"type":7,"value":8,"toc":603},"minimark",[9,13,21,26,444,448,451,462,465,469,472,478,481,487,490,495,498,502,508,512,515,521,524,528,531,537,540,544,549,555,558,562,568,571,575,581,584,588,594,597,600],[10,11,12],"p",{},"Docker, Linux, 백엔드, 네트워크를 배우는 단계에서는 개별 기술뿐 아니라 여러 분야에서 공통으로 사용하는 기술 용어를 알아두는 것이 중요합니다. 같은 단어가 여러 문서에서 반복되기 때문에 용어를 이해하면 새로운 설명도 훨씬 빠르게 읽을 수 있습니다.",[10,14,15,16,20],{},"중요한 것은 모든 단어를 한 번에 외우는 것이 아닙니다. ",[17,18,19],"strong",{},"개발 문서에서 반복해서 나오는 표현을 문장 속에서 익히는 것","이 목표입니다.",[22,23,25],"h2",{"id":24},"_1-자주-나오는-핵심-기술-용어","1. 자주 나오는 핵심 기술 용어",[27,28,29,45],"table",{},[30,31,32],"thead",{},[33,34,35,39,42],"tr",{},[36,37,38],"th",{},"용어",[36,40,41],{},"쉬운 뜻",[36,43,44],{},"자주 나오는 곳",[46,47,48,60,71,82,93,104,115,126,137,148,159,170,181,192,203,214,225,236,247,258,269,280,291,302,313,324,335,346,357,368,379,390,401,411,422,433],"tbody",{},[33,49,50,54,57],{},[51,52,53],"td",{},"Overhead",[51,55,56],{},"본 작업 외에 추가로 드는 비용",[51,58,59],{},"성능, 네트워크, Docker",[33,61,62,65,68],{},[51,63,64],{},"Latency",[51,66,67],{},"요청한 뒤 응답을 받을 때까지 걸리는 지연 시간",[51,69,70],{},"네트워크, API, DB",[33,72,73,76,79],{},[51,74,75],{},"Throughput",[51,77,78],{},"일정 시간 동안 처리할 수 있는 작업량",[51,80,81],{},"서버, 네트워크, DB",[33,83,84,87,90],{},[51,85,86],{},"Bottleneck",[51,88,89],{},"전체 성능을 제한하는 가장 느린 지점",[51,91,92],{},"성능 분석",[33,94,95,98,101],{},[51,96,97],{},"I\u002FO",[51,99,100],{},"파일, 디스크, 네트워크와 데이터를 주고받는 작업",[51,102,103],{},"DB, OS, Docker",[33,105,106,109,112],{},[51,107,108],{},"Resource",[51,110,111],{},"CPU, 메모리, 디스크 같은 자원",[51,113,114],{},"OS, Cloud",[33,116,117,120,123],{},[51,118,119],{},"Allocation",[51,121,122],{},"필요한 대상에 자원을 할당하는 것",[51,124,125],{},"메모리, CPU",[33,127,128,131,134],{},[51,129,130],{},"Utilization",[51,132,133],{},"할당된 자원을 실제로 얼마나 사용하는지 나타내는 정도",[51,135,136],{},"모니터링",[33,138,139,142,145],{},[51,140,141],{},"Isolation",[51,143,144],{},"여러 대상이 서로 영향을 덜 주도록 격리하는 것",[51,146,147],{},"Docker, VM",[33,149,150,153,156],{},[51,151,152],{},"Abstraction",[51,154,155],{},"복잡한 내부 구현을 감추고 쉽게 사용할 수 있게 만든 구조",[51,157,158],{},"거의 모든 CS 분야",[33,160,161,164,167],{},[51,162,163],{},"Layer",[51,165,166],{},"기능이나 구조를 역할에 따라 나눈 계층",[51,168,169],{},"Docker, Network, Software",[33,171,172,175,178],{},[51,173,174],{},"Runtime",[51,176,177],{},"프로그램이 실제로 실행되는 환경 또는 실행 시점",[51,179,180],{},"Java, Docker",[33,182,183,186,189],{},[51,184,185],{},"Dependency",[51,187,188],{},"어떤 구성 요소가 실행되기 위해 필요로 하는 다른 요소",[51,190,191],{},"Spring, 패키지 관리",[33,193,194,197,200],{},[51,195,196],{},"Lifecycle",[51,198,199],{},"생성부터 실행과 종료까지 이어지는 과정",[51,201,202],{},"Spring, Docker",[33,204,205,208,211],{},[51,206,207],{},"Persistent",[51,209,210],{},"프로세스나 컨테이너가 종료돼도 데이터가 유지되는 성질",[51,212,213],{},"DB, Volume",[33,215,216,219,222],{},[51,217,218],{},"Ephemeral",[51,220,221],{},"일시적이며 종료나 교체 과정에서 사라질 수 있는 성질",[51,223,224],{},"Container, Cloud",[33,226,227,230,233],{},[51,228,229],{},"Immutable",[51,231,232],{},"생성한 뒤 직접 변경하지 않고 새 버전으로 교체하는 성질",[51,234,235],{},"Docker Image, Infrastructure",[33,237,238,241,244],{},[51,239,240],{},"State",[51,242,243],{},"현재 상태나 이전 작업을 이어가는 데 필요한 저장 정보",[51,245,246],{},"서버, DB",[33,248,249,252,255],{},[51,250,251],{},"Stateless",[51,253,254],{},"요청 사이의 상태를 서버 내부에 유지하지 않는 구조",[51,256,257],{},"API, Cloud",[33,259,260,263,266],{},[51,261,262],{},"Stateful",[51,264,265],{},"이전 상태를 저장하고 다음 작업에서도 사용하는 구조",[51,267,268],{},"DB, Session Server",[33,270,271,274,277],{},[51,272,273],{},"Scalability",[51,275,276],{},"부하가 커졌을 때 자원을 늘려 대응할 수 있는 정도",[51,278,279],{},"Cloud, Architecture",[33,281,282,285,288],{},[51,283,284],{},"Availability",[51,286,287],{},"사용자가 서비스를 정상적으로 사용할 수 있는 정도",[51,289,290],{},"서버 운영",[33,292,293,296,299],{},[51,294,295],{},"Fault Tolerance",[51,297,298],{},"일부 구성 요소가 고장 나도 서비스를 계속 제공하는 능력",[51,300,301],{},"분산 시스템",[33,303,304,307,310],{},[51,305,306],{},"Redundancy",[51,308,309],{},"장애에 대비해 서버나 경로 등을 중복으로 구성하는 것",[51,311,312],{},"서버, 네트워크",[33,314,315,318,321],{},[51,316,317],{},"Concurrency",[51,319,320],{},"여러 작업의 실행 시간이 겹치도록 번갈아 처리하는 성질",[51,322,323],{},"Java, 서버",[33,325,326,329,332],{},[51,327,328],{},"Parallelism",[51,330,331],{},"여러 작업을 여러 실행 자원에서 실제로 동시에 처리하는 성질",[51,333,334],{},"CPU, Thread",[33,336,337,340,343],{},[51,338,339],{},"Blocking",[51,341,342],{},"진행 중인 작업이 끝날 때까지 호출한 쪽이 기다리는 방식",[51,344,345],{},"I\u002FO, Java",[33,347,348,351,354],{},[51,349,350],{},"Non-blocking",[51,352,353],{},"작업 완료를 기다리지 않고 즉시 제어권을 돌려주는 방식",[51,355,356],{},"서버, Async I\u002FO",[33,358,359,362,365],{},[51,360,361],{},"Synchronous",[51,363,364],{},"작업 완료를 현재 흐름에서 확인한 뒤 다음 단계로 진행하는 방식",[51,366,367],{},"API, Java",[33,369,370,373,376],{},[51,371,372],{},"Asynchronous",[51,374,375],{},"작업 완료를 나중에 알림, 이벤트, 콜백 등으로 전달받는 방식",[51,377,378],{},"Message Queue, Event 처리",[33,380,381,384,387],{},[51,382,383],{},"Cache",[51,385,386],{},"자주 쓰는 데이터를 더 빠른 저장 공간에 임시로 보관하는 것",[51,388,389],{},"Redis, CPU, Web",[33,391,392,395,398],{},[51,393,394],{},"Serialization",[51,396,397],{},"객체나 데이터를 저장하거나 전송할 수 있는 형태로 변환하는 것",[51,399,400],{},"JSON, API",[33,402,403,406,409],{},[51,404,405],{},"Deserialization",[51,407,408],{},"저장하거나 전송한 데이터를 프로그램이 사용할 형태로 복원하는 것",[51,410,400],{},[33,412,413,416,419],{},[51,414,415],{},"Idempotent",[51,417,418],{},"같은 요청을 여러 번 실행해도 시스템의 최종 상태가 같아지는 성질",[51,420,421],{},"HTTP, API",[33,423,424,427,430],{},[51,425,426],{},"Atomic",[51,428,429],{},"작업 전체가 성공하거나 실패하며 일부만 반영된 중간 결과를 남기지 않는 성질",[51,431,432],{},"DB, Thread",[33,434,435,438,441],{},[51,436,437],{},"Consistency",[51,439,440],{},"데이터가 정해진 규칙과 제약 조건을 만족하는 상태",[51,442,443],{},"DB, 분산 시스템",[22,445,447],{"id":446},"_2-먼저-익힐-10개","2. 먼저 익힐 10개",[10,449,450],{},"처음부터 모든 단어를 외우기보다 다음 10개를 먼저 익히는 것이 좋습니다.",[452,453,459],"pre",{"className":454,"code":456,"language":457,"meta":458},[455],"language-text","Overhead\nLatency\nThroughput\nBottleneck\nI\u002FO\nIsolation\nAbstraction\nRuntime\nDependency\nLifecycle\n","text","",[460,461,456],"code",{"__ignoreMap":458},[10,463,464],{},"이 단어들은 Docker와 Linux뿐 아니라 Spring, Kubernetes, AWS 문서에서도 반복해서 등장합니다.",[22,466,468],{"id":467},"_3-문장을-용어-단위로-해석하기","3. 문장을 용어 단위로 해석하기",[10,470,471],{},"Docker 문서에서 다음과 같은 문장을 만났다고 가정해 봅니다.",[473,474,475],"blockquote",{},[10,476,477],{},"Container isolation introduces relatively low runtime overhead.",[10,479,480],{},"문장을 용어 단위로 나누면 이해하기 쉽습니다.",[452,482,485],{"className":483,"code":484,"language":457,"meta":458},[455],"Container isolation\n→ 컨테이너 격리\n\nruntime overhead\n→ 실행 중 발생하는 추가 비용\n\nrelatively low\n→ 비교적 적다\n",[460,486,484],{"__ignoreMap":458},[10,488,489],{},"따라서 전체 문장은 다음과 같이 해석할 수 있습니다.",[473,491,492],{},[10,493,494],{},"컨테이너 격리는 실행 시 발생하는 추가 비용이 비교적 적다.",[10,496,497],{},"영어 문장을 처음부터 완벽하게 번역하려 하기보다 익숙한 기술 용어를 먼저 찾으면 문서의 핵심을 더 빠르게 파악할 수 있습니다.",[22,499,501],{"id":500},"_4-백엔드에서-자주-보는-표현","4. 백엔드에서 자주 보는 표현",[452,503,506],{"className":504,"code":505,"language":457,"meta":458},[455],"High latency\n→ 응답이 느리다\n\nHigh throughput\n→ 일정 시간 동안 많은 요청을 처리할 수 있다\n\nI\u002FO bottleneck\n→ 디스크 또는 네트워크 입출력이 전체 성능을 제한하고 있다\n\nMemory overhead\n→ 핵심 작업 외에 메모리가 추가로 사용된다\n\nRuntime dependency\n→ 프로그램을 실행할 때 필요한 의존 요소\n\nPersistent storage\n→ 프로세스나 컨테이너가 종료돼도 데이터가 유지되는 저장소\n",[460,507,505],{"__ignoreMap":458},[22,509,511],{"id":510},"_5-단어보다-표현으로-기억하기","5. 단어보다 표현으로 기억하기",[10,513,514],{},"기술 용어는 영어사전처럼 단어 하나만 외우기보다 자주 함께 사용하는 동사와 묶어서 기억하는 것이 좋습니다.",[452,516,519],{"className":517,"code":518,"language":457,"meta":458},[455],"reduce overhead\n→ 오버헤드를 줄인다\n\nimprove throughput\n→ 처리량을 높인다\n\nreduce latency\n→ 지연 시간을 줄인다\n\nallocate resources\n→ 자원을 할당한다\n\nisolate processes\n→ 프로세스를 격리한다\n\npersist data\n→ 데이터를 영속적으로 저장한다\n\nresolve dependencies\n→ 의존성을 해결한다\n\nmanage lifecycle\n→ 생명주기를 관리한다\n",[460,520,518],{"__ignoreMap":458},[10,522,523],{},"이런 표현은 개발 문서, 오류 메시지, 기술 발표에서 반복적으로 등장합니다.",[22,525,527],{"id":526},"_6-단계별-학습-순서","6. 단계별 학습 순서",[10,529,530],{},"Docker 공부 흐름을 기준으로 다음 순서로 익히면 개념을 연결하기 쉽습니다.",[452,532,535],{"className":533,"code":534,"language":457,"meta":458},[455],"1단계: 프로그램 실행의 기본\nProcess → Thread → Daemon → Runtime → Lifecycle\n\n2단계: 실행 환경과 비용\nResource → Allocation → Isolation → Overhead → I\u002FO\n\n3단계: 성능\nLatency → Throughput → Bottleneck → Cache\n\n4단계: 상태와 데이터\nStateful → Stateless → Persistent → Ephemeral → Immutable\n\n5단계: 여러 작업 처리\nConcurrency → Parallelism → Blocking → Non-blocking → Sync → Async\n",[460,536,534],{"__ignoreMap":458},[10,538,539],{},"이 단어들이 익숙해지면 Docker뿐 아니라 Spring, Kubernetes, AWS, 시스템 설계 문서를 읽을 때 느끼는 난도가 크게 낮아집니다.",[22,541,543],{"id":542},"_7-반드시-구분할-네-쌍","7. 반드시 구분할 네 쌍",[545,546,548],"h3",{"id":547},"_71-latency와-throughput","7.1 Latency와 Throughput",[452,550,553],{"className":551,"code":552,"language":457,"meta":458},[455],"Latency    = 요청 하나가 얼마나 빨리 끝나는가?\nThroughput = 일정 시간 동안 요청을 몇 개 처리하는가?\n",[460,554,552],{"__ignoreMap":458},[10,556,557],{},"처리량이 높아도 요청 하나의 지연 시간은 길 수 있습니다. 반대로 요청 하나는 빨리 처리하지만 동시에 처리할 수 있는 요청 수가 적을 수도 있습니다.",[545,559,561],{"id":560},"_72-concurrency와-parallelism","7.2 Concurrency와 Parallelism",[452,563,566],{"className":564,"code":565,"language":457,"meta":458},[455],"Concurrency = 여러 작업을 겹치는 시간 동안 다루는 구조\nParallelism = 여러 작업을 실제로 같은 순간에 실행하는 구조\n",[460,567,565],{"__ignoreMap":458},[10,569,570],{},"한 명의 요리사가 여러 요리를 번갈아 만드는 것은 Concurrency이고, 여러 요리사가 각 요리를 동시에 만드는 것은 Parallelism에 가깝습니다.",[545,572,574],{"id":573},"_73-blocking과-non-blocking","7.3 Blocking과 Non-blocking",[452,576,579],{"className":577,"code":578,"language":457,"meta":458},[455],"Blocking     = 작업이 끝날 때까지 제어권을 돌려받지 못함\nNon-blocking = 작업 완료 여부와 관계없이 제어권을 바로 돌려받음\n",[460,580,578],{"__ignoreMap":458},[10,582,583],{},"이 구분은 호출한 작업이 제어권을 언제 돌려주는지에 초점을 맞춥니다.",[545,585,587],{"id":586},"_74-stateful과-stateless","7.4 Stateful과 Stateless",[452,589,592],{"className":590,"code":591,"language":457,"meta":458},[455],"Stateful  = 이전 요청의 상태를 저장하고 사용함\nStateless = 각 요청을 독립적으로 처리함\n",[460,593,591],{"__ignoreMap":458},[10,595,596],{},"DB처럼 데이터를 유지해야 하는 서비스는 Stateful한 경우가 많습니다. 요청마다 필요한 정보를 모두 전달받는 일반적인 REST API 서버는 Stateless하게 설계하기 좋습니다.",[598,599],"hr",{},[10,601,602],{},"핵심은 용어의 번역만 암기하는 것이 아니라 실제 문장과 상황 속에서 의미를 연결하는 것입니다. 모르는 기술을 만나더라도 공통 용어가 익숙하면 설명의 구조부터 파악할 수 있습니다.",{"title":458,"searchDepth":604,"depth":604,"links":605},2,[606,607,608,609,610,611,612],{"id":24,"depth":604,"text":25},{"id":446,"depth":604,"text":447},{"id":467,"depth":604,"text":468},{"id":500,"depth":604,"text":501},{"id":510,"depth":604,"text":511},{"id":526,"depth":604,"text":527},{"id":542,"depth":604,"text":543,"children":613},[614,616,617,618],{"id":547,"depth":615,"text":548},3,{"id":560,"depth":615,"text":561},{"id":573,"depth":615,"text":574},{"id":586,"depth":615,"text":587},[620,621],"Basic","CS","2026-08-24 00:05:00 +0900","Docker, Linux, 백엔드, 네트워크 문서에서 반복해서 등장하는 공통 기술 용어와 자주 쓰는 표현을 정리한다.","md",null,"\u002Fbasic\u002Fcs\u002F2026\u002F08\u002F24\u002Fessential-development-terms\u002F",{"layout":628},"post",true,"\u002Fposts\u002Fbasic\u002F2026-08-24-essential-development-terms",{"title":5,"description":623},"posts\u002FBasic\u002F2026-08-24-essential-development-terms",[621,634,635,636,637,638],"Backend","Docker","Linux","Network","Terminology","oceWjRxWSKheq8ijD9Nkz4wkRCR-7HR_DsngsjCdqW4",1788744787273]