배포 과정이 궁금해서 정보를 찾아보고 내가 이해한 부분을 정리하여 글을 작성하게 됐다. 처음엔 배포 과정을 어렵게 생각했다가 알고 보니 생각보다 단순한 개념이었다. 예를 들면 클라우드 스토리지(컴퓨터) 서비스를 운영하는 곳에서 스토리지를 할당 받고 내 컴퓨터에서 runserver 명령어로 서버를 실행시키는 것 처럼, 만든 개발 프로젝트를 클라우드 서비스에 업로드 하고 거기서 실행시키는 개념이다. 클라우드 서비스 선택 일단, 서비스를 운영하는 회사는 많다. MS의 Azure나 아마존의 AWS같은 회사 말이다. 가장 많은 수익을 올리고 있는 AWS를 예를 들겠다. AWS가 서비스 하는 목록을 보니 크게 컴퓨팅, 스토리지, 데이터베이스, 네트워킹 및 콘텐츠 전송, 분석, 기계 학습, 보안, 자격 증명 및 규정..
서론 나는 인공지능을 전공하는 학부생이다. 학교에 입학하고 나서 무지한 사람으로서 당연(?)하게도 개발분야의 큰 그림을 보지 못하고 의미없이 학과 수업을 들었었다. 그러면서 아무리봐도 이 정도로는 취업시장에서 “경쟁력”도 없는 내가 될 것만 같았다. 그런 고민이 들던 중 2학년을 마치고 휴학을 하기로 했고, 그러면서 전공(인공지능)공부의 일환으로 개발 메커니즘을 이해하기 위해 컴퓨터 학문 기초부터 찾으면서 공부하게 됐다. 그러면서 처음 파이썬을 이용한 풀스택 부트캠프를 수강하게 되었고, 장고 프레임워크를 다룰 수 있게 되었다. 그러나 완강을 하고나서도 어느정도 개발의 큰 그림을 알게된건 사실이지만, 해당 기술을 채택한 이유에 대한 고민 없이 막연히 인공지능 => 파이썬 => 장고 라는 생각이었고 그런 고..
1. 알고리즘 복잡도 계산이 필요한 이유 2. 알고리즘 복잡도 계산 항목 알고리즘 복잡도계산 항목 생각해보기 프로그래밍에서 시간 복잡도에 가장 영향을 많이 미치는 요소는 반복문 알고리즘 성능 표기법 3. 대문자 O 표기법 4. 실제 알고리즘을 예로 각 알고리즘의 시간 복잡도와 빅 오 표기법 알아보기 연습 1 : 1부터 n까지의 합을 구하는 알고리즘 작성해보기 알고리즘 1 : 1부터 n까지의 합을 구하는 알고리즘 1 시간 복잡도 구하기 알고리즘 2 : 1부터 n까지의 합을 구하는 알고리즘 2 시간 복잡도 구하기 어느 알고리즘이 성능이 좋은가요 요약 1. 알고리즘 복잡도 계산이 필요한 이유 하나의 문제를 푸는 알고리즘은 다양할 수 있음 정수의 절대값 구하기1,-1 - >> 1 방법1 : 정수값을 제곱한 값에..
이산수학이란? 집합과 논리 1. 집합 집합이란? 벤다이어그램 유한집합 / 무한집합 집합의 포함관계 합집합 : A ∪ B 교집합 : A ∩ B 서로소 차집합 : A - B 여집합 : A^c 집합의 법칙들 2. 명제 명제란? 3. 논리 논리연산자들 부정 ~p 논리곱(and) : p ∧ q 논리합(or) : p ∨ q 조건명제 역, 이, 대우 역 이 대우 명제함수와 한정자(quantifier) 명제함수 P(x) 전체한정자∀ 존재한정자 ∃ 요약 이산수학이란? 집합과 논리 1. 집합 집합이란? 여러 원소들(element)의 모임으로, 중복된 원소를 가지지 않음 벤다이어그램 집합 사이의 관계를 표시하기 위해 도형으로 표기한 것 유한집합 / 무한집합 집합 A에 속하는 원소의 개수를 |A|로 표현하며, 원소가 유한개인..
1. 직접 증명과 반례 증명의 이해 공리(Axiom) 정의(Definition) 정리(Theorem) 증명(Proof) 직접증명 반례증명 2. 기타 증명법 모순증명 동치증명법 경우 증명법 존재증명법 3. 수학적 귀납법 수학적 귀납법 요약 1. 직접 증명과 반례 증명의 이해 공리(Axiom) 별도의 증명 없이 항상 참으로 이용되는 명제 예) 어떤 자연수 n에 대하여 n+1이 존재한다. 정의(Definition) 용어 또는 기호의 의미를 확실하게 규정한 문장이나 식 예) n! = n X (n-1) X …3 X 2 X 1 정리(Theorem) 공리와 정의를 통해 참으로 확인된 명제 예) 피타고라스의 정리 증명(Proof) 명제가 진릿값을 확인하는 과정 직접증명 조건명제 p → q를 증명하기 위해 p를 참이라 ..
대표적인 데이터 구조 : 링크드 리스트 1. 링크드 리스트 구조 2. 간단한 링크드 리스트 예 노드 구현 노드와 노드 연결하기(포인터 활용) 링크드 리스트 데이터 출력하기(검색하기) 3. 링크드 리스트의 장단점(전통적 C언어에서의 배열과 링크드 리스트) 4. 링크드 리스트의 복잡한 기능1 (링크드 리스트 데이터 사이에 데이터를 추가) 5. 파이썬 객체지향 프로그래밍으로 링크드 리스트 구현하기 대표적인 데이터 구조 : 링크드 리스트 1. 링크드 리스트 구조 연결 리스트라고도 함 배열은 순차적으로 연결된 공간에 데이터를 나열하는 데이터 구조 링크드 리스트는 떨어진 곳에 존재하는 데이터를 화살표로 연결해서 관리하는 데이터 구조 본래 C언어에서는 주요한 데이터 구조이지만, 파이썬은 리스트 타입이 링크드 리스트의..
꼭 알아둬야 할 자료 구조 : 스택(stack) 1. 스택 구조 2. 스택 구조와 프로세스 스택 3. 자료구조 스택의 장단점 4. 파이썬 리스트 기능에서 제공하는 메서드로 스택 사용 해보기 5. 프로그래밍 연습 연습1: 리스트 변수로 스택을 다루는 pop, push 기능 구현해보기 (pop, push 함수 사용하지 않고 직접 구현해보기) 요약 꼭 알아둬야 할 자료 구조 : 스택(stack) 데이터를 제한적으로 접근할 수 있는 구조 한쪽 끝에서만 자료를 넣거나 뺄 수 있는 구조 가장 나중에 쌓은 데이터를 가장 먼저 빼낼 수 있는 데이터 구조 (큐와는 다름) 큐 : FIFO 정책 (선입선출) 스택 : LIFO 정책 (마지막에 들어간게 첫번째로 뽑힘, 후입선출) 1. 스택 구조 스택은 LIFO(Last in,..
1. 큐 구조 2. 알아둘 용어 3. 파이썬 queue 라이브러리 활용해서 큐 자료 구조 사용하기 3-1. Queue()로 큐 만들기(가장 일반적인 큐,FIFO(First-In, First-Out)) - 선입선출 3-2. LifoQueue()로 큐 만들기 (LIFO(Last-In, First-Out)) - 후입선출 3-3. PriorityQueue()로 큐 만들기 어디에서 큐가 많이 쓰일까? 4. 프로그래밍 연습 연습1: 리스트 변수로 큐를 다루는 enqueue, dequeue 기능 구현해보기(함수사용X) 요약 1. 큐 구조 줄을 서는 행위와 유사 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조 음식점에서 가장 먼저 줄을 선 사람이 제일 먼저 음식점에 입장하는것과 동일. FIFO 또는 LILO 방..