반응형
반응형
오늘은 맥북 에어에서 터미널 작업 환경 세팅에 대한 글을 쓰려고 한다.회사에서는 리눅스 서버에서 vim으로 주로 작업했는데, 집에 있는 맥북으로 작업 환경을 세팅해서 도커 컨테이너 환경을 구축해볼 예정!그럼 시작! 1. zsh 및 oh-my-zsh 설치하기macOS Catalina(10.15) 이상 버전에서는 기본 셸이 zsh로 설정되어 있다. 만약 이전 버전이거나 기본 셸이 bash라면 zsh를 설치하면 된다. 본인의 쉘 환경이 궁금하다면 아래의 명령어를 입력했을 때 zsh가 뜨는지 확인할 수 있다.echo $0 Oh My Zsh는 zsh의 기능을 확장해주는 플러그인 관리 프레임워크로, 아래 명령어를 통해 설치할 수 있다. 설치하고나면 아래 이미지처럼 설치 완료 화면이 뜬다.sh -c "$(curl ..
Socket 통신 Socket 특성 Socket 생성 Linux Socket 통신 과정 오늘은 소켓 통신에 대해 정리했던 글을 포스팅하려고 한다. 일상생활에서 전구 중 나사 형태로 돌려서 넣거나 빼는 형태를 소켓이라 하고, 그래픽 카드와 같은 부품을 메인보드에 장착하는 부품도 소켓이라고 한다. 즉, 소켓(Socket)은 뭔가를 끼워 넣어 접속시키는 기구를 말한다. 1. Socket 통신 소켓 통신은 서버 클라이언트 구조에서 특정한 포트를 통해 서로 양방향 통신하는 것을 말한다. 소켓을 이용한 TCP/IP 프로그래밍을 소켓 프로그래밍이라 한다. 일반적으로 소켓 프로그래밍이라 하면 유닉스/리눅스 환경을 말하고, 윈도우 환경에서는 WinSock(Windows Socket, 윈속)이라는 명칭을 사용한다...
dump_stack() 함수 개념dump_stack() 함수 사용법 및 동작dump_stack.c 원형 코드printk와 dump_stack 함수 차이점 1. dump_stack() 함수 개념 dump_stack은 리눅스 커널에서 현재 호출 스택을 출력하는 데 사용되는 디버깅 함수다. 이 함수는 커널의 다양한 상황에서 유용하게 사용될 수 있으며, 특히 커널 패닉이나 오류가 발생했을 때 호출 스택을 출력하여 문제를 진단하는 데 도움이 된다. 2. dump_stack() 함수 사용법 및 동작 dump_stack 함수의 동작목적: 커널에서 현재 호출 스택을 출력하여 디버깅 정보를 제공한다.사용 위치: 주로 커널의 디버깅 코드, 오류 처리 루틴, 또는 커널 패닉 처리 루틴에서 사용된다.출력 내용: 현재..
디바이스 드라이버(Device Driver)란?디바이스 드라이버는 컴퓨터 운영 체제와 하드웨어 장치 간의 통신을 가능하게 하는 소프트웨어라고 정의하는데, 처음 들으면 이게 무슨 의미인지 감도 안 잡히는 사람도 있다.(그게 나였다.) 그래서 오늘은 내가 신입사원 때 공부했던 디바이스 드라이버(DD)에 대해 조금 더 쉽게 풀어서 써보고자 한다.일상생활 속에서 디바이스 드라이버의 역할을 예를 들어 보겠다. 무선 마우스를 컴퓨터에 연결해서 사용하려고 할 때, 드라이버를 설치하라는 메시지를 볼 수 있다. 마우스를 컴퓨터에 연결했을 때, 마우스 자체는 클릭하거나 포인터를 움직이는 동작을 전달할 수 있지만, 컴퓨터가 이를 이해하려면 마우스의 동작을 컴퓨터 명령어로 변환하는 과정이 필요하다. 디바이스 드라이버(DD)..
Debugging이란?Linux와 C 프로그래밍에서의 디버깅 예시코어 덤프(Core Dump) / 메모리 덤프(Memory Dump) / 시스템 덤프(System Dump)GDB를 이용한 디버깅 예시 1. Debugging 이란?"버그"라고 불리는 오류를 찾아내고 수정하는 과정을 말한다. 모든 소프트웨어 개발 과정에서 필수적인 단계로, 프로그램의 정확성, 안정성 그리고 성능을 보장하기 위해 수행된다. 리눅스와 C 프로그래밍에서 디버깅의 툴의 예는 아래와 같다. 2. Linux와 C 프로그래밍에서의 디버깅 예시 1. GDB 사용: GNU 디버거(GDB)는 C, C+, Rust, Fortran 등의 언어로 작성된 프로그램을 위한 디버깅 도구이다. GDB는 프로그램 개발과 테스트 단계에서 주로 사용하며..