분류 전체보기(22)
-
리액트 AWS S3 + CloudFront로 배포하기 - 1. S3, CloudFront 설정
프로젝트가 슬슬 끝나가서 배포를 해보려고 합니다.프론트엔드 배포는 처음인데 여러가지 방법중 AWS S3 + CloudFront 방식으로 배포해보겠습니다. AWS S3 + CloudFront 방식 흐름 [사용자 브라우저] ↓[CloudFront CDN] ← HTTPS (ACM 인증서) ↓[S3 버킷] ← React build 정적 파일 ↑[Route 53 도메인 연결] 1. npm run build 결과물을 S3에 업로드npm run build로 정적 파일 생성만들어진 build/ 폴더 안의 파일들을 AWS S3 버킷에 올림 (HTML, JS, CSS 등)S3 버킷을 정적 웹 호스팅으로 설정2. CloudFront가 정적 파일을 전 세계에 캐싱3. HTTPS는 ACM 인증서를..
2025.03.31 -
UPSERT의 동작원리와 기준 컬럼 설정 유의점
염려질환과 펫의 관계를 나타내는 테이블인 pet_diseases에 petId의 값이 있으면 수정을 해줘야 하고 없다면 추가를 해주는 기능이 필요했다. 그 때 유용하게 쓰이는 UPSERT에 대해 알아보겠다. 나는 MySQL을 사용중이기 때문에 MySQL 문법에 대해서만 다룰 예정이다! 코드 먼저 살펴보자-- 이런 테이블이 있을 때CREATE TABLE pet_disease ( pet_id INT NOT NULL UNIQUE, -- 반려동물 ID disease VARCHAR(255) NOT NULL -- 질병 ID);INSERT INTO pet_disease (pet_id, disease) VALUES (#{petId}, #{disease}) ON DUPLICATE KEY UPDATE diseas..
2025.03.14 -
DB의 날짜와 프론트의 날짜 다른(1일 더 차이나는) 오류 해결
문제DB의 생일 날짜와 프론트의 렌더링되는 생일의 날짜가 다르게 나오고 있다.프론트의 날짜가 계속 1일 더 빠르게 나오고 있는 것 원인백엔드에서 Date 타입을 사용하면 버의 타임존(KST)을 기준으로 날짜가 저장된다. 하지만 자바스크립트에서는 기본적으로 UTC로 변환하여 처리하기 때문이다.백엔드에서 2024-06-29 00:00:00 KST(한국 시간)으로 날짜가 전송된다.프론트엔드에서 이를 받아 new Date() 로 변환하면 기본적으로 UTC 기준으로 해석되기 때문에 아래 과정이 진행된다.KST(UTC+9) 기준 2024-06-29 00:00:00 KST → 2024-06-28 15:00:00 UTCDate.toISOString()을 하면 2024-06-28T15:00:00.000Z가 출력된다.이를..
2025.03.14 -
빌드할 때 Cannot find a Java, JAVA_HOME이 공란인 오류 해결하기
상황프로젝트를 빌드하는 도중에 아래 에러가 발생했다.Cannot find a Java라고 써있어서 그 부분이 의심이 간다. 해결해보도록 하자! 과정1. 자바 버전 확인 - 실패 ❌java -version 자바가 없다고 하니 먼저 자바가 설치됐는지 확인부터 했다.하지만 잘 설치되어 있었다. 해결2. 자바 환경변수 설정 하기 echo $JAVA_HOME 자바 환경변수가 잘 설정되었는지 확인해보았다. 잡았다 요놈!환경변수가 설정되어있지 않아 공란이 출력되었다.JAVA_HOME 이 jdk 설치폴더를 가리키고 있어야하는데 그렇지 않아 영구적으로 설정을 해줘야겠다. export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64echo 'export JAVA_HOME=/usr/lib/j..
2025.03.06 -
Spring Boot 애플리케이션 AWS EC2에 배포하기 (Git Clone + JAR 실행)
2025.03.05 - [AWS] - 스프링부트 jar 파일생성 후 페어키로 EC2에 접속하여 배포하는 방법 스프링부트 jar 파일생성해서 AWS EC2에 배포하기오늘은 제가 만들고 있는 스프링부트 프로젝트를 배포해보도록 하겠습니다!단계는 크게 1. jar파일 생성하기 2. AWS EC2에 배포하기 로 나뉜다. jar 파일이란?JAR(Java ARchive) 파일은 Java에서 사용되는1000end.tistory.com 이전에는 SSH를 사용해서 EC2에 배포해보는 방식을 사용해봤습니다만 이번에는 인스턴스에 직접 연결해서 배포해보도록 하겠습니다.이전 글에서 EC2 인스턴스를 만들어놨다고 가정하고 이후부터 진행해보겠다. 이번에는 조금 업그레이드해서 탄력적 IP를 설정해볼 예정! 탄력적 IP 사용이유EC2 ..
2025.03.05 -
스프링부트 jar 파일생성 후 EC2 SSH로 배포하는 방법
오늘은 제가 만들고 있는 스프링부트 프로젝트를 배포해보도록 하겠습니다!단계는 크게 1. jar파일 생성하기 2. AWS EC2에 배포하기 로 나뉜다. jar 파일이란?JAR(Java ARchive) 파일은 Java에서 사용되는 압축된 파일 형식으로 여러 개의 .class 파일(바이트코드), 리소스(이미지, 설정 파일 등), 메타데이터를 하나의 파일로 묶은 것이다. 1. jar 파일 생성하기생성되어있는 프로젝트를 열고 Gradle > build > boot.Jar 선택하면 자동으로 빌드가 된다.아래 결과창에 SUCCESSFUL로 뜨면 성공 내 프로젝트 파일 > build > libs > 생성한 jar 파일 확인 2. AWS EC2에 생성하기 AWS > EC2 에 가서 먼저 인스턴스를 생성해주겠다. 인스턴..
2025.03.05