전체 글 32

VDI 시험 감독 대시보드 프론트/백엔드/DB 인수인계 문서

1. 이원준 인수인계 by GPT와 함께 만듬현재까지 작업한 내용은 VDI 시험 감독 대시보드를 실제 DB와 연결하기 위한 프론트엔드/백엔드 API 개발 작업이다.하지만 실제 운영에서는 학생 로그인 상태, 좌석 상태, 시험 정보, 교수 정보가 모두 DB에 저장되어야 하기 때문에 백엔드 API와 DB를 연결하는 구조로 전환했다.이번 인수인계의 핵심은 다음이다.1. 기존 프론트 화면이 어떤 데이터를 필요로 하는지2. 그 데이터를 백엔드 API가 어떤 형식으로 내려주는지3. 백엔드 API가 DB의 어떤 테이블을 조회/수정하는지4. 학생이 VDI에 접속해서 로그인했을 때 좌석 상태가 어떻게 바뀌는지5. 대시보드가 어떻게 미접속/접속중 상태를 표시하는지6. 앞으로 DB관리자가 어떤 부분을 관리해야 하는지 2. 전..

카테고리 없음 2026.05.25

FastAPI 백엔드 API 개발 및 프론트 대시보드 연동 기록

초기에는 프론트엔드 대시보드가 더미데이터 또는 브라우저 localStorage 기반으로 동작하고 있었다. 즉, 사용자가 시험 정보를 입력하더라도 실제 DB에 저장되지 않았고, 학생이 VDI에 접속해도 대시보드의 좌석 상태가 실제로 바뀌지 않았다.그래서 이번 개발의 핵심 목표는 다음과 같았다.1. 사용자가 웹 페이지에서 시험 정보를 입력하면 DB에 저장한다.2. 학생이 VDI 안에서 로그인하면 학생 정보가 DB에 저장된다.3. 학생이 접속한 VDI를 식별해 해당 좌석 상태를 ACTIVE로 변경한다.4. 교수 대시보드는 DB 값을 조회해 좌석 상태를 시각화한다.5. 개발이 끝난 뒤에는 FastAPI 서버를 수동 실행하지 않고 systemd 서비스로 운영한다. 최종적으로 구현하고자 한 흐름은 다음과 같다.사용..

네크워크 공부 2026.05.19

Rocky Linux 기반 KVM/libvirt 가상화 환경 구축

Rocky Linux 서버 위에 KVM/libvirt 기반 가상화 환경을 만들고, 그 위에 Windows VM을 생성한 뒤, VNC로 설치 화면에 접속하도록 설정을하였다 dnf install -y epel-releaseEPEL 저장소 를 시스템에 추가해주는 패키지이다. 필요한 패키지가 기본 저장소에 없을 수도 있고, 패키지 설치의 범위를 넓히고, 후에 의존성 문제를 줄이기 위해서이다.dnf install -y qemu-kvm libvirt virt-install virt-manager virt-viewer bridge-utils libguestfs-tools 가상화에 필요한 핵심 패키지인 QEMU,KVM 등을 설치한다.QEMU,KVM에 대한 설명은 https://otopligrm.tistory.com/..

리눅스 공부 2026.04.15

KVM과 QEMU

먼저 이번 내용들을 적기전에 하나 이야기하자면,그전까지는 경어체를 사용해서 블로그를 적었는데 뭔가 가식적이고 나답지않다는 생각이 들었다. 그래서 앞으로는 그냥 편하게 적으려고한다.KVMkvm은 Kernel-based Virtual Machine의 줄임말이다. 리눅스 커널이 가상화를 직접 담당하는 기술이다. 또한 리눅스 커널이 하이퍼바이저 역할을 수행하도록 만들어주는 모듈이다. 즉 kvm은 이러한 기능들을 수행하기 위해서 리눅스 커널에 들어가는 모듈이다.그럼 여기서 커널이 무엇이냐.커널은 일단 운영체제의 핵심이다. 주로 메모리관리, 디바이스제어, cpu 관리즉 하드웨어를 다루는 가장 핵심이다. 컴퓨터 자원을 관리한다고 생각하면 된다.또한 하드웨어와 응용프로그램 사이에서 인터페이스를 제공해준다. 방금 이..

