최근 글

WASM: DuckDB WASM

1 분 소요

DuckDB(임베디드 OLAP DB)를 WebAssembly로 컴파일 → 브라우저·Node.js에서 풀 SQL 분석

WASM: SQLite WASM

1 분 소요

SQLite를 WebAssembly로 컴파일해 브라우저 / Node.js / Deno / Bun 등 JavaScript 런타임에서 직접 실행

WASM: WebAssembly 개요

1 분 소요

WebAssembly(WASM)는 이식 가능하고 빠르게 실행되는 저수준 바이너리 명령어 포맷

AI: Ollama

2 분 소요

로컬 환경에서 대규모 언어 모델(LLM)을 손쉽게 실행·관리하는 오픈소스 도구

React: 실무 패턴

3 분 소요

React 앱을 실제로 개발하다 보면 반복적으로 등장하는 패턴들이 있습니다. 인증 보호, 환경변수, 에러 처리, 코드 분할, 로딩 UI 등 자주 쓰이는 실무 패턴을 정리합니다.

React: 테스트 (Vitest, Testing Library)

2 분 소요

테스트는 코드가 올바르게 동작하는지 자동으로 검증하는 작업입니다. Vitest는 Vite 기반 테스트 러너이고, Testing Library는 실제 사용자 관점에서 컴포넌트를 테스트하는 라이브러리입니다.

React: shadcn/ui

2 분 소요

shadcn/ui는 Radix UI와 Tailwind CSS를 기반으로 만들어진 UI 컴포넌트 모음입니다. npm 패키지가 아니라 소스 코드를 프로젝트에 직접 복사하는 방식이라, 컴포넌트를 자유롭게 수정할 수 있습니다.

React: Tailwind CSS

2 분 소요

Tailwind CSS는 미리 정의된 유틸리티 클래스를 조합해 스타일을 지정하는 CSS 프레임워크입니다. 별도의 CSS 파일을 만들지 않고 HTML(JSX)에 클래스만 추가하면 스타일이 적용됩니다.

React: React Hook Form, Zod

2 분 소요

폼 처리는 매번 state와 onChange를 반복하는 번거로운 작업입니다. React Hook Form은 폼 상태를 효율적으로 관리하고, Zod는 타입 안전한 유효성 검사 스키마를 제공합니다. 두 라이브러리를 함께 사용하면 간결하고 안전한 폼을 빠르게 만들 수 있습니다.

React: TanStack Query

2 분 소요

TanStack Query (구 React Query)는 서버에서 가져오는 데이터(서버 상태)를 관리하는 라이브러리입니다. API 호출, 캐싱, 로딩/에러 처리, 자동 갱신 등을 간편하게 처리합니다.

React: Zustand

2 분 소요

Zustand는 가볍고 간단한 전역 상태 관리 라이브러리입니다. Context API보다 설정이 적고, Redux보다 훨씬 간단합니다.

React: Context API, useReducer

3 분 소요

Context API는 Props를 여러 단계로 내려보내지 않고 전역으로 데이터를 공유하는 방법입니다. useReducer는 복잡한 상태 로직을 정리하는 Hook입니다. 두 가지를 함께 사용하면 외부 라이브러리 없이도 전역 상태 관리를 구현할 수 있습니다.

React: useRef, useCallback, useMemo

3 분 소요

useRef, useCallback, useMemo는 성능 최적화와 DOM 접근을 위한 Hook입니다. 처음에는 useState와 useEffect만으로도 충분하지만, 앱이 커지면 이 Hook들이 필요합니다.

React: 커스텀 Hook

3 분 소요

커스텀 Hook은 반복되는 상태 로직을 별도 함수로 분리해 재사용하는 패턴입니다. 이름이 반드시 use로 시작해야 하며, 내부에서 다른 Hook을 사용할 수 있습니다.

React: React Router

2 분 소요

React Router는 React 앱에서 클라이언트 사이드 라우팅을 제공하는 라이브러리입니다. 페이지 이동 시 서버에 요청하지 않고 JavaScript로 화면을 전환합니다.

React: useEffect

3 분 소요

useEffect는 컴포넌트가 렌더링된 후 사이드 이펙트(Side Effect)를 실행하기 위한 Hook입니다. 사이드 이펙트란 API 호출, DOM 직접 조작, 타이머 설정, 이벤트 구독 등 렌더링 외부의 작업을 말합니다.

React: 리스트 렌더링

2 분 소요

React에서 리스트를 렌더링할 때는 JavaScript의 Array.map() 메서드를 사용합니다. 각 항목에는 반드시 고유한 key 속성을 지정해야 합니다.

React: 이벤트 처리

2 분 소요

React의 이벤트 처리는 HTML의 이벤트 처리와 유사하지만, 몇 가지 차이점이 있습니다. 이벤트 핸들러 이름은 카멜케이스를 사용하고, 함수를 직접 전달합니다.

React: State (useState)

2 분 소요

State(상태)는 컴포넌트 내부에서 관리하는 동적 데이터입니다. State가 변경되면 React는 해당 컴포넌트를 자동으로 다시 렌더링합니다. useState Hook을 사용해 함수형 컴포넌트에서 상태를 관리합니다.

React: Props

2 분 소요

Props(Properties)는 부모 컴포넌트가 자식 컴포넌트에게 데이터를 전달하는 방법입니다. Props는 읽기 전용(Read-Only)으로, 자식 컴포넌트는 전달받은 props를 변경할 수 없습니다.

React: 컴포넌트

2 분 소요

컴포넌트(Component)는 React UI를 구성하는 독립적이고 재사용 가능한 최소 단위입니다. 마치 레고 블록처럼, 작은 컴포넌트들을 조합해 복잡한 UI를 만듭니다.

React: JSX

2 분 소요

JSX(JavaScript XML)는 JavaScript 코드 안에서 HTML과 유사한 문법을 사용할 수 있게 해주는 React의 문법 확장입니다. JSX는 브라우저가 직접 이해하지 못하므로 Babel/Vite가 일반 JavaScript로 변환합니다.

React: TypeScript 기초

4 분 소요

