Spring Boot와 Thymeleaf로 페이징 처리 하기
2021. 5. 13. 21:37
Spring
Spring Boot 컨트롤러 스프링 부트에서 먼저 페이징 처리 코드를 살펴 보도록 하겠습니다. 컨트롤러 @PageableDefault : 페이징 파라미터가 없을 경우 디폴트 값 입니다. page 파라미터의 경우 디폴트가 0이러서 꼭 명시할 필요는 없습니다. Spring Boot Jpa를 사용하여 Pageable로 직접 구현없이 페이징을 하고 싶다면 직접 jpql이나 네이티브 쿼리 등 커스텀 하여 사용하면 Srping Data Jpa의 페이징 기능을 사용할 수 없게 됩니다. 물론 Query Dsl을 사용해도 되고, 다른 방법도 있겠지만, 딱히 어렵게 할 필요가 없었기 때문에 jpql로 직접 쿼리를 작성 하였다가 쿼리 메서드르 변경이 가능한 쿼리여서 쿼리 메서드를 사용하여 페이징 기능을 사용할 수 있게 되..
Spring Boot -Dspring으로 환경설정 파일 적용하기
2021. 5. 9. 15:48
Spring
스프링부트 프로젝트를 ec2에 배포하고 -Dsrping 명령어로 자바 프로젝트를 실행할 때 .yml, properties등 불러오고 싶은 파일을 명시 해주어야 한다. 명시 해주지 않으면 불러올 수 없고, 에러 또한 발생하지 않아 삽질의 위험이 있다. 아래 코드는 ec2에서 코드를 배포하기 위한 여러가지 코드들을 명령어 한방에 실행하기 위한 파일의 일부 코드이다. nohup java -jar \ -Dspring.config.location=classpath:/application-blog.yml,/home/ec2-user/app/application-real-db.yml \ -Dspring.config.activate.on-profile=real \ $REPOSITORY/$JAR_NAME 2>&1 & 코드..
AWS EC2 리눅스2 AMI 서버 생성시 필수 설정들
2021. 5. 9. 15:38
AWS
java8 설치 ec2 2서버에는 자바가 설치되어 있지 않다. sudo yum install -y java-1.8.0-openjdk-devel.x86_64 설치된 java 버전으로 변경 sudo /usr/sbin/alternatives --config java 타임존 변경 기본 타임존이 UTC이다. 이는 세계 표준 시간이므로 한국 보다 +9시간 차가 발생한다. 한국 시간으로 변경 해주자. sudo rm /etc/localtime sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime 변경 시간 확인 date HostName 변경 IP만으로 구분이 어렵기 때문에 명칭을 지어주자. 아래 파일에서 HOSTNAME=원하는 명 을 추가 해준다. sudo vim /et..
spring boot 2.4에서 properties include 변경 사항
2021. 5. 2. 14:35
Spring
스프링 부트 2.4부터 properties, yml에서 include 및 active 사용 방법이 변경 되었다. 이것 때문에 고생 좀 했다.. 기존 방식 아래와 같이 real-db라는 파일을 include하고 real일 경우만 사용 하도록 active 할 수 있었다. spring: profiles: include: real-db active: real 변경 방식 하지만 2.4부터는 아래와 같이 변경 되었다. spring: config: import: application-real-db.yml activate: on-profile=real 참고 공식 문서
Cannot allocate memory에러!! 메모리 부족 현상
2021. 5. 2. 00:57
Linux
devlogmoa 토이 프로젝트를 진행 하다가 만난 문제. ec2에서 spring boot jar 앱을 실행 할 때 갑작스럽게 에러가 발생 했다. aws ec2 프리티어는 메모리가 1GB 뿐 안되기 때문에 메모리 부족 현상이 발생한 것!! swap 메모리를 추가하여 가상 메모리를 사용하여 해결 하였다. 그 방법을 알아 보도록 하자. swap 메모리란? ram이 부족할 경우 프로세스가 임시 저장되는 공간이다. ram을 사용한 것이 아닌 하드의 일정 공간을 사용한 것이므로 아무래도 속도가 늦다. 일반적으로 1기가 메모리의 swap 권장 용량은 2GB라고 한다. 메모리 및 swap 메모리 확인 os 메모리 확인 현재 스왑 공간이 없는 상태 free -h swap 파일 생성 null로 채워진 2GB swap 파..
AWS의 SSH 접속 방법
2021. 4. 25. 22:00
AWS
MAC에서 ssh 접속 방법을 알아보자. aws에서 pem key이용하는 예제이다. aws에서만 허용 되는 것이 아니라 ssh 자체의 접속 방법이다. 기본적으로 아래와 같이 매번 명령어를 입력해야 한다. ssh -i pem 키 위치 EC2의 단력적 IP 주소이를 간단하게 만들어 보자. 먼저 pem키를 ~/.ssh/로 복사한다. cp pem 키 내려받은 위치/pem키 이름 ~/.ssh/복사가 되었다면 pem키의 권한을 변경한다. chmod 600 ~/.ssh/pem키 이름config 파일을 생성한다.(아무런 확장자가 없음) vim ~/.ssh/configssh config 파일에서 등록한 pem키에 접속하기 위한 셋팅을 한다. 아래의 내용을 추가한다. Host 원하는 서비스 명칭 HostName ec2의 ..