전체 글 59

Typescript 입문하기

컴파일과 런타임에서의 타입스크립트ts는 컴파일 단계에서 타입 체크가 이루어지고 js 파일을 생성하여 실행한다.node ~~.ts 는 타입검사 없이 js 변환하여 실행된다 (타입검사가 이루어지지 않아 실행 속도는 빠르다)순수 js 입장에서 ts의 타입은 타입 어노테이션(혹은 주석)에 불과한 참고사항일 뿐이어서 어겨도 에러가 발생하지 않는다.따라서 코드가 실행되고 있는 시점은 js 런타임 환경이라 타입의 영향력이 없다.여러 타입에 대해Number와 number의 차이 (Boolean, String도 동일)Number는 js의 내장 객체number는 ts에서 쓰이는 타입any 타입let obj: any = { a: 1, b: 2 };const n2: number = obj;console.log(n2);cons..

클로드 코드의 사용법

기본 명령어![명령어] : 배시 명령어 /clear : 컨텍스트 초기화/compact : 컨텍스트 압축/resume : 이전 대화 복원/mcp : MCP 서버 관리 (mcp는 컨텍스트 차지. 안쓰는 mcp는 disable 처리)/context : 토큰 사용량 확인/model : 모델 전환fable : 가장 고성능opus : 대부분 작업에 유용sonnet : 병렬 작업 시 토큰 아끼기 위해 서브 작업에 사용 컨텍스트 관리 팁- 컨텍스트는 매 프롬프트마다 불러와지므로 규모를 잘 관리해야 한다폴더별로 CLAUDE.md 분리하기각 문서는 200줄 이내로 작성 권장lazy loading 활용 (상세 내용은 별도 파일로 분리하여 참조만 남기기) - 한 세션에서는 한 feature만 작업하기플랜 모드에서 전체 설계 ..

파일 시스템

리눅스의 파일 시스템 파티션리눅스는 효율적인 운영과 데이터 관리를 위해 각각 고유한 용도를 가진 여러 파티션으로 구성되며, 시스템의 안정성과 성능에 중요한 역할을 한다 / : 시스템의 모든 파일과 디렉터리의 최상위. 운영 체제와 시스템 라이브러리 등 주요 파일이 저장된다./boot : 시스템 부팅 시 필요한 파일 (커널 이미지, 부트 로더 설정 파일 등)/root : root 계정의 홈 디렉터리/home : 일반 계정의 홈 디렉터리 ('~' 의 상위 디렉터리)/usr : 프로그램 설치 디렉터리/var : 시스템 운영 중 변동되는 데이터(로그 파일 등)를 저장하는 디렉터리/dev : 시스템에 연결된 모든 장치 파일 (device)/etc : 시스템 설정 디렉터리/mnt : 파일 시스템 마운트를 위한 기본 ..

systemd와 주요 시스템 도구

systemd이란?현대 리눅스 운영체제의 초기화 시스템기능부팅 시의 프로세스, 서비스 통합 관리 (서비스의 시작, 정지, 재시작 등 모든 과정)journald를 통한 시스템 로그 수집과 처리작업 스케줄링사용자 세션을 관리하여 시스템 리소스를 효율적으로 사용유닛 단위로 서비스 관리장점서비스 간의 의존성을 정의하고 실행 순서 설정서비스 병렬 부팅으로 부팅 시간 단축중앙 집중식 로깅사용자 정의의 서비스 관리와 시스템 상태 모니터링이 쉬워 운영의 유연성이 높음핵심 명령어systemctl : 시작, 중지, 재시작, 활성화, 비활성화 등 서비스 관리systemctl start [서비스명]systemctl stop [서비스명]systemctl restart [서비스명]systemctl enable [서비스명] : 부..

리눅스마스터 2급 관련 임시 정리

파일 권한 관련 명령어umask : 파일과 디렉터리 생성 시 기본 권한을 차단파일 기본 권한(666), 디렉터리 기본 권한(777) chmod 뒤 숫자가 4자리면 첫 숫자는 특수 권한sticky bit : 1 => 누구나 디렉터리에 파일 생성은 가능하지만 삭제나 이름 변경은 자신의 것에만 가능 (디렉터리에 부여) set gid : 2 => 파일 실행 시 소유 그룹의 권한 자동 부여, 파일/디렉터리 생성 시 부모 디렉터리의 그룹 상속set uid : 4 => 파일 실행 시 소유 유저의 권한 자동 부여 -rwxr-xr-t : sticky-bit-rwsr-xr-x : set-uid-rwxr-sr-x : set-gids/t는 실행 권한(x) 포함, S/T는 x 제외 디스크 관리 관련 명령어quota : 현재 유..

