반응형

전체 글 252

테스트 주도 개발(Test-Driven Development: By Example) 책 정리

https://github.com/devssun/Study-Summary/tree/hyesun devssun/Study-Summary 테스트 주도 개발(켄트백 저) 정리 및 기타 자료 정리 저장소. Contribute to devssun/Study-Summary development by creating an account on GitHub. github.com Chapter12~16 - $5 + 10CHF = $10 (환율이 2:1일 경우) Chapter01 - $5 * 2 = $10 Chapter04 - amount를 private으로 만들기 Chapter02 - Dollar 부작용(side effect) Money 반올림? Chapter03 - equals() Chapter14 - hashCode(..

2020.04.01

한빛미디어 <나는 리뷰어다> 3월 - 개발 7년차, 매니저 1일차

개발 7년차, 매니저 1일차 한빛 미디어 3월! 오랜만에 책 택배가 집에 도착했다. 지난 2월 한빛 미디어에서 하는 에 참가 신청을 했었는데 선정되어 2020년 1년 간 활동하게 되었다. 미션 신청할 때 3권의 도서를 신청하고 랜덤으로 1권을 받게 되는데 꼭 3권을 고를 필요는 없기에 나는 2권만 선택했었다. 기대되는 시간이 지나 도착한 책. '개발자 7년차, 매니저 1일차' 페이스북에서 간간히 이 책이 보여 재밌을 것 같다는 생각을 했었는데, 좋은 기회에 이 책을 받게 되었다. 이 책은 매니저가 된 개발자를 위해 매니저로 성장하면서 겪는 여러 문제를 사례와 조언을 담았다. 또 소프트 스킬이 부족한 사수를 둔 개발자를 위해 사수에게 어떤 도움을 받을 수 있는지에 대한 내용도 담겨있다. 책의 표지에 귀여운..

2020.03.24

[알고리즘] 5강 빠른 정렬(Quick Sort)

빠른 정렬은 분할정복법으로 한다. merge와 비슷하지만 다른 점은 합병 단계에 아무것도 하지 않는 다는 것이다. 분할정복법 분할 : 배열을 다음과 같은 조건이 만족되도록 두 부분으로 나눈다. elements in lower parts ≤ elements in upper parts 기준을 pivot 이라 하고 해당 값을 기준으로 왼쪽은 작은 값, 오른쪽은 큰 값이 오도록 한다. 정복 : 각 부분을 순환적으로 정렬한다. (recursive) 합병 : nothing to do (아무것도 하지 않음) 정복 작업을 하게 되면 전체가 정렬된 것으로 본다 시간복잡도 평균 - O(NlogN) / 최악 - O(n^2) 의사 코드로 표현하기(pseudo-code) /// data[p...r] 원소를 정렬한다. func ..

[알고리즘] 4강 병합정렬 (merge sort)

4강 합병 정렬(merge sort) 합병 정렬은 다음과 같은 단계를 가진다 분할 : 해결하고자 하는 문제를 작은 크기의 동일한 문제들로 분할 정복 : 각각의 작은 문제를 순환적으로 해결 합병 : 작은 문제의 해를 합하여(merge) 원래 문제에 대한 해를 구함 [6, 4, 1, 2, 3, 5, 7, 8] 을 예시로 합병 정렬하면 아래 그림과 같은 단계로 정렬이 진행된다. 1차원 배열을 가장 작은 단위, 즉 1의 단위까지 쪼갠다. 가장 작은 단위로 쪼갠 후 배열의 왼쪽/오른쪽 값을 비교한다. 작은 값을 새 배열에 추가하고, 다음 작은 값을 새 배열에 추가한다. 비교하는 과정하고 추가하는 과정이 종료되는 어느 한쪽 배열에 값은 남게 되는 데 이때 반복문을 이용해 왼쪽 배열부터 새 배열에 모두 추가하고, 오..

Introducing the Create ML App 정리 - WWDC2019

