개발자 키워드 100 인덱스: 두 판 사이의 차이

기술노트
편집 요약 없음
편집 요약 없음
1번째 줄: 1번째 줄:
<div style="font-family: 'Malgun Gothic';">
<div style="font-family: 'Malgun Gothic';">
= 개발자가 알아야 할 IT 용어 100 =
= 개발자가 알아야 할 IT 용어 =
[[대문|← 대문으로 돌아가기]]
 
'''단순한 코더를 넘어, 유능한 소프트웨어 엔지니어로 성장하기 위한 핵심 지식 100가지를 선정했습니다.'''
 
이 키워드들은 현대 개발 생태계의 근간을 이루는 개념들입니다. 아래 로드맵을 따라 각 주제를 정복하며 여러분의 기술 스택을 한 단계 업그레이드해 보세요. 모든 페이지는 이미 생성되어 여러분의 학습을 기다리고 있습니다.
 
----
----



2025년 9월 8일 (월) 09:58 판

개발자가 알아야 할 IT 용어


🚀 프로그래밍 기본기 & 패러다임

견고한 소프트웨어의 기반은 탄탄한 기본기에서 시작됩니다. 다양한 프로그래밍 패러다임을 이해하고, 효율적인 코드를 작성하는 능력을 길러보세요.

객체 지향 프로그래밍 (OOP)
프로그램을 부품처럼 조립하여 재사용성을 높이고 유지보수를 용이하게 만드는 핵심 설계 사상입니다.
함수형 프로그래밍 (Functional Programming)
순수 함수를 이용하여 부수 효과를 없애고, 예측 가능하며 테스트하기 쉬운 코드를 작성하는 기법입니다.
클래스 & 객체 (Class & Object)
객체를 만들기 위한 설계도(클래스)와 그 결과물(객체)의 관계를 이해하는 것은 OOP의 첫걸음입니다.
상속 (Inheritance)
기존 코드를 물려받아 재사용하고, 코드의 중복을 줄이는 강력한 OOP 도구입니다.
다형성 (Polymorphism)
같은 이름의 메서드가 다른 동작을 하게 만들어, 유연하고 확장성 있는 코드를 설계할 수 있습니다.
캡슐화 (Encapsulation)
데이터와 기능을 하나로 묶고 외부의 접근을 제어하여 코드의 안정성과 보안을 높입니다.
추상 클래스 (Abstract Class)
여러 클래스들의 공통된 특징을 정의하여, 일관성 있는 클래스 설계를 유도하는 뼈대입니다.
인터페이스 (Interface)
클래스가 반드시 구현해야 할 메서드를 약속(규격)하여, 협업과 시스템 설계를 원활하게 만듭니다.
람다 (Lambda)
코드를 더 간결하고 가독성 있게 만들어주는 이름 없는 함수 사용법을 익혀보세요.
스택 & 힙 (Stack & Heap)
프로그램의 메모리가 어떻게 동작하는지 이해하여 메모리 누수와 성능 문제를 해결하는 능력을 갖춥니다.
가비지 컬렉션 (Garbage Collection)
개발자가 직접 메모리를 관리하는 수고를 덜어주는 자동 메모리 관리 기법의 원리를 파악합니다.
컴파일 (Compile)
내가 작성한 코드가 어떻게 컴퓨터가 이해하는 언어로 변환되는지 그 과정을 이해합니다.
예외 처리 (Exception Handling)
예기치 않은 오류 발생 시 프로그램이 비정상적으로 종료되지 않도록 만드는 견고한 코드의 필수 요소입니다.



🏛️ 백엔드 & 소프트웨어 아키텍처

성공적인 서비스의 이면에는 확장 가능하고 안정적인 아키텍처가 있습니다. 대규모 트래픽을 감당하고 유지보수하기 좋은 시스템을 설계하는 능력을 길러보세요.

모놀리식 아키텍처 (Monolithic Architecture)
모든 기능이 하나로 통합된 전통적인 구조의 장단점을 파악하고, 언제 사용해야 할지 배웁니다.
마이크로서비스 아키텍처 (MSA)
서비스를 작은 단위로 분리하여 독립적으로 개발하고 배포하는 현대적인 아키텍처의 정수입니다.
서버리스 (Serverless)
서버 관리에 대한 걱정 없이 오직 코드에만 집중할 수 있게 해주는 클라우드 시대의 새로운 패러다임입니다.
디자인 패턴 (Design Pattern)
선배 개발자들이 수없이 겪었던 문제들을 해결해 온 검증된 설계 노하우를 학습합니다.
MVC 패턴 (Model-View-Controller)
애플리케이션의 역할을 3가지(모델, 뷰, 컨트롤러)로 나누어 코드의 재사용성과 유지보수성을 높이는 기본 패턴입니다.
웹서버 vs WAS
정적 파일과 동적 애플리케이션을 어떻게 분리하여 처리하는지, 웹 서비스의 기본 동작 원리를 이해합니다.
로드 밸런서 (Load Balancer)
대규모 트래픽을 여러 서버로 분산시켜 안정적인 서비스를 제공하기 위한 필수 기술입니다.
프록시 (Proxy)
보안, 캐싱, 접근 제어 등 다양한 목적으로 클라이언트와 서버 사이의 통신을 제어하는 중개자 역할을 이해합니다.



