[Docker] 도커를 사용하는 이유, 가상머신과 다른점
·
sw
본 정리는 Udemy에서 신청한 강의 "Docker & Kubernetes: 실전가이드"를 수강하고 정리한 내용입니다. Docker is a container technology: A tool for creating and managing containers.소프트 웨어에서 Container란 코드 패키지이며 해당 코드를 실행하는데 필요한 종속성과 도구가 포함되어있다.모두가 그 컨테이너를 필요할때 사용할 수 있음.  작업을 매우 간단하게 만들 수 있다. 왜 Docker와 Container인가? 독립적이고 표준화된 애플리케이션 패키지를 원하는 이유공통된 개발환경이 다 포함되어있으므로 코드가 항상 정확한 버전으로 실행될 수 있다. 호스트 컴퓨터가 아닌 컨테이너에 있기 때문에  쉽게 프로젝트를 할 수 있다. ..
[알고리즘] 퀵 정렬(Quick Sort)
·
sw
분할-정복 알고리즘(주어진 문제의 입력 데이터를 작게 줄여서 문제를 분할하여 정복하는 방법)의 하나로 합병 정렬(Merge Sort)와 달리 리스트를 비균등하게 분할한다. ① 리스트 안에 있는 한 요소를 선택한 후 이 원소를 '피벗(pivot)'이라고 하다 ② 피벗을 기준으로 피벗보다 작은 요소들은 모두 피벗의 왼쪽에 옮겨지고, 큰 요소들은 모두 피벗의 오른쪽으로 옮겨진다. ③ 피벗을 제외한 왼쪽 리스트와 오른쪽 리스트를 다시 정렬한다. - 분할된 부분 리스트에 대하여 순환 호출을 이용하여 정렬을 반복한다. - 부분 리스트에서도 다시 피벗을 정하고 피벗을 기준으로 2개의 부분 리스트로 나누는 과정을 반복한다. ④ 부분 리스트들이 더 이상 분할이 불가능할 때까지 반복한다. (리스트의 크기가 0이나 1이 될..
Argparse 라이브러리에 대하여
·
sw
우선 '파싱'이란 무엇일까? cs적인 부분으로 생각해보았을 때 주로 문자열이나 파일의 내용을 읽고, 그 구조나 의미를 분석하여 사용자나 프로그램이 원하는 형태로 변환하는 것을 가리킨다. -> 터미널 인자를 읽고, 그 인자들의 의미와 구조를 이해하고, 이를 프로그램 내에서 사용 가능한 형태로 변환하는 과정을 가리킨다. parser는 argparse.ArgumentParser( )로 생성된 객체의 참조인다. 이 'Parser' 객체는 주로 두 가지 주요 역할을 함. 1. 인자 정의 : add_argument 메서드를 통해서 인자의 이름이나 타입, 기본값, 도움말 메시지 등을 지정할 수 있다. 2. 인자 파싱: parse_args 메서드로 터미널에서 제공된 인자를 파싱한다. 지금 내가 헷갈리는 점은 train..
CUDA 11.6 Pytorch3d Install 설치 방법
·
sw
https://github.com/facebookresearch/pytorch3d/blob/main/INSTALL.md 5시간을 왜 pytorch3d가 install이 안돼서 끙끙됐는데 알고보니 굉장히 간단한걸 깨달았다. 분명 위의 사이트를 그대로 따라하면 된다는 건 다들 알고있겠지. 하지만, 그대로 따라할 때 내가 놓친 부분이 있다. 아래에 설명하였다. pytorch3d를 깔려면 cuda10.1이 필요하다는 오해가 있을 수 있는데 사실 상관 ㄴㄴ함. CUDA11.6도 가능 1. CUDA 11.6 2. Python 3.9 3. Pytorch 1.13.0 # Step1. 위 사이트 그대로 다운받는다. conda create해서 도화지에서 시작하기 conda create -n pytorch3d python=..
<코딩테스트>
·
sw
많은 문제를 접해보기, 리트코드, 프로그래머스, 백준 등... 꾸준한 학습과 반복..랭킹시스템 하루에 무조건 몇 문제를 풀겠다라는 목표를 정해서 ACM, ICPC 왕도가 없다. 내가 진짜 많이 고민해봐야함
[VHDL] Quartus
·
sw
알테라랑 자이링스가 세계에서 두 번째로 큰 fpga회사임인텔이 알테라 합병함...인텔 홈페이지에서 다운받기
[VHDL] VHDL과 베릴로그 차이점, 기초
·
sw
VHDL: 고속 집적회로용 하드웨어를 표현하는 언어VHDL은 pascal이라는 language 기반Verilog HDL은 C언어 기반실제 산업현장에서는 Verilog를 더 많이 사용하지만 VHDL은 학교에서 더 다룸. VHDL이 베릴로그보단 더 빡셈- hdl의 경우에는 hardware에 대한 개념이 없이 문법만 맞춰서 작성한다하면 원하는 결과가 잘 안나옴그래서 HDL을 제대로 이해하고 사용하려면 만들고자하는 회로를 어느정도 구상을 하면서 작성을 해야한다.순차적인 동작 서술 가능: 알고리즘,함수,프로시저를 기술하기 위한 용도병렬적인 동작 서술 가능: 여러 개의 프로세스들이 독립적으로, 비동기적으로 수행넷리스트(net-list) 표현파형 생성(waveform generation)테스트 환경 모델링: 논리합성..
[C언어] 포인터의 개념과 응용
·
sw
포인터는 다른 변수, 혹은 그 변수의 메모리 공간주소를 가리키는 변수이다. 그래서 포인터에는 변수의 주소값이 담아지게 됨. 포인터 변수에는 변수의 주소값 이외에는 어떤 값도 담을 수 없음..반드시 포인터의 크기는 4byte이다.1. 포인터 변수 선언시 앞에 *를 붙이는데     double *num;   char *num;   int *num;2. C언어에서의 *의 의미는...?   (1) *은 포인터 변수를 선언할 때도 사용하지만, 선언하고 나서 *을 붙이면 포인터 변수안에 담기 주소값의 변수를 의미한다.    (2) 선언을 할 때를 제외한 다른 곳에서의 *은 값을 참조하라는 의미이다.
[빅데이터] 파이썬 웹크롤링과 주피터 노트북 설치
·
sw
(최신 버전의 파이썬은 버그가 많아서 3.5.4버전을 다운받아 사용한다.)주피터 노트북 설치하고 사용하기윈도우 누르고 명령프롬트 창 띄워서 pip install jupyter 침그러면 설치 끝.
[R] 여러 건의 데이터 쉽게 관리하기
·
sw
1. 벡터(Vector)   여러 건의 데이터를 한 줄로 묶어서 담는 것 2. 매트릭스 3. 리스트 4. 데이터프레임