Vison control
Objectives version control이 무엇이고 왜 사용하는지 파악하기 어떻게 git이 version history를 그래프로 저장하는지 이해 version history를 사용하고 읽고 만드는것을 연습 Introduction Version control 시스템은 소프트웨어 공학에선 필수적인 도구입니다. 대부분의 오...
Objectives version control이 무엇이고 왜 사용하는지 파악하기 어떻게 git이 version history를 그래프로 저장하는지 이해 version history를 사용하고 읽고 만드는것을 연습 Introduction Version control 시스템은 소프트웨어 공학에선 필수적인 도구입니다. 대부분의 오...
이번 장의 목표 Test-first programmin의 절차를 알고, 테스팅 값을 이해하는것 메소드의 input과 output에 적절한 테스트를 디자인 하고 좋은 TC를 고르는것 테스트가 코드에 어느 범위 까지 적용 되는것을 이해하는것 블랙박스와 화이트박스 테스트를 이해하고 유닛과 통합 테스트 그리고 자동 회귀 테스트를 이해한다. ...
Hailstone Sequence n이 짝수일 때 n / 2, n이 홀수 일때 3n + 1 2, 1 3, 10, 5, 16, 8, 4, 2, 1 4, 2, 1 2n, 2n-1 , ... , 4, 2, 1 5, 16, 8, 4, 2, 1 7, 22, 11, 34, 17, 52, 6,...
Specifications란 무엇인가? 심각한 버그는 인터페이스의 동작에 대한 오해에서 나타난다. 정확한 명세를 활용해 비난을 사람이 아닌 코드로 옮겨야한다. BigIntefer에 대한 명세와 코드 /* * 명세 */ public BigInteger add(BigInteger val) ...
Recursive functions 재귀적 함수가 자기 자신의 관점에 따라 정의되는 것과 같이 재귀적 자료형 또한 자기 관점에서 정의된다. Immutable lists immutable list 인 ImList<E> 이것이 4가지의 작동을 한다고 생각 empty: void → ImList cons: ...
Object recursion 문제를 base case와 recursive steps로 분리 할 수 있습니다. recursion에 help methods를 이해합니다. recursion vs iteation 의 장단점을 이해합니다. Recursion 이미 recursion에 대한 사양을 가지고 있을때, 어떻게 구현하면 좋은가?...
Object 가변 객체와 가변성에 대해 이핸다. allasing(별명 짓기)를 Identify 성과 가변성의 위험을 이해 불변성을 사용해 정확성, 명확성,등을 개선한다. Mutability Java의 일부 객체는 불변성을 가지고 있다. 한번 생성되면 → 항상 동일한 값을 가지고 있다. [Immutability] 한번 생...
Objectives ADT를 정의하고 인터페이스를 구현하는 클래스를 작성하기 Interfaces 자바의 interface 는 추상 데이터 유형 표현해 유용한 언어 메커니즘 메서드 시그니쳐는 있지만… bodies는 없다. interface 는 모든 메서드에 대한 메서드 bodies를 정의한다. 따라서 JAVA에서 인터페이스는 추...
Exceptions for signaling bugs 자바 프로그래밍에는 다양한 예외가 있다. ArrayIndex-OutOfBoundsExceions 같은… NullPointerException 또한 일반적인 예외이다. NumberFormatException 은 Interger.parseInt 정수로 구...
Introduction 추상화 함수에서 equality 연산을 정의 하는 방법 Three Ways to Regard Equality equality를 바라보는 다양한 방법 추상화 함수 사용(Using an abstraction function) 추상화 함수 $F$ 를 정의해 $F(a) = F(b)$ 인 경우에만 equ...