노미넷 설치를 미루고 미루다... (클러스터에서 하는 게 편하단 핑계로...)코로나가 너무 심해져서 가기도 망설여지고, 집에서 바로 해버리고 싶어서 설치해버리기로 했다.https://github.com/42School/norminette 위 주소에 쓰여진 걸
string 관련 함수에서는 마지막에 '\\0' 꼭 넣어준다.unsigned char 는 부호비트가 없기 때문에 모든 bit를 투명하게 볼 수 있다. → 따라서, 임의의 메모리에 바이트 단위로 접근해 값을 다룰 때, 반드시 unsigned char를 사용한다.문자열이나
🤔 가변인자란? c언어에서 printf와 같이 매개변수의 갯수가 정해지지 않는 함수가 있다. 이렇게 함수에 들어가는 인수의 갯수가 변하는 것을 가변인자(가변 인수, variable argument)라고 한다. 헤더 : `` 사용법 : 고정 매개변수(필수인자)가 한
고정인자를 읽어 % 를 만나기 전까지 출력% 를 만나면 서식지정자에 따라 분기해당 서식지정자의 자료형에 맞게 참조, 출력리턴값은? 출력된 문자열의 총 길이(공백 개행 등 escape sequence 포함), 에러시 -1기본자료형 중에서 int보다 작은 자료형은 성능문제
Born2beroot의 목표는 가상머신을 만드는 것이다. VirtualBox 버추얼박스(VirtualBox)는 리눅스, macOS, 솔라리스, 윈도우를 게스트 운영 체제로 가상화(virtualization)하는 x86 가상화 소프트웨어이다. CentOS와 Debi
ℹ️ 디펜스 동안 선택한 운영 체제에 대한 몇 가지 질문을 받게 됩니다. 예를 들어 aptitude와 apt의 차이점, SELinux 또는 AppArmor가 무엇인지 알아야 합니다. 요컨대, 당신이 사용하는 것을 이해하십시오! aptitude와 apt의 차이점 apt
🗂 SELinux와 AppArmor ✅ SELinux ✅ AppArmor 📚 참고
먼저 과제에 나오는 개념들을 정리하고 시작해보려고 했는데, 그러다간 정말 블랙홀에 빠질 지경이 될 것 같다. 설치는 잘 정리해주신 블로그가 많아 참고하며 했다.🤓 설치하기: https://velog.io/@appti/born2beroot-Virtualbox-
🧩 LVM LVM(Logical Volume Manager, 논리 볼륨 관리자) 디스크나 대용량 스토리지 장치를 유연하고 확장 가능하게 다룰 수 있는 기술을 리눅스 커널에 구현한 것이다. LVM은 논리적 볼륨을 생성하고 관리하며 관리자의 저장된 데이터를 손상시키지
SSH(Secure Shell Protocol)은 컴퓨터와 컴퓨터가 인터넷 같은 퍼블릭 네트워크 상에서 통신할 때, 안전하게 통신할 수 있도록 해주는 보안 프로토콜이다. 기존의 유닉스 시스템 shell에 원격 접속하기 위해 Talnet을 사용했었는데, 암호화 과정이 없
🤔 포트포워딩에서 프로토콜 방식으로 TCP를 사용한다. TCP는 무엇일까? TCP를 알기 위해선 같이 UDP와 비교하며 알아두면 좋을 것 같다.TCP와 UDP는 네트워크 계층들 중 전송계층에서 사용하는, 데이터를 보내기 위해 사용하는 프로토콜이다. 일반적으로 TCP/
가상 머신을 시작할 때, 방화벽이 활성화되어 있어야 한다고 요구한다. UFW를 사용하라고 하는데, UFW란 무엇일까? 🗂 UFW UFW(Uncomplicated Firewall)은 데비안 계열을 비록한 다양한 리눅스 환경에서 작동되는, 사용하기 쉬운 방화벽 관리 프
Born2beroot 과제를 하면서 수도 설정을 해야 하는데, 막연하게 수도 명령은 막강한 파워를 가졌다고만 알고 있었다. 정확히 수도란 무엇일까? 👑 Sudo Sudo(Super User Do 또는 substitute user do)는 유닉스 계열의 운영체제에서
메모리 구조 프로그램이 실행되기 위해서는 우선 프로그램이 메모리에 로드(load)되어야 한다. 또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요하다. 따라서 운영체제는 프로그램의 실행을 위해 메모리 공간을 제공한다. 아래 그림은 프로그램이 운영체제로부터 할당
보너스 유니코드까지 전달하기! > ❓유니코드 1바이트로 표현 가능한 127번까지(~255번: 확장된 아스키코드) 아스키 코드를 제외한 256번부터의 친구들! write는 1바이트씩 출력을 하는데 어떻게 2~4바이트의 아스키 코드를 출력해 줄 수 있을까?
mlx란? mlx는 X-Window에 관한 지식 없이도 쉽게 그래픽 관련 소프트웨어를 만들 수 있도록 하는 라이브러리이다. 간단하게 window를 생성하고, image를 띄우고, 입력장치등을 관리할 수 있다. mlx 내부에서 제공하는 기능들은 OpenGL과 AppKit
push_swap은 난수를 효과적으로 정렬하는 과제이다. 정렬을 위해서 먼저 어떤 구조로 난수를 받아 저장해 둘 지 선택해야 하는데, 여기서 자료구조에 대한 정리가 필요하다고 느껴졌다. 👀 자료구조 자료구조란 데이터를 구조적으로 표현하는 방식으로, 여러 종류가 있다.
이전에 정리했던 \[TIL : 42] 운영체제, 프로세스와 스레드와 멀티 스레드에 잘 정리되어 있다. 스레드가 여러 개일 경우, 공유자원 안의 동일한 자원에 동시에 접근하게 되면 데이터 무결성이 깨지게 된다. 엉뚱한 값을 읽거나 수정하게될 수 있다. 이렇게 동시에 접근
과제에서 허용하는 함수를 정리하고 나서, 이제 과제가 어떤 문제인지 공부가 필요할 것 같다. 식사하는 철학자(Dining Philosophers)는 전형적인 운영체제의 교착상태(Deadlock)를 설명하는 문제이다. 이번 과제는 교착상태를 뮤텍스와 세마포어를 활용해 해
오랜만에 42서울 과제로 돌아왔다. 과제를 진행하며 개념을 개인 노션에 정리해 두었는데, 그렇게만 해두니까 블로그 정리는 미뤄두게 되어서 이제는 과제를 진행하며 블로그를 작성해야겠다고 다짐했다. 오늘은 개념정리다. 과제 요약 docker로 독립적인 시스템 환경을 구성