개발/실습 7

Spring JPA를 활용한 간단한 게시판 만들기 - 회원 로직 구성

지난번 기본설정에 이어 회원로직을 구성해보도록 하겠습니다. 회원만 글을 작성할 수 있는 게시판을 구성할 예정이라 회원가입 → 로그인 → 로그인에 성공하면 글 작성을 하는 패턴으로 진행 할 예정입니다. 다만 로그인 이후의 로직은 추후 보안로직을 완성한 후 적용할 예정이고 지금은 기본적인 회원가입 로직부터 구성하도록 하겠습니다. Entity 구성 구분을 편하게 하기 위해서 member 패키지를 하나 만듭니다. 대부분의 작업 경로는 src → main → java → {파일명} 경로로 되어있고 {파일명}.{다른파일명} 으로 되어있거나 {파일명} 만으로 되어있을 수 있습니다. 가장 하위패키지에 패키지를 생성하신 후 Member 이름의 클래스를 만듭니다. @Getter @Setter @AllArgsConstruc..

개발/실습 2023.05.25

Spring JPA를 활용한 간단한 게시판 만들기 - 기본설정

Spring JPA를 활용하여 간단한 게시판 만들기를 해보겠습니다. 게시판은 백엔드 개발영역에서 가장 기초적이면서도 필요한 CRUD를 모두 구현연습을 해볼 수 있는 좋은 예제라고 봅니다. Spring boot 파일생성 먼저 start.spring.io 사이트에 접속합니다. 사이트에 접속하면 볼 수 있는 화면입니다. 각 항목들에 대해 차근차근 알아보겠습니다. 우선 제가 활용한 설정 입니다. 1. Project : Gradle-Groovy 2. Language : Java 3. Spring Boot : 2.7.12 (업데이트가 잦은 편 입니다. 저는 개인적으로 가장 오래된 버전을 사용합니다) 4. Project Metadata : 프로그램 파일명 등을 설정하는 부분으로 각자 원하는 이름을 설정하면 됩니다. ..

개발/실습 2023.05.20

AWS를 이용하여 배포 해보기 - 보안그룹 설정

이전에 보안그룹을 설정하지 않고 서버를 실행해서 제대로 된 결과를 받지 못했습니다. 오늘은 보안그룹을 설정해서 이를 해결하도록 하겠습니다. 보안그룹? 보안그룹은 인스턴스에서 발생하는 트래픽에 대한 가상 방화벽 입니다. 트래픽이 인스턴스로 들어오는 경우라면 인바운드, 인스턴스에서 트래픽이 나간다면 아웃바운드 라고 부릅니다. 앞서 제대로 배포를 진행했는데도 정상적인 접속이 되지 않았던 이유는 인바운드 규칙을 설정하지 않았기 때문입니다. EC2 인스턴스는 기본적으로 인바운드 규칙에 허용되지 않은 것들은 접근하지 못하도록 필터링 되어있습니다. 인스턴스를 생성하면 기본적으로 SSH접속을 위한 규칙만 생성이 되었기 때문에 ubuntu OS로 접속해서 이런저런 설정들을 할 수 있었지만 SMB프로토콜 등의 기타 규칙이..

개발/실습 2023.05.15

AWS를 이용하여 배포 해보기 - 인스턴스 상에서 서버 실행

일전에 인스턴스 생성을 완료했습니다. 이제 해당 인스턴스를 통하여 서버를 실행하도록 하겠습니다. 인스턴스 연결 및 세팅 먼저 인스턴스로 들어가서 연결 버튼을 눌러줍니다. 인스턴스에 연결하는 방법은 1. EC2 인스턴스 연결 2. Session Manager 3. SSH 클라이언트 4. EC2 직렬 콘솔 이렇게 총 4가지가 있습니다. 1번과 2번의 경우 공통적으로 EC2 인스턴스에 원격으로 접속하는 방법이고 해당 연결을 실행하게 되면 통상적으로 터미널 환경에서 EC2 에 대한 컨트롤을 진행하게 됩니다. 보안적인 측면에서는 2번의 방식이 유리하지합니다. Session Manager의 경우 별도로 SSM 에이전트를 EC2에 설치해줘야 하는데 SSM 설치는 무료로 진행이 가능하지만 Session Manager의..

개발/실습 2023.05.14

AWS를 이용하여 배포 해보기 - 생성한 인스턴스 로컬과 연결하기

지난번에 생성한 인스턴스를 로컬 pc와 연결하여 리모트 작업을 할 수 있도록 작업을 해보겠습니다. 작업에 앞서서 로컬 pc에 반드시 ubuntu 및 linux 가 설치되어있어야 합니다. 설치 및 적용 방법은 사용하는 OS에 따라 다소 차이가 있으므로 OS에 맞춰서 설치를 진행합니다. 윈도우 우분투 설치 맥 우분투 설치 저는 인스턴스를 20.04로 만들어서 로컬에도 동일하게 20.04버전을 설치하여 사용했는데 22.04를 설치하신 분은 22.04로 받으시면 됩니다. 우분투는 메이저 버전과 마이너 버전이 있는데 마이너 버전은 서로 호환이 가능한 반면 메이저 버전은 호환되지 않습니다. 20.04 와 22.04 모두 메이저 버전으로 호환이 되지 않거나 제한적인 호환문제가 발생할 수 있으니 가급적 버전을 꼭 맞춰..

개발/실습 2023.05.12

AWS를 이용하여 배포 해보기 - 인스턴스를 생성하여 연결하기

지난번 회원 가입에 이어서 이번엔 AWS를 통하여 배포를 할 수 있도록 EC2의 인스턴스를 생성하도록 하겠습니다. EC2란? AWS는 여러 유용한 많은 기능을 제공해줍니다. 그 중 EC2 라는것은 AWS가 빌려주는 가상의 컴퓨터 라고 볼 수 있습니다. 저같은 경우에는 저의 개인 pc에서 인텔리제이 IDE를 사용하여 프로젝트를 만들고 실행하여 localhost:8080 서버로 접속하여 구현해둔 기능들을 사용할 수 있도록 했는데요, 여기서 서버의 실행(배포)부분을 EC2가 대신해준다고 볼 수 있습니다. EC2는 데이터베이스, 서버, 스토리지 등의 여러 서비스를 제공해줍니다. 기본적인 배포를 하기 위해서 먼저 인스턴스를 만들어 보도록 하겠습니다. 이 인스턴스가 앞서 말씀드린 가상의 컴퓨터를 만들어 주는 과정이..

개발/실습 2023.05.12

AWS를 이용하여 배포 해보기 - 무료 버전(프리티어) 계정 생성

AWS는 아마존에서 운영하는 클라우드 서비스 입니다. 대표적인 클라우드로는 아마존의 AWS, 마이크로소프트의 에저, 구글 클라우드를 꼽을 수 있겠습니다. 이 중 2021년도 기준 국내에서 가장 높은 점유율을 기록하는 AWS를 이용하여 간단한 배포작업을 진행해보도록 하겠습니다. AWS는 기본적으로 유료 서비스 입니다만 프론티어 버전이라고 하여 계정을 새로 생성하면 12개월간 무료로 이용할 수 있게 해줍니다. 저는 배포를 위하여 AWS의 EC2 기능을 사용 할 예정입니다. 무료 버전 계정 만들기 프리티어 제공내역을 살펴보면 제가 이용하고자 하는 EC2 기능의 경우 매월 750시간을 12개월간 이용할 수 있도록 무료로 제공하고 있는 것을 알 수 있습니다. 해당 기능을 이용하기 위한 회원가입을 먼저 진행해보도록..

개발/실습 2023.05.11