본문 바로가기

Java

(125)
Stream API - 부록 3 💡 학습 목표 1. 자바 I/O 에서의 스트림( java.io.)과 java.util.stream 패키지에 있는 Stream 구분해서 이야기할 수 있다.  스트림 패키지의 구분자바 I/O 스트림은 데이터를 읽고 쓰는 목적으로 사용됩니다. 파일, 네트워크, 메모리 등 다양한 소스에서 바이트나 문자 데이터를 읽거나 쓰기 위한 스트림입니다. InputStream과 OutputStream이 대표적인 I/O 스트림입니다. Stream API와 자바 I/O 스트림은 이름은 비슷하지만, 완전히 다른 개념입니다. Stream API는 자바 8에서 도입된 중요한 기능 중 하나로, 데이터 컬렉션(자료구조)을 처리할 때 사용되는 강력한 도구입니다. 스트림(Stream)은 데이터를 선언적으로 처리할 수 있게 하며, 특히 대..
람다식(Lambda expression) - 부록 2 💡 학습 목표 1. 람다식의 기본 개념과 문법을 직접 말할 수 있다. 2. 기존에 자바 코드를 람다식 표현법을 사용해서 작업할 수 있다. 3. 함수형 인터페이스(Functional Interface)가 무엇인지 간단하기 말할 수 있다. 4. 자바8 버전부터 제공해주는 interface Function 을 활용할 수 있다. 자바에서 람다식(Lambda expression)은 함수형 프로그래밍 개념을 도입한 것으로, 익명 함수(이름이 없는 함수)를 간결하게 표현할 수 있게 해 줍니다, 람다식은 자바 버전 8(2014년 출시)부터 사용할 수 있습니다. 추가로 자바 8은 함수형 프로그래밍을 지원하기 위한 여러 기능을 함께 도입했습니다즉, 람다식을 사용하면 코드가 간결해지고, 특히 컬렉션이나 스트림 API 을 ..
JDBC 실습 예제 - 10 🔔 학습 목표JDBC를 사용하여 학생 관리 시스템을 구축해 보자.학생의 정보를 데이터베이스에 저장하고 관리하는 간단한 시스템을 구축합니다. 학생 정보를 추가, 조회, 수정, 삭제할 수 있는 기능을 구현합니다. 기능 요구사항학생 정보 추가학생 정보 조회학생 정보 수정학생 정보 삭제비기능 요구사항사용자 친화적인 콘솔 인터페이스 제공적절한 예외 처리 및 로그 기록데이터베이스 연결 풀 사용(HikariCP)>> 프로젝트 설계 데이터베이스 설계 및 테이블 생성테이블 - tbstudent 컬럼 - id, name, age, emailcreate database studentdb;CREATE TABLE students ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHA..
JDBC에서의 예외 처리 - 9 🔔 학습 목표JDBC에서 발생할 수 있는 예외를 이해하고 효과적으로 처리하는 방법을 배웁니다. 예외 발생 시 로그를 기록하고, 사용자에게 유용한 피드백을 제공하는 방법을 알아 보자. SQLException 다루기SQLException은 JDBC에서 발생할 수 있는 일반적인 예외입니다. 이 예외는 데이터베이스와의 통신 중에 발생하는 오류를 나타냅니다. SQLException은 다양한 속성과 메서드를 제공하여 예외에 대한 상세한 정보를 제공합니다.주요 속성 및 메서드:getErrorCode(): 데이터베이스 벤더가 제공하는 특정 오류 코드를 반환합니다.getSQLState(): SQLState 코드를 반환합니다. 이 코드는 표준 SQL 상태 코드를 나타냅니다.getMessage(): 예외 메시지를 반환합니..
JDBC 성능 최적화 - 8 🔔 성능 향상 기법1. PreparedStatement 사용의 장점 2. 연결 풀 (Connection Pool) 사용  - 데이터 소스 (Data Source)의 개념  - 연결 풀의 장점(Connection Pool)3.캐싱 전략1. PreparedStatement 사용의 장점PreparedStatement는 SQL 쿼리를 미리 컴파일하고, 동일한 쿼리를 반복해서 실행할 때 효율적으로 사용할 수 있는 인터페이스입니다. 이는 성능과 보안 측면에서 많은 장점을 제공합니다.성능 향상:쿼리 컴파일: SQL 쿼리를 미리 컴파일하여, 쿼리를 여러 번 실행할 때 컴파일 시간을 절약할 수 있습니다.쿼리 계획 재사용: 동일한 쿼리를 반복적으로 실행할 때, 쿼리 계획을 재사용하여 실행 시간을 단축할 수 있습니다.보안..
JDBC를 활용한 CRUD 와 SOLID 원칙 - 7 콘솔을 활용한 간단한 퀴즈 게임 만들어 보기DB , 테이블 설계기본 데이터 입력(정규화)자바측 라이브러리 설정자바측 기능 구현 및 테스트리팩토링-- 데이터베이스 생성 create database quizdb; use quizdb;drop table quiz;create table quiz( id int auto_increment primary key, question varchar(500) not null, answer varchar(500) not null);desc quiz;-- 기본 샘플 데이터 입력 insert into quiz(question, answer ) values ('대한민국의 수도는?', '서울'), ('한반도의 남쪽에 위치한 나라는?', '대한민국'), ..
JDBC 트랜잭션 관리와 배치 처리 - 6 1. 트랜잭션 관리(commit, rollback)트랜잭션은 여러 SQL 문을 하나의 작업 단위로 묶어주는 것을 의미합니다. commit은 트랜잭션을 완료하여 변경사항을 저장하고, rollback은 트랜잭션을 취소하여 변경사항을 되돌립니다. 트랜잭션의 개념과 중요성트랜잭션의 개념:트랜잭션(Transaction)은 데이터베이스에서 하나의 논리적인 작업 단위를 의미합니다. 여러 SQL 문이 하나의 작업으로 묶여서 실행됩니다.트랜잭션은 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability)의 특성을 갖습니다. 이를 ACID 특성이라고 합니다.원자성 (Atomicity) 원자성은 트랜잭션의 모든 작업이 성공적으로 완료되거나, 전혀 실행되지 않은 상태..
래퍼 클래스 - 부록 1 프로그래밍을 하다 보면 기본 타입의 데이터를 객체로 표현해야 하는 경우가 종종 있습니다. 이럴 때에 기본 자료타입(primitive type)을 객체로 다루기 위해서 사용하는 클래스들을 래퍼 클래스(wrapper class)라고 합니다.package ch01;public class MainTest1 { public static void main(String[] args) { // 박싱, 언박싱 이라는 용어를 이해하자. int num1 = 3; // ---> Integer Integer num2 = new Integer(3); // 박싱 int num3 = num2.intValue(); // 언박싱 System.out.println(num2); System.out.println(num..