일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- c# winform
- git
- C++
- 다트 언어
- Houdini
- 도커
- Unity
- c# 윈폼
- dart 언어
- jupyter
- c# 추상 클래스
- gitlab
- C언어 포인터
- Algorithm
- HTML
- Data Structure
- 포인터
- 깃
- github
- c언어
- jupyter lab
- docker
- 플러터
- 유니티
- Python
- c#
- C# delegate
- vim
- Flutter
- 구조체
- Today
- Total
목록분류 전체보기 (507)
nomad-programmer
port 스캔 명령어 : nmap 사용할 수 있는 옵션 옵션 설명 -p 1-100 포트번호 1 ~ 100 까지 검색 -p- 포트번호 1 ~ 65537 까지 검색 -f 빠른 검색을 위해 100여개의 잘 알려진 포트번호 검색 (예: 21, 23, 25, 53) -sS TCP의 SYN 메시지 송신을 통한, 접속 허가 메시지(SYN/ACK) 수신 기법을 적용 (관리자 권한 필요) -sT TCP의 열린 포트번호 검색 -sU UDP의 열린 포트번호 검색 -A 운영체제 검색 (빠른 검색은 -O 옵션 사용) 패킷 모니터링 명령어 : tcpdump 이더넷 장치의 송수신 데이터를 모니터링한다. TCP, UDP, IP 등 이너넷을 통해 흘러가는 다양한 정보들을 출력한다. 이더넷이 더미허브(Dummy Hub)에 연결되어 있을..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bv9M3n/btqOYusnZWv/u7Xr5rmj5kuaMpv9V6F5DK/img.png)
Docker 이미지에는 인터넷상에 공개하고 싶지 않은 정보가 포함되는 경우도 있다. 이럴 때 하나의 방법으로 Docker 이미지 관리를 위한 저장소를 로컬 환경에 구축할 수 있다. Docker 데이터 저장 경로 변경 (선택 사항) docker 로컬 저장소 주의할 점 private 도커 저장소에서는 Docker 이미지를 영구 데이터로 관리할 필요가 있다는 점이다. Docker에서는 호스트 머신에 볼륨을 공유함으로써 영구 데이터를 일원 관리할 수 있다. 하지만 이 데이터를 관리하려면 신뢰성이 높고 용량이 충분한 스토리지를 마련해야 한다. 또한 만일의 장애에 대비해 다중화 구성을 검토할 필요가 있으며, 정기적으로 데이터 백업이나 서버 감시 등과 같은 운용도 필요하다. 로컬 환경에 Docker 저장소를 구축하기..
Docker에서 빌드를 하면 빌드를 실행한 디렉토리 아래에 있는 모든 파일이 Docker 데몬으로 전송된다. 그렇기 때문에 빌드에서 제외하고 싶은 파일이 있는경우는 '.dockerignore' 라는 이름의 파일 안에 해당 파일명을 기술해야 한다. 여러개의 파일을 지정할 때는 줄 바꿈을 하여 파일명을 나열한다. 예를 들어 다음과 같이 빌드 컨텍스트상에 Dockerfile과 Dummyfile을 저장하고, '.dockerignore' 안에 Dummyfile을 지정해보자. $ ls -al -rw-rw-r-- 1 scii scii 9 12월 2 00:56 .dockerignore -rw-rw-r-- 1 scii scii 79 12월 2 00:30 Dockerfile -rw-rw-r-- 1 scii scii 0 1..
컨테이너를 종료할 때에 송신하는 시그널을 설정하려면 STOPSIGNAL 명령을 사용한다. STOPSIGNAL [시그널] STOPSIGNAL 명령에는 시그널 번호 또는 시그널명을 지정할 수 있다. 컨테이너의 헬스 체크 명령 (HEALTHCHECK 명령) 컨테이너 안의 프로세스가 정상적으로 작동하고 있는지를 체크하고 싶을 때는 HEALTHCHECK 명령을 사용한다. HEALTHCHECK [옵션] CMD 실행할 명령 지정할 수 있는 옵션 옵션 설명 기본값 --interval=n 헬스 체크 간격 30s --timeout=n 헬스 체크 타임아웃 30s --retries=N 타임아웃 횟수 3 HEALTHCHECK 명령에서는 Docker에 대해 컨테이너의 상태를 어떻게 확인할지를 설정한다. 예를 들어 5분마다 가동 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/YRNnC/btqON8vLKap/QeQ8c08aU6V46k6NlwuAq1/img.png)
Docker 이미지를 만들려면 필요한 미들웨어를 설치하고 사용자 계정이나 디렉토리를 작성하는 등의 명령을 실행할 필요가 있다. 또한 이미지로부터 컨테이너를 생성했을 때, 서버 프로세스 등을 데몬으로서 작동시킬 필요도 있다. 명령 실행 (RUN 명령) 컨테이너에는 FROM 명령에서 지정한 베이스 이미지에 대해 '애플리케이션/미들웨어를 설치 및 설정한다' 라는 의미를 갖는다. '환경 구축을 위한 명령을 실행한다' 등과 같은 명령을 실행할 때는 RUN 명령을 사용한다. Dockerfile을 작성할 때는 이 RUN 명령을 가장 많이 사용한다. RUN 명령으로 지정한 명령은 Docker 이미지를 생성할 때 실행된다. RUN [실행하고 싶은 명령] RUN 명령에는 다음 두 가지 기술 방법이 있다. 1. Shell ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/l74R9/btqOvSmhcZn/LPikX8ZPaUcXBx2AcIeBw1/img.png)
Docker에서는 인프라 구성을 기술한 파일을 'Dockerfile' 이라고 한다. Dockerfile 이란? 베이스가 될 Docker 이미지 Docker 컨테이너 안에서 수행한 명령 환경변수 등의 설정 Docker 컨테이너 안에서 작동시켜둘 데몬 실행 Dockerfile은 이와 같이 Docker 상에서 작동시킬 컨테이너의 구성 정보를 기술하기 위한 파일이다. docker build 명령은 Dockerfile에 기술된 구성 정보를 바탕으로 Docker 이미지를 작성한다. Dockerfile의 기본 구문 Dockerfile은 텍스트 형식의 파일로, 에디터 등을 사용하여 작성한다. 확장자는 필요 없으며, 'Dockerfile' 이라는 이름의 파일에 인프라의 구성 정보를 기술한다. 또한 Dockerfile 이..
Docker가 제품 환경에서 실제 가동되는 시스템의 대부분은 글로벌하게 전개하는 대규모 웹 시스템으로, 컨테이너 오케스트레이션 툴인 Kubernetes를 사용하여 운용되는 경우가 많다. 하지만 Docker가 갖고 있는 높은 이식성을 살려 기계학습 등에서도 자주 이용되고 있다. 특히 딥러닝(심층학습)에서는 프레임워크나 다양한 라이브러리를 이용하여 개발이 이루어지는 경우가 일반적인데, Docker를 사용하면 그러한 버전의 차이나 환경을 의식하지 않고 개발할 수 있다는 장점이 있다. 예를 들어 기계학습에서 널리 이용되는 개발 툴인 Jupyter Notebook이나 딥러닝이 특기인 프레임워크 TensorFlow는 Docker Hub에서 공식 Docker 이미지를 제공하고 있다. 게다가 Kubernetes에서 T..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/IlEcV/btrUujLR5s3/KS6DYHkXgO7ITFE9Khu8xK/img.png)
Docker 컨테이너는 Docker 이미지를 바탕으로 작성하지만 반대로 Docker 컨테이너를 바탕으로 Docker Image를 작성할 수도 있다. 예를 들어 저장소에서 취득한 공식 이미지를 바탕으로 컨테이너를 만들고 환경에 맞도록 설정을 변경한 컨테이너로부터 다시 이미지를 만들 수가 있다. 컨테이너로부터 이미지 작성 (docker container commit) 컨테이너로부터 이미지를 작성하려면 docker container commit 명령을 사용한다. docker container commit [옵션] [이미지명[:태그명]] 지정할 수 있는 주요 옵션 옵션 설명 --author, -a 작성자 지정 (ex: scii) --message, -m 메시지 지정 --change, -c commit 시, Do..
실제 환경에서 운용할 때 이미 가동 중인 컨테이너의 상태를 확인하거나 임의의 프로세스를 실행시킬 때 하는 조작에 대한 설명이다. 가동 컨테이너 연결 (docker container attach) 가동 중인 컨테이너에 연결할 때는 docker container attach 명령을 사용한다. 예를 들어 /bin/bash 가 실행되고 있는 sample 이라는 이름의 컨테이너에 연결하려면 다음의 명령을 실행한다. // 컨테이너에 연결하기 $ docker container attach sample [root@9e0a1844027a /]#
Docker 컨테이너끼리 통신을 할 때는 Docker 네트워크를 통해 수행한다. 네트워크 목록 표시 (docker network ls) Docker 네트워크의 목록을 확인하려면 docker network ls 명령을 사용한다. docker network ls [옵션] 지정할 수 있는 주요 옵션 옵션 설명 -f, --filter=[] 출력을 필터링한다. --no-trunc 상세 정보를 출력한다. -q, --quiet 네트워크 ID만 표시한다. Docker를 설치한 상태에서 다음의 명령을 실행하면 네트워크의 구성 정보를 목록으로 확인할 수 있다. Docker는 기본값으로 bridge, host, none 이 세개의 네트워크를 만든다. // 네트워크 목록 표시 $ docker network ls NETWORK..
정리가 정말 잘 된 블로그가 있어서 이것을 링크건다. subicura.com/2017/11/22/mac-os-development-environment-setup.html 본격 macOS에 개발 환경 구축하기 macOS에서 터미널을 자주 사용하는 개발자를 대상으로 심플하고 깔끔한 테마 위주의 개발 환경을 설정하는 방법을 소개합니다. 이 글을 보고 하나하나 설정하면 어디 가서 발표할 때 고오오급 개 subicura.com 아래의 링크와 함께 보아야 한다. SpaceVim 부분에서 위의 블로거분은 vim & neovim 모두 SpaceVim을 설치한다. 그래서 아래의 블로그 링크를 참조하여 둘 중 하나에만 설치하도록 한다. velog.io/@ausg/monsters-use-vim 고인물 개발자는 Vim을 쓴..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/I7sqo/btqObZlCGhn/Kq5oN9t2qQ1iviZBr0Mdlk/img.png)
이미지가 만들어졌으면 컨테이너를 생성할 수 있다. 여기서는 컨테이너의 생성 및 시작을 수행하는 명령에 대해 설명한다. Docker 컨테이너의 라이프 사이클 컨테이너에는 라이프 사이클이 있다. 컨테이너는 다음과 같은 상태로 변화한다. 컨테이너를 조작하기 위한 기본 명령은 다음 네 가지이다. 컨테이너 생성 (docker container create) 이미지로부터 컨테이너를 생성한다. 이미지의 실체는 'Docker에서 서버 기능을 작동시키기 위해 필요한 디렉토리 및 파일들' 이다. 구체적으로는 Linux의 작동에 필요한 /etc 나 /bin 등과 같은 디렉토리 및 파일들이다. docker container create 명령을 실행하면 이미지에 포함될 Linux의 디렉토리와 파일들의 스냅샷을 취한다. 스냅샷 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/coEZ9z/btqNXFH6BEl/UFQA8PKtDeQWyKdidYNzM0/img.png)
Houdini Engine은 Windows, Mac을 공식적으로 지원한다. 하지만 Linux는 공식적으로 지원하지 않는다... Unreal Engine 자체가 Linux에서 공식적으로 지원하지 않아 자연스레 Houdini Engine도 그러하다. 따라서 Unreal Engine처럼 Houdini Engine도 소스 파일을 수동으로 컴파일해주어야 하며 그 진행을 블로그에 기록한다. 현 시점에 존재하는 가장 최신의 Houdini Engine은 Houdini 18.5.361 버전을 지원한다. 그래서 git으로 다운받은 후 Houdini 버전을 살짝 바꿔줘야 한다. HoudiniEngine/HoudiniEngine.uplugin VersionName의 후디니 버전 변경 HoudiniEngine/Source/Ho..
www.capturingreality.com/ RealityCapture: Mapping and 3D Modeling Photogrammetry Software - CapturingReality.com Unlimited usage Unlimited input Fully-featured Export of licensed input Technical support via web forum www.capturingreality.com
ScreenShot 프로그램 github.com/linuxdeepin/deepin-screenshot linuxdeepin/deepin-screenshot Deprecated (migrated into deepin-screen-recorder after v20), consider create and maintain your own fork if you love it. - linuxdeepin/deepin-screenshot github.com 가벼운 스크린샷 프로그램이다. ubuntu software에서 deepin을 검색하여 쉽게 설치할 수 있다. C++, Qt 로 개발되었다. GIF 녹화 프로그램 github.com/phw/peek phw/peek Simple animated GIF screen re..
이미지 다운로드 (docker image pull) Docker Hub에서 이미지를 다운로드 해 보자. 이미지 취득은 docker image pull 명령을 사용한다. docker image pull [옵션] 이미지명 [:태그명] 예를 들어 CentOS의 버전 (태그명: 7)을 다운로드하려면 아래의 명령을 실행한다. $ docker image pull centos:7 태그명을 생략하면 최신판(latest)을 취득한다. 또한 아래의 명령을 실행하면 모든 태그의 Docker 이미지를 취득할 수 있다. $ docker image pull -a centos -a 옵션을 지정하면 모든 태그를 취득할 수 있다. 또한 -a 옵션을 지정할 때는 Docker 이미지명에 태그를 지정할 수 없으므로 주의해야 한다. Dock..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b1noAZ/btqNLPx77SX/U785LOit7hHwYWVGw3xtrK/img.png)
OS : Ubuntu 20.04 LTS 설치되어 있는 Unreal Engine 버전 : 4.25.4 현재 최신의 HoudiniNiagara Plugin이 지원하는 Unreal Engine 버전 : 4.25.3 내 Ubuntu20.04 LTS에 설치된 Unreal Engine의 버전은 4.25.4 버전이다. 그런데 현 시각 'HoudiniNiagara' Plugin이 지원하는 Unreal Engine의 버전은 4.25.3 버전이다. 최신 버전의 HoudiniNiagara Plugin을 사용하려고 아래의 링크에서 다운로드 받았다. github.com/sideeffects/HoudiniNiagara sideeffects/HoudiniNiagara Houdini Data Interface for UE4 Niag..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bCPc7E/btqNHotQPeS/A8Gx7Tk3WzncEyUnhR8Eck/img.png)
Docker를 사용하여 Nginx 웹 서버를 구축해보자. NginX는 대량의 요청을 처리하는 대규모 사이트에서 주로 이용하고 있으며, 리버스 프록시나 로드밸런서와 같은 기능도 갖고 있다. nginx.org/en/ nginx nginx nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server, originally written by Igor Sysoev. For a long time, it has been running on many heavily loaded Russian sites including Yandex, Mail.Ru, VK, nginx.org Docker..
설치한 Docker가 올바르게 작동하는지를 확인하기 위해 Docker 컨테이너를 작성하고 콘솔상에 "Hello World" 라는 문자를 출력해보자. Docker 컨테이너를 작성 및 실행할 때는 docker container run 명령을 사용한다. 이 명령의 구문은 다음과 같다. docker container run docker container run : 컨테이너를 작성 및 실행 : 바탕이 되는 Docker 이미지 : 컨테이너 안에서 실행할 명령 예를 들어 Ubuntu의 이미지를 바탕으로 Docker 컨테이너를 작성 및 실행한 후 작성한 컨테이너 안에서 "Hello World" 를 표시하고 싶을 때는 다음의 명령을 실행한다. docker container run ubuntu:latest /bin/ech..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qVd6W/btqNLo0C0yi/XJ58dikdhTovW9L10lSAFK/img.png)
우분투 20.04에 언리얼 엔진을 설치하는 과정을 블로그에 기록한다. Unity는 리눅스 버전을 지원하여 리눅스에 쉽게 설치할 수 있다. 하지만 Unreal Engine은 리눅스를 공식적으로 지원하지 않는다. Windows와 Mac 용만 공식적으로 지원한다. 그래서 리눅스에서 Unreal Engine을 사용하려면 소스 코드를 빌드하는 과정을 거쳐야만 한다. 설치전, 언리얼 엔진 계정과 github 계정이 있어야 하며 언리얼 엔진 홈페이지 - 설정 - 개인 - 연결 부붙에서 github 계정이 연결되어 있어야 github에서 Unreal Engine source code를 다운받을 수 있다. www.unrealengine.com/ko/ue4-on-github GitHub 내 언리얼 엔진 4 언리얼 엔진은 ..