실행 환경 OS: MacOS Sonoma 14.5 Java: 17 Spring Boot: 3.2.3 문제 상황 데이터를 조회하기 위해 컨트롤러에 아래와 같이 path variable 를 사용했다. @GetMapping("/challenge/{id}") @ResponseStatus(HttpStatus.OK) public Respon...
application/x-www-form-urlencoded 와 multipart/form-data 차이
개요 사용자가 업로드한 사진을 서버에 저장하려고 한다. 프론트에서 <form> 태그를 이용해서 POST 메서드로 서버에 데이터를 전송할 때 Request 의 header 의 Content-type 으로 x-www-form-urlencoded 또는 multipart/form-data 를 선택할 수 있다. 결론부터 말하자면 서버로 사진을 ...
[Java Spring] PostgreSQL 연동이 안될 때 해결 방법 (Failed to configure a DataSource)
실행 환경 OS : MacOS(Intel) Sonoma 14.2.1 Java : 17 Spring Boot : 3.2.3 IntelliJ Ultimate : 2023.2.6 문제 상황 PostgreSQL 과 Spring 을 연동하는 작업을 진행하고 있었다. Spring 프로젝트의 설정은 spring intializer ...
[PostgreSQL] Mac Intel 설치 및 실행 방법
설치 순서 1. brew install MacOS 사용자는 brew 를 이용해서 PostgreSQL 를 쉽게 설치할 수 있다. 아래에서 {version} 으로 작성된 부분은 원하는 버전을 입력하면 된다. brew install postgresql@{version} 16 버전을 사용하길 원한다면 아래와 같이 실행하면 된다. brew inst...
[Java Spring] A problem occured configuring root project 오류 해결 방법
실행 환경 OS : MacOS(Intel) Sonoma 14.2.1 IntelliJ : Ultimate 2023.2.5 문제 상황 스프링 프로젝트를 실행하려고 했지만 A problem occured configuring root project 으로 시작하는 오류가 발생했다. 문제 원인 스프링 프로젝트 세팅 시 자바 17 버전을 ...
[Next.js] Failed to load SWC binary for linux/x64 해결 방법
실행 환경 OS: MacOS(Intel) Sonoma 14.2.1 Node : 21.1.0 npm : 10.5.0 문제 상황 Next.js 개발 서버를 실행하기 위해 npm run dev 를 실행했다. 하지만 Failed to load SWC binary for linux/x64, see more info here: htt...
[Angular] Docker 컨테이너 이미지 빌드 시 발생하는 오류 해결
실행 환경 OS : MacOS Sonoma 14.2.1 (Intel 2020) Docker Engine : 25.0.3 Dockerfile Angular 프로젝트를 도커 컨테이너로 실행하기 위해서 Dockerfile 을 아래와 같이 작성했다. # Stage 1: Compile and Build angular codebase # Us...
[nginx] 리버스 프록시 적용 시 location URL 와 proxy_pass URL 의 trailing slash 에 따른 차이 정리
실행 환경 docker compose 를 이용해서 로컬 호스트에 총 3개의 컨테이너를 실행했다. 프론트 컨테이너에 nginx 를 실행시키고, nginx 가 백엔드 컨테이너로 api 요청을 전달해주도록 네트워크를 분리했다. 그림으로 표현하면 아래와 같다. 즉, 네트워크를 (프론트-백엔드)를 묶고 (백엔드-DB)를 묶어서 총 2개의 네...
[Github Actions] Node.js 패키지 설치 시간 단축을 위한 캐시 적용법
문제 상황 Github Actions 의 cron 기능을 이용해서 일정한 주기로 Node.js 프로그램을 실행하고자 했다. Github Actions 는 실행할 때마다 가상머신을 사용하는데, 실행이 끝나면 사용했던 가상머신에 설치한 라이브러리(node_modules)는 삭제된다. 하지만 동일한 라이브러리와 버전을 사용하는데 매번 라이브러...
[Selenium] Selenium headless 모드 사용 시 cloudflare 접근 방지 우회하기 (Sorry, you have been blocked)
실행 환경 OS : ubuntu 22.04 (AWS EC2) Python : 3.10.12 Chrome : 120.0.6099.71 ChromeDriver : 120.0.6099.71 문제 상황 Ubuntu CLI 환경에서 chromedriver 와 selenium 을 이용해서 특정 사이트에서 클릭 이벤트를 수행하는 코드를...