전체 글 20

Spring Boot 프로젝트 15일차[20241024]

Spring Boot 프로젝트 15일차. 스프링부트 수업을 병행하며 백단 작업을 시작하였습니다. 먼저 이전에 작성한 html, css, js파일들을 타입리프형식을으로 변경하였으며 퍼블리싱을 위해 a태그를 사용한 기능들은 모두 js에서 작동하도록 변경하였습니다. 아직 스프링부트에 대한 이해도가 낮아 기능을 어떻게 구현할지, 어떤 코드를 사용해야할지에 대해 많은 고민을 하고 있습니다.  📌페이지이동 js처리 안심입양 임시보호 후기 { let adoptPageBtn = document.getElementById('adoptPage'); adoptPageBtn.addEventListener('click', function..

Spring Boot [5]

📌어노테이션정리 Mapper(interface) : 데이터베이스에 대한 CRUD(Create, Read, Update, Delete) 작업을 정의하는 메서드를 선언import com.example.finalapp.dto.board.BoardListDTO;import com.example.finalapp.dto.board.BoardUpdateDTO;import com.example.finalapp.dto.board.BoardViewDTO;import com.example.finalapp.dto.board.BoardWriteDTO;import com.example.finalapp.dto.page.Criteria;import org.apache.ibatis.annotations.Mapper;import ja..

개발/Spring Boot 2024.10.22

Spring Boot [3]

📌테스트 코드(TDD : Test driven development, 테스트 주도 개발)- test 디렉터리 에서 작업한다.- 테스트 코드를 작성하여 실제 코드에 대해 기대되는 바를 명확하게 정의함으로써 불필요한 설계를 피하고 정확한 요구사항에 집중할 수 있다.*JSP와 달리 코드를 수정한 후 계속 실행시킬 필요가 없다.*when : 테스트를 진행하는 단계 *then : 테스트 결과를 검증하는 단계 📌스프링부트 스타터 테스트 목록- JUnit : 자바 프로그래밍 언어용 단위 테스트 프레임워크 - Spring Test& Spring Boot Test : 스프링 부트 어플리케이션을 위한 통합테스트 지원 - AssertJ : 검증문인 어설션을 작성하는데 사용하는 라이브러리 - Hamcrest : 표현식을 ..

개발/Spring Boot 2024.10.20

Spring Boot 프로젝트 14일차[20241020]

Spring Boot 프로젝트 14일차. 완성한 ERD를 토대로 실제 테이블을 생성한 후 팀원들의 테이블과도 문제없이 연결되는지 확인하면서 한번 더 테이블을 점검하는 시간을 가졌습니다. 테이블을 점검하던 도중 테이블이 너무 세분화 되어있어 관리나 백단 작업 중 어려움이 있을거같아 수정하였습니다. 📌수정내역-각 페이지(입양, 임시보호, 카풀 등)마다 댓글과 게시글 신고 테이블을 생성하였었는데 신고 테이블을 굳이 나누지 않고 각각 게시글/댓글 신고 테이블에서 전부 관리하도록 하였습니다. 또한 모든 페이지에서 신고값이 들어오기 때문에 따로 FK는 설정하지않고 카테고리 컬럼을 생성하여 값을 입력하도록 하였습니다. -파일 테이블을 위에 수정했던 신고 테이블처럼 하나의 테이블에서 관리하려고 하였으나 사이트에서 글..

Spring Boot 프로젝트 13일차[20241017]

Spring Boot 프로젝트 13일차. 논리/물리 모델링 작성 후 팀원들과 회의를 통해 누락된 부분을 보충하거나 잘못된 부분을 수정하는 시간을 가졌습니다. 회의가 끝난 후 나온 결과물을 토대로 실제 테이블 생성하는 쿼리문과 erd까지 작성하였습니다.  📌작성쿼리문제가 작성한 쿼리문은 입양/임시보호/후기, 봉사/봉사후기 페이지와 관련된 테이블들을 만들었습니다.대표적으로 게시글/댓글/게시글신고/댓글신고 테이블 및 신청서 테이블을 작성하였습니다.-- 입양게시글 테이블DROP TABLE TBL_ADOPT CASCADE CONSTRAINTS;CREATE TABLE TBL_ADOPT( ADOPT_NO NUMBER PRIMARY KEY, -- 게시글 번호 PK ADOPT_PERIODSTART DATE..

Spring Boot [2]

📌스프링부트 프로젝트 구조1) src/main/java 디렉터리 : 자바 파일을 저장하는 공간- com.mysite.app 패키지- 컨트롤러는 URL 요청을 처리하고 폼은 사용자의 입력을 검증한다 - DTO, 엔티티, 서비스 파일은 데이터 베이스를 처리하기 위해 필요한 파일이다- 패키지구조* controller 패키지 :웹 요청을 처리하는 컨트롤러 클래스들이 위치함@RestController, @Controller 어노테이션이 붙은 클래스들*Service 패키지 :비즈니스 로직을 처리하는 서비스 클래스들이 위치함 @Service 어노테이션을 사용하여 서비스 계층을 구성하며 컨트롤러와 데이터 접근 계층(Repository) 사이에서 중간역할을 함*repository 패키지 :데이터베이스와 상호작용하는 레..

개발/Spring Boot 2024.10.16

Spring Boot 프로젝트 12일차[20241016]

Spring Boot 프로젝트 12일차. 전날 작업했던 논리모델링(관계도/테이블)을 기반으로 물리모델링을 작성하는 시간을 가졌습니다. 물리모델링을 작성하며 누락된 부분이나 잘못된 부분들을 수정하면서 작성하였습니다. 📌물리모델링물리모델링은 실제 DB에 테이블을 생성할 수 있도록 쿼리문을 작성하는 모델링입니다. PK와 FK 뿐만 아니라 NOT NULL, UK등도 작성할 수 있습니다. 📌작성한 물리모델링-입양/임시보호 게시글, 댓글, 게시글 신고 테이블-- 입양게시글 테이블DROP TABLE TBL_ADOPT CASCADE CONSTRAINTS;CREATE TABLE TBL_ADOPT( ADOPT_NO NUMBER PRIMARY KEY, ADOPT_PERIODSTART DATE NOT NULL, ..

Spring Boot [1]

📌스프링부트란?- 자바 웹 프로그램을 더욱 쉽고 빠르게 만들기위한 자바의 웹 프레임워크 (이전에 사용하던 스프링의 단점을 보완함)- 스프링 프레임워크에 톰캣 서버를 내장하고 여러 편의 기능들을 추가 *프레임워크 : 프레임워크는 특정 작업을 수행하기 위한 구조나 틀을 제공하는 소프트웨어의 일종으로 쉽게 비유하자면 집을 짓기 위한 설계도와 비교할 수 있다.*톰캣 서버 : 클라이언트의 요청을 해석하여 그에 맞는 자바프로그램을 실행한 후 그 결과를 응답해주는 웹 어플리케이션 서버를 말한다. 📌스프링부트의 특징- 톰캣, 제티, 언더토우 같은 웹 어플리케이션이 내장되어 있어서 따로 설치하지 않아도 독립적으로 실행할 수 있다.- XML 설정하지 않고 자바 코드로 모두 작성할 수 있다.(JSP와의 차이점)- jar..

개발/Spring Boot 2024.10.15

Spring Boot 프로젝트 11일차[20241015]

Spring Boot 프로젝트 11일차. 각자 작업했던 퍼블리싱들은 모두 합치고 검토하는 시간을 가졌습니다. 이후에는 만든 페이지와 회의자료를 기반으로 모델링 작업을 진행하였습니다. 모델링은 논리모델링(관계도/테이블), 물리모델링으로 나눠지며 먼저 논리모델링 작업을 진행하였습니다. 📌논리모델링논리모델링은 관계도와 테이블로 나눌 수 있습니다.관계도는 두 모델간의 관계가 '1 : 1'인지 '1 : N'인지 분간하며 테이블은 실제 테이블로 구성했을시 PK, FK, NN 등을 정하는 작업입니다. 논리모델링(관계도)안심입양테이블게시글 NO PK - 게시글을 구분하기위한 번호 입양시작일 NN   - 필수로 입력받아야하므로 NN(NOT NULL)입양마감일 NN견종 NN중성화여부 NN성별 NN몸무게 NN생년월일 NN..