본문 바로가기

🟡 Ops15

비공개 Git 저장소 파일을 로컬 환경에 내려받기(clone) Git에서 저장소를 내려받을 때, 저장소가 private으로 설정되어 있으면 저장소 clone에 보안용 토큰이 필요합니다. 이번 포스트에서는 private 저장소를 로컬로 내려받는 방법을 알아보겠습니다. 먼저, 인증을 위한 Git 토큰을 발급받아야 합니다. 로그인 후 프로필 > Settings > Developer settings > Personal access tokens > Tokens (classic) 메뉴로 진입합니다.    Generate new token을 클릭하면, 토큰 설정 메뉴가 나타납니다. 추가 인증 절차가 요구될 수 있습니다.    토큰 이름, 유효 기간, 권한 설정 등을 설정합니다. 저는 개인 프로젝트만을 위한 것이므로 대부분의 권한을 허용했습니다. 팀 프로젝트 등 보안이나 권한 제.. 2024. 9. 23.
SQLAlchemy에서 automap_base 기능을 이용하여 데이터베이스 테이블을 간편히 불러오기 sqlalchemy를 이용하다보면, 데이터베이스의 테이블 구조를 python의 class 객체 형태로 매핑해준 후, 데이터에 접근하여 각종 작업을 수행해야 하는 경우가 많습니다. 예를 들면, 'User'라는 이름의 테이블을 불러오는 경우 다음과 같이 정의하곤 합니다.  class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = Column(String) fullname = Column(String) password = Column(String)  하지만, 여러 테이블을 다루다보면 이러한 작업이 다소 복잡하게 느껴집니다. sqlalchemy에서는 이러한 작업 없이도 테이블을 .. 2024. 9. 20.
Amazon EC2에서 PM2와 Nginx로 JS 풀스택(백엔드/프론트엔드) 앱 배포하기 - 02 이전 포스트에서 EC2 인스턴스를 생성하고, 프로젝트 파일을 가져온 뒤 필요 모듈을 설치하고 환경 변수 설정까지 마쳤습니다.이제, pm2를 이용하여 백엔드를 먼저 실행해봅시다. pm2는 process manager 2로 node.js 앱의 프로세스를 관리하고 성능을 최적화하는 데 널리 사용되는 모듈입니다. 자동 재시작, 로드 밸런싱, 로그 관리 등 다양한 기능을 제공하여 백엔드 배포에 적합합니다.  pm2 공식 웹사이트 4. 백엔드 실행  먼저 pm2를 설치합니다. sudo npm install -g pm2  그 다음, 백엔드 파일 server.js가 포함된 api 경로로 진입하여 server.js를 pm2로 실행합니다. # cd project-folder/apipm2 start server.js  추가.. 2024. 9. 20.
Amazon EC2에서 PM2와 Nginx로 JS 풀스택(백엔드&프론트엔드) 앱 배포하기 - 01 앱을 배포하는 방법은 다양하지만, 백엔드를 함께 운영하는 앱의 경우 배포 과정에서 생각할 것이 많기 때문에 앱의 특성을 고려하여 배포 방법이나 플랫폼을 선택해야 합니다.본 포스트에서 예제로 사용할 앱의 특징은 다음과 같습니다. 백엔드와 프론트엔드 앱은 모두 JS 기반이다.앱의 용량은 크지 않다.데모 웹사이트 제작 목적이기 때문에, 높은 트래픽을 고려하지 않아도 된다.약간의 과금은 허용할 수 있다. 이와 유사한 상황이라면, Amazon EC2를 이용한 배포가 좋은 선택이 될 수 있습니다. 처음에는 데모 웹사이트 제작이 목적이기 때문에 무료로 이용할 수 있는 Vercel을 사용하려 했습니다. 이전에 개인 웹사이트 배포 시 편리하게 이용했던 기억이 있었기 때문입니다.  하지만, Vercel은 백엔드를 포함한 .. 2024. 9. 19.
FastAPI로 복수 파일 업로드 API 구현하기 FastAPI에서는 File, UploadFile 객체를 이용해 간편히 프론트엔드에서 업로드한 파일을 처리할 수 있습니다.다음 예제 코드는 사용자가 업로드한 파일을 특정 경로에 저장합니다. 전송받는 파일 타입을 List 형식으로 설정하여, 여러 파일을 업로드할 수 있도록 합니다.   from fastapi import FastAPI, File, UploadFile, HTTPExceptionfrom typing import Listfrom fastapi.responses import JSONResponseimport osapp = FastAPI()UPLOAD_DIR = "uploads"os.makedirs(UPLOAD_DIR, exist_ok=True)@app.post("/api/upload/")async.. 2024. 9. 6.
AWS 클라우드 자격증(SAA-C03) 시험 특징 및 시험 후기 들어가며 한동안 AWS 자격증 클라우드 관련 포스트를 올리다가 말았는데, 기출문제를 풀기 바쁘다보니 공부와 블로그 포스트를 병행하기는 어려웠습니다. 어쨌든 최근에 시험을 응시하여, 간단히 시험 특징과 후기 정도를 공유하고 추후 공부 방법 및 요약 노트도 공유하고자 합니다. AWS 자격증 특징 AWS 클라우드와 자격증에 대한 소개는 검색하면 잘 나오니 생략하고, 주요 특징부터 소개하면 다음과 같습니다. 1. AWS 자격증 종류 공식 사이트의 자격증 경로 선택를 참고합시다. 중간에 없어지거나 신설되는 종목도 있으니 신청에 주의하기 바랍니다. 예를 들어, Data Analytics 종목은 이제 신청이 불가합니다. Data Engineer 종목은 새로 신설되는 것 같습니다. Solutions Architect,.. 2024. 4. 23.
Postgres가 데이터베이스 시장을 지배하고 있다: Postgres is eating the database world TL;DR 본 포스트에서는, Postgres가 강력한 확장 기능과 오픈 소스의 강점을 살려 데이터베이스 시장을 지배하고 있다는 내용의 'Pigsty' 서비스의 개발자 Vonng이 작성한 아티클을 번역하였다. 원문에서는 여기서 나아가 Postgres가 해결해야 할 과제를 함께 제시하고 그 대안으로 Pigsty의 필요성을 강조하고 있다. 원문 링크: https://medium.com/@fengruohang/postgres-is-eating-the-database-world-157c204dcfc4 Postgres is eating the database world PostgreSQL isn’t just a simple relational database; it’s a data management framewo.. 2024. 3. 19.
AWS Solutions Architect Associate(SAA-C03) 기출문제 정리 - 04 인덱스 요구사항 솔루션 2-01 AWS로 마이그레이션해야하는 Windows 앱 여러 가용영역에 배포된 EC2 Windows에 함께 연결된 공유 Windows 파일 시스템이 필요 Windows 파일 서버용 FSx를 구성하고, 각 Windows EC2에 FSx 파일 시스템 탑재 EFS는 NFS 프로토콜로 리눅스 OS 인스턴스 용도이며, EBS는 동일 가용 영역의 EC2만 연결 가능 2-02 AWS를 사용하여 이벤트 데이터를 수신하는 대로 처리하며, 특정 순서로 작성 운영 오버헤드를 최소화하는 솔루션 필요 Simple Queue Service(SQS) FIFO 대기열 생성 대기열의 메시지를 처리하도록 Lambda 함수 설정 Simple Notification Service(SNS)와 혼동하지 않도록 주의 2-.. 2024. 1. 3.