Nangman Infra

Engineering Log

스캔하기 쉬운 목록으로 최근 기술 기록을 빠르게 탐색할 수 있습니다.

총 179개 결과

간단한 Java 코드를 Gradle과 JUnit으로 확장하기

tistory

순수 Java 프로젝트에서 시작해 Gradle로 빌드 과정을 자동화하고, 실행 가능한 JAR를 만든 뒤 JUnit 테스트를 적용하는 과정을 학습한다. 1. 학습 목표 이 프로젝트에서는 다음 흐름을 직접 확인한다. 순수 Java 코드 작성 → javac와 java로 직접 컴파일·실행 → IntelliJ에서 컴파일·실행 → Gradle 프로젝트로 전환 → Gr...

유재영유재영·2026. 07. 13.·#기록 #gradle #Java

Wireshark GUI로 실제 패킷 헤더와 16진수 덤프 확인하기

tistory

네트워크를 공부하다 보면 패킷 구조 그림을 자주 보게 됩니다. Ethernet Header, IPv4 Header, TCP Header가 차례대로 붙어 있고, 각 헤더 안에는  MAC 주소, IP 주소, 포트 번호, Sequence Number, Acknowledgment Number 같은 값들이 들어 있습니다. 처음에는 이 구조가 단순히 책에 있는 그림처...

정희훈정희훈·2026. 07. 09.·#Network #network

Wireshark로 직접 뜯어본 DHCP IP 할당 과정 (DORA + relay agent 실측)

velog

새 기기가 네트워크에 붙는 순간 IP는 어떻게 정해질까? 이론으로만 알던 DHCP의 DORA 4단계를 Wireshark로 직접 캡처하고, 패킷 필드를 하나씩 직독하며 검증했다. 그 과정에서 예상에 없던 DHCP relay agent 구조까지 관측하게 된 기록. 1. 배경 — 왜 직접 캡처하나 DHCP는 평소엔 보이지 않습니다. 노트북에 랜선을 꽂거나 Wi...

정택준정택준·2026. 07. 09.

네트워크 시작하기

tistory

네트워크 구성도 살펴보기   네트워크는 크게 서비스를 받는 입장과 서비스를 제공하는 입장으로 나뉨   서비스를 받는 입장은 집에서 인터넷을 접속 할 때, 회사에서 인터넷에 접속해 업무를 할 때 등   서비스를 제공하는 입장은 클라우드나 데이터 센터, 회사 기계실에 서버를 놓고 고객들이나 회사 내부 직원을 위한 서비스를 제공하는 경우   제공하는 입장에서는 ...

정희훈정희훈·2026. 07. 08.·#개인공부/network #network

입출력 시스템

tistory

Overview 컴퓨터에 연결된 장치를 제어하는 일은 운영체제의 주요 관심사. 마우스, 하드디스크, 플래시 드라이브, 테이프 로봇 같은 입출력 장치는 기능과 속도 면에서 매우 다양한 특성. 각 장치의 특성에 맞는 제어 방법이 필요하며, 이러한 다양한 제어 방법들이 커널의 입출력 서브시스템을 형성하는 구조. 입출력 서브시스템은 커널의 다른 부분이 입출력 장...

정희훈정희훈·2026. 07. 07.·#개인공부/OS #OS

[AWS] 인프라의 핵심 보안 서비스 공부하기

tistory

보안 꿈나무의 보안 공부 일기  오늘은 평소에 흔히 사용하는 AWS가 제공하는 핵심 보안 서비스에 대해 글을 써볼려고 합니다.   AWS는 클라우드 환경 내 인프라, 데이터, 애플리케이션을 안전하게 보호하기 위해 다층 방어 메커니즘 기반의 대규모 보안 포트폴리오를 제공하고 있습니다.   AWS의 보안 모델은 클라우드 자체의 보안을 책임지는 AWS와 클라우드...

김주형김주형·2026. 07. 06.·##AWS #클라우드보안 #AWSWAF #IAM정책 #AWSKMS #GuardDuty #SecurityHub #네트워크보안 #인프라구축 #정보보안

Docker의 전체 그림

tistory

