일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- gnl
- ft_printf
- 굿노트 스티커
- 42 libft
- 알고리즘 기초
- 이지젯
- str함수
- libft
- get next line
- 지베르니
- 지베르니 계절 추천
- 파리 피크닉
- 지베르니 여름
- 포르투갈 여행
- 서울42
- so_long
- push swap
- pipex
- 42 pipex
- ecole42
- 와인 고르기
- push swap 설명
- printf
- 와인선별방법
- pipex 42
- 에꼴42
- 42
- 42 so_long
- get_next_line
- 지베르니 가을
- Today
- Total
목록분류 전체보기 (70)
뇌 마음 반반저장소
노르망디를 투어 하면서 한국인 손님들과 함께 약 주 3번씩 시음을 하러 간다. 사과주의 매력에 빠지는 손님들을 보면서 나의 술맛도 배가 된다. 술의 스토리를 설명하고 노르망디의 문화를 즐기며 시음하다 보면 마음이 저절로 릴렉스된다. 다양하고 풍미 있는 술을 좋지만 과음은 건강을 해치기 때문에, 이 글을 보시는 분들도 올바른 음주 습관과 함께 삶이 더 풍요로워지시길 바란다. 일단 이 글을 보시는 분들에게 마음을 담아 아래의 문구로 시작해 본다. 지나친 음주는 암 발생의 원인이 됩니다. 청소년 음주는 성장과 뇌 발달을 저해하며, 임신 중 음주는 태아의 기형 발생이나 유산의 위험을 높입니다. 프랑스의 술은 패어링이 꽤나 중요하다. 구매한 술을 어느 때에 어떻게 마시는지 모르고 그냥 마신다면, 맛은 있지만 문화..
memory leak을 찾는 프로그램 Valgrind를 친구들이 많이 쓰는 것을 보았다. 일단 설치하자. $ sudo apt-get install valgrind 설치 후 프로그램을 실행할 때 앞에 valgrind 만 붙여주면 된다. 일부러 free를 하지 않고 코드 하나를 만들어 봤다. #include #include void main() { char *str; str = malloc(sizeof(char) * 10); str = "Valgrind test!"; printf("%s\n", str); } free가 없는 malloc 함수를 하나 만들었다. $ gcc valgrind_test.c $ ./a.out Valgrind test! 실행은 잘 되지만 valgrind를 사용해서 프로그램을 돌려보면, ..
1.dup, dup2 이 함수는 파일 디스크립터를 복사하는 함수이다. 아마 duplicate이 어원일 것 같다..! #include intdup(int fd); intdup2(int fd, int fd2); dup은 매개변수 fd를 복제하여 반환한다. 성공 시 새 fd, 오류시 -1을 반환한다. dup2는 매개변수 fd를 fd2로 복제한다. 반일 fd2가 이미 열려있다면 자체적으로 close를 한 후 복제한다. 성공 시 새 fd, 오류 시 -1을 반환한다. 메모리 공간만 복사된다. 그럼 예시를 들어보자! 일단 복사를 하면 fd의 번호가 어떻게 정렬되는지 확인해 보자. #include #include #include #include # define BUFFER_SIZE 1024 int main() { in..
일주일에 한 번씩 꼭 나의 이야기를 올리자고 다짐해 놓고 죈종일 코딩만 한다. (재미있는 걸 어떡해..) 코딩하다가 갑자기 깨닳음을 얻고 신이 나서 한번 끄적여보기로 한다. 나의 삶도 돌아봐야지 그럼 그럼.. 작렬하는 태양이 숨을 거두고 드디어 나의 계절이 왔다. 겨울은 내가 가장 사랑하는 계절이다. 추운 나라를 많이 여행해 본 나의 의견을 말하자면, 인간은 날씨가 추우면 마음이라도 따뜻해지려고 노력한다. 친절해진달까. (캐나다, 북유럽, 프랑스의 릴...) 유럽의 겨울은 그다지 춥지 않다. 영하 밑으로 내려가는 일이 거의 없고, 항상 영상의 기온을 유지한다. 그래서 한국의 혹독한 추위 속의 냉혈함보다, 뭐랄까.. 길거리의 따뜻한 조명을 즐길 수 있고 코트를 입어도 되는, 뜨끈한 뱅쇼와 함께 파리를 거닐..
open, close, read, write, malloc, free, perror, exit, strerror, ft_printf 함수들과 libft 라이브러리는 이미 언급한 적이 있기 때문에 아래의 링크로 확인할 수 있다. 펼치기! 👇 더보기 open, close, read, write [42_GNL] get_next_line 개념 이해하기 (open, read, 버퍼사이즈) 👉 https://sudo-me.tistory.com/24 malloc : 프로그래머가 할당해서 사용하는 heap영역을 지정하는 함수 free [42] NULL과NUL과 Nil과 0과 \0.... 👉https://sudo-me.tistory.com/7 perror, exit, strerror [42_so_long] perror,..
파일 간의 링크란? 1. inode inode는 파일이나 디렉터리의 고유번호와 정보를 담고 있다. Index의 색인이란 단어와 node의 데이터의 지점이라는 단어가 붙어서 inode는 데이터 색인? 정도로 해석할 수 있겠다. 터미널에 명령어로 ls -l이라고 쳐보자. $ ls -l total 0 drwxrwxrwx 1 myID myID 512 Jan 6 16:24 A drwxrwxrwx 1 myID myID 512 Jan 6 16:24 B drwxrwxrwx 1 myID myID 512 Jan 6 16:24 C -rwxrwxrwx 1 myID myID 0 Jan 6 16:24 a.c -rwxrwxrwx 1 myID myID 0 Jan 6 16:24 b.h -rwxrwxrwx 1 myID myID 0 Ja..
부모 프로세스 / 자식 프로세스 그냥 부모는 자식을 파생했기 때문에 생긴 이름이다. 그래서 프로세스를 낳은 프로세스를 부모 프로세스, 낳아진 프로세스를 자식 프로세스라고 부른다. 그리고 이들에게는 PID(Process Identifier)라는 주민등록번호처럼 각 프로세스들을 구별하기 위한 유일한 정수를 부여한다. 부모 자식 프로세스를 확장하는 함수는 아래의 포스팅과 연결된다.👇 준비 중..
그러면 나머지 함수를 차근차근 살펴보기 전에 운영체제에 대한 구조를 탐구해 봐야 한다. 저번 포스팅에서 입출력에 대한 구조를 탐구해 보았다. 그렇다면 프로그램이 실행되면서 컴퓨터 안에서 어떤 일들이 일어나서 출력이 이루어지는지 알아보자. 프로세스 프로세스, process 명사1.일의 과정이나 공정(工程). 그렇다. 프로세스는 일의 과정이다. 컴퓨터 언어에서는 일을 처리하는 과정을 뜻한다. 우리는 프로그램이라는 도구를 가지고 실행을 시키면 프로세스라는 과정, 즉 실행이 진행된다! 지금 내 컴퓨터에 무슨 일들이 실행되고 있는지 보려면 ctrl + shift + esc를 눌러보자! 😏 만약에 우리가 크롬 내에서 1.유튜브를 보면서 2.블로그에 글을 쓰고 동시에 3.사진을 다운받는다고 가정해 보자. 그러면 하나..
pipe란 뭔가요? 이 서브젝트를 이해하기 위해서는 일단 pipe(|)가 shell에서 어떤 역할을 하는지 알아야만 한다. 파이프는 말 그대로 걸러주는 망이 있는 배관이라고 생각하면 된다. 1. ls 명령어를 통해 현재 폴더에 A.c, B.h, C.txt라는 파일이 있는 것을 확인하고 2. | 를 통해서 걸러주는데 3. grep을 통해서 c파일만 잡아와라 결과는? $ ls | grep *.c > A.c 서브젝트에 있는 예제 확인해 보기 $ outfile 일단 꺽쇠가 두 개가 있고.. 파일이 두개가 있고.. 명령어가 두개가 있고.. 파이프가 하나 있다.. 파이프의 역할은 알았으니 꺽쇠의 역할을 알아보자! 1. 리디렉션(Redirection Operator) ..
자꾸 찾아보게 되서 따로 포스트로 빼서 만들었다. 질문의 시작이었던 원본은 아래의 포스트에. 👇 [42_libft] Part 1 (str 함수들1 strlen, strchr, strrchr, strncmp) *흥미로운 점 : const char을 사용하는 이유는? 우리는 문자열을 건들지 않고 그냥 읽는 용으로 가져와서 숫자만 셀 것이기 때문이다. 그래서 우리의 데이터는 상수, 즉 const가 저장되는 곳인 데이터 영역에 쓰이면서 우리는 수정하거나 변경할 수 없다. const는 별이 어디에 붙느냐에 따라서 다른 의미를 가진다. const char *s; char const *s; char * const s; const char * const s; char const * const s; const char ..