전체 글 89

[DB] TypeORM ?

TypeORM이란? [ ORM ] Object Relational Mapping의 줄임말 객체와 관계를 매핑 객체 지향 언어에서 모델을 정의할 때 사용하는 Class와 관계형 데이터베이스에서 사용하는 Table을 연결시켜 주는 것 SQL문을 직접 작성하지 않고도 객체 지향적으로 코드 작성할 수 있도록 도와줌 [ TypeORM ] Node.js에서 실행되고 TypeScript로 작성된 객체 관계형 매퍼라이브러리 MySQL, PostgreSQL, MariaDB 등 여러 데이터베이스 지원 특징 Model을 기반으로 DB 테이블 체계를 자동 생성 DB에서 개체를 쉽게 insert, update, delete 가능 테이블 간 매핑 (1 대 1, 1 대 다, 다 대 다) 생성 간단한 CLI 명령어 제공 ORM 프레..

카테고리 없음 2024.02.25

[Node] Node / TS 프로젝트 생성

기본 폴더 구조 client 폴더 : 프런트엔드 단 구현 server 폴더 : 백엔드 단 구현 [client] 기본 구조 생성 명령어 : npx create-next-app [server] ✏️ 기본 구조 생성 명령어 : npm init 명령어 실행 시 package.json 파일 자동 생성 ✏️ 모듈 설치 명령어 npm install morgan nodemon express --save npm install typescript ts-node @types/node @types/express @types/morgan --save-dev nodemon 서버 코드 변경 시 재시작 없이 반영 확인 가능 ts-node Node.js 에서 TypeScript Compiler 통하지 않고 직접 Ts 실행 morgan..

Node 2024.02.19

[TypeScript] TypeScript ?

TypeScript란? JS 기반의 정적 타입 문법을 추가한 언어 TS는 상위 확장자 (슈퍼셋) JS 엔진을 사용 자신이 원하는 변수의 타입을 직접 정의하고 프로그래밍하면 JS로 컴파일되며 실행 컴파일? 쉽게 말해 사람의 언어를 컴퓨터가 이해할 수 있는 언어로 바꿔주는 과정 TS는 JS와 달리 브라우저에서 실행하기 위해 이런 변환 과정이 필요 TypeScript 동작 과정 TS 언어로 코드를 작성 작성한 코드는 타입 스크립트 컴파일러인 tsc를 통해 파싱 과정을 거쳐 타입 스크립트 AST 코드로 변환 파싱 된 코드에서 타입을 체크하는 과정을 거침 TS AST 코드를 JS 코드로 변환 JS 코드를 JS AST 코드로 파싱 JS AST를 바이트 코드로 변환 런타임 실행 환경에서 바이트 코드 실행 이 떄, 1..

카테고리 없음 2024.02.14

[Powershell] amplify 명령어 ExecutionPolicy 오류

aws-amplify/cli를 전역으로 설치한 뒤 configure 하려고 하는데 ExecutionPolicy 보안 정책에 걸린다는 오류가 발생했다. 검색해 보니 PowerShell의 실행 정책을 변경하면 해결되는 오류라는 것을 알게 되었다. 우선 Get-ExecutionPolicy -List 명령어로 모든 실행 정책을 가져온다. 이때 MachinePolicy, UserPolicy, Process, CurrentUser, LocalMachine 이렇게 다섯 가지 정책 범위를 가져온다. 정책 범위를 간단하게 실펴보자면 아래와 같다. MachinePolicy 컴퓨터의 모든 사용자에 대해 그룹 정책에 의해 설정 UserPolicy 컴퓨터의 현재 사용자에 대한 그룹 정책에 의해 설정 Process 현재 Powe..

Server 2024.02.09

[AWS] SAM Deployment Guide

1. 설치 작업 Git AWS SAM CLI CloudFormation Linter (cfn-lint) > 필수는 아님 템플릿 커스터마이징 하고 싶으면 추천 2. private s3 버킷 생성 > 압축된 람다 함수와 압축된 템플릿을 넣기 위함 3. git clone 하기 git clone https://github.com/awslabs/aws-api-gateway-developer-portal.git cd aws-api-gateway-developer-portal 4. 사용하는 IDE에서 디렉토리 열고 template.yaml 파일 찾기 5. 터미널 열어서 SAM CLI 명령어 실행 맥 # macOS, Linux, and similar sam package --template-file ./cloudfor..

AWS 2024.02.02

[AWS] Lambda 모듈 사용법 (cannot find module error)

