본문 바로가기

전체 글80

[학습 커뮤니티] AWS로 개발 서버 구축하기(3) - EC2 설정 및 빌드 EC2 설정1. java 설치# Corretto 공개 키 시스템 목록에 추가wget -O - https://apt.corretto.aws/corretto.key | sudo gpg --dearmor -o /usr/share/keyrings/corretto-keyring.gpg && \ echo "deb [signed-by=/usr/share/keyrings/corretto-keyring.gpg] https://apt.corretto.aws stable main" | sudo tee /etc/apt/sources.list.d/corretto.list# java 17 설치sudo apt-get update; sudo apt-get install -y java-17-amazon-corretto-jdk초기에는 .. 2025. 5. 21.
[학습 커뮤니티] AWS로 개발 서버 구축하기(2) - RDS 생성 RDS 생성1. 데이터베이스 생성RDS 검색 후 데이터베이스 생성을 클릭한다. 2. 엔진 옵션 선택본인이 사용중인 DB 엔진을 선택한다. 3. 템플릿프리 티어 선택DB 인스턴스 식별자, 마스터 사용자 이름, 마스터 암호를 입력한다. 4. 인스턴스 구성 5. 스토리지gp2를 선택하자.(초기에는 gp3를 선택하여 진행하였지만 요금이 발생되었다.) 6. 연결추가 구성을 클릭하여 퍼블릭 액세스 가능으로 변경한다. 7. 데이터베이스 생성 확인데이터베이스 생성 이후 사용 가능함을 확인한다.데이터베이스 생성 시간은 3~5분정도 걸리는 듯 하다. 8. 보안 그룹 설정 EC2를 검색한 후 왼쪽 메뉴에서 네트워크 및 보안 - 보안 그룹을 선택한다.인바운드 규칙 편집 후 생성한다. 9. 보안 그룹 적용RDS 검색 후 데이터.. 2025. 5. 20.
[학습 커뮤니티] AWS로 개발 서버 구축하기(1) - EC2 생성 시작하기 전에현재 개발중인 사이드 프로젝트의 MVP 기능이 어느정도 마무리 되었기에 테스트를 위해 (AWS 학습 겸) 개발 서버를 구축하기로 하였다. Spring Boot 배포를 위해 EC2를 사용하고, DB를 위해 RDS를 사용하여 연동할 예정이다. 추후 S3를 통해 배포 자동화까지 나름(?) 계획중이다.EC2 생성1. 리전 설정 2. 인스턴스 생성EC2 검색 후 인스턴스 시작을 클릭한다. 3. AMI 선택ubuntu를 선택한다.인스턴스 유형은 프리 티어 사용 가능인 것을 선택한다. 4. 키 페어 생성새 키 페어 생성을 클릭한다.키 페어 이름을 작성하고 키 페어 생성 버튼을 클릭한다. 5. 네트워크 설정네트워크 설정 옆 편집을 클릭한다.세부 정보를 입력한다.보안 그룹 규칙 추가를 통해 인바운드 보안 그.. 2025. 5. 20.
[JPA로 게시판 만들기] Spring Interceptor를 사용한 인증 체크 스프링 인터셉터서블릿 필터와 같이 웹과 관련된 공통 관심 사항을 효과적으로 해결하는 기술URL만 알면 로그인을 하지 않아도 여러 페이지에 접근이 가능하기 때문에, 이를 방지하기 위해 스프링 인터셉터를 사용자세한 내용은 여기에 게시하였습니다.스프링 인터셉터 흐름과 제한정상 요청HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 스프링 인터셉터 -> 컨트롤러 // 정상 로그인 시비적절한 요청HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 스프링 인터셉터 (이후 컨트롤러 호출X)인터셉터 구현LoginCheckInterceptor.javaimport jakarta.servlet.http.HttpServletRequest;import jakarta.servlet.http.HttpServletRespon.. 2025. 3. 4.
[JPA로 게시판 만들기] Session을 사용한 로그인, 로그아웃 로그인, 로그아웃 과정로그인 과정아이디, 비밀번호 일치 여부 확인불일치 시 로그인 화면 페이지로 이동일치 시 세션 생성 및 저장세션 유지 시 메인 페이지(home.html)로 이동로그아웃 과정세션 제거세션 유지 확인서블릿 세션 적용HomeController.java@Controller@RequiredArgsConstructorpublic class HomeController { private final MemberRepository memberRepository; @GetMapping("/") public String homeLogin(HttpServletRequest request, Model model){ HttpSession session = request.getSess.. 2025. 2. 19.
[JPA로 게시판 만들기] 지연로딩 적용 지연로딩필요한 시점에 연관된 객체의 데이터를 불러오는 것@xxToxx(fetch = FetchType.LAZY)먼저 프록시를 가져온 후, 실제 사용 시 초기화(DB쿼리가 나감)xToOne 관계의 경우 디폴트는 EAGER(즉시로딩)이므로 변경 필요지연로딩 적용package project.post.domain;import jakarta.persistence.*;import lombok.Getter;import lombok.Setter;import java.time.LocalDateTime;@Entity@Getter@Setterpublic class Post { @Id @GeneratedValue @Column(name = "post_id") private Long id; priva.. 2025. 2. 5.