국민대학교에서 "클라우드 컴퓨팅" 교과목을 진행하시는이경용 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 AWS High Availability (고가용성) Fault-tolerance와 Scalability 관점에서 살펴보자 고가용성 (High Availability)란? 서비스를 운용하는 사람이 관리를 하지 않아도 서비스가 동작하지 않는 시간을 최소화해서 사용자에게 예측된 성능을 제공해줄 수 있는 척도 고가용성의 구현 요소들 Fault tolerance 응용예제 자체에서 문제가 발생시에도 사용자에게 영향을 전파하지 않는 능력=> fault가 failure가 되지 않게백업 서버의 구동 등 Scalability 시스템의 디자인을 바꾸지 않고도 증가하는 요청을 처리할 수 있는 능력 사용자 ..
국민대학교에서 "클라우드 컴퓨팅" 교과목을 진행하시는이경용 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 AWS의 Region들 us-west-2, ap-southeast-1 처럼 되어 있는 것을 볼 수 있음 => 보통은 숫자 1로 갈수록 큰 도시를 의미하며 주요 Region부터 기능이 배포됨 AWS에서 Region을 선택할 때 고려 사항들 법률적 제약 사항=> 특정 데이터는 본국을 떠나서는 안됨 등의 제약 사항 고려주요 사용자와 가까운 곳에 위치=> 응답시간 측면에서 바라봐야함지역별로 가용한 서비스가 다름=> 주로 미국 서부(us-west-2) 및 동부 (us-east-1) Region 부터 새로운 서비스가 가능해짐Region 별로 가격이 다름=> 데이터센터의 장비 가격등을 고려해보면..
국민대학교에서 "클라우드 컴퓨팅" 교과목을 진행하시는이경용 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 Cloud Infrastructure 하나의 데이터센터에는 일반적으로 수천대의 서버가 장착되어 있음 데이터 센터 내에 서버는 랙으로 구성됨 => 같은 랙에서는 싱글 네트워크 스위치를 통해서 연결 => 여러 랙은 고성능 네트워크 스위치로 연결 AWS Infrastructure - Region & Availability Zone (AZ) Region 물리적 지리적 위치를 기준으로 구성된 자원 세트(미국 서부, 미국 동부, 아시아 서울, 아시아 일본 지역 등..) 하나의 Region은 최소 2개 이상의 Availability Zone으로 구성됨 Availability Zone 하나 또는 ..
국민대학교에서 "쉽게 배우는 알고리즘" 교재를 이용한 박하명 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 Selection Problem Problem Definition (정렬되지 않은) 배열 arr에서 i 번째로 작은 값 찾기Input : arr, i (0 (여기서 i는 0부터 시작한다는 점을 염두하자)Output : arr에서 i 번째로 작은 값 생각해볼 수 있는 Methods 로는 1. 최솟값 찾기를 반복=> 최악의 경우 시간 복잡도 Θ(i×n) = Θ(n^2)(최악의 경우 i가 n-1 이므로)2. 정렬 후 i 번째 값 찾기 => 정렬하는데 필요한 시간 Θ(n logn) Heapsort 사용시 Θ(n + i logn)(build-heap을 하고 뽑는데 logn 걸리는게 i 번 반..
Linux Scurity Model은 리눅스 운영 체제에서 시스템 자원에 대한 접근 권한을 관리하고, 보안을 강화하기 위해 설계된 다양한 메커니즘을 의미함=> 사용자, 프로세스, 파일, 네트워크 자원 간의 상호작용을 제어하고, 불법적인 접근이나 해킹을 방지하는 데 도움을 줌 Linux Security Mdoel은 크게 두 가지 주요 접근 제어 방식으로 나뉨 Discretionary Access Control (DAC) DAC는 리눅스에서 가장 기본적인 보안 모델로 시스템 자원의 소유자가 파일이나 디렉토리 등의 자원에 대해 읽기, 쓰기, 실행 권한을 부여하거나 제한할 수 있음! => 파일 권한과 소유자 정보는 chmod, chown, chgrp 명령을 통해 관리 가능(객체의 주체가 접근 여부를 결정하는 분..
국민대학교에서 "쉽게 배우는 알고리즘" 교재를 이용한 박하명 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 Lower Bounds of Comparision Sorting 비교 기반 정렬 알고리즘 (Comparision sort) 에서 Worst case에 O(nlogn) 보다 빠른게 존재할까? 정렬 문제의 상한은 O(nlogn) 임 => quicksort 라는 O(nlogn) 알고리즘이 존재하기 때문 정렬 문제의 하한은 Ω(n log n) 임 => 모든 알고리즘이 Ω(n log n) 인 것을 증명해야함 Comparison Sort를 Decision Tree로 추상화 가능함 위 그림 처럼 모든 sort의 process를 Decision Tree 형태로 추상화가 가능함! => Tr..
국민대학교에서 "클라우드 컴퓨팅" 교과목을 진행하시는 이경용 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 클라우드 컴퓨팅 서비스의 대중화 우선 클라우드 컴퓨팅에 대해 알아야 하는데 클라우드 컴퓨팅은 컴퓨팅을 하드웨어 관점이 아닌 소프트웨어 관점에서 활용하게 해주는 것이다! 클라우드 컴퓨팅 서비스의 특징 컴퓨터 자원의 초기 구매 없이 필요 할때 마다 대여 후 사용하는 서비스인터넷을 통한 서비스 제공업체 컴퓨터로 연결과금은 시간당 이루어 짐 (ex. CPU 4코어, 16기가 메모리는 시간당 20센트 : 전기세와 비교)컴퓨팅 자원의 유지보수, 관리 부담을 덜어 줌컴퓨팅 자원 뿐 아니라 다양한 형태의 사용자 친화형 서비스가 제공되고 있음 이렇게 클라우드 서비스 제공 업체는 자원 및 필요 소프..
국민대학교에서 "쉽게 배우는 알고리즘" 교재를 이용한 박하명 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 Heapsort Heapsort는 이름 그대로 Heap 자료구조를 활용하는 정렬 알고리즘이다! => Heap이란 Heap Property를 만족하는 Complete Binary Tree임! (Complete Binary Tree란 노드를 삽입할 때 왼쪽부터 차례대로 삽입하는 트리 = 왼쪽이 비어있을 수 없음) Heap Property(Min-Heap의 경우) 각 노드의 값 (Max-Heap의 경우) 각 노드의 값 >= 자식 노드의 값 => Complete Binary Tree 이므로 위와 같이 배열로 구현이 가능함! Heap Operations의 경우 (n은 Heap에 저장된 ..
set nu : 줄번호 표시(number) set ic : 검색시 대소문자 구분 X (ignorecase) set si : 자동 들여쓰기 (smart indenter) 위 옵션들을 vimrc에 넣어서 기본적으로 사용되게끔 할 수 있는데 자꾸 vimrc가 root에 대해 rw-라고 표시가 되어있는데 read only이라 저장이 안되는 이슈가 있음 (현재 Mac 사용중) 찾아보니 루트 파일 시스템이 읽기 전용(read-only)으로 마운트 되어 있다고 함 (macOS에서 보안 매커니즘?) 즉, macOS의 최신 버전에서는 보안 기능으로 인해 /usr, /System, /bin 등 루트 디렉토리가 기본적으로 읽기 전용 모드로 설정됨 => 이로 인해 시스템 파일을 수정하려고 할 때 문제가 발생하는거였음.. 시스..
국민대학교에서 "쉽게 배우는 알고리즘" 교재를 이용한 박하명 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 Merge Sort 분할 정복(Divide and Conquer) 정렬 알고리즘임 => 영역을 나눠서 각각 정렬하고 합치는게 Key Idea(나뉜 영역을 재귀적으로 정렬) Merging Two Sub-array 2개의 포인터를 이용하게 되는데 위 과정을 반복하여 나눠진 두 배열을 하나로 합친다 => 두 Sub-array의 최솟값을 비교하고 더 작은값을 복사하는 방식 결국 Merge는 arr에 n개만큼을 정렬하여 값을 채우게됨=> Θ(n) 만큼 연산을 필요로 하다는 것을 알 수 있음 Complexity Analysis of Merge Sort mergesort(arr, l, l..
국민대학교에서 "쉽게 배우는 알고리즘" 교재를 이용한 박하명 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 Sorting? 정렬(Sorting) : 배열 원소들을 번호 순, 알파벳 순 등 정해진 순서대로 재배치하는 문제 3 / 1 / 2 / 5 / 4 -> 1 / 2 / 3 / 4 / 5 Sorting Algorithms에는 크게 기본적인 정렬 알고리즘평균 시간복잡도가 Θ(n^2)인 알고리즘들Selection Sort, Insertion Sort, Bubble Sort고급 정렬 알고리즘평균 시간복잡도가 Θ(nlogn)인 알고리즘들Merge Sort, Quicksort, Heapsort특수 정렬 알고리즘특수한 경우 시간복잡도가 Θ(n)인 알고리즘들Radix Sort, Counting S..
국민대학교에서 "쉽게 배우는 알고리즘" 교재를 이용한 박하명 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다 Complexity of Recursive Functions Algorithm1 은 팩토리얼을 재귀적으로 나타내고 있고 Algorithm2 는 탐색 범위를 반으로 나누어 해당 숫자를 탐색하고 있음 그럼 복잡도는 어떻게 될까..? 바로 복잡도를 구하기는 힘들고 우선 복잡도 함수의 점화식 (Recurrence Relation)을 구해볼 수 있음 => 이는 복잡도 함수를 재귀적으로 정의한 식 Solving Recurrences 복잡도를 구하고 싶은데 점화식은 또 어떻게 풀 수 있을까..? 점화식을 푼다 = 점화식을 해석적 해로 변환 => 해석적 해(Closed solution) 란..