Spring

· AWS
SSH 시큐어 셀(Secure SHell)의 약자로 네트워크 상에 연결된 다른 컴퓨터에 로그인하거나 원격에서 시스템 설정 및 파일관리를 할 수 있도록 도와주는 응용 프로그램(프로토콜)을말합니다. 포트는 기본적으로 22포트를 사용합니다.   Linux 환경을 사용하기 위해 SSH 원격 접속이 가능한 프로그램을 사용해야 한다. Putty, XShell, FileZilia 등 다양한 프로그램이 존재하는데 그 중에서 SSH 접속, FTP, SFTP 등을모두 사용할 수 있는 MobaXterm을 사용할 예정이다. 🔽 MobaXterm 설치 및 사용방법은 아래 블로그로 확인 [MobaXterm] MobaXterm 설치 & 사용 방법🧩 MobaXterm리눅스에 Telnet, SSH 접속을 위해 Putty나 XShe..
· AWS
보안그룹(Security Group)AWS EC2 보안 그룹은 외부에서 해당 EC2로의 접근을 허용/제한하는 인바운드 규칙과 해당 EC2에서 외부로의 접근을 허용/제한하는 아웃바운드 규칙을설정할 수 있습니다. 대부분의 보안 이슈는 우리 EC2로 들어오는 악의적인 접근에 의해 발생합니다.  인바운드 / 아웃바운드 규칙을 통해 트레픽 제어 -> 가상 방화벽 인바운드 규칙: 클라이언트가 자신의 서버 데이터에 들어올 수 있는 규칙서버에 접속하고, 해당 데이터들을 읽을 수 있으며 권한 여부에 따라서 생성, 수정, 삭제도 허용하는 규칙기본적으로 인바운드 규칙은 모든 포트를 닫는 것을 전제로 함 설정하지 않은 포트들은 사용할 수 없는 포트이며, 해당 포트를 사용하더라도 접속 자체를 막게됨 아웃바운드 규칙: 서버에서 ..
· AWS
이번 포스팅에서는 AWS EC2 서버를 통한 프로젝트 배포하는 방법을 정리할려고 합니다. AWS는 Amazon에서 제공하는 클라우드 서비스 입니다. 우리는다양한 방법으로 프로젝트를 배포할 수 있지만 컴퓨터를 항상 작동시켜야하며, 이 외에도 귀찮은일이 이만저만이 아닙니다. AWS는 간단하게 서버 장비를 대여해주는 것이라고 생각하면 쉽습니다. 덕분에 편리하게 배포와 관리를 할 수 있게 됩니다. AWS뿐만 아니라 다른 클라우드 서비스가 있지만 많은 국내에서는 AWS 점유율이 압도적입니다. 그렇기 때문에 AWS를 이용하여 배포하는 방법을 정리하도록 하겠습니다.  AWS EC2 인스턴스 생성EC2(Elastic Compute Cloud) : AWS에서 제공하는 성능,용량 등을 유동적으로 사용할 수 있는 서버EC2..
@RequiredArgsConstructor란? Lombok이 제공하는 어노테이션 중 하나로, 주로 생성자를 자동으로 생성해주는 기능 수행 이 어노테이션을 사용하면 클래스의 필드를 기반으로 한 인자를 받는 생성자를 자동으로 생성 생성자는 해당 클래스의 모든 'final' 필드나 '@NonNull' 어노테이션이 붙은 필드에 대한 생성자 인자를 포함 @RequiredArgsConstructor를 사용한 예시 import lombok.RequiredArgsConstructor; @RequiredArgsConstructor public class Book { private final String title; private final String author; private final int year; // 다른..
영속 계층의 처리 테이블을 반영하는 VO(Value Object) 클래스의 생성 MyBatis의 Mapper 인터페이스의 작성 / XML 처리 작성한 Mapper 인터페이스의 테스트 영속 계층의 구현 준비 VO 클래스의 작성 VO 클래스를 생성하는 작업은 테이블 설계를 기준으로 작성하면 됩니다. 현재 tbl_board 테이블의 구성은 아래와 같습니다. 프로젝트에 org.noel.domain 패키지를 생성하고, BoardVO 클래스를 정의합니다. ▶ BoardVO 클래스 package org.noel.domain; import java.util.Date; import lombok.Data; @Data public class BoardVO { private Long bno; private String tit..
테이블생성과 Dummy(더미) 데이터 생성 SQL Developer를 이용해서 PART 1에서 작성한 book_ex 계정을 통해서 테이블을 생성합니다. 게시물은 각 게시물마다 고유의 번호가 필요합니다. 오라클의 경우 시퀀스(sequence)를 이용해서 이러한 작업을 처리합니다. 시퀀스를 생성할 때는 데이터베이스의 다른 오브젝트들과 구분하기 위해서 'seq_'와 같이 시작하는 것이 일반적입니다. 테이블을 생성할 때는 'tbl_'로 시작하거나 't_'와 같이 구분이 가능한 단어를 앞에 붙여주는 것이 좋습니다. tbl_board 테이블은 고유의 번호를 가지기 위해서 bno 칼럼을 지정했고, 제목(title), 내용(content), 작성자(writer)를 칼럼으로 지정합니다. 테이블을 설계할 때는 가능하면 레..
프로젝트의 생성 및 준비 Spring Leagacy Project의 생성 pom.xml에서 스프링 버전 변경 spring-test, spring-jdbc, spring-tx 추가 junit 버전 변경 Servlet 버전 변경 HikariCP, MyBatis, mybatis-spring, Log4jdbc 추가 JDBC 드라이버 프로젝트 내 추가 기타 Lombok의 설정 예제 프로젝트 구성 예제를 위한 프로젝트는 'ex02' 이름으로 생성하고, 'Spring Legacy Project'로 생성합니다. 프로젝트를 생성한 후에는 pom.xml의 수정, 데이터베이스 관련 처리, 스프링 MVC 처리와 같은 순서로 진행합니다. pom.xml의 수정 프로젝트를 생성한 후 pom.xml에서는 스프링의 버전과 Java 버..
Controller의 Exception 처리 Controller를 작성할 때 예외 상황을 고려하면 처리해야 하는 작업이 엄청나게 늘어날 수 밖에 없습니다. 스프링 MVC에서는 이러한 작업을 다음과 같은 방식으로 처리할 수 있습니다. @ExceptionHandler와 @ControllerAdvice를 이용한 처리 @ResponseEntity를 이용하는 예외 메시지 구성 @ControllerAdvice @ControllerAdvice 는 AOP(Aspect-Oriented-Programming)를 이용하는 방식이다. AOP는 핵심적인 로직은 아니지만 프로그램에서 필요한 '공통적인 관심사(cross-concern)는 분리'하자는 개념이다. Controller를 작성할 때는 메서드의 모든 예외상항을 전부 핸들링..
noeul.log
'Spring' 태그의 글 목록