전체 글 15

설명할 수 있을 때까지 질문하기: InfraStudy Introduction 준비 후기

안녕하세요, SCG 31기 박준성입니다.이번 인프라 스터디에서 첫 주제인 Introduction + Docker를 맡았습니다. Nix로 개발 환경을 맞추고, 같은 정의를 바탕으로 이미지를 만들어 Docker로 실행하는 흐름을 다루는 주제였습니다.다만 이 글에서는 Nix나 Docker의 사용법을 다시 설명하기보다, 제가 스터디를 준비하면서 어떤 부분을 고민했는지 이야기해보려고 합니다. 개념과 실습 명령은 SCG 워크스페이스의 Introduction 자료에 정리해두었습니다.자료가 있어도 바로 이해되는 것은 아니었다이번 스터디를 준비하며 신경 쓴 부분은 듣는 사람이 처음 보는 개념을 한 번에 따라올 수 있을까였습니다.개발 셸, 이미지, 컨테이너, 런타임 같은 단어는 각각의 정의만 읽으면 어느 정도 알 것 같습..

Study 2026.10.01

첫 팀 프로젝트에서 프론트엔드 개발자로서 놓쳤던 것들

안녕하세요! SCG 31기 손희창입니다😊함께 진행했던 팀 프로젝트를 마치며 개발 블로그에 회고글을 작성해보려 합니다. 이 글을 통해 제가 했던 실수와 부족했던 점들을 솔직하게 기록하고, 앞으로 같은 실수를 반복하지 않도록 스스로를 돌아보고자 합니다.또한 팀 프로젝트 경험을 통해 깨달은 점도 글로 기록해보려고 합니다.그럼, 본격적으로 이번 프로젝트에 대한 회고를 아주 진지하게 시작해 보겠습니다.6월 말, 내 아이디어로 시작한 팀 프로젝트에서 프론트엔드를 맡았다. 약 두 달 동안 서비스를 만드는 일정이었다.잘 만들고 싶었다. 머릿속에 있던 서비스를 직접 디자인하고, 실제로 사용할 수 있는 화면으로 구현하고 싶었다. 피그마를 배우며 화면을 만들었고, AI의 도움을 받아 프론트엔드 코드로 옮겼다.화면이 갖춰질..

카테고리 없음 2026.09.28

11년된 레거시를 k8s gitOps 환경에 합류시키기까지의 대장정

안녕하세요, SCG 31기 이진우입니다.SCG는 성균관대학교 소프트웨어융합대학 소속 학생개발단체로, 2001년부터 25년째 교내 10여개의 서비스들을 개발 및 운영해오고 있는데요. 이번 포스팅에서는 정보통신대학 학부종합관리시스템을 기존 PM2기반 수동배포 방식에서 탈피해 쿠버네티스 클러스터에 배포하고, 개발자가 main 및 qa 브랜치에 변경이력을 push하기만 해도 argoCD가 이를 감지하여 자동으로 재배포해주는 gitOps 방식을 적용하기까지의 대장정을 기록해보려 합니다. 쿠버네티스 자체에 대한 이야기는 회장님께서 한 번 다뤄주신 적이 있습니다. SCG가 쿠버네티스를 어떻게 운영하고 있는지에 대한 정보는 해당 포스팅을 참고해주시면 감사하겠습니다. https://scg-skku.tistory.c..

Infra 2026.09.28

상주 출석 시스템 개발기

안녕하세요, SCG 31기 최연우입니다. 2026 신입 프로젝트로 진행한 상주 출석 시스템에서 제가 참여한 백엔드 개발 과정에 대해 이야기하고자 합니다. 처음으로 협업하며 개발해서 어려운 점이 꽤 있었던 것 같네요... 개발이 상당히 산발적으로 이루어졌기 때문에, 글의 흐름을 매끄럽게 하기 위해 시간순과 다르게 배치된 항목들이 종종 있습니다.기존 상주 시스템SCG는 기존에 노션 폼을 이용하여 상주 출석을 체크했습니다.그러나 이는 아무때나, 아무데서나 입력할 수 있었기 때문에 출석 여부를 양심에 맡겨야 했습니다.그래서 신입 프로젝트로 이를 보완하여 상주 출석 시스템을 개발하기로 했습니다.초기 설계처음에 ERD를 설계했을 때, 시간 정보를 담고 있는 timeblock과 회원 목록이 있고, 이 둘을 묶는 at..

Project 2026.09.27

DNS 관리 도구를 만들다가, 결국 DNS 서버를 만든 이야기 (2)

0. 들어가며안녕하세요~ 시스템컨설턴트그룹 25기 인프라 담당 권민성입니다.오늘은 전편에 이어서 RNDC 방식의 문제점과 이를 해결하기 위한 새로운 아키텍처, 그리고 이와 관련해서 DNS와 관련된 좀 더 기술적인 얘기를 해보려고 합니다. 1. RNDC 방식의 문제점 1편의 RNDC 방식을 요약하면 같은 서버에 있는 BIND9의 설정 파일을 수정하고 RNDC 프로토콜을 통해 적용을 하는 방식입니다. 하지만 이 방식은 저희의 초기 목표와 상충하는 여러 문제가 있었습니다Bindizr와 BIND9이 같은 서버에 있어야 했습니다.상태가 데이터베이스와 파일 시스템 양쪽에 분산됩니다.파일 기반 구조는 분산 환경에서 사용하기 어렵습니다.RNDC 프로토콜을 직접 구현해야 했습니다.복잡한 DNS 레코드 규칙과 zone 파..

Infra 2026.07.29

SCG 홈페이지 k8s에 날려보내기

