일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Python
- 책
- spring
- 네트워크
- 티스토리챌린지
- git
- pandas
- SQL
- oracle
- Linux
- 리눅스
- 명령어
- 책추천
- 후기
- mysql
- MariaDB
- 개발자
- mssql
- 개발
- Javascript
- AI
- docker
- react
- java
- 자바
- 독서
- IntelliJ
- 오블완
- DBMS
- PostgreSQL
- Today
- Total
목록java (31)
hanker
앱 에서 카메라를 이용해서 찍은 사진들을 삭제 시키는 방법에 대해서 알아보자. 요약 앱내에서 카메라 기능을 이용하여 사진을 찍은 후 이미지를 삭제하는 기능 구현이미지 목록을 보는 화면에서 삭제버튼 추가 (아래 2번)Activity에서 onClick 메서드를 생성 후 삭제 버튼 클릭 시 실행되는 기능 구현 (아래 1번)경로 / 이미지 파일 정보가 담긴 리스트를 가져와서 파일을 삭제해준 후 삭제가 완료되면 toast 메시지 출력1. ImageListActivity.java 삭제 버튼을 클릭했을 때 이미지 리스트를 가져와서 이미지를 삭제 해주는 코드@Override public void onClick(View v) { int id = v.getId(); if(id == R.i..
이 에러는 빈 리소스 경로나 잘못된 경로로 요청이 들어와서 발생하는 문제이다. 해결 방법 Spring Boot의 정적 리소스 핸들러 설정에서 잘못된 경로 요청을 안전하게 처리하기 위해 아래 코드를 추가하자.@Configurationpublic class WebMvcConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { // 기본 리소스 핸들러들... // 마지막에 잘못된 경로 처리용 핸들러 추가 registry.addResourceHandler("/**") ..
자바에서 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..

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에서 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..
웹 개발을 하다 보면 페이징 처리는 필수적으로 하게 되는데,그리드 라이브러리를 쓰지 않고 처리하게 될 경우 페이징은 손수 개발자가 직접 구현해야 한다. 이번 글에서는 페이징 처리를 하기 위해 각 SQL 별로 페이징 쿼리를 알아보자. 1. Client → Server 파라미터 값 - page : 현재 페이지 번호 - 1 (예를 들어 3페이지면 page = 2)- size : 페이지당 데이터 건수 (한 페이지당 보여질 데이터 수)- offset : page * size * offset 값은 항상 page * size로 계산2. 각 DBMS 별 Query 2-1. MySQLMySQL인 LIMIT과 OFFSET구문을 사용한다.-- MySQL-- offset = page * sizeSELECT *FROM use..

https://hanke-r.tistory.com/entry/Java-CheckedException%EA%B3%BC-UncheckedException%EC%9D%B4-%EB%AD%90%EC%A7%80 이전에 예외처리 관련해서 글을 작성했었는데, 해당 내용만으로는 실제 활용하기에는 어려움이 있어, 보다 더 자세하게 예외처리에 대해서 작성해 본다. 이번 글에서는 예외처리를 어떻게 사용하는지와 효율적으로 관리하는 방법에 대해서 알아보자. 1. 예외의 종류와 특징 자바의 예외는 크게 Checked Exception과 Unchecked Exception으로 나뉜다.위 링크에 상세하게 설명해 있으니 간단하게만 작성하고 넘어가도록 하자. 1-1. Checked Exception- 컴파일러가 예외 처리를 강제- 반드시..
자바에서 객체지향 프로그래밍(OOP) 개념에서 상속과 다형성은 매우 중요하다. 이번 글에서 어떤 개념인지, 어떻게 활용하는지에 대해서 알아보자. 1. 추상 클래스와 인터페이스https://hanke-r.tistory.com/entry/JAVA-JAVA%EC%97%90%EC%84%9C-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4%EC%99%80-%EC%B6%94%EC%83%81-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90%EC%9D%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C JAVA - JAVA에서 인터페이스와 추상 클래스의 차이점은 무엇일까?Java에서 인터페이스와 추..