전체 글 24

[Spring boot / React] CoolSMS 전화번호 인증 구현#1

개인프로젝트 진행 중 회원가입 시 필요한 전화번호 인증을CoolSMS를 이용하여 구현하였습니다. 구현 후 다시 한번 코드를 해석하고 저처럼 Spring boot와 react를 사용하시는 분들 중 코드를 궁금해하실분들이 참고하면 좋을거같아 블로그에 게시하게되었습니다. #기본설정1. CoolSMS apihttps://coolsms.co.kr/ 세상에서 가장 안정적이고 빠른 메시지 발송 플랫폼 - 쿨에스엠에스손쉬운 결제 전용계좌, 신용카드, 계좌이체 등 국내 결제 뿐만 아니라 해용신용카드로 한번의 카드번호 등록으로 자동충전까지 지원합니다. 전용계좌, 신용카드, 계좌이체 등 다양한 결제 방식coolsms.co.kr CoolSMS에 가입 후 우측상단 개발/연동 -> API Key 관리에서 API KEY값과 API..

개발/Spring Boot 2025.06.12

JPA#1

JPA는 'Java Persistence API' 약자로 애플리케이션에서 관계형 데이터베이스와 상호작용하기 위한 표준 API를 말합니다. 간단하게 생각하면 그동안은 쿼리문을 직접 작성하여 사용했었는데 JPA를 이용하면 간단한 쿼리문은 따로 작성할 필요없이 사용가능하다고 이해하면 될 것 같습니다. JPA를 사용하기 위해선 의존성을 주입해야합니다. #build.gradleimplementation 'org.springframework.boot:spring-boot-starter-data-jpa' 위 문장을 작성해주고 #application.propertiesspring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialectspring.jpa.hibern..

개발/개발공부 2025.03.25

Spring Security#2(비밀번호 암호화)

SecurityConfing를 이용하여 회원가입 시 비밀번호를 암호화하여 저장할 수 있습니다. #Spring Security.javapackage com.example.iruda.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.security.config.annotation.web.builders.HttpSecurity;import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;import ..

개발/개발공부 2025.03.04

Spring Security#1(기본설정)

Spring Security는 웹 보안관련 설정을 말하며 SecurityConfing라는 클래스를 생성하여 설정하였습니다. #폴더구조아래 WebConfig파일은 프론트와 백을 연결할때 사용하는 파일로 현재는 백엔드 작업만 하고 있어 사용하지 않고 있습니다. #Spring Security.javapackage com.example.iruda.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.security.config.annotation.web.builders.HttpSecurity;import or..

개발/개발공부 2025.03.03

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..