본문 바로가기

study

(19)
[Docker] VirtualMachine불필요한 오버헤드가 생겨이걸 가볍게 해줄 수 없을까? -> container Docker Host안에 DockerDemo이 있고DockerDemon은 어떻게 제어? CLI 환경에서손쉽게 빌드하기 위해서 Registry제공  Docker run은 이미지를 생성하고 실생해같은 이름으로 컨테이너 실행하면 오류종료는 되었지만 컨테이너는 남아있어컨테이너 삭제하고 실행해야 함
운영체제 & 서버 chap02. 운영체제파일시스템os는 파일 시스템을 통해 파일(컴퓨터 시스템의 메모리에 저장된 특정 정보의 모음)을 관리데이터와 정보를 저장장치에 저장해 쉽게 검색할 수 있도록 하는 데이터 구조내부적으로 0과 1로 이루어진 데이터가 block단위로 관리됨특정 block 모음을 사용자가 이해하기 쉽도록 추상적(논리적) 객체 개념인 파일이라고 이름 붙임 필요한 이유?저장장치에 데이터가 삭제, 추가 될 때 작은 간격이 발생하고 이 틈에 새 데이터가 저장됨일정 간격의 블록 단위로 분할하지 않으면, 작은 틈이 파일의 요구 공간보다 더 클경우 데이터를 연속적으로 저장하기 어려움 Unix, Linux 운영체제 열 운영체제는 indoe방식의 파일 시스템 사용super block: 파일 시스템에 대한 정보, 파티션 정보..
Docker https://github.com/drum-grammer/docker-pro GitHub - drum-grammer/docker-proContribute to drum-grammer/docker-pro development by creating an account on GitHub.github.com III. 도커 설치부터 실행 튜토리얼도커 설치1. 도커 공식 웹사이트에서 "Get Started"를 클릭합니다.2. OS에 맞는 설치 파일을 다운로드 받습니다.MacOS의 경우 "Download for Mac"을 클릭합니다.Window 일 경우 "Download for Windows"를 클릭합니다.다운로드한 설치 파일을 실행합니다.도커 컨테이너 실행 시키기1. 나의 사전 미션 폴더를 만들고 해당 폴더로 이동..
컴퓨터 구조 & 운영체제 Chap1. 컴퓨터 구조 1. 컴퓨터 하드웨어 구성  1) CPU(Central Processing Unit) 중앙처리장치메모리에 저장된 명령어를 읽어 수행하는 주체메모리에 올라간거 CPU가 시분할로 순차적 처리 (* 병렬처리로 발전중)언제 끝날지 예측 가능 인공지능-CPU와 맞지 않아  2) 메모리 메모리- 휘발성, 속도 빠름* ssd- 비휘발성 주기억장치- RAM- ROM보조기억장치- HDD- SDD 서버와 PC 차이점?서버 내부적으로 이중화 되어있음 3) 입출력장치(I/O Unit)I/O는 CPU 메모리 등 요소간에 BUS System에 의해 연결됨Input:마우스 키보드 등Output:모니터, 스피커, 프린터 등4) 시스템버스컴퓨터의 각 구성 요소 간 데이터 신호를 전달하기 위한 데이터 전달 경로..
numpy 함수 정리 numpy Numeric Python import numpy as np : 입력받은 파이선 리스트를 넘파이 배열로 바꾸기 Numpy는 ndarray 라는 넘파이 전용 리스트를 사용하는데 쉽게 행렬이라 생각하시면 됩니다. 생성함수(Array Creation) • np.array() : 입력받은 파이선 리스트를 넘파이 배열로 바꾸기 • np.arange(N) : 0에서부터 N-1까지 1씩 증가하는 배열 만들기 >>> np.arange(5) array([0, 1, 2, 3, 4]) >>> np.arange(10, 30, 5) array([10, 15, 20, 25]) >>> np.arange(0, 2, 0.3) # it accepts float arguments array([0. , 0.3, 0.6, 0.9,..
파이썬 리스트 공백과 함께 출력하기 1. end or sep 구분자 이용하기https://bamdal.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%ACpython-%EB%A6%AC%EC%8A%A4%ED%8A%B8-%EA%B3%B5%EB%B0%B1%EC%9C%BC%EB%A1%9C-%EA%B5%AC%EB%B6%84%ED%95%98%EC%97%AC-%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0for문을 사용해서 주로  2. join 메서드 활용하기숫자의 경우 문자열로 타입 변경해주어야 함!strList = ["A","B","C","D","E"]numList = [1,2,3,4,5]print(strList)print(numList)print(' '.join(strList))print(' '.jo..
[재귀함수] 재귀함수? 메소드 혹은 함수의 내부에서 자기 자신의 메소드 혹은 함수를 다시 호출하는 함수 코드의 간결화 및 변수의 최소화를 위해 사용 조건문을 활용하여 종료조건을 삽입해야 함 def recur(index, value): if index == len(data): result.add(value) else: recur(index +1, value+data[index]) recur(index+1, value) data = [3, 5, 8] result = set() recur(0,0) print(result) * 재귀함수 활용 1) 팩토리얼 n! = n * (n-1) * ... 2 * 1 def factorial(n): if n ==1: reutrn 1 else: return n * factorial(n-1)..
input 입력 여러 개 받기 1) map 함수를 사용하여 공백을 기준으로 split>> a, b = input().split() # 문자열로>> a, b = map(int, input().split()) # 정수형으로>> num_list = list(map(int, input().split())) # 리스트로 2) 문자열 여러줄 입력받기>> s_list = [input() for _ in range(n)] # n줄 입력 받기  3) 한 문자열 받아서 한 글자씩 나누어 더하기 ex)s = input()for i in range(len(s)):sum += int(s[i]) # 문자열은 슬라이싱 가능  4) 띄어쓰기 없이 정수 여러 개 입력받아 2차원 배열로 저장하기two_d = [list(map(int, input())) for _ i..