리눅스 공부 2026.04.11

리눅스 프로그램 설치 방법과 빌드 개념 정리

리눅스에서 프로그램을 설치하는 방법 총 3가지가 있습니다 1. 패키지로 설치 이미 누군가가 빌드해둔 것을 가져와서 설치하는 방식입니다. 예를 들면 Rocky / RHEL 계열: dnf, yum Ubuntu / Debian 계열: deb, apt 그럼여기서 패키지란 무엇이냐. 이 프로그램을 설치하려면 필요한 부가적인 파일들을 전부 묶어놓은 것입니다. 패키지 안에는 보통 실행 파일(binary), 설정 파일(config), 라이브러리,의존성(dependency) 정보 등이 있습니다. 그러면 이제 의존성(dependency)이 무엇이냐. 의미 그대로 의존을 한다는 것입니다. A라는 프로그램이 동작하기 위해서는 다른 프로그램이나, 모듈이 필요하다. 이런뜻입니다. 예를 들어 python이 동작하기 위해서는 re..

리눅스 공부 2026.04.09

TLS에 대하여

여기에서는 TLS에 대하여 다룰려고 합니다.그전에 전 블로그에서 TLS를 끊는다는 표현을 사용했는데 TLS를 끊는다는 표현에 대해서 먼저 설명을하겠습니다.이후 TLS에 대하여 다루도록 하겠습니다TLS를 끊는다네트워크 용어로 SSL/TLS 복호화 또는 SSL Inspection을 의미합니다.일반적인 HTTPS 통신은 클라이언트(내 컴퓨터)와 서버(웹사이트)가서로 암호 키를 주고받아 데이터를 암호화하기 때문에,그 중간에 있는 장비(프록시 서버)는 데이터가 어떤 내용인지 전혀 알 수 없습니다.단순히 암호화된 택배 상자를 전달만 할 뿐입니다.하지만 SSL Bump 기능을 사용하면 프록시 서버가 이 흐름의 중간에 개입하여아래과 같은 과정을 거칩니다. 1. 연결의 분리 (Termination)프록시 서버가 클라이언..

네크워크 공부 2026.04.07

WSL Ubuntu와 Windows 11 환경에서 Squid SSL Inspection과 mitmproxy를 구축한 과정

프록시 서버 + 트래픽 수집 구간을 만들기 위한 작업을 하였습니다.실습 내용을 정리하고 다시 공부를하면서도 느끼는것은프록시 서버를 띄우는것도 중요하지만 HTTPS로 암호화된 웹 요청이 실제로 어떤 구조로 오는지 확인을 하고, 그리고 프록시가 중간에서 역할을 하는지에 대해서 이해는것이 가장 중요하다고 생각합니다.배경가장 중요한건 SSL Inspection이라고 생각합니다.SSL Inspection에 대해서는 제가 따로 정리해 놓은 글이 있습니다HTTPS는 암호화되어 있기 때문에 Squid의 SSL Bump 기능을 사용해프록시가 HTTPS 통신을 중간에서 해독할 수 있도록 구성해야 했습니다.이 작업이 가능하려면 프록시가 각 사이트에 대한 인증서를 대신 만들어 줄 수 있어야 하고,클라이언트는 그 인증서를 신뢰..

네크워크 공부 2026.04.07

systemctl과 service의 차이, 그리고 systemd까지 한 번에 이해하기

systemctl과 service는 둘 다 리눅스에서 시스템 서비스를 관리하는 명령어이다. 먼저 service와 systemctl을 이해하기 위해서는 먼저 systemd에 대한 이해가 필요하다. 먼저 init process는 예전에 많이 사용했던 방식이다.리눅스가 부팅시에 최초로 실행이되는 프로세스이다. 이 프로세스는 부팅시에 OS운영에 필요한 service을 실행을 시킨다.1. systemd리눅스가 부팅되면 제일 먼저 여러 프로그램과 서비스들이 올라온다. 예를 들면 네트워크, SSH 서버, 데이터베이스 등 OS운영을 하기 위해 이러한 서비스들이 자동으로 시작이 되면 시스템이 정상적으로 동작한다. 예전에는 주로 init,SysVinit, service 같은 방식으로 관리를 하였지만 점점 더 시스..

리눅스 공부 2026.04.02