728x90

전체 글 206

11) Spring Boot Rest API와 JSON

11) Spring Boot Rest API와 JSON 1. REST API 서버 자원을 클라이언트에 구애받지 않고 사용할 수 있게 하는 설계 방식입니다. 클라이언트에서 정보를 요청하면 서버는 특정 기기에 종속되지 않고 모든 기기에서 통용할 수 있는 JSON 데이터를 응답 2. JSON 데이터 자바스크립트 방식을 차용한 객체 표현식으로, 키(KEY)와 값(VALUE)의 쌍으로 이루어진 속성(PROPERTY)으로 구성 { "키1" : 값, "키2" : 값, "키3" : 값 } 3. REST API 실습 {JSON} Placeholder 사이트에 가면 가짜 API를 사용해 무료로 각종 테스트를 할 수 있습니다. 이 책에서는 크롬 브라우저 확장 프로그램으로 Talend API Tester를 설치해 REST A..

10) Spring Boot CRUD와 SQL 쿼리 종합

10) Spring Boot CRUD와 SQL 쿼리 종합 1.JPA 로깅 설정 JPA 동작 시 로그를 보기 위한 설정은 application.properties 파일에 작성합니다. 로깅 레벨은 총 7단계 중 하나를 선택할 수 있는데, SQL 로그를 보려면 DEBUG 레벨로 설정합니다. SQL 쿼리에 줄바꿈을 적용해서 보려면 format_sql 옵션을 true로 설정합니다. JPA 쿼리에서 DB로 넘어가는 매개변수 값을 확인하기 위해 sql의 BasicBinder를 TRACE로 설정합니다. resources/application.properties # JPA 로깅 설정 # 디버그 레벨로 쿼리 출력 logging.level.org.hibernate.SQL=DEBUG # 쿼리 줄바꿈하기 spring.jpa.p..

9) Spring Boot 게시글 삭제하기: Delete

9) Spring Boot 게시글 삭제하기: Delete 1. 데이터 삭제 과정 클라이언트가 서버로 삭제 요청을 하면 서버는 DB에서 해당 데이터를 찾아 삭제한다. 그 후 클라이언트를 리다이렉트된 페이지로 보낸다. 1) /articles/{id}/delete 2) delete(id) 3) redirect:/articles 2. RedirectAttributes 리다이렉트 페이지에서 사용할 일회성 데이터를 관리하는 객체입니다. 이 객체의 addFlashAttribute()라는 메서드로 리다이렉트된 페이지에서 사용할 일회성 데이터를 등록할 수 있습니다. 3. articleRepository.delete() DB에 접근해 데이터를 삭제할 때 사용하는 메서드입니다. articleRepository.delete(..

8) Spring Boot 게시글 수정하기: Update

8) Spring Boot 게시글 수정하기: Update 1. 데이터 수정 1단계 (Edit 버튼) 수정 페이지를 만들고 기존 데이터를 불러옵니다. 1) 상세 페이지에서 수정 페이지를 요청합니다. 2) DB에서 데이터를 찾아 서버로 전송합니다. 3) 가져온 데이터를 모델에 등록합니다. 4) 뷰 페이지를 수정 페이지에 출력합니다. 2. 데이터 수정 2단계 (Submit 버튼) 데이터를 수정해 DB에 반영한 후 결과를 볼 수 있게 상세 페이지로 리다이렉트합니다. 1) 폼 데이터 전달 2) DTO를 엔티티로 변환 3) DB 갱신 4) 리다이렉트 3. HTTP 메서드 HTTP는 클라이언트의 다양한 요청을 메서드를 통해 서버로 보내는 역할을 합니다. 대표적인 메서드로는 POST, GET, PATCH(PUT), D..

7) Spring Boot 게시판 내 페이지 이동하기

7) Spring Boot 게시판 내 페이지 이동하기 1. 링크 미리 정해 놓은 요청을 간편히 전송하는 기능으로 보통 페이지 이동을 위해 사용합니다. - HTML의 태그 혹은 태그로 작성 - 클라이언트가 링크를 통해 어느 페이지로 이동하겠다고 요청하면 서버가 결과 페이지 응답 2. 리다이렉트 클라이언트가 보낸 요청을 마친 후 계속해서 처리할 다음 요청 주소를 재지시하는 것입니다. - 분리된 기능을 하나의 연속적인 흐름으로 연결할 수 있음 - 리다이렉트(재지시)를 받은 클라이언트는 해당 주소로 다시 요청을 보내고, 서버는 이에 대한 결과를 응답 3. 뷰 파일에 링크 걸기 태그를 이용해 다음과 같은 형식으로 작성합니다. 링크를 걸 대상 4. 리다이렉트 정의하기 return 문을 사용해 다음과 같은 형식으로 ..

Test Case 작성

