본문 바로가기

Code/개발지식17

Dockerfile 작성 시 캐싱문제 방지하기 Dockerfile를 통해서 도커 이미지를 빌드할 때 패키지 관리 이슈가 생길 수 있다. 알아보니 Dockerfile의 레이어(Layer)와 캐싱 문제를 확인할 수 있었다. 우선, 이미지 레이어 캐싱을 통해 얻을 수 있는 장점은 재사용에 의한 빌드 시간 단축이다. Dockerfile에 정의된 명령문을 순서대로 실행하면서 이미지가 빌드될 때 레이어가 만들어지는데, 만약 특정 줄에 해당하는 명령어와 이전 명령어들이 같다면 동일한 레이어로 판단하기 때문에 캐싱되어 있는 부분을 가져온다. 이미 생성된 레이어가 캐시되어 다시 사용되기 때문에 빌드 시간을 줄일 수 있는 것이다. 공식 홈페이지 문서의 Dockerfile 작성 안내에서는 아래처럼 말하고 있다. A Docker image consists of read-.. 2021. 4. 20.
진법 변환과 컴퓨터의 사칙연산 전에 컴퓨터의 2진수 사용과 아스키코드에 대해 포스팅했다. 이번에는 컴퓨터의 진법 변환에 대해 이야기해보려 한다. 8bit = 전선 8가닥 = 1byte 앞서 포스팅했듯 컴퓨터는 전기의 OFF/ON 상태를 기반으로 2진법을 사용한다. 0과 1의 두 가지 상태를 나타내는 단위를 bit라고 한다. 0과 1 (1bit)의 단순함을 모아 정교하게 만들어 전자식 컴퓨터의 원리를 갖는다. 이때 1bit의 다른 말은 전선 한 가닥이다. 전선 가닥을 부르는 용어가 bit라는 것이다. 예를 들어 10010110(2)는 8bit로, 전선 8가닥을 의미한다. 8개의 bit를 묶은 byte 단위는 컴퓨터가 데이터를 저장하는 최소 단위다. 1byte는 영문 한글자를 담을 수 있는 기억공간의 크기다. 진법 변환 인간과 기계의 숫.. 2021. 1. 27.
파일 디스크립터(File Descriptor)란? 파일 디스크립터 (FD, File Descriptor)란, Unix OS에서 네트워크 소켓과 같은 파일이나 기타 입력/출력 리소스에 액세스하는 데 사용되는 추상표현이다. 즉, 시스템으로 부터 할당받은 파일이나 소켓을 대표하는 정수다. 파일 디스크립터는 음이 아닌 정수(Non-negative Integer)로, 일반적으로 형식 int로 C 프로그래밍 언어로 표현된다(음수 값은 "무값" 또는 오류 조건을 나타내기 위해 예약된다). (Window에서는 file handle이라고 부르고 값은 랜덤하게 할당된다.) FD의 0번에서 2번까지는 고정되어 있다. (unistd.h 헤더파일에 명시) 각 Unix 프로세스는 세 가지 standard streams에 해당하는 고정된 standard POSIX file des.. 2020. 10. 13.
아스키코드(ASCII Code) - 컴퓨터의 문자 처리 원리 컴퓨터가 이해하는 언어는 0과 1(1bit)이다. 2진수로 데이터를 처리한다.컴퓨터는 전기신호를 받아들이므로 전기의 OFF, ON 두 가지 상태(0과 1)로 모든 걸 표현하기 때문이다.0과 1의 두 가지 상태를 나타내는 단위를 bit라고 한다. 더보기전자식 컴퓨터가 나오기 전에 기계식 컴퓨터가 있었으나 결국 속도 때문에 전자식 컴퓨터를 사용한다.컴퓨터는 '전기가 흐른다' / '흐르지 않는다' 이 두 가지 상태만 가지므로 2진법을 사용한다.인간이 10진법을 사용하는 이유도 간단하게 손가락이 10개이니 셈하기 용이하기 위해서다. 그러나 1bit만으로는 표현할 수 있는 게 0, 1 단 두 개뿐이니, 더 큰 수를 표현하기 위해 8개의 bit를 묶어서 1byte를 사용한다. 컴퓨터가 데이터를 저장하는 최소 단위가.. 2020. 10. 7.
[Vim] Vim ColorScheme 변경하는 방법 Ubuntu에서 코드를 작성해야 하는데, 초기셋팅이 안 되어 있어 매우 불편했다. 구글링을 해보면서 해결한 방법을 정리해본다. 환경 - Window10 에서 Ubuntu 앱 사용함 - Window10 에서 웹사이트 방문 후 ColorScheme 다운로드 - Vim 위치 : /usr/share/vim/vim81 나는 현재 윈도우에서 Ubuntu Linux 앱을 띄워 두 운영체제를 사용하고 있다. Ubuntu 앱은 Window 10에서만 가능하다. (설치 및 사용법 참고) 각 OS에서 작성한 파일이나 디렉토리는 어느 OS에서나 접근할 수 있다. Ubuntu에서 Window 디렉토리에 접근하기 C:\Users\사용자명\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu.. 2020. 10. 4.