Docker를 이해하려면 먼저 큰 그림을 잡는 것이 중요. 처음부터 이미지, 컨테이너, 호스트, 포트, 볼륨 같은 용어를 전부 외우려고 하면 오히려 혼란. 그래서 먼저 봐야 할 것은 호스트, 이미지, 컨테이너의 관계. 호스트는 컨테이너가 실행되는 바깥쪽 컴퓨터. 이미지는 컨테이너를 만들기 위한 재료. 컨테이너는 이미지를 실제로 실행한 독립된 공간. 이 세 ...

정희훈정희훈·2026. 07. 06.·#개인공부/Dokcer

Docker를 왜 배우는가

tistory

Docker를 처음 공부할 때 가장 먼저 볼 것은 명령어가 아님. 가장 먼저 볼 것은 Docker가 왜 필요한 도구인지에 대한 전체 그림임. 이 도구는 단순히 프로그램을 실행하는 명령어 모음이 아니라,  애플리케이션이 실행되는 환경을 일정하게 맞추기 위한 기술임.   내 컴퓨터에서는 되는데 다른 컴퓨터에서는 안 되는 문제 개발을 하다 보면 자주 만나는...

정희훈정희훈·2026. 07. 06.·#개인공부/Dokcer

Linux란

tistory

리눅스란   우리는 보통 윈도우나 맥에 익숙   리눅스도 위의 OS들과 비슷한 운영체제     리눅스의 장점   리눅스는 주로 서버용 운영 체제로 많이 사용   왜냐하면   첫째로 오픈 소스로 누구나 자유롭게 무료로 사용이 가능   둘째로 높은 품질의 다양한 소프트웨어를 리눅스에서 돌릴 수 있음   셋째로 전 세계에서 많이 사용되고 있는 만큼 신뢰성이 높음...

정희훈정희훈·2026. 07. 06.·#개인공부/Linux #Linux

TCP 흐름제어

tistory

이전 글에서는 TCP 혼잡제어에 대해 정리했습니다. TCP 혼잡제어는 네트워크가 너무 혼잡해지지 않도록 송신자가 전송량을 조절하는 기능입니다. 이번 글에서는 TCP 흐름제어에 대해 정리해 보겠습니다. TCP 흐름제어는 수신자가 받을 수 있는 만큼만 데이터를 보내도록 송신자가 전송량을 조절하는 기능입니다. TCP는 데이터를 안정적으로 보내기 위해 사용되는 전...

정희훈정희훈·2026. 07. 05.·#Network #network

리눅스에서 MTU와 패킷 단편화 실험

tistory

네트워크 통신에서 MTU는 패킷이 한 번에 지나갈 수 있는 최대 크기를 의미합니다. 일반적인 이더넷 환경에서는 MTU가 보통 1500 byte로 설정되어 있습니다. 하지만 VPN, IPSec, WireGuard, GRE, VXLAN 같은 터널링 환경에서는 기존 패킷에 추가 헤더가 붙기 때문에 실제로 사용할 수 있는 패킷 크기가 줄어들 수 있습니다. 이때 ...

정희훈정희훈·2026. 07. 05.·#Network #network

[Linux] 모두의 리눅스 8장 : 배시 설정

velog

이번 글은 『모두의 리눅스 – 누구나 쉽게 시작하는 리눅스 기초』 8장을 공부하고 정리한 내용입니다. 8.1 alias ls -F : 파일의 종류 표시 # alias 설정 alias ='' 1. alias 확인과 삭제 $ type ls: ls -F 별칭 $ type cp : cp는 해시됨(/usr/bin/cp) $ unalias ls : 별칭 삭제 2. ...

강윤서강윤서·2026. 07. 02.

대용량 저장장치 구조

tistory

대용량 저장장치 구조의 개관 최신 컴퓨터를 위한 대량의 보조저장장치는 주로 하드 디스크 드라이브와 비휘발성 메모리 장치에 의해 제공되는 구조. 하드 디스크 드라이브 HDD는 회전하는 원형 플래터에 데이터를 자기적으로 기록하고 읽는 저장장치. 각 플래터의 양쪽 표면은 자기 물질로 덮여 있으며, 디스크 헤드는 이 자기 패턴을 감지하여 데이터를 읽는 구조...