네트워크 (2) - OSI 7계층, IP 주소

OSI 7계층네트워크에서 통신이 일어나는 과정을 7단계로 계층화각 계층은 독립적으로 동작하여 다른 계층에 미치는 영향이 최소화데이터 송신 시 상위 계층에서 하위 계층으로 내려가며 헤더 추가 (캡슐화)데이터 수신 시 하위 계층에서 상위 계층으로 올라가며 헤더 제거 (디캡슐화) 1. 물리 계층 : 전기 신호와 케이블. 단순 비트 운반 - 랜선, 허브, 리피터2. 데이터 링크 계층 : MAC 주소로 데이터(프레임)를 주고받음 - 스위치, 랜카드3. 네트워크 계층 : IP주소와 라우팅으로 데이터(패킷) 전달 - 라우터, L3 스위치4. 전송 계층 : 프로세스 간의 종단 간 연결(End-to-End), 포트 활용 - TCP, UDP5. 세션 계층 : 애플리케이션 통신을 위한 세션을 생성하고 관리 - API, 소켓..

네트워크 (1) - nm, ip, ss

NetworkManager네트워크 연결을 관리하고 자동화하는 동적 네트워크 관리 도구TUI 도구인 nmtui와 CLI 도구인 nmcli가 있다모든 네트워크 장치 표시nmcli device show모든 네트워크 연결 표시nmcli con showstatic ip 설정 기본 구문nmcli con mod [연결 이름] ipv4.addresses [IP 주소/CIDR] ipv4.gateway [게이트웨이] ipv4.dns [DNS 주소]DHCP 설정 기본 구문sudo nmcli con mod [연결 이름] ipv4.method auto ip 명령어ip 명령어는 네트워크 설정, 라우팅 및 인터페이스 관리 작업을 수행한다.실행 내용은 메모리에만 일시적으로 적용되므로 ip 명령어로 진단과 임시 테스트를 수행하고, 영..

리눅스 명령어의 활용

표준 입출력과 리다이렉션stdin : 0stdout : 1stderr : 2stdout + stderr : &[명령어] > [파일] : 표준 출력을 파일에 덮어쓰기[명령어] >> [파일] : 표준 출력을 파일에 붙여쓰기[명령어] [파일] : 파일의 내용을 표준 입력으로 사용사용 예시[명령어] > file.txt : 파일로 표준 출력[명령어] 2> error.txt : 파일로 표준 에러 출력[명령어] &> output.txt : 파일로 표준 출력 + 표준 에러 출력[명령어] 1> out.txt 2> err.txt : 각각 다른 파일로 표준 출력과 표준 에러 출력[명령어] > /dev/null 2>&1 & : 명령어의 결과를 폐기하고 표준 에러 출력은 표준 출력과 같은 방법(폐기)으로 처리(2>&1. 여기..

알아두면 좋은 리눅스 명령어

시스템 리소스 관련free : 시스템 메모리 사용량 출력vmstat : 시스템 리소스 종합 모니터링 (프로세스, 메모리, 페이징, 디스크, CPU 등)top : 시스템 실시간 성능 모니터링 (CPU, 메모리 사용량 및 실행 중인 프로세스) df (disk free) : 파일 시스템 디스크 사용량 출력-h : 읽기 좋은 단위로 출력 (K, M, G 단위)du (disk usage) : 파일이나 디렉터리의 실제 점유 용량 출력 프로세스와 작업 관련ps (process status) : 프로세스 확인 명령어pgrep : 프로세스 검색 명령어 (ps + grep)nohup (no hang up) : 터미널을 닫거나 접속을 끊어도(Ctrl + C 등) 프로세스가 계속 실행 (kill로 종료 가능) 참고) 프로세스..

패키지 관리도구 dnf

dnf란?Dandified Yum레드햇 계열 리눅스 배포판에서 사용하는 패키지 관리 도구이다.대표적인 저장소- BaseOS : 운영체제 운용에 필요한 최소한의 핵심 패키지 저장소- AppStream : 공식적이고 일반적인 애플리케이션 저장소- CRB : 개발자 및 빌드용 패키지 저장소- EPEL : 커뮤니티/서드파티 저장소 (Extra Packages for Enterprise Linux) 저장소 관련 명령어저장소 활성화 : sudo dnf config-manager --set-enabled [저장소 이름]저장소 / 패키지 설치 : sudo dnf install [저장소 이름 / 패키지 이름]캐시 삭제 : dnf clean all업데이트 가능한 패키지 확인 : dnf check-update패키지 업데이트..