반응형

열정 9

37(테스팅과 API document작성)

또 google로 들어갔을 때 Tistory not found가 뜬다  그래서 bing으로 들어기 글을 쓰게 되었다 ,,,앞서서 단위테스팅과, 기본 @Springboottest를 통하여 간단한 API계층 테스트를 알아 보았다, 이제는 Mockito를 사용하여 가짜 Mock을 통해서 가짜 의존성을 주입해 주는 것을 통한 테스팅을 해볼 것 이고, 이를 통해서  API document까지 한번에 작성하는 spring restdocs까지 알아볼 것이다. 만약 membercontroller에서 member에 정보를 저장하는 createMember의 메서드의 기능을 테스트하고 싶다고 했을 때 @WebMvcTest@AutoConfigureMockMvcclass MemberControllerMockTest { @..

30~31

이게 뭐람.. 계속 티스토리 400 Not found가 떠서 다른 Tistory 블로그도 다 그렇게 뜨길래 서버가 터진줄 알고 계속 기다렸더니 혹시나 bing으로 들어가봤더니 되는..? 이게 무슨일이지.. 쨌든 다시 bing으로 시작한다.. 얼마나 밀린거야  오늘 알아 봐볼 범위는 Spring MVC부분에서 Excpetion 즉 예외에 대한 처리 부분이다. 기본적으로 Spring boot에서는 한 클래스 안에서 @ExceptionHandler을 명시하고 받을 Exception을 명시하면 그에 대한 예외를 처리할 수 있다. 예를 들면 @ExceptionHandler public ResponseEntity handleException(Exception e) { final List fiel..

회고 18일차

이제는 알고리즘 중 재귀에 대해 알아보려고 한다. 재귀(再歸) : 원래의 자리로 되돌아가거나 되돌아옴. 라는 뜻으로 쭉 안으로 들어갔다가 다시 원래 자리로 돌아온다는 느낌을 받으면 된다.public void recursion() { System.out.println("recursion!"); recursion();}계속 적 으로 자신을 호출하여 재귀를 하는 것을 재귀라고 합니다. 재귀라는 것은 문제를 가장 작은 단위로 쪼개서 해결하는 문제입니다.만약 1+2+3+4+5라면답은 : 5+f(4+3+2+1)이 될 것이고, 5+4+f(3+2+1) 이렇게 점점 내려갔다가 답을 끌고 올라와 정답이 될 것입니다.사실 재귀는 for문으로 모두 구현이 가능합니다.  재귀는 어떤 경우 사용하냐면1. 문제를 비슷한 구조의..

회고 17일차

주어진 배열이나 리스트를 정렬된 상태로 출력하고자 할때 --> Array.sort(arr);for(:){System.out.prinln();}을 통해서 출력할 수 있다. 이 코드도 간결하고 깔끔하지만, 이 코드는 원본을 변형시킨다는 단점을 가지고 있다. Stream API를 적용시킨다면.Stream arr = arr2.stream();arr.sorted().forEach(~~~); 라고 표현을 할 수있다.즉 :: Stream API를 사용했을 경우1. 일회성이다. 2. 원본 데이터를 변형시키지 않는다.-->stream은 원본 데이터를 건들지 않는다.3. 내부 반복으로 작업을 처리한다.-->  forEach(~~); 반복문이 함수 안에 숨겨져있다. II 람다식Stream연산은 매개변수로 함수형 인터페이스를..

회고 15일차

Collectioin 객체에 대해서 O X퀴즈로 나타내 보았다. 1. 모든 컬렉션 클래스들에는 기본 타입도 지정할 수 있다.(X)레퍼 객체만 사용 가능하다.  2. List 인터페이스를 구현한 컬랙션 클래스들은 데이터의 저장순서를 유지하며, 중복 저장을 허용한다.(0)-> 중복 저장을 허용하지 않는 것은 SET이다. 3. ArrayList는 배열과 달리 크기를 초과하여 요소를 추가하면 자동으로 크기가 늘어난다.(0)-> 기본 사이즈를 10으로 잡고 크기가 커지면 그에 맞춰서 확장한다. 4. ArrayList는 요소를 검색할 때 좋은 성능을 보이지만, 순차적으로 요소를 추가하거나 삭제할 때에는 그렇지 않다.(X)-> ArayList는 요소를 순차적으로 요소를 추가하거나 삭제할 때 빠르다는 이점을 가진다. ..

회고 14일

오늘 배운 키워드는 제너릭 클래스, 예외처리, Collection 이였다. 간단하게 중요한 부분만 설명하자면 이렇다.보통 생성클래스 변수는Car car = new Car(); 이렇게 생성하지만, 제너릭 클래스는 클래스 변수 = new 클래스();이렇게 생성한다. 내용을 보자면 이렇다.제너릭 클래스는 TYPE을 일반화 시킨것이다. Class Basket로 생성을 하고, key와 value로도 나눌 수 있다.클래스 변수는 공유변수인 데 제너릭을 쓰게되면 인스턴스마다 달라지기 때문에 불가능하다. Class Basket private T king;~~~~ 제너릭 메서드는 제너릭 클래스와 별계로 메서드 안에서 파라메터나 반환타입을 제너릭으로 줄 수 있다.public start(T king){ }여러가지 타입이..

결혼식

이 문제도 마찬가지로 도착하는 시간을 기준으로 나눈 후 떠나는 시간과 도착시간이 같을경우 정렬을 할때 떠나는 시간을 더 우선순위로 줘서 들어오면 cnt++ 나가면 cnt --를 통해 풀면된다. import java.io.IOException; import java.math.BigInteger; import java.util.*; class Time implements Comparable{ public int time; public char state; Time(int time,char state){ this.time = time; this.state=state; } @Override public int compareTo(Time o) { if(this.time==o.time)return this.stat..

코테 2023.03.01

회고 11일차

오늘 배운 것은 자바의 oop 심화과정인 상속, 캡슐화에 대해서 배웠다.  객체 지향에 가장 중요한 4기둥 상속, 다형성, 캡슐화, 추상화중 두가지이다. 상속이란 ---> extends 키워드를  이용하여 코드의 중복과 코드의 길어짐을 방지하는 방법이다.class Car{ int wheel; Car(){ } public void run(){ }}만약 Car라는 키워드 가 있을 때 상속이란 개념이 없을 시에는 SuperCar이라는 클래스를 만들 기 위해서는class SuperCar{ int wheel; SuperCar(){ } public void run(){ } . . .}이런식으로 다른 클래스를 만들어서 코드..

회고 10일차

오늘은 불금 금요일이고 상태는 나쁘지 않다. 오늘은 클래스, 객체, 생성자, 내부클래스에 대해서 다시 한번  생각해 볼 수 있는 시간이였고, 짧게 블로깅에 대해서 배웠다.  내가 지금까지 썼던 블로깅은 거의 일기였던 것.. 오늘 부터라도 블로깅에 대해서도 공부하고 연구해 보아야 겠다고 생각했다. 자. 객체지향에 대해서 총 정리를 해보겠다. 실제 생활에서는 무언가를 만드려면 설계도가 필요하고 그 설계도를 통해 만든 것은 움직이게 된다. 뭐 사람을 설계해서 만드냐 라고 말할 수 도 있지만. 사람이란 것을 만드는 것 보단, 사람이 움직이고 생각하고 실생활에 일어나는 것을 컴퓨터가 묘사하는 것을 객체 지향이라고 생각 하기로 했다. 클래스 -> 객체를 설계하기 위한 설계도 역할을 한다.class 클래스이름 {}이..

반응형