IT/SpringBoot&AWS
-
[AWS] 서버 HOST명 변경하기IT/SpringBoot&AWS 2022. 5. 12. 21:48
참고도서 : 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 자! 이제 로컬에서 개발한 소스를 드디어 클라우드로 올릴 차례가 되었다! 그 전에 AWS에 서버 환경 구성을 해야하는데! 도서에 나온대로 따라하면 금방 뚝딱 서버가 구성된다. 그런데 HOST명 변경은 도서에 나온대로 해도 되지 않아 다른 방법으로 진행해 본다. 처음 EC2에 접속하면 콘솔에 표기가 name@ip-xxx-xxx-xxx-xxx 형식으로 노출되는데, 이를 내가 지정하는 호스트명으로 변경하려면 아래 명령어를 수행하면 된다. - hostnamectl 명령어 sudo hostnamectl set-hostname 희망하는_호스트명 끝~
-
세션 저장소로 데이터베이스 사용하기IT/SpringBoot&AWS 2022. 5. 12. 08:40
참고도서 : 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 현재까지 [ 기본 페이지 접속 > OAuth 2를 사용한 로그인 ] 를 구현해봤다. 그런데 내장 톰캣을 재실행하면 로그인이 풀리는 문제가 있다. 원인 : 세션이 내장 톰캣의 메모리에 저장되기 때문 기본적으로 HTTP는 stateless 특성을 가지고 있기 때문에 서버클라이언트 1번의 요청/응답 후 연결이 끊어진다. 그래서 일반적으로 로그인 후 사용자 상태를 유지하기 위해서 세션에 사용자 정보를 저장해서 처리한다. 다시 정리해보면 아래와 같다. 1. 웹 페이지에 최초 접속 시 톰캣에서 쿠키에 JSESSIONID를 내려줌 - 아래 캡쳐와 같이 최초 페이지 접속 시 톰캣에서 908~A4B1 인 JSESSIONID를 통해 사용자를 구분한다. 2. 로그..
-
[용어] 템플릿 엔진이란?IT/SpringBoot&AWS 2022. 5. 11. 07:28
템플릿 프로세서(템플릿 엔진 또는 템플릿 파서라고도 함)는 템플릿을 데이터 모델과 결합하여 결과 문서를 생성하도록 설계된 소프트웨어이다. - 위키피디아 웹 개발에 있어 템플릿 엔진은 "지정된 템플릿 양식과 데이터" 가 합쳐져 HTML 등 웹 문서를 출력하는 소프트웨어를 지칭한다. 구동되는 방식에 따라 서버 템플릿 엔진, 클라이언트 템플릿 엔진으로 구분 가능하다. 서버 템플릿 엔진 (sever-side template engine) - 서버에서 콘텐츠(DB or API)를 웹 템플릿과 결합한 뒤 HTML로 변환하여 브라우저로 전달 - 많은 템플릿 시스템이 서버 템플릿 방식을 사용하고 있다. (ex. JSP(with Spring), Freemaker, ...) 클라이언트 템플릿 엔진 (client-side ..
-
[IntelliJ] error: no suitable method found for assertThat(String) 해결 방법IT/SpringBoot&AWS 2022. 5. 10. 15:47
출처 : 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 앞서 build.gradle에 롬복 관련 dependencies를 수정 후 다시 테스트 코드를 돌리니.. 자! 또 에러가 발생했다! error: no suitable method found for assertThat(String) package com.jojoldu.book.springboot.web.dto; import org.junit.Test; import static org.junit.Assert.assertThat; public class HelloResponseDtoTest { @Test public void 롬복_기능_테스트() { // given String name = "test" ; int amount = 1000 ; // whe..
-
[IntelliJ] error: variable name not initialized in the default constructor private final String name; 해결 방법IT/SpringBoot&AWS 2022. 5. 10. 15:32
출처 : 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 도서에서 롬복 dependencies를 추가하고 코드 수행 시 에러가 발생한다. error: variable name not initialized in the default constructor private final String name; 이게 또 왜 에러가 발생할까..;; 찾아보니 gradle 버전 차이로 인해 발생하는 것이었고, build.gradle에 아래와 같이 수정 후 gradle을 다시 리프레시하여야 한다. // gradle 버전 5 미만 dependencies { implementation('org.projectlombok:lombok') } // gradle 버전 5 이상 dependencies { compileOnly('org...
-
[IntelliJ] Gradle Could not find method compile() 해결 방법IT/SpringBoot&AWS 2022. 5. 10. 13:29
참고도서: 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 도서에서 인텔리제이 기반으로 gradle 프로젝트 생성을 안내하고 있는데, 샘플 코드대로 작업했으나 오류가 발생하더라.. buildscript { // ext : build.gradle에서 사용하는 전역변수를 설정하겠다. // 여기서는 springBootVersion 전역변수를 생성하고 그 값을 '2.1.7.RELEASE' 로 하겠다는 의미. ext { springBootVersion = '2.1.9.RELEASE' } repositories { mavenCentral() jcenter() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springB..
-
AWS 과금 환불받기IT/SpringBoot&AWS 2020. 10. 7. 01:43
지난 번 EC2 과금되었다고 포스팅한 적이 있는데, 2개월 치 과금된 금액을 환불 받았다. (관련 포스팅: skyfox83.tistory.com/58?category=862517) 그 내용을 남깁니다. ● 요약 ● 1. 9월 청구된 금액에 대해 청구 사유 문의 2. 담당자로부터 조치 방법 회신 받음 (1. 인스턴스 중지, 2. 인스턴스 재시작 or 탄력적IP 반납) 3. 조치 후 회신하였고, 약 3일 뒤 8월, 9월 청구된 금액 환불 받음 4. 다시 10월에 소액의 금액이 청구되어 다시 문의 5. 탄력적IP가 반납되지 않아 소량 발생한 것으로 확인되었고, 탄력적IP 반납 후 회신 요청 6. 반납 작업 후 회신 기다리는 중 ● 작업 상세 ● 1. 9월 청구 금액 문의 - 8월에 이미 $65.76 청구되어 ..
-
AWS EC2 과금 되었다 ㅋㅋㅋIT/SpringBoot&AWS 2020. 8. 3. 23:47
오늘따라 비도 겁나게 많이 내리고 날씨도 꾸릿꾸릿한데 갑자기 문자가 왔다. - 아마존에서 $65가 청구된다는!!! @_@ 난 지금 프리티어 사용자인데!!!! 왜!!!! 얼릉 AWS로 접속해서 청구내역을 확인해보았다. 아뿔싸. 맞게 나왔네... ;; ㅋ 난 여지껏 잘못 알고 사용하고 있었구나.... 하.... 1. AWS EC2 인스턴스 수행시간이 한 달 동안 750시간 내에서는 무료로 사용할 수 있다!! (인스턴스가 1개든 그 이상이든 상관 없음, 1년 동안) 2. 그 초과 사용시간에 대해서 과금이 발생한다!! 아마 착각하는 사람들은(나만 그렇겠지...;;;) 저 "1년 동안" 이라는 문구 때문에 1년 동안 마음껏 쓸 수 있다.라고 착각할 수 있겠지만.. 어디까지나 인스턴스 기동 시간 750시간 이내인 ..