정희훈정희훈·2026. 06. 30.·#개인공부/OS #OS

Immutable Infrastructure

velog

클라우드 컴퓨팅과 마이크로서비스 아키텍처(MSA)가 지배하는 현대 프로덕션 환경에서 인프라스트럭처의 본질은 '관리 대상'에서 '소모품'으로 진화했습니다. 과거에는 서버에 이름을 붙여주고 정성스럽게 관리하는 "Pets" 모델이 주류였으나, 현재 하이퍼스케일 환경에서는 장애가 발생하거나 업데이트가 필요할 때 미련 없이 서버를 교체해 버리는 "Cattle" 모델...

유정빈유정빈·2026. 06. 27.

TCP 혼잡제어

tistory

TCP는 데이터를 안정적으로 보내기 위해 사용되는 전송 계층 프로토콜입니다. 우리가 웹사이트에 접속하거나 파일을 다운로드하거나 영상을 볼 때,  많은 경우 TCP가 뒤에서 데이터를 안전하게 전달해 줍니다. TCP는 단순히 데이터를 보내기만 하는 것이 아니라,  중간에 데이터가 사라지면 다시 보내고,  순서가 바뀌면 다시 정리하며,  상대방이 받을 수 있는 ...

정희훈정희훈·2026. 06. 25.·#Network #network

[Linux] 모두의 리눅스 7장 : 텍스트 데이터

velog

이번 글은 『모두의 리눅스 – 누구나 쉽게 시작하는 리눅스 기초』 7장을 공부하고 정리한 내용입니다. 7.1 텍스트 파일과 바이너리 파일 텍스트 파일 텍스트(문자열)가 적혀진 파일 Ex. 작성한 메모, 프로그램 코드, HTML 파일 등 특징 전용 애플리케이션을 사용하지 않아도 내용을 쉽게 확인 가능 호환성이 높아 많은 애플리케이션에서 사용할 수 없음 텍스트...

강윤서강윤서·2026. 06. 25.

[네트워크]GCP 기반 CDN 및 로드밸런싱 인프라 구축

tistory

CDN에 대하여 공부를 하던 중, 직접 한번 구현해보면 재밌겠다는 생각이 들었습니다. 물리적 거리에 따른 지연 시간(Latency) 문제가 얼마나 있는지, 이를 해결하기 위해 CDN을 왜 사용해야 하는지 알아보기 위해 Google Cloud Platform(GCP)을 활용하여 인프라를 구축한 과정을 기록해보고자 합니다. 1.개요 이번 인프라 구축의 핵심은 ...

태성우태성우·2026. 06. 24.

가상 메모리

tistory

배경 앞서 살펴본 메모리 관리 알고리즘은 실행 중인 코드가 반드시 물리 메모리에 존재해야 한다는 기본 요구 조건을 만족시키기 위한 방법. 이 요구 조건을 가장 쉽게 만족시키는 방법은 전체 프로세스를 메모리에 올리는 방식. 동적 적재는 전체 프로세스를 한꺼번에 메모리에 올려야 한다는 제약을 일부 완화하지만,  일반적으로 프로그래머에게 특별한 주의와 추가 작...

정희훈정희훈·2026. 06. 23.·#개인공부/OS #OS

메인 메모리

tistory

배경   메인 메모리는 현대 컴퓨터 시스템 작동의 중심이며, 각각 고유한 주소를 가진 큰 바이트 배열. CPU는 프로그램 카운터가 가리키는 위치에서 다음 명령어를 메모리로부터 가져오고,  필요하면 추가 데이터를 읽거나 결과를 다시 메모리에 저장하는 구조. 전형적인 명령어 실행은 명령어 인출, 명령어 해독, 피연산자 인출, 연산 수행, 결과 저장의 흐름. 메...

정희훈정희훈·2026. 06. 23.·#개인공부/OS #OS

[OS] Linux vs Unix AND ..

other

Linux와 Unix 그리고 MacOS, WSL

김수미김수미·2026. 06. 21.