42서울 12

so_long MiniLIbx 작동해보기

인트라에서 요렇게 3개 opengl을 다운 받아서 압출을 풀고 mlx 폴더 안에 넣어준다. 소스 파일 main.c을 만든 후에 밑 코드 작성 #include "mlx.h" int main() { void*mlx_ptr; void*win_ptr; mlx_ptr = mlx_init(); win_ptr = mlx_new_window(mlx_ptr, 500, 500, "mlx 42"); mlx_loop(mlx_ptr); } 컴파일 gcc -Lmlx -lmlx -framework OpenGl -framework AppKit -Imlx main.c -L 명령어 라이브러리가 포함된 디렉토리의 경로 -L(라이브러리가 포함된 경로) -lmlx mlx를 사용하기 위한 문법 -framework OpenGl -framewor..

42Seoul/so_long 2023.07.27

so_long MiniLibx 간단 소개

영상 42 인트라에 있는 Minilbx 소개 학생들을 위한 간단한 그래픽 인터페이스 작동 방식 #include void * mix_int (); //mac에서 이렇게 쓴다고 함 man 이용하여 보기 man /usr/share/man/man3/mlx.1 번역 Google 번역 NAME MiniLibX - Simple Graphical Interface Library for students SYNOPSYS #include void * mlx_init (); DESCRIPTION MiniLibX is an easy way to create graphical software, without any X- Window/Cocoa programming knowledge. It provides simple window..

42Seoul/so_long 2023.07.27

printf 반환형(반환형이 왜 int일까?)

반환형이 void가 아니라 왜 int형일까? int ft_printf(const char *, ...); printf의 반환 값 == 출력하는 문자 개수(개행 포함) 예제를 통해서 확인 #include intmain() { //f(5, 1, 2, 3, 4, 5); int num = printf("aaa\\n"); printf("%d", num); } 결과 참고 블로그 [C언어] printf 함수가 반환하는 값 [C언어] printf 함수가 반환하는 값 printf 함수는 화면에 문자열을 출력하는 기능을 하는데, 그 자체로도 값을 반환합니다. printf 함수가 반환하는 값은 문자열 길이입니다. printf 함수의 반환값을 확인하는 방법은 printf 함수를 변수 bigpicture123.tistory.com

42Seoul/printf 2023.05.20

Bonus implement

Lighttpd 설치 sudo apt-get install lighttpd 서버활성화 sudo systemctl enable lighttpd.service#enable with start up sudo systemctl start lighttpd.service 서버 정지 sudo systemctl stop lighttpd.service PHP 설치 및 연동 다음 명령어를 통해 웹 서버와 연동할 PHP 를 설치한다. PHP-FPM 은 PHP FastCGI Process Manager의 약자 sudo apt install php php-fpm 설치 후, 다음 명령어를 통해 php.ini 파일의 cgi.fix_pathinfo=1 행 주석을 해제한다! 파일 위치: /etc/php/7.4/fpm 열면 뭐 겁나 많..

42Seoul/Born2beroot 2023.05.09

cron implement

• 관리자들이 고정된 간격을 갖는 지정 날짜 및 시간마다 주기적으로 정기적인 작업을 처리하기 위해 소프트웨어를 실행토록 환경을 설정하는 시간기반 job스케줄러 성격의 데모 프로세스 • 사용자는 crontab명령으로써 cron이 crontab파일에 접근하여 쉘 명령어들이 주어진 일정에 주기적인 실행하도록 작업 목록을 정의하는 방법만 이해하면 된다 corn 설정 및 수정 sudo crontab -e 밑에 하얀 거 추가해주면 됨 wall → 모든 로그인한 사용자에게 메시지를 표시할 때 쓰는 명령어 주기 설정 분(0-59) 시간(0-23) 일(1-31) 월(1-12) 요일(0-7) bash /home/script/test.sh | wall 매분마다 test.sh 실행 및 wall 사용하여 터미널에 출력 45 5..

42Seoul/Born2beroot 2023.05.09

monitoring.sh implement

→ 이 친구는 root 파일에 있어야함. 우리가 처음 루트로 로그인 하면 이 위치에 있을 거임 여기 말고 전체 코드 #!/bin/bash #1 printf "#Architecture: " uname -a #2 printf "#CPU physical : " cat /proc/cpuinfo | grep "physical id" | sort -u | wc -l #3 printf "#vCPU : " grep -c processor /proc/cpuinfo #4 printf "#Memory Usage: " free --mega | grep Mem | awk '{printf"%d/%dMB (%.2f%%)\\n", $3, $2, $3/$2 * 100 }' #5 printf "#Disk Usage: " df -Bm |..

42Seoul/Born2beroot 2023.05.09

Port Forwading implement

→ 가상 머신에서 나의 컴퓨터와 연결해서 터미널을 연동시킬 수 있음. port을 사용하기 위해 su root로 들어가기 sudo 없으면 설치 3. ufw 없으면 설치 $ sudo apt install ufw # ufw 설치 $ sudo ufw status verbose # ufw 상태 확인(디폴트는 inactive) $ sudo ufw enable # ufw 활성화 $ sudo ufw default deny # 기본으로 들어오는 패킷 거부(deny)로 설정 $ sudo ufw status # 정책 확인하기 이이제 status에 추가해준 것이 없어서 그냥 active라고 뜸 4242 포트 허용 (가상 환경에서) 하는 이유 ufw 는 기본적으로 모든 포트에 대해 들어오는 연결을 차단하기에, SSH 연결을 받..

42Seoul/Born2beroot 2023.05.09

password.defs implement

libpam-cracklib → 일단 첫 번째로 우리는 패스워드를 만들 때 과제에서 주어진 부분에 적합하게 만들기 위한 것을 추가해줄 것임. 패스워드 정책을 살펴보자 파일 위치 : /etc/pam.d/common-password 패스워드 정책 설정을 위해 다음 모듈을 설치한다 이 모듈은 사용자가 입력한 암호가 시스템의 사전과 여러 규칙들로 패스워드 강도를 검사한다. 패스워드를 입력받고, 검사에서 문제가 없으면 재입력 받는다. 문제가 없으면 패스워드가 후속 모듈로 전달되고, 새 인증 토큰으로 설치됨. apt install libpam-cracklib 2. 파일에 들어가서 수정해줘야함 우리는 cracklib.so 옆에 부분에 이걸 추가해줄 것임 retry=3 : 암호 입력 가능 횟수 minlen=10 : 암..

42Seoul/Born2beroot 2023.05.09

dhclient 없애기, ip 설정 implement

현재 네트워크 소켓 상태를 보면 tcp랑 udp가 있다. 근데 과제에서 udp 없이 만들어야함 원래 상태는 포트가 22일거임!!! udp를 지워야함!! 나의 상태 우리는 SSH server만 이용하기 위한 환경 구축과 해당하는 포트만 열어두고 싶음 근데 dhclient(udp)라는 게 있음(옆으로 좀 더 펼쳐보면 있음) DHCP, lP를 자동으로 할당해주고 다시 반환하는 동적 IP할당을 받고 있다는 뜻임. 이를 제거하기 위해 고정 IP를 설정할 것임. 가상환경 ip 확인 고정할 ip를 확보하기 위해 가상환경 ip를 확인 여기서 뭘까용~~~ 바로바로 10.0.2.15이다!! 2. 가상환경 gateway 확인 가상환경의 gateway = 10.0.2.2 3. IP설정 /etc/network/interface..

42Seoul/Born2beroot 2023.05.09