본문 바로가기

대학원 공부172

Computer Sturcture : Multiprocess vs Multithread Multiprocess vs Multithread - 공통점 멀티프로세스와 멀티스레드는 양쪽 모두 여러 흐름이 동시에 진행된다는 공통점을 가지고 있다. - 차이점 멀티프로세스에서 각 프로세스는 독립적으로 실행되며 각각 별개의 메모리를 차지하고 있는 것 멀티스레드는 프로세스 내의 메모리를 공유해 사용할 수 있다. 또한 프로세스 간의 전환 속도보다 스레드 간의 전환 속도가 빠르다. - 장점 멀티스레드의 다른 장점은 CPU가 여러 개일 경우에 각각의 CPU가 스레드 하나씩을 담당하는 방법으로 속도를 높일 수 있다는 것이다. 이러한 시스템에서는 여러 스레드가 실제 시간상으로 동시에 수행될 수 있기 때문이다. - 단점 멀티스레드의 단점에는 각각의 스레드 중 어떤 것이 먼저 실행될지 그 순서를 알 수 없다는 것이 .. 2020. 4. 17.
Computer 부품에 대하여 HDD RPM : 회전속도, 높을수록 data transfer 가 빠르다. buffer : HDD의 파일을 읽거나 저장시 데이터를 임시로 저장하는 메모리로 버퍼 용량이 높을수록 데이터를 읽어오는 대기시간이 단축된다. SSD MLC 와 TLC이다. MLC은 multi-level이라 한 비트를 여러가지 표현이 가능한 제품이다. 내가 1개 or 2개 하도록 선택이 가능하다. TLC는 Triple 이라서 0,1,2 3개를 표현이 가능하다. 따라서 성능적인 면에서는 control이 가능한 MLC가 좋지만, TLC는 대신 많은 용량을 포함할 수 있어서 가격이 싸고 저장용량이 MLC보다 뛰어나다. 내가 만약 집 컴퓨터로 쓸거면 TLC도 좋지만, 난 이번에 성능이 우선이라 SSD MLC로 512G 두 개를 샀다.나중에.. 2020. 4. 17.
open source : Docker가 도대체 뭘까? Docker Why? 내 주위에서 Docker를 너무 많이 얘기해서 궁금해서 찾아보았다. Docker는 "컨테이너 기반의 오픈소스 가상화 플랫폼" 이라고 한다. 실제로 구글에서도 1주에 20억개의 container를 써서 서비스를 제공한다고 하니, 갓구글....믿어도되겠다. Container container는 격리된 공간에서 프로세스가 동작하는 기술이다. 우리는 container 개념을 쓰기 시작한거는 LXC의 등장 부터다. 그 전까지는 VMware, VBox를 썼다. 따라서 우리는 Container의 개념을 적용한다. 기존 HostOS의 종속적이긴하지만, Docker Engine을 통해서 bins와 lib의 버젼만 관리가 나누어져있는 container들을 만들면서, GuestOS가 차지했던 resou.. 2020. 3. 28.
Linux : linux 구조 https://m.blog.naver.com/PostView.nhn?blogId=scw0531&logNo=220611837266&proxyReferer=https%3A%2F%2Fwww.google.com%2F [리눅스의 구조와 특징 소개] 라즈베리파이를 공부하면서 리눅스를 같이 공부하면 일석이조라 할 수 있다. C언어로의 라즈베리파이 제어... blog.naver.com https://namu.wiki/w/%EC%BB%A4%EB%84%90(%EC%9A%B4%EC%98%81%20%EC%B2%B4%EC%A0%9C) 커널(운영 체제) - 나무위키 이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게.. 2020. 3. 28.
Computer Structure : OS (Operating System) 정의 OS란, Operating System으로 사용자가 컴퓨터의 하드웨어를 효율적으로 쓰도록 관리를 도와주는 프로그램이다. 우리가 흔히 아는 windows, 요즘 내가 많이쓰는 linux (CentOS, Ubuntu), MacOS 등등이 존재한다. 목적 사용자가 어떻게하면 편리하게 쓸까, 효율적으로 쓸까가 굉장히 중요하다. 따라서 처리능력, 응답시간, 신뢰도, 사용가능도 이 4가지를 기준으로 OS를 평가한다면, 좋은 OS를 만들 수 있다. 컴퓨터 사용자와 컴퓨터 하드웨어 사이에서 매개체 역할, bridge 역할을 하는 프로그램이다. 사용자에게 프로그램을 수행할 수 있는 환경을 제공한다. 컴퓨터 하드웨어를 효율적으로 이용할 수 있도록 해준다. 구조 및 기능 자원 할당자로서의 역할 - 하드웨어, 소프트웨어.. 2020. 3. 28.
Computer Structure : 공냉쿨러 vs 수냉쿨러 https://www.dogdrip.net/userdog/189409545 수냉과 공냉의 차이 - DogDrip.Net 개드립 읽판이나 컴판갈 글이니 붐업달게받음 선 세줄요약 1. 방온도는 외부조건이 같다면 최종적으로 똑같아진다. 원리는 둘다 열교환으로 같고 방식의 차이만 있음. 2. 하지만 온도가 오르는 방식에 차이가 있고, 몸으로 ... www.dogdrip.net 공냉쿨러는 말 그대로 팬이 돌아가는 것 수냉쿨러는 물이 들어가 있어 팬안에 물이 열기를 흡수한다. 비열이 액체가 더 높기 때문에 열을 더 많이 잡아먹어서 수냉쿨러가 훨씬 열을 많이 잡아먹을 수 있다. 2020. 3. 16.
Numpy : np.linalg.svd (SVD) np.linalg : 선형대수 method가 담겨져있다. np.linalg.svd(A, full_matrices=True, compute_uv) full_metrics defualt=True, True일 경우, A가 (M,N)일 때 U = (M,M), V=(N,N) False일 경우, A가 (M,K)일 때, U=(M,K), V=(K,N), K = min(M,N) A = np.array([[0,0,0,1,0,1,1,0,0], [0,0,0,1,1,0,1,0,0], [0,1,1,0,2,0,0,0,0], [1,0,0,0,0,0,0,1,1]]) U, s, VT = np.linalg.svd(A, full_matrices=False) print('U : {}, \nU\'s shape : {}'.format(U.rou.. 2020. 3. 12.
Python : module, package, library, framework module vs package 예시 - keras __init__.py (./keras) from __future__ import absolute_import from . import utils from . import activations from . import applications from . import backend from . import datasets from . import engine from . import layers from . import preprocessing from . import wrappers from . import callbacks from . import constraints from . import initializers from . import metric.. 2020. 3. 11.
Python : __str__ vs __repr__ 차이점 class test: def __repr__(self): return "done!!" def __str__(self): return "Not Done!" test_a = test() print(test_a) print(str(test_a)) print(repr(test_a)) __str__ __str__는 서로 다른 자료형 간에 interface를 제공하기 위해서 존재한다. 객체를 표현, representation 에 있다기보다는 추가적인 가공이나 다른데이터와 호환이 가능하도록 문자열화한다. ex) int, float, list 형태를 print를 같이하면 안되지만, print(a,b,c) 상태로 하면 가능하다. 원래는 TypeError가 떠야 정상이지만, __str__ 메소드를 내부적으록 구현을 하고 .. 2020. 2. 24.
Computer & Structure : 아두이노 vs 라즈베리파이 https://openstory.tistory.com/150 아두이노 vs 라즈베리파이 완벽 비교 안녕하세요. Edward입니다. 많은 분들이 아두이노와 라즈베리파이 중 어느 것을 사용할지 고민하고 계시는데요. 그래서 이번에는 아두이노(Arduino)와 라즈베리파이(Raspberrypi)의 비교 분석에 대해서 알아보도록.. openstory.tistory.com 결론 라즈베리파이: RAM 1GB,기판 또한 복잡 // 카메라, 비디오, 등 복잡한 수치 계산과 그래픽 처리, 데이터처리에 적합하다. 아두이노 : RAM은 2KB, 기판이 간편 // 센서, LCD, 모터와 같은 외부기기 제어에 더 적합하다. 2020. 2. 24.
Python : *args **kwargs https://brunch.co.kr/@princox/180 [나름 중급 파이썬1] *args와 **kwargs 항상 헷갈리는 두 가지 다시 한번 살펴보자 | 이 글은 파이썬의 문법을 모르면 이해하기 어렵습니다. python의 함수 작성 요령, 인자(argument)와 파라미터를 이해한다면 도움이 되는 내용입니다. 아니 이것은 포인터인가?! C언어를 배울 때 가장 힘든 그것! 바로 주소값을 가지는 포인터입니다! 근데.. 사자를 피했더니 호랑이를 만났다고 ㅠㅠ 파이썬을 배우려는데 별 표시(asteri brunch.co.kr *args parameter를 여러개를 넣어도 가능하다는 의미이다. **kwargs parameter를 key : value 형태인 딕셔너리를 받아서 그대로 사용할 수 있다. 2020. 2. 21.
Numpy : np.diag (대각선 요소의 값만 추출한 배열 구하기) np.diag import numpy as np sourceList = [(1, 2, 3), (4, 5, 6), (7, 8, 9)] sourceNDArray = np.array(sourceList) targetNDArray = np.diag(sourceNDArray) print(targetNDArray) [결과] [1 5 9] 출처: https://icodebroker.tistory.com/5277 [PYTHON/NUMPY] diag 함수 : 대각선 요소의 값만 추출한 배열 구하기 ■ diag 함수 : 대각선 요소의 값만 추출한 배열 구하기 --------------------------------------------------------------------------------------------.. 2020. 2. 21.