42Seoul

    c언어 - 가변인자란? 가변인자로 간단한 printf() 구현하기

    가변 인자란? 함수의 매개변수 개수가 고정적이지 않고, 변할 수 있다는 의미입니다. printf와 같이 매개변수의 개수가 정해지지 않은 함수를 구현하기 위해 가변 인자를 사용합니다. 반환형 함수명(고정 매개변수, ...) { } 여기서 두 번째 매개변수인 '...'가 가변 인자이며, 가변 인자를 사용하기 위해서는 고정 매개변수가 1개 이상 필요합니다. 가변 인자 사용하기 '...'으로 받아온 가변 인자를 사용하기 위해서는 stdarg.h 헤더를 포함해야 합니다. #include 이 헤더에는 가변 인자를 처리하기 위한 매크로가 포함되어있습니다. va_list 가변인자 포인터. 각 가변인자의 메모리 주소를 가짐 va_list 변수명 va_arg 가변인자 포인터로부터 값을 받아오고, 다음 가변인자 주소로 이동..

    도커에서 nginx + php-fpm 설치하기

    nginx란? nginx는 아파치와 같은 웹서버로, 아파치에 비해서 동시접속 처리에 유리합니다. 그러나 아파치의 경우 다양한 모듈을 활용할 수 있어, php 모듈도 직접 적재할 수 있는데, 이에 비해 nginx는 모듈이 많지 않다고 합니다. nginx와 php-fpm을 함께 사용하는 이유 php-fpm은 FastCGI의 하나로, 웹서버와 외부 프로그램의 상호작용을 도와주는 프로토콜입니다. php-fpm을 이용하면 동적인 웹 페이지를 구현할 수 있습니다. nginx의 경우, 아파치와는 다르게 따로 php-fpm을 설치하고 연동시키는 과정이 필요합니다. 도커에서 nginx와 php-fpm 연동하기 debian:buster를 기반으로 진행합니다. docker run -it -p 80:80 debian:bust..

    Dockerfile을 작성하고 Docker 실행하기

    Dockerfile이란? 이미지를 생성하기 위한 스크립트. docker build 명령어를 통해 이미지를 생성할 수 있습니다. Dockerfile 명령어 FROM 기반이 될 이미지(ex. OS)를 지정 FROM MAINTAINER 작성자의 정보를 기록 MAINTAINER RUN FROM의 기반 이미지 위에서 실행될 명령어 RUN COPY 도커 컨테이너의 경로로 파일을 복사합니다 COPY CMD 컨테이너 시작 이후, 컨테이너에서 실행될 파일 CMD ... ENV 도커의 환경변수를 설정 ENV EXPOSE 연결할 포트 번호를 명시 EXPOSE ... Dockerfile 작성 예시 debian:buster를 기반 이미지로 하고 nginx를 설치하는 도커파일의 예시입니다. 여기서 apt-get 명령어에 -y 옵..