BOM 트리 구조를 SQL에서 셀프조인 샘플

BOM 트리 구조를 SQL에서 셀프조인 샘플

BOM 트리 구조를 SQL에서 셀프조인(SELF JOIN) 또는 계층형 쿼리로 조회하는 대표적인 쿼리 예시는 다음과 같습니다. Oracle: 계층형 쿼리 (CONNECT BY) Oracle 등에서 BOM 트리 구조(부모-자식 관계)가 있는 테이블이 아래와 같다고 가정할 때: item_id: 품목 ID item_name: 품목명 parent_id: 상위 품목 ID 본체(item_id = ‘1002’)를 시작으로 하위 모든 BOM 구성품을 트리 구조로 조회하는 쿼리입니다. sql SELECT … 더 읽기

docker-compose에서 컨테이너를 자동 시작 설정

docker-compose에서 컨테이너를 자동 시작 설정

docker-compose에서 컨테이너를 시스템 시작 시 자동으로 시작하게 하려면, restart 정책을 docker-compose.yml에 명시하면 됩니다. 또한 서버 수준에서 완전한 부팅 자동화를 원할 경우, systemd 서비스로 등록할 수도 있습니다. 1. docker-compose.yml에서 자동 재시작 설정 Compose 파일의 각 서비스에 restart 속성을 추가합니다. text version: ‘3.8’ services: db: image: mysql:8 environment: MYSQL_ROOT_PASSWORD: root restart: unless-stopped web: image: nginx:latest ports: – “8080:80” depends_on: – db restart: always 선택 … 더 읽기

n8n을 npm으로, Docker로 설치하는 방법의 장단점 비교

n8n을 npm으로 설치하는 방법과 Docker로 설치하는 방법의 장단점 비교

n8n을 npm으로 설치하는 방법과 Docker로 설치하는 방법은 각각의 장단점이 있으며, 절차도 다릅니다. 아래에서 차이와 설치 단계를 명확하게 비교합니다.​ npm 설치 방식과 특징 직접 시스템에 설치되며 OS 리소스에 바로 접근할 수 있습니다.​ 업데이트와 설정이 직접적이며 개발 환경에서 자유도가 높습니다.​ 시스템 환경과 의존성 관리가 필요합니다.​ 자동 재시작(서비스 등록 등)은 추가 설정이 필요합니다.​ Docker 설치 방식과 특징 컨테이너 기반으로 … 더 읽기

이클립스에서 organize imports를 전체소스를 대상으로 작업하는 방법

이클립스에서 organize imports를 전체소스를 대상으로 작업하는 방법

이클립스(Eclipse)에서 전체 소스 또는 프로젝트 단위로 Organize Imports를 적용하는 방법은 여러 가지가 있습니다. 다음은 가장 실용적인 3가지 방식입니다. 1. 패키지 또는 프로젝트 단위로 한 번에 정리 Package Explorer에서 프로젝트나 특정 패키지를 선택합니다. 마우스 오른쪽 클릭 → Source → Organize Imports 선택. 선택한 패키지 내의 모든 Java 파일에 대해 재귀적으로 import 정리가 수행됩니다.​ 또는 프로젝트 전체 선택 상태에서 단축키 Ctrl + Shift … 더 읽기

서비스 메시 Istio 설정 및 사용 방법

서비스 메시 Istio 설정 및 사용 방법

Istio 설정 및 사용 방법: Java 서비스 Pod 관점 Java 기반 마이크로서비스를 Kubernetes에 배포할 때, Istio 서비스 메쉬를 연동하는 과정과 설정을 Pod 관점에서 단계별로 정리합니다. 아래 절차를 따라하면 서비스에 별도 통신·보안 로직 추가 없이 Istio의 다양한 기능을 활용할 수 있습니다. 1. Istio 설치 (Kubernetes 클러스터 기준) a. Istio CLI 설치 Istio 공식 설치 가이드 따라 istioctl 툴을 다운로드 … 더 읽기

MSA 에서 서비스매시 사용 장단점 비교

MSA 에서 서비스매시 사용 장단점 비교

