본문 바로가기

교재 실습/자바 웹 프로그래밍 Next Step96

2.3.1 요구사항 문자열 계산기의 요구사항은 전달하는 문자를 구분자로 분리한 후 각 숫자의 합을 구해 반환해야 한다. · 쉼표(,) 또는 콜론(:)을 구분자로 가지는 문자열을 전달하는 경우 구분자를 기준으로 분리한 각 숫자의 합을 반환한다.(예 " " => 0, "1,2" => 3, "1,2,3" => 6, "1,2:3" => 6) · 앞의 기본 구분자(쉼표, 콜론) 외에 커스텀 구분자를 지정할 수 있다. 커스텀 구분자는 문자열 앞부분의 "//"와 "\n" 사이에 위치하는 문자를 커스텀 구분자로 사용한다. 예를 들어 "//;\n1;2;3"과 같이 값을 입력할 경우 커스텀 구분자는 세미콜론(;)이며, 결과 값은 6이 반환되어야 한다. · 문자열 계산기에 음수를 전달하는 경우 RuntimeException으로 예외 처리해야 .. 2025. 1. 2.
2.2.3 테스트 중복 코드 제거 개발자가 가져야 할 좋은 습관 중 하나는 중복 코드 제거인데, 중복 코드는 프로그래밍의 가장 큰 적 중의 하나이다. 테스트 코드 또한 많은 중복이 발생한다. CalculatorTest 클래스에 Calculator 인스턴스를 생성하는 부분에 발생하는 중복을 제거한다. import static org.junit.Assert.assertEquals;import.org.junit.Test;public class CalculatorTest { private Calculator cal = new Calculator(); @Test public void add() { assertEquals(9, cal.add(6, 3)); } @Test public void subtra.. 2025. 1. 1.
2.2.2 결과 값을 눈이 아닌 프로그램을 통해 자동화 main() 메서드의 두 번째 문제점은 실행 결과를 눈으로 직접 확인해야 한다는 것이다. JUnit 은 이 같은 문제점을 극복하기 위해 assertEquals() 메서드를 제공한다. 위 CalculatorTest 클래스에 assertEquals() 메서드를 적용한다.  import static org.junit.Assert.assertEquals;import.org.junit.Test;public class CalculatorTest { @Test public void add() { Calculator cal = new Calculator(); assertEquals(9, cal.add(6, 3)); } @Test public void subtract(.. 2024. 5. 6.
2.2.1 한 번에 메서드 하나에만 집중 프로젝트에 JUnit 라이브러리를 추가한 후 main() 메서드로 구현한 CalculatorTest 클래스를 삭제하고 새로운 CalculatorTest 클래스를 생성한다. JUnit을 사용하려면 라이브러리를 추가해야 한다. JUnit 은 테스트 메서드에 @Test 어노테이션을 추가한다. import.org.junit.Test; public class CalculatorTest { @Test public void add() { Calculator cal = new Calculator(); System.out.println(cal.add(6, 3)); } } 위와 같이 @Test 어노테이션을 추가한 후 이클립스 메뉴에서 Run > Run As > JUnit Test 를 실행하면 add() 메서드를 실행할 수.. 2024. 4. 3.
2.2 JUnit을 활용해 main() 메서드 문제점 극복 JUnit(http://junit.org)은 단위테스트 프레임워크 중 하나다. JUnit은 main() 메서드의 한계를 해결해줄 수 있는 도구로, 자바 진영에서 많은 라이브러리들이 있지만 JUnit 만큼 사용하기 쉽고 학습 비용이 낮은 라이브러리는 많지 않으니 부담없이 접근 가능하다. 동영상을 통해 학습하면, 이클립스 개발 환경하에서 프로젝트 추가, 실행, 이클립스 활용 팁, JUnit 사용법을 학습할 수 있다. 이클립스 활용, JUnit 3 버전 사용방법 : https://youtube/vrUGCv80xql JUnit 4 버전 사용방법 : https://youtube/tyZMdwT3rlY 동영상에는 이 절에서 다루는 모든 내용을 포함하고 있다. 참고도서 : https://roadbook.co.kr/16.. 2024. 3. 27.
2.1 main() 메서드를 활용한 테스트의 문제점 소스코드를 구현한 후 정상적으로 동작하는지 확인하는 일반적인 방법은 main() 메서드를 활용해 의도한 결과 값이 정상적으로 출력되는지 콘솔을 통해 확인하는 것이 일반적이다. 이 과정을 살펴보기 위해 덧셈(add), 뺄셈(subtract), 곱셈(multiply), 나눗셈(divide) 을 구현하는 간단한 사칙연산 계산기 구현 코드를 살펴본다. public class Calculator { int add(int i, int j) { return i + j; } int subtract(int i, int j) { return i - j; } int multiply(int i, int j) { return i * j; } int divide(int i, int j) { return i / j; } publi.. 2024. 3. 26.
2장 문자열 계산기 구현을 통한 테스트와 리팩토링 두 번째 양파 껍질을 벗기기 위한 첫 번째 과정으로 추천하는 학습은 테스트와 리팩토링이다. 테스트와 리팩토링은 개발자가 갖추어야 할 중요한 역량이다. 리팩토링의 즐거움을 한 번 맛보면 프로그래밍하는 즐거움과 재미를 느낄 수 있다. 이 장은 테스트와 리팩토링을 학습하는 것과 더불어 자바 개발 환경에 익숙하지 않은 개발자가 자바 개발 환경을 익히고, 이 책의 실습 진행 방식을 경험하는 것을 목표로 한다. 참고도서 : https://roadbook.co.kr/169 [신간안내] 자바 웹 프로그래밍 Next Step ● 저자: 박재성 ● 페이지: 480 ● 판형: 사륙배변형(172*225) ● 도수: 1도 ● 정가: 30,000원 ● 발행일: 2016년 9월 19일 ● ISBN: 978-89-97924-24-0.. 2024. 3. 26.
2. 두 번째 양파 껍질 벗기기 1장에서 다룬 첫 번째 양파 껍질의 목표는 프로그래밍이 무엇인지에 대한 경험을 하고, 웹 애플리케이션을 프론트엔드부터 백엔드까지 개발하는 경험을 하면서 웹 애플리케이션을 구성하는 요소, 역할을 이해하는데 집중했다. 웹 애플리케이션 개발에 필요한 최소한의 내용을 학습하는 단계이다. 프로그래밍에 도전하는 사람들을 보면 첫 번째 양파 껍질은 소프트웨어에 대한 흥미를 가지면서 나름 재미있는 경험을 하는데, 초급자가 학습할 컨텐츠도 많고 따라하기 식의 쉽고 재미있는 컨텐츠가 많기 때문이기도 하다. 하지만 첫 번째 단계에서 두 번째 단계로 도전하는 사람보다 포기하는 사람이 더 많다. 두 번째 양파 껍질은 첫 번째 양파 껍질보다 훨씬 더 두껍고, 알아야할 지식도 폭발적으로 늘어나는 경향이 있기 때문이다. 이 두 번째.. 2024. 3. 25.
1.6 학습 방법 지금까지 학습하는 방식을 보면 이론적인 기초부터 탄탄하게 다진 후 무엇인가를 만드는 경험을 하는 방식으로 학습을 해왔다. 대표적으로 음악과 미술 같은 경우에도 경험을 통해 음악과 미술에 대한 즐거움을 먼저 느끼는 것이 아니라 이론적인 학습에 치중함으로써 음악과 미술에 대한 즐거움을 느끼는 것이 아니라 거부감을 가지도록 만든다. 물론 기초부터 탄탄하게 쌓는 것도 하나의 학습 방법이지만 경험을 통해 즐거움을 느낀 후 이론적인 학습을 하는 것 또한 좋은 학습 방법이다. 하지만 초, 중, 고등학교를 거치면서 기초부터 이론 위주의 학습 습관이 자연스럽게 베어 있어 소프트웨어 학습 또한 같은 방식으로 접근하는 것이 일반적이다. 하지만 소프트웨어를 학습하는데 있어 이런 접근방식이 맞는 학생도 있지만 그렇지 않은 학생.. 2024. 3. 19.