| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- pandas
- SQL
- docker
- 명령어
- spring
- MariaDB
- java
- 책
- mssql
- 개발
- mysql
- 자바
- AI
- 독서
- 네트워크
- 책추천
- PostgreSQL
- 오블완
- 티스토리챌린지
- oracle
- 리눅스
- IntelliJ
- 후기
- git
- Python
- Javascript
- DBMS
- 개발자
- Linux
- react
- Today
- Total
목록JAVA (68)
hanker
HttpSession은 Java Servlet API에서 웹 애플리케이션이 클라이언트(웹 브라우저)와 서버 간의 상태 정보를 유지할 수 있도록 해주는 인터페이스이다.웹은 기본적으로 stateless 이기 때문에, 로그인 상태나 사용자의 고유 데이터를 유지하기 위해 HttpSession을 사용한다. 주로 웹 사용자의 세션관리나, 상태 정보 저장, 로그인 및 인증 상태 유지 등 클라이언트의 정보를 관리하는 역할을 한다. 이번 글에서는 HttpSession 인터페이스에 대해서 알아보고 사용할 수 있는 기능들에 대해서 알아보자 1. HttpSession 항목설명패키지javax.servlet.http타입인터페이스 (Interface)역할클라이언트와 연결된 세션 객체 표현, 사용자별 데이터 저장 및 상태 유지 기본..
Java 17은 2021년 9월에 릴리스된 LTS(Long Term Support) 버전으로, Java 11 이후 가장 중요한 업데이트이다.이번 글에서는 Java 11 버전과 Java 17 버전의 핵심 변경점에 대해서 알아보자. 1. 언어 기능 개선 1.1 텍스트 블록 (Text Blocks) - Java 15에서 정식 도입기존 Java에서 멀티라인 문자열을 작성할 때 발생하던 가독성 문제와 복잡한 이스케이프 시퀀스 문제를 해결하기 위해 개발되었다. // Java 11 (기존 방식) String json = "{\n" + " \"name\": \"홍길동\",\n" + " \"age\": 30,\n" + ..
자바에서 Base64 인코딩/디코딩을 할 때 아직도 sun.misc.BASE64Encoder를 사용하고 있다면, 이제는 사용할 수 없다.Java 8부터 사용이 권장되지 않았고(deprecated), Java 9부터는 아예 코드에서 제거되었기 때문에 최신 자바 환경에서는 컴파일조차 되지 않는다. 대신, Java 8부터 표준 라이브러리에 포함된 공식적인 대체재인 java.util.Base64 클래스를 사용해야 한다.이 클래스는 Base64 작업을 위한 안정적이고 안전하며 공식적으로 지원되는 방법을 제공한다. Java 11 버전 이상에서 Base64 인코딩/디코딩 예제 import java.util.Base64;public class Base64Example { public static void mai..
Java 8 이후 3년 만에 출시된 Java 11 버전 (LTS 버전)의 주요 차이점들을 알아보자. 주요 요약표구분Java 8Java 11HTTP 클라이언트HttpURLConnection새로운 HTTP Client APIString 처리기본 메서드isBlank(), strip(), repeat() 등 추가파일 I/O복잡한 코드Files.readString(), writeString()라이선스무료Oracle JDK 유료화 (OpenJDK 무료) 1. 라이선스 정책의 변화 Java 11의 가장 큰 변화 중 하나는 Oracle JDK의 라이선스 정책이다.Oracle JDK는 상업적 사용 시 유료 라이선스가 필요하게 되었지만, OpenJDK는 여전히 무료로 사용할 수 있다. 대부분의 기업은 OpenJDK 기..
Java String to 전화번호 형식으로 포맷팅 방식/** * 전화번호 포맷팅 클래스 */public class PhoneNumberFormatter { /** * 전화번호 문자열을 받아서 표준 포맷으로 변환합니다. * @param phoneNumber 원시 전화번호 문자열 (예: "01012345678", "(010)12345678") * @return 포맷팅된 전화번호 문자열 또는 포맷팅이 불가능한 경우 원본 문자열 반환 */ public static String formatPhoneNumber(String phoneNumber) { // 1. 전화번호에서 숫자만 추출합니다. String digits = phoneNumber.repl..
Java 어노테이션은 클래스, 메서드, 필드 등 다양한 프로그램 요소에 메타데이터를 추가할 수 있는 강력한 도구이다.내장 어노테이션뿐만 아니라, 상황에 맞게 직접 정의한 커스텀 어노테이션을 활용하면 코드의 가독성, 유지보수성, 그리고 다양한 프레임워크와의 연동을 더욱 용이하게 만들어 준다. 이번 글에서는 Java 커스텀 어노테이션의 개념과 정의방법, 그리고 사용 예제를 알아보자. 1. 커스텀 어노테이션 커스텀 어노테이션은 개발자가 직접 정의하는 메타데이터로, 코드에 추가적인 정보를 제공하여 컴파일 타임이나 런타임에 다양한 처리를 수행할 수 있게 도와준다. 예를 들어, 특정 메서드에 대한 문서화, 로깅, 검증 또는 프레임워크에서 자동으로 특정 기능을 적용하는 등의 역할을 할 수 있다. 2. 커스텀 어노테이..
Enum 클래스는 Java에서 상수 집합을 정의하기 위한 특수한 데이터 타입이다.Java 5에서 도입된 enum은 단순한 상수 나열 이상의 기능을 제공하며, 객체지향적인 설계를 도와준다. 이번 글에서는 Enum 클래스의 주요 특징과 사용법, 내부 메커니즘에 대해서 알아보자. 1. Enum 이란? Enum은 한정된 상수들의 집합을 나타내며, 타입 안전성을 보장한다.즉, 미리 정의된 값 이외의 값이 할당되지 않아 코드의 안정성을 높인다.public enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY}위의 예제는 요일을 상수로 정의한 Enum 이다. 2. Enum의 내부 구조와 동작 2-1. Java.lang.Enum 상속모..
Java의 Map 인터페이스는 데이터를 키-값 쌍으로 저장하는 자료구조로, 단순한 put/get 외에도 다양한 기능을 제공한다.이번 글에서는 다양한 활용방법과 동작 방법에 대해서 알아보자. 1. Map 이란 1-1. Map 개념Map은 각 데이터가 고유한 키와 그에 대응하는 값으로 구성된다.한 키에는 하나의 값만 매핑된다.예를 들어, {"apple" : 1, "banana": 2} 와 같이 구성된다.- 키는 중복될 수 없다. - 값은 중복될 수 있다. 1-2. 구현체 종류Java에서는 여러 Map 구현체를 제공한다.- HashMap : 해시 테이블을 기반으로 하며, 순서 보장이 없다.- TreeMap : 키를 정렬된 순서에 따라 저장한다.- LinkedHashMap : 삽입 순서 또는 접근 순서를 유지한..
Java에서 Set이란 단순하게 얘기하면 중복을 제거해주는 컬렉션이다. 이번 글에서는 단순하게 중복을 제거하는 컬렉션 이상의 내용을 알아보자.1. Set의 기본 사용법 1-1. Set이란?Set은 중복된 값을 허용하지 않으며 순서가 보장되지 않는다. 1-2. HashSet, TreeSet, LinkedHashSet 사용 예제public class Main { public static void main(String[] args) { // HashSet: 빠른 검색(O(1)), 순서 보장X Set hashSet = new HashSet(); hashSet.add("Python"); hashSet.add("Java"); hashSet.add..
이번 글에서 List 인터페이스에 대해서 알아보려한다.List 인터페이스는 여러 구현 클래스를 제공하는데, 해당 구현체들의 특징과 장단점 및 예제를 자세하게 알아보자! 1. List 인터페이스 List는 순서가 있는 데이터를 저장하고, 중복 요소를 허용하는 특징을 가지고 있다.다양한 구현 클래스를 제공하고, 대표적으로 ArrayList, LinkedList, Vector 가 있다. 1-1. List 특징- 순서 유지 : 입력된 순서대로 요소가 저장된다.- 인덱스 접근 가능 : 요소를 index를 사용해 직접 접근 가능- 중복 허용 : 동일한 값의 요소를 여러 개 저장 가능 1-2. 주요 구현 클래스클래스 명특징ArrayList조회 성능 우수, 삽입/삭제 속도 상대적으로 느림LinkedList조회 속도 상..