전체 글 39

Excel 파일을 제작하고 다운로드 하는 웹 도구 [깃허브 페이지]

https://rakaso598.github.io/xlsxGenerator/ Excel 파일 다운로드Excel 파일 제작하기 각 행은 줄 바꿈으로 구분하고, 열은 쉼표로 구분하세요. Excel 다운로드rakaso598.github.io자바스크립트 공부 중 CSV라는 데이터 포맷에 대해 알게 되었고, 이를 활용하여 파일을 제작하고 다운로드하는 기능을 만들 수 있을 것이라는 아이디어를 떠올렸습니다. CSV 포맷은 데이터를 콤마로 구분하는 간단하고 직관적인 방식으로, 이를 자바스크립트에서 처리하는 것은 비교적 용이한 작업이라고 예상했습니다. 자바스크립트는 이미 강력한 JSON 파싱 및 직렬화 기능을 갖추고 있어, 문자열을 다루는 함수 구현에 있어 충분한 기반을 제공하고 있었기 때문입니다. 이러한 배경을 바탕으..

GitHub 2024.12.02

수입/지출관리 어플리케이션 백엔드 REST API 구축 기록 [NestJS/MongoDB]

NestJS를 사용해 수입/지출 관리를 위한 기본 REST API를 구축하고 실행한 것입니다.주요 작업 내용과 코드를 기록한 문서입니다. 1. NestJS 프로젝트 생성NestJS는 백엔드 애플리케이션 프레임워크로, 모듈 기반 구조와 데코레이터를 활용한 선언적 코딩 스타일을 제공합니다.초기 프로젝트 설정과 IncomeExpenseModule 생성은 애플리케이션의 구조를 정리하는 작업입니다.2. Mongoose 및 MongoDB 연결Mongoose를 통해 MongoDB와 통신할 수 있도록 설정했습니다.MongoDB는 NoSQL 데이터베이스로, 수입/지출 데이터를 저장할 데이터베이스로 사용되었습니다.MongooseModule.forFeature를 사용해 IncomeExpense라는 Mongoose 모델을 등..

JavaScript 2024.11.29

EC2 인스턴스에 도커 컨테이너를 실행하고 배포하기 [DockerHub]

AWS EC2 인스턴스에서 Docker 컨테이너를 실행하고 웹 애플리케이션을 배포하는 방법에 대해 설명합니다. 이 과정에서는 EC2 인스턴스를 생성하고, Docker를 설치하며, Docker Hub에서 컨테이너를 다운로드하고 실행하는 방법을 다룹니다. nginx를 EC2에 배포하는 기본적인 가이드와, EC2에 도커 컨테이너를 실행한 후기로 구성했습니다.1. AWS EC2 인스턴스 생성- 1. AWS Management Console에 로그인 후 EC2 서비스로 이동합니다.- 2. "인스턴스 생성" 버튼을 클릭하여 새로운 EC2 인스턴스를 생성합니다.t2.micro 인스턴스를 선택하여 무료 사용 범위 내에서 진행합니다.키 페어를 생성하거나 기존 키를 선택하여 SSH 접속에 사용할 수 있도록 합니다.보안 그..

Cloud 2024.11.25

docker-compose로 여러 컨테이너를 동시에 실행해보자 [Docker]

docker-compose를 사용하여 Spring Boot 컨테이너와 Node.js 컨테이너를 동시에 실행하고, API 통신을 완성하는 것이 목표입니다.- Node.js 컨테이너는 미들웨어 역할을 하며, API Gateway 또는 Web Gateway로 동작합니다. 이 컨테이너는 Spring Boot의 H2 메모리 데이터베이스에 접근하여 데이터를 읽고 쓸 수 있고, HTML을 통해 조작 가능한 인터페이스도 제공합니다. - Spring Boot 컨테이너는 백엔드 서버 역할로, 데이터베이스와 REST API를 제공합니다. Spring Boot의 RestController를 통해 Node.js에서 URI 요청을 받아 REST 통신을 수행합니다. 이 구조를 통해 Node.js는 프론트엔드 요청을 처리하고, Sp..

Docker 2024.11.14

Node 마이크로서비스를 Docker 컨테이너화 해보자 [REST]

노드 마이크로서비스를 도커 컨테이너화하여 실행 성공하는것이 이번 게시글의 목표입니다. # 준비물 :Node.js 설치 [ https://nodejs.org/en/download/package-manager ]Docker 설치 [ https://www.docker.com/products/docker-desktop/ ]VScode 등의 텍스트 에디터 [ https://code.visualstudio.com/download ] Windows PowerShell 등 터미널 환경  0. Node 프로젝트를 초기화하고 express와 axios 설치합니다.# Node 프로젝트 초기화 (package.json 파일 생성)npm init -y# express와 axios 설치npm install express axio..

