전체 글

데이터베이스를 팀원들과 공유하는 과정에서 aws RDS를 사용하게 되었다RDS를 사용하기 위해서는 엔드포인트, 사용자이름, 사용자 비밀번호가 필요하다 spring boot 프로젝트를 생성해 application.properties에  위의 정보들을 넣어주어야 하는데github에 공유시 정보들( 엔드포인트, 사용자이름, 사용자 비밀번호)이 유출되는 문제가 있었다.이를 암호화하고 팀원들만 복호화할 수 있도록 하기 위해 Jasypt를 사용하게 되었다.  [Spring] JASYPT를 사용한 프로퍼티 암호화목적 git의 public repository와 CI/CD를 연동해 어플리케이션을 배포하는데 있어 중요한 정보가 탈취되는 것을 막기 위함 목차 JASYPT란? 사용방법 1. JASYPT란? 홈페이지에 가보면 ..
Servlet을 사용하여 MVC 패턴으로 구현하는 방법을 설명드리겠습니다. MVC 패턴에서는 서블릿(Servlet)이 컨트롤러(Controller) 역할을 하며, JSP는 뷰(View) 역할을 담당합니다. DAO(Data Access Object)는 모델(Model) 역할을 하며, 데이터베이스와의 상호작용을 처리합니다.1. DAO 인터페이스 정의public interface BookingDAO { void insertBooking(long guestId, long roomId, Date checkInDate, Date checkOutDate);}2. DAO 구현 클래스(RoomBookingDAOImpl.java)import java.sql.Connection;import java.sql.Driver..
Booking 테이블은 다음과 같다CREATE TABLE booking(id BIGINT AUTO_INCREMENT PRIMARY KEY,guest_id BIGINT NOT NULL,room_id BIGINT NOT NULL,check_in_date DATE NOT NULL,check_out_date DATE NOT NULL,booking_status INT NOT NULL,FOREIGN KEY (guest_id) REFERENCES member(id),FOREIGN KEY (room_id) REFERENCES room(id));1. 모델 (Model)모델은 데이터와 비즈니스 로직을 관리하는 부분입니다. 주로 데이터베이스와의 상호작용을 담당하는 DAO(Data Access Object) 클래스와 데이터 ..
DAO 인터페이스 (DAO)DAO 인터페이스는 데이터 소스와 상호작용하는 메서드를 선언하는 역할을 합니다. 이 인터페이스는 데이터베이스와의 상호작용을 위한 계약을 정의합니다. DAO 인터페이스는 데이터 액세스 작업을 수행할 메서드의 시그니처만 정의하며, 실제 구현 내용은 포함하지 않습니다.public interface UserDao { User getUserById(int id); void saveUser(User user); void deleteUser(int id); List getAllUsers();}DAO 구현체 (DAOImpl)DAO 구현체는 DAO 인터페이스에서 정의한 메서드를 실제로 구현합니다. 이 클래스는 데이터베이스나 다른 데이터 소스와의 실제 상호작용을 처리하는 로..
MVC 디자인 패턴: Model-View-Controller의 역할과 상호작용MVC (Model-View-Controller) 디자인 패턴은 웹 애플리케이션의 구조를 명확하게 나누어 각 부분의 책임을 분리하는 패턴입니다. 이 패턴을 통해 코드의 유지보수성, 재사용성, 확장성을 높일 수 있습니다. 각 구성 요소의 역할과 그 상호작용을 더 자세히 살펴보겠습니다.1. Model (모델)역할: 애플리케이션의 데이터와 비즈니스 로직을 처리합니다. 데이터의 상태를 표현하고, 데이터와 관련된 모든 작업을 수행합니다. 모델은 애플리케이션의 핵심 비즈니스 로직을 포함하며, 데이터베이스와의 상호작용을 처리합니다.구성:DAO (Data Access Object): 데이터베이스와의 직접적인 상호작용을 담당합니다. SQL 쿼리..
페이징 처리를 처음부터 다시 구현하려면, 전체 과정을 단계별로 설명하고 코드를 제공하겠습니다. 페이징 처리는 데이터베이스에서 대량의 데이터를 효율적으로 조회하고, 클라이언트에게 페이지별로 나누어 보여주기 위한 기술입니다. 이 과정은 데이터베이스 쿼리 작성, 서비스 계층, 컨트롤러, 그리고 프론트엔드에서의 처리를 포함합니다.1. 데이터베이스 쿼리 작성데이터베이스에서 페이징 처리를 위한 SQL 쿼리를 작성합니다. MariaDB에서는 LIMIT과 OFFSET을 사용하여 페이징을 처리합니다.예제 SQL 쿼리SELECT ri.image_path, ri.image_name, r.room_name, r.street_address, rp.rent_price, ro.room_optionFROM room rINNER JO..
fork GUI를 사용하다 상대방의 브랜치에서 특정 파일만 가져오고 싶어졌다아래의 사진에서  origin/kjw/host 브랜치의 RoomPrice.java 파일만 내 브랜치로 가져와보자일단 경로 복사콘솔 창을 열고아래의 명령어 참고해 git checkout origin/ -- path/to/file # 특정 파일 가져오기위 명령어에서 은 상대방의 브랜치 이름을, path/to/file은 가져오고자 하는 특정 파일의 경로와 파일 이름을 나타냅니다. 다음과 같이 명령어 작성path/to/file에는 위에서 복사한 경로 붙이기git checkout origin/kjw/host -- src/main/java/com/mywebapp/model/RoomPrice.java
아래 사이트 접속 Servlets.com | com.oreilly.servlet servlets.comzip파일 다운로드압축 풀고 lib 폴더 안의 cos.jar 가져오기
우리 프로젝트의 레퍼런스 삼삼엠투 - 단기임대, 한달살기 부동산 계약 플랫폼단기임대가 필요한 모든 순간, 삼삼엠투에서 쉽고 빠르게 계약하세요. 원룸, 투룸, 오피스텔, 아파트, 고시원, 호텔 한달살기까지 모두 삼삼엠투에서.33m2.co.kr 위의 사진처럼 지도 API를 가져와서 단기임대 건물의 위치를 화면에 띄워보자 지도 API는 대표적으로 카카오 API와 네이버 API가 있다 지도 api 비교하기 (1) (카카오 지도 api)서론 공공데이터 api를 활용한 웹앱을 만드는 공모전을 준비하던 중에, 세부페이지에 지도가 들어가서 지도 api를 적용하고자 했다. 3d 지도는 해봤지만 다른 팀원과 같이 했던 터라 2d 지도를 꼭velog.io 카카오 API가 예시코드 및 공식문서(가이드)가 잘 나와있다고 하여 ..
New -> Other 클릭maven Project 클릭next 클릭quickstart로 Group Id와 Artiface Id 입력 후 Finish아래 console 창에서 Y입력하고 엔터BUILD SUCCESS 확인프로젝트 생성되면 Build Path > Configure Build Path 클릭jdk 버전을 17로 변경JavaSE-17로 변경된 것 확인 가능  이제 pom.xml을 수정하자properties에 maven으로 시작하는 두줄 추가 maven.compiler.source: 컴파일할 소스 코드의 Java 버전을 17로 설정합니다.maven.compiler.target: 컴파일된 바이트코드가 호환될 Java 버전을 17로 설정합니다. mvnrepository라는 사이트 접속https://mv..
korinj
기록이 답이다