Skip to content
Beside the Wheel
Search
Ctrl
K
Cancel
Email
GitHub
Select theme
Dark
Light
Auto
공부
(5)
spot 인스턴스에서 서버 가용성 개선하기
eBPF로 서버 성능 Profiling하는 법: Pyroscope의 구현 살펴보기
정수론부터 RSA까지
strace로 shaka-packager 버그 추적
Kubernetes The Hard Way
TIL
(937)
AI
(43)
DevOps
(230)
Network
(61)
OS
(155)
개발
(113)
과학
(1)
데이터베이스
(64)
서버
(72)
수학
(20)
알고리즘
(24)
암호학
(32)
언어
(95)
컴퓨터구조
(3)
코드
(24)
독후감
(43)
과학
(1)
사회
(2)
산문
(3)
소설
(12)
인문
(11)
자기계발
(7)
철학
(7)
생각
(6)
고민
변화에 대하여
의식의 영역에 대하여
본질을 보려면
짧은 생각들
소유냐 존재냐
회고
(14)
2022.03-04 대덕소마고 입학소감/다짐
2022.05-08 프로젝트와 인간관계
2022.09-2023.02 불안과 판단
2023.03-07 DMS 리더 회고
2023.08-11 나는 누구인가?
2023.12 더 많은 걸 배우기 위한 경험
2024.01-02 회사 인턴 회고
2024.03-04 고3 근황
2024.05-07 고등학교 마무리
2024.08-12 첫 회사
2025.01-03 입출력
2025.03-08 효능감이란 무엇일까
2025.09-12 연말회고
2026.01-08 담론
Email
GitHub
Select theme
Dark
Light
Auto
태그: etc
총 13개의 글이 있습니다.
kanata
etc
2026. 2. 26.
kanata는 Rust로 작성된 크로스플랫폼 키보드 리매퍼다. macOS의 Karabiner-Elements와 유사한 역할을 하며, Linux, macOS, Windows에서 모두 동작한다. 키 입력을 커널 레벨의 input 디바이스에서 가로채어 uinput을 통해 가상 키보드 이벤트를 생성한다. 설치 공식 릴리즈에서 x64 Linux 바이너리를 제공하지만, aarch64 환경에서는 소스에서 직접 빌드해야 한다. bash cargo install kanata Linux 권한 설정 kanata는 `/dev/input/*` 장치를 읽고 `/dev/uinput`에 쓰기 위한 권한이 필요하다. bash input, uinput 그룹에 사용자 추가 sudo groupadd uinpu
GNOME
etc
2026. 2. 25.
GNOME(GNU Network Object Model Environment)은 Linux 및 Unix 계열 운영체제를 위한 데스크톱 환경이다. GTK 툴킷 기반으로, Ubuntu, Fedora, RHEL, Debian 등 주요 배포판에서 기본 DE로 쓰인다. 1997년 KDE가 사용하던 Qt 라이브러리의 라이선스 문제를 해결하기 위해 시작된 프로젝트다. 완전한 자유 소프트웨어 데스크톱을 목표로 Miguel de Icaza와 Federico Mena가 만들었고, GNU 프로젝트의 공식 데스크톱 환경이 되었다. 소프트웨어 스택 GNOME은 여러 계층의 컴포넌트로 구성된다. GNOME Shell (UI, JavaScript/GJS) ↓ Mutter (윈도우 매니저 / Wayla
NTP
etc
2025. 2. 3.
보통 서버의 타임존은 NTP 라는 프로토콜로 중앙 서버와 통신하여 동기화된다. `timedatectl`로 Local time과 NTP 정보를 확인할 수 있다. $ timedatectl Local time: 금 2025-01-17 01:46:55 KST Universal time: 목 2025-01-16 16:46:55 UTC RTC time: 목 2025-01-16 16:46:56 Time zone: Asia/Seoul (KST, +0900) NTP enabled: yes NTP synchronized: yes RTC in local TZ: no DST active: n/a $ timedatectl --help timedatectl [
set
etc
2024. 10. 5.
linux의 set 명령어는 다양한 기능을 가지고 있다. 변수 출력 set 명령어를 인수 없이 실행하면 셸에 설정된 환경변수 및 변수 목록을 출력한다. $ set '!'=0 ''=0 '$'=65931 '*'=( ) -=569XZilms 0=-zsh '?'=0 @=( ) ARGC=0 BUN_INSTALL=/Users/rlaisqls/.bun CDPATH='' COLORTERM=truecolor COLUMNS=178 COMMAND_MODE=unix2003 CPUTYPE=arm64 DISABLE_UPDATE_PROMPT=true ... 옵션 set 명령어의 옵션으로 셸의 다양한 동작 모드를 설정할 수 있다. 각 옵션 앞에 -를 붙여서 사용하면(`-a`) 옵션을 추가한다는 뜻이고, +
linux 표준 에러 코드
etc
2024. 4. 19.
리눅스에서는 시스템 호출 및 라이브러리 함수 호출 중에 오류가 발생하면 해당 오류를 나타내기 위해 정수 형태의 에러 넘버를 사용한다. 이러한 에러 넘버는 errno이라는 전역 변수에 저장되며, 오류가 발생하면 해당 값이 설정된다. 이러한 에러 넘버들은 `errno.h` 헤더 파일에 상수 형태로 정의되어 있다. `/usr/include/asm-generic/errno-base.h` : errno 1 ~ 34 까지 정의 `/usr/include/asm-generic/errno.h` : errno-base.h를 include하고, errno 35 ~ 133 까지 정의 C언어에서는 `include ` 헤더를 include하여 이 값들을 활용할 수 있다. 아래는 주요 Linux errno 에러 넘버들과 간
mail
etc
2024. 3. 25.
linux에서 mail 서비스를 운영할 수 있다. mail 관련 프로토콜 SMTP(Simple Mail Transfer Protocol) MTA 클라이언트와 서버를 구성하는 프로토콜 (TCP/25) 송신자와 송신자의 메일 서버 사이, 메일 서버와 메일 서버 사이에서 사용된다. POP3(Post Office Protocol) 메일 서버로부터 메일을 수신하기 위한 서버/클라이언트 프로토콜 (TCP/110) 메일 서버로부터 메일을 가져온 후 서버에서 메일을 삭제함 IMAP4(Internet Mail Access Protocol) POP3와 비슷한 기능이지만 더 많은 기능을 포함하고 복잡함 (TCP/143) 메일 서버로부터 메일을 가져와도 서버에 메일이 유지됨. 메일 서비스
man
etc
2024. 3. 25.
man은 manual을 의미하며, 설명서 페이지를 볼 수 있는 명령어이다. bash man [-adho] [-t | -w] [-M manpath] [-P pager] [-S mansect] [-m arch[:machine]] [-p [eprtv]] [mansect] page [...] man -f page [...] -Emulates whatis(1) man -k page [...] -Emulates apropos(1) 옵션 |옵션|설명| |-|-| |`-k`|apropos에 해당하는 매뉴얼의 내용을 출력.apropos란 완전히 일치하지 않아도 대략적으로 비슷한 단어를 뜻한다. (ex: mount의 apropos는 amount, mounted, mounts 등이 있다.)|
Perf
etc
2024. 3. 25.
Linux perf The "perf" command is the official profiler and tracer for Linux. Its source is included in the Linux tree (under tools/perf). perf is a tool that analyzes performance on Linux systems. Events that can be searched using the perf tool are largely divided into four types. It Accesses the kernel via the `perf_event_open` system call function to collect information. 1. Hardware Events
PMU
etc
2024. 3. 25.
PMU(performance monitoring unit) PMU는 counter register(PMC ,performance monitoring counter)와 configuration register로 구성되어 있으며 CPU 내부에 위치한다. 물리적으로 PMC와 하드웨어 유닛을 wire로 연결하면 하드웨어 이벤트 카운트를 측정할 수 있다. 하지만 각각의 하드웨어 유닛에 PMC들을 연결하기엔 공간상 한계(or 자원의 한계)가 존재한다. 따라서 하나의 PMC에 두 개 이상의 유닛을 연결하고 configuration register를 이용하여 측정하고 하는 이벤트를 선택할 수 있다. Perf perf 명령어를 사용하여 PMU의 데이터를 모니터링할 수 있다. 다음과
Redirection와 FD
etc
2024. 3. 25.
`>`는 overwrite를 뜻한다. `>>`는 append를 뜻한다. 명령어의 결과(ls *)를 파일에 남기고 싶다면 아래와 같은 명령어를 사용하면 된다. `ls * file.txt` "hello"라는 값을 파일의 맨 밑부분에 추가하고 싶다면 아래와 같은 명령어를 사용하면 된다. `echo 'hello' >file.txt` standard stream redirection은 stream을 통해 이뤄진다. `stream`이란 디스크상의 파일이나 컴퓨터에 연결되는 여러 장치들을 통일된 방식으로 다루기 위한 가상의 개념이다. 프로세스가 생성되면 기본적으로 입, 출력을 위한 채널을 가지게 되는데, 이것을 standard stream이라고 한다. stream은 각각 `/dev/stdin
Runlevel
etc
2024. 3. 25.
를 제공하기 위한 Unix, Linux 계열 운영 체제에서 사용되는 시스템이다. X Window 시스템은 네트워크 환경에서 그래픽 화면을 표시하고 입력 장치와 상호 작용할 수 있는 기능을 제공한다. X window의 구조라고 한다. 특징 클라이언트-서버 모델: X 클라이언트는 X 서버에서 동작하면서 서버에게 명령을 전달하고, X서버는 클라이언트에게 명령 요청의 결과를 디스플레이 장치에 출력해주거나 사용자 입력을 클라이언트에게 제공해주는 역할을 한다. 따라서 디스플레이 장치에 독립적이다. 모듈화: X Window 시스템은 모듈화되어 있으며, 다양한 그래픽 라이브러리와 툴킷을 사용하여 응용 프로그램을 개발할 수 있다. 이로 인해 다양한 스타일
명령어들
etc
2024. 3. 25.
목차 cut more/less tail cat history date find grep --- cut 파일에서 필드를 뽑아내서 출력 `-f` : 잘라낼 필드를 지정 `-d` : 필드를 구분하는 문자를 지정 `-c`: 잘라낼 곳의 글자 위치를 지정 `cut -f 1,3,4 -d : /etc/passwd` → /etc/passwd 파일에서 필드를 :로 구분하여 1,3,4번째 필드를 출력 `cut-c1-10/etc/passwd` → /etc/passwd 파일에서 첫번째 문자부터 10번째 문자 까지만 출력 more/less 내용이 많은 파일을 출력할 때 사용하는 명령어 `-f` / `SpaceBar` : 한 페이지 뒤로 이동 `-b`: 한 페이지 앞으로 이동 tail 파일의 내용을 뒷부분