분류 전체보기 289

[Next Step] 자바 웹프로그래밍 2.3 정리

요구사항 전달하는 문자를 구분자로 분리하자 각 숫자의 합을 구해 반환하자 쉼표(,) 또는 클론(:)을 구분자로 가지는 문자열을 전달하는 경우 구분자를 기준으로 분리한 각 숫자의 합을 반환하 커스텀 구분자를 지정하자 "//", "\n" 사이에 위치하는 문자를 커스텀 구분자로 사용하자 문자열 계산기에 음수를 전달하는 경우 RuntimeException으로 예외처리하자 요구사항을 더 작은 단위로 쪼개보자 개발자의 역량을 키우기에 좋은 연습이다 String 클래스를 활용하자 2.3.2를 보기 전 내가 구현한 테스트 코드 및 구현 코드 알고리즘이랑 유사하다고 느꼈다. 상당히 자세하고 요구사항이 쪼개지며, 예외에 대한 테스트도 꼼꼼히 작성하게 되는 느낌이었다. 음수가 있으면 예외처리를 던지는 로직을 추가하였다. 테..

Dev 2022.08.24

[Next Step] 자바 웹프로그래밍 2.1,2.2 정리

2.1 main() 메소드를 활용한 테스트의 문제점, 2.2 Junit을 활용해 main() 메소드 문제점 극복을 정리해보았습니다. 학습 목표 문제점과 해결방식에 초점을 맞추어 정리했습니다. 문제점이 무엇인지 아는 상태에 도달하기 위해 노력했습니다. 1. 프로덕션 코드와 테스트코드(main()) 이 같은 클래스에 위치하고 있다. public class Calculator{ ... } public static void main(String[] args){ Calculator cal = new Calculator(); cal.add(1,2); cal.sub(1,2); } 프로덕션 코드와 테스트 코드를 분리하자 public class Calculator{ ... } 분리! public static void m..

Dev 2022.08.22

[Spring Boot] Controller에서 매개변수 넘겨받기

controller단에서 매개변수를 넘겨받는 방법을 한번 정리하고 넘어가고 싶어 포스팅을 남기게 되었다. 1. /test/{id} 로 넘겨받고 싶은 경우 - @PathVariable /* /test/{id} */ @GetMapping("/test/{id}") public String testControllerWithPathVariables(@PathVariable(required = false) int id){ return "hello id : " + id; } 2. /test?id=123으로 넘겨받고 싶은 경우 - @RequestParam /* /test/testRequestParam?id=123 */ @GetMapping("/test/testRequestParam") public String test..

Dev/SpringBoot 2022.07.18

Restful 하다는 것은 뭘까?

REST - Representational State Transfer의 약자로, 아키텍쳐 스타일이다. - 아키텍쳐 스타일 : 반복되는 아키텍쳐 디자인 - 아키텍쳐 패턴 : 어떤 반복되는 문제 상황을 해결하는 도구 - 6가지 제약조건으로 구성되며, 이 가이드라인을 따르는 API를 RESTful API라고 한다. REST 제약조건 - 클라이언트-서버 - 상태가 없음 - 캐시되는 데이터 - 일관적인 인터페이스 - 레이어 시스템 - 코드-온-디멘드(Optional) 1. 클라이언트-서버 - 리소스 : REST API가 리턴할 수 있는 모든 것을 의미. 예를들어 HTML, JSON, 이미지 등이 있다. - 리소스를 관리하는 서버가 존재하고, 다수의 클라이언트가 리소스를 소비하려고 네트워크를 통해 서버에 접근하는 ..

Dev 2022.07.18

[백준] 24479번 알고리즘 수업 - 깊이 우선 탐색 1 #Java

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.StringTokenizer; public class Main { static int N,M,R,idx; static ArrayList[] edges; static int [] answer; static boolean [] visited; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedRead..

[백준] 1676번 팩토리얼 0의 개수 #Java

소인수분해, 누적합 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int answer = 0; while (n >= 5) { answer += n / 5; n /= 5; } System.out.println(answer); } }