분류 전체보기 209

[업무_자동화] Google 스프레드 시트 - Discord - Google 캘린더 연동

설 연휴를 맞아, 평소에 회사에서 이게 자동화가 되면 편할텐데 라고 생각했던 기능(?) 을 만들어보도록 하자!1. 문제 상황: "가로로 끝없이 늘어나는 일정 시트"우리 팀에서 외근 일정을 기록하기 위해 사용하는 구글 스프레드 시트는 날짜가 지나감에 따라 열(Column)이 오른쪽으로 계속 늘어나는 구조이다. 부장님이 직접 해당 인원의 일정을 칸에 추가해 주시는데, 이를 매번 확인해서 개인 구글 캘린더에 옮겨 적었었는데, 일정이 등록되면 알람이 오고, 캘린더에 자동으로 등록되면 정말 편하겠다는 생각이 들었다.문제점 1: 공유 시트를 매번 직접 열어서 확인해야 함. (공유 시트의 내용 중 함부로 건드리면 안되는 탭들도 있음)문제점 2: 캘린더에 수동으로 입력하다 보니 누락이나 오타 발생 가능성.문제점 3: ..

CS 공부/기타 2026.02.16

[ETC]시스템 리소스 수집 방식 비교

서버의 상태를 실시간으로 파악하는 모니터링 시스템에서 가장 중요한 단계는 정확한 데이터를 수집하는 것이다. Agent 방식의 모니터링 솔루션을 개발하거나 도입할 때, 애플리케이션(특히 Java 기반)이 운영체제(OS)의 리소스 정보(CPU, Memory, Disk, Network 등)를 획득하는 방법은 성능과 유지보수 측면에서 결정적인 역할을 한다.오늘은 대표적인 시스템 정보 수집 라이브러리인 OSHI, 과거의 표준이었던 Sigar, 그리고 OS 레벨의 /proc 방식의 특징과 차이점을 분석해보자.1. OSHI (Operating System and Hardware Information)OSHI는 현재 Java 생태계에서 시스템 모니터링을 위해 가장 널리 사용되는 사실상의 표준(De facto stand..

CS 공부/기타 2026.01.05

32비트 / 64비트 운영체제 아키텍쳐는 무슨 차이일까

프로그램을 다운로드 받을 때, CPU 가 인텔 것 인지, 애플 실리콘 칩인지 구분하여 받는 것처럼 시스템 아키텍쳐가 32비트 인지, 64비트인지 구분하여 다운로드 받을 수 있도록 되어있다. 이 둘은 어떤 차이길래 소프트웨어 설치 시 구분되어 설치하도록 되어있는 것 일까? 먼저 한 가지 이유를 비유를 통해 쉽게 알아보자 1. 비유로 이해하기: 컨닝페이퍼와 책컴퓨터가 메모리를 다루는 방식은, 시험장에서 책을 펼쳐 참고하면서 문제를 푸는 상황(오픈북 시험)으로 비유해볼 수 있다.책: 메모리(혹은 데이터가 담긴 거대한 저장 공간)페이지 번호: 주소(address)컨닝페이퍼: CPU 캐시(혹은 CPU가 가까이 두고 자주 쓰는 빠른 공간)“다음에 참고할 페이지 번호 목록”: 포인터(pointer)- 32비트는 “페..

[Network] iptables 설정 완전 정리

리눅스 서버를 운영하다 보면, 불필요한 접근을 차단하고 필요한 서비스만 열어두기 위해 방화벽 설정이 필수적이다.Ubuntu 22.04 기준으로 iptables를 이용한 방화벽 설정 전반을 정리해보았다.이 글은 단순 명령어 나열이 아니라, 실제로 SSH 세션이 끊기지 않도록 조심스럽게 설정하는 과정을 중심으로 설명한다. 1. iptables 개념iptables는 리눅스 커널의 netfilter 모듈을 제어하는 명령어 도구이다. 패킷이 시스템에 들어오고 나가는 과정에서 어떤 처리를 할지를 정의할 수 있다. 주요 체인은 다음과 같다.체인역할INPUT외부 → 서버로 들어오는 패킷OUTPUT서버 → 외부로 나가는 패킷FORWARD서버를 경유하는 패킷(라우터 역할일 때 사용)기본 정책(policy)은 ACCEPT ..

[ETC] MobaXterm으로 Jump Host + SSH 포트포워딩 설정하기

VPN으로 내부망에 접속할 때, 172.16.x.x 대역까지만 접근이 되고, 172.30.x.x 대역(예: RabbitMQ 관리 페이지나 내부 웹서버)에는 직접 접근이 불가능한 상황이었다. 이럴 때 중간에 브릿지 역할을 하는 서버(Jump Host)를 이용, SSH 접속을 편하게 할 수 있는 프로그램인 MobaXterm에서 바로 내부망 자원에 접근할 수 있는 방법을 정리해본다. 1. Jump Host(브릿지 서버) 설정하기목표: MobaXterm에서 중간 서버(172.16.x.x)를 경유하여 최종 목적지(172.30.x.x)에 SSH/SFTP 접속하기. 1-1. SSH 세션 생성 세션 생성을 위해 목적지의 ip 주소와 hostname 을 입력한다. 1-2. Jump host 지정 Network sett..

CS 공부/기타 2025.10.14

[Network] SSH 포트포워딩을 통한 VPN 내부망 접근 기록

업무상 특정 VPN 을 통하여 회사의 서비스가 동작 중인 서버에 접근해야 할 일이 생겼다. 이에 업체에서 VPN 에 접속할 수 있는 ID 와 PW 를 알려주었고, 접속을 시도해 보았다.하지만 VPN 에 접속 성공하니 내가 할당 받은 아이피는 10.10.x.x 대역 이였고, 내가 접근해야할 서버는 10.5.x.x 대역이였다. 즉 10.10.x.x 의 게이트웨이까지만 접근이 가능한 상황고, 다른 대역도 접근하기 위해서는 VPN setting 이 필요한 상황이였다. 1. 문제 해결직접 가서 서비스를 구축할 때, 장비 연동을 위해 등록한 장비가 있었는데, 마침 이 장비가 10.10.x.x 의 아이피를 가지고 있었다.(서로 통신이 되는 것을 확인 했었다.)즉, 내가 직접 VPN을 통해 서버에 직접 접근할 순 없겠..

[DB] PostgreSQL 은 왜 프로세스가 이렇게 많을까?

리눅스 서버에서 PostgreSQL 을 사용하다 보면, 흔히 이런 명령어로 DB 상태를 확인한다.ps -ef | grep postgres 그런데 결과를 보면 PID 가 서로 다른 여러 개의 postgres 프로세스가 뜨고, 심지어 같은 IP 로 연결된 세션이 여러 개 보이는 경우가 있다. “PostgreSQL 이 왜 이렇게 프로세스를 많이 띄우는 걸까?”라는 의문이 들었다.1. PostgreSQL 은 멀티스레드가 아닌 멀티프로세스 구조이다일반적인 애플리케이션 서버는 하나의 프로세스 안에서 여러 스레드가 동작하는 구조가 많다.반면 PostgreSQL 은 멀티프로세스 구조를 사용한다.즉, PostgreSQL 서버는 “하나의 거대한 프로세스”가 아니라, 여러 개의 독립 프로세스가 역할을 나누어 담당하는 구조이..

[ETC] OS 설치 트러블슈팅 기록 ( RAID 구성이 안될 때)

오늘은 HPE ProLiant DL20 Gen10 서버에 Ubuntu 리눅스를 설치하는 과정에서 겪은 문제와 해결 과정을 기록하려 한다.생각해 봤을때 단순한 설치 과정이겠다라고 생각했지만, 실제로는 HDD 인식 불량으로 인 RAID 설정 실패, UEFI/ACHI 부팅 모드 이해 부족 등 여러 트러블 상황을 마주하게 되었다.. 이번 경험을 정리하면서 앞으로 비슷한 상황이 생겼을 때 참고 하도록 하자.1. 문제 상황 정리1-1. 물리 디스크 문제서버에는 1TB HDD 하나만 장착되어 있었음.설치 과정에서 RAID 구성을 하려 했으나, 물리적으로 디스크가 1개뿐이라 RAID1(미러링) 구성이 불가능.하나의 HDD 에는 미러링 구성이 불가능 하기 때문에 파티션을 모두 포멧하고 통으로 하나의 파티션 구성./ , ..

CS 공부/기타 2025.09.30

[1] 이산수학이란 무엇인가?

1. 이산 수학의 학문적 개념과 필요성이산수학은 연속적인 개념을 사용하지 않고, 이산적인 수학 구조에 대해 연구하는 학문인데, 주로 집합, 정수, 관계, 그래프, 형식 언어와 같은 개념을 다룬다. 즉 이산적인 대상물들을 분석하여 응용의 기반으로 삼는 학문이다. -수학의 영역에는 미적분학, 대수학, 기하학, 위상수학, 복소수론, 해석학 등이 있음.-공학 분야에서는 이산수학, 선형대수, 확률과 통계, 미적분학, 공업수학 등이 기초외 응용에 있어 매우 중요한 역할을 담당함. -> 과학 기술(규칙을 찾아내고)과 공학적 응용(효율적으로 문제를 해결하는 것)은 수학의 핵심, 이산수학을 통하여 복잡한 문제를 정확하게 모델링(추상화) 하고 효율적으로 해결하는 것이 목표. 미적분학, 위상수학, 복소수론, 추상대수학, 해..

[ETC] QoS(Quality of Service)란 무엇인가?

1. 서론 가정에서 사용하는 공유기나 기업에서 사용하는 라우터·스위치에는 종종 **QoS(Quality of Service, 서비스 품질)**라는 기능이 있다. QoS는 네트워크 트래픽을 단순히 흐르게 하는 것을 넘어, 중요한 트래픽은 우선적으로 처리하고 덜 중요한 트래픽은 나중에 처리하도록 관리하는 기술이다. 즉, 네트워크 자원이 한정된 상황에서 어떤 데이터에 우선순위를 줄 것인가를 결정하는 것이 QoS의 핵심이다. 2. 왜 QoS가 필요한가?네트워크는 항상 충분한 대역폭을 보장하지 못할 수 있고, 특히 다음과 같은 상황에서는 QoS가 필요하다.동영상 스트리밍, 게임, 화상회의와 같은 지연에 민감한 서비스대용량 파일 다운로드 같은 트래픽이 대역폭을 다 차지하는 경우기업 환경에서 업무용 트래픽과 개인..

CS 공부/기타 2025.09.16