WASM: DuckDB WASM
DuckDB(임베디드 OLAP DB)를 WebAssembly로 컴파일 → 브라우저·Node.js에서 풀 SQL 분석
DuckDB(임베디드 OLAP DB)를 WebAssembly로 컴파일 → 브라우저·Node.js에서 풀 SQL 분석
SQLite를 WebAssembly로 컴파일해 브라우저 / Node.js / Deno / Bun 등 JavaScript 런타임에서 직접 실행
WebAssembly(WASM)는 이식 가능하고 빠르게 실행되는 저수준 바이너리 명령어 포맷
로컬 환경에서 대규모 언어 모델(LLM)을 손쉽게 실행·관리하는 오픈소스 도구
React 앱을 실제로 개발하다 보면 반복적으로 등장하는 패턴들이 있습니다. 인증 보호, 환경변수, 에러 처리, 코드 분할, 로딩 UI 등 자주 쓰이는 실무 패턴을 정리합니다.
테스트는 코드가 올바르게 동작하는지 자동으로 검증하는 작업입니다. Vitest는 Vite 기반 테스트 러너이고, Testing Library는 실제 사용자 관점에서 컴포넌트를 테스트하는 라이브러리입니다.
shadcn/ui는 Radix UI와 Tailwind CSS를 기반으로 만들어진 UI 컴포넌트 모음입니다. npm 패키지가 아니라 소스 코드를 프로젝트에 직접 복사하는 방식이라, 컴포넌트를 자유롭게 수정할 수 있습니다.
Tailwind CSS는 미리 정의된 유틸리티 클래스를 조합해 스타일을 지정하는 CSS 프레임워크입니다. 별도의 CSS 파일을 만들지 않고 HTML(JSX)에 클래스만 추가하면 스타일이 적용됩니다.
폼 처리는 매번 state와 onChange를 반복하는 번거로운 작업입니다. React Hook Form은 폼 상태를 효율적으로 관리하고, Zod는 타입 안전한 유효성 검사 스키마를 제공합니다. 두 라이브러리를 함께 사용하면 간결하고 안전한 폼을 빠르게 만들 수 있습니다.
TanStack Query (구 React Query)는 서버에서 가져오는 데이터(서버 상태)를 관리하는 라이브러리입니다. API 호출, 캐싱, 로딩/에러 처리, 자동 갱신 등을 간편하게 처리합니다.
Zustand는 가볍고 간단한 전역 상태 관리 라이브러리입니다. Context API보다 설정이 적고, Redux보다 훨씬 간단합니다.
Context API는 Props를 여러 단계로 내려보내지 않고 전역으로 데이터를 공유하는 방법입니다. useReducer는 복잡한 상태 로직을 정리하는 Hook입니다. 두 가지를 함께 사용하면 외부 라이브러리 없이도 전역 상태 관리를 구현할 수 있습니다.
useRef, useCallback, useMemo는 성능 최적화와 DOM 접근을 위한 Hook입니다. 처음에는 useState와 useEffect만으로도 충분하지만, 앱이 커지면 이 Hook들이 필요합니다.
커스텀 Hook은 반복되는 상태 로직을 별도 함수로 분리해 재사용하는 패턴입니다. 이름이 반드시 use로 시작해야 하며, 내부에서 다른 Hook을 사용할 수 있습니다.
React Router는 React 앱에서 클라이언트 사이드 라우팅을 제공하는 라이브러리입니다. 페이지 이동 시 서버에 요청하지 않고 JavaScript로 화면을 전환합니다.
useEffect는 컴포넌트가 렌더링된 후 사이드 이펙트(Side Effect)를 실행하기 위한 Hook입니다. 사이드 이펙트란 API 호출, DOM 직접 조작, 타이머 설정, 이벤트 구독 등 렌더링 외부의 작업을 말합니다.
React에서 리스트를 렌더링할 때는 JavaScript의 Array.map() 메서드를 사용합니다. 각 항목에는 반드시 고유한 key 속성을 지정해야 합니다.
React의 이벤트 처리는 HTML의 이벤트 처리와 유사하지만, 몇 가지 차이점이 있습니다. 이벤트 핸들러 이름은 카멜케이스를 사용하고, 함수를 직접 전달합니다.
State(상태)는 컴포넌트 내부에서 관리하는 동적 데이터입니다. State가 변경되면 React는 해당 컴포넌트를 자동으로 다시 렌더링합니다. useState Hook을 사용해 함수형 컴포넌트에서 상태를 관리합니다.
Props(Properties)는 부모 컴포넌트가 자식 컴포넌트에게 데이터를 전달하는 방법입니다. Props는 읽기 전용(Read-Only)으로, 자식 컴포넌트는 전달받은 props를 변경할 수 없습니다.
컴포넌트(Component)는 React UI를 구성하는 독립적이고 재사용 가능한 최소 단위입니다. 마치 레고 블록처럼, 작은 컴포넌트들을 조합해 복잡한 UI를 만듭니다.
JSX(JavaScript XML)는 JavaScript 코드 안에서 HTML과 유사한 문법을 사용할 수 있게 해주는 React의 문법 확장입니다. JSX는 브라우저가 직접 이해하지 못하므로 Babel/Vite가 일반 JavaScript로 변환합니다.
React 포스트의 모든 예제 코드는 TypeScript로 작성되어 있습니다. TypeScript는 JavaScript에 타입을 추가한 언어로, 코드 작성 시 오류를 미리 잡아줍니다. React 개발에 필요한 TypeScript 기초만 간단히 정리합니다.
React에서 첫 화면을 출력하는 방법을 알아봅니다.
React 프로젝트는 Vite를 사용해 생성하는 것이 현재 표준입니다. Vite는 빠른 개발 서버와 최적화된 빌드를 제공합니다.
React(Vite) 개발에 사용되는 핵심 명령어들을 카테고리별로 정리합니다. 모든 npm 명령어는 npm help 로 상세 도움말을 확인할 수 있습니다.
React는 Meta(구 Facebook)가 개발한 오픈소스 JavaScript UI 라이브러리
Meta(구 Facebook)가 개발한 오픈소스 JavaScript UI 라이브러리
GitHub Actions CI/CD 파이프라인에서 테스트 커버리지를 자동으로 계산하고, GitHub Gist와 Shields.io를 활용하여 README에 동적 커버리지 뱃지를 표시하는 방법을 소개합니다.
사용자 친화적인 웹 인터페이스로 손쉽게 PostgreSQL을 백업하는 툴
SQL(Structured Query Language)을 지원하는 RDBMS
외부 비밀 관리 시스템을 통합하는 Kubernetes operator
다양한 실시간 전송(WebSocket, HTTP-streaming, SSE/EventSource, WebTransport, GRPC)을 통해 연결된 애플리케이션 온라인 사용자에게 메시지를 즉시 전달
2024-06-06 릴리스 — RHEL 10의 upstream rolling preview 배포판
Go 1.23부터 추가된 unique 패키지는 값 정규화(interning, hash-consing)를 통해 메모리를 최적화합니다.
Go 1.21부터 추가된 maps 패키지는 제네릭 기반의 맵 조작 함수들을 제공합니다.
Go 1.21부터 추가된 slices 패키지는 제네릭 기반의 슬라이스 조작 함수들을 제공합니다.
모든 Kubernetes 클러스터에서 PostgreSQL 워크로드를 관리하도록 설계된 오픈소스 오퍼레이터
Go: ORM(Object-Relational Mapping)에 관한 사용 방법과 실습 예제.
Go: LOG에 관한 사용 방법과 실습 예제.
Kubernetes를 위한 선언적 GitOps 지속적 전달 도구
해당 클래스를 사용하는 파일이 아닌 다른 파일에 선언해야 동작
반환된 타입을 그대로 복제해서 타입 내부에 각각의 값을 직접 추출해오는 문법
특정 순서의 레코드를 가져올 땐 $을 이용
async로 함수를 선언하고 yield 키워드로 값을 반환
Dart: 브로드캐스트 스트림에 관한 핵심 개념과 사용 예제.
한번만 listen() 실행 가능
반환값을 딱 한번 받아내는 비동기 프로그래밍에 사용
해당 인스턴스의 속성이나 멤버 함수를 연속해서 사용하는 기능
변수나 메소드가 클래스의 인스턴스가 아닌 클래스 자체에 귀속
클래스나 함수의 정의를 선언할 때가 아니라 인스턴스화하거나 실행할 떄로 미룸
상속이나 인터페이스로 사용하는 데 필요한 속성만 정의하고 인스턴스화할 수도 없도록 하는 기능
특정 클래스에 원하는 기능들만 골라 놓을 수 있는 기능
Dart: 인터페이스에 관한 핵심 개념과 사용 예제.
@override annotation 사용
Dart: 상속에 관한 핵심 개념과 사용 예제.
클래스를 생성하는 여러 방법을 명시하고 싶을 때 사용
Dart: 에러 핸들링에 관한 핵심 개념과 사용 예제.
함수의 시그니처(반환값, 타입, 매개변수 등)를 정의
Optional positional 매개변수
Dart: 반복문에 관한 핵심 개념과 사용 예제.
코드가 입력 받을 수 있는 모든 조건을 전부 확인하고 있는지 검사
타입 뒤에 ?를 추가해야 null 값 저장 가능
Dart: 열거형에 관한 핵심 개념과 사용 예제.
여러 값을 하나의 변수에 저장할 수 있는 타임
Dart: 상수에 관한 핵심 개념과 사용 예제.
Dart: 파일 입/출력에 관한 핵심 개념과 사용 예제.
Dart: 표준 입/출력에 관한 핵심 개념과 사용 예제.
Dart: 변수에 관한 핵심 개념과 사용 예제.
Dart: 기본 자료형에 관한 핵심 개념과 사용 예제.
구글이 개발한 멀티 플랫폼 프로그래밍 언어
AI 시스템이 사회에 미치는 영향을 고려한 설계·운영·정책의 총체
LLM을 활용하여 코드 자동완성, 생성, 리팩토링, 디버깅을 지원하는 도구
LLM 기반 애플리케이션의 개발·배포·운영을 체계화하는 관행
AI 모델을 개발·실험·배포하기 위한 플랫폼 및 도구
벡터(임베딩)를 저장하고 유사도 기반 검색을 수행하는 데이터베이스
LLM 기반 애플리케이션 구축을 위한 오케스트레이션 프레임워크
딥러닝 모델의 설계·학습·추론을 지원하는 오픈소스 프레임워크
음성을 텍스트로 변환(STT)하거나 텍스트를 음성으로 변환(TTS)하는 AI
텍스트 또는 이미지 입력으로 동영상을 생성하는 AI
텍스트 프롬프트 또는 기존 이미지를 기반으로 새로운 이미지를 생성하는 AI
중국 AI 스타트업 DeepSeek이 개발한 오픈소스 LLM 시리즈
Meta AI가 개발한 오픈소스 대규모 언어 모델 시리즈
LLM이 자율적으로 목표를 달성하기 위해 추론하고 도구를 사용하는 시스템
고성능 관측 가능성 데이터 파이프라인 — 로그·메트릭·트레이스를 수집, 변환, 라우팅
LLM의 지식 한계(Knowledge Cutoff)와 환각(Hallucination)을 보완하는 기법
Kubernetes용 이벤트 기반 워크플로 자동화 프레임워크 — CNCF Incubating
사전학습된 모델(Pre-trained Model)을 특정 태스크에 맞게 추가 학습하는 기법
온라인 분석 처리(OLAP)를 위한 고성능 열 기반 SQL 데이터베이스 관리 시스템(DBMS)
노이즈를 점진적으로 제거(역방향 확산)하여 고품질 데이터를 생성하는 생성 모델
2014년 Ian Goodfellow가 제안한 생성 모델
하나의 파일로 구성된 SaaS 및 모바일 앱을 위한 오픈 소스 백엔드
2017년 Google 논문 “Attention Is All You Need”에서 발표한 딥러닝 아키텍처
데이터·I/O·컴퓨팅 집약적 워크로드에 특화된 고성능 오픈소스 서버리스(FaaS) 프레임워크
순서가 있는 시계열·시퀀스 데이터 처리에 특화된 딥러닝 신경망
서비스에 적합한 구성을 자동으로 검색
이미지·공간 데이터에 특화된 딥러닝 신경망 아키텍처
LLM이 원하는 결과를 출력하도록 입력(프롬프트)을 설계하는 기술
개발자에게 백엔드를 쉽게 구축할 수 있는 방법을 제공하는 서비스
Anthropic이 개발한 대화형 AI 서비스 및 LLM
Google DeepMind가 개발한 멀티모달 AI 모델 및 서비스
5G 네트워크 자동화 및 지능화를 위해 5G 시스템 내의 새로운 표준기능
OpenAI가 개발한 대화형 AI 서비스
방대한 텍스트 데이터로 학습된 대규모 Transformer 기반 언어 모델
ML 시스템 개발(Dev)과 운영(Ops)을 통합하는 엔지니어링 문화 및 방식
기계 학습의 한 분야로, 다층 인공신경망(Multi-layer Neural Network)을 사용하는 학습 방법
Tom M. Mitchell (CMU) 정의
인간의 학습 능력, 추론 능력, 지각 능력을 인공적으로 구현하려는 컴퓨터 과학의 한 분야
CPU, memory, disks, network, sensors, processes 정보 검색을 위한 크로스 플랫폼 라이브러리
오픈소스 Feature Flag 솔루션 — 외부 서비스 없이 파일(YAML/TOML/JSON) 기반으로 플래그 관리
AI의 역사는 1950년대 수학적 개념에서 시작하여 수차례의 AI 붐과 침체(AI Winter)를 거쳐 현재의 생성 AI 시대에 이름
Feature Flagging에 대한 오픈 규격
스토리지 인프라를 직접 구축하지 않고 서비스 형태로 제공받는 클라우드 서비스 모델
완성된 소프트웨어 애플리케이션을 인터넷(웹 브라우저)으로 제공하는 클라우드 서비스 모델
애플리케이션 개발·배포를 위한 플랫폼 (OS, 런타임, DB, 미들웨어)을 서비스로 제공
인프라 (서버, 스토리지, 네트워크, 가상화)를 서비스로 제공하는 클라우드 서비스 모델
개별 함수 (Function) 단위로 코드를 실행하는 서버리스 (Serverless) 클라우드 서비스 모델
특정 기능이나 자원을 인터넷을 통해 서비스 형태로 제공하는 클라우드 컴퓨팅 모델의 총칭
데이터베이스를 직접 설치·운영하지 않고 서비스 형태로 제공받는 클라우드 서비스 모델
가상 데스크탑 환경 (Windows/Linux 데스크탑)을 클라우드로 제공하는 서비스
컨테이너 기반 애플리케이션의 배포·관리·오케스트레이션 환경을 서비스로 제공
Finalizer는 객체가 가비지 컬렉션되기 직전에 호출되는 함수로, runtime.SetFinalizer를 통해 설정합니다.
Go: 타입 이름 가져오기에 관한 사용 방법과 실습 예제.
Go: 호출자 정보 가져오기에 관한 사용 방법과 실습 예제.
Go: MinIO에 관한 참고 자료와 간단한 사용 기록.
Go: 소켓 서버/클라이언트에 관한 참고 자료와 간단한 사용 기록.
Go: 암호화에 관한 사용 방법과 실습 예제.
Go: lock에 관한 참고 자료와 간단한 사용 기록.
Go: Kubernetes Resources CRUD에 관한 참고 자료와 간단한 사용 기록.
Go: JSON에 관한 참고 자료와 간단한 사용 기록.
Go: 데이터베이스에 관한 사용 방법과 실습 예제.
Go: S3에 관한 참고 자료와 간단한 사용 기록.
Go: DynamoDB에 관한 참고 자료와 간단한 사용 기록.
Go: 압축에 관한 핵심 개념과 사용 예제.
watch를 추상화하여 watch의 끊길 수 있는 문제(네트워크, 타임 아웃 등) 발생 시 재시도
ConfigMap/Secret 변경 시 자동으로 DeploymentConfig/Deployment/Daemonset/Statefulset 롤링 업데이트
Kubernetes: operator에 관한 설정과 사용 방법.
익스포터가 클러스터내의 파드로 기동되는 경우 서비스와 서비스모니터만 생성하면 되지만 외부의 경우 엔드포인트 추가 필요
Prometheus: Go client에 관한 참고 자료와 간단한 사용 기록.
예제는 해당 클러스터의 파드로 기동된다고 가정
메모리 안전성 보장을 강제하지 않는 숨겨진 내부의 두번째 언어
단순하거나 복잡한 타입의 구조에 값들을 비교하기 위한 문법
Rust: 다형성에 관한 핵심 개념과 사용 예제.
타입 시스템과 소유권 규칙으로 인해 락 사용의 안정성 보장
Rust: 채널에 관한 핵심 개념과 사용 예제.
소유권과 타입 시스템이 메모리 안전성 및 동시성 문제를 관리하는 것을 돕기 위한 강력한 도구들의 집합
추가적인 메타데이터와 능력들도 가지고 있는 포인터
크레이트의 루트 파일이나 크레이트 혹은 모듈 전체를 문서화하는 모듈 내부에 작성
Go 1.21부터 추가된 cmp 패키지는 비교 가능한 타입들을 위한 유틸리티 함수를 제공합니다.
Rust: 반복자에 관한 핵심 개념과 사용 예제.
Go 1.21부터 추가된 log/slog 패키지는 구조화된 로깅을 위한 표준 라이브러리입니다.
Go 1.21부터 추가된 min과 max 내장 함수는 비교 가능한 값들 중 최소값과 최대값을 반환합니다.
Go 1.21부터 추가된 clear 내장 함수는 맵과 슬라이스의 모든 요소를 효율적으로 제거합니다.
변수에 저장하거나 다른 함수에 인자로 넘길 수 있는 익명 함수
Rust: 환경 변수에 관한 핵심 개념과 사용 예제.
Rust: 커맨드 라인 인자에 관한 핵심 개념과 사용 예제.
expected 파라미터를 통해 특정 패닉 메세지를 지닌 패닉 테스트 가능
주목적은 댕글링 참조자(dangling reference) 방지
트레잇 혹은 타입이 우리의 크레이트 내의 것일 경우에만 해당 타입에서의 트레잇을 정의 가능
Rust: 제네릭에 관한 핵심 개념과 사용 예제.
복구 불가능한(unrecoverable) 에러
유효하지 않은 인덱스 일 경우 panic 발생
구조체와 유사하게 다양한 타입과 메소드를 가질 수 있음
필드 초기화 축약법(field init shorthand)
가비지 콜렉터 없이 메모리 안정성 보장
Rust: 반복문에 관한 핵심 개념과 사용 예제.
Rust: 조건문에 관한 핵심 개념과 사용 예제.
반환 시 표현식(구문과는 다르게 세미 콜론이 없는) 혹은 return 사용
Rust: 표준 입/출력에 관한 핵심 개념과 사용 예제.
정수형, 부동소수점 숫자, boolean, 문자
Go 1.18부터 제네릭(Type Parameters)이 추가되어 타입 안전하고 재사용 가능한 코드 작성이 가능해졌습니다.
mut를 통해 가변성 변수 선언 가능
타입은 UpperCamelCase, 값은 snakecase 사용
크레이트(crate) 생성 및 초기화
Rust: 개요에 관한 개념과 주요 특징.
완전관리형 NoSQL 데이터베이스 서비스
클라이언트가 특정 이벤트를 받기 위해 요청
클라이언트가 HTTP 연결을 통해 서버에서 자동 업데이트를 수신할 수 있도록 하는 서버 푸시 기술
지속적인 단일 소켓 연결을 통해 웹 클라이언트와 웹 서버 간의 전이중 통신을 가능하게 하는 실시간 프로토콜
둘다 오토 스케일링, 롤링 업데이트, 자가 복구 및 AWS 서비스와의 통합을 제공
sprintf와 유사하나 문자열을 반환
브라우저가 명시적으로 요청하지 않아도 웹 서버가 데이터를 브라우저에 푸시할 수 있는 웹 어플리케이션 모델
AWS와 온프레미스에서 손쉽게 Kubernetes를 실행할 수 있는 관리형 Kubernetes 서비스
컨테이너화된 어플리케이션의 손쉬운 배포, 관리 및 크기 조정을 지원하는 완전관리형 컨테이너 오케스트레이션 서비스
SQL 처리 과정 차이에 따라 구분
운영체제의 심장이자 이를 규정짓는 소프트웨어
Parse Tree 생성 과정에서 문법 검사
IP 주소를 MAC 주소로 바인드 시키기 위해 사용되는 프로토콜
클래스의 테스트들이 실행되기 전에 한번 호출되는 클래스 메소드
True일 경우 데몬 스레드만 남았을 때 프로그램 즉시 종료
Python: MySQL에 관한 사용 방법과 실습 예제.
GET을 등록하면 HEAD method가 자동으로 추가
데이터나 연산 결과가 저장 공간 또는 허용 표현 범위를 초과할 때 발생하는 현상
SELECT면 true, INSERT/UPDATE/DELETE는 false를 반환
Linux 프로그램 디버깅 및 프로파일링을 위한 오픈 소스 도구
C++: REST/HTTP API server/client에 관한 사용 방법과 실습 예제.
클라이언트의 입력 값을 조작하여 서버의 데이터베이스를 공격
데이터베이스를 관리할 수 있는 기능들을 제공하는 응용 프로그램
여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합
멤버 변수 중 가장 큰 멤버 변수 크기의 영향을 받음
HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지 송수신하는 프로토콜
인터넷 프로토콜(IP, Internet Protocol)
사용자 데이터그램 프로토콜(UDP, User Datagram Protocol)
전송 제어 프로토콜(TCP, Transmission Control Protocol)
국제표준화기구(ISO)에서 개발한 모델
로이 필딩(Roy Fielding)의 2000년 박사학위 논문에서 소개
key-value data store 혹은 IMDB(In-Memory DataBase) 혹은 MMDB(Main Memory DataBase) 혹은 memory resident database
관계형 데이터베이스 관리 시스템(RDBMS, Relational DataBase Management System)
document-oriented database 혹은 document store
실행되고 있지 않은(메모리에 올라가 있지 않은) 정적인 상태의 명령어 집합체
애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼
user가 docker group에 없을 경우 발생
다양한 서비스를 제공하는 클라우드 컴퓨팅 서비스
사용자의 신원을 확인하는 보안 프로세스
구글이 개발한 고성능 오픈소스 RPC 프레임워크
SQL을 실행하여 데이터를 추출하려고 할 때 옵티마이저(optimizer)가 수립하는 작업 절차
다차원 배열을 선형 저장소에 저장하는 방법
EAGAIN과 EWOULDBLOCK 오류를 처리할 때의 이식성 관련 메모입니다.
C++: gcc 최신 버전 설치에 관한 사용 방법과 실습 예제.
바이너리 위치 및 코어 파일 위치 관리 불필요
정규형을 통해 이상 현상을 제거해가는 과정
네트워크 통신 시 빅 엔디안을 이용하고 시스템에 맞게 변환하여 사용
Python: dir에 관한 사용 방법과 실습 예제.
모든 인자에 괄호를 해주지 않으면 의도하지 않은 동작 발생
iterable 객체를 인자로 받아 iterator 객체를 반환하는 함수
모든 타입의 데이터 할당이 가능하며 타입캐스팅을 통해 접근
범위가 비었거나 모두 참이면 true 반환
copy 모듈의 deepcopy 함수를 이용하여 깊은 복사 가능
값의 수정이 가능한 객체(리스트, 딕셔너리)
레퍼런스 카운트(객체를 참조하는 수)를 관리하여 카운트가 0일 때 소멸 대상으로 등록
함수 앞뒤에 언더바를 두개씩 붙여서 정의
리스트, 집합, 딕셔너리 등의 객체 생성에 사용
Python: 람다에 관한 핵심 개념과 사용 예제.
Python: 예외에 관한 핵심 개념과 사용 예제.
인스턴스 변수는 반드시 초기화를 해야하고 일반적으로 생성자를 이용
Python: dictionary에 관한 핵심 개념과 사용 예제.
test 패키지에 func 함수가 있다고 가정
range 객체를 이용하여 리스트나 튜플 생성 가능
리스트와 유사하나 값 추가/수정 불가능
큰따옴표 혹은 작은따옴표로 묶어서 표현
인덱스 값이 음수이면 반대로 접근(-1이면 마지막 요소)
Python: 산술 연산에 관한 핵심 개념과 사용 예제.
Python: type에 관한 핵심 개념과 사용 예제.
Python: 반복문에 관한 핵심 개념과 사용 예제.
Python: 조건문에 관한 핵심 개념과 사용 예제.
전달되는 문자열을 분석해서 적절한 처리 수행
Python 3.0 부터는 소괄호 필수
글로벌 변수에 접근하는 경우 global 키워드를 붙여서 글로별 변수임을 명시적으로 표현할 것을 권장
변수에 객체가 저장되는 것이 아닌 포스트잇처럼 객체에 변수가 붙었다 떨어지는 느낌
플랫폼 독립적, 인터프리터, 객체지향, 동적 타이핑 대화형 언어
Go: IP가 CIDR에 포함되는지 확인에 관한 사용 방법과 실습 예제.
Go: CIDR의 모든 IP 가져오기에 관한 사용 방법과 실습 예제.
Go 주석을 swagger 문서 2.0으로 변환
Go: rest api server/client에 관한 참고 자료와 간단한 사용 기록.
Go의 flag 패키지는 POSIX 스타일의 커맨드 라인 플래그를 파싱하는 표준 라이브러리입니다.
Go의 strconv 패키지는 기본 타입과 문자열 간의 변환을 제공합니다.
Go의 sort 패키지는 다양한 타입의 슬라이스를 정렬하고 검색하는 기능을 제공합니다.
Go의 os/signal 패키지는 운영체제의 시그널을 처리하여 프로그램의 우아한 종료(graceful shutdown)를 구현합니다.
커맨드 라인 인자(Command Line Arguments)는 프로그램 실행 시 전달되는 파라미터입니다.
환경 변수는 애플리케이션 설정을 외부에서 주입하는 표준 방법입니다.
Go의 reflect 패키지는 런타임에 타입과 값 정보를 검사하고 조작할 수 있는 리플렉션 기능을 제공합니다.
Go는 코드 주석을 통한 자동 문서화를 언어 차원에서 지원합니다.
코드 커버리지는 테스트가 실제로 실행한 코드의 비율을 측정하여 테스트 품질을 평가하는 지표입니다.
Go는 테스팅을 언어 차원에서 지원하며, testing 패키지와 go test 도구를 제공합니다.
Go의 동시성 모델은 고루틴(goroutine)과 채널(channel)을 중심으로 설계되었습니다.
recover는 panic 상태를 복구하고 정상 실행을 재개할 수 있게 하는 내장 함수입니다.
panic은 Go에서 복구 불가능한 에러 상황을 처리하는 메커니즘입니다.
defer는 함수가 종료되기 직전에 특정 함수 호출을 지연시키는 키워드입니다.
사용자 정의 타입은 Go에서 새로운 타입을 생성하는 방법입니다.
인터페이스는 Go의 타입 시스템의 핵심으로, 메서드 시그니처의 집합을 정의합니다.
맵(map)은 키-값 쌍을 저장하는 해시 테이블 기반 자료구조입니다.
슬라이스(slice)는 동적 크기를 가진 배열의 유연한 뷰입니다.
배열(array)은 고정 크기의 같은 타입 요소들의 연속된 모음입니다.
패키지(package)는 Go의 코드 모듈화 및 재사용 단위입니다.
상수(constant)는 컴파일 타임에 값이 결정되는 불변 식별자입니다.
포인터는 메모리 주소를 저장하는 변수입니다. Go의 포인터는 안전하게 설계되어 있어 포인터 연산이 제한적이지만, 효율적인 메모리 관리와 데이터 공유를 가능하게 합니다.
가변 인자 함수(Variadic Function)는 임의 개수의 인자를 받을 수 있는 함수입니다.
Go의 함수는 일급 객체(first-class citizen)로 다음과 같은 특징을 가집니다:
Go 언어는 반복문으로 for 키워드만 제공하며, 다양한 형태로 사용할 수 있습니다.
조건문은 프로그램의 실행 흐름을 제어하는 핵심 구문입니다. Go는 if와 switch 두 가지 조건문을 제공하며, 각각 고유한 특징과 장점이 있습니다.
형식 동사(Formatting Verb)는 fmt.Printf, fmt.Sprintf 등의 함수에서 값을 특정 형식으로 출력하기 위해 사용하는 지시자입니다. %로 시작하며, 뒤에 오는 문자에 따라 출력 형식이 결정됩니다.
파일 입/출력(File I/O)은 데이터를 영구적으로 저장하고 읽어오는 필수적인 기능입니다. Go는 os, io, bufio 패키지를 통해 강력하고 효율적인 파일 처리 기능을 제공합니다.
표준 입/출력(Standard I/O)은 프로그램이 사용자 또는 다른 프로그램과 데이터를 주고받는 기본적인 방법입니다. Go는 fmt, bufio 패키지를 통해 강력하고 유연한 입출력 기능을 제공합니다.
Go는 정적 타입 언어로, 타입 안정성을 중요시합니다. 암묵적(implicit) 타입 변환을 지원하지 않으며, 모든 타입 변환은 명시적(explicit)으로 수행해야 합니다. 이는 예상치 못한 버그를 방지하고 코드의 명확성을 높입니다.
Go는 간결하고 명확한 코드를 중요시하며, 명명 규칙은 코드의 가독성과 유지보수성에 큰 영향을 미칩니다. Go의 명명 규칙은 단순하지만 일관성 있게 적용해야 합니다.
Go에서 변수는 데이터를 저장하는 메모리 공간입니다. Go는 정적 타입 언어이므로 모든 변수는 선언 시 또는 컴파일 시점에 타입이 결정됩니다.
Go는 정적 타입 언어로, 컴파일 시점에 모든 변수의 타입이 결정됩니다. Go의 기본 자료형은 크게 숫자형, 문자열, 불린, 함수로 구분됩니다.
Go 프로그래밍의 첫걸음, “Hello, World!” 프로그램을 통해 Go의 기본 구조와 실행 방법을 학습합니다.
범위에서 가장 작은 값과 가장 큰 값을 반환
obj의 값을 newvalue로 변경하고 obj의 값을 반환
Go 개발에 사용되는 핵심 명령어들을 카테고리별로 정리합니다. 모든 명령어는 go help 로 상세 도움말을 확인할 수 있습니다.
C++: to_array에 관한 핵심 개념과 사용 예제.
주어진 값 중 가장 작은 값과 가장 큰 값을 반환
각 메이저 Go 릴리스는 두 개의 새로운 메이저 릴리스가 나올 때까지 지원됨
C++11 이상에 도입된 C++ 언어 및 라이브러리 기능에 해당하는 일련의 전처리기 매크로를 정의
범위내의 요소 중 조건을 만족하는 요소를 복사
구글의 엔지니어 로버트 그리즈머, 롭 파이크, 켄 톰프슨이 개발한 프로그래밍 언어
파일 이름, 소스 라인 번호, 함수 이름 등 소스 코드에 대한 특정 정보를 나타내는 클래스
C++: copy_n에 관한 핵심 개념과 사용 예제.
다른 스레드가 실행될 수 있도록 스케줄을 재조정
중첩된 인라인 네임스페이스에 대한 정의
currentexception으로 던져지고 캡쳐된 예외 객체를 관리하는 포인터
구조체, 공용체 초기화 시 멤버 이름을 지정하여 초기화 가능
컴파일 타임에 assertion 검사
조건을 충족하는 요소를 삭제하는 함수
T가 범위가 정해진 배열 유형인지 확인
a와 b 사이의 선형 보간(a+t(b-a))을 계산
정수, 부동 소수점 혹은 포인터 a와 b의 중간점을 반환
인자로 전달된 함수에 대한 전달 호출 래퍼를 생성하는 함수
C++: endian에 관한 핵심 개념과 사용 예제.
C++: remove_cvref에 관한 핵심 개념과 사용 예제.
C++: ssize에 관한 핵심 개념과 사용 예제.
시퀀스의 첫 번째 요소가 0 위치에 있는 객체의 연속 시퀀스를 참조할 수 있는 객체
thread와 일반적으로는 동일
알려진 크기의 스레드 그룹이 barrier에 도달할때까지 차단하는 스레드 조정 메커니즘 제공
스레드를 동기화 하는데 사용하는 하향 카운터
공유 리소스에 대한 접근을 제어하는 경량화 된 동기화 클래스
알고리즘 및 반복자 라이브러리에 대한 확장 및 일반화 구성 및 안정화
우주선 연산자(spaceship operator)라는 별명이 붙음
C++: owner_less에 관한 핵심 개념과 사용 예제.
컴파일 타임에 계산이 불가능하면 컴파일 에러 발생
현재 스레드에서 스택 해제가 진행 중이면 true, 아니면 false
저장 기간이 정적 혹은 쓰레드인 변수가 컴파일 시점에 초기화됨을 보장
기능의 일부만을 포함시킬 수 있는 기능
인자가 2개(C++11)면 직각 삼각형의 빗변, 3개(C++17)면 원점으로부터의 거리를 반환하는 함수
코루틴은 일부 실행 후 일시중지(suspend)하고 리턴
타입이 가져야 하는 요구사항을 정의하는 문법
범위로 정의된 메모리 영역에서 초기화에 의해 객체를 구성
C++: is_swappable/is_nothrow_swappable/is_swappable_with/is_nothrow_swappable_with에 관한 핵심 개념과 사용 예제.
bool의 경우 truetype, falsetype로 typedef 되어 있고 C++17에서는 boolconstant로 using 되어 있음
C++: literals에 관한 핵심 개념과 사용 예제.
C++: is_invocable에 관한 핵심 개념과 사용 예제.
표준 C++ 라이브러리 검색 알고리즘
타입, 객체, 코드 등에 대한 구현/정의 속성을 설명
callable 객체의 부정을 반환하는 객체를 반환
정수 혹은 부동 소수점 값을 문자 시퀀스로 변환
범위의 요소를 포함하는 메모리 블록에 대한 포인터를 반환
C++: empty/size에 관한 핵심 개념과 사용 예제.
컨테이너에 요소가 없는 경우 새 요소를 삽입
C++: merge에 관한 핵심 개념과 사용 예제.
C++: bool 출력에 관한 핵심 개념과 사용 예제.
정의 출력은 PRETTYFUNCTION, 이름 출력은 func
C++: extract에 관한 핵심 개념과 사용 예제.
기본적으로는 typeid(T).name()를 이용
exclusivescan는 마지막 요소는 연산에서 제외
C++: gcd/lcm에 관한 핵심 개념과 사용 예제.
C++: accumulate/reduce에 관한 핵심 개념과 사용 예제.
최소값 보다 작으면 최소값, 최대 값 보다 크면 최대 값을 반환하는 함수
범위의 요소를 초기화되지 않은 메모리 영역으로 이동
C++: destroy/destroy_at/destroy_n에 관한 핵심 개념과 사용 예제.
전달된 인자의 주소에 있는 객체에 대한 포인터를 반환
‘논리적 작업 단위’, ‘상호 작용의 단위’, ‘쪼갤 수 없는 업무 처리의 최소 단위’
n개의 컬럼에 대해 정렬하여 키와 레코드 포인터를 저장
데이터베이스 트랜잭션이 안전하게 수행됨을 보장하기 위한 성질
정렬된 두 범위에 대해 한쪽에 다른 한쪽이 포함되는지 확인
헤더/소스 파일을 포함 가능 여부 확인
C++: conjunction/disjunction/negation에 관한 핵심 개념과 사용 예제.
모든 유형을 void 유형으로 매핑하는 유틸리티 메타 함수
리소스가 소멸될 때만 할당된 메모리를 해제하는 특수 목적 메모리 리소스 클래스
데이터베이스를 분할하여 성능, 관리 및 가용성 향상을 도모하는 튜닝 기법
spurious(가짜의) wakeup(일으키다)
다형성을 이용해 allocator는 polymorphicallocator 하나를 쓰고 세부 구현은 memoryresource에 따라 동작
범위에서 일치하는 첫번재 위치의 반복자를 반환
알고리즘: 달팽이에 관한 설정과 사용 방법.
Callable 객체를 튜플 인수로 호출하는 함수
C++: scoped_lock에 관한 핵심 개념과 사용 예제.
복사 가능한 객체를 타입에 상관없이 담을 수 있는 클래스
n개의 타입들 중 하나를 보관할 수 있는 클래스
템플릿 클래스 객체 생성 시 타입을 명시하지 않아도 컴파일러가 자동으로 템플릿 인자 타입을 추론
C++: nested namespace definition에 관한 핵심 개념과 사용 예제.
존재유무를 관리할 수 있는 클래스 템플릿
문자열을 소유하지 않고 읽기만 하는 클래스
C++: structured binding declaration에 관한 핵심 개념과 사용 예제.
C++: if and switch with initializer에 관한 핵심 개념과 사용 예제.
C++: type alias에 관한 핵심 개념과 사용 예제.
장기 저장 기능이 있는 고가용성 오픈 소스 Prometheus 설정
C++: random에 관한 핵심 개념과 사용 예제.
인자로 전달된 n개의 타입들이 변환할 수 있는 공통 타입으로 변환
‘상수(const) + 컴파일 시점에 값 평가 가능’함을 선언
브랜칭 모델은 팀이 Git 저장소에서 브랜치를 생성·병합·삭제하는 방식을 정의하는 워크플로 전략이다.
서로 다른 n개의 타입의 값을 저장할 수 있는 클래스 템플릿
C++: 문자열을 숫자키로 변환에 관한 핵심 개념과 사용 예제.
생성자를 거치지 않고 멤버 함수를 decltype의 식에 사용할 수 있게 하는 템플릿 함수
예외가 발생하여 중간에 함수를 빠져나가도 해당 예외를 처리할 수 있는 catch 문을 만나면 그 사이의 있는 스택 정보가 자동으로 순서대로 정리
전달된 식의 값 종류에 따른 타입을 컴파일 타임에 추론하여 치환
()가 함수 정의인지 호출인지 초기화인지 헷갈리는 기존의 문제를 해결
auto는 C++11, register는 C++17에서 삭제
객체 이동이 일어나므로 한번만 get 가능
a부터 c까지의 데이터 중에 b 까지만 정렬
생성자의 인자로 전달된 함수를 객체 생성 즉시 실행
C++: 자료구조에 관한 설정과 사용 방법.
산술 연산들을 원자적으로 수행해주는 템플릿 클래스
placeholders::\x를 이용해 전달된 인자 중 x번째에 있는 값을 bind
C++: mem_fn에 관한 핵심 개념과 사용 예제.
Callable 대상(일반 함수, 멤버 함수, 람다, …)을 저장, 복사, 호출 가능
이동은 가능하지만 복사나 공유는 불가
변수(auto &&)나 인자(템플릿 인자 - T &&)가 r-value reference(&&) 형태이며 타입 추론이 필요한 레퍼런스
l-value는 l-value로 r-value는 r-value로 전달해야하는 경우
하나 이상의 로컬 포트를 파드로 전달
C++: is_move_assignable에 관한 핵심 개념과 사용 예제.
kubeconfig를 이용하여 접근 구성
makemoveiterator 함수를 이용하여 생성
일반적으로 복사 생성자 보다 이동 생성자가 빠르므로 상황에 따라 move 함수를 이용해 이동 생성자가 호출되도록 사용
C++: 이동 생성자에 관한 핵심 개념과 사용 예제.
locator 혹은 left의 약자로 메모리 위치를 참조할 수 있는 값을 의미
가상 함수가 다른 가상 함수를 오버라이드 함을 지정
isfinalv는 C++17부터 지원
파생 클래스에서 가상 함수를 재정의 불가 혹은 클래스를 파생 불가하도록 지정
NULL은 0으로 define되어 있는 키워드이므로 숫자 0을 의미하는지 포인터 값 0을 의미하는지 구분 불가
복사가 생략가능한 경우에 컴파일러 단계에서 복사 생략
OpenCensus를 지원하는 백엔드
해당 함수에서 예외 발생 시 catch 되지 않고 크러쉬
모든 변수에 대해 암시적으로 레퍼런스 캡쳐
C++: auto에 관한 핵심 개념과 사용 예제.
쿠버네티스 전용 서비스 메시 — CNCF Graduated Project
문자 시퀀스를 저장하고 조작하는 클래스
컴파일러에게 함수 호출 대신 호출 부분을 함수 내용으로 대체할 것을 요청
const 함수에서 멤버 변수의 값 변경이 필요한 경우 사용
C++: explicit에 관한 핵심 개념과 사용 예제.
특수화를 지원하지 않고 오버로딩으로 해결
런타임에 다형성을 만족하는 파생 클래스 사이에서의 up/down cast
C++: 동적 바인딩에 관한 핵심 개념과 사용 예제.
이름은 같지만 매개변수의 타입 혹은 개수가 다른 함수
다른 클래스나 함수에서 private 멤버에 대한 접근이 필요할 때 사용(단방향)
연관된 일련의 클래스들에 대해 공통적인 규약 정의
프로그램 실행 시 생성되어 종료 시 소멸
C++: const에 관한 핵심 개념과 사용 예제.
생성자를 정의하지 않았을 경우 자동으로 생성되는 생성자
별명에 변수가 붙으면 해당 별명은 다른 변수로 변경 불가
메모리 할당과 초기화를 분리하기 위한 기법
런타임 시점에 프로세스의 힙 영역에 메모리 공간을 할당
이름 없는 네임스페이스의 경우 static을 사용한 것처럼 해당 파일에서만 접근 가능
C++: 반복문에 관한 핵심 개념과 사용 예제.
C++: Hello, World!에 관한 개념과 주요 특징.
C++: 조건문에 관한 핵심 개념과 사용 예제.
C++: 파일 입출력에 관한 핵심 개념과 사용 예제.
어셈블리 코드들을 기계어로 이루어진 목적 코드로 변환
C++: 표준 입출력에 관한 핵심 개념과 사용 예제.
Bjarne Stroustrup가 객체 지향적인 언어인 Simula의 컨셉을 C언어에 접목
C++: 기본 자료형에 관한 핵심 개념과 사용 예제.
사전에 정의된 정보를 수집하여 특정 상황에 대해 경고 발생
마이크로서비스 기반 분산 시스템을 위한 오픈소스 분산 추적 시스템(distributed tracing system)
전체적으로 보았을 때는 최적의 해는 아닐 수 있음
모든 경우의 수를 전부 고려하는 알고리즘
Docker 데몬(dockerd)은 HTTP RESTful API(Docker Engine API)를 통해 모든 기능을 제어
트리나 그래프에서 한 루트로 탐색하다가 특정 상황에서 최대한 깊숙이 들어가서 확인한 뒤 다시 돌아가 다른 루트로 탐색하는 방식
갈림길에 연결되어 있는 모든 길을 한번씩 탐색한 뒤 다시 연결되어 있는 모든 길을 탐색
Operator는 사용자 지정 리소스를 사용하여 어플리케이션 및 해당 구성 요소를 관리하는 Kubernetes의 소프트웨어 확장
복잡한 문제를 간단한 여러 개의 문제로 나누어 해결
데이터들이 주어졌을 때 이를 정해진 순서대로 나열
설계를 할 때 자주 발생하는 문제들을 해결하기 위해 사용되는 패턴
객체라는 기본 단위로 나누고 객체간의 상호작용을 서술하는 방식
어플리케이션을 느슨하게 결합된 서비스의 모임으로 구조화하는 서비스 지향 아키텍처(SOA) 스타일의 일종인 소프트웨어 개발 기법
하이브리드, 멀티 클라우드 환경에서 애플리케이션을 더 쉽고 빠르게 제공하고 관리하는 플랫폼
C++ 자동 헤더 추가/삭제해주는 플러그인
vim 실행 후 :PlugInstall 입력
Elasticsearch: Query와 Filter의 차이에 관한 설정과 사용 방법.
검색 요청 시 runtime fields 정의
리인덱싱하지 않고 기존 문서에 필드 추가 가능
scriptfields를 이용하여 스크립트 기반의 검색 가능
Kubernetes를 커널로 사용하는 클라우드 네이티브 분산 운영 체제
nodeunameinfo 메트릭에는 nodename 라벨 존재
밴쿠버의 한 법률 회사에서 주4일제를 도입
상태를 저장하지 않거나 데이터베이스에 저장
1개가 N개인 것처럼 동작하는 아키텍처
파드와 레플리카셋에 대한 선언적 업데이트 제공
Kubernetes 네이티브 스토리지 솔루션 — 오픈소스, CNCF Sandbox 프로젝트
Vim에 대한 Go 언어 지원을 추가하는 플러그인
Vim에 대한 코드 자동 완성 엔진을 추가하는 플러그인
2020.12.08, Red Hat은 RHEL(Red Hat Enterprise Linux)의 downstream version인 CentOS 개발 중지를 발표
2021-12-03 릴리스 — RHEL 9의 upstream rolling preview 배포판
소프트웨어 구축, 테스트, 배포를 자동화하는 독립형 오픈 소스 자동화 서버
클라우드 네이티브 카오스 엔지니어링 플랫폼
최소 몇 년전부터의 개발 트랜드는 ‘개발자는 너희만의 서비스에 집중해 나머지는 우리가 다 해줄게’라고 생각한다.
워크플로우의 각 단계는 컨테이너 레벨에서 수행
일반적인 방식으로 이벤트 데이터를 설명하기 위한 사양
셸: 자동 완성에 관한 설정과 사용 방법.
OpenSSL: tls 확인에 관한 설정과 사용 방법.
OpenSSL/telnet: smtp starttls 테스트에 관한 설정과 사용 방법.
OpenSSL: 빌드 방법에 관한 설정과 사용 방법.
부스트로 시작하여 표준에 포함되는 경우가 적지 않음
IT 업계에서도 Black Lives Matter에 대한 움직임을 보임
password가 평문으로 노출되므로 보안 관련 유의 필요
git log를 이용하여 변경 확인
containercpuusagesecondstotal를 irate 해서 node/namespace/pod/container label로 sum한 값
Kubernetes: Klog에 관한 설정과 사용 방법.
Fluentd는 현시간 기준 CNCF의 Graduated Project로 인정받을 정도로 cloud 환경에 조금 더 최적화 되었다고 볼 수 있음
DevOps라고 말하면 ‘개발자가 기획, 개발, 테스트, 설치, 운영 등 이것 저것 다 하는 것’이라고 생각하는 사람들이 많은 것 같다.
다른점은 string type이고 자동 생성 시 UUID 형태
Prometheus(remote write) -> Metricbeat -> Elasticsearch 구성
terms에 size를 지정하지 않으면 10개만 출력
mappings를 수정하거나 index 이름을 변경하거나 다른 서버의 데이터를 가져와야할 경우 사용
Elasticsearch 매트릭 정보들을 제공하는 Prometheus exporter
스케줄에 따라 주기적 혹은 특정 시간에 job을 실행
control-plane node에 pod를 생성할 경우 Pending 상태에서 진행 불가
배열 형태의 데이터에 대해 개별 query 및 aggregations을 하기 위한 필드 타입
Metricbeat에서 해당 주소를 LISTEN하고 prometheus가 주기적으로 해당 주소로 출력
실시간 파이프라이닝 기능을 갖춘 오픈 소스 데이터 수집 엔진
Elasticsearch 데이터의 시각화 및 Elastic Stack의 탐색 지원
Elastic: Filebeat에 관한 설정과 사용 방법.
경량화 된 단일 목적의 데이터 수집기
텍스트 역색인(inverted index) 사용
Elastic: The Elastic Stack에 관한 설정과 사용 방법.
사용자가 실시간으로 시계열 데이터를 선택하고 집계 할 수 있는 쿼리 언어
오픈 소스 시스템 모니터링 및 경고 툴킷
Pod를 네트워크 서비스로 노출하는 방법
pod를 명시된 수 만큼 복제 및 관리
ReplicaSet/Pod 관리(업데이트, 롤백, …)
key-value 형태로 데이터를 저장하는 API 오브젝트
리소스를 추가한 파드를 생성하여 기존 파드를 대체
한 장비에서 멀티 노드까지 테스트 가능(–vm-driver 옵션에 따라 다름)
Kubernetes: kubevirt에 관한 설정과 사용 방법.
Kubernetes: kubectl 명령어에 관한 설정과 사용 방법.
Docker: Docker Registry에 관한 설정과 사용 방법.
배포, 스케일링, 그리고 컨테이너화된 애플리케이션의 관리를 자동화 해주는 오픈 소스 컨테이너 오케스트레이션 엔진
분산 애플리케이션에 투명하게 계층화되는 오픈 소스 서비스 메시
마이크로 서비스의 문제(보안, 트래픽 제어, 관찰 가능성)를 소프트웨어 레벨이 아니라 인프라 레벨에서 해결하기 위한 아키텍쳐
Linux: 특정 cpu 코어에서 프로세스 실행에 관한 설정과 사용 방법.
Linux: 파일에 접근하는 프로세스의 PID 표시에 관한 설정과 사용 방법.
FreeBSD에서 실행 중인 프로세스를 이름으로 찾는 명령어입니다.
C++ 정적 분석 도구 후보인 Flawfinder와 cppcheck를 정리합니다.
데이터베이스 접속 도구를 찾을 때 참고하는 HeidiSQL 링크입니다.
현재 실행중인 쿼리 등을 볼 때 사용
MySQL과는 다르게 기준 컬럼을 지정 불가
MySQL: 외래키 제약 조건 끄기에 관한 설정과 사용 방법.
설정만 하고 적용을 하지 않으면 적용되지 않음
MySQL에서 사용자 계정을 생성하는 SQL 예제를 정리합니다.
mysql -u [userId] -p [password] [DB명] < dbbackup.sql
git 저장소 안에 다른 git 저장소를 디렉토리로 분리해 넣는 방법
dnf로 dig와 scp 명령에 필요한 패키지를 설치하는 기록입니다.
SSH known_hosts에 저장된 특정 호스트 기록을 정리하는 메모입니다.
Linux: rpm에 관한 설정과 사용 방법.
Linux: 리눅스 명령어에 관한 설정과 사용 방법.
Linux: IP를 통해 국가코드를 알아내는 방법에 관한 설정과 사용 방법.
소스 코드를 찾아보기 위한 개발자 도구
현재 사용자의 crontab을 조회하고 편집하는 명령어입니다.
Linux: 크롬 설치에 관한 설정과 사용 방법.
Linux: 시스템 소켓 버퍼 사이즈 최대 값 변경에 관한 설정과 사용 방법.
2019-09-24 릴리스 / 2021-12-31 지원 종료(EOL)
쉘을 입력하지 않은 경우 /sbin/sh로 설정되어 로그인이 정상적으로 되지 않을 수 있음
HP-UX는 depot(.depot) 이라는 독자적인 패키지 포맷을 사용
HP-UX의 GCC 컴파일 옵션에 관한 환경별 기록입니다.
AIX에서 시스템 정보 조회와 디버깅에 사용하는 명령을 정리합니다.
암호화를하면 암호화된 문자열 중간에 끝을 의미하는 \0이 들어갈 수 있음
0 : status line 을 보여주지 않음
관리자, 기획자, 개발자, QA, 기술지원팀 간에 효율적인 의사소통을 하는 것이 목적
디버깅: gdb 사용법에 관한 설정과 사용 방법.
구조적 데이터 질의 언어(Structured Query Language)