기본 콘텐츠로 건너뛰기

Docker-basic-concept

Docker-basic-concept 도커 1. 정의 컨테이너 기반 가상화 도구 2. 등장 배경 및 사용 목적 컨테이너 기술은 오래 전부터 존재했으나, 사용법이 어려워서 잘 활용되지 않았다. 도커는 컨테이너 기술을 쉽게 사용할 수 있는 간편한 인터페이스를 제공함으로써 도커 뿐만 아니라 컨테이너 기술 자체를 유행시키는 결과를 이끌어냈다. 그 결과 환경 설정의 복잡함을 도커를 이용하여 해결함으로써 많은 사랑을 받고 있다. 3. 특징 주로 사용되던 가상화 도구들(VMware, VirtualBox 등)은 인프라 시스템을 포함한 가상환경을 제공하는 것과는 달리 도커는 인프라 시스템을 제외한 컨테이너라는 개념의 가상환경을 제공한다. 이는 애플리케이션에 반드시 필요한 바이너리와 라이브러리만을 포함하고 있으며 호스트 PC와 인프라 시스템을 공유하는 환경으로 호스트 OS 위에 존재하는 격리된 공간으로 볼 수 있다. 4. 이미지와 컨테이너 이미지 : 서비스 운영에 필요한 요소들을 묶은 형태 컨테이너 : 이미지를 실행한 상태 도커는 하나의 이미지로 여러 개의 컨테이너를 만들 수 있다. 운영체제에 비유하면 이미지는 실행파일, 컨테이너는 프로세스로 이해할 수 있다. 5. Immutable Infrastructure 도커는 '한 번 설정한 운영 환경은 변경하지 않는다.'는 Immutable Infrastructure 패러다임에 충실한 도구로 서비스가 업데이트되면 운영 환경 자체를 변경하지 않고 사용 중이던 이미지를 폐기하고 이미지를 새로 생성하여 배포한다.

QEMU-Kernel-Debugging

QEMU-Kernel-Debugging Linux Kernel Debugging 패키지 설치 sudo apt-get install git gitk build-essential libncursesw5-dev g++-arm-linux-gnueabi qemu-system-arm -y sudo apt-get install ncurses-dev -y sudo apt-get install ctags cscope -y sudo apt-get -o Dpkg::Options::="--force-overwrite" install gdb-arm-none-eabi 커널 컴파일 git clone https://github.com/torvalds/linux.git cd linux make ARCH=arm versatile_defconfig make ARCH=arm menuconfig Kernel Features --> Use the ARM EABI to compile the kernel 적용 Kernel Hacking --> Compile-time checks and compiler option --> Compile the kernel with debug info 적용 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- all 테스트 파일 생성 init.c # include <stdio.h> int main ( int argc , char * argv [ ] ) { printf ( "\n" ) ; printf ( "My ARM Init!!!\n" ) ; while ( 1 ) ; return 0 ; } arm-linux-gnueabi-gcc -static init.c -o init echo init | cpio -o --format=newc > in

CVE-2016-3672, CVE-2018-1000004

주목 받고 싶은 마음은 내려놓고 본질에 집중해라.

매체가 많아진 만큼 , 그래서 발언권을 얻기 쉬워진 만큼 내공을 쌓기가 힘들어졌다 . 단상에 서고 싶은 욕심에  채  익기도 전에 다듬어지지 않은 지식을 꺼내고 만다 . 그렇게 꺼낸 지식은 내 것도 아니고 원했던 영향력도 가질 수 없다. 주목 받고 싶은 마음은 내려놓는다면 화려한 기술보다는 본질을 이해하는 노력을 기울일 수 있고 그 때 내공이 쌓일 것이다.

Cryptocurrency

Cryptocurrency 블록체인 블록 : 무엇이든 기록할 수 있는 공간으로 (비트코인은 transzction 거래를 넣는다) 지문과 같은 고유의 식별 값을 가지고 있다. 블록 + 체인 : 블록은 추가 생성되면 이전 블록과 연결되어 이전 블록의 식별 값을 참고하여 자신의 식별 값을 생성하게 된다. 이와 같은 방식으로 추가된 블록 간의 연결성을 체인이라 한다. 이와 같이 블록체인은 정보를 저장하는 방법으로 의료기록과 같이 조작이 불가하게 관리하기 위한 데이터베이스이다. 따라서 저장은 가능하지만 삭제하는 것은 불가능한 데이터베이스( Append only )로 이해할 수 있다. 암호화폐 화폐 : 정부를 통해 공인된 거래수단으로 정부의 신뢰도에 따라 화폐의 가치도 결정된다. 암호 : 수학을 이용하여 메시지의 뜻을 감추는 기술로 감춘 정보를 복구하는 방법을 모르는 사람에게 정보를 노출되지 않게 한다. 암호화폐 : 수학에 대한 신뢰를 기반으로 한 화폐로 정부를 포함한 제 3자가 신뢰의 수단이 아니므로(과학기반 화폐) 베네수엘라와 같이 정부의 실패가 화폐에 영향을 미치는 일이 없는 장점이 있다. 화폐 유한함 채굴이 완료 되면 더 이상 늘어날 수 없다. (Ex. 비트코인, 금) 하지만 정부에서 발행하는 명목화폐의 경우 무한정 발행이 가능하며 이는 인플레이션(돈이 많아져 가치가 하락)을 초래할 수 있다. 교환 가능 내가 가진 화폐와 다른 사람이 가진 화폐(동일한 원화는 동일한 가치)를 교환 가능하며 이는 화폐가 오래되었다고 해서 더 높거나, 낮지 않다. 분할성 상품 거래 시 1000원을 500원으로 분할하여 교환할 수 있다. 내구성 시간이 오래되었다고해서 가치가 변질되면 안된다. (1년 후에도 10년 후에도 동일한 금) 양도 가능성 전달이 편리해야한다. 종이화폐와 암호화폐는 이에 충족하지만 금은 충족하지 못한다. 안정성 가치가 안정적이다. 비트코인은 이를 충족하지 못하므로 좋은 화폐가 아니다.