반응형

System Settings 13

UDP 통신 테스트용 Java 예제: UdpSend & UdpReceive

네트워크 테스트를 진행할 때, UDP 통신 가능 여부를 확인하는 것은 매우 중요한 작업입니다. TCP와 달리 연결이 없는 방식이기 때문에, 방화벽, 포트 열림, 라우터 설정 등에 따라 정상 작동 여부를 확인하는 절차가 필요합니다.이번 글에서는 Java 언어로 직접 구현한 UDP 송수신 테스트 프로그램을 소개합니다. 명확한 인자 처리, 예외 안전한 리소스 해제, 실무에서 바로 사용 가능한 포맷까지 함께 정리했습니다.예제 구성클래스명기능UdpReceive지정 포트에서 UDP 패킷 수신 대기UdpSend대상 IP 및 포트로 UDP 메시지 전송Java 표준 라이브러리만 사용하여 간단히 구현할 수 있으며, 별도 의존성은 없습니다.코드 최적화 포인트try-with-resources 사용으로 socket 자동 clo..

System Settings 2025.05.26

TCP 통신 테스트용 서버/클라이언트 예제 (Java)

네트워크 진단이나 방화벽 설정 검증을 위해 특정 포트에서 TCP 통신이 가능한지 확인하는 작업은 매우 중요합니다.이 글에서는 Java를 이용해 TCP 서버/클라이언트 테스트 프로그램을 구현하고, 실무에 유용한 방식으로 최적화한 코드를 공유합니다.예제 구성클래스명설명TCPServer지정된 포트에서 클라이언트의 연결을 받고, 메시지를 echo로 반환TCPClient서버 IP와 포트로 접속하여 메시지를 전송하고 응답을 수신TCP 연결 가능 여부를 확인할 수 있는 간단한 도구로 활용 가능합니다.TCPServer.java (서버 코드)import java.net.*;import java.io.*;public class TCPServer { public static void main(String[] args)..

System Settings 2025.05.26

리눅스 명령어: nohup – 로그아웃해도 프로세스를 계속 실행하는 방법

nohup이란?nohup은 "no hang up"의 줄임말로,터미널 세션이 종료되더라도 해당 명령어로 실행된 프로세스는 중단되지 않고 계속 실행되도록 하는 리눅스 유틸리티입니다.주로 백그라운드 실행 + 로그아웃 유지 목적으로 사용됩니다.기본 사용법nohup [명령어] &nohup: SIGHUP(세션 종료) 신호를 무시하도록 설정[명령어]: 실행할 명령 또는 스크립트&: 명령어를 백그라운드로 실행출력 파일 (nohup.out)기본적으로 nohup으로 실행한 명령어의 출력은 현재 디렉토리의 nohup.out 파일에 저장됩니다.nohup some-command &표준 출력(STDOUT)과 표준 에러(STDERR)가 nohup.out으로 리디렉션됨원하는 로그 파일로 출력하려면 다음과 같이 사용합니다:nohup ..

System Settings 2025.05.19

[WEB/WAS 개념 정리 시리즈] 5편 - WAS–DB 구성 및 APM 활용

[WEB/WAS 개념 정리 시리즈] 5편 - WAS–DB 구성 및 APM 활용이 글에서는 WAS와 DB 사이의 연동 구조를 정리하고,Connection Pool(커넥션 풀) 구성, SQL 처리 흐름, 그리고 APM 도입을 통한 실시간 모니터링 방식을 소개합니다.✅ WAS–DB 연동 흐름Client → Web → WAS → Connection Pool → DBWAS: 애플리케이션 실행, JDBC 호출 DB: 실제 데이터 처리 Connection Pool: DB 커넥션을 미리 생성/재사용하여 성능 최적화✅ Connection Pool(커넥션 풀)이란?DB 커넥션을 매번 생성하면 비용이 큼 → 미리 생성해 Pool로 관리 WAS가 커넥션 풀을 통해 DB에 연결 요청 실무에서는 반드시 사용✅ 커넥션 풀 ..

System Settings 2025.05.14

[WEB/WAS 개념 정리 시리즈] 4편 - Web–WAS 연동: 로드밸런싱과 세션 클러스터링

[WEB/WAS 개념 정리 시리즈] 4편 - Web–WAS 연동: 로드밸런싱과 세션 클러스터링이번 글에서는 Apache와 WAS(Tomcat, JBoss 등) 사이의 연동 구간에서로드밸런싱 구성 방법과 세션 클러스터링 처리 방식을 실무 중심으로 설명합니다.✅ Web–WAS 연동 구조 개요기본 호출 흐름Client → Apache → WAS Cluster(Node1, Node2...) → DB사용 목적로드밸런싱: WAS 부하 분산 세션 클러스터링: 로그인 등 상태 유지✅ 로드밸런싱 구성 방식방식설명mod_jkAJP 기반, 정밀 제어 가능mod_proxy_ajpAJP 기반 프록시 방식, 설정 간단mod_cluster자동 등록, 동적 관리, JBoss 기반에서 추천✅ mod_jk 구성 예workers.pro..

System Settings 2025.05.14

[WEB/WAS 개념 정리 시리즈] 3편 - Apache MPM 방식과 Web 처리 구조

[WEB/WAS 개념 정리 시리즈] 3편 - Apache MPM 방식과 Web 처리 구조이번 글에서는 Apache 웹서버의 핵심 구성 방식인 MPM(Multi-Processing Module)에 대해 다룹니다.Apache가 클라이언트 요청을 처리하는 구조와 Prefork, Worker, Event 방식의 차이를 실무 기준으로 정리합니다.✅ MPM이란?Apache에서 클라이언트 요청을 처리하는 핵심 모듈 요청을 처리할 프로세스와 스레드 구조를 결정 성능, 메모리 사용량, 동시 접속 처리 능력에 큰 영향✅ 주요 MPM 방식 비교항목PreforkWorkerEvent구조프로세스 기반프로세스 + 스레드Worker 기반 + keep-alive 개선동시성낮음높음매우 높음안정성매우 안정적일반적신기술 기반특징각 요청..

System Settings 2025.05.14

[WEB/WAS 개념 정리 시리즈] 2편 - JVM 구조 및 GC 메커니즘

[WEB/WAS 개념 정리 시리즈] 2편 - JVM 구조 및 GC 메커니즘이번 글에서는 WAS의 핵심 엔진인 JVM(Java Virtual Machine)의 내부 구조와GC(Garbage Collection) 동작 원리에 대해 설명합니다.성능 이슈 및 튜닝의 기준이 되는 메모리 구조와 GC는 실무 운영의 필수 지식입니다.✅ JVM이란?Java Bytecode를 실행하는 가상 머신 Java 프로그램이 OS와 독립적으로 실행될 수 있게 해줌 메모리, 스레드, 클래스 로딩, GC 등을 자동 관리✅ JVM 메모리 구조영역설명Method Area클래스 구조, static 변수, 상수Heap객체 저장 공간 (GC 대상)Stack스레드별 메서드 호출, 지역변수 저장PC Register현재 실행 중인 명령어 주소N..

System Settings 2025.05.14

[WEB/WAS 개념 정리 시리즈] 1편 - WEB/WAS 개요 및 호출 구조

[WEB/WAS 개념 정리 시리즈] 1편 - WEB/WAS 개요 및 호출 구조이번 글에서는 Web/WAS의 기본 개념과 구조, 그리고 Web과 WAS 간의 호출 흐름을 설명합니다.실무 환경에서 흔히 사용되는 3-Tier 구조와 각 계층의 역할도 함께 다룹니다.✅ WEB(Web Server)이란?정적 콘텐츠 처리 (HTML, JS, CSS, 이미지) MPM 방식을 통한 다중 클라이언트 처리 가상 호스트(VirtualHost), SSL, 로드밸런싱 등 프론트 역할 수행 대표 웹 서버: Apache HTTP Server, Nginx✅ WAS(Web Application Server)란?JSP/Servlet 기반의 동적 콘텐츠 처리 JVM 상에서 실행되는 어플리케이션 서버 DB 연결, 세션 관리, 비즈..

System Settings 2025.05.14

[리눅스 개념 정리 시리즈] 4편 - 주요 명령어 및 커널 파라미터 설정

[리눅스 개념 정리 시리즈] 4편 - 주요 명령어 및 커널 파라미터 설정지금까지 리눅스의 구조와 커널, 시스템 콜, 프로세스/스레드 개념을 정리했습니다.이번 마지막 편에서는 실무에서 자주 사용하는 리눅스 명령어와커널 파라미터(sysctl, ulimit 등) 설정 방법을 정리합니다.✅ 프로세스 및 자원 확인 명령어🔹 ps – 프로세스 확인ps -ef # 전체 프로세스ps -eLf # 스레드 포함 확인🔹 top – 실시간 자원 확인topCPU, 메모리 사용률 실시간 표시 1 → CPU 코어별 보기 H → 스레드 단위 보기✅ 파일 및 포트 관련 명령어🔹 lsof – 열린 파일 확인lsof -i :8080 # 8080 포트 사용 프로세스lsof -p ..

System Settings 2025.05.14

[리눅스 개념 정리 시리즈] 3편 - 프로세스와 스레드의 차이

[리눅스 개념 정리 시리즈] 3편 - 프로세스와 스레드의 차이운영체제에서 프로세스(Process)와 스레드(Thread)는 시스템 자원 활용과 성능 최적화의 핵심 개념입니다.이번 글에서는 리눅스 기준으로 두 개념의 차이를 기초부터 비교해 설명합니다.✅ 프로세스란?실행 중인 독립적인 프로그램 단위입니다. 고유한 주소 공간과 자원(CPU, 메모리 등)을 가집니다. 다른 프로세스와는 메모리를 공유하지 않으며, 독립적으로 실행됩니다.✅ 스레드란?프로세스 내에서 동작하는 작업 실행 단위입니다. 같은 프로세스 내에서 주소 공간, 열린 파일, 전역 변수 등을 공유합니다. 스레드 간 통신이 빠르지만, 오류 발생 시 전체 프로세스에 영향을 줄 수 있습니다.✅ 구조 차이 요약항목프로세스스레드정의실행 중인 독립 프로..

System Settings 2025.05.14
반응형