React 포스트의 모든 예제 코드는 TypeScript로 작성되어 있습니다. TypeScript는 JavaScript에 타입을 추가한 언어로, 코드 작성 시 오류를 미리 잡아줍니다. React 개발에 필요한 TypeScript 기초만 간단히 정리합니다.

React: Hello World

1 분 소요

React에서 첫 화면을 출력하는 방법을 알아봅니다.

React: 환경 설정

1 분 소요

React 프로젝트는 Vite를 사용해 생성하는 것이 현재 표준입니다. Vite는 빠른 개발 서버와 최적화된 빌드를 제공합니다.

React: npm 명령어

3 분 소요

React(Vite) 개발에 사용되는 핵심 명령어들을 카테고리별로 정리합니다. 모든 npm 명령어는 npm help 로 상세 도움말을 확인할 수 있습니다.

React: 릴리스 노트

4 분 소요

React는 Meta(구 Facebook)가 개발한 오픈소스 JavaScript UI 라이브러리

React: 개요

1 분 소요

Meta(구 Facebook)가 개발한 오픈소스 JavaScript UI 라이브러리

GitHub: coverage badge

7 분 소요

GitHub Actions CI/CD 파이프라인에서 테스트 커버리지를 자동으로 계산하고, GitHub Gist와 Shields.io를 활용하여 README에 동적 커버리지 뱃지를 표시하는 방법을 소개합니다.

PostgreSQL: PG Back Web

1 분 소요

사용자 친화적인 웹 인터페이스로 손쉽게 PostgreSQL을 백업하는 툴

Duckdb: DuckDB

1 분 소요

SQL(Structured Query Language)을 지원하는 RDBMS

메시징: Centrifugo

3 분 소요

다양한 실시간 전송(WebSocket, HTTP-streaming, SSE/EventSource, WebTransport, GRPC)을 통해 연결된 애플리케이션 온라인 사용자에게 메시지를 즉시 전달

Go: unique package

15 분 소요

Go 1.23부터 추가된 unique 패키지는 값 정규화(interning, hash-consing)를 통해 메모리를 최적화합니다.

Go: maps package

13 분 소요

Go 1.21부터 추가된 maps 패키지는 제네릭 기반의 맵 조작 함수들을 제공합니다.

Go: slices package

22 분 소요

Go 1.21부터 추가된 slices 패키지는 제네릭 기반의 슬라이스 조작 함수들을 제공합니다.

Kubernetes: CloudNativePG

4 분 소요

모든 Kubernetes 클러스터에서 PostgreSQL 워크로드를 관리하도록 설계된 오픈소스 오퍼레이터

Go: LOG

최대 1 분 소요

Go: LOG에 관한 사용 방법과 실습 예제.

Argo: Argo CD

최대 1 분 소요

Kubernetes를 위한 선언적 GitOps 지속적 전달 도구

Dart: 클래스 제한자

최대 1 분 소요

해당 클래스를 사용하는 파일이 아닌 다른 파일에 선언해야 동작

Dart: 구조 분해

최대 1 분 소요

반환된 타입을 그대로 복제해서 타입 내부에 각각의 값을 직접 추출해오는 문법

Dart: 레코드

최대 1 분 소요

특정 순서의 레코드를 가져올 땐 $을 이용

Dart: 스태틱

최대 1 분 소요

변수나 메소드가 클래스의 인스턴스가 아닌 클래스 자체에 귀속

Dart: 제네릭

최대 1 분 소요

클래스나 함수의 정의를 선언할 때가 아니라 인스턴스화하거나 실행할 떄로 미룸

Dart: 추상

최대 1 분 소요

상속이나 인터페이스로 사용하는 데 필요한 속성만 정의하고 인스턴스화할 수도 없도록 하는 기능

Dart: 믹스인

최대 1 분 소요

특정 클래스에 원하는 기능들만 골라 놓을 수 있는 기능

Dart: 상속

최대 1 분 소요

Dart: 상속에 관한 핵심 개념과 사용 예제.

Dart: 클래스

최대 1 분 소요

클래스를 생성하는 여러 방법을 명시하고 싶을 때 사용

Dart: typedef

최대 1 분 소요

함수의 시그니처(반환값, 타입, 매개변수 등)를 정의

Dart: 함수

최대 1 분 소요

Optional positional 매개변수

Dart: 반복문

최대 1 분 소요

Dart: 반복문에 관한 핵심 개념과 사용 예제.

Dart: 조건문

2 분 소요

코드가 입력 받을 수 있는 모든 조건을 전부 확인하고 있는지 검사

Dart: 연산자

최대 1 분 소요

타입 뒤에 ?를 추가해야 null 값 저장 가능

Dart: 열거형

최대 1 분 소요

Dart: 열거형에 관한 핵심 개념과 사용 예제.

Dart: 컬렉션

1 분 소요

여러 값을 하나의 변수에 저장할 수 있는 타임

Dart: 상수

최대 1 분 소요

Dart: 상수에 관한 핵심 개념과 사용 예제.

Dart: 변수

최대 1 분 소요

Dart: 변수에 관한 핵심 개념과 사용 예제.

Dart: 개요

최대 1 분 소요

구글이 개발한 멀티 플랫폼 프로그래밍 언어

AI: LLMOps

1 분 소요

LLM 기반 애플리케이션의 개발·배포·운영을 체계화하는 관행

AI: 이미지 생성 AI

1 분 소요

텍스트 프롬프트 또는 기존 이미지를 기반으로 새로운 이미지를 생성하는 AI

AI: DeepSeek

최대 1 분 소요

중국 AI 스타트업 DeepSeek이 개발한 오픈소스 LLM 시리즈

AI: Llama (Meta)

1 분 소요

Meta AI가 개발한 오픈소스 대규모 언어 모델 시리즈

AI: AI 에이전트 (Agent)

1 분 소요

LLM이 자율적으로 목표를 달성하기 위해 추론하고 도구를 사용하는 시스템

Observability: Vector

4 분 소요

고성능 관측 가능성 데이터 파이프라인 — 로그·메트릭·트레이스를 수집, 변환, 라우팅

Argo: Argo Events

4 분 소요