🌐 웹 & 네트워크

우리가 만드는 서비스는 네트워크를 통해 사용자에게 전달됩니다. 웹과 네트워크의 동작 원리를 깊이 이해하여 빠르고 안정적인 서비스를 만들어보세요.

HTTP & HTTPS
웹 통신의 기반이 되는 프로토콜과, 보안이 추가된 HTTPS의 차이점을 명확히 이해합니다.
TCP/IP
인터넷을 통해 데이터가 어떻게 안정적으로 전송되는지, 그 핵심 원리를 파헤칩니다.
DNS (Domain Name System)
'technote.wiki' 같은 도메인 주소가 어떻게 실제 서버의 IP 주소로 변환되는지 알아봅니다.
API (Application Programming Interface)
프로그램과 프로그램이 서로 대화하는 방법을 정의한 규칙으로, 현대 개발의 필수 요소입니다.
RESTful API
웹 서비스 API를 설계하는 가장 대중적인 스타일의 원칙과 장점을 학습합니다.
GraphQL
클라이언트가 필요한 데이터만 서버에 요청하여 효율성을 극대화하는 새로운 API 설계 방식입니다.
쿠키 & 세션 (Cookie & Session)
사용자의 로그인 상태 등을 어떻게 유지하는지, 웹의 상태 관리 핵심 기술을 알아봅니다.
웹소켓 (WebSocket)
채팅, 실시간 알림 등 서버와 클라이언트가 지속적으로 통신해야 할 때 사용하는 기술입니다.
SSR vs CSR
웹 페이지를 어디서(서버 or 클라이언트) 그리는지에 따라 달라지는 성능과 사용자 경험의 차이를 이해합니다.
웹어셈블리 (WebAssembly)
웹 브라우저에서 네이티브 앱 수준의 속도를 낼 수 있게 해주는 혁신적인 기술입니다.
프로그레시브 웹 앱 (PWA)
웹 앱을 설치 가능한 네이티브 앱처럼 만들어 사용자 경험을 극대화하는 기술입니다.
프라미스 & Async/Await
복잡한 비동기 코드를 깔끔하고 이해하기 쉽게 만들어주는 자바스크립트의 필수 문법입니다.



🗃️ 데이터베이스 & 데이터 관리

데이터는 모든 서비스의 심장입니다. 데이터를 효율적으로 저장, 조회, 관리하고 무결성을 지키는 방법을 마스터하세요.

RDBMS
수십 년간 데이터 관리의 표준이었던 관계형 데이터베이스의 기본 구조와 원리를 이해합니다.
NoSQL
빅데이터 시대에 맞춰 등장한 다양한 형태의 비관계형 데이터베이스들의 특징과 사용 사례를 알아봅니다.
SQL
데이터베이스와 대화하기 위한 표준 언어로, 모든 개발자가 알아야 할 필수 기술입니다.
데이터베이스 정규화 (Normalization)
데이터의 중복을 제거하고 무결성을 높여 데이터베이스를 건강하게 설계하는 방법을 배웁니다.
트랜잭션 (Transaction)
'모두 성공 아니면 모두 실패'를 보장하여 데이터의 일관성을 지키는 중요한 작업 단위입니다.
ACID
신뢰할 수 있는 트랜잭션을 위한 4가지 핵심 원칙(원자성, 일관성, 고립성, 지속성)을 이해합니다.
인덱스 (Index)
데이터베이스의 조회 속도를 획기적으로 개선하여 서비스 성능을 높이는 핵심 기술입니다.
ORM (Object-Relational Mapping)
프로그래밍 언어의 객체와 데이터베이스의 데이터를 자동으로 연결하여 개발 생산성을 높여주는 도구입니다.
데이터베이스 복제 (Replication)
데이터를 여러 곳에 복제하여 장애가 발생해도 안정적으로 서비스를 운영하는 방법을 배웁니다.
샤딩 (Sharding)
하나의 거대한 데이터베이스를 여러 개로 분할하여 대용량 데이터를 효율적으로 처리하는 기술입니다.
캐싱 (Caching)
자주 사용하는 데이터를 더 빠른 저장소에 임시 보관하여 시스템 전체의 응답 속도를 높이는 기법입니다.



