비개발자를 위한 Gemini CLI Linear MCP 연동 자동화
·
Server/ETC.
스크립트 Gemini CLI + Linear MCP 자동 설정 스크립트 (비개발자용)Gemini CLI + Linear MCP 자동 설정 스크립트 (비개발자용). GitHub Gist: instantly share code, notes, and snippets.gist.github.com 현재 상황저희는 팀에서 Linear를 사용하고 있습니다. 디자이너분은 이슈 확인을 위해 매번 브라우저를 열고, Linear에 접속해서, 이슈를 찾고, 상태를 바꾸는 과정을 반복하고 계셨습니다. 아무래도 이 과정이 불편하고 귀찮음이 있다보니, Linear 최신화가 매 번 이뤄지진 않고 있었습니다.Gemini CLI에 Linear MCP를 연동하면 터미널에서 자연어로 이슈를 다룰 수 있습니다. "내 이슈 보여줘", "이 이..
운영중인 AWS ECR를 Terraform으로 가져오기
·
Server/Infra
현재 상황 상황이미 EC2, RDS, VPC 등 대부분의 AWS 리소스를 사용하고 있었고, 현재 Terraform으로 하나씩 전환을 진행했습니다. 그중 한 번은 기록을 남기는 게 좋다는 생각이 들었고, 마지막으로 남아있는 ECR 저장소를 Infrastructure as Code로 전환하며 글을 남기기로 했습니다.Terraformer를 사용하지 않은 이유고민했던 포인트창업 단계의 스타트업이라 AWS Resource 개수가 많지 않았고, 모두 파악이 가능했습니다.예를 들어 ECR 저장소는 2개밖에 되지 않았습니다.AWS CLI 학습 기회라고 생각했습니다.1. Terraform 준비도구 설치 확인# AWS CLI 버전 확인~ aws --versionaws-cli/2.25.13 Python/3.12.9 Darw..
EC2환경에서의 무중단 배포, ubuntu nginx setup 기록
·
Server/Infra
EC2 환경에서 Nginx 무중단 배포 설정기존에 배포되어 있는 서비스들은 모두 EC2에 직접 jar 파일을 배포하는 방식으로, 중단 배포를 진행하고 있었습니다.이러한 문제를 해결하기 위해서 신규 서버부터는 Docker, Nginx를 활용하여 무중단 배포 환경을 구축하려고 합니다.ECS를 활용하면 더 편리하고, 가용성 있는 환경을 구축할 수 있겠지만, 스타트업의 특성상 MVP 서비스를 위해 ECS의 비용을 지출하는 것이 과한 소비라고 판단했습니다.추후에 다시 Nginx를 구축해야 하는 일이 발생할 수 있기 때문에, 이에 대한 글을 작성해놓으려고 합니다.ubuntu 환경Nginx 설치 및 서비스 활성화먼저 패키지 저장소 업데이트를 진행합니다.sudo apt-get update -qq이후, Nginx를 설치..
Spring 트랜잭션 이벤트 처리와 트랜잭션 정합성, @TransactionalEventListener
·
Server/Spring&Spring Boot
들어가며이벤트 발행 시, 트랜잭션을 어떻게 처리할 것인가에 대해 고민하던 중 Spring에서 트랜잭션 처리 후에 이벤트를 작동시키는 마법 같은 클래스가 있다는 것을 알게 되었습니다.이에 해당 어노테이션이 무엇인지, 어떤 역할을 하는지 파악하려합니다.먼저, 이벤트가 무엇인지 정의 및 설명하며 시작하겠습니다.Event란?시스템에서 발생한 의미 있는 사건 또는 상태 변화를 뜻합니다.‘사용자 가입 완료’, ‘주문 생성’, ‘상품 재고 부족’등이 이벤트라고 불릴 수 있습니다. 즉, 이벤트는 특정 비즈니스 프로세스가 완료되거나 중요한 상태 변경이 일어났음을 나타냅니다. (예: '회원가입이라는 비즈니스 프로세스가 성공적으로 완료되었다'). 이벤트는 다음과 같은 정보들을 포함합니다.발생한 사실: 어떤 일이 발생했는가?..
N100 미니PC를 이용한 나만의 서버 구축기 - 3 / K3s 설치
·
Server/Infra
이번 단계에서는 K3s를 설치하고, 설정하는 시간을 가져보려고 합니다.K3s 클러스터 설치k3s-node1 (마스터 노드)에 K3s 설치ip a // 해당 명령어로 interface 확인...inet 192.168.0.200/24 brd 192.168.0.255 scope global enp6s18 // 끝부분 enp6s18 확인curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="server --write-kubeconfig-mode 644 --node-ip 192.168.0.200 --flannel-iface enp6s18" sh -위 명령어를 사용해서 K3s 서버를 설치합니다.sudo systemctl status k3s.service 위 명령어를 통해, k3s가 ..
N100 미니PC를 이용한 나만의 서버 구축기 - 2 / VPN 설정
·
Server/Infra
지난 글에 이어, 예고한 대로 VPN을 이용한 서버 접근까지 구성을 해보려고 합니다.먼저 우분투에 설정이 온전히 끝이 난 것이 아니라서, 이어서 진행해 보도록 할게요Ubuntu 추가 설정Qemu Guest Agent 설치 및 활성화sudo apt install qemu-guest-agent -ysudo systemctl enable --now qemu-guest-agent방화벽 임시 비활성화 (추후 ufw 상세 설정)sudo ufw disableIP 포워딩 활성화 및 브릿지 네트워크 설정 (컨테이너 네트워킹에 필요)echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.confecho "net.bridge.bridge-nf-call-iptables=1" | su..
N100 미니PC를 이용한 나만의 서버 구축기 - 1 / Proxmox 설정
·
Server/Infra
AWS 프리티어만 사용하던 도중, 개인 서버를 구축해야겠다는 생각이 들었습니다.첫번째는 네트워크에 대한 공부를 진행해보고 싶었고, 두번째로는 비용의 압박에서 벗어나 다양한 서비스를 이용해보고 싶었습니다. N100, 16GB RAM, 512 GB 저장소로 이루어진 미니 PC를 알리익스프레스에서 구매하여 서버를 구축해보려고 합니다. 먼저 하나의 PC지만, 분산 환경과 같은 느낌을 구성하기 위해 Proxmox 환경을 이용해보려고 합니다.2개의 VM을 구축하고, k3s에 각각 webserver, redis, kafka를 올려보는 시간을 가져보려고 합니다.(시도하면서 실패하면 구성을 변경할 수도 있어요) PROXMOX ISO를 USB로 Booting USB를 만든 후 설치를 완료하였습니다.USB를 만드는 과정에서..
SQS 메시지를 한 번만 처리하기 위한 고민 (FIFO, DB 멱등성, 그리고 현실적 고려사항)
·
Server/Infra
서론SQS의 메세지 중복되지 않아야한다면, 어떤 방법을 사용할 수 있을까요?멱등성을 지킨 코드 하나만으로 과연 대응할 수 있을까요? 면접에서 해당 질문을 듣고난 후, 답변을 하기 위해 정말 순간적으로 뇌의 저장공간들을 빠르게 훑었던 것 같습니다.당시 SQS를 생성할 때 'FIFO'라는 방식이 있다는 것이 스치듯 생각이 나서, FIFO로 메세지를 설정해놓을 것 같다고 재빠르게 대답했지만, 왜 이 방식이 중복을 방해하는지에 대해 알지 못했습니다. 더불어 해당 방법 외에도 어떤 방법들이 중복을 막을 수 있는지 궁금해졌습니다.본론FIFOAWS SQS에서 제공하는 FIFO 설정은 중복 제거 ID를 사용하여 해당 대기열의 메세지를 고유하게 식별하고 중복을 방지하는 것을 도와줍니다. 생산자가 메시지를 전송할 때 제공..
코드플리
'Server' 카테고리의 글 목록