본문 바로가기

전체 글

(86)
JAVA 프로그램이 실행되는 흐름 자바 프로그램이 실행되는 과정 세부적 설명자바(Java)는 클래스 및 메서드 기반의 객체 지향 프로그래밍 언어로, 여러 프로세스에서 가장 많이 사용되는 언어 중 하나입니다. 이번 글에서는 자바 프로그램이 실행되는 과정을 쉽게 이해할 수 있도록 단계별로 정리해 보겠습니다.1. 소스 코드 작성 (.java 파일)자바 프로그램은 먼저 .java 파일로 작성됩니다.public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); }}2. 컴파일 (javac) - 바이트코드 생성.java 파일을 자바 컴파일러(javac)를 사용하여 .class 파일(바이트코드)로 변환합니..
SSLHandshakeException: PKIX path building failed 에러 해결 방법 (인증서오류) 회사에서 매일 공공기관에서 제공하는 API를 연동하여 데이터를 가져와 가공하는 작업을 하는데 SSLHandshakeException: PKIX path building failed SSL 인증서 오류가 발생하여 연결이 안돼 해당 배치 프로세스가 비정상 종료되었다. 이에 내가 대응하여 리눅스 환경 및 자바 애플리케이션에서 SSL인증서 교체 후 API URL 정상 연동 방법을 기록하겠다. 1. 인증서 확인 서버 내 내가 접근할 API URL의 전용 인증서가 유효한지 아래 명령어로 확인oepnssl s_client -connect 접속URL:포트번호 Unable to get local issuer certificate : 중간 체인 인증서 오류 Unable to verify the first certific..
GoF 디자인 패턴 - 빌더 패턴 (Builder Pattern) 1. 빌더 패턴이란?빌더 패턴은 생성 패턴 (Creational Patterns)의 하나로써 복잡한 객체의 생성을 단계적으로 수행하며, 다양한 구성 방법을 제공하는 생성 패턴이다. 객체의 생성 과정과 표현을 분리하여 동일한 생성 절차에서 서로 다른 표현의 객체를 만들 수 있도록 한다.특징객체의 생성 과정 분리: 클라이언트가 객체의 생성 과정을 알 필요 없이, 빌더가 단계적으로 객체를 구성한다.가독성 및 유지보수성 향상: 생성자에 많은 매개변수를 전달하는 방식보다 직관적인 방식으로 객체를 구성할 수 있다.불변 객체 생성에 유리: 필드가 많은 객체를 생성할 때, 불변성을 유지하기 쉽게 설계할 수 있다.2. 빌더 패턴의 구조Product(제품 클래스): 빌더를 통해 생성될 복잡한 객체를 정의한다.Builder..
FTP 기본 명령어 정리 FTP(File Transfer Protocol)는 네트워크를 통해 파일을 전송하는 표준 프로토콜로, 명령줄 인터페이스(CLI)를 사용하여 다양한 작업을 수행할 수 있다. 아래는 FTP의 주요 명령어와 그 사용법을 정리한 내용이다.1. FTP 서버 접속 및 설정ftp [호스트명 또는 IP] [포트번호]특정 FTP 서버에 접속한다. 기본 포트는 21이지만, 필요에 따라 다른 포트를 지정할 수 있다.예시: ftp 192.168.1.1 ftp example.com 2121 open [호스트명 또는 IP] [포트번호]현재 FTP 세션에서 새로운 서버에 접속할 때 사용한다.예시: open ftp.example.com 2121 user [사용자이름] [비밀번호]특정 사용자 계정으로 로그인한다.예시: user myu..
Java를 활용한 SFTP 파일 다운로드: 가장 최근 변경된 파일 찾기 SFTP(SSH File Transfer Protocol)를 이용하면 원격 서버에서 파일을 안전하게 업로드 및 다운로드할 수 있습니다. 이번 글에서는 Java의 JSch 라이브러리를 사용하여 SFTP 서버에 연결하고, 가장 최근에 변경된 파일을 찾아 다운로드하는 방법을 소개합니다.1. 프로젝트 설정1.1 Maven 또는 Gradle로 JSch 라이브러리 추가Maven 프로젝트의 경우 pom.xml에 다음 의존성을 추가합니다. com.jcraft jsch 0.1.55Gradle 프로젝트의 경우 build.gradle에 추가합니다.dependencies { implementation 'com.jcraft:jsch:0.1.55'}2. SFTP 서버에서 가장 최근 파일 다운로드하기2.1 J..
오라클 힌트(Oracle Hint) 정리 – 자주 사용하는 힌트와 최적화 전략 오라클 데이터베이스에서 SQL 실행 계획을 제어하는 방법 중 하나가 바로 힌트(Hint)입니다. 옵티마이저(Optimizer)는 자동으로 최적의 실행 계획을 선택하지만, 때때로 예상과 다른 실행 계획이 선택될 수도 있습니다. 이때, 힌트를 사용하면 개발자가 원하는 방식으로 실행 계획을 유도할 수 있습니다.이번 포스팅에서는 오라클에서 가장 많이 사용되는 힌트들을 정리하고, 각각의 동작 방식과 활용 예제를 소개하겠습니다.1. 오라클 힌트란?힌트(Hint)는 SQL 문 내에서 /*+ HINT_NAME */ 형식으로 작성되며, 옵티마이저가 특정 실행 계획을 선택하도록 유도하는 역할을 합니다. 힌트 기본 사용법:SELECT /*+ HINT_NAME */ 컬럼명 FROM 테이블명 WHERE 조건;/*+ */ 안에 ..
오라클 SQL 최적화를 위한 Oracle 인덱스 힌트(Index Hint) 사용법과 예제 1. Oracle 힌트(Hint)란?Oracle 힌트는 SQL 문에 대한 실행 계획을 옵티마이저에게 직접 지시하는 기능입니다. 이를 통해 특정 인덱스를 강제로 사용하게 하거나, 조인 방식 등을 지정할 수 있습니다.힌트는 /*+ HINT_NAME */ 형식으로 작성되며, 일반적으로 SELECT, INSERT, UPDATE, DELETE 문과 함께 사용됩니다.2. 인덱스 관련 Oracle 힌트 종류Oracle에서는 특정 인덱스를 사용하도록 유도하는 다양한 힌트를 제공합니다. 아래는 대표적인 힌트 목록입니다. 2.1 INDEX 힌트특정 인덱스를 사용하도록 강제하는 힌트입니다.사용법:SELECT /*+ INDEX(emp emp_idx) */ * FROM emp WHERE deptno = 10;설명:emp 테이블..
GoF 디자인 패턴 - 추상 팩토리 패턴 (Abstract Factory Pattern) 1. 추상 팩토리 패턴이란?추상 팩토리 패턴은 생성 패턴 (Creational Patterns)의 하나로써 관련된 객체들의 집합을 생성할 수 있도록 하는 패턴으로, 구체적인 클래스를 지정하지 않고도 객체를 생성할 수 있도록 한다. 특정 제품군에 속하는 객체들을 일관된 방식으로 생성하는 데 유용하다.특징일관된 객체 생성: 동일한 제품군에 속하는 객체들을 일관된 방식으로 생성할 수 있다.구체적인 클래스의 의존성 제거: 클라이언트 코드에서 특정 구현 클래스를 직접 참조하지 않도록 할 수 있다.객체 생성의 확장성 향상: 새로운 제품군을 추가할 때 기존 코드 변경을 최소화할 수 있다.2. 추상 팩토리 패턴의 구조AbstractFactory(추상 팩토리 인터페이스): 제품군을 생성하는 메서드를 선언한다.Concre..

반응형