애플리케이션이 커넥션을 얻는 과정 애플리케이션 로직은 DB 드라이버로 커넥션을 조회 DB 드라이버는 DB 와 TCP/IP 커넥션을 연결 DB 드라이버는 TCP/IP 커넥션으로 ID, PW 기타 부가정보를 DB에 전달 DB는 ID, PW 로 내부 인증 후 DB 세션을 생성한다. DB 드라이버는 DB 세션 생성이 완료된 경우 "커넥션 생성 완료"라는 응답을 받는다. DB 드라이버 커넥션 캑체를 생성해서 애플리케이션 로직에 반환 한다. 커넥션 생성은 환경에 따라 차이가 있으며 일반적으로 시간이 소요됩니다. 이로 인해 서비스 이용자가 애플리케이션 로직을 통해 데이터베이스(DB)에 접근할 때마다 커넥션 생성 시간이 추가되어 응답이 늦어질 수 있다. 이는 서비스 이용자에게 사용자 경험을 저하시킬 수 있는 부정적인 ..
JDBC(Java Database Connectivity)는 Java를 이용하여 다양한 데이터베이스에 접속하고 데이터를 처리하기 위한 자바 표준 인터페이스(API)이다. 이를 통해 자바 애플리케이션은 데이터베이스와 효율적으로 통신할 수 있다. JDBC 개발 이전에는 데이터 베이스를 변경 시마다 기존 데이터 베이스 API 코드를 수정하고 새로운 데이터 베이스 API를 학습해야 하는 번거로움이 있었다. 그리고 이러한 문제를 해결하고자 JDBC 가 개발 되었다. JDBC는 데이터 베이스 연결, 쿼리 수행, 결과 처리 등을 표준화된 방법으로 제공하며, 이를 통해서 데이터 베이스 작업이 필요한 애플리케이션 로직을 효율적이고 일관된 코드를 작성 할 수 있다. JDBC 핵심 인터페이스 JDBC는 Connection,..
JVM이란 자바 가상 머신의 약자로 Java 바이트 코드(*.class)를 실행할 수 있는 프로그램을 말한다. 자바 바이트 코드는 OS를 기준으로 컴파일된 것이 아닌 JVM을 기준으로 컴파일된 것으로 OS에 종속적이지 않고 JVM 이 설치된 모든 OS에서 같은 애플리케이션을 실행할 수 있다. Java 바이트 코드 JVM이 실행하는 명령어의 집합 형태 이다. JavaCompiler를 통해서 Java 소스 코드('*.java')을 컴파일하여 Java 바이트 코드('*.class')를 만들 수 있다. JVM 특징 스택 기반의 가상 머신 ex: 20 + 7 연산을 한다면 POP을 2번 해서 20, 7을 스택에서 빼고 연산하여 27을 스택에 PUSH 한다. 심볼릭 래퍼런스(symbolic reference) 실제..
빌드 도구란? 소스코드를 컴파일, 테스트등에 과정을 거쳐 실행 가능한 애플리케이션을 자동으로 생성해주는 프로그램 이다. 빌드 도구는 라이브러리를 추가, 제거, 버전관리에 도움을 준다. Maven 과거 빌드툴 Ant에 문제점인 빌드 스크립트 작성과 의존성 관리에 어려움을 해결하기 위해서 개발 되었다. Maven에 특징은 아래와 같습니다. - Build Lifecycle(빌드 생명주기) 라는 미리 정해진 빌드 순서로 compile, build, site 라는 이름에 3가지 라이프사이클을 제공해준다. - POM(Project Object Model)이라는 xml 형식에 파일을 통해서 maven 에 기능(빌드 방식, 라이브러리 의존성 관리등)을 이용하거나 프로젝트에 정보를 저장한다. Gradle Maven에 장..