본문 바로가기
728x90
CPP explicit 키워드 c++ 98에 처음 도입된 키워드! 암시적 형 변환의 특성 때문에 프로그래머가 예상치 못하는 형 변환이 일어남으로 인해 정말 어려운 버그가 생기는 걸 방지하기 위해 도입된 키워드. 도대체 형 변환으로 정말 어려운 버그가 어떻게 생기는 걸까? 밑의 예제를 보자. template struct Print { void operator() (T v) { cout 2022. 4. 27.
[한빛 미디어] 헤드 퍼스트 디자인 패턴(개정판) "한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다." 프로젝트를 진행하다가 이전 코드를 수정하려고 보면 알 수 없는 구조에 수정이 힘들 때가 많았다. 그래서 결국 프로젝트를 리팩토리 하는데 많은 시간을 보내곤 했다. 그럴 때마다 디자인 패턴을 공부해서 코드에 적용해 보고 싶다는 생각을 종종 했다. 이 책은 자칫 지루할 수 있는 개념들을 재미있게 대화체로 풀어냈다. 그래서 포기하지 않고 마지막까지 읽을 수 있었다. 디자인 패턴의 근간이 되는 9가지 디자인 원칙(캡슐화, 구성 우선, OCP 등)부터 실전에서 많이 사용하는 14가지 디자인 패턴(전략, 데코레이터, 싱글턴 패턴 등)까지 한 책으로 개념을 한 번에 확인할 수 있어서 좋았다. 또한 디자인 패턴 같은 경우 개념을 이해하더라도 디자인 패턴을 .. 2022. 4. 24.
[한빛 미디어]메타버스를 디자인하라 "한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다." 좋은 기회로 요즘에 굉장히 핫한 메타버스의 디자인 책을 읽게 되었다. 확장 현실을 예전부터 존재했지만, 메타버스가 유행하면서 굉장히 빠르게 발전하고 있다. 확장 현실에 대해 아예 개념이 없었던 나에게는 굉장히 유익했던 책이었다. 이 책은 단지 확장 현실 디자인을 어떻게 해야 되는지에 대해 적혀있는 책이 아니다. 확장 현실의 개념부터 과거, 현재, 그리고 미래에 어떻게 발전할 것인가에 대해 자세히 적혀있었다. 가상현실, 증강현실, 게임 등 메타버스로 접할 수 있는 모든 것에 대해 적혀있어서 너무 좋았다. 확장 현실에 대해 개념이 없던 터라 이 책을 통해 많은 지식을 쌓을 수 있었다. 또한 VR이나 XR에 대해 설명할 때 개념만 설명하는 게 아니.. 2022. 3. 31.
docker & docker-compose network docker network docker network는 목적에 맞는 여러 가지 네트워크 드라이버를 제공한다. 그중 가장 유명한 bridge, host, overlay가 무엇인지 보자. 1. bridge : 하나의 호스트 컴퓨터에서 여러 개의 컨테이너들이 통신할 수 있게 한다. 2. host : 호스트 컴퓨터와 동일한 네트워크에서 여러 개의 컨테이너들이 통신할 수 있게 한다. 3. overlay : 여러 호스트 컴퓨터(다른 네트워크)에서 여러 개의 컨테이너들이 통신할 수 있게 한다. docker network를 확인할 수 있다. daemon이 실행되면서 bridge, host, none이 default로 생성된다. docker network ls // 자세한 네트워크 정보보기 docker network i.. 2022. 3. 29.
mariaDB-server dockerfile 만들기 update : 설치 가능한 리스트를 업데이트 하기(패키지 업데이트가 아님) upgrade : apt-get install로 설치한 패키지들을 최신 버전으로 업그레이드하기 mariadb-server : mariadb server를 사용할 것이기에 설치하기 -y : 설치 중 프롬프트에 대해 자동 yes로 응답하도록 설정. apt-get update apt-get -y upgrade apt-get -y install mariadb-server mariaDB server가 background에 도는 것을 foreground로 바꿔 docker가 꺼지지 않도록 해준다. echo "\ndaemon off;" >> /etc/mysql/mariadb.cnf mariaDB가 설치가 잘 되어 있으면 아래 경로에 mari.. 2022. 3. 29.
https란? http란? web 상에서 정보를 주고 받을 수 있는 프로토콜. 주로 HTML 문서를 주고 받는다. 80번 port 사용 https란? http + secure http의 보안이 강화된 버전이다. 443 port 사용 http의 소켓 통신에서 일반 텍스트를 이용하여 데이터를 주고 받는다. https에서는 TLS 또는 SSL 프로토콜을 통해 세션 데이터를 암호화한다. SSL과 TLS이란? 클라이언트/서버 응용 프로그램이 네트워크로 통신을 하는 과정에서 도청, 간섭, 위조를 방지하기 위해서 설계되었다. SSL(Secure Sockets Layer) 배경 : 1993년 웹서버와 브라우저간의 안전한 통신을 위해 Netscape사에 의해 개발됨 특징 : 세션 계층에서 적용되며, 응용 계층의 FTP, Telnet,.. 2022. 3. 25.
Docker에 ngnix 설치하기 ngnix란? - 동시 접속 처리에 특화된 웹 서버 프로그램 - 정적 파일을 처리하는 HTTP 서버 - 리버스 프록시(reverse proxy) 클라이언트가 가짜 서버에 요청하면 포록시 서버가 배후 서버(reverse server)로부터 데이터를 가져오는 역할 Proxy Reverse : Nginx(프론트 서버), Reverse Server : 애플리케이션 서버 nginx는 비동기 처리 방식(Event-Drive)을 채택 nginx 설치하기 apt-get update apt-get -y upgrade apt-get -y install nginx nginx 시작하고 상태 확인하기 service nginx start service nginx status openssl, vim 설치하기 apt-get -y i.. 2022. 3. 24.
VirtualBox SSH 접속하기 virtualBox 설정하기 VM이 작동 중인지 확인하기 systemctl status sshd virtualBox - 설정 - 네트워크 - 고급 - 포트 포워딩 으로 들어가서 추가해준다. 호스트 ip : 시스템 환경설정 - 네트워크 - IP주소 에서 확인하기 호스트 포트 : 2222 게스트 IP : ip 주소 확인하기 - 2에 inet 주소 확인하기 ifconfig // ifconfig command not found가 뜨면 ip addr 게스트 포트 : 22 Mac iterm으로 접속하기 ssh -p[호스트 포트] [호스트이름]@[호스트 IP] 2022. 3. 24.
Docker 명령어 정리 debian를 이미지로 사용할 것이기에 밑에 명령어를 입력했다. Debian 이미지를 기반으로 Docker 컨테이너를 시작하라는 명령어고, 이미지가 로컬에 없으면 먼저 다운로드한다. docker container run debian 위의 명령어를 실행하면 아마 바로 꺼질 것이다. 왜냐하면 위의 도커는 debian만 열고 아무런 기능을 넣어주지 않았기 때문이다. -it 옵션을 통해 터미널을 열어두어 container가 꺼지지 않게 설정할 수 있다. docker container run -it debian /bin/bash // 백그라운드에서 실행하기 docker container run -it debian /bin/bash& // docker 종료 exit 아래 명령어를 통해 docker 리스트를 볼 수 .. 2022. 3. 24.
Debian에 docker-compose 설치하기 Docker Compose의 Releases 버전을 다운로드 sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose docker-compose에 실행 권한 주기 sudo chmod +x /usr/local/bin/docker-compose docker-compose가 잘 설치되었나 version 확인하기 docker-compose --version References https://docs.docker.com/compose/install/ Install Docker Compose docs.docker... 2022. 3. 24.
728x90