Kubernetes용 이벤트 기반 워크플로 자동화 프레임워크 — CNCF Incubating

Clickhouse: ClickHouse

1 분 소요

온라인 분석 처리(OLAP)를 위한 고성능 열 기반 SQL 데이터베이스 관리 시스템(DBMS)

BaaS: PocketBase

1 분 소요

하나의 파일로 구성된 SaaS 및 모바일 앱을 위한 오픈 소스 백엔드

AI: Transformer

1 분 소요

2017년 Google 논문 “Attention Is All You Need”에서 발표한 딥러닝 아키텍처

플랫폼: Nuclio

4 분 소요

데이터·I/O·컴퓨팅 집약적 워크로드에 특화된 고성능 오픈소스 서버리스(FaaS) 프레임워크

BaaS: 개요

최대 1 분 소요

개발자에게 백엔드를 쉽게 구축할 수 있는 방법을 제공하는 서비스

AI: Claude

1 분 소요

Anthropic이 개발한 대화형 AI 서비스 및 LLM

AI: Gemini

1 분 소요

Google DeepMind가 개발한 멀티모달 AI 모델 및 서비스

AI: ChatGPT

1 분 소요

OpenAI가 개발한 대화형 AI 서비스

AI: MLOps

13 분 소요

ML 시스템 개발(Dev)과 운영(Ops)을 통합하는 엔지니어링 문화 및 방식

메트릭: psutil

1 분 소요

CPU, memory, disks, network, sensors, processes 정보 검색을 위한 크로스 플랫폼 라이브러리

AI: 역사

2 분 소요

AI의 역사는 1950년대 수학적 개념에서 시작하여 수차례의 AI 붐과 침체(AI Winter)를 거쳐 현재의 생성 AI 시대에 이름

Go: finalizer

15 분 소요

Finalizer는 객체가 가비지 컬렉션되기 직전에 호출되는 함수로, runtime.SetFinalizer를 통해 설정합니다.

Go: MinIO

최대 1 분 소요

Go: MinIO에 관한 참고 자료와 간단한 사용 기록.

Go: 암호화

최대 1 분 소요

Go: 암호화에 관한 사용 방법과 실습 예제.

Go: lock

최대 1 분 소요

Go: lock에 관한 참고 자료와 간단한 사용 기록.

Go: JSON

최대 1 분 소요

Go: JSON에 관한 참고 자료와 간단한 사용 기록.

Go: S3

최대 1 분 소요

Go: S3에 관한 참고 자료와 간단한 사용 기록.

Go: DynamoDB

최대 1 분 소요

Go: DynamoDB에 관한 참고 자료와 간단한 사용 기록.

Go: 압축

최대 1 분 소요

Go: 압축에 관한 핵심 개념과 사용 예제.

Kubernetes: informers

최대 1 분 소요

watch를 추상화하여 watch의 끊길 수 있는 문제(네트워크, 타임 아웃 등) 발생 시 재시도

Kubernetes: Reloader

최대 1 분 소요

ConfigMap/Secret 변경 시 자동으로 DeploymentConfig/Deployment/Daemonset/Statefulset 롤링 업데이트

Prometheus: Go client

최대 1 분 소요

Prometheus: Go client에 관한 참고 자료와 간단한 사용 기록.

Rust: 패턴

7 분 소요

단순하거나 복잡한 타입의 구조에 값들을 비교하기 위한 문법

Rust: 다형성

최대 1 분 소요

Rust: 다형성에 관한 핵심 개념과 사용 예제.

Rust: 뮤텍스

최대 1 분 소요

타입 시스템과 소유권 규칙으로 인해 락 사용의 안정성 보장

Rust: 채널

최대 1 분 소요

Rust: 채널에 관한 핵심 개념과 사용 예제.

Rust: 동시성

최대 1 분 소요

소유권과 타입 시스템이 메모리 안전성 및 동시성 문제를 관리하는 것을 돕기 위한 강력한 도구들의 집합

Rust: 문서화 주석

최대 1 분 소요

크레이트의 루트 파일이나 크레이트 혹은 모듈 전체를 문서화하는 모듈 내부에 작성

Go: cmp

12 분 소요

Go 1.21부터 추가된 cmp 패키지는 비교 가능한 타입들을 위한 유틸리티 함수를 제공합니다.

Rust: 반복자

1 분 소요

Rust: 반복자에 관한 핵심 개념과 사용 예제.

Go: slog

14 분 소요

Go 1.21부터 추가된 log/slog 패키지는 구조화된 로깅을 위한 표준 라이브러리입니다.

Go: min/max

16 분 소요

Go 1.21부터 추가된 min과 max 내장 함수는 비교 가능한 값들 중 최소값과 최대값을 반환합니다.

Go: clear

15 분 소요

Go 1.21부터 추가된 clear 내장 함수는 맵과 슬라이스의 모든 요소를 효율적으로 제거합니다.

Rust: 클로저

1 분 소요

변수에 저장하거나 다른 함수에 인자로 넘길 수 있는 익명 함수

Rust: 환경 변수

최대 1 분 소요

Rust: 환경 변수에 관한 핵심 개념과 사용 예제.

Rust: 테스트

1 분 소요

expected 파라미터를 통해 특정 패닉 메세지를 지닌 패닉 테스트 가능

Rust: 트레잇

3 분 소요

트레잇 혹은 타입이 우리의 크레이트 내의 것일 경우에만 해당 타입에서의 트레잇을 정의 가능

Rust: 제네릭

최대 1 분 소요

Rust: 제네릭에 관한 핵심 개념과 사용 예제.

Rust: 컬렉션

2 분 소요

유효하지 않은 인덱스 일 경우 panic 발생

Rust: 열거형

1 분 소요

구조체와 유사하게 다양한 타입과 메소드를 가질 수 있음

Rust: 소유권

4 분 소요

가비지 콜렉터 없이 메모리 안정성 보장

Rust: 반복문

최대 1 분 소요

Rust: 반복문에 관한 핵심 개념과 사용 예제.

Rust: 조건문

최대 1 분 소요

Rust: 조건문에 관한 핵심 개념과 사용 예제.

Rust: function

