실행 환경 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 을 이용해서 특정 사이트에서 클릭 이벤트를 수행하는 코드를...
[JavaScript] UTC 를 한국시간으로 변환하기 (moment.js)
문제 상황 오늘의 날짜를 한국 기준(KST)으로 출력해주는 코드를 작성했다. 라이브러리는 date-fns 를 이용했다. import { format, setDefaultOptions } from "date-fns"; import { ko } from "date-fns/locale"; setDefaultOptions({ locale: ko });...
[Linux] MacOS 에서 실행한 virtualbox 가상머신에 ssh 접속하기
실행 환경 OS MacOS : Catalina 10.15.7 Ubuntu : 22.04 Virtualbox : 6.1.48 문제 상황 호스트인 MacOS 에서 게스트인 Virtualbox 의 가상머신(ubuntu 22.04)에 접속을 시도했지만, 무한 대기에 걸리면서 접속되지 않았다. ss...
[Dart] 변수(variables) 종류 정리
자료 : Dart 시작하기(#1.0 ~ #1.7) 변수의 종류 var var 는 자료형을 명시적으로 선언하지 않아도 알아서 자료형을 추론해준다. 한 번 값을 할당한 변수는 그 이후에 동일한 자료형을 선언해주어야 한다. 예를 들어, String 값을 할당한 var 변수에는 String 자료형의 값만 재할당 할 수 있다. void mai...
[AWS] EC2 인스턴스 구매 옵션 비교 정리
배치 그룹(Placement Groups) 개요 EC2 인스턴스는 서버 랙(Rack)에 설치된 여러 서버 컴퓨터에서 가상머신을 할당 받아서 사용하는 것이다. 하지만 특정 서버 랙이 고장 난다면 가상머신이 제대로 작동하지 않을 것이고, 우리가 EC2 에서 배포하거나 작동시키고 있는 애플리케이션도 오류가 발생할 수 있다. 그렇기 때문에 EC2 인스...