MSA 환경에서 자바 기반 마이크로서비스가 서비스 메시(Service Mesh) 를 사용하는 경우와 그렇지 않은 경우는 통신 구조, 개발 복잡도, 보안, 트래픽 제어, 모니터링 방식 등에서 뚜렷한 차이를 보인다.​ 서비스 메시를 사용하는 경우 서비스 메시는 마이크로서비스 간 통신을 인프라 계층에서 분리·관리하는 구조이다. 각 서비스 인스턴스에는 사이드카 프록시(Sidecar Proxy) (예: Envoy)가 붙어 있으며, 모든 네트워크 요청은 이 프록시를 통해 처리된다. 대표 솔루션에는 Istio, Consul, Linkerd 등이 있다.​ … 더 읽기

java로 api호출 및 JSON 파싱 (Jackson) 함께 통합하는 버전 샘플

java로 api호출 및 JSON 파싱 (Jackson) 함께 통합하는 버전 샘플

다음은 Java에서 REST API를 호출하는 가장 기본적인 예제 두 가지 방법입니다 — 표준 HttpURLConnection을 사용하는 방법과 Java 11 이상에서 제공하는 HttpClient를 사용하는 방법입니다. HttpURLConnection 사용 예제 HttpURLConnection은 모든 Java 버전에서 사용할 수 있는 기본 표준 라이브러리입니다. java import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; public class ApiCallExample { public static void main(String[] args) { … 더 읽기

Rocky Linux에 대한 정리 및 ProLinux와 비교

Rocky Linux에 대한 정리 및 ProLinux와 비교

Rocky Linux는 Red Hat Enterprise Linux(RHEL)과 100% 호환되는 오픈소스 엔터프라이즈 리눅스 배포판으로, CentOS의 사실상 후계자 역할을 하는 안정적 서버 운영체제이다.​ 개요 및 배경 Rocky Linux는 2020년 12월 Red Hat이 CentOS를 CentOS Stream으로 전환하면서 기존의 다운스트림 배포판이 사라진 뒤, CentOS 공동 창립자인 Gregory Kurtzer가 커뮤니티를 주도해 개발한 배포판이다. 이름은 같이 CentOS를 만든 개발자 Rocky McGaugh를 기리기 위해 붙여졌다.​ RHEL과 동일한 … 더 읽기

메소드의 파라미터로 VO(Value Object)를 넘겨줄 때, 해당 VO의 **특정 필드(속성)**를 Swagger (Springfox 2.x 기준)에서 **필수 입력(Required)**으로 표시하는 방법

메소드의 파라미터로 VO(Value Object)를 넘겨줄 때, 해당 VO의 **특정 필드(속성)**를 Swagger (Springfox 2.x 기준)에서 **필수 입력(Required)**으로 표시하는 방법

메소드의 파라미터로 VO(Value Object)를 넘겨줄 때, 해당 VO의 **특정 필드(속성)**를 Swagger (Springfox 2.x 기준)에서 **필수 입력(Required)**으로 표시하는 방법은 주로 두 가지가 있습니다. VO가 요청 본문(Request Body)으로 사용되는 경우와 쿼리 파라미터(Query Parameter)로 사용되는 경우에 따라 적용 방법이 다릅니다.   1. VO가 Request Body로 사용될 경우 (가장 일반적인 경우)   VO가 @RequestBody 어노테이션을 통해 JSON 형태의 요청 … 더 읽기

SCP와 rsync의 특장점 비교 및 사용 예제

SCP와 rsync의 특장점 비교 및 사용 예제

서버 간 파일 전송 시 SCP와 rsync는 자주 사용되는 명령어입니다. 두 명령어 모두 SSH 프로토콜을 기반으로 보안이 뛰어나지만, 목적과 동작 방식에는 차이가 있습니다. 🔹 SCP (Secure Copy) 기본 개념: SCP는 SSH 프로토콜을 이용하여 네트워크를 통해 파일이나 디렉터리를 단순히 복사하는 명령어입니다. 장점 보안성이 높음 (SSH 암호화 사용) 간단한 명령으로 빠르게 파일 전송 가능 대부분 리눅스 시스템에 기본 포함되어 있음 … 더 읽기