일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- libft
- for
- jupyter 단축키
- 42
- 42cursus
- 42Seoul
- float
- ft_server
- 42서울
- 2차원배열
- 동적할당
- C언어
- cout
- vs코드 단축키
- 포인터
- python
- 함수
- 자료형
- 구조체
- phpmyadmin
- While
- nginx
- iF
- docker
- else if
- 패킹
- C++
- Class
- list
- Double
- Today
- Total
목록42seoul (6)
Developer
Docker 설치하기 난는 클러스터 맥, 윈도우 데스크톱, 개인 아이맥 3가지 기기에서 번갈아가면서 수행하였다.... 1. Cluster Mac Managed Software Center에서 Docker를 설치하면 된다. 설치가 완료되면 github.com/alexandregv/42toolbox를 git clone 한 뒤 init_docker.sh쉘을 실행시키면 된다. init_docker는 제대로 된 docker가 설치되었는지 확인해주고, goinfre로 심볼릭 링크를 생성해 Docker가 인트라 계정에 부여된 용량을 차지하지 않도록 해줘야한다. 2. Window 10, Mac(Not Cluster) 윈도우와 개인 아이맥에서는 docker 공식 사이트(docs.docker.com/get-docker/)..
Docker를 한번 사용해봐라 느낌의 과제이다. 나는 이 과제로 처음 도커를 접했는데 무엇부터 해야 하는지 감이 잡히지 않아 처음이 가장 힘들었다... subject 요구사항 서버 설정을 위한 파일들은 srcs 디렉토리안에 있어야 한다.. wordpress를 위한 파일들은 모두 srcs디렉터리 안에 있어야 한다. container OS는 dabian:buster을 사용해야 한다. Nginx웹 서버를 사용해 Wordpress, phpmyadmin을 서비스해야 하며 Wordpress와 phpmyadmin은 db와 연결되어 있어야 한다.. SSL protocol을 사용해야 한다. autoindex를 활성화한 상태로 서비스가 실행되어야 하며 autoindex를 disable 할 수 있어야 한다. 필요한 서비스 ..
Docker Docker는 컨테이너 기반의 오픈소스 가상화 플랫폼이다. 쉽게 말하면 지금까지 우리가 써보았던 가상 머신과 비슷하다. 차이점으로는 검색해보면 가장 많이 나오는 "기존 가상 머신(VM) 보다 가볍다"라고 말할 수 있다. 앞의 말처럼 Docker는 VM보다 경량화된 방식으로 Guest OS를 설치하지 않는다. 위의 그림은 기존 VM의 동작을 보여주는데 Guset OS를 설치해 구동되고, OS위에 다른 OS들이 동작하기 때문에 단일 OS에 비해 속도가 느려질 수밖에 없다. 또한 이미지에 OS가 포함되어야 하기때문에 용량도 커질 수 밖에없다. 가상화 기술의 관심이 많아지면서 다양한 방법으로 이러한 문제를 해결하였지만 여전히 OS위에 OS를 올려 실행하는 방법으로는 하드웨어 성능을 충분히 사용하기는..
1.ft_lstnew Prototype t_list *ft_lstnew(void *content) 함수 동작 = 새로운 노드 하나를 생성하는 함수 구현 방법 = 리스트 구조체의 크기만큼 동적 할당을 해준 뒤 content에는 content를 next는 NULL을 가리키도록 하면 된다.. 2.ft_lstadd_front Prototype t_list *ft_lstadd_front(t_list **lst, t_list *new) 함수 동작 = 리스트의 맨 앞에 노드를 추가하는 함수 구현 방법 = 전달 인자로 들어온 lst 자체가 NULL인지 확인을 하고, lst가 가리키고 있는 곳의 값 (*lst)가 NULL이라면 현재 노드가 하나도 없는 상태이므로 *lst = new로 new를 추가하면 된다. 만약 리스트..
String 함수들 대부분 malloc를 사용해야 하는 함수. malloc으로 동적 할당에 실패할 경우 NULL을 반환하므로 항상 동적 할당한 포인터가 NULL인지 확인해 적절한 처리를 해주어야 한다. malloc실패에는 너무 큰 크기의 요청, 음수 혹은 0 크기의 할당 요청, 메모리 부족 등등..... 1. ft_substr Prototype char *ft_substr(char const *s, unsigned int start, size_t len) 함수 동작 = 문자열 s의 start 위치부터 len길이만큼을 새로운 메모리를 할당(동적 할당)해 저장한 뒤 반환 = return : 할당에 실패할 경우 NULL을 반환 구현 방법 동적 할당에 실패했을 경우에만 NULL을 반환하라고 작성되어 있어서 s가..
1. void 포인터 (void *) void 포인터는 주소 값을 가진다. 하지만 int형 포인터나 char 포인터처럼 역참조(*)를 할 수 없다. 물론 포인터 연산도 할 수 없다. 역참조나 포인터 연산을 하기 위해서는 자료형의 크기를 알아야 해당 자료형의 크기만큼 값을 참조하거나, 주소를 이동할 수 있기 때문이다. 하지만 자료형이 정해져 있지 않기 때문에 다양한 자료형의 포인터를 형변환을 통해 사용할 수 있다. 예를 들어 malloc의 경우 반환형이 void *이다. 그래서 사용할 때 char *a = (char *)malloc(sizeof(char) * n)과 같이 char *형으로 사용할 수 도 있고, int *a = (int *)malloc(sizeof(int) * n) 과 같이 int *형으로 ..