categories

programming-language

[Go] unique package

less than 1 minute read

October 09 2024

개요 go1.23.0부터 사용 가능 Documentation 비교 가능한 값을 표준화(interning, hash-consing)하기 위한 기능을 제공 type Handle[T comparable] struct T 유형의 일부 값에 대한 전역적으...

[Go] maps package

2 minute read

October 08 2024

개요 Documentation 모든 유형의 map에 유용한 다양한 함수를 정의 All Clone Collect Copy DeleteFunc Equal EqualFunc Inser...

[Go] slices package

7 minute read

October 07 2024

개요 Documentation 모든 유형의 슬라이스에 유용한 다양한 함수를 정의 All AppendSeq Backward BinarySearch BinarySearchFunc Chunk C...

[Dart] 클래스 제한자

less than 1 minute read

June 18 2024

개요 class 키워드 앞에 명시 해당 클래스를 사용하는 파일이 아닌 다른 파일에 선언해야 동작 base base 클래스의 기능을 강제하는 제한자 해당 클래스는 상속만 가능 자식 클래스는 base, final 또는 sealed ...

[Dart] 구조 분해

less than 1 minute read

June 17 2024

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

[Dart] 레코드

less than 1 minute read

June 16 2024

개요 정의 개수 제한 없음 포지셔널 파라미터 타입 순서를 반드시 지켜야함 특정 순서의 레코드를 가져올 땐 $을 이용 네임드 파라미터 이름으로 구분 순서 상관 없음

[Dart] 커스텀 스트림

less than 1 minute read

June 15 2024

개요 async*로 함수를 선언하고 yield 키워드로 값을 반환

[Dart] 스트림

less than 1 minute read

June 13 2024

개요 지속적으로 값을 반환 받을 때 사용 한번만 listen() 실행 가능 dart:async 패키지 필요

[Dart] Future/async/await

less than 1 minute read

June 12 2024

개요 Future 미래값을 표현하는 클래스 반환값을 딱 한번 받아내는 비동기 프로그래밍에 사용 async 비동기 함수를 정의 Future를 반환해야 함 await 키워드를 사용한 함수는 ...

[Dart] 캐스케이드 연산자

less than 1 minute read

June 11 2024

개요 해당 인스턴스의 속성이나 멤버 함수를 연속해서 사용하는 기능 .. 기호를 사용

[Dart] 스태틱

less than 1 minute read

June 10 2024

개요 변수나 메소드가 클래스의 인스턴스가 아닌 클래스 자체에 귀속 클래스에 귀속되므로 생성자에서 값 지정 불가 인스턴스끼리 공유해야하는 정보에 사용

[Dart] 제네릭

less than 1 minute read

June 09 2024

개요 클래스나 함수의 정의를 선언할 때가 아니라 인스턴스화하거나 실행할 떄로 미룸 특정 변수의 타입을 하나의 타입으로 제한하고 싶지 않을 때 자주 사용

[Dart] 추상

less than 1 minute read

June 08 2024

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

[Dart] 믹스인

less than 1 minute read

June 07 2024

개요 특정 클래스에 원하는 기능들만 골라 놓을 수 있는 기능 특정 클래스를 지정해서 속성들을 정의 지정한 클래스를 상속하는 클래스에서도 사용 가능 한개의 클래스에 여러 개의 믹스인 적용 가능 mixin, with 키워드를 사용 on 키워드로 사용할 수 있는 ...

[Dart] 인터페이스

less than 1 minute read

June 06 2024

개요 인터페이스를 지정하는 키워드 없음 상속과 다른점 적용 개수 제한 없음 모든 기능 재정의 필요

[Dart] 상속

less than 1 minute read

June 04 2024

개요 extends 사용

[Dart] 클래스

less than 1 minute read

June 03 2024

개요 클래스 일종의 설계도 인스턴스 클래스를 이용해서 선언된 객체 인스턴스화 클래스에서 인스턴스를 생성하는 과정 네임드 생성자 클래스를 생성하는...

[Dart] 에러 핸들링

less than 1 minute read

June 02 2024