테스트 소프트웨어 개발은 오류가 발생하기 쉬운 활동 -> 결함을 낮추기 위해 행동이 필요함 테스트 : 시험할 소프트웨어에 테스트 케이스를 주어 실행시킨 후 시스템의 동작이 예상한 대로 실행되는지 확인하는 것 검증(verification) : 제품을 올바르게 구축하고 있는가? 비기능 요구사항을 얼마나 잘 준수하는가? 확인(validation) : 올바른 제품을 만들고 있는가? 제품이 사용자의 기대를 얼마나 잘 충족하는가? 테스트 기초 버그 : 문제, 결함 또는 난이도를 나타내는 데 일반적으로 사용되는 용어 오류 : 개발자의 잘못으로 설계 혹은 코딩 작업에서 실수한 사항 결함 : 코드 또는 문서에 오류가 있을 경우 발생하는 것, 시스템이 고장을 일으키게 하는 오류의 결과 고장 : 시스템이 원하는 작업을 수행..

Back-End/Project 2023.11.27

6) Spring Boot 게시글 읽기: Read

6) Spring Boot 게시글 읽기: Read 1. 데이터 조회 과정 웹 페이지에서 게시글을 등록하면 서버를 통해 DB에 저장됩니다. DB에 저장된 데이터는 다음과 같은 과정을 거쳐 웹 페이지에서 조회할 수 있습니다. 1) 사용자가 웹 페이지에서 데이터를 조회해 달라고 URL 요청을 보냅니다. 2) 서버의 컨트롤러가 이 요청을 받아 해당 URL에서 찾으려는 데이터 정보 ex) id를 리파지터리에 전달합니다. 3) 리파지터리는 정보(id)를 가지고 DB에 데이터 조회를 요청합니다. 4) DB는 해당 데이터를 찾아 이를 엔티티로 반환합니다. 5) 반환된 엔티티는 모델을 통해 뷰 템플릿으로 전달됩니다. 6) 최종적으로 결과 뷰 페이지가 완성돼 사용자 화면에 출력됩니다. 2. @PathVariable URL..

5) Spring Boot 롬복과 리팩터링

5) Spring Boot 롬복과 리팩터링 1. 롬복 코드를 간소화해 주는 라이브러리입니다. 롬복을 사용하면 여러 필수 코드가 반복되는 것을 최소화 할 수 있고 println() 문을 로깅 기능으로 대체할 수 있습니다. 2. 로깅 프로그램의 수행 과정을 기록으로 남기는 것을 말합니다. 일종의 자동차 블랙박스와 같습니다. 3. 리팩터링 코드의 기능에는 변함이 없이 코드의 구조 또는 성능을 개선하는 작업을 말합니다. 리팩터링하면 코드의 가독성이 좋아지고 길이도 짧아져서 개발 시간을 단축할 수 있습니다. 4. @AllArgsConstructor 클래스 안쪽의 모든 필드를 매개변수로 하는 생성자를 만드는 어노테이션으로, 이를 사용하면 클래스 내에 별도의 생성자를 만들지 않아도 됩니다. 5.@ToString to..

4) 게시판 만들고 새 글 작성하기: Create

4) 게시판 만들고 새 글 작성하기: Create 1. 폼 데이터와 태그 폼 데이터는 태그에 실려 전송되는 데이터를 말합니다. 태그에는 전송할 데이터를 어디에 어떻게 보낼지도 설정하는데, 어디에 보낼지는 action 속성으로, 어떻게 보낼지는 method 속성으로 설정합니다. 2. DTO 폼 데이터에 실어 보낸 데이터는 서버의 컨트롤러가 객체에 담아 받는데, 이 객체를 DTO (Data Transfer Object)라고 한다. DTO로 받은 데이터는 최종적으로 데이터베이스에 저장됩니다. 3. 폼 데이터를 DTO로 받는 과정 1) 클라이언트에서 뷰 페이지 만들기 2) 서버에 컨트롤러 만들기 3) DTO 만들기 4) 폼 데이터를 전송받아 DTO 객체에 담기 4. 데이터베이스 데이터를 관리하는 창고로, 줄여서..

3) MVC 패턴 이해와 실습

3) MVC 패턴 이해와 실습 1. 뷰 템플릿 웹페이지를 하나의 틀로 만들고 여기에 변수를 삽입해 서로 다른 페이지로 보여 주는 기술이다. 2. MVC 패턴 웹 페이지를 화면에 보여주고 (view), 클라이언트의 요청을 받아 처리하고 (Controller), 데이터를 관리하는 (Model) 역할을 영역별로 나누어 하는 기법을 말합니다. 3. 뷰 템플릿 생성 위치 뷰 템플릿은 src > main > resources > templates 디렉터리에 만듭니다. 머스테치 뷰 템플릿의 확장자는 .mustache 입니다. 4. 컨트롤러 생성 위치 컨트롤러는 src > main > java > 기본 패키지 안에 컨트롤러 패키지를 만들 후 자바 클래스 파일을 생성하는 방식 확장자는 .java 입니다. 5. 모델을 통..

728x90