최대 1 분 소요

반환 시 표현식(구문과는 다르게 세미 콜론이 없는) 혹은 return 사용

Go: generics

20 분 소요

Go 1.18부터 제네릭(Type Parameters)이 추가되어 타입 안전하고 재사용 가능한 코드 작성이 가능해졌습니다.

Rust: 변수

최대 1 분 소요

mut를 통해 가변성 변수 선언 가능

Rust: Cargo

최대 1 분 소요

크레이트(crate) 생성 및 초기화

Rust: 개요

최대 1 분 소요

Rust: 개요에 관한 개념과 주요 특징.

네트워크: WebSocket, WebSocket API

최대 1 분 소요

지속적인 단일 소켓 연결을 통해 웹 클라이언트와 웹 서버 간의 전이중 통신을 가능하게 하는 실시간 프로토콜

AWS: EKS VS ECS

1 분 소요

둘다 오토 스케일링, 롤링 업데이트, 자가 복구 및 AWS 서비스와의 통합을 제공

C++: format

최대 1 분 소요

sprintf와 유사하나 문자열을 반환

네트워크: comet

최대 1 분 소요

브라우저가 명시적으로 요청하지 않아도 웹 서버가 데이터를 브라우저에 푸시할 수 있는 웹 어플리케이션 모델

AWS: Amazon ECS(Elastic Container Service)

4 분 소요

컨테이너화된 어플리케이션의 손쉬운 배포, 관리 및 크기 조정을 지원하는 완전관리형 컨테이너 오케스트레이션 서비스

Python: 유닛 테스트

최대 1 분 소요

클래스의 테스트들이 실행되기 전에 한번 호출되는 클래스 메소드

Python: thread

1 분 소요

True일 경우 데몬 스레드만 남았을 때 프로그램 즉시 종료

Python: MySQL

3 분 소요

Python: MySQL에 관한 사용 방법과 실습 예제.

C++: MySQL

9 분 소요

SELECT면 true, INSERT/UPDATE/DELETE는 false를 반환

디버깅: valgrind

1 분 소요

Linux 프로그램 디버깅 및 프로파일링을 위한 오픈 소스 도구

보안: SQL injection

최대 1 분 소요

클라이언트의 입력 값을 조작하여 서버의 데이터베이스를 공격

기본 개념: DBMS

최대 1 분 소요

데이터베이스를 관리할 수 있는 기능들을 제공하는 응용 프로그램

기본 개념: 개요

1 분 소요

여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합

네트워크: SOAP

최대 1 분 소요

HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지 송수신하는 프로토콜

네트워크: UDP

최대 1 분 소요

사용자 데이터그램 프로토콜(UDP, User Datagram Protocol)

네트워크: TCP

1 분 소요

전송 제어 프로토콜(TCP, Transmission Control Protocol)

Redis: Redis

최대 1 분 소요

key-value data store 혹은 IMDB(In-Memory DataBase) 혹은 MMDB(Main Memory DataBase) 혹은 memory resident database

MySQL: MySQL

최대 1 분 소요

관계형 데이터베이스 관리 시스템(RDBMS, Relational DataBase Management System)

Mongodb: MongoDB

최대 1 분 소요

document-oriented database 혹은 document store

Docker: 개요

최대 1 분 소요

애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼

AWS: 개요

1 분 소요

다양한 서비스를 제공하는 클라우드 컴퓨팅 서비스

네트워크: gRPC

2 분 소요

구글이 개발한 고성능 오픈소스 RPC 프레임워크

기본 개념: 실행 계획

1 분 소요

SQL을 실행하여 데이터를 추출하려고 할 때 옵티마이저(optimizer)가 수립하는 작업 절차

Python: dir

최대 1 분 소요

Python: dir에 관한 사용 방법과 실습 예제.

Python: iter

최대 1 분 소요

iterable 객체를 인자로 받아 iterator 객체를 반환하는 함수

Python: 가비지 컬렉션

최대 1 분 소요

레퍼런스 카운트(객체를 참조하는 수)를 관리하여 카운트가 0일 때 소멸 대상으로 등록

Python: 람다

최대 1 분 소요

Python: 람다에 관한 핵심 개념과 사용 예제.

Python: 예외

최대 1 분 소요

Python: 예외에 관한 핵심 개념과 사용 예제.

Python: class

최대 1 분 소요

인스턴스 변수는 반드시 초기화를 해야하고 일반적으로 생성자를 이용

Python: dictionary

최대 1 분 소요

Python: dictionary에 관한 핵심 개념과 사용 예제.

Python: 모듈

최대 1 분 소요

test 패키지에 func 함수가 있다고 가정

Python: range

최대 1 분 소요

range 객체를 이용하여 리스트나 튜플 생성 가능

Python: tuple

최대 1 분 소요

리스트와 유사하나 값 추가/수정 불가능

Python: list

1 분 소요

인덱스 값이 음수이면 반대로 접근(-1이면 마지막 요소)

Python: type

최대 1 분 소요

Python: type에 관한 핵심 개념과 사용 예제.

Python: 반복문

최대 1 분 소요

Python: 반복문에 관한 핵심 개념과 사용 예제.

Python: 조건문

최대 1 분 소요

Python: 조건문에 관한 핵심 개념과 사용 예제.

Python: 함수

최대 1 분 소요

글로벌 변수에 접근하는 경우 global 키워드를 붙여서 글로별 변수임을 명시적으로 표현할 것을 권장

Python: 변수

최대 1 분 소요

변수에 객체가 저장되는 것이 아닌 포스트잇처럼 객체에 변수가 붙었다 떨어지는 느낌

Python: 개요

1 분 소요

플랫폼 독립적, 인터프리터, 객체지향, 동적 타이핑 대화형 언어

Go: command-line flag

17 분 소요

Go의 flag 패키지는 POSIX 스타일의 커맨드 라인 플래그를 파싱하는 표준 라이브러리입니다.

Go: strconv

17 분 소요

Go의 strconv 패키지는 기본 타입과 문자열 간의 변환을 제공합니다.

Go: 정렬

14 분 소요

