728x90
728x90
- [ 프로그래밍/42 Gyeongsan ]Born2beRoot2025-08-05 18:53:21들어가며이번에 다룰 과제는 Born2beroot 과제이다. 나는 시간이 없어 아쉽게도 Debian으로 과제를 수행했지만, 과제 정리만큼은 Rocky Linux의 핵심 개념을 정리해보고자 한다. Born2beroot 과제를 수행하기 위해 Rocky Linux를 사용하는 경우 필요한 주요 사전 지식은 다음과 같다.LVM(Logical Volume Manager): 디스크 파티셔닝과 유연한 스토리지 관리 기법UFW(Uncomplicated Firewall): 방화벽 설정 및 네트워크 보안SSH 보안 설정: 원격 접속 보안 강화 및 설정 방법Sudo와 사용자 관리: 권한 관리 및 보안 설정SELinux: 시스템 보안 정책 및 적용 방법Hostname 및 네트워크 설정: 서버의 네트워크 환경 구성기본적인 서비스 ..
- [ 프로그래밍/42 Gyeongsan ]ft_printf - ft_putnbr()과 ft_putstr()만으로는 충분하지 않기 때문에2025-07-20 19:28:56들어가며printf는 C 표준 라이브러리의 대표적인 출력 함수로, 서식 문자열(format string)을 해석하여 가변 인자들을 형식화된 텍스트로 변환하고 표준 출력(stdout)에 출력한다. 이 글에서는 printf 함수의 작동 원리와 주요 기능, 가변 인자 처리 기법(stdarg.h 활용), 출력 버퍼링과 성능 최적화, 구현 시 직면할 수 있는 문제점과 그 해결 방법을 알아본다. 또한 표준 printf와 이를 재구현하는 과제인 ft_printf의 차이점을 분석하고, 간단한 구현 예제 코드를 통해 내부 동작을 설명한다. 이를 위해 C 표준 문서[^1], GNU libc 문서[^2], 권위 있는 서적[^3] 등 신뢰할 만한 자료를 인용하여 정확한 정보를 제공한다. printf 함수 개요 및 작동 원리p..
- [ 프로그래밍/42 Gyeongsan ]Get Next Line - 한 줄씩 읽는 것은 너무 지루하다2025-03-16 18:17:44들어가며get_next_line 프로젝트는 파일 디스크립터로부터 한 번 호출에 한 줄씩 읽어들이는 함수를 구현하는 과제이다. 42 과정에서 파일 I/O와 메모리 관리, static 변수 활용 등을 심도 있게 훈련한다[^1]. 이 글에서는 해당 과제를 성공적으로 수행하기 위해 필요한 사전 지식을 정리하고, 실제 평가 기준을 고려한 모범 구현 방식과 고급 기법을 단계별로 분석한다. 1. 파일 입출력 기초 및 최적화 기법파일 디스크립터(FD)는 유닉스 계열 시스템에서 열린 파일을 가리키는 비음수 정수 식별자이다[^2][^3]. 프로세스마다 표준 입출력에 해당하는 0, 1, 2번 FD가 있다(각각 stdin, stdout, stderr). 그 외에 open() 호출을 통해 파일을 열면 사용되지 않은 새로운 FD..
- [ 프로그래밍/42 Gyeongsan ]Libft - 나만의 첫 번째 라이브러리2025-03-12 23:45:12들어가며Libft는 학생들이 표준 C 라이브러리 함수의 동작과 특수한 경우를 이해하기 위해 재구현하는 École 42의 기초 프로젝트이다. Libft에서는 libc 함수의 선택적 재구현에 초점을 맞추고 있다. 이 심층 분석에서는 표준 동작(Linux/POSIX 매뉴얼 페이지 기준), 주요 차이점, 구현 시 핵심 사항을 중심으로 각 함수를 분석한다. 또한 성능 최적화, 보안 고려사항, 경계 조건, 그리고 포괄적인 이해를 돕는 추가적인 맥락에 대해서도 살펴본다. 💡 초보자를 위한 설명: École 42는 코딩 교육을 제공하는 혁신적인 학교이다. Libft 프로젝트는 C 언어의 기본 라이브러리 함수들을 직접 구현함으로써 그 작동 방식을 깊이 이해하도록 하는 첫 번째 주요 과제이다. 이는 마치 자동차의 부품을..
728x90
728x90