전체 글 164

AWS EC2 배포 가이드 정리

EC2 (Elastic Compute Cloud)ec2는 하나의 컴퓨터를 의미한다. 서버를 배포하기 위해선 컴퓨터가 필요 > but. 내 컴퓨터로 서버를 배포하면 24시간 동안 켜놔야하고 보안적 위험도 있기 때문에 AWS EC2라는 컴퓨터를 빌려서 사용한다. (로깅, 오토스케일링, 로드밸런싱 등의 부가기능은 덤~)현업?백엔드서버 배포는 주로 EC2에 서버를 배포에서 사용한다.프론트엔드?프론트 배포할때도 EC2를 사용할 수 있지만, 주로 Vercel, netilfy, AWS S3를 사용해서 배포한다.처음해야되는 것리전(Region) 선택하기인프라를 지리적으로 나누어 배포한 각각의 데이터 센터를 의미.리전의 특징1. 각 리전은 고유한 이름(고유한 값)을 갖고있다.2. 리전을 선택하는 기준은 애플리케이션의 주..

개발/AWS 2025.11.30

[#1 Node] 알아둘 JavaScript 정리

1. 호출스택- Anonymous는 가상의 전역 컨텍스트- 함수 호출 순서대로 쌓이고 역순으로 실행됨- 함수 실행이 완료되면 스택에서 빠짐- LIFO 구조라서 스택이라고 불림 호출 스택 / 백그라운드 / 테스크 큐 / 이벤트 루프 / 콘솔 / 메모리 구조를 이해 해야함> 예제function oneMore() { console.log('one more');}function run() { console.log('run run'); setTimeout(() => { console.log('wow'); }, 0) new Promise((resolve) => { resolve('hi'); }) .then(console.log); oneMore();}setTimeout(run, 5000);..

FE/JavaScript 2025.07.27

[#0 Node] 기초개념

1. 노드의 정의Node.js는 크롬 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임이다.(런타임이란? > 특정 언어로 만든 프로그램들을 실행할 수 있게 해주는 가상 머신의 상태)노드는 서버의 역할도 수행할 수 있는 자바스크립트 런타임으로 자바스크립트로 작성된 서버를 실행할 수 있도 http/https/http2 모듈을 제공 > 노드 외의 다른 자바스크립트 런타임으로는 크롬, 파이어폭스 같은 브라우저가 있음> 노드는 V8과 libuv를 내부적으로 포함한다.- V8 엔진: 오픈소스 자바스킄립트 엔진 -> 속도문제 개선- libuv: 노드의 특성인 이벤트 기반, 논블로킹 I/O 모델을 구현한 라이브러리 2. 이벤트 기반> 이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식. 대부분의 프로그램은 이벤..

FE/JavaScript 2025.07.26

#5 Docker 환경에서 Spring Boot 백엔드 실행

# 목적1. 로컬 개발 환경에서 Docker compose를 활용해 백엔드 서버를 컨테이너로 실행하고, 프론트엔드(Vite 기반)와의 API통신이 원활하게 이루어지는지 검증하기2. 추후 배포 환경에서도 일관된 백엔드 동작을 보장하기 위해 Docker 기반 실행 과정을 경험하고 문서화 하려고함 # 진행1. 전달받은 도커 설정 파일 `application.yml`을 백엔드 프로젝트의 `src/main/resources` 디렉토리에 추가2. docker network 명령어로 컨테이너 간 통신을 위한 사용자 정의 브리지 네트워크 생성3. gradle로 프로젝트 빌드(테스트실행 x)4. docker compose up5. mysql의 테이블에 dummy admin 계정을 수동으로 INSERT6. 프론트 프로젝트..

개발/Docker 2025.05.05

#4 Docker Compose

# Docker Compose ?여러 개의 Docker 컨테이너들을 하나의 서비스로 정의하고 구성. 하나의 묶음으로 관리할 수 있게 도와주는 툴1. 여러 개의 컨테이너를 관리하는데 용이여러개의 컨테이너로 이루어진 복잡한 애플리케이션을 한 번에 관리할 수 있게 해준다.여러 컨테이너를 하나의 환경에서 실행하고 관리하는데 도움이된다.2. 복잡한 명령어로 실행시키던 걸 간소화 시킬 수 있음docker run -e MYSQL_ROOT_PASSWORD=pwsecret -d -p 3306:3306 -v 'C:/Users/zinooing/Downloads/docker-mysql/mysql_data:/var/lib/mysql' mysql위와같은 복잡한 명령어를 docker compose up 로 간소화. # 도커 컴포즈..

개발/Docker 2025.05.04

#3 Dockerfile

# Dockerfile?Docker 이미지를 만들게 해주는 파일. # FROM : 베이스 이미지 생성FROM [이미지명]FROM [이미지명] : [태그명]베이스 이미지를 생성하는 역할. Docker컨테이너를 특정 초기 이미지(베이스이미지)를 기반으로 추가적인 세팅을 할 수 있다. # 빌드 명령어docker build -t [생성할 이미지이름 설정:태그] [Dockerfile 경로]ex) docker build -t my-app:v1 .-t : 태그의 줄임말로 버전관리나 목적구분에 사용. # 종료된 컨테이너에 들어가서 디버깅하고 싶을 때1. docker logs 를 활용해 컨테이너 로그 확인하기2. docker exec -it 를 활용해 컨테이너 내부에 직접 들어가보기docker exec -it 는 실행중..

개발/Docker 2025.05.04

#2 Docker Volume

# Docker Volume도커 컨테이너에 MySQL을 설치하고 작업하던 중, 컨테이너를 새로 만들면 이전에 작업한 데이터베이스가 사라지는 문제가 생길 수 있다. 이러한 문제를 방지하기 위해 Docker Volume 이라는 기능을 사용하면, 데이터 파일을 호스트 컴퓨터의 볼륨에 저장하여 컨테이너가 삭제되거나 재생성되어도 기존 데이터를 유지할 수 있다. # Docker Volume 생성docker run -e MYSQL_ROOT_PASSWORD=pwsecret -d -p 3306:3306 -v 'C:/Users/zinooing/Downloads/docker-mysql/mysql_data:/var/lib/mysql' mysql┌────────────────────────────┐│ Host O..

개발/Docker 2025.05.03

#1 Docker CLI

# 도커 이미지는 어디서 다운받는것인지?https://hub.docker.com/ Docker Hub hub.docker.com깃헙처럼 이미지를 저장, 다운받을 수 있는 저장소 역할을 하는 서비스 # 이미지 다운로드docker pull nginx (아무것도 안붙이면 자동으로 latest버전)docker pull nginx:latest (뒤에 :땡땡 붙이고 다운받을 버전을 정할 수 있다) # 이미지 다운로드 조회docker image ls # 이미지 삭제docker image rm (IMAGE ID 컨테이너에서 사용하고 있지 않은 이미지만 삭제 가능 # 이미지 삭제(강제)docker image rm -f (IMAGE ID)중단된 컨테이너에서 사용하고 있는 이미지 삭제 가능 # 이미지 삭제(여러개 한번에)d..

개발/Docker 2025.05.02

#0 Docker

# Why?도커를 사용해야할 일이 생겼다 ..서버가 없는 상태에서 개발할때, 도커를 알고 있어야 백엔드의 개발환경을 받고 API요청이 잘 처리되는지 확인할 수 있기 때문이다.그동안 배포된 상태에서 개발한 경험만 있었는데, 아닌 상태에서 개발을 진행해보고 나서야 얼마나 편한 상황이었는지 깨달았다. 도커를 사용하는 이유는 이식성 때문이다. 백엔드의 개발환경을 받아서 API요청이 제대로 가고있는지 확인하려고 한다.이식성 : 특정 프로그램을 다른 곳으로 쉽게 옮겨서 설치 및 실행할 수 있는 특징 # IP와 Port 의 개념## IP는 네트워크상에서 특정 컴퓨터의 주소를 가리킨다. 각 서비스는 IP를 갖고있음.ex) 13.250.15.132 ## Port한 컴퓨터 내에서 실행되고 있는 특정 프로그램의 주소이다.e..

개발/Docker 2025.05.02

[SideProject] NewsMorn - AI 뉴스요약

https://news-morn.vercel.app/ NewsMorn - AI 뉴스 요약 서비스AI의 3줄 요약으로 최신 뉴스를 빠르고 쉽게 이해하세요😊news-morn.vercel.app 1.1. 프로젝트 개요긴 뉴스 기사를 요약하여 핵심 정보를 제공하는 AI 기반 서비스사용자가 뉴스 URL을 입력하면 OpenAI API를 활용하여 요약된 내용을 출력1.2. 개발 스택Frontend: Next.js, TypeScript, React, TailwindCSSAPI 호출: OpenAI API (GPT), Fetch API / Axios뉴스 데이터: Newsdata.io API배포: Vercel1.3. 기능1.3.1. 뉴스 요약 기능사용자가 뉴스 URL을 입력하면 OpenAI API가 자동으로 핵심 내용을 ..

FE/Next 2025.03.28
반응형