예제 코드 void main() { try { print(1); throw Exception('message'); print(2); } catch (e) { print(e); ...

[Dart] typedef

less than 1 minute read

June 01 2024

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

[Dart] 함수

less than 1 minute read

May 31 2024

개요 positional 매개변수 입력된 순서대로 값이 지정 Optional positional 매개변수 매개변수들의 세트를 []로 감싸는 것 Named 매개변수 void func(...

[Dart] 반복문

less than 1 minute read

May 30 2024

예제 코드 void main() { for (int i = 0; i < 3; ++i) { print(i); } print("\n"); List<int> list = [1, 2, 3]; ...

[Dart] 조건문

2 minute read

May 29 2024

개요 switch 표현식 함수처럼 사용하여 값을 반환 패턴 매칭 복잡한 조건 사용 가능 엄격한 검사 ...

[Dart] 연산자

less than 1 minute read

May 28 2024

개요 종류 연산자     산술 +, -, *, /, %, ++, – ...

[Dart] 열거형

less than 1 minute read

May 27 2024

개요 변수의 값을 몇가지 옵션으로 제한

[Dart] 컬렉션

1 minute read

May 26 2024

개요 여러 값을 하나의 변수에 저장할 수 있는 타임 서로의 타입으로 형변환 가능 List, Set, Map

[Dart] 상수

less than 1 minute read

May 25 2024

개요 final 런타임 상수 const 빌드 타임 상수

[Dart] 파일 입/출력

less than 1 minute read

May 24 2024

예제 코드 import 'dart:io'; void main() { const fileName = 'test.txt'; var file1 = File(fileName); file1.writeAsStri...

[Dart] 표준 입/출력

less than 1 minute read

May 23 2024

예제 코드 import 'dart:io'; void main() { var str = stdin.readLineSync(); stdout.write(str); stdout.write('\n'); p...

[Dart] 변수

less than 1 minute read

May 22 2024

개요 타입 추론 기능 제공 컴파일 시 추론된 타입으로 치환 var 추론된 타입 고정 dynamic 다른 타입 저장 가능

[Dart] 기본 자료형

less than 1 minute read

May 21 2024

개요 문자열 String 정수 int 실수 double 불리언 bool

[Dart] 개요

less than 1 minute read

May 20 2024

Dart? 사이트 구글이 개발한 멀티 플랫폼 프로그래밍 언어 모바일, 데스크톱, 서버, 웹 앱 용도에 사용 구조적이지만 유연하고 프로그래머들에게 자연스럽고 다양한 종류의 기기에서 동작되도록 하는 것이 목적 크로스플랫폼 앱 프레임워크인 Flutter가 사용

[Go] finalizer

less than 1 minute read

March 01 2024

개요 일반적으로 finalizer 함수는 해당 오브젝트가 가비지 컬렉션되기 전에 실행 하지만 실행이 보장되지 않으므로 오브젝트의 소멸자로 사용하는 것은 의도하지 않은 동작을 초래 finalizer에서 리소스가 해제된다면 버그라고 볼 수 있음 리소스 릭을 최소화하거나...

[Go] MinIO

less than 1 minute read

February 17 2024

code

[Go] 암호화

less than 1 minute read

February 15 2024

DSA, ECDSA, ED25519, RSA code

[Go] lock

less than 1 minute read

February 10 2024

mutex, mutex by key code

[Go] JSON

less than 1 minute read

February 08 2024

code

[Go] S3

less than 1 minute read

February 04 2024

code

[Go] 압축

less than 1 minute read

February 02 2024

GZIP, TAR, ZIP code

[Go] Gemini

less than 1 minute read

February 01 2024

API 키 설정 code

[Rust] 안전하지 않은 러스트

2 minute read

September 19 2023

개요 메모리 안전성 보장을 강제하지 않는 숨겨진 내부의 두번째 언어 빌림 검사기 혹은 다른 어떤 러스트의 안전성 검사 기능을 끄는 것은 아님 코드가 필연적으로 위험하다던가 절대적으로 메모리 안전성 문제를 가지고 있음을 의미하는 것이 아님 코드가 올바른 방법으로 메모...

[Rust] 패턴

7 minute read

September 18 2023

개요 단순하거나 복잡한 타입의 구조에 값들을 비교하기 위한 문법 match 표현 및 다른 구문들과 함께 사용하면 더 많은 흐름 제어 가능 패턴은 다음의 조합으로 이루어짐 리터럴 값(Literals) 분해한 배열(Array), 열거형(Enu...

[Rust] 다형성

less than 1 minute read

September 17 2023

예제 코드 trait Job { fn job(&self); } struct A {} impl Job for A { fn job(&self) { print...

[Rust] 뮤텍스

less than 1 minute read

September 16 2023

개요 타입 시스템과 소유권 규칙으로 인해 락 사용의 안정성 보장 예제 코드 use std::sync::{Arc, Mutex}; use std::thread; use std::time::Duration; f...

[Rust] 채널

less than 1 minute read

September 15 2023

개요 Go의 채널과 유사 송/수신 채널을 지님 예제 코드 use std::sync::mpsc; use std::thread; fn main() { let (tx, rx) = mpsc::chann...

[Rust] 동시성

less than 1 minute read

September 14 2023

개요 소유권과 타입 시스템이 메모리 안전성 및 동시성 문제를 관리하는 것을 돕기 위한 강력한 도구들의 집합 많은 동시성 에러들이 런타임이 아닌 컴파일 시점에 감지 가능 thread::spawn 함수를 이용 반환 타입 JoinHandle ...

[Rust] 스마트 포인터

4 minute read

September 13 2023

개요 추가적인 메타데이터와 능력들도 가지고 있는 포인터 참조자가 데이터를 오직 빌리기만 하는 포인터 스마트 포인터는 그들이 가리키고 있는 데이터를 소유 Deref, DerefMut와 Drop 트레잇을 구현한 구조체를 이용하여 구현 Deref ...

[Rust] 문서화 주석

less than 1 minute read

September 12 2023

개요 주석을 포함하는 항목을 문서화 //!를 이용 크레이트의 루트 파일이나 크레이트 혹은 모듈 전체를 문서화하는 모듈 내부에 작성 주석뒤에 오는 항목에 대해 문서화 ///를 이용 마크다운 표...

[Go] cmp

less than 1 minute read

September 12 2023

개요 1.21.0부터 지원

[Rust] 반복자

1 minute read

September 11 2023

개요 Iterator 트레잇을 구현 iter() 반복자 반환 into_iter() 소유권을 갖는 반복자 반환 iter_mut 가변 참조 반복자 반환 예제 ...

[Go] slog

1 minute read

September 11 2023

개요 1.21부터 지원

[Go] min, max

less than 1 minute read

September 11 2023

개요 1.21부터 지원

[Go] clear

less than 1 minute read

September 11 2023

개요 1.21부터 지원 예제 코드 package main import "fmt" func main() { m := make(map[string]int) m[...

[Rust] 클로저

1 minute read

September 10 2023

개요 변수에 저장하거나 다른 함수에 인자로 넘길 수 있는 익명 함수 호출되는 스코프로부터 변수 캡처 가능 move 소유권을 갖도록 강제 let equal_to_x = move |z| z == x; 클로저 반환 ...

[Rust] 환경 변수

less than 1 minute read

September 09 2023

예제 코드 use std::env; fn main() { println!("{}", env::var("TEST").is_err()); println!( "{}", ...

[Rust] 커맨드 라인 인자

less than 1 minute read

September 08 2023

개요 첫 번째 값은 프로그램의 경로 예제 코드 use std::env; fn main() { let args: Vec<String> = env::args().collect(); p...

[Rust] 테스트

1 minute read

September 07 2023

개요 test 속성을 어노테이션하는 함수 매크로 assert! true이면 통과 아니면 패닉 발생 assert_eq! 같으면 통과 아니면 패닉 발...

[Rust] 라이프타임

2 minute read

September 06 2023

개요 해당 참조자가 유효한 스코프 주목적은 댕글링 참조자(dangling reference) 방지 라이프 사이클을 변경하지 않음 제네릭이 여러개의 인자에 타입을 연관 짓는 것 처럼 여러 개의 참조자 간에 라이프타임을 연관 짓는 것 빌림 검사기(borrow che...

[Rust] 트레잇

3 minute read

September 05 2023

개요 다른 언어의 인터페이스와 유사 트레잇 혹은 타입이 우리의 크레이트 내의 것일 경우에만 해당 타입에서의 트레잇을 정의 가능 오버라이딩된 구현으로부터 기본 구현을 호출하는 것은 불가능 트레잇 바운드(trait bounds) 제네릭 타입 파라미터...

[Rust] 제네릭

less than 1 minute read

September 04 2023

예제 코드 #[derive(Debug)] enum Test1<T> { I(i32), T1(T), } #[derive(Debug)] struct Test2<T1, T2> { ...

[Rust] 에러 처리

1 minute read

September 03 2023

개요 복구 불가능한(unrecoverable) 에러 panic!을 이용 기본적으로 되감기(unwinding) 수행 그만두기(abort)를 원할 경우 Cargo.toml 파일의 [profile] 섹션에 panic = 'abort'를 추가...

[Rust] 컬렉션

2 minute read

September 02 2023

개요 문서 힙에 저장 벡터 여러 개의 값을 연속적으로 저장 접근 방법 [] 유효하지 않은 인덱스 일 경우 panic 발생 ...

[Rust] 열거형

1 minute read

September 01 2023

개요 구조체와 유사하게 다양한 타입과 메소드를 가질 수 있음 Option 값이 있거나 없는 경우를 나타내는 열거형 Rust는 null 개념이 없고 Option을 사용 null 값을 null 이 아닌 값처럼 사용하려는 실수를 방지 예제 코드 ...

[Rust] 구조체

1 minute read

August 31 2023

개요 필드 초기화 축약법(field init shorthand) 변수명과 구조체의 필드명이 같을 경우 변수명만으로 초기화 가능 구조체 갱신법(struct update syntax) .. 구문을 사용하여 기존 구조체의 값...

[Rust] 소유권

4 minute read

August 30 2023

개요 가비지 콜렉터 없이 메모리 안정성 보장 컴파일 타임에 컴파일러가 체크할 규칙들로 구성된 소유권 시스템을 통해 메모리 관리 런타임 비용이 발생하지 않음 참조자(references) &를 사용하여 값을 참조하지만 소유하지는 않는 참조자를...

[Rust] 반복문

less than 1 minute read

August 29 2023

개요 loop, while, for 제공 loop 에서 반환 가능 예제 코드 fn main() { let mut i = 1; loop { if i == 0 { ...

[Rust] 조건문

less than 1 minute read

August 28 2023

예제 코드 fn main() { let i = 1; if i == 1 { println!("{}", 1); } else if i == 2 { println!("{}...

[Rust] function

less than 1 minute read

August 27 2023

개요 반환 시 표현식(구문과는 다르게 세미 콜론이 없는) 혹은 return 사용 함수 포인터 fn 타입 예제 - 개요 코드 fn f1() { println!("f1 call"); ...

[Rust] 표준 입/출력

less than 1 minute read

August 26 2023

예제 코드 use std::io; fn main() { let mut s = String::new(); match io::stdin().read_line(&mut s) { ...

[Rust] 데이터 타입

2 minute read

August 25 2023

개요 스칼라 하나의 값으로 표현되는 타입 정수형, 부동소수점 숫자, boolean, 문자 컴파운드 같은 타입 혹은 다른 타입의 다양한 값들을 하나의 타입으로...

[Go] 제네릭

less than 1 minute read

August 25 2023

개요 1.18 부터 지원 예제 코드 package main import "fmt" type Test[T int | string] struct { t1 T t2 T } ...

[Rust] 변수

less than 1 minute read

August 24 2023

개요 기본적으로 불변성 mut를 통해 가변성 변수 선언 가능 불변성 변수의 경우 let을 통해 shadowing(같은 이름의 다른 타입) 가능 예제 코드 fn main() { let a = 1; pri...

[Rust] 명명 규칙

less than 1 minute read

August 23 2023

개요 타입은 UpperCamelCase, 값은 snake_case 사용

[Rust] Cargo

less than 1 minute read

August 22 2023

개요 빌드 시스템 및 패키지 매니저 명령어 크레이트(crate) 생성 및 초기화 라이브러리 cargo new ${project name} --lib 바이너리 ...

[Rust] 개요

less than 1 minute read

August 21 2023

Rust? 모든 사람이 안정적이고 효율적인 소프트웨어를 구축할 수 있도록 지원하는 언어 컴파일 rustc main.rs 릴리스 노트 Hello, World! 코드 fn main() { println!...

[Rust] 목차

less than 1 minute read

August 20 2023

개요 Cargo 문법 명명 규칙 변수 데이터 타입 표준 입/출력 함수 조건문 반복문 소유권 구조체 열거형 컬렉션 에러 처리 제네릭 트레잇 라이프타임 테스트 커맨드 라인 인자 환경 변수 클로저 반복자...

[Go] long polling library

less than 1 minute read

June 08 2023

golongpoll GitHub subscription 클라이언트가 특정 이벤트를 받기 위해 요청 요청 메소드 GET ...

[C++] format

less than 1 minute read

June 03 2023

개요 sprintf와 유사하나 문자열을 반환 GCC 13.1부터 지원

[Python] 유닛 테스트

less than 1 minute read

April 19 2023

개요 공식 문서 옵션 python -m unittest -h 메소드 setUpClass() 클래스의 테스트들이 실행되기 전에 한번 호출되는 클래스 메소드 ...

[Python] thread

1 minute read

April 17 2023

개요 공식 문서 daemon 플래그 데몬 스레드 여부 설정 True일 경우 데몬 스레드만 남았을 때 프로그램 즉시 종료 False일 경우 스레드가 종료될 때까지 대기 예제 코드 ...

[Python] MySQL

3 minute read

April 12 2023

개요 PyMySQL 이용 API Reference threadsafe 하지 않음(threadsafety = 1)) PreparedStatement 지원하지 않음 설치 pip install PyMySQL 예제 코드 ...

[Python] REST/HTTP API server/client

7 minute read

April 11 2023

REST 서버 Flask, Flask-RESTX 이용 Flask API Reference Flask-RESTX API Reference 설치 pip install Flask pip install flask-restx ...

[C++] MySQL

9 minute read

April 07 2023

개요 라이브러리 다운로드 threadsafe 하지 않음

[C++] 구조체/클래스 크기

1 minute read

March 30 2023

개요 구조체/클래스 메모리 할당 규칙 4의 배수 바이트 단위로 할당 선언 순서대로 할당 멤버 변수 중 가장 큰 멤버 변수 크기의 영향을 받음 가장 큰 멤버 변수 크기가 8바이트라 가정 ...

[C++] gcc 최신 버전 설치

less than 1 minute read

February 06 2023

linux dnf dnf install gcc-toolset-12 source /opt/rh/gcc-toolset-12/enable 소스 dnf install mpfr-devel libmpc-...

[Python] dir

less than 1 minute read

January 26 2023

개요 객체가 가지고 있는 메소드 출력

[C++] macro 함수와 inline 함수

less than 1 minute read

January 26 2023

개요 macro 함수 단순 치환 모든 인자에 괄호를 해주지 않으면 의도하지 않은 동작 발생 디버깅이 어려움 inline 함수 macro 함수의 단점을 보완한 함수 단순 치환이 아닌 일반 ...

[Python] iter

less than 1 minute read

January 25 2023

개요 iterable 객체를 인자로 받아 iterator 객체를 반환하는 함수 실제로는 iterable 객체의 iter 함수를 호출 next 함수를 통해 하나씩 꺼낼 수 있으므로 유연한 처리 가능 반복문 등의 경우 iterable 객체는 iterator 객체로 대체...

[C++] all_of, any_of, none_of

less than 1 minute read

January 25 2023

개요 all_of 범위가 비었거나 모두 참이면 true 반환 any_of 범위 요소중 하나라도 참이면 true 반환 none_of 범위가 비었거나 모두 거짓이면 true 반환 ...

[C++] void pointer, null pointer

less than 1 minute read

January 25 2023

개요 void pointer 데이터 형이 정해지지 않은 포인터 모든 타입의 데이터 할당이 가능하며 타입캐스팅을 통해 접근 C++17 환경이라면 any 사용 권장 null pointer 아무 것도 가...

[Python] 얕은 복사/깊은 복사

less than 1 minute read

January 24 2023

개요 copy 모듈의 deepcopy 함수를 이용하여 깊은 복사 가능 문자열, 튜플 같은 변경이 불가능한 객체는 얕은 복사, 리스트 같이 변경이 가능한 객체는 깊은 복사 수행

[Python] mutable/immutable

less than 1 minute read

January 23 2023

개요 mutable 객체 값의 수정이 가능한 객체(리스트, 딕셔너리) 값 수정 시 주소값이 달라지지 않음 immutable 객체 값의 수정이 불가능한 객체(문자열, 튜플) 값 수정 시 새로운 객체 ...

[Python] 가비지 컬렉션

less than 1 minute read

January 22 2023

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

[Python] 스페셜 메소드

less than 1 minute read

January 21 2023

개요 인터프리터에 의해서 호출되는 메소드 함수 앞뒤에 언더바를 두개씩 붙여서 정의 반복, 컬렉션, 문자열 등의 관련 함수 정의 가능 예시 __len__을 정의하면 len 함수 호출 가능

[Python] 컴프리헨션

less than 1 minute read

January 20 2023

개요 컴프리헨션 식을 이용하여 객체 생성 리스트, 집합, 딕셔너리 등의 객체 생성에 사용

[Python] 람다

less than 1 minute read

January 19 2023

개요 표현식 lambda args : expression 반환 시 return 키워드를 제외

[Python] 예외

less than 1 minute read

January 18 2023

예제 코드 if __name__ == "__main__": try: print(1) finally: print(2) print("\n------\n") try: pr...

[Python] class

less than 1 minute read

January 17 2023

개요 인스턴스 변수는 반드시 초기화를 해야하고 일반적으로 생성자를 이용 생성자 def __init__(self) 파이썬은 모든 것이 객체 정수나 실수로 내부적으로는 객체로 관리 인스턴스 메소드를 호출할 수...

[Python] dictionary

less than 1 minute read

January 16 2023

개요 map 다른 종류의 키와 값 저장 가능

[Python] 모듈

less than 1 minute read

January 15 2023

개요 import 방법 test 패키지에 func 함수가 있다고 가정 패키지 전체 import test 패키지명을 붙여서 사용(test.func()) 특정...

[Python] range

less than 1 minute read

January 14 2023

개요 범위를 지닌 객체를 반환하는 함수 range 객체를 이용하여 리스트나 튜플 생성 가능

[Python] tuple

less than 1 minute read

January 13 2023

개요 리스트와 유사하나 값 추가/수정 불가능 인덱싱/슬라이스/덧셈/곱셈 연산 가능 소괄호를 이용하거나 list, range 객체를 이용하여 생성 가능 자료형이 동일하지 않아도 상관 없음

[Python] 문자열

1 minute read

January 12 2023

개요 문자들의 집합 큰따옴표 혹은 작은따옴표로 묶어서 표현 덧셈 연산, 곱셈 연산, 인덱싱 연산, 슬라이싱 연산 가능 리스트와 달리 일부 내용 변경 불가 함수 len 길이 반환 ...

[Python] list

1 minute read

January 11 2023

개요 자료형이 동일하지 않아도 상관 없음 인덱스 값이 음수이면 반대로 접근(-1이면 마지막 요소) 함수 len 길이 반환 max 가장 작은 값...

[Python] type

less than 1 minute read

January 09 2023

개요 전달된 값의 타입 출력

[Python] 반복문

less than 1 minute read

January 08 2023

예제 코드 if __name__ == "__main__": for i in [0, 1, 2]: print(i, end=" ") print() print("------ 1") for i in [1, 3, 5]...

[Python] 조건문

less than 1 minute read

January 07 2023

예제 코드 if __name__ == "__main__": if True and True: print(1) if True or False: print(1) if not False: ...

[Python] eval/int/float

less than 1 minute read

January 06 2023

개요 evaluate(평가하다)의 약자 전달되는 문자열을 분석해서 적절한 처리 수행 함수 이름을 입력받으면 해당 함수를 호출 표준 입력 사용 시 의도하지 않은 함수 호출이 가능한 보안 취약점 발생 단순히 문자열을 숫자로 변환하려면 ...

[Python] 표준 입/출력

less than 1 minute read

January 05 2023

개요 입력 input 함수 이용 문자열 반환 출력 print 함수 이용 Python 3.0 부터는 소괄호 필수 마지막 문자는 기본적으로 개행문자이나 변경 가능

[Python] 함수

less than 1 minute read

January 04 2023

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

[Python] 변수

less than 1 minute read

January 03 2023

개요 변수에 객체가 저장되는 것이 아닌 포스트잇처럼 객체에 변수가 붙었다 떨어지는 느낌 동일한 객체를 갖는 서로 다른 변수는 같은 주소값을 갖음

[Python] 개요

1 minute read

January 02 2023

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

[Go] IP가 CIDR에 포함되는지 확인

less than 1 minute read

December 31 2022

설명 CIDR Classless Inter-Domain Routing 클래스 없는 도메인 간 라우팅 기법 192.168.1.0/24, 192.168.1.0/32, …

[Go] swag를 이용한 RESTful API 문서화

1 minute read

December 30 2022

설명 https://github.com/swaggo/swag Go 주석을 swagger 문서 2.0으로 변환 명령어 swag 설치 go install github.com/swaggo/swag/cmd/swag@late...

[Go] strconv

less than 1 minute read

December 28 2022

개요 기본 자료형과 문자열간의 변환을 구현한 패키지 예제 코드 package main import ( "strconv" ) func main() { println(strconv.Itoa(123)) println(strco...

[Go] 정렬

less than 1 minute read

December 28 2022

예제 코드 package main import ( "fmt" "sort" ) func main() { i := []int{1, 3, 2} println(sort.IntsAreSorted(i)) fmt.Println(i...

[Go] 시그널

less than 1 minute read

December 28 2022

예제 코드 package main import ( "fmt" "os" "os/signal" "syscall" ) func main() { signals := make(chan os.Signal) signal.Notify(s...

[Go] 환경 변수

less than 1 minute read

December 27 2022

개요 Getenv 특정 키의 환경변수 반환 없다면 빈 문자열 반환 Setenv 특정 키의 환경변수 설정 Environ 모든 환경변수를 반환 예제 ...

[Go] 자료형 출력

less than 1 minute read

December 27 2022

개요 값의 자료형을 반환 예제 코드 package main import ( "fmt" "reflect" ) func main() { fmt.Println(reflect.TypeOf(1)) fmt.Println(refl...

[Go] 문서화

1 minute read

December 26 2022

개요 주석을 통해 패키지 문서화 가능 go doc 명령어를 통해 출력 예제 표준 라이브러리 fmt 패키지 $ go doc fmt package fmt // import "fmt" Package ...

[Go] 코드 커버리지

less than 1 minute read

December 25 2022

개요 프로파일 생성 go test -cover -coverprofile=coverage.out . html 변환 go tool cover -html=./coverage.out -o ./coverage.html ...

[Go] 유닛 테스트

less than 1 minute read

December 24 2022

개요 go test 명령어를 이용 파일 이름은 xxx_test.go, 함수 이름은 Testxxx 형태여야 함 플래그 -v 결과 상세 출력 예제 코드 ...

[Go] 고루틴/채널/대기 그룹

2 minute read

December 23 2022

개요 고루틴(goroutine) 쓰레드와 유사 쓰레드보다 적은 메모리 사용 go 키워드 사용 채널(channel) 고루틴간의 데이터 송수신 및 동기화 chan 타입 사용 버퍼링...

[Go] 패닉 복구

less than 1 minute read

December 22 2022

개요 패닉 상태를 복구 패닉이 발생한 함수는 즉시 종료되지만 그 이후는 계속 실행 panic 함수에 전달된 값은 recover 함수가 반환 예제 코드 package main import "fmt" func wrapper() {...

[Go] 패닉

less than 1 minute read

December 21 2022

개요 panic 함수를 이용하여 패닉 발생 가능 일반적으로는 error로 처리해야하며 예상치 못한 에러에 대해서만 사용할 것을 권장 패닉 발생 시 스택 트레이스 출력 패닉이 발생해도 패닉 이전의 defer는 수행 예제 코드 package mai...

[Go] defer

less than 1 minute read

December 20 2022

개요 함수 반환 전에 특정 함수의 호출을 보장하는 키워드 예제 코드 package main func test1() { defer println("end") println(1) if true { return ...

[Go] 사용자 정의 타입

1 minute read

December 19 2022

개요 타입 정의 기본 자료형 hour, minute와 같이 기본 자료형 타입이지만 구분이 필요한 경우 사용 구조체 여러 타입의 값으로 구성된 값 ...

[Go] 인터페이스

less than 1 minute read

December 18 2022

개요 타입이 가져야하는 메소드들의 집합 타입 단언(type assertion) 인터페이스를 특정 타입으로 변환 두번째 반환 값을 통해 변환 성공 여부 확인 Stringer 인터페이스 문자열을 반환하는 St...

[Go] 맵

less than 1 minute read

December 17 2022

개요 키와 값이 하나의 쌍으로 저장되는 컬렉션 할당되지 않은 키에 접근하면 해당 타입의 제로값 반환 make 함수 혹은 맵 리터럴을 이용하여 생성 맵의 제로 값은 nil이며 슬라이스와 달리 빈 맵으로 동작하지 않음 두번째 반환 값을 통해 해당 키 값의 존재 여부...

[Go] 슬라이스

less than 1 minute read

December 16 2022

개요 동적 배열 내부 배열에 대한 뷰 make 함수 혹은 슬라이스 리터럴을 이용하여 이용하여 생성 슬라이스의 제로 값은 nil이며 빈 슬라이스인 것처럼 처리하므로 nil 체크 코드 불필요 append 함수를 이용하여 원소 추가 일반적으로 반환...

[Go] 배열

less than 1 minute read

December 15 2022

개요 선언과 동시에 초기화 하지 않으면 제로값으로 초기화 예제 코드 package main import "fmt" func main() { var a1 [3]int a1[0] = 1 a1[2] = 3 println(le...

[Go] 패키지

less than 1 minute read

December 14 2022

개요 코드의 모듈화 코드를 묶는 기본 단위 init 함수 패키지 로드 시 자동으로 호출되는 함수 alias import 시에 패키지 이름 지정 가능 init 함수만을 호출하기 위해서 혹은 동일 패키지 ...

[Go] 상수

less than 1 minute read

December 13 2022

개요 불변의 값 const 키워드 사용 선언과 동시에 초기화 필요 := 사용 불가

[Go] 포인터

less than 1 minute read

December 12 2022

개요 로컬 변수 반환 가능 스코프를 벗어나도 포인터를 가지고 있는 동안에는 유효 예제 코드 package main func func1(arg *int) { *arg += 1 } func func...

[Go] 가변 인자 함수

less than 1 minute read

December 11 2022

개요 임의 개수의 인자를 받을 수 있는 함수 타입 앞에 생략 부호(...)를 붙여서 선언 슬라이스 전달 시 뒤에 생략 부호(...)를 붙여서 전달 예제 코드 package main import "fmt" func variadi...

[Go] 함수

less than 1 minute read

December 10 2022

개요 pass by value 다중 반환 지원 빈 식별자(_)로 반환 값 무시 가능 타입이 연속적으로 같은 매개변수 정의 시 타입을 한번만 정의 가능

[Go] 반복문

less than 1 minute read

December 09 2022

예제 코드 package main import "fmt" func main() { for i := 0; i < 10; i++ { if i == 2 { continue } fmt.Print(i, " ") ...

[Go] 조건문

less than 1 minute read

December 08 2022

개요 if with initializer if문 안에서 초기화 가능 if문 안에서만 유효 error 반환 함수와 같이 if문 안에서만 사용하는 변수에 대해 사용 선언 여부를 신경 쓸 필요가 없어짐 예제 ...

[Go] 형식 동사

1 minute read

December 07 2022

개요 동사 설명 %d 십진수 %o 8진수...

[Go] 표준 입/출력

less than 1 minute read

December 05 2022

예제 코드 package main import "fmt" func main() { var i1 int var i2 int n, err := fmt.Scanln(&i1, &i2) if err != nil { ...

[Go] Hello, World!

less than 1 minute read

December 04 2022

예제 코드 package main import "fmt" func main() { fmt.Println("Hello, World!") } 실행 결과 Hello, World!

[Go] 타입 변환

less than 1 minute read

December 04 2022

예제 코드 package main import ( "fmt" "reflect" ) func main() { i := 1 fmt.Println(i) fmt.Println(float64(i)) fmt.Println(r...

[Go] go 명령어

less than 1 minute read

December 03 2022

개요 코드 포맷팅 표준 서식 적용 go fmt xxx.go 빌드 현재 디렉토리에 실행 파일 생성 go build xxx.go 실행 파일 설치 워크스페이스 bin...

[Go] 이름 규칙

less than 1 minute read

December 03 2022

개요 패키지 소문자만 사용 의미가 명확한 경우 축약어 사용 가능한 하나의 단어만 사용하고 둘 이상일 경우 밑줄 등으로 구분하지 말고 소문자 사용 변수, 함수 강제 ...

[Go] 릴리스 노트

2 minute read

December 02 2022

official 주요 변경 사항 버전 날짜 종류 설명 r56 201...

[Go] 변수

less than 1 minute read

December 02 2022

개요 값을 할당하지 않으면 제로 값으로 초기화 제로 값 정수/실수/룬 0 문자열 빈 문자열 부울 ...

[Go] 개요

less than 1 minute read

December 01 2022

Go? 구글의 엔지니어 로버트 그리즈머, 롭 파이크, 켄 톰프슨이 개발한 프로그래밍 언어 2009년 11월 10일 발표 단순함과 속도에 중점을 둔 프로그래밍 언어 장점 컴파일 속도 풍부한 라이브러리(json, http, …) 간결한 동시성 코드 ...

[Go] 기본 자료형

less than 1 minute read

December 01 2022

개요 정수 int, int8, int16, int32, int64 uint, uint8, uint16, uint32, uint64, uintptr 부동 소수점 float32, float64 ...

[Go] 목차

less than 1 minute read

December 01 2022

개요

[C++] exchange

less than 1 minute read

November 30 2022

개요 정의 template< class T, class U = T > T exchange( T& obj, U&& new_value ); obj의 값을 new_value로 변경하고 obj의 값을 반환

[C++] minmax_element

less than 1 minute read

November 30 2022

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

[C++] to_array

less than 1 minute read

November 29 2022

개요 array를 생성

[C++] minmax

less than 1 minute read

November 29 2022

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

[C++] feature testing

less than 1 minute read

November 28 2022

개요 reference C++11 이상에 도입된 C++ 언어 및 라이브러리 기능에 해당하는 일련의 전처리기 매크로를 정의 attributes __has_cpp_attribute( attribute-token ) attribute에 대한 컴...

[C++] copy_if

less than 1 minute read

November 28 2022

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

[C++] source_location

less than 1 minute read

November 27 2022

개요 파일 이름, 소스 라인 번호, 함수 이름 등 소스 코드에 대한 특정 정보를 나타내는 클래스 기존의 __LINE__, __FILE__ 등에 대한 더 나은 대안

[C++] copy_n

less than 1 minute read

November 27 2022

개요 n개의 요소를 복사

[C++] yield

less than 1 minute read

November 26 2022

개요 다른 스레드가 실행될 수 있도록 스케줄을 재조정 정확한 동작은 OS 스케줄러에 따름 sleep은 스레드를 일시정지 시키지만 yield은 실행 대기 상태를 유지

[C++] designated initializers

less than 1 minute read

November 25 2022

개요 구조체, 공용체 초기화 시 멤버 이름을 지정하여 초기화 가능 부분 초기화 가능 정의 선언 순서와 같아야 함

[C++] exception_ptr

less than 1 minute read

November 25 2022

개요 current_exception으로 던져지고 캡쳐된 예외 객체를 관리하는 포인터 다른 함수로 전달되거나 다시 throw 가능

[C++] erase/erase_if

1 minute read

November 24 2022

개요 erase 값이 같은 요소를 삭제하는 함수 삭제된 수를 반환 erase_if 조건을 충족하는 요소를 삭제하는 함수 삭제된 수를 반환

[C++] static_assert

less than 1 minute read

November 24 2022

개요 컴파일 타임에 assertion 검사 C++11 static_assert ( bool-constexpr , message ) C++17 static_assert ( bool-constexpr ) ...

[C++] is_bounded_array/is_unbounded_array

less than 1 minute read

November 23 2022

개요 is_bounded_array T가 범위가 정해진 배열 유형인지 확인 is_unbounded_array T가 범위가 정해지지 않은 배열 유형인지 확인

[C++] lerp

less than 1 minute read

November 22 2022

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

[C++] midpoint

1 minute read

November 21 2022

개요 정수, 부동 소수점 혹은 포인터 a와 b의 중간점을 반환 오버로드가 발생하지 않음 (a+b)/2 대신 a+(b-a)/2를 사용해도 오버로드가 발생하지 않음 a와 b가 정수 유형일 경우 합이 홀수인 경우 a쪽으로 반올림 a와 b...

[C++] bind_front

1 minute read

November 20 2022

개요 인자로 전달된 함수에 대한 전달 호출 래퍼를 생성하는 함수 bind_front C++20 함수의 첫번째 매개변수부터 바인드

[C++] endian

less than 1 minute read

November 19 2022

개요 스칼라 유형의 엔디안을 나타냄

[C++] remove_cvref

less than 1 minute read

November 18 2022

개요 상수성과 레퍼런스를 제거

[C++] ssize

less than 1 minute read

November 17 2022

개요 부호 있는 크기를 반환

[C++] span

less than 1 minute read

November 16 2022

개요 시퀀스의 첫 번째 요소가 0 위치에 있는 객체의 연속 시퀀스를 참조할 수 있는 객체 string_view와 같은 효과 발생 ‘int []’와 ‘array’, ‘vector’, …

[C++] jthread

1 minute read

November 15 2022

개요 thread와 일반적으로는 동일 destruction 시 자동으로 다시 join 특정 상황에서 중지 가능 공유 중지 상태를 유지하는 stop_source 타입의 private 멤버를 내부적으로 가짐 생성자는 stop_token을 첫 번째 인...

[C++] barrier

less than 1 minute read

November 14 2022

개요 알려진 크기의 스레드 그룹이 barrier에 도달할때까지 차단하는 스레드 조정 메커니즘 제공 소멸자를 제외한 멤버 함수를 동시 호출해도 데이터 경합 없음 latch와의 차이점 재사용 가능 스레드 그룹이 차단 해...

[C++] latch

less than 1 minute read

November 13 2022

개요 스레드를 동기화 하는데 사용하는 하향 카운터 카운터 값은 생성 시 초기화 카운터가 0으로 감소할 때까지 차단 barrier와 달리 재사용 불가 소멸자를 제외한 멤버 함수를 동시 호출해도 데이터 경합 없음 멤버 함수 count_down...

[C++] counting_semaphore/binary_semaphore

1 minute read

November 12 2022

개요 공유 리소스에 대한 접근을 제어하는 경량화 된 동기화 클래스 binary_semaphore는 크기가 1인 counting_semaphore 상호 배제보다 신호/알림에 자주 사용 condition_variable의 대안이면 종종 더 나은 성능 제...

[C++] ranges

1 minute read

November 11 2022

개요 reference 알고리즘 및 반복자 라이브러리에 대한 확장 및 일반화 구성 및 안정화 auto 혹은 ranged for와 같은 효과 | 연산자 오버로딩이 되어 있어 간결하고 직관적인 코드 작성 가능 정통적인 함수 호출 방식도...

[C++] three-way comparison

1 minute read

November 10 2022

개요 3방향 비교 연산자 우주선 연산자(spaceship operator)라는 별명이 붙음 ‘x <=> y’가 0보다 작으면 ‘x < y’, 크면 ‘x > y’, 같거나 동등하면 ‘x == y’ 동등 가로가 2, 세로가 3인...

[C++] consteval

less than 1 minute read

November 09 2022

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

[C++] owner_less

less than 1 minute read

November 09 2022

개요 값 기반이 아닌 소유자 기반 비교

[C++] constinit

less than 1 minute read

November 08 2022

개요 저장 기간이 정적 혹은 쓰레드인 변수가 컴파일 시점에 초기화됨을 보장 비상수이므로 const 선언 가능

[C++] uncaught_exception/uncaught_exceptions

less than 1 minute read

November 08 2022

개요 uncaught_exception C++11 현재 스레드에서 스택 해제가 진행 중이면 true, 아니면 false uncaught_exceptions C++17 현재 스레드에서 catch되지 ...

[C++] module

1 minute read

November 07 2022

개요 기능의 일부만을 포함시킬 수 있는 기능 컴파일 시간 대폭 감소 #include 이용 시 소스 파일마다 헤더 파일 내용 전체를 포함 module 이용 시 일부만 포함 가능되며 한번만 포함 export 하지 않는 이름은 변경하더라...

[C++] hypot

less than 1 minute read

November 07 2022

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

[C++] coroutines

6 minute read

November 06 2022

개요 일시정지가 가능한 함수 흐름 호출자가 코루틴 호출 코루틴은 일부 실행 후 일시중지(suspend)하고 리턴 호출자가 재개(resumed)하면 일시중지 된 부분부터 실행 일시중지와 재개를 반복 파괴(dest...

[C++] concepts

2 minute read

November 05 2022

개요 Named sets of such requirements 이름을 가진 요구사항의 집합 타입이 가져야 하는 요구사항을 정의하는 문법 제약 조건을 지정 템플릿 인자 변수 선언 제...

[C++] integral_constant

less than 1 minute read

November 03 2022

개요 지정된 유형의 정적 상수를 래핑 bool의 경우 true_type, false_type로 typedef 되어 있고 C++17에서는 bool_constant로 using 되어 있음 동일 유형에 대해 오버로딩 가능

[C++] is_invocable

less than 1 minute read

November 02 2022

개요 호출 가능 여부 확인

[C++] literals

2 minute read

November 02 2022

개요 표준 리터럴 종류 접미사 의미 버전 ...

[C++] attribute

5 minute read

November 01 2022

개요 타입, 객체, 코드 등에 대한 구현/정의 속성을 설명 문법 C++11 [[ attribute-list ]] C++17 [[ using att...

[C++] not_fn

less than 1 minute read

October 31 2022

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

[C++] to_chars/from_chars

1 minute read

October 30 2022

개요 to_chars 정수 혹은 부동 소수점 값을 문자 시퀀스로 변환 from_chars 문자 시퀀스를 정수 또는 부동 소수점 값으로 변환

[C++] data

less than 1 minute read

October 29 2022

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

[C++] empty/size

less than 1 minute read

October 28 2022

예제 코드 #include <iostream> #include <list> #include <string> #include <vector> using namespace std; template &l...

[C++] try_emplace/insert_or_assign

less than 1 minute read

October 27 2022

개요 try_emplace 컨테이너에 요소가 없는 경우 새 요소를 삽입 컨테이너에 요소가 있는 경우 변경하지 않음 insert_or_assign 컨테이너에 요소가 없는 경우 새 요소를 삽입 컨테이너...

[C++] merge

less than 1 minute read

October 26 2022

개요 다른 컨테이너의 노드를 연결

[C++] bool 출력

less than 1 minute read

October 26 2022

예제 코드 #include <iostream> using namespace std; int main() { cout << true << endl; cout << fa...

[C++] extract

less than 1 minute read

October 25 2022

개요 컨테이너에서 노드를 추출

[C++] 함수 정의 출력

less than 1 minute read

October 25 2022

개요 정의 출력은 __PRETTY_FUNCTION__, 이름 출력은 __func__

[C++] 자료형 출력

1 minute read

October 25 2022

개요 기본적으로는 typeid(T).name()를 이용 직관적인 출력을 원하는 경우 아래의 템플릿 함수 사용 // C++98 template <typename T> string type_name_of_98() { con...

[C++] inclusive_scan/exclusive_scan

1 minute read

October 24 2022

개요 현재 연산 결과가 다음 연산의 입력 exclusive_scan는 마지막 요소는 연산에서 제외

[C++] gcd/lcm

less than 1 minute read

October 23 2022

개요 gcd 최대 공약수 계산 lcm 최소 공배수 계산

[C++] clamp

less than 1 minute read

October 21 2022

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

[C++] uninitialized_move

less than 1 minute read

October 20 2022

개요 범위의 요소를 초기화되지 않은 메모리 영역으로 이동

[C++] destroy/destroy_at/destroy_n

1 minute read

October 19 2022

개요 destroy 범위의 객체를 파괴 destroy_at 객체를 파괴 destroy_n 범위의 시작부터 n개의 객체를 파괴

[C++] launder

less than 1 minute read

October 18 2022

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

[C++] includes

less than 1 minute read

October 17 2022

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

[C++] __has_include

less than 1 minute read

October 16 2022

개요 헤더/소스 파일을 포함 가능 여부 확인

[C++] conjunction/disjunction/negation

less than 1 minute read

October 15 2022

개요 conjunction and 연산을 효과적으로 수행 disjunction or 연산을 효과적으로 수행 negation 부정 연산 수행

[C++] void_t

less than 1 minute read

October 14 2022

개요 모든 유형을 void 유형으로 매핑하는 유틸리티 메타 함수 멤버 변수/함수의 존재 유무나 표현식의 유효성을 감지하는 데 사용

[C++] monotonic_buffer_resource

less than 1 minute read

October 13 2022

개요 리소스가 소멸될 때만 할당된 메모리를 해제하는 특수 목적 메모리 리소스 클래스 빠른 메모리 할당 가능 쓰레드 세이프 하지 않음

[C++] polymorphic_allocator

less than 1 minute read

October 12 2022

개요 다형성을 이용해 allocator는 polymorphic_allocator 하나를 쓰고 세부 구현은 memory_resource에 따라 동작 서로 다른 allocator를 사용하는 경우 assign이 불가한 문제를 해결

[C++] search

less than 1 minute read

October 11 2022

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

[C++] apply

less than 1 minute read

October 10 2022

개요 Callable 객체를 튜플 인수로 호출하는 함수 튜플 뿐만 아니라 get과 tuple_size를 지원하는 모든 것(pair, array)이 인수로 가능

[C++] scoped_lock

less than 1 minute read

October 09 2022

개요 n개의 mutex에 대해 잠금

[C++] any

1 minute read

October 08 2022

개요 복사 가능한 객체를 타입에 상관없이 담을 수 있는 클래스 typesafe void*라고 표현하기도 함 값을 변경하는 경우 기존 객체의 소멸을 보장 any_cast 함수로 접근 복사한 값을 반환하고 기존 객체 소멸 타입이 다를 경우...

[C++] variant

1 minute read

October 07 2022

개요 n개의 타입들 중 하나를 보관할 수 있는 클래스 반드시 객체를 들고 있어야하며 초기화하지 않을 경우 첫번째 타입의 디폴트 생성자를 호출한 객체를 가짐 monostate를 통해 아무것도 없는 상태 표현 가능 holds_alternative 함수를 이용하여 특정 ...

[C++] CTAD(Class Template Argument Deduction)

less than 1 minute read

October 06 2022

개요 템플릿 클래스 객체 생성 시 타입을 명시하지 않아도 컴파일러가 자동으로 템플릿 인자 타입을 추론 컴파일러가 템플릿 인자 추론 시 참조할 가이드를 제공 가능

[C++] optional

less than 1 minute read

October 04 2022

개요 존재유무를 관리할 수 있는 클래스 템플릿 레퍼런스를 저장하려면 reference_wrapper를 이용

[C++] string_view

less than 1 minute read

October 03 2022

개요 문자열을 소유하지 않고 읽기만 하는 클래스 문자열 포인터와 크기만을 가짐 객체 생성하지 않음 불필요한 복사 방지 두개의 오버로딩 함수(const char*, const string&)를 만들어야하는 문제 해결 ...

[C++] type alias

less than 1 minute read

August 23 2022

개요 기존의 typedef와 유사한 기능 장점 가독성

[C++] random

less than 1 minute read

August 22 2022

개요 난수 생성

[C++] common_type

less than 1 minute read

August 21 2022

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

[C++] constexpr

3 minute read

August 20 2022

개요 ‘상수(const) + 컴파일 시점에 값 평가 가능’함을 선언 상수 표현식에 사용 가능 constexpr로 선언되는 변수 혹은 함수의 리턴 타입은 리터럴 타입이여야 함 constexpr 변수 const와는 달리 컴파일 타임에 초기화가 가능해...

[C++] tuple

less than 1 minute read

August 19 2022

개요 서로 다른 n개의 타입의 값을 저장할 수 있는 클래스 템플릿 C++17의 경우 tie 대신 structured binding declaration를 통해 조금 더 간편한 바인딩 가능

[C++] declval

less than 1 minute read

August 18 2022

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

[C++] 문자열을 숫자키로 변환

less than 1 minute read

August 18 2022

개요 문자열을 숫자키로 변환 락 크기내에서 정해지므로 중복 가능 분배 등을 할 때 유용

[C++] decltype

1 minute read

August 17 2022

개요 전달된 식의 값 종류에 따른 타입을 컴파일 타임에 추론하여 치환 값 종류 l-value 이동이 불가능한 l-value T&로 추론 pr-value ...

[C++] stack unwinding

less than 1 minute read

August 17 2022

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

[C++] uniform initialization

1 minute read

August 16 2022

개요 {}를 사용하여 초기화 ()가 함수 정의인지 호출인지 초기화인지 헷갈리는 기존의 문제를 해결 암시적 변환 불가능 의도하지 않은 타입 캐스팅에 의한 동작을 컴파일 타임에 방지 {}는 initializer_list를 인자로 받는 ...

[C++] storage class specifiers

less than 1 minute read

August 16 2022

개요 static, thread_local, extern, mutable auto는 C++11, register는 C++17에서 삭제 저장 기간(Storage duration)과 링크 방식(Linkage) 지정 가능 저장 기간(Storage duration) ...

[C++] 알고리즘

2 minute read

August 15 2022

개요 sort stable_sort partial_sort partial_sort(a, b, c); a부터 c까지의 데이터 중에 b 까지만 정렬 remove, remove_if transform

[C++] promise, future, packaged_task, async

2 minute read

August 15 2022

개요 promise 복사 생성 불가 future 객체 이동이 일어나므로 한번만 get 가능 shared_future 복사가 가능하고 같은 객체를 공유 package...

[C++] 자료구조

3 minute read

August 14 2022

개요 array vector list deque set unordered_set multiset map multimap unordered_map

[C++] thread

1 minute read

August 14 2022

개요 단일 실행 스레드 생성자의 인자로 전달된 함수를 객체 생성 즉시 실행 spurious wakeup에 유의 멤버 함수 observers joinable() 조인...

[C++] atomic/memory order

less than 1 minute read

August 13 2022

개요 atomic 산술 연산들을 원자적으로 수행해주는 템플릿 클래스 원자적 연산 사이에 다른 연산을 수행하지 않음 기본 자료형에 대해선 atomic_xxx로 typedef ...

[C++] bind

less than 1 minute read

August 12 2022

개요 함수 객체 생성 시 인자를 지정 placeholders::_x를 이용해 전달된 인자 중 x번째에 있는 값을 bind 인자를 여러개 전달해도 bind된 인자 외에는 무시

[C++] mem_fn

less than 1 minute read

August 11 2022

개요 멤버 함수를 객체로 변환 람다로도 동일한 역할 가능

[C++] function

less than 1 minute read

August 10 2022

개요 다형성 함수 래퍼 Callable 함수뿐만 아니라 호출 가능한 것 들 Callable 대상(일반 함수, 멤버 함수, 람다, …)을 저장, 복사, 호출 가능

[C++] 스마트 포인터

2 minute read

August 09 2022

개요 자동으로 객체를 소멸해주는 포인터 unique_ptr 소유자가 하나인 포인터 더블 프리 방지 이동은 가능하지만 복사나 공유는 불가 복사 생성자가 명시적으로 삭제되었으므로 복사 불가 ...

[C++] 보편 참조

less than 1 minute read

August 08 2022

개요 변수(auto &&)나 인자(템플릿 인자 - T &&)가 r-value reference(&&) 형태이며 타입 추론이 필요한 레퍼런스 형태는 r-value reference지만 실제 의미는 l-value reference일 ...

[C++] 완벽한 전달

less than 1 minute read

August 07 2022

개요 l-value는 l-value로 r-value는 r-value로 전달해야하는 경우 wrapper 형태의 경우 r-value를 인자로 전달하면 변수 자체는 l-value이므로 l-value 함수가 호출 move를 사용하면 l-value도 r-value로 변환이 되므...

[C++] move_iterator

less than 1 minute read

August 05 2022

개요 복사가 아닌 이동되는 반복자 make_move_iterator 함수를 이용하여 생성

[C++] move/move_backward

less than 1 minute read

August 04 2022

개요 우측값으로 변환 일반적으로 복사 생성자 보다 이동 생성자가 빠르므로 상황에 따라 move 함수를 이용해 이동 생성자가 호출되도록 사용 move_backward 역순으로(마지막 요소가 먼저) 이동

[C++] l-value, r-value

1 minute read

August 02 2022

개요 l-value locator 혹은 left의 약자로 메모리 위치를 참조할 수 있는 값을 의미 주로 등호(=) 왼쪽에 위치할 뿐 오른쪽에 위치 가능 r-value right의 약자로 식의 값을 의미 ...

[C++] override

less than 1 minute read

August 01 2022

개요 가상 함수가 다른 가상 함수를 오버라이드 함을 지정 오버로딩할 경우 컴파일 에러 발생

[C++] is_final

less than 1 minute read

July 29 2022

개요 class가 final 인지 확인 is_final_v는 C++17부터 지원

[C++] final

less than 1 minute read

July 28 2022

개요 파생 클래스에서 가상 함수를 재정의 불가 혹은 클래스를 파생 불가하도록 지정 재정의 혹은 파생 시 컴파일 에러 발생

[C++] nullptr

less than 1 minute read

July 27 2022

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

[C++] copy elision

less than 1 minute read

July 26 2022

개요 복사가 생략가능한 경우에 컴파일러 단계에서 복사 생략 C++17부터는 복사 생략을 보장

[C++] noexcept

1 minute read

July 25 2022

개요 예외가 발생하지 않는 함수에 정의 void func5() noexcept {} 해당 함수에서 예외 발생 시 catch 되지 않고 크러쉬

[C++] lambda

2 minute read

July 24 2022

개요 [capture](parameters){body} 캡쳐 [] 캡쳐하지 않음 [&] 모든 변수에 대해 암시적으로 레퍼런스 캡쳐 ...

[C++] auto

less than 1 minute read

July 23 2022

개요 타입 추론 C++11 변수, 람다 파라미터 C++14 함수 리턴 C++20 파라미터

[C++] string

4 minute read

July 22 2022

개요 문자 시퀀스를 저장하고 조작하는 클래스 멤버 함수 element access at() 경계 검사를 사용하여 지정된 문자에 접근 ...

[C++] inline

less than 1 minute read

July 21 2022

개요 inline function C++98 컴파일러에게 함수 호출 대신 호출 부분을 함수 내용으로 대체할 것을 요청 컴파일러에 따라 inline이 없어도 상황에 따라 inline으로 동작하기도 함 inline var...

[C++] mutable

less than 1 minute read

July 20 2022

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

[C++] explicit

less than 1 minute read

July 19 2022

개요 암시적 변환 방지

[C++] template

3 minute read

July 18 2022

개요 template <typename T1, typename T2> class Test 특수화 template <typename T1, typename T2> class Test<T1 *, T2 *> { ...

[C++] cast

1 minute read

July 17 2022

개요 static_cast 명시적(explicit) 변환 const_cast 상수성 추가/제거 as_const C++17 const reference로 변환 ...

[C++] 오버로딩/오버라이딩

3 minute read

July 15 2022

함수 오버로딩 이름은 같지만 매개변수의 타입 혹은 개수가 다른 함수 반환형이 다른 것은 인정되지 않음 bool과 string으로만 오버로딩 할 경우 char형 배열/포인터는 string이 아닌 bool형으로 판단 코드 #include <iostream...

[C++] friend

less than 1 minute read

July 14 2022

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

[C++] 상속/가상 함수/가상 테이블

2 minute read

July 13 2022

상속 연관된 일련의 클래스들에 대해 공통적인 규약 정의 코드의 재활용을 위한 문법이 아님 is-a 관계를 표현 has-a 관계는 대부분 상속보다는 멤버 변수로 표현 다중 상속을 허용하는 C++에서는 부모/자식이라는 표현보다는 기반/파생이라는 표현이 무난 다중...

[C++] static

less than 1 minute read

July 12 2022

static 멤버 함수/변수 프로그램 실행 시 생성되어 종료 시 소멸

[C++] const

less than 1 minute read

July 11 2022

const 멤버 함수 읽기만 수행하는 함수

[C++] class

1 minute read

July 10 2022

개요 클래스 상태와 행동으로 이루어진 설계도 생성자 객체가 생성될 때 호출되는 함수 디폴트 생성자 생성자를 정의하지 않았을 경우 자동으로 생성되는 생성자 생...

[C++] reference

less than 1 minute read

July 09 2022

개요 어떤 변수에 별명을 붙이는 것 별명에 변수가 붙으면 해당 별명은 다른 변수로 변경 불가 레퍼런스의 레퍼런스, 레퍼런스의 배열, 레퍼런스의 포인터는 불가능 댕글링 레퍼런스(Dangling reference) 참조할 대상이 사라진 레퍼런스 ...

[C++] placement new

2 minute read

July 08 2022

개요 지정한 메모리에 객체를 초기화 메모리 할당과 초기화를 분리하기 위한 기법 메모리 할당 시점에 타입을 정할 수 없거나 초기화 시점을 지정하고 싶은 경우에 사용 pool(connection, momory, …), 다형성 등

[C++] 동적 메모리 할당

2 minute read

July 07 2022

개요 런타임 시점에 프로세스의 힙 영역에 메모리 공간을 할당 명시적 해제 필요 malloc/calloc과 free, new와 delete가 쌍을 이뤄 사용 malloc 메모리 할당 후 쓰레기값으로 초기화 생성자를 호출하지 않음 ...

[C++] namespace

less than 1 minute read

July 06 2022

개요 이름 충돌을 방지하는 방법 이름 없는 네임스페이스의 경우 static을 사용한 것처럼 해당 파일에서만 접근 가능

[C++] 반복문

less than 1 minute read

July 05 2022

예제 코드 #include <iostream> using namespace std; int main() { for (int i = 0; i < 5; i++) { if (i % 2 == 0) { ...

[C++] Hello, World!

less than 1 minute read

July 04 2022

예제 코드 #include <iostream> using namespace std; int main() { cout << "Hello, World!" << endl; ...

[C++] 조건문

less than 1 minute read

July 04 2022

예제 코드 #include <iostream> using namespace std; int main() { int i = 1; if (i == 1) { cout << 1 << en...

[C++] 컴파일

less than 1 minute read

July 03 2022

과정 Preprocessing #include 와 #define 와 같은 전처리기 매크로들을 처리 Compile 소스 파일들을 어셈블리 코드로 변환 Assemble 어셈블리 코드들을...

[C++] 파일 입출력

less than 1 minute read

July 03 2022

예제 코드 #include <fstream> #include <iostream> #include <string> using namespace std; void read(string fileName) { if...

[C++] 역사

less than 1 minute read

July 02 2022

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

[C++] 목차

1 minute read

July 01 2022

개요 역사 객체 지향 컴파일 Hello, World!

Back to top ↑

C++

[C++] format

less than 1 minute read

June 03 2023

개요 sprintf와 유사하나 문자열을 반환 GCC 13.1부터 지원

[C++] MySQL

9 minute read

April 07 2023

개요 라이브러리 다운로드 threadsafe 하지 않음

[C++] 구조체/클래스 크기

1 minute read

March 30 2023

개요 구조체/클래스 메모리 할당 규칙 4의 배수 바이트 단위로 할당 선언 순서대로 할당 멤버 변수 중 가장 큰 멤버 변수 크기의 영향을 받음 가장 큰 멤버 변수 크기가 8바이트라 가정 ...

[C++] gcc 최신 버전 설치

less than 1 minute read

February 06 2023

linux dnf dnf install gcc-toolset-12 source /opt/rh/gcc-toolset-12/enable 소스 dnf install mpfr-devel libmpc-...

[C++] macro 함수와 inline 함수

less than 1 minute read

January 26 2023

개요 macro 함수 단순 치환 모든 인자에 괄호를 해주지 않으면 의도하지 않은 동작 발생 디버깅이 어려움 inline 함수 macro 함수의 단점을 보완한 함수 단순 치환이 아닌 일반 ...

[C++] all_of, any_of, none_of

less than 1 minute read

January 25 2023

개요 all_of 범위가 비었거나 모두 참이면 true 반환 any_of 범위 요소중 하나라도 참이면 true 반환 none_of 범위가 비었거나 모두 거짓이면 true 반환 ...

[C++] void pointer, null pointer

less than 1 minute read

January 25 2023

개요 void pointer 데이터 형이 정해지지 않은 포인터 모든 타입의 데이터 할당이 가능하며 타입캐스팅을 통해 접근 C++17 환경이라면 any 사용 권장 null pointer 아무 것도 가...

[C++] exchange

less than 1 minute read

November 30 2022

개요 정의 template< class T, class U = T > T exchange( T& obj, U&& new_value ); obj의 값을 new_value로 변경하고 obj의 값을 반환

[C++] minmax_element

less than 1 minute read

November 30 2022

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

[C++] to_array

less than 1 minute read

November 29 2022

개요 array를 생성

[C++] minmax

less than 1 minute read

November 29 2022

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

[C++] feature testing

less than 1 minute read

November 28 2022

개요 reference C++11 이상에 도입된 C++ 언어 및 라이브러리 기능에 해당하는 일련의 전처리기 매크로를 정의 attributes __has_cpp_attribute( attribute-token ) attribute에 대한 컴...

[C++] copy_if

less than 1 minute read

November 28 2022

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

[C++] source_location

less than 1 minute read

November 27 2022

개요 파일 이름, 소스 라인 번호, 함수 이름 등 소스 코드에 대한 특정 정보를 나타내는 클래스 기존의 __LINE__, __FILE__ 등에 대한 더 나은 대안

[C++] copy_n

less than 1 minute read

November 27 2022

개요 n개의 요소를 복사

[C++] yield

less than 1 minute read

November 26 2022

개요 다른 스레드가 실행될 수 있도록 스케줄을 재조정 정확한 동작은 OS 스케줄러에 따름 sleep은 스레드를 일시정지 시키지만 yield은 실행 대기 상태를 유지

[C++] designated initializers

less than 1 minute read

November 25 2022

개요 구조체, 공용체 초기화 시 멤버 이름을 지정하여 초기화 가능 부분 초기화 가능 정의 선언 순서와 같아야 함

[C++] exception_ptr

less than 1 minute read

November 25 2022

개요 current_exception으로 던져지고 캡쳐된 예외 객체를 관리하는 포인터 다른 함수로 전달되거나 다시 throw 가능

[C++] erase/erase_if

1 minute read

November 24 2022

개요 erase 값이 같은 요소를 삭제하는 함수 삭제된 수를 반환 erase_if 조건을 충족하는 요소를 삭제하는 함수 삭제된 수를 반환

[C++] static_assert

less than 1 minute read

November 24 2022

개요 컴파일 타임에 assertion 검사 C++11 static_assert ( bool-constexpr , message ) C++17 static_assert ( bool-constexpr ) ...

[C++] is_bounded_array/is_unbounded_array

less than 1 minute read

November 23 2022

개요 is_bounded_array T가 범위가 정해진 배열 유형인지 확인 is_unbounded_array T가 범위가 정해지지 않은 배열 유형인지 확인

[C++] lerp

less than 1 minute read

November 22 2022

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

[C++] midpoint

1 minute read

November 21 2022

개요 정수, 부동 소수점 혹은 포인터 a와 b의 중간점을 반환 오버로드가 발생하지 않음 (a+b)/2 대신 a+(b-a)/2를 사용해도 오버로드가 발생하지 않음 a와 b가 정수 유형일 경우 합이 홀수인 경우 a쪽으로 반올림 a와 b...

[C++] bind_front

1 minute read

November 20 2022

개요 인자로 전달된 함수에 대한 전달 호출 래퍼를 생성하는 함수 bind_front C++20 함수의 첫번째 매개변수부터 바인드

[C++] endian

less than 1 minute read

November 19 2022

개요 스칼라 유형의 엔디안을 나타냄

[C++] remove_cvref

less than 1 minute read

November 18 2022

개요 상수성과 레퍼런스를 제거

[C++] ssize

less than 1 minute read

November 17 2022

개요 부호 있는 크기를 반환

[C++] span

less than 1 minute read

November 16 2022

개요 시퀀스의 첫 번째 요소가 0 위치에 있는 객체의 연속 시퀀스를 참조할 수 있는 객체 string_view와 같은 효과 발생 ‘int []’와 ‘array’, ‘vector’, …

[C++] jthread

1 minute read

November 15 2022

개요 thread와 일반적으로는 동일 destruction 시 자동으로 다시 join 특정 상황에서 중지 가능 공유 중지 상태를 유지하는 stop_source 타입의 private 멤버를 내부적으로 가짐 생성자는 stop_token을 첫 번째 인...

[C++] barrier

less than 1 minute read

November 14 2022

개요 알려진 크기의 스레드 그룹이 barrier에 도달할때까지 차단하는 스레드 조정 메커니즘 제공 소멸자를 제외한 멤버 함수를 동시 호출해도 데이터 경합 없음 latch와의 차이점 재사용 가능 스레드 그룹이 차단 해...

[C++] latch

less than 1 minute read

November 13 2022

개요 스레드를 동기화 하는데 사용하는 하향 카운터 카운터 값은 생성 시 초기화 카운터가 0으로 감소할 때까지 차단 barrier와 달리 재사용 불가 소멸자를 제외한 멤버 함수를 동시 호출해도 데이터 경합 없음 멤버 함수 count_down...

[C++] counting_semaphore/binary_semaphore

1 minute read

November 12 2022

개요 공유 리소스에 대한 접근을 제어하는 경량화 된 동기화 클래스 binary_semaphore는 크기가 1인 counting_semaphore 상호 배제보다 신호/알림에 자주 사용 condition_variable의 대안이면 종종 더 나은 성능 제...

[C++] ranges

1 minute read

November 11 2022

개요 reference 알고리즘 및 반복자 라이브러리에 대한 확장 및 일반화 구성 및 안정화 auto 혹은 ranged for와 같은 효과 | 연산자 오버로딩이 되어 있어 간결하고 직관적인 코드 작성 가능 정통적인 함수 호출 방식도...

[C++] three-way comparison

1 minute read

November 10 2022

개요 3방향 비교 연산자 우주선 연산자(spaceship operator)라는 별명이 붙음 ‘x <=> y’가 0보다 작으면 ‘x < y’, 크면 ‘x > y’, 같거나 동등하면 ‘x == y’ 동등 가로가 2, 세로가 3인...

[C++] consteval

less than 1 minute read

November 09 2022

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

[C++] owner_less

less than 1 minute read

November 09 2022

개요 값 기반이 아닌 소유자 기반 비교

[C++] constinit

less than 1 minute read

November 08 2022

개요 저장 기간이 정적 혹은 쓰레드인 변수가 컴파일 시점에 초기화됨을 보장 비상수이므로 const 선언 가능

[C++] uncaught_exception/uncaught_exceptions

less than 1 minute read

November 08 2022

개요 uncaught_exception C++11 현재 스레드에서 스택 해제가 진행 중이면 true, 아니면 false uncaught_exceptions C++17 현재 스레드에서 catch되지 ...

[C++] module

1 minute read

November 07 2022

개요 기능의 일부만을 포함시킬 수 있는 기능 컴파일 시간 대폭 감소 #include 이용 시 소스 파일마다 헤더 파일 내용 전체를 포함 module 이용 시 일부만 포함 가능되며 한번만 포함 export 하지 않는 이름은 변경하더라...

[C++] hypot

less than 1 minute read

November 07 2022

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

[C++] coroutines

6 minute read

November 06 2022

개요 일시정지가 가능한 함수 흐름 호출자가 코루틴 호출 코루틴은 일부 실행 후 일시중지(suspend)하고 리턴 호출자가 재개(resumed)하면 일시중지 된 부분부터 실행 일시중지와 재개를 반복 파괴(dest...

[C++] concepts

2 minute read

November 05 2022

개요 Named sets of such requirements 이름을 가진 요구사항의 집합 타입이 가져야 하는 요구사항을 정의하는 문법 제약 조건을 지정 템플릿 인자 변수 선언 제...

[C++] integral_constant

less than 1 minute read

November 03 2022

개요 지정된 유형의 정적 상수를 래핑 bool의 경우 true_type, false_type로 typedef 되어 있고 C++17에서는 bool_constant로 using 되어 있음 동일 유형에 대해 오버로딩 가능

[C++] is_invocable

less than 1 minute read

November 02 2022

개요 호출 가능 여부 확인

[C++] literals

2 minute read

November 02 2022

개요 표준 리터럴 종류 접미사 의미 버전 ...

[C++] attribute

5 minute read

November 01 2022

개요 타입, 객체, 코드 등에 대한 구현/정의 속성을 설명 문법 C++11 [[ attribute-list ]] C++17 [[ using att...

[C++] not_fn

less than 1 minute read

October 31 2022

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

[C++] to_chars/from_chars

1 minute read

October 30 2022

개요 to_chars 정수 혹은 부동 소수점 값을 문자 시퀀스로 변환 from_chars 문자 시퀀스를 정수 또는 부동 소수점 값으로 변환

[C++] data

less than 1 minute read

October 29 2022

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

[C++] empty/size

less than 1 minute read

October 28 2022

예제 코드 #include <iostream> #include <list> #include <string> #include <vector> using namespace std; template &l...

[C++] try_emplace/insert_or_assign

less than 1 minute read

October 27 2022

개요 try_emplace 컨테이너에 요소가 없는 경우 새 요소를 삽입 컨테이너에 요소가 있는 경우 변경하지 않음 insert_or_assign 컨테이너에 요소가 없는 경우 새 요소를 삽입 컨테이너...

[C++] merge

less than 1 minute read

October 26 2022

개요 다른 컨테이너의 노드를 연결

[C++] bool 출력

less than 1 minute read

October 26 2022

예제 코드 #include <iostream> using namespace std; int main() { cout << true << endl; cout << fa...

[C++] extract

less than 1 minute read

October 25 2022

개요 컨테이너에서 노드를 추출

[C++] 함수 정의 출력

less than 1 minute read

October 25 2022

개요 정의 출력은 __PRETTY_FUNCTION__, 이름 출력은 __func__

[C++] 자료형 출력

1 minute read

October 25 2022

개요 기본적으로는 typeid(T).name()를 이용 직관적인 출력을 원하는 경우 아래의 템플릿 함수 사용 // C++98 template <typename T> string type_name_of_98() { con...

[C++] inclusive_scan/exclusive_scan

1 minute read

October 24 2022

개요 현재 연산 결과가 다음 연산의 입력 exclusive_scan는 마지막 요소는 연산에서 제외

[C++] gcd/lcm

less than 1 minute read

October 23 2022

개요 gcd 최대 공약수 계산 lcm 최소 공배수 계산

[C++] clamp

less than 1 minute read

October 21 2022

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

[C++] uninitialized_move

less than 1 minute read

October 20 2022

개요 범위의 요소를 초기화되지 않은 메모리 영역으로 이동

[C++] destroy/destroy_at/destroy_n

1 minute read

October 19 2022

개요 destroy 범위의 객체를 파괴 destroy_at 객체를 파괴 destroy_n 범위의 시작부터 n개의 객체를 파괴

[C++] launder

less than 1 minute read

October 18 2022

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

[C++] includes

less than 1 minute read

October 17 2022

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

[C++] __has_include

less than 1 minute read

October 16 2022

개요 헤더/소스 파일을 포함 가능 여부 확인

[C++] conjunction/disjunction/negation

less than 1 minute read

October 15 2022

개요 conjunction and 연산을 효과적으로 수행 disjunction or 연산을 효과적으로 수행 negation 부정 연산 수행

[C++] void_t

less than 1 minute read

October 14 2022

개요 모든 유형을 void 유형으로 매핑하는 유틸리티 메타 함수 멤버 변수/함수의 존재 유무나 표현식의 유효성을 감지하는 데 사용

[C++] monotonic_buffer_resource

less than 1 minute read

October 13 2022

개요 리소스가 소멸될 때만 할당된 메모리를 해제하는 특수 목적 메모리 리소스 클래스 빠른 메모리 할당 가능 쓰레드 세이프 하지 않음

[C++] polymorphic_allocator

less than 1 minute read

October 12 2022

개요 다형성을 이용해 allocator는 polymorphic_allocator 하나를 쓰고 세부 구현은 memory_resource에 따라 동작 서로 다른 allocator를 사용하는 경우 assign이 불가한 문제를 해결

[C++] search

less than 1 minute read

October 11 2022

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

[C++] apply

less than 1 minute read

October 10 2022

개요 Callable 객체를 튜플 인수로 호출하는 함수 튜플 뿐만 아니라 get과 tuple_size를 지원하는 모든 것(pair, array)이 인수로 가능

[C++] scoped_lock

less than 1 minute read

October 09 2022

개요 n개의 mutex에 대해 잠금

[C++] any

1 minute read

October 08 2022

개요 복사 가능한 객체를 타입에 상관없이 담을 수 있는 클래스 typesafe void*라고 표현하기도 함 값을 변경하는 경우 기존 객체의 소멸을 보장 any_cast 함수로 접근 복사한 값을 반환하고 기존 객체 소멸 타입이 다를 경우...

[C++] variant

1 minute read

October 07 2022

개요 n개의 타입들 중 하나를 보관할 수 있는 클래스 반드시 객체를 들고 있어야하며 초기화하지 않을 경우 첫번째 타입의 디폴트 생성자를 호출한 객체를 가짐 monostate를 통해 아무것도 없는 상태 표현 가능 holds_alternative 함수를 이용하여 특정 ...

[C++] CTAD(Class Template Argument Deduction)

less than 1 minute read

October 06 2022

개요 템플릿 클래스 객체 생성 시 타입을 명시하지 않아도 컴파일러가 자동으로 템플릿 인자 타입을 추론 컴파일러가 템플릿 인자 추론 시 참조할 가이드를 제공 가능

[C++] optional

less than 1 minute read

October 04 2022

개요 존재유무를 관리할 수 있는 클래스 템플릿 레퍼런스를 저장하려면 reference_wrapper를 이용

[C++] string_view

less than 1 minute read

October 03 2022

개요 문자열을 소유하지 않고 읽기만 하는 클래스 문자열 포인터와 크기만을 가짐 객체 생성하지 않음 불필요한 복사 방지 두개의 오버로딩 함수(const char*, const string&)를 만들어야하는 문제 해결 ...

[C++] type alias

less than 1 minute read

August 23 2022

개요 기존의 typedef와 유사한 기능 장점 가독성

[C++] random

less than 1 minute read

August 22 2022

개요 난수 생성

[C++] common_type

less than 1 minute read

August 21 2022

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

[C++] constexpr

3 minute read

August 20 2022

개요 ‘상수(const) + 컴파일 시점에 값 평가 가능’함을 선언 상수 표현식에 사용 가능 constexpr로 선언되는 변수 혹은 함수의 리턴 타입은 리터럴 타입이여야 함 constexpr 변수 const와는 달리 컴파일 타임에 초기화가 가능해...

[C++] tuple

less than 1 minute read

August 19 2022

개요 서로 다른 n개의 타입의 값을 저장할 수 있는 클래스 템플릿 C++17의 경우 tie 대신 structured binding declaration를 통해 조금 더 간편한 바인딩 가능

[C++] declval

less than 1 minute read

August 18 2022

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

[C++] 문자열을 숫자키로 변환

less than 1 minute read

August 18 2022

개요 문자열을 숫자키로 변환 락 크기내에서 정해지므로 중복 가능 분배 등을 할 때 유용

[C++] decltype

1 minute read

August 17 2022

개요 전달된 식의 값 종류에 따른 타입을 컴파일 타임에 추론하여 치환 값 종류 l-value 이동이 불가능한 l-value T&로 추론 pr-value ...

[C++] stack unwinding

less than 1 minute read

August 17 2022

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

[C++] uniform initialization

1 minute read

August 16 2022

개요 {}를 사용하여 초기화 ()가 함수 정의인지 호출인지 초기화인지 헷갈리는 기존의 문제를 해결 암시적 변환 불가능 의도하지 않은 타입 캐스팅에 의한 동작을 컴파일 타임에 방지 {}는 initializer_list를 인자로 받는 ...

[C++] storage class specifiers

less than 1 minute read

August 16 2022

개요 static, thread_local, extern, mutable auto는 C++11, register는 C++17에서 삭제 저장 기간(Storage duration)과 링크 방식(Linkage) 지정 가능 저장 기간(Storage duration) ...

[C++] 알고리즘

2 minute read

August 15 2022

개요 sort stable_sort partial_sort partial_sort(a, b, c); a부터 c까지의 데이터 중에 b 까지만 정렬 remove, remove_if transform

[C++] promise, future, packaged_task, async

2 minute read

August 15 2022

개요 promise 복사 생성 불가 future 객체 이동이 일어나므로 한번만 get 가능 shared_future 복사가 가능하고 같은 객체를 공유 package...

[C++] 자료구조

3 minute read

August 14 2022

개요 array vector list deque set unordered_set multiset map multimap unordered_map

[C++] thread

1 minute read

August 14 2022

개요 단일 실행 스레드 생성자의 인자로 전달된 함수를 객체 생성 즉시 실행 spurious wakeup에 유의 멤버 함수 observers joinable() 조인...

[C++] atomic/memory order

less than 1 minute read

August 13 2022

개요 atomic 산술 연산들을 원자적으로 수행해주는 템플릿 클래스 원자적 연산 사이에 다른 연산을 수행하지 않음 기본 자료형에 대해선 atomic_xxx로 typedef ...

[C++] bind

less than 1 minute read

August 12 2022

개요 함수 객체 생성 시 인자를 지정 placeholders::_x를 이용해 전달된 인자 중 x번째에 있는 값을 bind 인자를 여러개 전달해도 bind된 인자 외에는 무시

[C++] mem_fn

less than 1 minute read

August 11 2022

개요 멤버 함수를 객체로 변환 람다로도 동일한 역할 가능

[C++] function

less than 1 minute read

August 10 2022

개요 다형성 함수 래퍼 Callable 함수뿐만 아니라 호출 가능한 것 들 Callable 대상(일반 함수, 멤버 함수, 람다, …)을 저장, 복사, 호출 가능

[C++] 스마트 포인터

2 minute read

August 09 2022

개요 자동으로 객체를 소멸해주는 포인터 unique_ptr 소유자가 하나인 포인터 더블 프리 방지 이동은 가능하지만 복사나 공유는 불가 복사 생성자가 명시적으로 삭제되었으므로 복사 불가 ...

[C++] 보편 참조

less than 1 minute read

August 08 2022

개요 변수(auto &&)나 인자(템플릿 인자 - T &&)가 r-value reference(&&) 형태이며 타입 추론이 필요한 레퍼런스 형태는 r-value reference지만 실제 의미는 l-value reference일 ...

[C++] 완벽한 전달

less than 1 minute read

August 07 2022

개요 l-value는 l-value로 r-value는 r-value로 전달해야하는 경우 wrapper 형태의 경우 r-value를 인자로 전달하면 변수 자체는 l-value이므로 l-value 함수가 호출 move를 사용하면 l-value도 r-value로 변환이 되므...

[C++] move_iterator

less than 1 minute read

August 05 2022

개요 복사가 아닌 이동되는 반복자 make_move_iterator 함수를 이용하여 생성

[C++] move/move_backward

less than 1 minute read

August 04 2022

개요 우측값으로 변환 일반적으로 복사 생성자 보다 이동 생성자가 빠르므로 상황에 따라 move 함수를 이용해 이동 생성자가 호출되도록 사용 move_backward 역순으로(마지막 요소가 먼저) 이동

[C++] l-value, r-value

1 minute read

August 02 2022

개요 l-value locator 혹은 left의 약자로 메모리 위치를 참조할 수 있는 값을 의미 주로 등호(=) 왼쪽에 위치할 뿐 오른쪽에 위치 가능 r-value right의 약자로 식의 값을 의미 ...

[C++] override

less than 1 minute read

August 01 2022

개요 가상 함수가 다른 가상 함수를 오버라이드 함을 지정 오버로딩할 경우 컴파일 에러 발생

[C++] is_final

less than 1 minute read

July 29 2022

개요 class가 final 인지 확인 is_final_v는 C++17부터 지원

[C++] final

less than 1 minute read

July 28 2022

개요 파생 클래스에서 가상 함수를 재정의 불가 혹은 클래스를 파생 불가하도록 지정 재정의 혹은 파생 시 컴파일 에러 발생

[C++] nullptr

less than 1 minute read

July 27 2022

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

[C++] copy elision

less than 1 minute read

July 26 2022

개요 복사가 생략가능한 경우에 컴파일러 단계에서 복사 생략 C++17부터는 복사 생략을 보장

[C++] noexcept

1 minute read

July 25 2022

개요 예외가 발생하지 않는 함수에 정의 void func5() noexcept {} 해당 함수에서 예외 발생 시 catch 되지 않고 크러쉬

[C++] lambda

2 minute read

July 24 2022

개요 [capture](parameters){body} 캡쳐 [] 캡쳐하지 않음 [&] 모든 변수에 대해 암시적으로 레퍼런스 캡쳐 ...

[C++] auto

less than 1 minute read

July 23 2022

개요 타입 추론 C++11 변수, 람다 파라미터 C++14 함수 리턴 C++20 파라미터

[C++] string

4 minute read

July 22 2022

개요 문자 시퀀스를 저장하고 조작하는 클래스 멤버 함수 element access at() 경계 검사를 사용하여 지정된 문자에 접근 ...

[C++] inline

less than 1 minute read

July 21 2022

개요 inline function C++98 컴파일러에게 함수 호출 대신 호출 부분을 함수 내용으로 대체할 것을 요청 컴파일러에 따라 inline이 없어도 상황에 따라 inline으로 동작하기도 함 inline var...

[C++] mutable

less than 1 minute read

July 20 2022

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

[C++] explicit

less than 1 minute read

July 19 2022

개요 암시적 변환 방지

[C++] template

3 minute read

July 18 2022

개요 template <typename T1, typename T2> class Test 특수화 template <typename T1, typename T2> class Test<T1 *, T2 *> { ...

[C++] cast

1 minute read

July 17 2022

개요 static_cast 명시적(explicit) 변환 const_cast 상수성 추가/제거 as_const C++17 const reference로 변환 ...

[C++] 오버로딩/오버라이딩

3 minute read

July 15 2022

함수 오버로딩 이름은 같지만 매개변수의 타입 혹은 개수가 다른 함수 반환형이 다른 것은 인정되지 않음 bool과 string으로만 오버로딩 할 경우 char형 배열/포인터는 string이 아닌 bool형으로 판단 코드 #include <iostream...

[C++] friend

less than 1 minute read

July 14 2022

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

[C++] 상속/가상 함수/가상 테이블

2 minute read

July 13 2022

상속 연관된 일련의 클래스들에 대해 공통적인 규약 정의 코드의 재활용을 위한 문법이 아님 is-a 관계를 표현 has-a 관계는 대부분 상속보다는 멤버 변수로 표현 다중 상속을 허용하는 C++에서는 부모/자식이라는 표현보다는 기반/파생이라는 표현이 무난 다중...

[C++] static

less than 1 minute read

July 12 2022

static 멤버 함수/변수 프로그램 실행 시 생성되어 종료 시 소멸

[C++] const

less than 1 minute read

July 11 2022

const 멤버 함수 읽기만 수행하는 함수

[C++] class

1 minute read

July 10 2022

개요 클래스 상태와 행동으로 이루어진 설계도 생성자 객체가 생성될 때 호출되는 함수 디폴트 생성자 생성자를 정의하지 않았을 경우 자동으로 생성되는 생성자 생...

[C++] reference

less than 1 minute read

July 09 2022

개요 어떤 변수에 별명을 붙이는 것 별명에 변수가 붙으면 해당 별명은 다른 변수로 변경 불가 레퍼런스의 레퍼런스, 레퍼런스의 배열, 레퍼런스의 포인터는 불가능 댕글링 레퍼런스(Dangling reference) 참조할 대상이 사라진 레퍼런스 ...

[C++] placement new

2 minute read

July 08 2022

개요 지정한 메모리에 객체를 초기화 메모리 할당과 초기화를 분리하기 위한 기법 메모리 할당 시점에 타입을 정할 수 없거나 초기화 시점을 지정하고 싶은 경우에 사용 pool(connection, momory, …), 다형성 등

[C++] 동적 메모리 할당

2 minute read

July 07 2022

개요 런타임 시점에 프로세스의 힙 영역에 메모리 공간을 할당 명시적 해제 필요 malloc/calloc과 free, new와 delete가 쌍을 이뤄 사용 malloc 메모리 할당 후 쓰레기값으로 초기화 생성자를 호출하지 않음 ...

[C++] namespace

less than 1 minute read

July 06 2022

개요 이름 충돌을 방지하는 방법 이름 없는 네임스페이스의 경우 static을 사용한 것처럼 해당 파일에서만 접근 가능

[C++] 반복문

less than 1 minute read

July 05 2022

예제 코드 #include <iostream> using namespace std; int main() { for (int i = 0; i < 5; i++) { if (i % 2 == 0) { ...

[C++] Hello, World!

less than 1 minute read

July 04 2022

예제 코드 #include <iostream> using namespace std; int main() { cout << "Hello, World!" << endl; ...

[C++] 조건문

less than 1 minute read

July 04 2022

예제 코드 #include <iostream> using namespace std; int main() { int i = 1; if (i == 1) { cout << 1 << en...

[C++] 컴파일

less than 1 minute read

July 03 2022

과정 Preprocessing #include 와 #define 와 같은 전처리기 매크로들을 처리 Compile 소스 파일들을 어셈블리 코드로 변환 Assemble 어셈블리 코드들을...

[C++] 파일 입출력

less than 1 minute read

July 03 2022

예제 코드 #include <fstream> #include <iostream> #include <string> using namespace std; void read(string fileName) { if...

[C++] 역사

less than 1 minute read

July 02 2022

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

[C++] 목차

1 minute read

July 01 2022

개요 역사 객체 지향 컴파일 Hello, World!

Back to top ↑

Go

[Go] unique package

less than 1 minute read

October 09 2024

개요 go1.23.0부터 사용 가능 Documentation 비교 가능한 값을 표준화(interning, hash-consing)하기 위한 기능을 제공 type Handle[T comparable] struct T 유형의 일부 값에 대한 전역적으...

[Go] maps package

2 minute read

October 08 2024

개요 Documentation 모든 유형의 map에 유용한 다양한 함수를 정의 All Clone Collect Copy DeleteFunc Equal EqualFunc Inser...

[Go] slices package

7 minute read

October 07 2024

개요 Documentation 모든 유형의 슬라이스에 유용한 다양한 함수를 정의 All AppendSeq Backward BinarySearch BinarySearchFunc Chunk C...

[Go] finalizer

less than 1 minute read

March 01 2024

개요 일반적으로 finalizer 함수는 해당 오브젝트가 가비지 컬렉션되기 전에 실행 하지만 실행이 보장되지 않으므로 오브젝트의 소멸자로 사용하는 것은 의도하지 않은 동작을 초래 finalizer에서 리소스가 해제된다면 버그라고 볼 수 있음 리소스 릭을 최소화하거나...

[Go] MinIO

less than 1 minute read

February 17 2024

code

[Go] 암호화

less than 1 minute read

February 15 2024

DSA, ECDSA, ED25519, RSA code

[Go] lock

less than 1 minute read

February 10 2024

mutex, mutex by key code

[Go] JSON

less than 1 minute read

February 08 2024

code

[Go] S3

less than 1 minute read

February 04 2024

code

[Go] 압축

less than 1 minute read

February 02 2024

GZIP, TAR, ZIP code

[Go] Gemini

less than 1 minute read

February 01 2024

API 키 설정 code

[Go] cmp

less than 1 minute read

September 12 2023

개요 1.21.0부터 지원

[Go] slog

1 minute read

September 11 2023

개요 1.21부터 지원

[Go] min, max

less than 1 minute read

September 11 2023

개요 1.21부터 지원

[Go] clear

less than 1 minute read

September 11 2023

개요 1.21부터 지원 예제 코드 package main import "fmt" func main() { m := make(map[string]int) m[...

[Go] 제네릭

less than 1 minute read

August 25 2023

개요 1.18 부터 지원 예제 코드 package main import "fmt" type Test[T int | string] struct { t1 T t2 T } ...

[Go] long polling library

less than 1 minute read

June 08 2023

golongpoll GitHub subscription 클라이언트가 특정 이벤트를 받기 위해 요청 요청 메소드 GET ...

[Go] IP가 CIDR에 포함되는지 확인

less than 1 minute read

December 31 2022

설명 CIDR Classless Inter-Domain Routing 클래스 없는 도메인 간 라우팅 기법 192.168.1.0/24, 192.168.1.0/32, …

[Go] swag를 이용한 RESTful API 문서화

1 minute read

December 30 2022

설명 https://github.com/swaggo/swag Go 주석을 swagger 문서 2.0으로 변환 명령어 swag 설치 go install github.com/swaggo/swag/cmd/swag@late...

[Go] strconv

less than 1 minute read

December 28 2022

개요 기본 자료형과 문자열간의 변환을 구현한 패키지 예제 코드 package main import ( "strconv" ) func main() { println(strconv.Itoa(123)) println(strco...

[Go] 정렬

less than 1 minute read

December 28 2022

예제 코드 package main import ( "fmt" "sort" ) func main() { i := []int{1, 3, 2} println(sort.IntsAreSorted(i)) fmt.Println(i...

[Go] 시그널

less than 1 minute read

December 28 2022

예제 코드 package main import ( "fmt" "os" "os/signal" "syscall" ) func main() { signals := make(chan os.Signal) signal.Notify(s...

[Go] 환경 변수

less than 1 minute read

December 27 2022

개요 Getenv 특정 키의 환경변수 반환 없다면 빈 문자열 반환 Setenv 특정 키의 환경변수 설정 Environ 모든 환경변수를 반환 예제 ...

[Go] 자료형 출력

less than 1 minute read

December 27 2022

개요 값의 자료형을 반환 예제 코드 package main import ( "fmt" "reflect" ) func main() { fmt.Println(reflect.TypeOf(1)) fmt.Println(refl...

[Go] 문서화

1 minute read

December 26 2022

개요 주석을 통해 패키지 문서화 가능 go doc 명령어를 통해 출력 예제 표준 라이브러리 fmt 패키지 $ go doc fmt package fmt // import "fmt" Package ...

[Go] 코드 커버리지

less than 1 minute read

December 25 2022

개요 프로파일 생성 go test -cover -coverprofile=coverage.out . html 변환 go tool cover -html=./coverage.out -o ./coverage.html ...

[Go] 유닛 테스트

less than 1 minute read

December 24 2022

개요 go test 명령어를 이용 파일 이름은 xxx_test.go, 함수 이름은 Testxxx 형태여야 함 플래그 -v 결과 상세 출력 예제 코드 ...

[Go] 고루틴/채널/대기 그룹

2 minute read

December 23 2022

개요 고루틴(goroutine) 쓰레드와 유사 쓰레드보다 적은 메모리 사용 go 키워드 사용 채널(channel) 고루틴간의 데이터 송수신 및 동기화 chan 타입 사용 버퍼링...

[Go] 패닉 복구

less than 1 minute read

December 22 2022

개요 패닉 상태를 복구 패닉이 발생한 함수는 즉시 종료되지만 그 이후는 계속 실행 panic 함수에 전달된 값은 recover 함수가 반환 예제 코드 package main import "fmt" func wrapper() {...

[Go] 패닉

less than 1 minute read

December 21 2022

개요 panic 함수를 이용하여 패닉 발생 가능 일반적으로는 error로 처리해야하며 예상치 못한 에러에 대해서만 사용할 것을 권장 패닉 발생 시 스택 트레이스 출력 패닉이 발생해도 패닉 이전의 defer는 수행 예제 코드 package mai...

[Go] defer

less than 1 minute read

December 20 2022

개요 함수 반환 전에 특정 함수의 호출을 보장하는 키워드 예제 코드 package main func test1() { defer println("end") println(1) if true { return ...

[Go] 사용자 정의 타입

1 minute read

December 19 2022

개요 타입 정의 기본 자료형 hour, minute와 같이 기본 자료형 타입이지만 구분이 필요한 경우 사용 구조체 여러 타입의 값으로 구성된 값 ...

[Go] 인터페이스

less than 1 minute read

December 18 2022

개요 타입이 가져야하는 메소드들의 집합 타입 단언(type assertion) 인터페이스를 특정 타입으로 변환 두번째 반환 값을 통해 변환 성공 여부 확인 Stringer 인터페이스 문자열을 반환하는 St...

[Go] 맵

less than 1 minute read

December 17 2022

개요 키와 값이 하나의 쌍으로 저장되는 컬렉션 할당되지 않은 키에 접근하면 해당 타입의 제로값 반환 make 함수 혹은 맵 리터럴을 이용하여 생성 맵의 제로 값은 nil이며 슬라이스와 달리 빈 맵으로 동작하지 않음 두번째 반환 값을 통해 해당 키 값의 존재 여부...

[Go] 슬라이스

less than 1 minute read

December 16 2022

개요 동적 배열 내부 배열에 대한 뷰 make 함수 혹은 슬라이스 리터럴을 이용하여 이용하여 생성 슬라이스의 제로 값은 nil이며 빈 슬라이스인 것처럼 처리하므로 nil 체크 코드 불필요 append 함수를 이용하여 원소 추가 일반적으로 반환...

[Go] 배열

less than 1 minute read

December 15 2022

개요 선언과 동시에 초기화 하지 않으면 제로값으로 초기화 예제 코드 package main import "fmt" func main() { var a1 [3]int a1[0] = 1 a1[2] = 3 println(le...

[Go] 패키지

less than 1 minute read

December 14 2022

개요 코드의 모듈화 코드를 묶는 기본 단위 init 함수 패키지 로드 시 자동으로 호출되는 함수 alias import 시에 패키지 이름 지정 가능 init 함수만을 호출하기 위해서 혹은 동일 패키지 ...

[Go] 상수

less than 1 minute read

December 13 2022

개요 불변의 값 const 키워드 사용 선언과 동시에 초기화 필요 := 사용 불가

[Go] 포인터

less than 1 minute read

December 12 2022

개요 로컬 변수 반환 가능 스코프를 벗어나도 포인터를 가지고 있는 동안에는 유효 예제 코드 package main func func1(arg *int) { *arg += 1 } func func...

[Go] 가변 인자 함수

less than 1 minute read

December 11 2022

개요 임의 개수의 인자를 받을 수 있는 함수 타입 앞에 생략 부호(...)를 붙여서 선언 슬라이스 전달 시 뒤에 생략 부호(...)를 붙여서 전달 예제 코드 package main import "fmt" func variadi...

[Go] 함수

less than 1 minute read

December 10 2022

개요 pass by value 다중 반환 지원 빈 식별자(_)로 반환 값 무시 가능 타입이 연속적으로 같은 매개변수 정의 시 타입을 한번만 정의 가능

[Go] 반복문

less than 1 minute read

December 09 2022

예제 코드 package main import "fmt" func main() { for i := 0; i < 10; i++ { if i == 2 { continue } fmt.Print(i, " ") ...

[Go] 조건문

less than 1 minute read

December 08 2022

개요 if with initializer if문 안에서 초기화 가능 if문 안에서만 유효 error 반환 함수와 같이 if문 안에서만 사용하는 변수에 대해 사용 선언 여부를 신경 쓸 필요가 없어짐 예제 ...

[Go] 형식 동사

1 minute read

December 07 2022

개요 동사 설명 %d 십진수 %o 8진수...

[Go] 표준 입/출력

less than 1 minute read

December 05 2022

예제 코드 package main import "fmt" func main() { var i1 int var i2 int n, err := fmt.Scanln(&i1, &i2) if err != nil { ...

[Go] Hello, World!

less than 1 minute read

December 04 2022

예제 코드 package main import "fmt" func main() { fmt.Println("Hello, World!") } 실행 결과 Hello, World!

[Go] 타입 변환

less than 1 minute read

December 04 2022

예제 코드 package main import ( "fmt" "reflect" ) func main() { i := 1 fmt.Println(i) fmt.Println(float64(i)) fmt.Println(r...

[Go] go 명령어

less than 1 minute read

December 03 2022

개요 코드 포맷팅 표준 서식 적용 go fmt xxx.go 빌드 현재 디렉토리에 실행 파일 생성 go build xxx.go 실행 파일 설치 워크스페이스 bin...

[Go] 이름 규칙

less than 1 minute read

December 03 2022

개요 패키지 소문자만 사용 의미가 명확한 경우 축약어 사용 가능한 하나의 단어만 사용하고 둘 이상일 경우 밑줄 등으로 구분하지 말고 소문자 사용 변수, 함수 강제 ...

[Go] 릴리스 노트

2 minute read

December 02 2022

official 주요 변경 사항 버전 날짜 종류 설명 r56 201...

[Go] 변수

less than 1 minute read

December 02 2022

개요 값을 할당하지 않으면 제로 값으로 초기화 제로 값 정수/실수/룬 0 문자열 빈 문자열 부울 ...

[Go] 개요

less than 1 minute read

December 01 2022

Go? 구글의 엔지니어 로버트 그리즈머, 롭 파이크, 켄 톰프슨이 개발한 프로그래밍 언어 2009년 11월 10일 발표 단순함과 속도에 중점을 둔 프로그래밍 언어 장점 컴파일 속도 풍부한 라이브러리(json, http, …) 간결한 동시성 코드 ...

[Go] 기본 자료형

less than 1 minute read

December 01 2022

개요 정수 int, int8, int16, int32, int64 uint, uint8, uint16, uint32, uint64, uintptr 부동 소수점 float32, float64 ...

[Go] 목차

less than 1 minute read

December 01 2022

개요

Back to top ↑

book

Back to top ↑

Rust

[Rust] 안전하지 않은 러스트

2 minute read

September 19 2023

개요 메모리 안전성 보장을 강제하지 않는 숨겨진 내부의 두번째 언어 빌림 검사기 혹은 다른 어떤 러스트의 안전성 검사 기능을 끄는 것은 아님 코드가 필연적으로 위험하다던가 절대적으로 메모리 안전성 문제를 가지고 있음을 의미하는 것이 아님 코드가 올바른 방법으로 메모...

[Rust] 패턴

7 minute read

September 18 2023

개요 단순하거나 복잡한 타입의 구조에 값들을 비교하기 위한 문법 match 표현 및 다른 구문들과 함께 사용하면 더 많은 흐름 제어 가능 패턴은 다음의 조합으로 이루어짐 리터럴 값(Literals) 분해한 배열(Array), 열거형(Enu...

[Rust] 다형성

less than 1 minute read

September 17 2023

예제 코드 trait Job { fn job(&self); } struct A {} impl Job for A { fn job(&self) { print...

[Rust] 뮤텍스

less than 1 minute read

September 16 2023

개요 타입 시스템과 소유권 규칙으로 인해 락 사용의 안정성 보장 예제 코드 use std::sync::{Arc, Mutex}; use std::thread; use std::time::Duration; f...

[Rust] 채널

less than 1 minute read

September 15 2023

개요 Go의 채널과 유사 송/수신 채널을 지님 예제 코드 use std::sync::mpsc; use std::thread; fn main() { let (tx, rx) = mpsc::chann...

[Rust] 동시성

less than 1 minute read

September 14 2023

개요 소유권과 타입 시스템이 메모리 안전성 및 동시성 문제를 관리하는 것을 돕기 위한 강력한 도구들의 집합 많은 동시성 에러들이 런타임이 아닌 컴파일 시점에 감지 가능 thread::spawn 함수를 이용 반환 타입 JoinHandle ...

[Rust] 스마트 포인터

4 minute read

September 13 2023

개요 추가적인 메타데이터와 능력들도 가지고 있는 포인터 참조자가 데이터를 오직 빌리기만 하는 포인터 스마트 포인터는 그들이 가리키고 있는 데이터를 소유 Deref, DerefMut와 Drop 트레잇을 구현한 구조체를 이용하여 구현 Deref ...

[Rust] 문서화 주석

less than 1 minute read

September 12 2023

개요 주석을 포함하는 항목을 문서화 //!를 이용 크레이트의 루트 파일이나 크레이트 혹은 모듈 전체를 문서화하는 모듈 내부에 작성 주석뒤에 오는 항목에 대해 문서화 ///를 이용 마크다운 표...

[Rust] 반복자

1 minute read

September 11 2023

개요 Iterator 트레잇을 구현 iter() 반복자 반환 into_iter() 소유권을 갖는 반복자 반환 iter_mut 가변 참조 반복자 반환 예제 ...

[Rust] 클로저

1 minute read

September 10 2023

개요 변수에 저장하거나 다른 함수에 인자로 넘길 수 있는 익명 함수 호출되는 스코프로부터 변수 캡처 가능 move 소유권을 갖도록 강제 let equal_to_x = move |z| z == x; 클로저 반환 ...

[Rust] 환경 변수

less than 1 minute read

September 09 2023

예제 코드 use std::env; fn main() { println!("{}", env::var("TEST").is_err()); println!( "{}", ...

[Rust] 커맨드 라인 인자

less than 1 minute read

September 08 2023

개요 첫 번째 값은 프로그램의 경로 예제 코드 use std::env; fn main() { let args: Vec<String> = env::args().collect(); p...

[Rust] 테스트

1 minute read

September 07 2023

개요 test 속성을 어노테이션하는 함수 매크로 assert! true이면 통과 아니면 패닉 발생 assert_eq! 같으면 통과 아니면 패닉 발...

[Rust] 라이프타임

2 minute read

September 06 2023

개요 해당 참조자가 유효한 스코프 주목적은 댕글링 참조자(dangling reference) 방지 라이프 사이클을 변경하지 않음 제네릭이 여러개의 인자에 타입을 연관 짓는 것 처럼 여러 개의 참조자 간에 라이프타임을 연관 짓는 것 빌림 검사기(borrow che...

[Rust] 트레잇

3 minute read

September 05 2023

개요 다른 언어의 인터페이스와 유사 트레잇 혹은 타입이 우리의 크레이트 내의 것일 경우에만 해당 타입에서의 트레잇을 정의 가능 오버라이딩된 구현으로부터 기본 구현을 호출하는 것은 불가능 트레잇 바운드(trait bounds) 제네릭 타입 파라미터...

[Rust] 제네릭

less than 1 minute read

September 04 2023

예제 코드 #[derive(Debug)] enum Test1<T> { I(i32), T1(T), } #[derive(Debug)] struct Test2<T1, T2> { ...

[Rust] 에러 처리

1 minute read

September 03 2023

개요 복구 불가능한(unrecoverable) 에러 panic!을 이용 기본적으로 되감기(unwinding) 수행 그만두기(abort)를 원할 경우 Cargo.toml 파일의 [profile] 섹션에 panic = 'abort'를 추가...

[Rust] 컬렉션

2 minute read

September 02 2023

개요 문서 힙에 저장 벡터 여러 개의 값을 연속적으로 저장 접근 방법 [] 유효하지 않은 인덱스 일 경우 panic 발생 ...

[Rust] 열거형

1 minute read

September 01 2023

개요 구조체와 유사하게 다양한 타입과 메소드를 가질 수 있음 Option 값이 있거나 없는 경우를 나타내는 열거형 Rust는 null 개념이 없고 Option을 사용 null 값을 null 이 아닌 값처럼 사용하려는 실수를 방지 예제 코드 ...

[Rust] 구조체

1 minute read

August 31 2023

개요 필드 초기화 축약법(field init shorthand) 변수명과 구조체의 필드명이 같을 경우 변수명만으로 초기화 가능 구조체 갱신법(struct update syntax) .. 구문을 사용하여 기존 구조체의 값...

[Rust] 소유권

4 minute read

August 30 2023

개요 가비지 콜렉터 없이 메모리 안정성 보장 컴파일 타임에 컴파일러가 체크할 규칙들로 구성된 소유권 시스템을 통해 메모리 관리 런타임 비용이 발생하지 않음 참조자(references) &를 사용하여 값을 참조하지만 소유하지는 않는 참조자를...

[Rust] 반복문

less than 1 minute read

August 29 2023

개요 loop, while, for 제공 loop 에서 반환 가능 예제 코드 fn main() { let mut i = 1; loop { if i == 0 { ...

[Rust] 조건문

less than 1 minute read

August 28 2023

예제 코드 fn main() { let i = 1; if i == 1 { println!("{}", 1); } else if i == 2 { println!("{}...

[Rust] function

less than 1 minute read

August 27 2023

개요 반환 시 표현식(구문과는 다르게 세미 콜론이 없는) 혹은 return 사용 함수 포인터 fn 타입 예제 - 개요 코드 fn f1() { println!("f1 call"); ...

[Rust] 표준 입/출력

less than 1 minute read

August 26 2023

예제 코드 use std::io; fn main() { let mut s = String::new(); match io::stdin().read_line(&mut s) { ...

[Rust] 데이터 타입

2 minute read

August 25 2023

개요 스칼라 하나의 값으로 표현되는 타입 정수형, 부동소수점 숫자, boolean, 문자 컴파운드 같은 타입 혹은 다른 타입의 다양한 값들을 하나의 타입으로...

[Rust] 변수

less than 1 minute read

August 24 2023

개요 기본적으로 불변성 mut를 통해 가변성 변수 선언 가능 불변성 변수의 경우 let을 통해 shadowing(같은 이름의 다른 타입) 가능 예제 코드 fn main() { let a = 1; pri...

[Rust] 명명 규칙

less than 1 minute read

August 23 2023

개요 타입은 UpperCamelCase, 값은 snake_case 사용

[Rust] Cargo

less than 1 minute read

August 22 2023

개요 빌드 시스템 및 패키지 매니저 명령어 크레이트(crate) 생성 및 초기화 라이브러리 cargo new ${project name} --lib 바이너리 ...

[Rust] 개요

less than 1 minute read

August 21 2023

Rust? 모든 사람이 안정적이고 효율적인 소프트웨어를 구축할 수 있도록 지원하는 언어 컴파일 rustc main.rs 릴리스 노트 Hello, World! 코드 fn main() { println!...

[Rust] 목차

less than 1 minute read

August 20 2023

개요 Cargo 문법 명명 규칙 변수 데이터 타입 표준 입/출력 함수 조건문 반복문 소유권 구조체 열거형 컬렉션 에러 처리 제네릭 트레잇 라이프타임 테스트 커맨드 라인 인자 환경 변수 클로저 반복자...

Back to top ↑

Dart

[Dart] 클래스 제한자

less than 1 minute read

June 18 2024

개요 class 키워드 앞에 명시 해당 클래스를 사용하는 파일이 아닌 다른 파일에 선언해야 동작 base base 클래스의 기능을 강제하는 제한자 해당 클래스는 상속만 가능 자식 클래스는 base, final 또는 sealed ...

[Dart] 구조 분해

less than 1 minute read

June 17 2024

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

[Dart] 레코드

less than 1 minute read

June 16 2024

개요 정의 개수 제한 없음 포지셔널 파라미터 타입 순서를 반드시 지켜야함 특정 순서의 레코드를 가져올 땐 $을 이용 네임드 파라미터 이름으로 구분 순서 상관 없음

[Dart] 커스텀 스트림

less than 1 minute read

June 15 2024

개요 async*로 함수를 선언하고 yield 키워드로 값을 반환

[Dart] 스트림

less than 1 minute read

June 13 2024

개요 지속적으로 값을 반환 받을 때 사용 한번만 listen() 실행 가능 dart:async 패키지 필요

[Dart] Future/async/await

less than 1 minute read

June 12 2024

개요 Future 미래값을 표현하는 클래스 반환값을 딱 한번 받아내는 비동기 프로그래밍에 사용 async 비동기 함수를 정의 Future를 반환해야 함 await 키워드를 사용한 함수는 ...

[Dart] 캐스케이드 연산자

less than 1 minute read

June 11 2024

개요 해당 인스턴스의 속성이나 멤버 함수를 연속해서 사용하는 기능 .. 기호를 사용

[Dart] 스태틱

less than 1 minute read

June 10 2024

개요 변수나 메소드가 클래스의 인스턴스가 아닌 클래스 자체에 귀속 클래스에 귀속되므로 생성자에서 값 지정 불가 인스턴스끼리 공유해야하는 정보에 사용

[Dart] 제네릭

less than 1 minute read

June 09 2024

개요 클래스나 함수의 정의를 선언할 때가 아니라 인스턴스화하거나 실행할 떄로 미룸 특정 변수의 타입을 하나의 타입으로 제한하고 싶지 않을 때 자주 사용

[Dart] 추상

less than 1 minute read

June 08 2024

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

[Dart] 믹스인

less than 1 minute read

June 07 2024

개요 특정 클래스에 원하는 기능들만 골라 놓을 수 있는 기능 특정 클래스를 지정해서 속성들을 정의 지정한 클래스를 상속하는 클래스에서도 사용 가능 한개의 클래스에 여러 개의 믹스인 적용 가능 mixin, with 키워드를 사용 on 키워드로 사용할 수 있는 ...

[Dart] 인터페이스

less than 1 minute read

June 06 2024

개요 인터페이스를 지정하는 키워드 없음 상속과 다른점 적용 개수 제한 없음 모든 기능 재정의 필요

[Dart] 상속

less than 1 minute read

June 04 2024

개요 extends 사용

[Dart] 클래스

less than 1 minute read

June 03 2024

개요 클래스 일종의 설계도 인스턴스 클래스를 이용해서 선언된 객체 인스턴스화 클래스에서 인스턴스를 생성하는 과정 네임드 생성자 클래스를 생성하는...

[Dart] 에러 핸들링

less than 1 minute read

June 02 2024

예제 코드 void main() { try { print(1); throw Exception('message'); print(2); } catch (e) { print(e); ...

[Dart] typedef

less than 1 minute read

June 01 2024

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

[Dart] 함수

less than 1 minute read

May 31 2024

개요 positional 매개변수 입력된 순서대로 값이 지정 Optional positional 매개변수 매개변수들의 세트를 []로 감싸는 것 Named 매개변수 void func(...

[Dart] 반복문

less than 1 minute read

May 30 2024

예제 코드 void main() { for (int i = 0; i < 3; ++i) { print(i); } print("\n"); List<int> list = [1, 2, 3]; ...

[Dart] 조건문

2 minute read

May 29 2024

개요 switch 표현식 함수처럼 사용하여 값을 반환 패턴 매칭 복잡한 조건 사용 가능 엄격한 검사 ...

[Dart] 연산자

less than 1 minute read

May 28 2024

개요 종류 연산자     산술 +, -, *, /, %, ++, – ...

[Dart] 열거형

less than 1 minute read

May 27 2024

개요 변수의 값을 몇가지 옵션으로 제한

[Dart] 컬렉션

1 minute read

May 26 2024

개요 여러 값을 하나의 변수에 저장할 수 있는 타임 서로의 타입으로 형변환 가능 List, Set, Map

[Dart] 상수

less than 1 minute read

May 25 2024

개요 final 런타임 상수 const 빌드 타임 상수

[Dart] 파일 입/출력

less than 1 minute read

May 24 2024

예제 코드 import 'dart:io'; void main() { const fileName = 'test.txt'; var file1 = File(fileName); file1.writeAsStri...

[Dart] 표준 입/출력

less than 1 minute read

May 23 2024

예제 코드 import 'dart:io'; void main() { var str = stdin.readLineSync(); stdout.write(str); stdout.write('\n'); p...

[Dart] 변수

less than 1 minute read

May 22 2024

개요 타입 추론 기능 제공 컴파일 시 추론된 타입으로 치환 var 추론된 타입 고정 dynamic 다른 타입 저장 가능

[Dart] 기본 자료형

less than 1 minute read

May 21 2024

개요 문자열 String 정수 int 실수 double 불리언 bool

[Dart] 개요

less than 1 minute read

May 20 2024

Dart? 사이트 구글이 개발한 멀티 플랫폼 프로그래밍 언어 모바일, 데스크톱, 서버, 웹 앱 용도에 사용 구조적이지만 유연하고 프로그래머들에게 자연스럽고 다양한 종류의 기기에서 동작되도록 하는 것이 목적 크로스플랫폼 앱 프레임워크인 Flutter가 사용

Back to top ↑

Python

[Python] 유닛 테스트

less than 1 minute read

April 19 2023

개요 공식 문서 옵션 python -m unittest -h 메소드 setUpClass() 클래스의 테스트들이 실행되기 전에 한번 호출되는 클래스 메소드 ...

[Python] thread

1 minute read

April 17 2023

개요 공식 문서 daemon 플래그 데몬 스레드 여부 설정 True일 경우 데몬 스레드만 남았을 때 프로그램 즉시 종료 False일 경우 스레드가 종료될 때까지 대기 예제 코드 ...

[Python] MySQL

3 minute read

April 12 2023

개요 PyMySQL 이용 API Reference threadsafe 하지 않음(threadsafety = 1)) PreparedStatement 지원하지 않음 설치 pip install PyMySQL 예제 코드 ...

[Python] REST/HTTP API server/client

7 minute read

April 11 2023

REST 서버 Flask, Flask-RESTX 이용 Flask API Reference Flask-RESTX API Reference 설치 pip install Flask pip install flask-restx ...

[Python] dir

less than 1 minute read

January 26 2023

개요 객체가 가지고 있는 메소드 출력

[Python] iter

less than 1 minute read

January 25 2023

개요 iterable 객체를 인자로 받아 iterator 객체를 반환하는 함수 실제로는 iterable 객체의 iter 함수를 호출 next 함수를 통해 하나씩 꺼낼 수 있으므로 유연한 처리 가능 반복문 등의 경우 iterable 객체는 iterator 객체로 대체...

[Python] 얕은 복사/깊은 복사

less than 1 minute read

January 24 2023

개요 copy 모듈의 deepcopy 함수를 이용하여 깊은 복사 가능 문자열, 튜플 같은 변경이 불가능한 객체는 얕은 복사, 리스트 같이 변경이 가능한 객체는 깊은 복사 수행

[Python] mutable/immutable

less than 1 minute read

January 23 2023

개요 mutable 객체 값의 수정이 가능한 객체(리스트, 딕셔너리) 값 수정 시 주소값이 달라지지 않음 immutable 객체 값의 수정이 불가능한 객체(문자열, 튜플) 값 수정 시 새로운 객체 ...

[Python] 가비지 컬렉션

less than 1 minute read

January 22 2023

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

[Python] 스페셜 메소드

less than 1 minute read

January 21 2023

개요 인터프리터에 의해서 호출되는 메소드 함수 앞뒤에 언더바를 두개씩 붙여서 정의 반복, 컬렉션, 문자열 등의 관련 함수 정의 가능 예시 __len__을 정의하면 len 함수 호출 가능

[Python] 컴프리헨션

less than 1 minute read

January 20 2023

개요 컴프리헨션 식을 이용하여 객체 생성 리스트, 집합, 딕셔너리 등의 객체 생성에 사용

[Python] 람다

less than 1 minute read

January 19 2023

개요 표현식 lambda args : expression 반환 시 return 키워드를 제외

[Python] 예외

less than 1 minute read

January 18 2023

예제 코드 if __name__ == "__main__": try: print(1) finally: print(2) print("\n------\n") try: pr...

[Python] class

less than 1 minute read

January 17 2023

개요 인스턴스 변수는 반드시 초기화를 해야하고 일반적으로 생성자를 이용 생성자 def __init__(self) 파이썬은 모든 것이 객체 정수나 실수로 내부적으로는 객체로 관리 인스턴스 메소드를 호출할 수...

[Python] dictionary

less than 1 minute read

January 16 2023

개요 map 다른 종류의 키와 값 저장 가능

[Python] 모듈

less than 1 minute read

January 15 2023

개요 import 방법 test 패키지에 func 함수가 있다고 가정 패키지 전체 import test 패키지명을 붙여서 사용(test.func()) 특정...

[Python] range

less than 1 minute read

January 14 2023

개요 범위를 지닌 객체를 반환하는 함수 range 객체를 이용하여 리스트나 튜플 생성 가능

[Python] tuple

less than 1 minute read

January 13 2023

개요 리스트와 유사하나 값 추가/수정 불가능 인덱싱/슬라이스/덧셈/곱셈 연산 가능 소괄호를 이용하거나 list, range 객체를 이용하여 생성 가능 자료형이 동일하지 않아도 상관 없음

[Python] 문자열

1 minute read

January 12 2023

개요 문자들의 집합 큰따옴표 혹은 작은따옴표로 묶어서 표현 덧셈 연산, 곱셈 연산, 인덱싱 연산, 슬라이싱 연산 가능 리스트와 달리 일부 내용 변경 불가 함수 len 길이 반환 ...

[Python] list

1 minute read

January 11 2023

개요 자료형이 동일하지 않아도 상관 없음 인덱스 값이 음수이면 반대로 접근(-1이면 마지막 요소) 함수 len 길이 반환 max 가장 작은 값...

[Python] type

less than 1 minute read

January 09 2023

개요 전달된 값의 타입 출력

[Python] 반복문

less than 1 minute read

January 08 2023

예제 코드 if __name__ == "__main__": for i in [0, 1, 2]: print(i, end=" ") print() print("------ 1") for i in [1, 3, 5]...

[Python] 조건문

less than 1 minute read

January 07 2023

예제 코드 if __name__ == "__main__": if True and True: print(1) if True or False: print(1) if not False: ...

[Python] eval/int/float

less than 1 minute read

January 06 2023

개요 evaluate(평가하다)의 약자 전달되는 문자열을 분석해서 적절한 처리 수행 함수 이름을 입력받으면 해당 함수를 호출 표준 입력 사용 시 의도하지 않은 함수 호출이 가능한 보안 취약점 발생 단순히 문자열을 숫자로 변환하려면 ...

[Python] 표준 입/출력

less than 1 minute read

January 05 2023

개요 입력 input 함수 이용 문자열 반환 출력 print 함수 이용 Python 3.0 부터는 소괄호 필수 마지막 문자는 기본적으로 개행문자이나 변경 가능

[Python] 함수

less than 1 minute read

January 04 2023

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

[Python] 변수

less than 1 minute read

January 03 2023

개요 변수에 객체가 저장되는 것이 아닌 포스트잇처럼 객체에 변수가 붙었다 떨어지는 느낌 동일한 객체를 갖는 서로 다른 변수는 같은 주소값을 갖음

[Python] 개요

1 minute read

January 02 2023

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

Back to top ↑

database

[cloud native][database] CloudNativePG

4 minute read

October 05 2024

개요 사이트/GitHub 모든 Kubernetes 클러스터에서 PostgreSQL 워크로드를 관리하도록 설계된 오픈소스 오퍼레이터 분산 토폴로지 기능 덕분에 프라이빗, 퍼블릭, 하이브리드 및 멀티클라우드 환경에서 배포를 지원 선언적 구성 및 불변 인프라와 같은 De...

[database] ClickHouse

1 minute read

May 05 2024

개요 사이트 / GitHub 온라인 분석 처리(OLAP)를 위한 고성능 열 기반 SQL 데이터베이스 관리 시스템(DBMS) OLAP 특성 데이터 세트는 수십억 또는 수조 행 데이터는 많은 열이 포함된 테이블로 구성 특정 쿼리에 ...

[database] DynamoDB

4 minute read

July 10 2023

개요 사이트 완전관리형 NoSQL 데이터베이스 서비스 key-value 데이터베이스 key-value 쌍의 집합을 데이터로 저장 구성 요소 테이블 리전에 종속적 기본 테이블 인덱스가 속한 ...

[SQL] Statement와 PreparedStatement

less than 1 minute read

April 22 2023

개요 SQL 처리 과정 차이에 따라 구분 Statement 매번 모든 과정을 수행 SQL문 예제 INSERT INTO test(id, name) VALUES(1, 'a'); SQL injection과 같은 보안 문제 발생 ...

[SQL] 처리 과정

less than 1 minute read

April 21 2023

설명 parse -> bind -> execute -> patch parse soft parse 문법 검사(syntax check) Parse Tree 생...

[database] DBMS

less than 1 minute read

April 01 2023

개요 DataBase Management System 데이터베이스를 관리할 수 있는 기능들을 제공하는 응용 프로그램 기능 정의 구축 조작 공유 보호 유지보수 종류 dBASE Oracle MySQL MariaDB Po...

[database] 개요

1 minute read

March 31 2023

정의 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합 역사 1950년대에 군비의 집중적·효율적 관리를 위해 컴퓨터를 활용한 도서관 개념을 개발하면서 이를 ‘데이터의 기지’라는 뜻의 데이터베이스로 부름 이후 1965년 시스템 디벨로프사...

[SQL] 개요

less than 1 minute read

March 29 2023

개요 구조적 데이터 질의 언어(Structured Query Language) 문법 데이터 정의 언어(DDL, Data Definition Language) CREATE DROP ALTER 데이터 조작 언...

[database] Redis

less than 1 minute read

March 21 2023

개요 사이트 REmote DIctionary Server key-value data store 혹은 IMDB(In-Memory DataBase) 혹은 MMDB(Main Memory DataBase) 혹은 memory resident database 언어 별 라이...

[database] MySQL

less than 1 minute read

March 21 2023

개요 사이트 관계형 데이터베이스 관리 시스템(RDBMS, Relational DataBase Management System) 언어 별 라이브러리 설치 docker docker run --name mysql -e MYSQL_ROOT_P...

[database] MongoDB

less than 1 minute read

March 21 2023

개요 사이트 NoSQL document-oriented database 혹은 document store BSON 포맷 사용 JSON 형태의 동적 스키마형 문서 언어 별 라이브러리 설치 docker ...

[database] 실행 계획

1 minute read

February 08 2023

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

[database] 정규화(normalization)

1 minute read

January 27 2023

개요 정규화 정규형을 통해 이상 현상을 제거해가는 과정 장점 이상 현상 제거 확장에 용의(구조를 변경하지 않아도 되거나 일부만 변경) 어플리케이션과의 영향 최소화 단점 릴레이션 분해로 인한 join 연산의 수 ...

[database] 트랜잭션

less than 1 minute read

October 18 2022

개요 ‘논리적 작업 단위’, ‘상호 작용의 단위’, ‘쪼갤 수 없는 업무 처리의 최소 단위’ ACID를 보장 예시 계좌이체 시 ‘금액 감소’와 ‘금액 증가’ 연산은 하나의 작업으로 수행되어야 함 TPS(Transaction Per ...

[database] 인덱스

1 minute read

October 18 2022

개요 데이터의 위치를 가리키는 자료구조 n개의 컬럼에 대해 정렬하여 키와 레코드 포인터를 저장

[database] ACID

less than 1 minute read

October 18 2022

개요 데이터베이스 트랜잭션이 안전하게 수행됨을 보장하기 위한 성질 A(Atomicity/원자성), C(Consistency/일관성), I(Isolation/격리성), D(Durability/지속성)

[database] 파티셔닝

less than 1 minute read

October 13 2022

개요 데이터베이스를 분할하여 성능, 관리 및 가용성 향상을 도모하는 튜닝 기법 분할된 각 부분을 파티션이라고 부름 논리적으로는 하나의 테이블이지만 물리적으로 여러개의 파티션으로 구성 대표적으로 분산 데이터베이스 관리 시스템에 사용 파티션이 여러 ...

[SQL] 권한 설정

less than 1 minute read

May 19 2020

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

[SQL] 유저 생성

less than 1 minute read

May 19 2020

RDB CREATE USER user_name@'%' identified by 'password';

[SQL] ALTER TABLE

less than 1 minute read

May 19 2020

컬럼 추가 MySQL ALTER TABLE TABLE_NAME ADD COLUMN COLUMN_2 INT(11) NOT NULL DEFAULT '0' AFTER COLUMN_1; PostgreSQL ALTER TABLE...

[database] mariadb 최신 버젼 설치하기

less than 1 minute read

May 19 2020

vim /etc/yum.repos.d/MariaDB.repo [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.4/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-...

[database] 백업/복구

less than 1 minute read

May 19 2020

MySQL 백업 mysqldump -uroot -patom --all-databases > db_backup.sql 복구 mysql -u [userId] -p [password] [DB명] < db_backu...

Back to top ↑

OS

[OS] 커널

less than 1 minute read

April 21 2023

개요 운영체제의 심장이자 이를 규정짓는 소프트웨어 역할 하드웨어 자원 관리, 프로세스 제어, 메모리 제어, 보안 운영 체제의 정체성을 결정하기에 중요 페도라, 우분투 등 리눅스 커널을 사용하기에 리눅스로 묶임 ...

[OS] 프로그램/프로세스/스레드/컨텍스트 스위칭

1 minute read

March 20 2023

프로그램 실행되고 있지 않은(메모리에 올라가 있지 않은) 정적인 상태의 명령어 집합체 프로세스 운영체제로부터 자원을 할당 받아 실행 중인 동적인 상태의 프로그램 운영체제 작업의 최소 단위 최소 1개 이상의 스레드로 구성 메모리 구조 ...

[OS] Rocky Linux

less than 1 minute read

February 05 2022

설명 https://rockylinux.org/ 2020.12.08, Red Hat은 RHEL(Red Hat Enterprise Linux)의 downstream version인 CentOS 개발 중지를 발표 2021.06.21, CentOS의 공동 창립자인 Grego...

[OS][CentOS] CentOS Stream 9 릴리즈

less than 1 minute read

February 05 2022

설명 2021.12.03, 릴리스 https://blog.centos.org/2021/12/introducing-centos-stream-9/ 2020.12.08, CentOS 프로젝트는 RHEL(Red Hat Enterprise Linu...

[OS] rpm

less than 1 minute read

May 10 2020

명령어 rpm -Uvh xxx.rpm

[OS] 리눅스 명령어

1 minute read

May 10 2020

systemctl systemctl stop firewalld systemctl start firewalld systemctl status firewalld systemctl enable firewalld systemctl disable firewalld

[OS] cscope

less than 1 minute read

May 10 2020

개요 https://cscope.sourceforge.net/ 소스 코드를 찾아보기 위한 개발자 도구

[OS] clontab

less than 1 minute read

May 10 2020

보기 clontab -l

[OS] 크롬 설치

less than 1 minute read

May 10 2020

CentOS yum repository 추가 vim /etc/yum.repos.d/google-chrome.repo [google-chrome] name=google-chrome baseurl=http://dl.google.com/lin...

[OS][HP-UX] 패키지

less than 1 minute read

May 10 2020

설명 HP-UX는 depot이라는 독자적인 패키지 제공

[OS][CentOS] CentOS 8 릴리즈

less than 1 minute read

May 10 2020

주요 변경사항 CentOS Stream 추가 페도라와 레드햇 중간 버전 Fedora -> CentOS Stream -> RHEL -> CentOS 순으로 배포 안정성을 크게 잃지 않으면서 최신 기능을 먼저 사용하자의 의...

[OS] AIX 명령어

less than 1 minute read

May 10 2020

top == topas oslevel -r gdb = dbx dbx -a pid

Back to top ↑

orchestration

[Kubernetes] informers

less than 1 minute read

November 30 2023

개요 watch를 추상화하여 watch의 끊길 수 있는 문제(네트워크, 타임 아웃 등) 발생 시 재시도 예제 코드 Dockerfile yaml 실행 결과 I1130 02:49:21.773343 1 main.go:78] "main sta...

[kubernetes] Reloader

less than 1 minute read

November 22 2023

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

[kubernetes] Go client

2 minute read

October 05 2023

개요 GitHub 예제는 해당 클러스터의 파드로 기동된다고 가정 config 설정이 따로 필요 없음 외부 클러스터에 대한 예제 Dockerfile FROM golang:1.21.3 AS build WORKD...

[Kubernetes] Port Forwarding

1 minute read

August 07 2022

개요 하나 이상의 로컬 포트를 파드로 전달 kubectl port-forward를 이용 usage kubectl port-forward TYPE/NAME [options] [LOCAL_PORT:]REMOTE_PORT [...[LOCAL_PORT_N:...

[Kubernetes] Cluster 접근 구성

less than 1 minute read

August 06 2022

개요 kubeconfig를 이용하여 접근 구성 kubeconfig는 클러스터에 대한 접근을 구성하는 데 사용되는 파일($HOME/.kube/config) context(cluster, user, namespace) 및 authentication mechanisms로 구...

[Kubernetes] Operator pattern

less than 1 minute read

May 26 2022

개요 https://kubernetes.io/ko/docs/concepts/extend-kubernetes/operator/ Operator는 사용자 지정 리소스를 사용하여 어플리케이션 및 해당 구성 요소를 관리하는 Kubernetes의 소프트웨어 확장 Operator...

[Kubernetes] Deployments vs StatefulSets

less than 1 minute read

April 11 2022

Deployments https://kubernetes.io/ko/docs/concepts/workloads/controllers/deployment/ 파드와 레플리카셋에 대한 선언적 업데이트 제공 파드들의 기동/종료 순서가 보장되지 않음 Stateful 서비스가 ...

[Kubernetes] Klog

less than 1 minute read

September 09 2021

설명 https://kubernetes.io/ko/docs/concepts/cluster-administration/system-logs/ 쿠버네티스의 로깅 라이브러리 https://github.com/kubernetes/klog glog 이...

[Kubernetes] CronJob

less than 1 minute read

May 17 2021

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

[Kubernetes] Service

less than 1 minute read

February 23 2021

설명 Pod를 네트워크 서비스로 노출하는 방법 Pod는 비영구적 리소스이므로 직접 통신 보다 서비스를 생성하여 서비스를 통한 통신을 이용

[Kubernetes] ReplicaSet

less than 1 minute read

February 23 2021

설명 pod를 명시된 수 만큼 복제 및 관리 yaml .. pec: replicas: 3 ..

[Kubernetes] Deployment

less than 1 minute read

February 23 2021

설명 ReplicaSet/Pod 관리(업데이트, 롤백, …) ... kind: Deployment metadata: name: xxx ...

[Kubernetes] ConfigMap

less than 1 minute read

February 23 2021

설명 key-value 형태로 데이터를 저장하는 API 오브젝트 Pod에서 환경변수, 설정 파일 등으로 사용

[Kubernetes] autoscaler

less than 1 minute read

February 23 2021

VerticalPodAutoscaler 리소스를 추가한 파드를 생성하여 기존 파드를 대체

[Kubernetes] minikube

less than 1 minute read

February 18 2021

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

[Kubernetes] kubevirt

1 minute read

February 18 2021

minikube 설치 minikube addons enable kubevirt export VERSION=$(curl -s https://api.github.com/repos/kubevirt/kubevirt/releases | grep tag_name | gre...

[Kubernetes] 개요

1 minute read

February 15 2021

개요 https://kubernetes.io/ko/docs/home/ 배포, 스케일링, 그리고 컨테이너화된 애플리케이션의 관리를 자동화 해주는 오픈 소스 컨테이너 오케스트레이션 엔진

Back to top ↑

Kubernetes

[Kubernetes] informers

less than 1 minute read

November 30 2023

개요 watch를 추상화하여 watch의 끊길 수 있는 문제(네트워크, 타임 아웃 등) 발생 시 재시도 예제 코드 Dockerfile yaml 실행 결과 I1130 02:49:21.773343 1 main.go:78] "main sta...

[Kubernetes] Port Forwarding

1 minute read

August 07 2022

개요 하나 이상의 로컬 포트를 파드로 전달 kubectl port-forward를 이용 usage kubectl port-forward TYPE/NAME [options] [LOCAL_PORT:]REMOTE_PORT [...[LOCAL_PORT_N:...

[Kubernetes] Cluster 접근 구성

less than 1 minute read

August 06 2022

개요 kubeconfig를 이용하여 접근 구성 kubeconfig는 클러스터에 대한 접근을 구성하는 데 사용되는 파일($HOME/.kube/config) context(cluster, user, namespace) 및 authentication mechanisms로 구...

[Kubernetes] Operator pattern

less than 1 minute read

May 26 2022

개요 https://kubernetes.io/ko/docs/concepts/extend-kubernetes/operator/ Operator는 사용자 지정 리소스를 사용하여 어플리케이션 및 해당 구성 요소를 관리하는 Kubernetes의 소프트웨어 확장 Operator...

[Kubernetes] Deployments vs StatefulSets

less than 1 minute read

April 11 2022

Deployments https://kubernetes.io/ko/docs/concepts/workloads/controllers/deployment/ 파드와 레플리카셋에 대한 선언적 업데이트 제공 파드들의 기동/종료 순서가 보장되지 않음 Stateful 서비스가 ...

[Kubernetes] Klog

less than 1 minute read

September 09 2021

설명 https://kubernetes.io/ko/docs/concepts/cluster-administration/system-logs/ 쿠버네티스의 로깅 라이브러리 https://github.com/kubernetes/klog glog 이...

[Kubernetes] CronJob

less than 1 minute read

May 17 2021

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

[Kubernetes] Service

less than 1 minute read

February 23 2021

설명 Pod를 네트워크 서비스로 노출하는 방법 Pod는 비영구적 리소스이므로 직접 통신 보다 서비스를 생성하여 서비스를 통한 통신을 이용

[Kubernetes] ReplicaSet

less than 1 minute read

February 23 2021

설명 pod를 명시된 수 만큼 복제 및 관리 yaml .. pec: replicas: 3 ..

[Kubernetes] Deployment

less than 1 minute read

February 23 2021

설명 ReplicaSet/Pod 관리(업데이트, 롤백, …) ... kind: Deployment metadata: name: xxx ...

[Kubernetes] ConfigMap

less than 1 minute read

February 23 2021

설명 key-value 형태로 데이터를 저장하는 API 오브젝트 Pod에서 환경변수, 설정 파일 등으로 사용

[Kubernetes] autoscaler

less than 1 minute read

February 23 2021

VerticalPodAutoscaler 리소스를 추가한 파드를 생성하여 기존 파드를 대체

[Kubernetes] minikube

less than 1 minute read

February 18 2021

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

[Kubernetes] kubevirt

1 minute read

February 18 2021

minikube 설치 minikube addons enable kubevirt export VERSION=$(curl -s https://api.github.com/repos/kubevirt/kubevirt/releases | grep tag_name | gre...

[Kubernetes] 개요

1 minute read

February 15 2021

개요 https://kubernetes.io/ko/docs/home/ 배포, 스케일링, 그리고 컨테이너화된 애플리케이션의 관리를 자동화 해주는 오픈 소스 컨테이너 오케스트레이션 엔진

Back to top ↑

Elastic

[Elastic][Elasticsearch] runtime_mappings

less than 1 minute read

April 27 2022

개요 https://www.elastic.co/guide/en/elasticsearch/reference/current/runtime-search-request.html 검색 요청 시 runtime fields 정의 검색 요청에 runtime_mappings를 지정하여...

[Elastic][Elasticsearch] Runtime fields

less than 1 minute read

April 27 2022

개요 https://www.elastic.co/guide/en/elasticsearch/reference/current/runtime.html 쿼리 시 평가되는 필드 리인덱싱하지 않고 기존 문서에 필드 추가 가능 데이터 구조를 몰라도 데이터 작업 시작 가능 쿼리...

[Elastic][Elasticsearch] Painless

1 minute read

April 27 2022

개요 https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-guide.html 간단하고 안전한 스크립팅 언어 script_fields를 이용하여 스크립트 기반의 검색 가능

[Elastic][Elasticsearch] reindex

less than 1 minute read

June 07 2021

개요 mappings를 수정하거나 index 이름을 변경하거나 다른 서버의 데이터를 가져와야할 경우 사용 destination elasticsearch.yml에 reindex.remote.whitelist 설정 및 재기동 필요 reindex.remote...

[Elastic][observability] Metricbeat

1 minute read

April 13 2021

설명 https://www.elastic.co/guide/en/beats/metricbeat/7.x/index.html 매트릭 수집을 위한 Beat 수집 가능한 모듈 https://www.elastic.co/guide/en/beats/metricbe...

[Elastic][observability] Logstash

8 minute read

April 13 2021

설명 실시간 파이프라이닝 기능을 갖춘 오픈 소스 데이터 수집 엔진 다양한 소스에서 데이터 수집 및 필터 후 다양한 저장소로 출력 입력 https://www.elastic.co/guide/en/logstash/current/input-plugins.h...

[Elastic][observability] Beats

less than 1 minute read

April 13 2021

설명 https://github.com/elastic/beats 경량화 된 단일 목적의 데이터 수집기 직접 혹은 Logstash를 통해 Elasticsearch에 데이터를 전송 Filebeat, Metricbeat, Packetbeat, Winlogbeat, Aud...

[Elastic][Elasticsearch] 개요

4 minute read

April 13 2021

개요 분산형 분석 및 검색 엔진 다양한 유형의 데이터를 지원 전문 검색 지원 텍스트 역색인(inverted index) 사용 숫자, geo는 BKD trees 사용 모든 항목이 색인되므로 빠른 엑세스 가능 확장성, 정...

[Elastic] The Elastic Stack

less than 1 minute read

April 13 2021

The Elastic Stack https://www.elastic.co/kr/elastic-stack 구 ELK Stack Elasticsearch, Kibana, Beats, Logstash

Back to top ↑

cloud native

[cloud native][database] CloudNativePG

4 minute read

October 05 2024

개요 사이트/GitHub 모든 Kubernetes 클러스터에서 PostgreSQL 워크로드를 관리하도록 설계된 오픈소스 오퍼레이터 분산 토폴로지 기능 덕분에 프라이빗, 퍼블릭, 하이브리드 및 멀티클라우드 환경에서 배포를 지원 선언적 구성 및 불변 인프라와 같은 De...

[cloud native][workflow][Argo] Argo Events

2 minute read

May 06 2024

개요 사이트 / GitHub Kubernetes용 이벤트 기반 워크플로 자동화 프레임워크 특징 다양한 이벤트 소스의 종속성을 관리 이벤트 종속성 해결을 위한 비즈니스 수준 제약 논리를 사용자 정의하는 기...

[cloud native][platform] Nuclio

5 minute read

May 02 2024

개요 사이트 / GitHub 데이터, I/O 및 컴퓨팅 집약적인 워크로드에 초점을 맞춘 고성능 “서버리스” 프레임워크 Jupyter 및 Kubeflow와 같은 널리 사용되는 데이터 과학 도구와 잘 통합 CPU 및 GPU를 통한 실행을 지원 단일 함수 인스턴스는 ...

[cloud native][proxy] Traefik

1 minute read

May 01 2024

개요 사이트 오픈 소스 엣지 라우터 주요 목표 사용하기 쉽게 만드는 것 차별화 서비스에 적합한 구성을 자동으로 검색 인프라를 검사하여 관련 정보를 찾고 어떤 서비스가 어떤 요청을 제공하는지 발견 ...

[cloud native][platform][AWS] Amazon EKS(Elastic Kubernetes Service)

5 minute read

May 21 2023

개요 https://aws.amazon.com/ko/eks/ AWS와 온프레미스에서 손쉽게 Kubernetes를 실행할 수 있는 관리형 Kubernetes 서비스 컨테이너식 어플리케이션의 배포, 확장 및 관리를 자동화하기 위한 오픈 소스 시스템 컨테이너 예약, 어플...

[cloud native][platform][AWS] 개요

1 minute read

March 02 2023

개요 AWS(Amazon Web Services) 다양한 서비스를 제공하는 클라우드 컴퓨팅 서비스 서비스를 조합하여 모든 애플리케이션과 인프라 구축 가능 클라우드 컴퓨팅 서비스 서버 및 네트워크 등을 빌려주는...

[cloud native][platform] KubeVela

1 minute read

May 03 2022

개요 https://kubevela.io/ CNCF Sandbox Project modern application delivery platform 하이브리드, 멀티 클라우드 환경에서 애플리케이션을 더 쉽고 빠르게 제공하고 관리하는 플랫폼 주요 고객 ...

[cloud native][platform] KubeSphere

7 minute read

April 27 2022

개요 https://kubesphere.io/ 멀티 테넌트 Kubernetes 컨테이너 플랫폼 Kubernetes를 커널로 사용하는 어플리케이션 관리를 위한 클라우드 네이티브 분산 운영 체제 풀 스택 자동화 IT 운영과 간소화된 DevOps 워크플로우 지원 플러...

[cloud native][storage] OpenEBS

4 minute read

March 22 2022

설명 https://openebs.io/ kubernetes native storage solution CAS(Container Attached Storage) 패턴 사용 노드에서 사용 가능한 로컬 혹은 복제 pv를 제공하고 관리 Local pv ...

[cloud native][workflow][Argo] Argo Workflows

less than 1 minute read

January 18 2022

설명 https://argoproj.github.io/workflows 쿠버네티스 네이티브 워크플로우 엔진 CNCF incubating projects 병렬 작업을 오케스트레이션 워크플로우의 각 단계는 컨테이너 레벨에서 수행 작업에 종속성을 부여하여 작업 간...

Back to top ↑

network

[network][5G] NWDAF(Network Data Analytics Function)

1 minute read

April 23 2024

개요 5G 네트워크 자동화 및 지능화를 위해 5G 시스템 내의 새로운 표준기능 수집된 네트워크 데이터를 머신러닝을 이용하여 분석하고 결과를 5G 코어 네트워크 기능들에게 제공 운용 관리자들의 수동 설정 및 제어를 통한 관리를 인공지능 기술 기반의 완전 자동화 방식으로 ...

[network] SSE(Server-Sent Events)

less than 1 minute read

June 07 2023

개요 클라이언트가 HTTP 연결을 통해 서버에서 자동 업데이트를 수신할 수 있도록 하는 서버 푸시 기술 클라이언트는 서버에 데이터를 보낼 수 없음 응용 프로그램 등 서버로 부터 지속적으로 업데이트를 받아야 하지만 서버로 보낼 것이 없는 서비스에 유용 ...

[network] WebSocket, WebSocket API

less than 1 minute read

June 06 2023

WebSocket RFC 6455 지속적인 단일 소켓 연결을 통해 웹 클라이언트와 웹 서버 간의 전이중 통신을 가능하게 하는 실시간 프로토콜 클라이언트가 HTTP 요청을 통해 서버와 핸드셰이크 후 TCP 통신 WebSocket API REST API의 한계...

[network] comet

less than 1 minute read

June 01 2023

개요 위키백과 브라우저가 명시적으로 요청하지 않아도 웹 서버가 데이터를 브라우저에 푸시할 수 있는 웹 어플리케이션 모델 여러 기법을 두루 아우르는 포괄적 용어 WebSocket과 SSE(Server-Sent Events)의 표준화와 광범위한 지원으로 인해 더이상 사...

[network] SOAP

less than 1 minute read

March 28 2023

개요 Simple Object Access Protocol HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지 송수신하는 프로토콜 장점 프록시와 방화벽에 구애받지 않고 쉽게 통신 가능 XML 기반이므로 개발 도구 및 플랫폼 독립적 단점 ...

[network] IP

less than 1 minute read

March 27 2023

개요 인터넷 프로토콜(IP, Internet Protocol) RFC791 네트워크에서 정보를 송수신하는 통신에 대한 프로토콜 호스트에서 호스트까지의 통신을 책임 OSI 네트워크 계층에서 호스트의 주소지정과 패킷 분할 및 조립 기능 담당 특징 비신뢰...

[network] UDP

less than 1 minute read

March 26 2023

개요 사용자 데이터그램 프로토콜(UDP, User Datagram Protocol) Universal Datagram Protocol로도 불림 RFC768 신뢰성(유실 없이, 순서대로 송수신)을 보장하지 않는 프로토콜 스트리밍이...

[network] TCP

1 minute read

March 25 2023

개요 전송 제어 프로토콜(TCP, Transmission Control Protocol) RFC793 신뢰성(유실 없이, 순서대로 송수신)을 보장하는 프로토콜 TCP 세그먼트(segment) 프로토콜 데이터 단위 PDU(Protocol ...

[network] OSI 모형

1 minute read

March 23 2023

개요 Open Systems Interconnection Reference Model 국제표준화기구(ISO)에서 개발한 모델 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것 ‘OSI 7 계층’이라고도 불림 계층 계층 1: 물리 계층(...

[network] REST/REST API

2 minute read

March 22 2023

개요 REST(Representational State Transfer) 로이 필딩(Roy Fielding)의 2000년 박사학위 논문에서 소개 네트워크 통신 설계 지침 리소스를 정의하고 리소스에 대한 주소를 지정하기 위한 방법 프로토콜이...

[network] EAGAIN과 EWOULDBLOCK의 차이점

less than 1 minute read

February 06 2023

개요 일반적으로 동일한 값을 지니며 동일하게 취급해야하며 이식성을 위해 두 값 모두 처리하는 것을 권장

[network] endian

less than 1 minute read

January 26 2023

개요 endian 데이터가 저장되는 순서 CPU에 따라 엔디안 방식이 다름 네트워크 통신 시 빅 엔디안을 이용하고 시스템에 맞게 변환하여 사용 big endian 낮은 주소에 높은 바이트 부터 저장...

Back to top ↑

monitoring

[monitoring] psutil

1 minute read

April 03 2024

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

[monitoring] Thanos

6 minute read

August 22 2022

개요 Website GitHub 장기 저장 기능이 있는 고가용성 오픈 소스 Prometheus 설정 Apache-2.0 license CNCF Incubating Project 단일 바이너리의 핵심 기능으로 글로벌 쿼리 보기, 고가용성, 과거의 저렴한 데이터...

[Prometheus][PromQL] 개요

2 minute read

March 09 2021

PromQL ? Prometheus Query Language 사용자가 실시간으로 시계열 데이터를 선택하고 집계 할 수 있는 쿼리 언어 주석(#) 지원

[Prometheus] 개요

2 minute read

March 03 2021

개요 https://prometheus.io/docs/introduction/overview/ CNCF Graduated Project 오픈 소스 시스템 모니터링 및 경고 툴킷 매트릭을 시계열 형태로 수집하고 저장

Back to top ↑

Elasticsearch

[Elastic][Elasticsearch] runtime_mappings

less than 1 minute read

April 27 2022

개요 https://www.elastic.co/guide/en/elasticsearch/reference/current/runtime-search-request.html 검색 요청 시 runtime fields 정의 검색 요청에 runtime_mappings를 지정하여...

[Elastic][Elasticsearch] Runtime fields

less than 1 minute read

April 27 2022

개요 https://www.elastic.co/guide/en/elasticsearch/reference/current/runtime.html 쿼리 시 평가되는 필드 리인덱싱하지 않고 기존 문서에 필드 추가 가능 데이터 구조를 몰라도 데이터 작업 시작 가능 쿼리...

[Elastic][Elasticsearch] Painless

1 minute read

April 27 2022

개요 https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-guide.html 간단하고 안전한 스크립팅 언어 script_fields를 이용하여 스크립트 기반의 검색 가능

[Elastic][Elasticsearch] reindex

less than 1 minute read

June 07 2021

개요 mappings를 수정하거나 index 이름을 변경하거나 다른 서버의 데이터를 가져와야할 경우 사용 destination elasticsearch.yml에 reindex.remote.whitelist 설정 및 재기동 필요 reindex.remote...

[Elastic][Elasticsearch] 개요

4 minute read

April 13 2021

개요 분산형 분석 및 검색 엔진 다양한 유형의 데이터를 지원 전문 검색 지원 텍스트 역색인(inverted index) 사용 숫자, geo는 BKD trees 사용 모든 항목이 색인되므로 빠른 엑세스 가능 확장성, 정...

Back to top ↑

SQL

[SQL] Statement와 PreparedStatement

less than 1 minute read

April 22 2023

개요 SQL 처리 과정 차이에 따라 구분 Statement 매번 모든 과정을 수행 SQL문 예제 INSERT INTO test(id, name) VALUES(1, 'a'); SQL injection과 같은 보안 문제 발생 ...

[SQL] 처리 과정

less than 1 minute read

April 21 2023

설명 parse -> bind -> execute -> patch parse soft parse 문법 검사(syntax check) Parse Tree 생...

[SQL] 개요

less than 1 minute read

March 29 2023

개요 구조적 데이터 질의 언어(Structured Query Language) 문법 데이터 정의 언어(DDL, Data Definition Language) CREATE DROP ALTER 데이터 조작 언...

[SQL] 권한 설정

less than 1 minute read

May 19 2020

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

[SQL] 유저 생성

less than 1 minute read

May 19 2020

RDB CREATE USER user_name@'%' identified by 'password';

[SQL] ALTER TABLE

less than 1 minute read

May 19 2020

컬럼 추가 MySQL ALTER TABLE TABLE_NAME ADD COLUMN COLUMN_2 INT(11) NOT NULL DEFAULT '0' AFTER COLUMN_1; PostgreSQL ALTER TABLE...

Back to top ↑

Prometheus

[Prometheus][PromQL] 개요

2 minute read

March 09 2021

PromQL ? Prometheus Query Language 사용자가 실시간으로 시계열 데이터를 선택하고 집계 할 수 있는 쿼리 언어 주석(#) 지원

[Prometheus] 개요

2 minute read

March 03 2021

개요 https://prometheus.io/docs/introduction/overview/ CNCF Graduated Project 오픈 소스 시스템 모니터링 및 경고 툴킷 매트릭을 시계열 형태로 수집하고 저장

Back to top ↑

observability

[observability] Vector

3 minute read

May 07 2024

개요 사이트 관측 가능성 데이터를 제어할 수 있게 해주는 고성능 관측 가능성 데이터 파이프라인 관측 가능성 데이터(모든 로그, 지표 및 추적)를 수집, 변환 및 라우팅 sources -> transforms -> sinks ...

[observability] Fluentd

less than 1 minute read

September 07 2021

설명 오픈 소스 데이터 수집기 CNCF Graduated Project

[Elastic][observability] Metricbeat

1 minute read

April 13 2021

설명 https://www.elastic.co/guide/en/beats/metricbeat/7.x/index.html 매트릭 수집을 위한 Beat 수집 가능한 모듈 https://www.elastic.co/guide/en/beats/metricbe...

[Elastic][observability] Logstash

8 minute read

April 13 2021

설명 실시간 파이프라이닝 기능을 갖춘 오픈 소스 데이터 수집 엔진 다양한 소스에서 데이터 수집 및 필터 후 다양한 저장소로 출력 입력 https://www.elastic.co/guide/en/logstash/current/input-plugins.h...

[Elastic][observability] Beats

less than 1 minute read

April 13 2021

설명 https://github.com/elastic/beats 경량화 된 단일 목적의 데이터 수집기 직접 혹은 Logstash를 통해 Elasticsearch에 데이터를 전송 Filebeat, Metricbeat, Packetbeat, Winlogbeat, Aud...

Back to top ↑

platform

[cloud native][platform] Nuclio

5 minute read

May 02 2024

개요 사이트 / GitHub 데이터, I/O 및 컴퓨팅 집약적인 워크로드에 초점을 맞춘 고성능 “서버리스” 프레임워크 Jupyter 및 Kubeflow와 같은 널리 사용되는 데이터 과학 도구와 잘 통합 CPU 및 GPU를 통한 실행을 지원 단일 함수 인스턴스는 ...

[cloud native][platform][AWS] Amazon EKS(Elastic Kubernetes Service)

5 minute read

May 21 2023

개요 https://aws.amazon.com/ko/eks/ AWS와 온프레미스에서 손쉽게 Kubernetes를 실행할 수 있는 관리형 Kubernetes 서비스 컨테이너식 어플리케이션의 배포, 확장 및 관리를 자동화하기 위한 오픈 소스 시스템 컨테이너 예약, 어플...

[cloud native][platform][AWS] 개요

1 minute read

March 02 2023

개요 AWS(Amazon Web Services) 다양한 서비스를 제공하는 클라우드 컴퓨팅 서비스 서비스를 조합하여 모든 애플리케이션과 인프라 구축 가능 클라우드 컴퓨팅 서비스 서버 및 네트워크 등을 빌려주는...

[cloud native][platform] KubeVela

1 minute read

May 03 2022

개요 https://kubevela.io/ CNCF Sandbox Project modern application delivery platform 하이브리드, 멀티 클라우드 환경에서 애플리케이션을 더 쉽고 빠르게 제공하고 관리하는 플랫폼 주요 고객 ...

[cloud native][platform] KubeSphere

7 minute read

April 27 2022

개요 https://kubesphere.io/ 멀티 테넌트 Kubernetes 컨테이너 플랫폼 Kubernetes를 커널로 사용하는 어플리케이션 관리를 위한 클라우드 네이티브 분산 운영 체제 풀 스택 자동화 IT 운영과 간소화된 DevOps 워크플로우 지원 플러...

Back to top ↑

algorithm

[알고리즘] 그리디 알고리즘(Greedy Algorithm)

less than 1 minute read

June 03 2022

개요 매 순간 최적의 답을 찾는 알고리즘 전체적으로 보았을 때는 최적의 해는 아닐 수 있음 탐욕 선택 속성(greedy choice property)과 최적 부분 구조(optimal substructure)에 적합 현재 선택이 다음 선택에 영향이 없...

[알고리즘] 백트래킹(Backtracking)

2 minute read

June 02 2022

개요 모든 경우의 수를 전부 고려하는 알고리즘 상태공간을 트리로 나타낼 수 있을 때 적합한 방식 BFS는 큐의 크기를 고려해야하고 DFS는 트리의 깊이를 고려하여 선택 최단 거리의 경우 BFS가 유리

[알고리즘] 깊이 우선 탐색(Depth First Search)

less than 1 minute read

May 28 2022

개요 트리나 그래프에서 한 루트로 탐색하다가 특정 상황에서 최대한 깊숙이 들어가서 확인한 뒤 다시 돌아가 다른 루트로 탐색하는 방식 검색보다 순회에 주로 사용 백트래킹에 주로 사용 현 경로상의 노드들만 기억하면 되므로 저장공간을 적게 사용 해가 여러개일 경우 최...

[알고리즘] 동적 계획법(Dynamic Programming)

less than 1 minute read

May 24 2022

개요 복잡한 문제를 간단한 여러 개의 문제로 나누어 해결 메모이제이션(Memoization)을 이용 이전에 계산한 값을 저장해두었다가 사용함으로서 중복 계산 방지 최적성의 원리(Principle of optimality를 만족시켜야 함...

[알고리즘] 정렬

3 minute read

May 15 2022

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

Back to top ↑

security

[security] SQL injection

less than 1 minute read

April 02 2023

개요 코드 인젝션의 한 기법 클라이언트의 입력 값을 조작하여 서버의 데이터베이스를 공격

[보안] 인증/인가

less than 1 minute read

February 13 2023

인증 사용자의 신원을 확인하는 보안 프로세스 구성 요소 비밀번호 일회용 핀 인증 앱 생체 인식 …

[OpenSSL] tls 확인

less than 1 minute read

January 11 2022

가능한 통신 리스트 nmap --script ssl-enum-ciphers -p 993 ${host}

[OpenSSL] 빌드 방법

less than 1 minute read

January 11 2022

공통 https://www.openssl.org/source/ OS 별 config 수행 make depend make make test make install

[OpenSSL] 암호화/복호화

less than 1 minute read

May 10 2020

설명 암호화를하면 암호화된 문자열 중간에 끝을 의미하는 \0이 들어갈 수 있음 printf를 하거나 string에 넣으면 짤릴 수 있음 위와 같은 이유로 암호화된 문자열은 char 형태의 자료형과 길이가 같이 움직이며 표현을 위해 base...

Back to top ↑

methodology

[methodology] row major와 columnm major

less than 1 minute read

February 07 2023

개요 다차원 배열을 선형 저장소에 저장하는 방법 row major 행 순서로 저장 a11, a12, a13, a21, a22, … C/C++/Objective-C, PL/I, Pascal, Speakeasy, SAS ...

[methodology] spurious wakeup

1 minute read

October 12 2022

개요 spurious(가짜의) wakeup(일으키다) 조건이 충족되지 않았음에도 대기중인 스레드가 깨어나는 현상 운영 체제 레벨에서 조건 및 경합 처리시 규현 유연성을 위해 하나의 신호에 대해 여러 스레드를 깨우거나 신호가 없어도 깨우기도 함 일반적으로는 스레드가 ...

[methodology] 디자인 패턴

1 minute read

May 14 2022

개요 설계를 할 때 자주 발생하는 문제들을 해결하기 위해 사용되는 패턴 디자인 패턴보다 중요한 것은 코드의 간결성 디자인 패턴은 설계 방법을 정리한 코딩 방법론이지 모든 상황의 해결책은 아님

[methodology] 객체 지향 프로그래밍(OOP, Object-Oriented Programming)

1 minute read

May 13 2022

개요 설계 방법론 객체라는 기본 단위로 나누고 객체간의 상호작용을 서술하는 방식 객체란 자료와 행동의 묶음 객체지향은 특정 언어가 아니라 개념 상향식(Bottom-up) 문제 해결 작은 문제를 해결하는 객체를 만든 후 객체들의 조합으로 큰 문...

[methodology] Stateless vs Stateful

less than 1 minute read

April 11 2022

Stateless 상태를 저장하지 않거나 데이터베이스에 저장 서버가 여러개일 때 어느 서버에 요청하든 상관 없음 스케일 인/아웃 용이

[methodology] 멀티테넌시(Multitenancy)

less than 1 minute read

April 11 2022

설명 1개가 N개인 것처럼 동작하는 아키텍처 테넌시 사용자 그룹 고객사 서로 다른 사용자 그룹이 자신만의 서비스 혹은 자원을 사용하게 하는, 사용한다고 생각하게 하는 아키텍처 소프트웨어 SaaS(Sof...

Back to top ↑

AI

[AI][Kubeflow] 개요

2 minute read

April 22 2024

개요 사이트 Kubernetes용 머신 러닝 툴킷 Kubernetes에서 기계 학습(ML) 워크플로를 간단하고 이식 가능하며 확장 가능하게 배포 목표는 ML용 최고의 오픈 소스 시스템을 다양한 인프라에 배포할 수 있는 간단한 방법을 제공하는 것 ML 파이프라인을...

[AI] MLOps

11 minute read

April 21 2024

정의 위키백과 프로덕션 환경에서 기계 학습 모델을 안정적이고 효율적으로 배포하고 유지하는 것을 목표로 하는 패러다임 기계 학습 모델은 격리된 실험 시스템에서 테스트되고 개발 알고리즘을 시작할 준비가 되면 데이터 과학자, 데브옵스 및 기...

[AI] 인공지능(Artificial Intelligence)

less than 1 minute read

April 20 2024

정의 인간의 학습능력, 추론능력, 지각능력을 인공적으로 구현하려는 컴퓨터 과학의 세부분야 중 하나

[AI] 심층 학습(Deep Learning)

less than 1 minute read

April 19 2024

정의 기계 학습 종류 중 하나인 인공신경망 방법론 중 하나 정제되지 않는 방대한 데이터의 노이즈를 해소하고 빠르게 예측된 해를 찾게 해 주는 것

[AI] 기계 학습(Machine Learning)

less than 1 minute read

April 18 2024

정의 CMU의 교수 Tom M. Mitchell이 제시 A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if...

Back to top ↑

editor

[Vim] vim-go

less than 1 minute read

February 13 2022

설명 https://github.com/fatih/vim-go Vim에 대한 Go 언어 지원을 추가하는 플러그인 여러가지 설치 방법 존재 Vim 8 packages vim-plug Pathogen Vundle ...

[Vim] 자동 완성

less than 1 minute read

February 13 2022

설명 https://github.com/ycm-core/YouCompleteMe Vim에 대한 코드 자동 완성 엔진을 추가하는 플러그인

[Vim] 설정

less than 1 minute read

May 10 2020

~/.vimrc 자동 주석 끄기 au FileType * setl fo-=cro 탭 크기 set tabstop=4 상태 표시줄 set laststatus=2 0 : sta...

Back to top ↑

Vim

[Vim] vim-go

less than 1 minute read

February 13 2022

설명 https://github.com/fatih/vim-go Vim에 대한 Go 언어 지원을 추가하는 플러그인 여러가지 설치 방법 존재 Vim 8 packages vim-plug Pathogen Vundle ...

[Vim] 자동 완성

less than 1 minute read

February 13 2022

설명 https://github.com/ycm-core/YouCompleteMe Vim에 대한 코드 자동 완성 엔진을 추가하는 플러그인

[Vim] 설정

less than 1 minute read

May 10 2020

~/.vimrc 자동 주석 끄기 au FileType * setl fo-=cro 탭 크기 set tabstop=4 상태 표시줄 set laststatus=2 0 : sta...

Back to top ↑

Quality-Control

[Quality Control] Jenkins

less than 1 minute read

January 21 2022

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

[Quality Control] Litmus

less than 1 minute read

January 20 2022

설명 https://litmuschaos.io/ 클라우드 네이티브 카오스 엔지니어링 플랫폼 CNCF graduated projects 카오스 엔지니어링 시스템이 예상하지 못한 상황을 견딜 수 있는지를 확인하기 위해 실험하는 분야

[Quality Control] 이슈 트래킹 시스템

less than 1 minute read

May 10 2020

개요 이슈 목록을 관리하는 소프트웨어 관리자, 기획자, 개발자, QA, 기술지원팀 간에 효율적인 의사소통을 하는 것이 목적

Back to top ↑

OpenSSL

[OpenSSL] tls 확인

less than 1 minute read

January 11 2022

가능한 통신 리스트 nmap --script ssl-enum-ciphers -p 993 ${host}

[OpenSSL] 빌드 방법

less than 1 minute read

January 11 2022

공통 https://www.openssl.org/source/ OS 별 config 수행 make depend make make test make install

[OpenSSL] 암호화/복호화

less than 1 minute read

May 10 2020

설명 암호화를하면 암호화된 문자열 중간에 끝을 의미하는 \0이 들어갈 수 있음 printf를 하거나 string에 넣으면 짤릴 수 있음 위와 같은 이유로 암호화된 문자열은 char 형태의 자료형과 길이가 같이 움직이며 표현을 위해 base...

Back to top ↑

service-mesh

[service mesh] Linkerd

15 minute read

July 23 2022

개요 Website 쿠버네티스용 서비스 메시 CNCF Graduated Project Apache License 2.0 애플리케이션 변경 없이 런타임 디버깅, 관찰 가능성, 안정성 및 보안을 제공 완전한 솔루션은 아님 서비스 메시는...

[service mesh] Istio

41 minute read

September 02 2020

개요 Website GitHub Istio ‘돛’을 뜻하는 그리스어 분산 애플리케이션에 투명하게 계층화되는 오픈 소스 서비스 메시 개발자와 운영자가 분산 또는 마이크로서비스 아키텍처에서 직면하는 문제를 해결 서비스를 보호, ...

[service mesh] 개요

less than 1 minute read

September 01 2020

설명 마이크로 서비스의 문제(보안, 트래픽 제어, 관찰 가능성)를 소프트웨어 레벨이 아니라 인프라 레벨에서 해결하기 위한 아키텍쳐 서비스간 통신 시 서비스들이 직접 통신하는 것이 아니라 서비스마다 프록시를 붙여서 프록시간 통신 서비스의 입출력 트래픽을 네트워크 단에서 ...

Back to top ↑

docker

[docker] 개요

less than 1 minute read

March 20 2023

개념 사이트 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼 컨테이너를 통해 호스트 환경과 격리된 환경에서 애플리케이션을 독립적으로 실행 가능 컨테이너 호스트 시스템과 격리된 시스템의 샌드박스 프로세스 리눅스...

[docker] 에러 해결

less than 1 minute read

March 19 2023

docker: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock user가 docker group에 없을 경우 발생 해결 ...

[docker] Docker Engine API(Docker daemon)

1 minute read

May 28 2022

개요 https://docs.docker.com/engine/api/ 도커는 도커 데몬(Docker Engine API)과 상호 작용하기 위한 HTTP(RESTful) API와 SDK 제공 SDK는 하위 버전 호환

Back to top ↑

AWS

[cloud native][platform][AWS] Amazon EKS(Elastic Kubernetes Service)

5 minute read

May 21 2023

개요 https://aws.amazon.com/ko/eks/ AWS와 온프레미스에서 손쉽게 Kubernetes를 실행할 수 있는 관리형 Kubernetes 서비스 컨테이너식 어플리케이션의 배포, 확장 및 관리를 자동화하기 위한 오픈 소스 시스템 컨테이너 예약, 어플...

[cloud native][platform][AWS] 개요

1 minute read

March 02 2023

개요 AWS(Amazon Web Services) 다양한 서비스를 제공하는 클라우드 컴퓨팅 서비스 서비스를 조합하여 모든 애플리케이션과 인프라 구축 가능 클라우드 컴퓨팅 서비스 서버 및 네트워크 등을 빌려주는...

Back to top ↑

debug

[debug] valgrind

1 minute read

April 05 2023

개요 사이트 Linux 프로그램 디버깅 및 프로파일링을 위한 오픈 소스 도구 설치 dnf install valgrind 메모리 릭 소스 #include <iostream> using namespace std; ...

[debug] coredumpctl

1 minute read

February 06 2023

개요 코어 덤프를 확인하는 명령어 바이너리 위치 및 코어 파일 위치 관리 불필요

[debug] gdb 사용법

less than 1 minute read

May 10 2020

실행 코어 파일 gdb ${binary} ${core} 바이너리 gdb --args ${binary} -s -b arg 자식 프로세스가 수행되는 경우 set follow-fo...

Back to top ↑

DevOps

[DevOps] 개발 트렌드

less than 1 minute read

January 19 2022

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

[DevOps] DevOps에 대한 개인적인 생각

1 minute read

August 20 2021

DevOps라고 말하면 ‘개발자가 기획, 개발, 테스트, 설치, 운영 등 이것 저것 다 하는 것’이라고 생각하는 사람들이 많은 것 같다.

Back to top ↑

Git

[Git] branching model

3 minute read

August 20 2022

Git flow 다양한 유형의 브랜치를 이용한 모델 각 브랜치에는 특정 목적이 있으며 분기 및 머지 정책에 대한 엄격한 규칙을 적용 아키텍쳐 주요 브랜치 수명이 무한 default(mai...

[Git] author 변경 방법

less than 1 minute read

December 20 2021

방법 python3 -m pip install --user git-filter-repo mailmap 파일 생성 name <${new mail address}> <${old mail address}> ex ...

Back to top ↑

workflow

[cloud native][workflow][Argo] Argo Events

2 minute read

May 06 2024

개요 사이트 / GitHub Kubernetes용 이벤트 기반 워크플로 자동화 프레임워크 특징 다양한 이벤트 소스의 종속성을 관리 이벤트 종속성 해결을 위한 비즈니스 수준 제약 논리를 사용자 정의하는 기...

[cloud native][workflow][Argo] Argo Workflows

less than 1 minute read

January 18 2022

설명 https://argoproj.github.io/workflows 쿠버네티스 네이티브 워크플로우 엔진 CNCF incubating projects 병렬 작업을 오케스트레이션 워크플로우의 각 단계는 컨테이너 레벨에서 수행 작업에 종속성을 부여하여 작업 간...

Back to top ↑

Argo

[cloud native][workflow][Argo] Argo Events

2 minute read

May 06 2024

개요 사이트 / GitHub Kubernetes용 이벤트 기반 워크플로 자동화 프레임워크 특징 다양한 이벤트 소스의 종속성을 관리 이벤트 종속성 해결을 위한 비즈니스 수준 제약 논리를 사용자 정의하는 기...

[cloud native][workflow][Argo] Argo Workflows

less than 1 minute read

January 18 2022

설명 https://argoproj.github.io/workflows 쿠버네티스 네이티브 워크플로우 엔진 CNCF incubating projects 병렬 작업을 오케스트레이션 워크플로우의 각 단계는 컨테이너 레벨에서 수행 작업에 종속성을 부여하여 작업 간...

Back to top ↑

kubernetes

[kubernetes] Reloader

less than 1 minute read

November 22 2023

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

[kubernetes] Go client

2 minute read

October 05 2023

개요 GitHub 예제는 해당 클러스터의 파드로 기동된다고 가정 config 설정이 따로 필요 없음 외부 클러스터에 대한 예제 Dockerfile FROM golang:1.21.3 AS build WORKD...

Back to top ↑

PromQL

[Prometheus][PromQL] 개요

2 minute read

March 09 2021

PromQL ? Prometheus Query Language 사용자가 실시간으로 시계열 데이터를 선택하고 집계 할 수 있는 쿼리 언어 주석(#) 지원

Back to top ↑

prometheus-exporter

Back to top ↑

microservice

[microservice] Monitoring vs Observability

less than 1 minute read

June 25 2022

Monitoring 데이터를 수집하는 행위 사전에 정의된 정보를 수집하여 특정 상황에 대해 경고 발생 특정 항목에 집중 모니터링은 관찰 가능성의 전제 조건 지식 혹은 경험에 의해 알고(예상할 수) 있는 시스템에 적합 예시 혈압 측정기 ...

[microservice] 아키텍처

1 minute read

May 09 2022

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

Back to top ↑

term

[용어] 오버플로우

1 minute read

April 10 2023

개요 영단어 ‘넘치다’, ‘범람하다’ 컴퓨터 정수 연산의 계산 결과가 허용 범위를 초과할 때 발생하는 오류 -127 ~ 127 범위에서 127에 1을 더하면 -127이 되고 -127에 1을 빼면 127이 되는...

[용어] EaaS/XaaS/SaaS/PaaS/IaaS

less than 1 minute read

February 15 2023

개요 EaaS(Everything as a Service), XaaS(Anything as a Service) 다양한 서비스를 지칭하는 일반적인 용어 대표적인 예는 SaaS, PaaS, IaaS SaaS(Software as a...

Back to top ↑

Kubeflow

[AI][Kubeflow] 개요

2 minute read

April 22 2024

개요 사이트 Kubernetes용 머신 러닝 툴킷 Kubernetes에서 기계 학습(ML) 워크플로를 간단하고 이식 가능하며 확장 가능하게 배포 목표는 ML용 최고의 오픈 소스 시스템을 다양한 인프라에 배포할 수 있는 간단한 방법을 제공하는 것 ML 파이프라인을...

Back to top ↑

BaaS

[BaaS] PocketBase

1 minute read

May 03 2024

개요 사이트 / GitHub 하나의 파일로 구성된 SaaS 및 모바일 앱을 위한 오픈 소스 백엔드 실시간 구독, 내장된 인증 관리, 편리한 대시보드 UI 및 간단한 REST-ish API를 갖춘 내장형 데이터베이스(SQLite)로 구성된 오픈 소스 백엔드 설치 ...

[BaaS] 개요

less than 1 minute read

April 25 2024

BaaS(Backend as a Service) 개발자에게 백엔드를 쉽게 구축할 수 있는 방법을 제공하는 서비스 모든 백그라운드 측면을 아웃소싱하여 프런트엔드만 작성하고 유지 관리하면 되는 클라우드 서비스 모델 개발자는 백엔드를 구축하거나 유지 관리할 필요 없이 애플리...

Back to top ↑

CMake

[CMake] 다른 프로젝트 참조 방법

less than 1 minute read

May 12 2020

git submodule 이용 git 저장소 안에 다른 git 저장소를 디렉토리로 분리해 넣는 방법 git을 이용하기 때문에 명시적인 표현이 가능 프로젝트에서 참조하는 다른 프로젝트들의 리스트를 본다거나 수정을 할 수 있음 사용 방법이...

Back to top ↑

Boost

[Boost] 개요

less than 1 minute read

January 11 2022

설명 https://www.boost.org/ C++ 라이브러리들의 집합 부스트로 시작하여 표준에 포함되는 경우가 적지 않음

Back to top ↑

telnet

Back to top ↑

messaging

[messaging] CloudEvents

less than 1 minute read

January 17 2022

설명 https://cloudevents.io/ 일반적인 방식으로 이벤트 데이터를 설명하기 위한 사양 CNCF graduated projects 다양한 언어의 SDK 제공 C#, Go, Java, Javascript/TypeScript, PHP,...

Back to top ↑

storage

[cloud native][storage] OpenEBS

4 minute read

March 22 2022

설명 https://openebs.io/ kubernetes native storage solution CAS(Container Attached Storage) 패턴 사용 노드에서 사용 가능한 로컬 혹은 복제 pv를 제공하고 관리 Local pv ...

Back to top ↑

article

Back to top ↑

tracing

[tracing] Jaeger

6 minute read

June 20 2022

개요 https://www.jaegertracing.io/ 분산 추적 시스템(distributed tracing system) CNCF Graduated Project 마이크로 서비스 기반 분산 시스템을 모니터링하고 문제를 해결 복잡한 분산 시스템의 트랜잭션 모...

Back to top ↑

Remote Procedure Call

[Remote Procedure Call] gRPC

less than 1 minute read

February 10 2023

개요 사이트 라이센스 Apache 2.0 구글이 개발한 RPC 프레임워크 CNCF incubation project 11개의 언어를 대상으로 http/2 기반의 크로스 플랫폼 지원 주요 사용 시나리오 MS...

Back to top ↑

Feature-Flagging

[Feature Flagging] OpenFeature

less than 1 minute read

April 01 2024

개요 Feature Flagging에 대한 오픈 규격 사이트 규격 Feature Flag 코드 수정 없이 특정 기능을 활성화, 비활성화 또는 변경할 수 있도록 하는 소프트웨어 개발 기술 사용자 별 기능 노출, 릴리스 전략(카나리, A/B 등) 등에 사용...

Back to top ↑

Feature Flagging

[Feature Flagging] GO Feature Flag

2 minute read

April 02 2024

개요 사이트/GitHub OpenFeature를 만족하는 프로바이더 OpenFeature SDK 또는 GO module로 사용 Feature Flag 구성 구성 접근방식 YAML, TOML or JSON S3, Google C...

Back to top ↑

5G

[network][5G] NWDAF(Network Data Analytics Function)

1 minute read

April 23 2024

개요 5G 네트워크 자동화 및 지능화를 위해 5G 시스템 내의 새로운 표준기능 수집된 네트워크 데이터를 머신러닝을 이용하여 분석하고 결과를 5G 코어 네트워크 기능들에게 제공 운용 관리자들의 수동 설정 및 제어를 통한 관리를 인공지능 기술 기반의 완전 자동화 방식으로 ...

Back to top ↑

proxy

[cloud native][proxy] Traefik

1 minute read

May 01 2024

개요 사이트 오픈 소스 엣지 라우터 주요 목표 사용하기 쉽게 만드는 것 차별화 서비스에 적합한 구성을 자동으로 검색 인프라를 검사하여 관련 정보를 찾고 어떤 서비스가 어떤 요청을 제공하는지 발견 ...

Back to top ↑