전체 글 93

집에서 서비스를 오픈 해보자 (4) | CI/CD 연동하기

집에서 서비스를 오픈 해보자 (1) | 개요 집에서 서비스를 오픈 해보자 (2) | 서버 세팅하기 집에서 서비스를 오픈 해보자 (3) | dns 연결하기 집에서 서비스를 오픈 해보자 (4) | CI/CD 연동하기 이전 포스팅에서는 서비스를 오픈하여 User가 서비스에 접근하는 부분까지 구현을 완료했습니다. 이번 포스팅에서는 개발자가 Github에 코드를 push한 뒤 Github Actions을 활용하여 CI/CD를 진행하도록 하겠습니다. 이 사진에서 developer가 GitHub에 코드를 push 했을 때 일어나는 일들을 구현할겁니다. 코드를 push 하면 Raspberry Pi 안에 설치되어있는 Github Actions이 Container image를 기동합니다. 0. 사전 작업이 글에서는 Ras..

self-hosted 2024.07.18

집에서 서비스를 오픈 해보자 (3) | dns 연결하기

집에서 서비스를 오픈 해보자 (1) | 개요 집에서 서비스를 오픈 해보자 (2) | 서버 세팅하기 집에서 서비스를 오픈 해보자 (3) | dns 연결하기 이전 포스팅에서는 Docker와 NPM(Nginx Proxy Manger)를 설치하여 실행 테스트를 진행해봤습니다. 이번 포스팅에서는 다음에는 let's encrypt, free dns를 사용하여 서비스 -> nginx로 reverse proxy를 거는 npm 세팅을 하겠습니다. 0. 사전 작업서버에 service container가 띄워져있어야 합니다. 포스팅 주제와는 조금 거리가 있으므로 넘어갔습니다. 필요한 경우 https://github.com/GHGHGHKO/klassic-quote-api/blob/master/docker-compose.yml..

self-hosted 2024.07.09

집에서 서비스를 오픈 해보자 (2) | 서버 세팅하기

집에서 서비스를 오픈 해보자 (1) | 개요집에서 서비스를 오픈 해보자 (2) | 서버 세팅하기집에서 서비스를 오픈 해보자 (3) | dns 연결하기 이전 포스팅에서는간단한 개요에 대해 적었습니다. 이번 포스팅에서는Docker와 NPM(Nginx Proxy Manger)를 설치하여아래 다이어그램 중 Raspberry Pi(우측 파랑색부분) 부분을 세팅할 예정입니다. Raspberry Pi가 아니어도 되고linux 기반의 서버면 충분합니다.  1. Docker 설치https://docs.docker.com/engine/install/ubuntu/요 사이트에 접속해서 가이드 대로 설치를 해도 됩니다. 여기 작성한 글은 위 링크를 간단하게 정리한 내용입니다. 1-1. 충돌이 날 수 있는 패키지 제거 (사전 작..

self-hosted 2024.07.07

집에서 서비스를 오픈 해보자 (1) | 개요

집에서 서비스를 오픈 해보자 (1) | 개요 집에서 서비스를 오픈 해보자 (2) | 서버 세팅하기집에서 서비스를 오픈 해보자 (3) | dns 연결하기  Web : https://klassic-quote.vercel.app/API : https://klassic-quote-api.mooo.com/v1/random-quote취미로 만들었던 서비스에서활용한 방법을 작성하였습니다.  집에서 서비스를 오픈하는 이유클라우드 비용을 사용하고 싶지 않았습니다. 사용자가 거의 없어서..그리고 집에 남는 컴퓨터가 있었습니다. 😁  집에서 서비스를 오픈하기 위한 준비물1. 라우터(ipTIME 같은 공유기)2. Linux가 설치 컴퓨터(이 글에서는 Raspberry Pi를 활용하였습니다.)3. Container image..

self-hosted 2024.06.06

GraalVM 으로 SpringBoot 시작 시간 줄이기 (맛보기)

TL;DRGraalVM(지랄VM)은 Java 어플리케이션을 미리 컴파일하여 바로 시작될 수 있게 합니다. 시작 시 워밍업이 필요하지 않으며, 더 적은 리소스를 사용합니다. 대신 빌드가 느립니다. 자세한 정보는 https://www.graalvm.org/latest/docs/getting-started/ 시작시간 비교하기Spring Batch를 사용하였습니다. (아주 간단한 Job을 실행하였습니다.) 2.474s -> 0.114s 예시 코드 https://github.com/GHGHGHKO/migration-v3-with-graal migration-v3-with-graal/src/main at main · GHGHGHKO/migration-v3-with-graalMigrating from Spring B..

