자바 메시지 서비스(JMS) 아키텍처 및 프로그래밍 모델 심층 분석
JMS의 정의와 역할
JMS(Java Message Service)는 자바 플랫폼에서 메시지 지향 미들웨어(MOM)와 상호작용하기 위한 표준 API입니다. 이 API는 특정 벤더에 종속되지 않으며, 분산 환경에 있는 두 개 이상의 애플리케이션 간에 신뢰할 수 있는 비동기 메시지 통신을 가능하게 합니다. Apache ActiveMQ, RabbitMQ, Kafka와 같은 다양한 메시지 브로커들이 JMS 표준을 구현한 ...
9월 27일 04:05에 게시됨
Flask 애플리케이션 서버 배포 가이드
서버 구성 및 배포
포트 및 보안 그룹
서버 포트는 특정 애플리케이션과의 통신을 위한 엔드포인트 역할을 합니다.
IP 주소 --> 컴퓨터
포트 --> 애플리케이션 A
포트 --> 애플리케이션 B
포트 --> 애플리케이션 C
주요 포트:
- 22: SSH
- 3306: MySQL
- 6379: Redis
- 80: HTTP 기본 포트
- 443: HTTPS
원격 서버 접속
XShell 또는 다른 SSH 클라이 ...
9월 27일 03:37에 게시됨
RetinaNet 기반 연꽃 객체 탐지 모델 개선 및 성능 최적화
연꽃 객체 탐지 모델 개선 및 성능 최적화
컴퓨터 비전 분야에서 객체 탐지 기술은 자율 주행, 지능형 모니터링, 의료 영상 분석, 농업 병충해 탐지 등 다양한 응용 분야에서 핵심적인 역할을 수행하고 있습니다. 본 글에서는 특정 객체인 '연꽃' 탐지 작업에 초점을 맞춰, RetinaNet 모델의 성능을 향상시키기 위한 개선 방안과 최적화 전략을 상세히 다룹니다. 경제 작물 ...
9월 27일 02:46에 게시됨
PyInstaller를 사용하여 Python 애플리케이션을 단일 실행 파일로 패키징하기
Excel 설정 테이블을 JSON, XML, Lua 형식의 구성 파일로 변환하는 소규모 도구를 개발했다. 최근 Egret 프레임워크를 학습하면서 구성 파일 변환 기능이 필요해졌고, 이 도구를 활용하게 되었다. 하지만 작업 디렉토리에 도구를 복사하려는 순간 문제가 발생했다. 확장성을 고려해 프로그램을 너무 세부적으로 분할해 놓은 상태였다.
user@machine:~/Documents/projects ...
9월 26일 16:55에 게시됨
대규모 C++ 시스템의 모듈 간 결합도 분리 전략과 실전 사례
대규모 C++ 시스템에서의 결합 문제와 해법
기능이 확장됨에 따라 대규모 C++ 시스템은 복잡성이 기하급수적으로 증가한다. 모듈 간 강한 결합은 코드 유지보수를 어렵게 만들고, 단위 테스트를 방해하며, 빌드 시간을 비효율적으로 늘린다. 특히 "스파게티 의존성" 구조가 형성되면 작은 변경조차 예측 불가능한 부작용을 유발할 수 있다.
주요 해결 목표:
모듈 독립 ...
9월 26일 15:49에 게시됨
Puppet에서 리소스 간 의존성과 알림 관계 설정
리소스 간 의존성과 알림 관계
Puppet을 사용할 때 여러 리소스를 동시에 관리하게 되며, 이들 간에는 종속적인 관계가 존재할 수 있습니다. 예를 들어, Nginx 서버를 설치하고 실행하려면 먼저 패키지를 설치한 후 서비스를 시작해야 합니다. 이처럼 리소스 간의 실행 순서를 제어하거나 특정 리소스 변경 시 다른 리소스에 알림을 보내는 기능이 필요합니다.
메타 파라 ...
9월 26일 15:19에 게시됨
Tarjan 알고리즘을 활용한 그래프의 연결성 분석
연결성 문제와 Tarjan 알고리즘의 역할
그래프 이론에서 우리는 다양한 연결성 문제를 다루게 된다. 방향 그래프에서는 강결합 성분(SCC)을 찾는 문제가 있으며, 무방향 그래프에서는 절단선(bridge), 절단점(cut vertex), 그리고 이들을 기반으로 한 이중 연결 성분(biconnected components) 분석이 중요하다. 이러한 문제들에 대해 Tarjan 알고리즘은 깊이 우선 탐색(DFS ...
9월 26일 15:02에 게시됨
파이썬 객체 지향 프로그래밍의 핵심: 캡슐화, 상속, 다형성 및 속성 관리
파이썬에서 클래스와 객체를 다루는 방식은 C++이나 Java와 같은 전통적인 객체 지향 언어와는 다른 철학을 따릅니다. 이 글에서는 데이터 캡슐화, 생명주기 관리, 상속 구조, 그리고 클래스 속성과 인스턴스 속성의 차이점을 중심으로 파이썬 OOP의 실무적 적용 방법을 살펴봅니다.
데이터 캡슐화와 접근 제어
객체의 내부 상태를 보호하기 위해 직접적인 속성 수정을 제 ...
9월 26일 12:52에 게시됨
T-SQL에서 관계형 나누기 연산과 빈 집합 처리
T-SQL에는 전용 나누기 연산자가 존재하지 않지만 관계형 나누기(Relational Division)를 NOT EXISTS 구문으로 구현할 수 있다. 일반적인 나누기 결과는 피제수 관계에서 가져온 컬럼 하나와 제수 관계에서 가져온 컬럼들로 구성된다. 예를 들어 Customers, Employees, Orders 세 테이블이 있고, 모든 미국 직원과 최소 한 번 이상 거래한 고객을 찾는다고 하자.
SELECT ...
9월 26일 11:37에 게시됨
MySQL에서의 나눗셈 연산 및 정밀도 처리 방법
문제 현상
프로젝트에서 데이터 통계를 위한 인터페이스 개발이 필요하여 SQL을 사용할 때, MySQL에서의 나눗셈 연산과 관련된 두 가지 문제를 해결해야 한다고 알게 되었습니다.
문제 분석
데이터 통계 개발 시 일반적으로 인터페이스 개발이나 주기적인 작업으로 통계 로직을 구현합니다. 통계 로직에는 두 가지 방식이 있습니다:
데이터베이스에서 단순한 계산을 수 ...
9월 26일 10:38에 게시됨