전체 글 201

[정보처리기사] 자격증 취득 공유

정보처리기사는 국가자격시험이라 그런지 수첩도 주고, 생긴것도 좀 다르다.운 좋게 응시 회차때 시험 난이도가 낮았지만 일하면서 틈틈히 준비해서 취득한 자격증이라 나름 의미가 있다. 특히 비전공자로서 전공자들이 주로 취득하는 자격증을 공부하여 취득했기 때문에 더 의미가 깊다.하지만 자격증이 있다고 비 전공자라는 사실은 변하지 않는다. 항상 부족하고 전공자에 비해 모른다는 생각이 드는데 이걸 원동력으로 삼아 계속해서 공부하고 또 다른 목표를 향해 나아가자!

[CSAPP] 1장 1절 컴퓨터 시스템 둘러보기

CSAPP 스터디노트 1.1 정보는 비트와 맥락이다 (Information Is Bits + Context) 이 내용은 Bryant & O'Hallaron의 Computer Systems: A Programmer's Perspective 1장 1.1절의 핵심 내용을 공부 한 뒤, 내가 컴퓨터고 컴퓨터가 나인 물아일체의 경지에 다다르기 위해 작성하였습니다.저작권 보호를 받는 원문 전체를 그대로 옮기는 대신, 꼭 짚고 넘어가야 할 핵심 문장만 짧게 인용하고 출처를 밝혔습니다. 왜 이 개념이 중요한가??PostgreSQL WAL 파일이나 Kafka 세그먼트 파일을 hexdump로 열어봤었다. 아니면 jar 파일을 그냥 메모장으로 열어본 적도 있다. 그때 화면에 찍히는 숫자와 문자들이 바로 이 절에서 말하는 ..

CS 공부/CSAPP 00:33:24

[인프라 관리] Ansible을 이용한 소프트웨어 설정 변경 테스트

미들웨어를 직접 설정하는 업무에서 대부분의 작업은 SSH로 서버에 접속하여 수동으로 명령어를 입력하고 설정 파일을 편집하는 방식으로 진행된다. 이번에는 반복적인 설정 작업을 자동화하기 위해 Ansible을 처음으로 학습하고, 테스트 서버의 Tomcat 포트를 변경하는 실습을 진행하였다.오늘은 Ansible 설치부터 SSH 접속 문제 해결, Playbook 작성, 그리고 실제 포트 변경까지의 전 과정을 단계별로 정리한다.>Ansible은 서버 설정 작업을 자동화하는 오픈소스 도구이다. 별도의 에이전트 설치 없이 SSH만으로 대상 서버에 접속하여 작업을 수행한다는 점이 특징이다. 사람이 SSH로 접속하여 수행하던 명령어와 설정 변경 작업을 YAML 형식의 파일(Playbook)로 기술하고, 이를 실행하면 ..

[ETC] Hyper-Threading 이란?

서버 모니터링 시스템을 보면 아래와 같은 황당한 상황을 마주하게 될 수 있다."프로세스 A의 CPU 사용률: 150%" 아니, 전체 최고 수치가 100% 아닌가? 어떻게 혼자서 100%를 넘게 쓰고 있지? 버그인가? 이는 버그가 아니라 현대 서버의 핵심 기술인 하이퍼스레딩(Hyper-Threading)과 관제 시스템이 병목 현상을 잡아내는 방식 때문에 발생하는 지극히 정상적인 현상이다.오늘은 하이퍼스레딩의 내부 원리와 관제의 방식을 정리해 보자.1. 하이퍼스레딩(Hyper-Threading): 물리 코어를 속이는 마법굳이 비싼 돈을 들여 물리적인 CPU 코어를 2배로 늘리지 않고도, 성능을 끌어올리기 위해 탄생한 기술이 바로 하이퍼스레딩이다.개념: 하나의 물리적 코어(Physical Core)를 운영체제..

CS 공부/기타 2026.06.21

[업무_자동화] 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