WWDC 영상 링크 - Introducing the Create ML App - WWDC 2019 - Videos - Apple Developer Create ML App Create ML 앱을 사용해서 머신 러닝에 관한 전문적인 지식이 없더라도 머신 러닝 모델을 구축하고 학습시키고 배포할 수 있음 https://developer.apple.com/kr/machine-learning/create-ml/ 새로운 모델 (활동, 소리 추가) 새로운 워크 플로우 모델 템플릿 물체 인식, 활동 및 음향 분류, 추천 제공을 위한 모델 구축 텍스트 분류를 위해 단어 임베딩 및 전이 학습 활용 가능 다중 모델 학습 동시에 서로 다른 데이터세트를 사용하여 다중 모델 학습 미리보기 출력탭에서 학습된 모델을 미리볼 수 있음..

Programming/WWDC 2020.03.06

[알고리즘] 3강 기본적인 정렬 알고리즘 정리

3강 기본적인 정렬 알고리즘 정리 정렬 알고리즘 종류 simple, slow bubble sort insertion sort selection sort quick quick sort merge sort heap sort O(N) radix sort 1. Selection Sort (선택 정렬) 선택 정렬은 배열의 값 중 하나를 선택해 기준으로 두고 정렬하는 알고리즘이다. data[Int] 변수가 있을 때 배열의 data[i]을 기준으로 두어 변수에 값을 저장한다. (data[i]을 배열의 min 값으로 예상) min 값과 data[i+1] 값을 비교하여 data[i+1] > min 이면 min에 data[i+1] 값을 대입한다. data[i] 과 min 값을 swap 한다. 1~3번까지 반복한다. // ..

[알고리즘] 순환(Recursive) 개념과 기본 예제 3 정리

순환(Recursive) 개념과 기본 예제 3 정리 Designing Recursion; 순환 알고리즘의 설계 1. 순환 알고리즘 설계 적어도 하나의 base case, 즉 순환되지 않고 종료되는 case가 있어야 함 모든 case는 결국 base case로 수렴해야 함 KeyPoint - 암시적(implicit) 매개변수를 명시적(explicit) 매개변수로 바꾸어라 2. 예제 - 순차 탐색 data[0]에서 data[n-1] 사이에서 target을 검색한다 // 6. 순차 탐색 - 변경 전 func search(data: [Int], n: Int, target: Int) -> Int { for i in 0.. 배열의 시작 인덱스를 뜻하는 암시적 매개변수 if data[i] == target { ret..

[알고리즘] 순환(Recursive) 개념과 기본 예제 2 정리

순환(Recursive) 개념과 기본 예제 2 정리 Recursive Thinking; 순환적으로 사고하기 1. Recursion은 수학 함수 계산에만 유용한가? → 다른 많은 문제들을 recursion으로 해결할 수 있다 많은 예제들 문자 개수 세기 문자열을 뒤집어 출력하기 2진수로 변환하여 출력 배열의 합 구하기 데이터 파일로 부터 n개의 정수 읽어 오기 ... 1. 2진수 변환 출력 예제 // 4. 2진수로 변환하여 출력 func printBinary(n: Int) { // 음이 아닌 정수 n을 이진수로 변환하여 인쇄한다 if n < 2 { print(n, terminator: "") } else { printBinary(n: n / 2) // n을 2로 나눈 몫을 먼저 2진수로 변환하여 인쇄한 후..

[알고리즘] 순환(Recursive) 개념과 기본 예제 1 정리

순환(Recursive) 개념과 기본 예제 1 정리 순환(Recursive) 자기 자신을 호출하는 함수 1. 순환은 항상 무한 루프에 빠질까? 단순 호출만 하면 발생 가능 // 1. 무한 루프 예제 func infinityLoop() { print("Hello, World!") infinityLoop() } infinityLoop() recursion이 적절한 구조를 가지게 해서 무한 루프에 빠지지 않도록 함 2. 적절한 구조? func sum(n: Int) -> Int { if n == 0 { // Base Case - n이 0이면 종료 return 0 } else { return n + sum(n: n-1) // Recursive Case - 반복하다가 n이 0이 되는 순간이 온다 } } Base C..

728x90
반응형