Go의 sort 패키지는 다양한 타입의 슬라이스를 정렬하고 검색하는 기능을 제공합니다.

Go: 시그널

15 분 소요

Go의 os/signal 패키지는 운영체제의 시그널을 처리하여 프로그램의 우아한 종료(graceful shutdown)를 구현합니다.

Go: command-line arguments

15 분 소요

커맨드 라인 인자(Command Line Arguments)는 프로그램 실행 시 전달되는 파라미터입니다.

Go: environment variable

15 분 소요

환경 변수는 애플리케이션 설정을 외부에서 주입하는 표준 방법입니다.

Go: 자료형 출력

15 분 소요

Go의 reflect 패키지는 런타임에 타입과 값 정보를 검사하고 조작할 수 있는 리플렉션 기능을 제공합니다.

Go: doc

17 분 소요

Go는 코드 주석을 통한 자동 문서화를 언어 차원에서 지원합니다.

Go: code coverage

15 분 소요

코드 커버리지는 테스트가 실제로 실행한 코드의 비율을 측정하여 테스트 품질을 평가하는 지표입니다.

Go: unit test

13 분 소요

Go는 테스팅을 언어 차원에서 지원하며, testing 패키지와 go test 도구를 제공합니다.

Go: recover

14 분 소요

recover는 panic 상태를 복구하고 정상 실행을 재개할 수 있게 하는 내장 함수입니다.

Go: panic

12 분 소요

panic은 Go에서 복구 불가능한 에러 상황을 처리하는 메커니즘입니다.

Go: defer

12 분 소요

defer는 함수가 종료되기 직전에 특정 함수 호출을 지연시키는 키워드입니다.

Go: user-defined type

15 분 소요

사용자 정의 타입은 Go에서 새로운 타입을 생성하는 방법입니다.

Go: interface

15 분 소요

인터페이스는 Go의 타입 시스템의 핵심으로, 메서드 시그니처의 집합을 정의합니다.

Go: map

13 분 소요

맵(map)은 키-값 쌍을 저장하는 해시 테이블 기반 자료구조입니다.

Go: slice

13 분 소요

슬라이스(slice)는 동적 크기를 가진 배열의 유연한 뷰입니다.

Go: array

10 분 소요

배열(array)은 고정 크기의 같은 타입 요소들의 연속된 모음입니다.

Go: package

10 분 소요

패키지(package)는 Go의 코드 모듈화 및 재사용 단위입니다.

Go: constant

10 분 소요

상수(constant)는 컴파일 타임에 값이 결정되는 불변 식별자입니다.

Go: pointer

12 분 소요

포인터는 메모리 주소를 저장하는 변수입니다. Go의 포인터는 안전하게 설계되어 있어 포인터 연산이 제한적이지만, 효율적인 메모리 관리와 데이터 공유를 가능하게 합니다.

Go: function

11 분 소요

Go의 함수는 일급 객체(first-class citizen)로 다음과 같은 특징을 가집니다:

Go: loop statement

6 분 소요

Go 언어는 반복문으로 for 키워드만 제공하며, 다양한 형태로 사용할 수 있습니다.

Go: 조건문

11 분 소요

조건문은 프로그램의 실행 흐름을 제어하는 핵심 구문입니다. Go는 if와 switch 두 가지 조건문을 제공하며, 각각 고유한 특징과 장점이 있습니다.

Go: 형식 동사

10 분 소요

형식 동사(Formatting Verb)는 fmt.Printf, fmt.Sprintf 등의 함수에서 값을 특정 형식으로 출력하기 위해 사용하는 지시자입니다. %로 시작하며, 뒤에 오는 문자에 따라 출력 형식이 결정됩니다.

Go: 파일 입/출력

14 분 소요

파일 입/출력(File I/O)은 데이터를 영구적으로 저장하고 읽어오는 필수적인 기능입니다. Go는 os, io, bufio 패키지를 통해 강력하고 효율적인 파일 처리 기능을 제공합니다.

Go: 표준 입/출력

11 분 소요

표준 입/출력(Standard I/O)은 프로그램이 사용자 또는 다른 프로그램과 데이터를 주고받는 기본적인 방법입니다. Go는 fmt, bufio 패키지를 통해 강력하고 유연한 입출력 기능을 제공합니다.

Go: 타입 변환

11 분 소요

Go는 정적 타입 언어로, 타입 안정성을 중요시합니다. 암묵적(implicit) 타입 변환을 지원하지 않으며, 모든 타입 변환은 명시적(explicit)으로 수행해야 합니다. 이는 예상치 못한 버그를 방지하고 코드의 명확성을 높입니다.

Go: 명명 규칙

7 분 소요

Go는 간결하고 명확한 코드를 중요시하며, 명명 규칙은 코드의 가독성과 유지보수성에 큰 영향을 미칩니다. Go의 명명 규칙은 단순하지만 일관성 있게 적용해야 합니다.

Go: 변수

7 분 소요

Go에서 변수는 데이터를 저장하는 메모리 공간입니다. Go는 정적 타입 언어이므로 모든 변수는 선언 시 또는 컴파일 시점에 타입이 결정됩니다.

Go: 기본 자료형

7 분 소요

Go는 정적 타입 언어로, 컴파일 시점에 모든 변수의 타입이 결정됩니다. Go의 기본 자료형은 크게 숫자형, 문자열, 불린, 함수로 구분됩니다.

Go: Hello, World!

1 분 소요

Go 프로그래밍의 첫걸음, “Hello, World!” 프로그램을 통해 Go의 기본 구조와 실행 방법을 학습합니다.

C++: minmax_element

최대 1 분 소요

범위에서 가장 작은 값과 가장 큰 값을 반환

C++: exchange

최대 1 분 소요

obj의 값을 newvalue로 변경하고 obj의 값을 반환

Go: go 명령어

4 분 소요

Go 개발에 사용되는 핵심 명령어들을 카테고리별로 정리합니다. 모든 명령어는 go help 로 상세 도움말을 확인할 수 있습니다.

C++: to_array

최대 1 분 소요

C++: to_array에 관한 핵심 개념과 사용 예제.

C++: minmax

최대 1 분 소요

