backend 4

[SpringBoot] application.properties 환경 분리하기

지금까지 나의 프로젝트와 redis, DB 등의 연동과 관련된 설정들을 application.properties 파일에서 작성하였다. 그런데, 이번에 해당 프로젝트의 배포를 준비하면서 application.propertied 파일의 내용을 변경해야하 하는 일이 많아졌다.예를 들어, DB의 url, username, password 같은 경우, 로컬에서 개발을 할 때는, 내 PC에 설치된 mysql을 사용하여 localhost의 주소를 사용하였지만, 배포를 할 때는 외부나 내부의 DB와 연결해야 하기 때문에 이러한 설정 변경을 필수적이다. 배포를 할 때, 이러한 항목들을 변경하면 이후 내가 다시 개발을 할 때는 에러가 날 것이다!! 때문에 application.properties를 로컬 개발 환경(loca..

DOCKER 2025.04.12

[Docker] Docker를 사용해서 Spring boot + React 배포하기 ( 1 )

현재 진행 중인 동아리 게시물 웹 프로젝트가 어느덧 배포 단계까지 오게되었다. 구글에서 지원하는 GCP와 Docker를 사용해서 배포할 예정이다. 배포 흐름1. 내 인텔리제이 프로젝트에서 프론트엔드와 백엔드 프로젝트에 각각 DockerFile 및 .dockerignore 작성2. 백엔드(./gradlew build -x test), 프론트엔드(npm run build) 로 앱 빌드3. docker build -t 로 docker 이미지 파일로 빌드(Docker 설치 필요)4. 프론트엔드 백엔드 docker 이미지에 각각 GCP 주요용 이름(tag) 붙이기5. docker 이미지를 Artifact Registry로 푸쉬6. 이후에는 VM을 사용해서 배포할지, Cloud Run을 이용해서 할건지 선택7. 배..

DOCKER 2025.04.07

[Spring Boot] 빈(Bean)이란? Autowired 란?

1. 빈(Bean)이란? 빈(Bean)은 스프링 프레임워크에서 관리하는 객체(인스턴스)!!스프링 컨테이너(Spring Container)가 생성하고, 필요한 곳에서 사용할 수 있도록 관리함.💡 즉, "스프링이 직접 관리하는 객체이다.빈 없이 객체를 생성하는 경우public class UserService { private UserRepository userRepository = new UserRepository(); // 직접 생성 public void processUser() { userRepository.save(new User("홍길동")); }}  단점 빈을 사용하지 않으면 객체를 new를 사용해서 위와 같이 직접 생성해야함.UserRepository의 구현이 바뀌면..

JAVA 2025.03.07

[React / Spring Boot] 프론트엔드, 백엔드 프로젝트 구조

세션 기반의 로그인 프로젝트를 만들기 위한 프론트엔드, 백엔드의 구조를 정리해보았다.  1. 프론트엔드 /src ├── api # API 요청 관련 코드 │ ├── authApi.js # 로그인 및 로그아웃 API 요청 │ ├── userApi.js # 사용자 정보 조회 API 요청 │ ├── components # 공통 UI 컴포넌트 │ ├── InputField.js # 입력 필드 컴포넌트 │ ├── context # 전역 상태 관리 │ ├── AuthContext.js # 로그인 상태 관리 │ ├── pages # 주요 페이지 │ ├── LoginPage.js # 로그인 ..

카테고리 없음 2025.02.20