cannot find module error 람다에서 외부 모듈을 사용하기 위해 이런저런 방식을 찾아보던 중 직접 함수 자체에 node module 추가 모듈이 포함된 레이어 생성 이렇게 크게 두 가지 방법이 존재한다고 한다. 레이어를 만들어 필요한 함수에 추가해서 사용하는게 좋을 것 같다고 판단 이유 -> 여러 함수에서 동일한 기능을 사용하게 될 것 같음 -> 공통적으로 사용하는 코드 부분에 수정 시 함수마다 다 직접 넣어버리면 싹 다 바꿔야 함 -> 반면, 레이어로 관리하면 그 레이어 하나만 수정하면 됨 레이어 생성 과정 (한글로 번역되어 있어서 그거 기준으로 작성) 1. lambda > 계층 탭에서 계층 생성 버튼 클릭 호환 아키텍처와 런타임 설정은 선택사항이긴 하지만 사용하려는 함수와 호환되도록 ..

AWS 2024.01.29

[AWS] API Gateway란?

1. API Gateway란? 개발자가 API를 손쉽게 생성, 게시, 유지 관리, 모니터링, 보안 유지할 수 있도록 하는 완전관리형 서비스 API는 애플리케이션이 백엔드 서비스의 데이터, 비즈니스 로직, 기능에 액세스 할 수 있는 정문 역할 API Gateway 사용을 통해 실시간 양방향 통신 애플리케이션이 가능하도록 하는 RESTful API 및 WebSocket API 작성 가능 2. 제공 API 유형 HTTP API 간단한 API 구축 시 적합 HTTP를 통신 방식으로 사용하는 API Endpoint를 API Gateway로 활용하며, HTTP 요청을 통해 서버에 접근할 수 있도록 함 데이터만 주고 받으며, UI 화면에 대해서는 클라이언트가 별도 처리 필요 저렴하고 빠르다는 특징 REST API H..

AWS 2024.01.24

[AWS] Lambda 함수란?

1. Lambda란? AWS에서 제공하는 서버리스 컴퓨팅 플랫폼 서버리스? (Serverless Computing) 서버가 없다는 뜻? >> ❌ 개발자 입장에서 서버에 대해 신경 쓸 필요가 없다 >> ⭕ 즉, 개발을 할 떄 서버가 잘 돌아가고 있는지, 사양이 적당한지 등을 신경 쓸 필요 없이 코드와 비즈니스 로직 개발에만 집중할 수 있도록 해줌. 이렇게 AWS에서 서버리스 컴퓨팅을 지원해 주는 대신, 사용한 컴퓨팅 시간, 용량에 대해 비용을 지불하게 된다. 2. Lambda 장단점 1) 장점 비용 절감 Lambda로 함수를 만들면 함수 호출시에만 실행되어, 서버가 항상 켜져 있을 필요 X 람다 함수의 요청 수, 코드 실행 시간에 따라 요금이 부과 인프라 운영 관리에 대한 부감 절감 앞서 말했던 것과 같이..

AWS 2024.01.19

[VSCode] VSCode Extension 오프라인 설치

개인적으로 내가 가장 많이 사용하고, 익숙한 코드 편집기는 Visual Studio Code이다. VScode에서 확장 프로그램은 선택이 아닌 필수이다..!!! (라고 슬쩍 말해본다.) Git의 코드 commit, push 등의 로그등을 확인할 수 있는 프로그램, 자동으로 코드를 정렬해 주는 코드 포맷터(?), 태그 작성 시 닫히는 태그까지 자동으로 작성해 주는 것과 단축키로 기본 구조를 뿅! 하고 내어주는 그런 프로그램까지,, 한결 쉽고 편한 코딩을 할 수 있도록 슬쩍 일 손을 돕는... 그런 존재들이다. 사실 이에 익숙해져 있을 때는 엄청난 편리함이라고는 못 느꼈었는데, 갑자기 확장 프로그램 하나 없는 환경에서 코드를 작성하려니 조금 낯설게 느껴지긴 하더라..ㅎ 일반적으로는 Visual Studio ..

카테고리 없음 2024.01.11

[Docker] Docker 배포_Node.js 프로젝트 (코딩온)

Docker로 React 프로젝트와 Spring Boot 프로젝트를 배포하는 실습을 해보았다. 이번에는 Node.js 프로젝트를 배포하는 실습을 해볼 차례이다. 우선 Node.js 프로젝트를 생성할 Visual Studio Code와 Docker Desktop은 설치 및 실행이 완료된 상태여야 한다. 1. Node.js 프로젝트 생성 프로젝트 생성 터미널에서 Node.js 프로젝트를 생성한다. 아래 명령어를 따라 프로젝트를 생성하면 된다. 프로젝트 명은 현재 코드에서는 node-with-docker 로 되어 있으나, 바꿔도 상관없다. mkdir node-with-docker // "node-with-docker"라는 이름의 디렉토리 생성 cd node-with-docker // 새로 생성한 "node-w..

Docker 2024.01.04