본문 바로가기

Always Awake29

<테스트 주도 개발 - 켄트백> 1~4장 정리 본 글은 켄트 백의 을 읽고 개인적으로 정리한 내용입니다. 내용에 오류가 있을 시 지적해주시면 감사하겠습니다. 저자의 글 테스트 주도 개발의 2원칙 오직 자동화된 테스트가 실패할 경우에만 새로운 코드를 작성한다. 중복을 제거한다. 이 규칙에 의거하여 행동 패턴이 만들어지고, 다음과 같은 프로그래밍 순서가 만들어진다. 빨강 - 실패하는 작은 테스트를 작성한다. 컴파일이 되지 않아도 좋다. 초록 - 빨리 테스트가 통과하게끔 만든다. 이 과정에서 코드 복붙, 테스트 통과를 위해 함수가 무조건 상수를 반환하기 등의 꼼수를 써도 상관없다. 리팩토링 - 일단 테스트를 통과하게만 하는 와중에 생겨난 모든 중복을 제거한다. 1장 - 다중 통화를 지원하는 Money 객체 다중통화를 지원하는 보고서를 생성하려면, 기존의 .. 2020. 9. 25.
JavaScript 특징 1. 동적 형변환 값에 따라 변수 형변환이 자동으로 이루어진다. 이는 다른 스크립트 언어들도 마찬가지이다. var one = 1; var two = “two”; console.log(one + two); // 1two var two = 2; console.log(one + two); // 3 2. 프로토타입 기반 객체지향(Prototypal Object-Oriented) 자바스크립트는 객체지향이지만, 클래스 개념 대신 프로토타입 을 일반적으로 사용한다.(ECMA6 표준에서 Class 문법이 추가되었고, TypeScript에서도 클래스를 사용하고있긴하다) 모든 객체는 함수를 이용해서 생성된다. function Unit() {} // 함수 var player = new Unit(); // Unit 함수로 생.. 2020. 7. 1.
모두를 위한 딥러닝 시즌 2 / 3강 정리 Simplified hypothesis 원래 hypothesis와 cost에서 W(weight,기울기)만 남고 b(bias)만 생략되었다. Hypothesis : H(x) = Wx Cost : 오차 제곱의 평균 W값이 바뀔 때 cost값의 변화 Data set (x,y) = (1,1), (2,2), (3,3)일 때 w값이 1을 기준으로 완만한 2차함수 형태를 그리게된다. 우리의 목적은 cost가 최소화되는 W값을 찾는것이므로, 코스트를 최소화하는 W값은 1임을 알 수 있다. 그래프를 그려 확인하면 직관적으로 알 수 있지만, 컴퓨터를 이용해 찾기위해서는 알고리즘을 이용해 기계적으로 해당 W값을 찾도록 계산시켜야한다. 이러한 과정을 구현한 알고리즘이 Gradient descent algorithm이다. Gr.. 2020. 4. 6.
모두를 위한 딥러닝 시즌2 / Lab 2강 정리 복습 > cost = (1/갯수)*([(예측값-실제값=오차)^2]들의 합) 즉 오차 제곱의 평균. 따라서 cost가 최소가 되도록 만드는 W,b값(예측값의 변수)를 찾는것이 learning의 핵심목적. hypothesis와 cost 만들어보기 - 데이터 셋을 설정 (x_data -> 입력 값, y_data -> 출력 값) - W값과 b값을 설정 (초기에는 random값으로 설정) - hypothesis = W * x_data + b - cost = tf.reduce_mean(tf.square(hyphothesis - y_data)) reduce_mean이라는 이름은 높은 차원(리스트는 1차원이다)을 낮은차원(하나의 value는 0차원이다)으로 끌어내리므로 reduce라는 이름이 붙었다. Gradient .. 2020. 3. 24.
모두를 위한 딥러닝 시즌2 / 1~2강 정리 1.Supervised/Unsupervised learning Supervised learning : labeled examples를 가지고 기계가 학습하도록 하는방식 ex - 개 사진들과 고양이 사진들을 준 뒤 이를 통해 학습하여 개와 고양이를 구별 할 수 있게 만드는 방식 —> ML의 일반적인 방식 Unsupervised learning : label 되지 않은 examples를 주고 기계가 스스로 유사한 것을 판단하여 grouping할 수 있도록 하는 방식 ex - Google news grouping, 비슷한 단어를 모으는 word clustering 2.Training data set X값에 연관된 Y값(label 값)쌍이 여러개 존재하는 데이터셋. 이를 통하여 기계가 Y가 없는 X를 받았을 때.. 2020. 3. 16.
로그쉐어 프로젝트 발표, 피로그래밍 12기 공식 활동 종료 후기(20.02.22) 3주간의 프로젝트 대장정을 끝내고 6개의 조들이 모두 서울대학교 sk경영관 120호에 모였다. 발표시각은 2시였지만, 로그쉐어팀은 11시가 조금 넘은 시점에 모두 모였다. 나는 전날 배포와 RDS연동까지 성공했으나 static의 경로를 못찾아 깨지는 문제가 발생했기 때문에, 그리고 팀원들은 마지막으로 배포판으로 프론트를 조금 더 다듬기 위해 발표시각인 2시보다 조금 더 일찍 모였다. static파일의 경로 수정을 구상이형에게 도움받아 잘 해결한 뒤, 팀원들의 프론트 수정사항을 서버에서 CLI로 일일이 고쳤다. 전날 보안처리해두겠다고 settings와 uwsgi를 분리해놓은데다 경로도 다시 설정했기 때문에, 함부로 dev나 master에서 다시 클론받아오면 큰일 날 것 같았다. 정말 말그대로 발표를 1시간.. 2020. 2. 25.