본문 바로가기

Docker 명령어 정리 Docker-Hub Github, Bitbucket과 같은 소스 관리 툴과 연계하여 코드를 빌드 및 실행 가능한 Application의 이미지를 관리하는 기능을 제공하는 Docker 공식 리포지토리 서비스 Tag Docker 이미지에 대한 버전 1. 도커 시스템 정보 docker version docker system info 2. 컨테이너 명령어 Docker 이미지로부터 컨테이너를 생성하고 실행 docker container run 컨테이너 상태 확인 docker container ls docker container ps docker container stats docker container top 컨테이너 연결 docker container attach ctrl + c : 종료 컨테이너 시작/종료/재..
Docker 1. Docker란? 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 활용하여 컨테이너로 실행하고 관리하는 오픈 프로젝트 초기에는 LXC 기술을 기븐으로 구축 되었으나 이후 종속관계를 벗어남 Application을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼 2. 용어 정리 컨테이너 하드웨어 가상화를 제공하는 VM과 달리 사용자 공간을 추상화함으로써 경량의 운영체제 수준의 가상화를 제공 호스트 시스템 커널을 다른 커테이너와 공유 호스트 운영체제에서 실행되는 컨테이너는 코드와 모든 종속성을 패키지화하여 Application이 한 환경에서 다른 환경으로 빠르고 안정적으로 실행될 수 있게 해주는 표준 소프트웨어 장치 영구적이지 않으며, 이미지로부터 생성 Docker 엔진 컨테이너를 구축 및 ..
CI/CD 1. BackGround 모든 개발이 완료된 이후에 코드 품질을 관리하는 방식의 단점을 해소 분업과 협업의 과정에서는 코드의 통합 과정이 까다롭고 통합 테스트 하는데 많은 Cost가 발생하는 문제를 해소 개발 브랜치가 일정 기간 이상 이용되면, 많은 위험성이 커지는 단점을 극복하고자 변동 내용의 반영 빈도를 늘리는 자동화 등장 2. CI/CD 란? CI/CD는 개발 단계를 자동화 하여 Application을 보다 짧은 주기로 고객에게 제공하는 방법 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포를 가능하게함 새로운 코드의 통합으로 인하여 개발 및 운영팀에 발생하는 문제를 해결하는 솔루션 3. CI(Continuous Integration, 지속적 통합)란? 개발을 하면서 코드에 대한 통합을 지속적으..
ONNX ONNX 란? Open Neural Network Exchange의 줄인 말로 이름과 깉이 다른 DNN 프레임워크 환경에서 만들어진 모델을 서로 호환되게 사용할 수 있도록 만들어진 공유 플랫폼 장점 Framework Interoperability 특정 환경에서 생성된 모델을 다른 환경으로 import하여 자유롭게 사용 가능 Shared OPtimization 규격화된 포멧으로 자리를 잡을 경우 다양한 환경에서 효율적으로 적용 가능 구성 방식 ONNX exporter는 IR graph를 만든다는 목표를 가지고 있음 정보를 기록하는 방식에 따라 Trace, Script로 나눔 Trace forward함수 내부에 Tensor 영상 혹은 유저 정의 함수 혹은 python 코드가 실행되며 forward를 한번 수..
vector push_back vs emplace_back 1. push_back 원형 void push_back(const value_type& value); 인자 value : 추가할 원소 값 value_type : 추가할 원소들의 타입 리턴 값 없음 재할당 발생 시 Allocator::allocate()를 통해 예외 처리 가능 할당 실 패 시 bad_alloc 기능 vector의 요소 끝에 원소 추가 작동 방식 삭입할 객체 받음 push_back 내에 임시 객체 생성 임시 객체를 vector에 추가 임시 객체 소멸 장점 암시적인 생성자만 생성 포인터를 변수로 사용할 시 안전 단점 생성자와 소멸자가 두번씩 호출 되어 성능 저하 2. emplae 원형 iterator emplace (Arg&&.. args); 인자 args : 가변인자들 리턴 값 없음 기능 v..
Rust 2020년 StackOverflow에서 65,000명을 대상으로 진행한 설문조사에서 내년에 사용하고 싶은 언어 1등(86.1%) 2021년 기준 6년 연속 StackOverflow에서 프로그래머들이 가장 사랑하는 언어 1. Rust 란? "안전하고 병렬적이며 실용적인" 언어 이며 순수 함수형 프로그래밍, 액터 기반 병렬 프로그래밍, 명령형 프로그래밍, 객체 지향 프로그래밍 스타일이며 2012년 1월 첫 알파 버전인 0.1 발표 2. Rust 특징 - 컴파일 언어 **1 - 다중 패러다임 언어 **2 - LLVM (Low Level Virtual Machine) **3 **1 : https://ko.wikipedia.org/wiki/%EC%BB%B4%ED%8C%8C%EC%9D%BC_%EC%96%B8%EC%..
정수 제한 예외처리 작업 시 해당 변수의 최댓값이나 최소값을 찾아 보는 경우가 많아 찾던 중 상수로 지정되어 있음을 확인 LLONG_MIN : long long 형식 변수의 최소값 LLONG_MAX : long long 형식 변수의 최대값 INT_MIN : int 형식 변수의 최소값 INT_MAX : int 형식 변수의 최대값 참고 자료 1 : https://docs.microsoft.com/ko-kr/cpp/c-language/cpp-integer-limits?view=msvc-170 C 및 C++ 정수 제한 자세한 정보: C 및 C++ 정수 제한 docs.microsoft.com
[Network] iperf - 통신 속도 및 처리량 확인 1. iperf 란? - 오픈 소스 속도 테스트 및 네트워크 성능 측정 도구 - 통신 구간의 데이터 처리량의 최대치(throughput)를 측정하는 툴 - throughput이 중요한 이유는 제공할 서비스가 가능한지를 판단할 수 있는 기준이기 때문 2. iperf 테스트는 어떤 데이터를 제공? - 사용자가 iperf에서 원하는 주요 정보는 처리량이지만 패킷 손실, 지터 및 트래픽 분포에 대한 정보도 확인 가능 3. iperf vs iperf3 - iperf는 linux 시스템용으로만 제작 - iperf3는 window, mac, android, linux를 포함한 다양한 플랫폼에서 사용 가능 - iperf3가 지원되지 않는 플랫폼에서는 커퓨니티에서 제공하는 바니너리를 찾아 활용 가능 4. 주요 옵션 - ..