SpringBoot 2024.03.27

palworld 서버 만드는 법, dedicated server, 광고 없음, difficulty

https://tech.palworldgame.com/dedicated-server-guide Palworld tech guide tech.palworldgame.com palworld에서 제공해주는 글을 토대로 진행하였습니다. Windows OS 에서 진행하였습니다. 꼭 위 사양이 되지 않아도 되긴 하지만 예전에 묵혀뒀던 노트북에서 서버를 파니 두 세명만 들어와도 서버가 원활하지 않더라구요. 서버를 오픈하기 위한 Dedicated Server 만들기 steam에서 사진과 같은 설정을 한 뒤에 palworld를 검색합니다. Palworld Deicated server를 설치하고 실행하면 됩니다. 실행하면 이 중 원하는 Server를 설정하면 됩니다. commumity server로 설정 한 뒤에 Play..

취미 2024.01.25

Locust 부하 테스트, REST API에 부하 주기 (2)

이전 글에서는 로컬 환경에 Locust를 설치하고 버전 확인까지 진행했습니다. 이번 글에서는 Locust를 실행하고 REST API에 부하를 준 뒤 결과를 확인해볼 예정입니다. 전체 코드 https://github.com/GHGHGHKO/sample-locust 테스트 코드 작성 우선 부하를 주기 위한 첫 테스트 코드를 작성합니다. HTML 삽입 미리보기할 수 없는 소스 코드를 하나씩 분해해보겠습니다. import time from locust import HttpUser, task, between locust package는 python 모듈로 다른 파일이나 패키지에서 사용 할 수 있습니다. class QuickstartUser(HttpUser): 이 클래스는 HttpUser를 상속받습니다. HttpU..

테스트 2023.11.18

Locust 부하 테스트, 개요 및 설치 (1)

이 글에서는 Locust로 REST API를 호출하여 아주 간단한 부하 테스트만 진행해볼 예정입니다. OS : Windows 11 Python : 3.11.4 IDE : IntelliJ 전체 코드 https://github.com/GHGHGHKO/sample-locust Locust 개요 Python으로 테스트 시나리오 코드를 작성할 수 있습니다. -> 이 글에서 사용 할 방법입니다! 분산 및 확장이 가능합니다. -> 이벤트 기반으로 수십만 명의 동시 사용자 지원이 됩니다. https://github.com/gevent/gevent 사용 웹 기반 UI -> 테스트 상황을 실시간으로 보여줍니다. -> 테스트가 실행되는 동안 부하를 변경 할 수 있습니다. -> UI 없이 cli 결과로도 사용할 수 있습니다!..

테스트 2023.11.16

Apache JMeter 사용해보기, REST API 부하주기 (2)

1) JMeter 설치하기: https://pepega.tistory.com/86 2) REST API 부하주기: https://pepega.tistory.com/87 이전 글에서는 JMeter를 설치하고 실행까지 해봤습니다. 이번 글에서는 JMeter를 사용해서 api endpoint를 호출하고 부하를 주겠습니다! API 정보 사용할 REST API 는 아래와 같습니다. API 정보 https://goose-auth.synology.me/swagger-ui/index.html#/Health-check/healthCheck 관련 소스코드 https://github.com/GHGHGHKO/goose-auth-api-server 부하주기 전 JMeter 세팅하기 Thread Group 세팅하기 Test Pl..

테스트 2023.11.11

Apache JMeter 사용해보기, 설치 (1)

1) JMeter 설치하기: https://pepega.tistory.com/86 2) REST API 부하주기: https://pepega.tistory.com/87 가볍게 사용해보는 정도로 글을 작성했습니다 :) 틀린 내용이 있으면 댓글 달아주세요! 자세한 내용은 JMeter Best Practices를 확인하면 좋습니다! https://jmeter.apache.org/usermanual/best-practices.html 환경 OS : Windows 11 target : 이 글에서는 Rest API를 테스트 합니다. 혹은 아무 주소를 사용해도 됩니다. :) 설치하기 jmeter는 java가 설치되어 있어야 합니다. java 설치 https://docs.aws.amazon.com/corretto/la..

테스트 2023.11.08