주어진 값 중 가장 작은 값과 가장 큰 값을 반환

Go: 릴리스 노트

5 분 소요

각 메이저 Go 릴리스는 두 개의 새로운 메이저 릴리스가 나올 때까지 지원됨

C++: feature testing

최대 1 분 소요

C++11 이상에 도입된 C++ 언어 및 라이브러리 기능에 해당하는 일련의 전처리기 매크로를 정의

C++: copy_if

최대 1 분 소요

범위내의 요소 중 조건을 만족하는 요소를 복사

Go: 개요

1 분 소요

구글의 엔지니어 로버트 그리즈머, 롭 파이크, 켄 톰프슨이 개발한 프로그래밍 언어

C++: source_location

최대 1 분 소요

파일 이름, 소스 라인 번호, 함수 이름 등 소스 코드에 대한 특정 정보를 나타내는 클래스

C++: copy_n

최대 1 분 소요

C++: copy_n에 관한 핵심 개념과 사용 예제.

C++: yield

최대 1 분 소요

다른 스레드가 실행될 수 있도록 스케줄을 재조정

C++: exception_ptr

최대 1 분 소요

currentexception으로 던져지고 캡쳐된 예외 객체를 관리하는 포인터

C++: lerp

최대 1 분 소요

a와 b 사이의 선형 보간(a+t(b-a))을 계산

C++: midpoint

1 분 소요

정수, 부동 소수점 혹은 포인터 a와 b의 중간점을 반환

C++: bind_front

1 분 소요

인자로 전달된 함수에 대한 전달 호출 래퍼를 생성하는 함수

C++: endian

최대 1 분 소요

C++: endian에 관한 핵심 개념과 사용 예제.

C++: remove_cvref

최대 1 분 소요

C++: remove_cvref에 관한 핵심 개념과 사용 예제.

C++: ssize

최대 1 분 소요

C++: ssize에 관한 핵심 개념과 사용 예제.

C++: span

최대 1 분 소요

시퀀스의 첫 번째 요소가 0 위치에 있는 객체의 연속 시퀀스를 참조할 수 있는 객체

C++: barrier

최대 1 분 소요

알려진 크기의 스레드 그룹이 barrier에 도달할때까지 차단하는 스레드 조정 메커니즘 제공

C++: latch

최대 1 분 소요

스레드를 동기화 하는데 사용하는 하향 카운터

C++: ranges

1 분 소요

알고리즘 및 반복자 라이브러리에 대한 확장 및 일반화 구성 및 안정화

C++: owner_less

최대 1 분 소요

C++: owner_less에 관한 핵심 개념과 사용 예제.

C++: consteval

최대 1 분 소요

컴파일 타임에 계산이 불가능하면 컴파일 에러 발생

C++: constinit

최대 1 분 소요

저장 기간이 정적 혹은 쓰레드인 변수가 컴파일 시점에 초기화됨을 보장

C++: module

1 분 소요

기능의 일부만을 포함시킬 수 있는 기능

C++: hypot

최대 1 분 소요

인자가 2개(C++11)면 직각 삼각형의 빗변, 3개(C++17)면 원점으로부터의 거리를 반환하는 함수

C++: coroutines

6 분 소요

코루틴은 일부 실행 후 일시중지(suspend)하고 리턴

C++: concepts

2 분 소요

타입이 가져야 하는 요구사항을 정의하는 문법

C++: integral_constant

최대 1 분 소요

bool의 경우 truetype, falsetype로 typedef 되어 있고 C++17에서는 boolconstant로 using 되어 있음

C++: literals

2 분 소요

C++: literals에 관한 핵심 개념과 사용 예제.

C++: is_invocable

최대 1 분 소요

C++: is_invocable에 관한 핵심 개념과 사용 예제.

C++: attribute

5 분 소요

타입, 객체, 코드 등에 대한 구현/정의 속성을 설명

C++: not_fn

최대 1 분 소요

callable 객체의 부정을 반환하는 객체를 반환

C++: data

최대 1 분 소요

범위의 요소를 포함하는 메모리 블록에 대한 포인터를 반환

C++: empty/size

최대 1 분 소요

C++: empty/size에 관한 핵심 개념과 사용 예제.

C++: merge

최대 1 분 소요

C++: merge에 관한 핵심 개념과 사용 예제.

C++: bool 출력

최대 1 분 소요

C++: bool 출력에 관한 핵심 개념과 사용 예제.

C++: extract

최대 1 분 소요

C++: extract에 관한 핵심 개념과 사용 예제.

C++: gcd/lcm

최대 1 분 소요

C++: gcd/lcm에 관한 핵심 개념과 사용 예제.

C++: clamp

최대 1 분 소요

최소값 보다 작으면 최소값, 최대 값 보다 크면 최대 값을 반환하는 함수

C++: launder

최대 1 분 소요

전달된 인자의 주소에 있는 객체에 대한 포인터를 반환

기본 개념: 트랜잭션

최대 1 분 소요

‘논리적 작업 단위’, ‘상호 작용의 단위’, ‘쪼갤 수 없는 업무 처리의 최소 단위’

기본 개념: ACID

최대 1 분 소요

데이터베이스 트랜잭션이 안전하게 수행됨을 보장하기 위한 성질

C++: includes

최대 1 분 소요

정렬된 두 범위에 대해 한쪽에 다른 한쪽이 포함되는지 확인

C++: void_t

최대 1 분 소요

모든 유형을 void 유형으로 매핑하는 유틸리티 메타 함수

C++: monotonic_buffer_resource

최대 1 분 소요

리소스가 소멸될 때만 할당된 메모리를 해제하는 특수 목적 메모리 리소스 클래스

기본 개념: 파티셔닝

최대 1 분 소요

데이터베이스를 분할하여 성능, 관리 및 가용성 향상을 도모하는 튜닝 기법

C++: polymorphic_allocator

최대 1 분 소요

다형성을 이용해 allocator는 polymorphicallocator 하나를 쓰고 세부 구현은 memoryresource에 따라 동작

C++: search

최대 1 분 소요

범위에서 일치하는 첫번재 위치의 반복자를 반환

C++: apply

최대 1 분 소요

