본문 바로가기

전체 글

(233)
[Github Action] CI/CD 구현 " GitHub Actions를 사용하여 CI/CD 파이프라인을 구성하고Docker 이미지를 빌드한 뒤 Oracle Cloud 서버에 전송하여 자동 배포하자"이 글의 예제 프로젝트의 스펙백엔드 프레임워크: Python 3.x / FastAPI서버 : Oracle Cloud 무료 VM 인스턴스 (Always Free Tier)배포 방식 : Docker 컨테이너 기반 이미지 생성 및 실행, GitHub Actions를 활용한 CI/CD 자동화 파이프라인 구축Git 저장소 : Github에 올라가 있는 프로젝트여야 함1. deploy-version.json프로젝트 루트에 deploy-version.json 파일을 생성하고 아래처럼 작성 한다이제 이 파일의 version값이 변경되면 Github Actions가..
[MobaXterm] SSH 접속 + Docker 이미지 서버에 배포 "로컬의 웹 서버를 docker 이미지로 만든 후 mobaxterm을 사용하여 ssh에 접속 후 도커 이미지를 oracle cloud 서버로 전송해 실행할 것이다."1. MobaXterm 설치https://mobaxterm.mobatek.net/download-home-edition.html MobaXterm free Xserver and tabbed SSH client for WindowsThe ultimate toolbox for remote computing - includes X server, enhanced SSH client and much more!mobaxterm.mobatek.net위의 링크에서 다운로드 한다. 압축 해제 후 instaler를 실행한다. 기본으로 설정한 후 종료한다.2. ..
[Oracle Cloud] 오라클 무료 서버 생성 " 개수나 성능 제한은 있지만 oracle cloud를 통해 무료 서버를 만들 수 있다. "1. Oracle Cloud 콘솔 접속아래의 oracle cloud 접속 > start for free > 회원가입 > 로그인https://www.oracle.com/kr/cloud/free/ 클라우드 서비스 무료 이용Oracle Cloud Free Tier는 기업에게 무제한으로 사용할 수 있는 상시 무료 클라우드 서비스를 제공합니다.www.oracle.com 오라클 클라우드 콘솔에 접속2. Create compute instance 왼쪽 메뉴 > Compute > Instance Create instance 3. Instance 정보 입력1) Basic information이름 설정하고, Image, shape등..
[Google API] Gmail API 사용법 "이메일 전송 기능을 구현하기 위해 무료로 gmail api를 사용해보자. 간단한 구현이 필요하다면 Web3forms 도 추천한다" 사용량 제한https://developers.google.com/workspace/gmail/api/reference/quota#:~:text=Usage%20limit%20type%20Limit%20Exceeded,quota%20units%20per%20minute%20rateLimitExceeded 사용량 한도 | Gmail | Google for Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 사용량 한도 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Gmail API에는 ..
[Unity] Unity Runtime Video Capture (FFmpeg) "유니티 실행화면 내 영상을 녹화할 수 있는 기능을 FFmpeg를 활용하여 만들어보자."FFmpeg= 거의 모든 미디어 형식을 디코딩, 인코딩, 트랜스코딩, 스트리밍, 필터링, 재생할 수 있는 강력한 멀티미디어 프레임워크 Unity Recorder 를 사용하지 않은 이유= Unity Recorder은 editor에서는 잘 녹화되지만 런타임 내에서 녹화하려고 할 경우 엄청나게 끊겼다.무엇보다 유니티를 빌드 했을 때도 해당 기능이 실행 되어야 했기에 FFmpeg를 선택했다. 구현 방식= Unity 런타임에서 게임 화면을 매 프레임 캡처한 뒤 FFmpeg로 실시간 스트리밍하여 mp4 영상으로 인코딩,저장 자 이제 실제로 구현해보자1. FFmpeg 설치https://ffmpeg.org/download.html ..
[Unity] UniTask vs Coroutine Coroutine, UniTask 비교 CoroutineUniTask사용IEnumerator + yieldasync/awaitGC 부담GC 부담 so so= yield return을 쓸 때마다 매 IEnumerator 객체가 생성되기 때문에GC 부담 낮음 = struct로 구현되어 있어서 캐싱된 구조체 반환한다.에러 처리에러처리 제한적try catch로 에러 처리 우수사용법Unity 내장이라 사용 쉬움라이브러리 설치 필요성능so so=Unity의 내부 엔진이 매 프레임마다 CoroutineScheduler에 등록된 코루틴 모두 검사하기 때문에좋음=C# 컴파일러가 자동으로 상태 머신( 중간에 멈췄다가 다시 실행되는 구조)을 생성 Unity가 프레임마다 확인 안 해도 되니까 더 효율적기능 확장성제한적= 값..
[백준] 1389. 케빈 베이컨의 6단계 법칙 (C++) 문제https://www.acmicpc.net/problem/1389풀이[플로이드 와샬 알고리즘]https://yun000.tistory.com/155 플로이드 와샬 알고리즘(Floyd Warshall)플로이드 와샬 알고리즘모든 정점에서 모든 정점으로의 최단 경로다이나믹 프로그래밍 사용 시간복잡도 O(N^3)+) 다익스트라 알고리즘과 달리 음의 간선도 사용 가능 탐색 1) 시작연결되지 않yun000.tistory.com 예시)입력5 51 31 44 54 33 2 1. CHECK - Floyd Warshall Algorithm플로이드 와샬 알고리즘을 사용하여 왼쪽 그래프가 오른쪽 그래프로 변경된다.2. CHECK - min모든 경로에서 모든 경로까지의 최단 거리를 구했으니 이제 각각을 더해가며최소인 값을 ..
[백준] 30804. 과일 탕후루 (C++) 문제https://www.acmicpc.net/problem/30804풀이[ 투 포인터 (슬라이딩 윈도우) ] left = 조건(과일 종류2개 이하)이 만족될때 까지 범위를 좁힘right = 하나씩 확장되며 데이터들을 확인 예시)입력55 1 1 2 1 rightleft현재 윈도우과일 종류 수 00[5]1과일 2중 이하 → OK10[5, 1]2과일 2종 이하 → OK20[5, 1, 1]2과일 2종 이하 → OK30[5, 1, 1, 2]3과일 3종 초과!!! → left 한칸 오른쪽으로31[1, 1, 2]2과일 2종 이하 → OK41[1, 1, 2, 1]2과일 2종 이하 → OK 코드#include #include #include using namespace std;int main() { //..