Unborn 8.0 Yellow Pointer
본문 바로가기

42 SEOUL32

[42Seoul/fract'ol] mlx 함수 miniLibX기술을 연마하고 복소수의 수학적 개념을 발견/사용하고 컴퓨터 그래픽의 최적화 개념을 엿볼 수 있는 기회가 될 것입니다. mlx를 사용하기 위해 Makefile에 다음을 추가합니다. cc -lmlx -framework OpenGl -framework AppKit -Imlx 소스파일명.c 실행 결과 화면 사용 예시 #include typedef structs_data { void *img; char *addr; int bits_per_pixel; int line_length; int endian; }t_data; intmain(void) { void*mlx; void*mlx_win; t_dataimg; mlx = mlx_init(); mlx_win = mlx_new_window(mlx, 192.. 2022. 7. 27.
[42Seoul/frac'ol] 망델브로 집합(Mandelbrot set), 쥘리아 집합(Julia set), Burning Ship 코드 망델브로 집합(Mandelbrot set) 망델브로 집합은 브누아 망델브로가 고안한 프랙탈의 일종입니다. 수열[Zn]의 절댓값이 무한대로 발산하지 않는 복소수 c의 집합으로 정의됩니다. $$z_0 = 0 (단, z_n은 복소수)$$ $$z_{n+1} = z_n^2+c$$ 이를 복소수를 사용하지 않고 정의하려면 모든 복소수를 실수부와 허수부로 나누면 됩니다. \(z_n\)을 (\(x_ny_n)\)로, c를 (a, b)로 바꾸면 아래와 같은 식을 얻을 수 있습니다. $$(x_0y_0) = (0,0)$$ $$x_{n+1} = x_n^2 - y_n^2 + a$$ $$y_{n+1} = 2x_ny_n + b (단, x_n, y_n, a, b는 실수)$$ 실제로 무한한 항까지 계산하여 발산 여부를 확인하는 것이 어려.. 2022. 7. 27.
[42Seoul/fract'ol] 프랙탈(fractal)이란 ? 프랙탈[fractal] 수학, 기하학 연구 분야 중 하나로 부분의 모양이 전체 모양을 갖는 자기 유사성을 가지며 이런 과정이 한없이 반복될 때 프랙탈이라고 합니다. 프랑스의 수학자 망델브로가 1967년 영국을 둘러싸고 있는 해안선의 총길이를 측정할 때 사용하는 자에 따라 길이가 달라지며 결과적으로 아주 작은 자를 이용하면 해안선의 길이는 무한대로 늘어나게 되는 것이다. 이처럼 같은 모양이 반복되는 구조를 프랙탈이라고 부리기 시작했습니다. 프랙탈 용어는 분열, 파편을 의미하는 fracture, fraction에 힌트를 얻어 fractal이라는 용어를 만들었습니다. 또한 프랙탈 차원은 2차원 3차원과 같은 정수가 아닌 분수라는 의미와도 연결이 됩니다. 번개, 브로콜리, 폐 등에서도 프랙탈을 확인할 수 있.. 2022. 7. 27.
[42Seoul/fract'ol] 프로젝트 소개 이 프로젝트는 그래픽적으로 아름다운 프랙탈을 만들기 위한 것입니다. miniLibX기술을 연마하고 복소수의 수학적 개념을 발견/사용하고 컴퓨터 그래픽의 최적화 개념을 엿볼 수 있는 기회가 될 것입니다. e-러닝에서 동영상을 시청하는 것을 잊지 마세요! 규칙 이 프로젝트는 사람에 의해서만 수정됩니다. 따라서 여기에 나열된 제약 조건 내에서 원하는 대로 자유롭게 파일을 구성하고 이름을 지정하십시오. 전역 변수를 사용할 수 없습니다. C로 코딩해야 합니다. 프로젝트는 Norm을 따라야 합니다. 오류를 신중하게 처리해야 합니다. 어떤 경우에도 프로그램이 예기치 않게 종료되면 안됩니다 (Segmentation fault, bus error, double free, etc). 프로그램에 메모리 누수가 있어선 안됩니.. 2022. 7. 26.
[42Seoul/pipex] 허용 함수 정리 (access(), dup2(), execve(), fork(), pipe(), wait(), waitpid()) open #include int open(const char *filename, int flags[, mode_t mode]); 파일을 사용하기 위해 사용하는 함수입니다. 파일 열기에 성공하면 양의 정수 값을 반환하며 실패했을 경우 -1을 반환합니다. mode_t mode : O_CREAT 옵션 사용에 의해 파일이 생성될 때 지정되는 파일 접근 권한입니다. O_RDONLY : 읽기 전용으로 파일을 엽니다. O_WRONLY : 쓰기 전용으로 파일을 엽니다. O_RDWR : 읽기와 쓰기가 모두 가능입니다. O_TRUNC : 기존의 파일 내용을 모두 삭제합니다. O_EXCL : 파일이 열려있을 때 open()되지 않아 이전 파일을 보존할 수 있습니다. O_CREAT : 파일을 생성하게 된다면 파일의 접근권한을.. 2022. 7. 13.
[컴퓨터 구조] 캐시 메모리 캐시 메모리란? 캐시 메모리는 CPU의 처리 속도와 주 기억 장치의 접근 속도 차이를 줄이기 위해 사용합니다. 데이터 지역성을 활용하여 메인 메모리에 있는 데이터를 캐시 메모리에 불러와 두고, 프로세서가 필요한 데이터를 캐시 메모리에서 먼저 찾도록 하면 시스템 성능을 향상할 수 있습니다. 데이터 요청이 들어오면, 먼저 캐시에서 데이터를 탐색합니다. 캐시가 없거나 오래된 경우 원본 데이터가 저장된 곳에서 데이터를 조회하게 됩니다. 이후 캐시에도 데이터를 복사/갱신하게 되며 오래된 데이터는 삭제합니다. 작동 원리(데이터 지역성) * 캐시의 지역성 지역성이란 기억장치 내의 정보를 균일하게 접근하는 것이 아닌 어느 한순간에 특정 부분을 집중적을 참조하는 특성 합니다. 데이터의 접근이 시간적, 공간적으로 가깝게 .. 2022. 7. 12.
[42Seoul/pipex] 프로젝트 소개 이번 과제는 UNIX 매커니즘을 더 자세히 알아가는 프로젝트입니다. 허용 함수 ◦ open ◦ close ◦ read ◦ write ◦ malloc ◦ free ◦ dup2 ◦ execve ◦ fork ◦ perror ◦ strerror ◦ exit 예시 pipex 프로그램은 아래와 같이 동작할 것입니다. $ ./pipex file1 cmd1 cmd2 file2 - file1, file2 : 파일 이름 - cmd1, cmd2 : 매개변수에 대응하는 shell 명령어 위의 명령어는 아래 shell에서 실행되는 것과 동일하게 처리되어야 합니다. $ file2 - pipex $ ./pipex infile ``ls -l'' ``wc -l'' outfile $ ./pipex.. 2022. 7. 11.
[42Seoul/B2br] Bonus Part LVM Logical Volume을 효율적이고 유연하게 관리하기 위한 커널의 한 부분이자 프로그램이다. LVM은 물리적 스토리지 이상의 추상적 레이어를 생성해서 논리적 스토리지를 생성할 수 있게 해 준다. PV(Pysical Volume) 블록 장치를 이루고 있는 파티션들을 LVM에서 사용할 수 있게 변환하는 것이다. 블록 스토리지를 LVM으로 쓰기 위해 PV로 초기화하게 된다. PV는 PE들로 구성된다. PE(Pysical Extent) PV를 구성하는 일정한 크기의 블록으로 LVM2(4MB)가 개선된 버전이라고 이해하면 된다. 각각의 PV들은 동일한 크기의 PE들로 구성이 된다. VG(Volume Group) PV들의 집합으로 LV를 할당할 수 있는 공간이 된다. 즉, PV들로 초기화된 장치들은 VG.. 2022. 7. 4.
[42Seoul/B2br] 기본 설정 0. 파일 확인 $ lsblk 1. sudo 설치 설치 $ su - $ apt-get update $ apt-get install sudo 설치 확인 $ dpkg -l | grep 'sudo' sudo log 저장 디렉터리 생성 $ mkdir /var/log/sudo sudo 설치 후 구성 $ visudo 요구사항 sudo를 이용한 인증은 비밀번호가 잘못되었을 경우 3회까지로 제한되어야 합니다. sudo 사용 시 잘못된 비밀번호로 인한 오류가 발생할 경우 원하는 사용자 지정 메시지가 표시되어야 합니다. sudo를 사용하는 각 작업은 입력과 출력 모두 보관해야 합니다. 로그 파일은 /var/log/sudo/ 폴더에 저장해야 합니다. 보안상의 이유로 TTY 모드를 활성화해야 합니다. 보안상의 이유로 sudo.. 2022. 6. 30.
728x90
반응형