Callable 객체를 튜플 인수로 호출하는 함수

C++: scoped_lock

최대 1 분 소요

C++: scoped_lock에 관한 핵심 개념과 사용 예제.

C++: any

1 분 소요

복사 가능한 객체를 타입에 상관없이 담을 수 있는 클래스

C++: variant

1 분 소요

n개의 타입들 중 하나를 보관할 수 있는 클래스

C++: optional

최대 1 분 소요

존재유무를 관리할 수 있는 클래스 템플릿

C++: string_view

최대 1 분 소요

문자열을 소유하지 않고 읽기만 하는 클래스

C++: type alias

최대 1 분 소요

C++: type alias에 관한 핵심 개념과 사용 예제.

Prometheus: Thanos

6 분 소요

장기 저장 기능이 있는 고가용성 오픈 소스 Prometheus 설정

C++: random

최대 1 분 소요

C++: random에 관한 핵심 개념과 사용 예제.

C++: common_type

최대 1 분 소요

인자로 전달된 n개의 타입들이 변환할 수 있는 공통 타입으로 변환

C++: constexpr

3 분 소요

‘상수(const) + 컴파일 시점에 값 평가 가능’함을 선언

Git: branching model

2 분 소요

브랜칭 모델은 팀이 Git 저장소에서 브랜치를 생성·병합·삭제하는 방식을 정의하는 워크플로 전략이다.

C++: tuple

최대 1 분 소요

서로 다른 n개의 타입의 값을 저장할 수 있는 클래스 템플릿

C++: declval

최대 1 분 소요

생성자를 거치지 않고 멤버 함수를 decltype의 식에 사용할 수 있게 하는 템플릿 함수

C++: stack unwinding

최대 1 분 소요

예외가 발생하여 중간에 함수를 빠져나가도 해당 예외를 처리할 수 있는 catch 문을 만나면 그 사이의 있는 스택 정보가 자동으로 순서대로 정리

C++: decltype

1 분 소요

전달된 식의 값 종류에 따른 타입을 컴파일 타임에 추론하여 치환

C++: thread

1 분 소요

생성자의 인자로 전달된 함수를 객체 생성 즉시 실행

C++: bind

최대 1 분 소요

placeholders::\x를 이용해 전달된 인자 중 x번째에 있는 값을 bind

C++: mem_fn

최대 1 분 소요

C++: mem_fn에 관한 핵심 개념과 사용 예제.

C++: function

최대 1 분 소요

Callable 대상(일반 함수, 멤버 함수, 람다, …)을 저장, 복사, 호출 가능

C++: 보편 참조

최대 1 분 소요

변수(auto &&)나 인자(템플릿 인자 - T &&)가 r-value reference(&&) 형태이며 타입 추론이 필요한 레퍼런스

C++: 완벽한 전달

최대 1 분 소요

l-value는 l-value로 r-value는 r-value로 전달해야하는 경우

C++: move/move_backward

최대 1 분 소요

일반적으로 복사 생성자 보다 이동 생성자가 빠르므로 상황에 따라 move 함수를 이용해 이동 생성자가 호출되도록 사용

C++: l-value, r-value

1 분 소요

locator 혹은 left의 약자로 메모리 위치를 참조할 수 있는 값을 의미

C++: override

최대 1 분 소요

가상 함수가 다른 가상 함수를 오버라이드 함을 지정

C++: final

최대 1 분 소요

파생 클래스에서 가상 함수를 재정의 불가 혹은 클래스를 파생 불가하도록 지정

C++: nullptr

최대 1 분 소요

NULL은 0으로 define되어 있는 키워드이므로 숫자 0을 의미하는지 포인터 값 0을 의미하는지 구분 불가

C++: copy elision

최대 1 분 소요

복사가 생략가능한 경우에 컴파일러 단계에서 복사 생략

C++: noexcept

1 분 소요

해당 함수에서 예외 발생 시 catch 되지 않고 크러쉬

C++: lambda

2 분 소요

모든 변수에 대해 암시적으로 레퍼런스 캡쳐

C++: auto

최대 1 분 소요

C++: auto에 관한 핵심 개념과 사용 예제.

C++: string

4 분 소요

문자 시퀀스를 저장하고 조작하는 클래스

C++: inline

최대 1 분 소요

컴파일러에게 함수 호출 대신 호출 부분을 함수 내용으로 대체할 것을 요청

C++: mutable

최대 1 분 소요

const 함수에서 멤버 변수의 값 변경이 필요한 경우 사용

C++: explicit

최대 1 분 소요

C++: explicit에 관한 핵심 개념과 사용 예제.

C++: template

3 분 소요

특수화를 지원하지 않고 오버로딩으로 해결

C++: cast

1 분 소요

런타임에 다형성을 만족하는 파생 클래스 사이에서의 up/down cast

C++: friend

최대 1 분 소요

다른 클래스나 함수에서 private 멤버에 대한 접근이 필요할 때 사용(단방향)

C++: static

최대 1 분 소요

프로그램 실행 시 생성되어 종료 시 소멸

C++: const

최대 1 분 소요

C++: const에 관한 핵심 개념과 사용 예제.

C++: class

1 분 소요

생성자를 정의하지 않았을 경우 자동으로 생성되는 생성자

C++: reference

최대 1 분 소요

별명에 변수가 붙으면 해당 별명은 다른 변수로 변경 불가

C++: namespace

최대 1 분 소요

이름 없는 네임스페이스의 경우 static을 사용한 것처럼 해당 파일에서만 접근 가능

C++: 반복문

최대 1 분 소요

C++: 반복문에 관한 핵심 개념과 사용 예제.

C++: 조건문

최대 1 분 소요

C++: 조건문에 관한 핵심 개념과 사용 예제.

C++: 컴파일

최대 1 분 소요

어셈블리 코드들을 기계어로 이루어진 목적 코드로 변환

C++: 역사

최대 1 분 소요

Bjarne Stroustrup가 객체 지향적인 언어인 Simula의 컨셉을 C언어에 접목

분산 추적: Jaeger

5 분 소요

마이크로서비스 기반 분산 시스템을 위한 오픈소스 분산 추적 시스템(distributed tracing system)