Docker 2024.11.14

Docker로 스프링부트 JAR을 컨테이너화 해보자 [H2DB]

자바 스프링부트와 AWS 클라우드 배포를 생각하던 중 도커와 쿠버네티스의 역할이 궁금해졌습니다. 그래서 이번엔 도커에 대한 궁금증을 풀기 위해 스프링부트 jar 파일을 도커 컨테이너화하고, 컨테이너를 실행하여 동작까지 확인하는 것이 목표입니다.  우선, Docker를 설치해야 합니다. [ https://www.docker.com/products/docker-desktop/ ]도커 공식사이트에서 다운로드 받을 수 있습니다. 도커 설치 후, 아래 가이드로 진행합니다. 0. application.properties에 코드를 추가합니다.# H2 memoryspring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSEspring...

Docker 2024.11.13

Node.js 서버로 카카오 로그인을 구현해보자 [MongoDB/JWT]

Node.js의 Express 웹 애플리케이션 프레임워크를 사용하면 RESTful API, 웹사이트, 단순한 웹 서버를 빠르게 구축할 수 있습니다. 카카오 REST API를 사용하여 카카오 API를 활용하는 웹 서버를 빠르게 구축하기 위해 Node 서버를 선택하였습니다. JWT 토큰은 API와 Node.js 서버 간의 인증 및 권한 부여 과정에서 중요한 역할을 하며, 사용자 정보를 안전하게 전달하고 서버의 부하를 줄이는 데 기여합니다.JWT (JSON Web Token) 의 역할은 무엇인가요? 헤더는 토큰의 유형과 서명 알고리즘 정보를 포함합니다.페이로드는 사용자 정보 및 기타 클레임을 포함합니다.헤더와 페이로드를 조합한 후, 비밀 키를 사용하여 서명을 생성합니다. 이 서명은 JWT의 무결성을 검증하는 ..

API 2024.10.30

스프링부트에서 페이팔 결제 API를 사용해보자 [PayPal/후기]

스프링부트에서 10달러를 결제하는 페이팔 결제 버튼을 만들어 보겠습니다. 준비물페이팔 회원가입, 계좌가 인증된 상태여야 합니다 (2~3일 소요)페이팔 API (샌드박스 ON)스프링부트 서버 로직웹 프론트엔드 리소스 (HTML/CSS/JS)  Sandbox모드는 API 테스트와 개발을 할 수 있도록 제공되는 테스트 환경입니다.샌드박스 모드에서 실제 결제는 이루어지 않으며 가상의 계좌를 설정할 수 있다고 합니다.[ 결과물 스크린샷 ]    :: 로직 설명 및 후기 ::결제를 시작하려면 아래 버튼을 클릭하세요. Pay with PayPal 이것은 페이팔 결제 api를 호출하는 index.html의 버튼입니다.누르면 "/api/paypal/pay" 주소를 POST 메서드로 호출합니다...

API 2024.10.28

Node.js로 경량 API서버 구현해보기 [Express]

Node.js와 npm이 컴퓨터에 올바르게 설치되어 있어야 합니다. 프로젝트를 설치할 폴더로 이동 후, 다음 코드를 적용합니다./* 터미널에서 입력*/// 프로젝트 초기화mkdir rest-api-servercd rest-api-servernpm init -y// Express 설치npm install express /* server.js를 루트 경로에 생성하고, 아래 코드 작성*/const express = require('express');const app = express();const port = 3000;// JSON 요청을 파싱하기 위한 미들웨어app.use(express.json());// 간단한 라우트 예제app.get('/', (req, res) => { res.send('Hello,..

JavaScript 2024.10.28

온디맨드 CSS 애니메이션으로 웹페이지 꾸미기 [CSS/JS]

https://animista.net/play/text/tracking-in/tracking-in-expand Animista - On-Demand CSS Animations LibraryAnimista is a CSS animation library and a place where you can play with a collection of ready-made CSS animations and download only those you will use.animista.net ↑ ↑ ↑Animista 에서는 미리 정의된 CSS 애니메이션을 쉽고 빠르게 사용할 수 있도록 도와줍니다.FreeBSD 라이선스를 가지고 있으므로 자유롭게 사용할 수 있지만, 원 저작자의 저작권을 꼭 명시하여야 합니다.  CSS/J..

GitHub 2024.10.28