목록전체 글 (112)
Shine's dev log

1. Quick Sort 코드 def swap(a, b): return b, a def partition(A, p, r): x = A[r] i = p - 1 for j in range(p, r-1): if A[j]

1. zoom recordings 요즘 교수님들이 대부분 줌으로 강의를 진행하시는데, 강의를 녹화해서 언제든지 볼 수 있도록 올려주시는 천사 교수님들이 계신다. 하지만, 경험상 줌 녹화 링크는 일정 시간이 지나가면 삭제되는 문제가 발생한다. 또한, 인터넷이 없는 환경에서도 안정적으로 강의를 다시 보고싶을 경우에는 해당 녹화파일을 동영상파일로(mp4) 다운로드 받고 싶을때가 있을 것이다. 일반적으로 mp4 영상을 서버로부터 그대로 받아오는 웹페이지의 경우에는, 개발자 도구에 들어가서 mp4 영상 소스 링크를 통해 웹에서 바로 다운받을 수 있지만, zoom recordings 같은 경우에는 위와 같은 방법이 불가능하다. 하지만 다음과 같은 방법을 따라하면 쉽게(?) 줌 녹화 영상을 다운로드 받을 수 있을 것..

1. Maximum-subarray 코드 def FindMaximumSubarray(A, low, high): if high < low: return 0, 0, 0 if high == low: return low, high, A[low] else: mid = (low + high) // 2 (left_low, left_high, left_sum) = FindMaximumSubarray(A, low, mid - 1) (right_low, right_high, right_sum) = FindMaximumSubarray(A, mid + 1, high) (cross_low, cross_high, cross_sum) = FindMaxCrossingSubarray(A, low, mid, high) if left_s..

1. Merge sort 코드 def mergesort(l): if len(l) < 2: return l mid = len(l) // 2 left = mergesort(l[:mid]) right = mergesort(l[mid:]) if left and right: return merge(left, right) def merge(left, right): left.append(99999) # Suppose 99999 is infinite. right.append(99999) # Suppose 99999 is infinite. index1 = 0 index2 = 0 temp = [] while left[index1] != 99999 or right[index2] != 99999: if left[index1]..

1. Insertion sort 코드 def insertion_sort2(arr): for n in range(1, len(arr)): j = n key = arr[j] i = j - 1 while i >= 0 and arr[i] > key: arr[i + 1] = arr[i] i = i - 1 arr[i + 1] = key arr = [9, 8, 1, 7, 5, 3, 2, 6, 4] insertion_sort(arr) print(arr) 위의 코드는 Insertion Sort의 파이썬 코드다. 2. 기본 알고리즘 Insertion sort의 기본 원리는 카드를 들고있을때 정렬하는 것과 유사하다. 위의 사진처럼 카드를 양손에 쥐고있다고 하자. 왼손에는 무조건 정렬된 상태의 카드들을, 오른손에는 무작위로 ..

1. 개요 졸업 프로젝트로 온라인 시험 부정행위 방지에 관한 개발을 했었는데, 내가 맡은 부분은 아래와 같다. 1) 응시자의 눈동자위치와 고개 회전 정도를 분석하여 (아이트래킹) 부정행위를 막는 기능 2) 응시자의 신분증 상의 얼굴과 실제 웹캠 상의 얼굴을 비교하여 대리시험을 막는 기능 하나의 exe 파일로 만들때 용이하게 하기 위해 하나의 파이썬 스크립트로 개발하였다. 코드는 아래에서 확인할 수 있다. https://github.com/godeastone/Eyetracking 2. 구현 1) 아이트래킹 구현 아이트래킹 정보는 크게 네가지 기능을 수행한다. 첫번째 기능은 응시자의 눈동자의 회전 정도를 파악하는 기능이다. 해당 기능을 구현하기 위해 dlib 라이브러리와 OpenCV 라이브러리를 활용하여 응..