☁️ 클라우드 & 인프라

이제 인프라는 소유하는 것이 아니라 빌려 쓰는 시대입니다. 클라우드 환경에서 애플리케이션을 효율적으로 구축, 배포, 운영하는 방법을 배우세요.

클라우드 컴퓨팅 (Cloud Computing)
서버, 스토리지 등을 인터넷을 통해 빌려 쓰는 현대 IT 인프라의 핵심 개념을 이해합니다.
IaaS, PaaS, SaaS
클라우드가 제공하는 다양한 서비스 모델의 차이점을 이해하고 상황에 맞는 서비스를 선택하는 능력을 기릅니다.
가상화 (Virtualization)
하나의 물리 서버를 여러 개의 가상 서버로 나누어 쓰는 클라우드의 기반 기술을 이해합니다.
컨테이너 (Container)
어떤 환경에서든 동일하게 실행되는 격리된 공간에 애플리케이션을 담는 기술입니다.
도커 (Docker)
컨테이너 기술을 가장 쉽게 사용할 수 있게 해주는 사실상의 표준 플랫폼입니다.
쿠버네티스 (Kubernetes)
수많은 컨테이너들을 자동으로 관리하고 오케스트레이션하는 컨테이너 시대의 필수 도구입니다.
CI/CD
코드 변경부터 배포까지의 전 과정을 자동화하여 빠르고 안정적으로 서비스를 업데이트하는 방법입니다.
엣지 컴퓨팅 (Edge Computing)
사용자와 가까운 곳에서 데이터를 처리하여 응답 속도를 극대화하는 차세대 컴퓨팅 모델입니다.



🛡️ 보안

잘 만든 서비스도 보안이 뚫리면 한순간에 무너집니다. 사용자의 데이터와 시스템을 안전하게 지키기 위해 개발자가 반드시 알아야 할 보안 지식을 갖추세요.

암호화 & 복호화 (Encryption & Decryption)
데이터를 안전하게 보호하는 가장 기본적인 방법인 암호화와 그 해독 과정의 원리를 이해합니다.
대칭키 & 비대칭키 (Symmetric & Asymmetric Key)
암호화에 사용되는 키의 종류에 따른 두 가지 주요 방식의 차이점과 사용 사례를 알아봅니다.
SSL/TLS
인터넷 통신을 암호화하여 중간에서 데이터를 훔쳐보지 못하게 하는 필수 보안 프로토콜입니다.
해싱 (Hashing)
비밀번호 등을 안전하게 저장하기 위해 원본을 알 수 없는 고정된 길이의 값으로 바꾸는 기술입니다.
API 키 (API Key)
허가된 사용자나 애플리케이션만이 API를 호출할 수 있도록 하는 인증 수단입니다.
JWT (JSON Web Token)
사용자의 인증 정보를 안전하고 효율적으로 전달하기 위해 널리 사용되는 토큰 기반 인증 방식입니다.
OAuth
사용자의 비밀번호 없이도 다른 서비스의 기능에 안전하게 접근할 수 있게 해주는 인증 프로토콜입니다.
CORS (Cross-Origin Resource Sharing)
웹 브라우저의 보안 정책으로 인해 발생하는 '다른 출처'의 리소스 요청 문제를 해결하는 방법을 배웁니다.
SQL 인젝션 (SQL Injection)
공격자가 악의적인 SQL 코드를 주입하여 데이터베이스를 공격하는 가장 흔하고 위험한 공격 유형을 이해하고 방어합니다.
XSS (Cross-Site Scripting)
공격자가 웹사이트에 악성 스크립트를 심어 다른 사용자의 정보를 탈취하는 공격을 방어하는 방법을 배웁니다.
CSRF (Cross-Site Request Forgery)
사용자가 모르는 사이에 공격자가 의도한 행동을 하도록 만드는 공격의 원리와 방어법을 알아봅니다.
IAM (Identity and Access Management)
'누가 무엇을 할 수 있는지'를 정의하여 시스템 자원에 대한 접근을 체계적으로 관리하는 방법입니다.
시크릿 관리 (Secret Management)
API 키, 데이터베이스 암호 등 민감한 정보를 코드에서 분리하여 안전하게 관리하는 기법입니다.



🛠️ 개발 문화 & 도구

