본문 바로가기

반응형

전체 글

AWS EC2 서버에 스프링부트(SpringBoot) 배포 적용하기 EC2 서버에 스프링부트 배포 1. EC2에 프로젝트 Clone 받기 먼저 깃허브에서 코드를 받아올 수 있게 EC2에 깃을 설치해야한다. EC2로 접속해서 다음과 같이 명령어를 입력합니다. git 설치 sudo yum install git git 버전 확인 git --version 프로젝트 디렉토리 생성 mkdir ~/app && mkdir ~/app/step1 프로젝트 디렉트리 이동 cd ~/app/step1 git clone git clone 주소 프로젝트 확인 cd 프로젝트명 ll 단위 테스트만 수행 ./gradlew test 실행 결과 실행 권한 추가 chmod +x ./gradlew 단위 테스트만 수행 ./gradlew test 현재 ec2엔 그레이들(Gradle)을 설치하지 않았습니다. 하지만.. 더보기
AWS 개발 데이터베이스(MariaDB) 환경 구축 AWS 데이터베이스 환경을 만들어보자 AWS(Amazon Web Service)라는 클라우드 서비스를 이용해 데이터베이스 환경을 구축해보자 1. RDS 인스턴스 생성하기 데이터베이스 생성 DBMS MariaDB 선택 템플릿 선택 상세 설정 인스턴스 크기 설정 연결 설정 퍼블릭 엑세스 가능 옵션 추가 데이터베이스 옵션 데이터베이스 생성 2. RDS 운영환경에 맞는 파라미터 설정 RDS를 처음 생성하면 몇 가지 설정을 필수로 해야 합니다. 타임존 Charcater Set Max Connection 파라미터 그룹 탭 선택 후 파리미터 그룹 생성 파라미터 생성 완료 파라미터 편집 타임존 수정 Charcater Set utf8mb4 설정 utf8은 이모지를 저장할 수 없지만, utf8mb4는 이모지를 저장할 수 .. 더보기
AWS EC2 개인 개발 서버 환경 구성 AWS 서버 환경을 만들어보자 AWS(Amazon Web Service)라는 클라우드 서비스를 이용해 서버환경을 구축해보자 1. EC2 인스턴스 생성하기 EC2(Elastic Compute Cloud)는 AWS에서 제공하는 성능, 용량 등을 유동적으로 사용할 수 있는 서버입니다. EC2 인스턴스 시작 인스턴스를 생성하는 첫 단계는 AMI(Amazon Machine Image, 아마존 머신 이미지)를 선택하는 것입니다. Amazon Linux AMI 선택 인스턴스 유형 선택(t2.micro) 인스턴스 세부정보 구성 스토리지 구성 프리티어는 최대 30GB까지 선택 가능 태그 추가 보안 그룹 추가 지정된 IP에서만 ssh 접속이 가능하도록 구성하는 것이 안전합니다. 인스턴스 검토 pem 키 생성 인스턴스 접근.. 더보기
스프링 시큐리티와 OAuth 2.0으로 로그인(구글,네이버) 기능 적용하기 스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현 스프링 시큐리티(Spring Security)는 막강한 인증과 인과(혹인 권한 부여) 기능을 가진 프레임워크입니다. 사실상 스프링 기반의 애플리케이션에서는 보안을 위한 표준이라고 보면 됩니다. 필터 기반의 보안 기능을 구현하는 것보다 스프링 시큐리티를 통해 구현하는 것을 적극적으로 권하고 있습니다. 1. 스프링 시큐리티와 스프링 시큐리티 Oauth2 클라이언트 OAuth 하지만 오픈 아이디는 표준스펙이 존재하지 않았기 때문에 제공자마다 서로 다른 프로토콜을 제공하여 여러 오픈 아이디를 제공하기 위해선 각 규격별로 연동을 만들어야 했고, 일부 프로토콜에선 보안 이슈가 많이 나오기도 했습니다. 때문에 표준적인 방법을 고려하던 사람들은 OAuth 라는 .. 더보기
frontend view template engine Mustache로 화면 구성하기 Mustache로 화면 구성하기 1.mustache Logic-less template Engine 다양한 언어들을 지원 (Ruby, JavaScript, Python, Erlang, node.js, PHP, Perl, Objective-C, Java, .NET, Android, C++, Go, Lua, ooc, ActionScript, ColdFusion, Scala, Clojure, Fantom, CoffeeScript, D, Haskell, XQuery, ASP, Io, Dart, Haxe, and for Delphi) 수많은 언어를 지원한느 가장 심플한 템플릿 엔진 Template Engine? 템플릿 엔진은 "프로그램 로직" "프리젠테이션" 계층을 분리하기 위한 수단 예를 들어 Controlle.. 더보기
Spring Boot에서 JPA 셋팅 및 적용하기 Spring Boot에서 JPA 사용하기 1. JPA(Java Persistence API)란 JPA는 여러 ORM 전문가가 참여한 EJB 3.0 스펙 작업에서 기존 EJB ORM이던 Entity Bean을 JPA라고 바꾸고 JavaSE, JavaEE를 위한 영속성(persistence) 관리와 ORM을 위한 표준 기술이다. JPA는 ORM 표준 기술로 Hibernate, OpenJPA, EclipseLink, TopLink Essentials과 같은 구현체가 있고 이에 표준 인터페이스가 바로 JPA이다. ORM(Object Relational Mapping)이란 RDB 테이블을 객체지향적으로 사용하기 위한 기술이다. RDB 테이블은 객체지향적 특징(상속, 다형성, 레퍼런스, 오브젝트 등)이 없고 자바와.. 더보기
Spring Boot(스프링부트) 테스트 코드 junit 작성 해보기 Spring Boot 테스트 코드 작성 1. TTD란? "테스트 주도 개발: 테스트가 개발을 이끌어 나간다."라고 정의할 수 있다. 메소드 나 함수 같은 프로그램 모듈을 작성할 때 ‘작성 종료조건을 먼저 정해놓고 코딩을 시작 한다’는 의미로 받아들이면 편하다. RED : 항상 실패하는 테스트를 먼저 작성 GREEN : 테스트에 통과하는 프로덕션 코드 작성 REFACTOR : 테스트가 통과하면 프로덕션 코드를 리팩토링 위의 레드 그린 사이클 처럼 우선 테스트를 작성하고 그걸 통과하는 코드를 만들고 해당 과정을 반복하면서 제대로 동작하는지에 대한 피드백을 적극적으로 받는 것이다. TDD를 왜 사용하는가? 개발 단계 초기에 문제를 발견하게 해준다. 추후에 코드를 리팩토링하거나 라이브러리 업그레이드 등에서 기존.. 더보기
Gradle 그레들 Spring Boot 스프링 부트 프로젝트 만들기 Gradle Spring Boot 프로젝트 생성 1. 프로젝트 생성 기본적인 프로젝트 개발 환경은 다음과 같습니다. IntelliJ IDEA - Spring Boot - Java 11 - Gradle Gradle 프로젝트 선택 화면 Project Name, GroupId 작성 화면 2. Gradle 프로젝트를 Spring Boot 프로젝트로 변경 build.gradle 파일을 열어 봅니다. 초기 build.gradle 파일 plugins { id 'java' } group 'org.example' version '1.0-SNAPSHOT' sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { testCompile group: 'j.. 더보기

반응형