Kubernetes: Operator pattern

최대 1 분 소요

Operator는 사용자 지정 리소스를 사용하여 어플리케이션 및 해당 구성 요소를 관리하는 Kubernetes의 소프트웨어 확장

알고리즘: 정렬

3 분 소요

데이터들이 주어졌을 때 이를 정해진 순서대로 나열

아키텍처: 아키텍처

1 분 소요

어플리케이션을 느슨하게 결합된 서비스의 모임으로 구조화하는 서비스 지향 아키텍처(SOA) 스타일의 일종인 소프트웨어 개발 기법

플랫폼: KubeVela

1 분 소요

하이브리드, 멀티 클라우드 환경에서 애플리케이션을 더 쉽고 빠르게 제공하고 관리하는 플랫폼

플랫폼: KubeSphere

5 분 소요

Kubernetes를 커널로 사용하는 클라우드 네이티브 분산 운영 체제

Kubernetes: OpenEBS

4 분 소요

Kubernetes 네이티브 스토리지 솔루션 — 오픈소스, CNCF Sandbox 프로젝트

Vim: vim-go

최대 1 분 소요

Vim에 대한 Go 언어 지원을 추가하는 플러그인

Vim: 자동 완성

최대 1 분 소요

Vim에 대한 코드 자동 완성 엔진을 추가하는 플러그인

Linux: Rocky Linux

최대 1 분 소요

2020.12.08, Red Hat은 RHEL(Red Hat Enterprise Linux)의 downstream version인 CentOS 개발 중지를 발표

CI/CD: Jenkins

최대 1 분 소요

소프트웨어 구축, 테스트, 배포를 자동화하는 독립형 오픈 소스 자동화 서버

에세이: 개발 트렌드

최대 1 분 소요

최소 몇 년전부터의 개발 트랜드는 ‘개발자는 너희만의 서비스에 집중해 나머지는 우리가 다 해줄게’라고 생각한다.

Argo: Argo Workflows

최대 1 분 소요

워크플로우의 각 단계는 컨테이너 레벨에서 수행

메시징: CloudEvents

최대 1 분 소요

일반적인 방식으로 이벤트 데이터를 설명하기 위한 사양

Boost: 개요

최대 1 분 소요

부스트로 시작하여 표준에 포함되는 경우가 적지 않음

Kubernetes: Klog

최대 1 분 소요

Kubernetes: Klog에 관한 설정과 사용 방법.

Observability: Fluentd

최대 1 분 소요

Fluentd는 현시간 기준 CNCF의 Graduated Project로 인정받을 정도로 cloud 환경에 조금 더 최적화 되었다고 볼 수 있음

Elasticsearch: reindex

최대 1 분 소요

mappings를 수정하거나 index 이름을 변경하거나 다른 서버의 데이터를 가져와야할 경우 사용

Kubernetes: CronJob

최대 1 분 소요

스케줄에 따라 주기적 혹은 특정 시간에 job을 실행

Elastic: Metricbeat

1 분 소요

Metricbeat에서 해당 주소를 LISTEN하고 prometheus가 주기적으로 해당 주소로 출력

Elastic: Logstash

8 분 소요

실시간 파이프라이닝 기능을 갖춘 오픈 소스 데이터 수집 엔진

Elastic: Kibana

최대 1 분 소요

Elasticsearch 데이터의 시각화 및 Elastic Stack의 탐색 지원

Elastic: Beats

최대 1 분 소요

경량화 된 단일 목적의 데이터 수집기

Prometheus/PromQL: 개요

2 분 소요

사용자가 실시간으로 시계열 데이터를 선택하고 집계 할 수 있는 쿼리 언어

Kubernetes: minikube

최대 1 분 소요

한 장비에서 멀티 노드까지 테스트 가능(–vm-driver 옵션에 따라 다름)

Kubernetes: 개요

1 분 소요

배포, 스케일링, 그리고 컨테이너화된 애플리케이션의 관리를 자동화 해주는 오픈 소스 컨테이너 오케스트레이션 엔진

Service Mesh: Istio

43 분 소요

분산 애플리케이션에 투명하게 계층화되는 오픈 소스 서비스 메시

Service Mesh: 개요

최대 1 분 소요

마이크로 서비스의 문제(보안, 트래픽 제어, 관찰 가능성)를 소프트웨어 레벨이 아니라 인프라 레벨에서 해결하기 위한 아키텍쳐

FreeBSD: ps

최대 1 분 소요

FreeBSD에서 실행 중인 프로세스를 이름으로 찾는 명령어입니다.

SQL: ALTER TABLE

최대 1 분 소요

MySQL과는 다르게 기준 컬럼을 지정 불가

SQL: 권한 설정

최대 1 분 소요

설정만 하고 적용을 하지 않으면 적용되지 않음

SQL: 유저 생성

최대 1 분 소요

MySQL에서 사용자 계정을 생성하는 SQL 예제를 정리합니다.

Linux: rpm

최대 1 분 소요

Linux: rpm에 관한 설정과 사용 방법.

Linux: cscope

최대 1 분 소요

소스 코드를 찾아보기 위한 개발자 도구

Linux: crontab

최대 1 분 소요

현재 사용자의 crontab을 조회하고 편집하는 명령어입니다.

Linux: 리눅스 계정 생성

최대 1 분 소요

쉘을 입력하지 않은 경우 /sbin/sh로 설정되어 로그인이 정상적으로 되지 않을 수 있음

HP-UX: 패키지

최대 1 분 소요

HP-UX는 depot(.depot) 이라는 독자적인 패키지 포맷을 사용

AIX: AIX 명령어

최대 1 분 소요

AIX에서 시스템 정보 조회와 디버깅에 사용하는 명령을 정리합니다.

OpenSSL: 암호화/복호화

최대 1 분 소요

암호화를하면 암호화된 문자열 중간에 끝을 의미하는 \0이 들어갈 수 있음

Vim: 설정

최대 1 분 소요

0 : status line 을 보여주지 않음

SQL: 개요

최대 1 분 소요

구조적 데이터 질의 언어(Structured Query Language)