반응형

부트캠프 58

37(테스팅과 API document작성)

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

35일차 회고

오늘은 테스트 케이스에 대해 작성하는 방법에 대해서 정리하고자 한다.기본적으로 테스트는 기능테스트, 통합테스트 , 단위 테스트로 나뉘고기능 테스트애플리케이션 전체통합 테스트데이터베이스와 연결하여 테스트슬라이스 테스트애플리케이션 내 메서드 기능 FIRST원칙을 따르는데 FAST 빠르게           Independent 독립적으로Repeatable 반복적으로Self-validating 셀프 검증이 되도록Timely 시기 적절하게라는 원칙을 따르게 된다.보통 JAVA에서는 Junit을 사용하여 단위 테스트를 하게 되고,  Assertion(어써션)이란?Assertion(어써션)을 검색해 보면 우리말로 ‘단언’, ‘단정’ 등의 뜻을 확인할 수 있는데 그 의미가 선뜻 와닿지 않습니다.테스트 세계에서 Asse..

32~34

오늘은 JPA Spring boot의 핵심기능에 대해서 정리해 보고자 한다.기존 JDBC Spring JDBC등 Spring의 Repository역활을 하는 데이터베이스 기술들이 있지만, 요즘의 대세는 JPA기술이라고 한다.즉 JPA는 ORM기술로 데이터베이스로 연동할때 객체를 중심으로 연동하는 기술이다. 즉 클래스를 테이블로 인식하고 연동하는 기술이다. JPA의 P는 영속성을 뜻하는데 이것은 entitymanger을 통해서 확인할 수 있다. ORM은 객체(Object)와 데이터베이스 테이블의 매핑을 통해 엔티티 클래스 객체 안에 포함된 정보를 테이블에 저장하는 기술입니다.JPA에서는 테이블과 매핑되는 엔티티 객체 정보를 영속성 컨텍스트(Persistence Context)라는 곳에 보관해서 애플리케이션..

30~31

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

28~30회고

이전 회고에서 DTO의 필요성과 Service와의 연관성 에대해서 정리를 했고, 이제 DTO에 대해서 좀 더 정확하게 정리를 해보려 한다.Spring Controller를 통해서 값이 들어올때 DTO로 값을 매핑할때 유효성을 검증 하는 코드를 넣을 수 있는데, 풀어서 작성하려면 코드의 가독성이 떨어지고, 코드가 길어지게 된다. 그렇기에 DTO를 정의할 때 annotaion을 통해 유효성을 맞춰서 넣을 수 있는데 몇가지만 예시로 보여주자면 @NotBlacnk @Email @pattern 같은 annotion을 통해 검증을 할 수 있고,  정규식을 여기서 설명하지는 않겠다.다음으로는 유효성검사를 통해 annotaion을 만들 수 있는 데 만들 수 있는 것은@Target(ElementType.FIELD)@Re..

24~27차 회고

이제 알바가 끝났고, 알고리즘, web , spring , java에 온 전력을 다 할 것이다.월요일부터 화이팅. Spring boot의 핵심 기능과 구조에 대해서 간략하게 정리를 해보았다,HTTP메서드, REST API에 대해서는 이 다음 회고에서 정리하도록 하고 이번 회고에서는  서비스 계층과 DTO에 대해서 설명을 해보려고 한다.앞의 내용을 나중에 설명하는 이유는 앞의 내용이 더 중요한 내용들이 많아서 그렇기 때문이고 간략하게 설명하자면,  컨트롤러, 서비스, 리파지토리 이런 구조로 크게 3가지로 나뉠 수 있고, 컨트롤러에서 handler method를 통해 여러 기능들을 다양한 계층에게 처리하도록 요청 할 수있는데 현재 Service클래스가 없다면? 그것을 Controller의 hadler met..

24일차 스프링 프레임워크

바쁜 일정이 끝나고 다시 돌아온 회고타임.Spring DI , IOC, AOP에 대하여 배웠는데 이 이론을 정리하려다가, 실제 프로젝트를 해보면서 그 사이에 이 기능들이 사용될때 같이 정리하는 게 더 기억에 남을 까 해서, SPRING MVC부터 정리를 하게 되었다, Spring mvc ---> 즉 서블릿의 개념이 들어가고,서블릿이란? 클라이언트 요청을 처리하도록 특정 규약에 맞춰서 JAVA코드를 작성하는 클래스 파일이다.아파치 톰캣은? 이러한 서블릿 들이 웹 애플리케이션으로 실행 되도록 해주는 서블릿 컨테이너라고 간략하게 말할 수 있습니다. Spring MVC란??M === ModelV === ViewC === Controller Model이란? 클라이언트의 요청을 전달 받으면 요청 사항을 처리하기 위..

회고 20~23일차

이제 곧 새벽에 하는 아르바이트를 그만 두고 학업에 몰입하기로 했다. 현재 하고 있는 것은 Spring으로 이것 저것,,,?해야 할 일1. 객체지향 공부(자료가 너무 부족)..2. 데이터베이스 sql말고 설계 연습하기 3. Spring 구글링x 다루기4. 알고리즘 연습 사실 이 4가지만 해도 실력이 금방 늘 것 같긴 한데 항상 미루느라 .. 4.14일부터는 이 모든 것이 몰두하자, 화이팅!!! 데이터베이스 SQL에 대해서 요약을 해드리겠습니다.SQL이란 structured query Language이다. 즉 구조화 된  query 언어이다.즉 질의문을 통해 원하는 데이터를 받아오는 언어라고도 할 수 있다.  In-memory 구조---> 실행시 메모리에 저장해 두었다가 실행종료시 데이터가 사라지는 구조로..

회고 19일

알고리즘 교육을 마치고 이제 새롭게 네트워크 교육에 대해서 배웠고, pair와 postman이라는 어플리케이션을 통해 데이터를 주고 받는 실습을 해보았던 경험을 했습니다. 기본적이으로 좁은 범위에서 연결된 네트워크는 LAN이라고 부른다고 하고,  LAN을 확장 시킨 것을 WAN이라고 합니다. LAN에서 WAN으로 확장 시키기 위해서는 라우터에서 외부로 연결하는 회선이 필요한데 그것은 3대 통신사에서 외부로 나가는 선을 돈을 지불하고 서비스를 구매하게 되면 되는 것이다. LAN             VS        WAN좁은 범위                 넓은 범위 프로토콜: 멀리 떨어진 컴퓨터간 동신을 할때의 규약으로 일정한 약속같은 것을 의미한다. 먼 곳에있는 사람과 통신을 하기위해서는 IP가 필..

회고 18일

stackFirst in Last Out 구조로 맨 처음 들어간는 형식이다.Stack stack = new Stack();stack.add(1);stack.add(2);stack.add(3);//1 , 2 , 3stack.pop();stack.pop();stack.pop();//3, 2, 1stack으로는 주로 페이지를 뒤로가기 페이지 앞으로가기를 할 때 주로 사용하고, 코드를 구현 해 보았다.Queue queue = new LinkedList(); queue.add(1);queue.add(2);queue.add(3);///1,2,3queue.poll();queue.poll();queue.poo();//1,2,3 이 코드는 큐를 이용해 프린터 버퍼 입출력을  나타낸 코드이다.import java.util..

반응형