훌륭한 소프트웨어는 뛰어난 개발 문화와 효율적인 도구 위에서 만들어집니다. 더 나은 개발자, 더 나은 동료가 되기 위한 방법을 고민해보세요.

애자일 (Agile)
빠르게 변화하는 요구사항에 유연하게 대처하는 현대적인 소프트웨어 개발 철학입니다.
스크럼 (Scrum)
애자일을 실천하는 가장 대표적인 방법론으로, 짧은 주기의 '스프린트'를 통해 제품을 개발합니다.
버전 관리 (Version Control)
코드의 변경 이력을 모두 기록하여 언제든 원하는 시점으로 돌아가거나 협업을 원활하게 만들어주는 시스템입니다.
Git
전 세계 개발자들이 가장 많이 사용하는 분산 버전 관리 시스템의 사용법을 익힙니다.
GitHub & GitLab
Git으로 관리되는 코드를 저장하고, 동료들과 함께 협업하는 데 사용하는 웹 기반 플랫폼입니다.
클린 코드 (Clean Code)
나 자신과 동료들을 위해 읽기 쉽고, 이해하기 쉬우며, 유지보수하기 좋은 코드를 작성하는 원칙입니다.
코드 리팩토링 (Code Refactoring)
코드의 기능은 그대로 둔 채, 내부 구조를 개선하여 더 건강하고 효율적인 코드로 만드는 과정입니다.
코드 리뷰 (Code Review)
동료의 코드를 함께 검토하며 잠재적인 버그를 찾고, 지식을 공유하며 함께 성장하는 중요한 문화입니다.
테스트 코드 (Test Code)
내가 작성한 코드가 의도대로 잘 동작하는지 검증하는 코드를 작성하여 소프트웨어의 안정성을 높입니다.
TDD (Test-Driven Development)
테스트 코드를 먼저 작성하고, 그 테스트를 통과하는 실제 코드를 작성하는 개발 방법론입니다.
BDD (Behavior-Driven Development)
개발자뿐만 아니라 기획자, 테스터 등 모두가 이해할 수 있는 '시나리오'를 기반으로 개발을 진행하는 방식입니다.
기술 부채 (Technical Debt)
빠른 개발을 위해 남겨둔 '언젠가 해결해야 할 찝찝함'을 어떻게 관리하고 갚아나갈지 알아봅니다.
라이선스 (License)
오픈소스를 올바르게 사용하고, 내 코드의 저작권을 지키기 위해 반드시 알아야 할 법적 규약입니다.
오픈소스 (Open Source)
전 세계 개발자들의 지식과 노력이 담긴 공개된 코드를 활용하고 기여하는 방법을 배웁니다.
로우코드 & 노코드 (Low-code & No-code)
코딩을 최소화하여 비전문가도 애플리케이션을 만들 수 있게 하는 개발 방식의 미래를 엿봅니다.



✨ 최신 기술 & 트렌드

끊임없이 발전하는 기술 생태계에서 뒤처지지 않으려면 새로운 기술과 트렌드에 항상 귀를 기울여야 합니다. 미래를 주도할 기술들을 미리 만나보세요.

인공지능 & 머신러닝 (AI & Machine Learning)
데이터를 통해 스스로 학습하고 예측하는 기계를 만드는 기술의 기본 개념을 이해합니다.
빅데이터 (Big Data)
방대한 데이터 속에서 의미 있는 가치를 찾아내는 기술과 그 처리 방법을 알아봅니다.
블록체인 (Blockchain)
데이터를 여러 곳에 분산 저장하여 위변조를 불가능하게 만드는 신뢰의 기술, 그 원리를 파악합니다.
NFT (Non-Fungible Token)
디지털 자산에 고유한 소유권을 부여하는 대체 불가능 토큰의 개념과 활용 사례를 알아봅니다.
사물 인터넷 (IoT)
세상의 모든 사물이 인터넷으로 연결되는 시대의 핵심 기술과 그 가능성을 탐색합니다.
메타버스 (Metaverse)
현실과 가상이 공존하는 3차원 세계, 메타버스를 구성하는 기술과 미래를 조망합니다.
디지털 트윈 (Digital Twin)
현실의 기계나 장비를 가상 세계에 그대로 복제하여 시뮬레이션하고 문제를 예측하는 기술입니다.
양자 컴퓨팅 (Quantum Computing)
기존 컴퓨터의 한계를 뛰어넘는 차세대 컴퓨팅 기술의 원리와 가능성을 엿봅니다.
핀테크 & 테크핀 (FinTech & TechFin)
기술이 금융을 어떻게 혁신하고 있는지, 그 중심에 있는 기술과 서비스를 이해합니다.