안녕하세요, SCG 31기 이찬형입니다. 2026년에 새롭게 합류하여 처음으로 맡은 프로젝트(?)인 SCG 홈페이지 k8s 이관에 대한 이야기를 하고자 합니다. 그리 어려운 작업은 아니지만 처음이라 좀 많이 헤맨 것 같긴 하네요. k8s란 무엇인가?일반적으로 어떠한 프로그램을 개발하게 되면, 해당 프로그램은 컴퓨터 상에서 실행되기 위해 수많은 변수들을 필요로 합니다. 흔히 "환경 변수" 라고 부르는 것들이 그러한 것들이죠. 개발하는 사람의 pc의 환경 변수에서 돌아가는 프로그램은 해당 환경을 매개 삼아 작동합니다. 하지만 이러한 프로그램을 다른 사람의 pc에서 실행시키면 어떻게 될까요? 환경 변수는 말 그대로 해당 pc에서의 설정을 바탕으로 하기 때문에 완벽히 동일한 세팅을 직접 깔아 설정해 주지 않..

Infra 2026.07.24

SCG의 서비스는 어떻게 배포될까? 2노드 Kubernetes와 GitOps 운영기

안녕하세요! 시스템컨설턴트그룹 장재원입니다. SCG는 학내에서 사용하는 여러 서비스를 직접 개발하고 운영하고 있습니다. 그러나 서비스를 하나 완성했다고 해서 일이 끝나는 것은 아닙니다. 서버에 어떻게 올릴지, 장애가 나면 어떻게 복구할지, 데이터는 어디에 보관할지, 새 버전은 어떤 방식으로 배포할지까지 정해야 비로소 실제 사용자가 쓸 수 있는 서비스가 됩니다. 예전에는 이런 서비스들이 VM과 개별 서버에 나뉘어 올라가 있었습니다. 서비스마다 접속해서 프로세스를 띄우고, 설정 파일을 관리하고, 장애가 나면 담당자가 서버부터 찾아야 했죠. 이후 컨테이너 기반 운영을 확대하면서 서비스를 Kubernetes로 옮기기 시작했고, 2026년 7월에는 기존 VM에서 운영하던 서비스들의 이관도 대부분 마쳤습니다. ..

카테고리 없음 2026.07.22

사라진 12월의 fix: eeegrd 사이트 회귀 버그 추적기

어떤 회귀는 발견되는 데 1달이 걸렸고, 발견된 뒤에도 진짜 원인을 찾는 데 한 시간이 더 걸렸다. 그 회귀를 만든 사람은 나였다.들어가며안녕하세요, SCG 장재원입니다.오늘은 작업 중 코드가 이전 형상 (버전) 으로 돌아가게 된 계기와, 그에 대한 회고 및 반성을 주제로 글을 써볼까 합니다. 회고록 형식으로 쓴 글이어서 ‘~다’ 로 문장을 마무리한 점 양해 부탁드립니다! 그럼 시작! 이번 학기에 나는 종합설계프로젝트(전전 졸업평가 강좌)를 듣고 있었다. 어느 날 같이 팀 프로젝트를 하는 멤버들이 작년 작품을 참고하려고 전자전기공학부 졸업작품 전시회 페이지인 eeegrd.skku.edu에 접속했는데, 설문조사 페이지에서 이메일 인증이 안 되어 사이트에 들어가지 못한다고 알려왔다. 이상한 일이었다. 분..

Troubleshooting 2026.05.18

DNS 관리 도구를 만들다가, 결국 DNS 서버를 만든 이야기 (1)

0. 들어가며안녕하세요~ 시스템컨설턴트그룹 25기 인프라 담당 권민성입니다.오늘은 DNS 관리 도구를 만들다가, 결국 유사 DNS 서버를 만들게 된 이야기를 해보려고 합니다. DNS란?우선 DNS(Domain Name System)은 우리가 사용하는 도메인 이름을 실제 서버의 IP 주소로 변환해 주는 시스템입니다.예를 들어, 우리가 브라우저에 google.com을 입력하면, 컴퓨터는 해당 도메인의 IP 주소를 알아내기 위해 DNS 서버에 질의를 보내고, 그 결과로 얻은 IP로 실제 서버와 통신을 하게 됩니다.이때 도메인에 대한 실제 정보를 가지고 있고, 요청에 대해 응답을 해주는 서버를 DNS 서버라고 합니다. 대표적으로 많이 사용되는 DNS 서버로는 ISC에서 개발한 BIND9이 있습니다. 실제로 ns..

Infra 2026.05.15

Postfix에서 메일을 Slack으로 포워딩하는 방법

안녕하세요, 시스템컨설턴트그룹28기 김준호입니다.시스템컨설턴트그룹에서는 Postfix 기반의 메일 서버를 운영하며 부원들에게 각자의 이메일 계정을 발급하고 있습니다. 외부와의 소통이나 여러 요청 사항은 주로 회장메일을 통해 주고받습니다.기존에는 회장메일로 도착한 메일을 담당자가 직접 확인한 뒤 필요한 내용을 부원들에게 공유했지만, 직접 메일함에 접속해야 하는 번거로움과 부원들에 대한 접근성이 낮다는 문제가 있었습니다.이를 개선하기 위해 회장메일로 들어온 이메일을 Slack 채널로 자동 전달하는 작업을 진행했는데, 그 과정에서 있었던 일들을 공유하려 합니다.Postfix란?Postfix는 리눅스 환경에서 널리 사용되는 메일 전송 에이전트입니다. 메일을 수신하거나 다른 메일 서버로 전달하는 역할을 하며, 설..

Infra 2026.05.10