전체 글 180

ServletResponse.isComitted(), FilterChain (with GPT)

ServletResponse.isCommitted()ServletResponse.isCommitted() 메서드는 Java의 Servlet API에서 응답(Response)이 클라이언트로 전송되었는지 확인하는 메서드임.역할 및 동작isCommitted() 메서드는 응답의 헤더 또는 본문 내용이 이미 클라이언트로 전송되었는지 여부를 boolean 값으로 반환함.응답이 커밋되었으면 true, 아직 클라이언트로 전송되지 않았다면 false를 반환함.주요 특징커밋의 의미:HTTP 응답이 커밋된다는 것은 응답 헤더와 상태 코드가 클라이언트로 전송되었다는 것을 의미함.일반적으로, 첫 번째 바이트가 응답 본문에 기록되면 응답이 커밋됨.또는 flushBuffer() 메서드가 호출되면 강제로 커밋됨.커밋 후 작업 제한:..

Spring 2024.12.19

(지피티 선생님의) InvokeDynamic 특강

(지피티 선생님의) 람다와 일급 객체, FP 특강🍱  말밥: 람다와 일급 객체람다를 이렇게 생각해봐. ‘코드를 바로 손에 들고 쓸 수 있는 작은 조각’ 같은 거야. 한 번, 이런 상상을 해보자:🍳 요리사 이야기요리사가 있는데, 이 사람은 특99duuk.tistory.com이어서!!! 🍱 말밥: 인보크 다이나믹이 뭐야?자, 인보크 다이나믹(InvokeDynamic)은 자바의 "마술 도구" 같은 거야.평소에 우리가 코드를 실행할 때, 자바는 "야, 이 메서드 찾아봐!" 하면서 메서드 호출 경로를 딱딱하게 정해둬.그런데 인보크 다이나믹은 이렇게 고정된 호출 경로를 완전히 유연하게 만들어줘.🍳 비유: 요리사의 비법보통 요리사가 요리를 만들려면:**레시피(코드)**를 꺼내고,그걸 따라 만들어야 해.즉, 어..

Java 2024.12.12

(지피티 선생님의) 람다와 일급 객체, FP 특강

🍱  말밥: 람다와 일급 객체람다를 이렇게 생각해봐. ‘코드를 바로 손에 들고 쓸 수 있는 작은 조각’ 같은 거야. 한 번, 이런 상상을 해보자:🍳 요리사 이야기요리사가 있는데, 이 사람은 특별한 레시피 없이도 음식을 만들 수 있는 대단한 실력자야. "이 재료로 이렇게 해줘!"라고만 말하면 바로 요리를 시작하지. 이게 바로 람다야. **필요한 재료(인자)**를 주고, **어떻게 요리할지(동작)**를 간단히 정의하면 끝.람다를 쓰면 긴 레시피(함수 정의)를 생략하고, 짧고 귀여운 한 줄로 '작업 지시서'를 적을 수 있는 것이지!🎩 일급 객체란?이제 무대로 넘어가 보자. 일급 객체는 VIP!이 VIP는 다른 '일반적인 값'처럼 놀 수 있는 아주 멋진 자격을 가진 존재야. 예를 들어 함수나 람다를 말이지..

Spring 2024.12.12

부트 외장톰캣 사용

부트로 만든 프로젝트는 jar로 말아져 톰캣을 포함한다..벗... 외장 톰캣을 사용해야하는 경우가 있다...생각보다 ... 외장톰캣을 사용하는 것은 간단하다.. 먼저 pom.xml에 .. 0.0.1-SNAPSHOT war // 추가 ext-tomcatwar로 말겠다고 명시를 해주고...  org.springframework.boot spring-boot-starter-tomcat provided 요놈도 요로코롬 provided로 바꿔줘야 한다고 지피티가 그랬는데 원래 이렇게 되어있었음...spring-boot-starter-tomcat을 provided로 설정하는 이유는 외장 톰캣을 사용할 때, 내장 톰캣 라이브러리를 제외하여 외장 톰캣의 서블릿 컨테이너에 의존하기 위함이다. 그렇지 않으..

Spring Boot 2024.12.12

ㅋㅋ

**람다(lambda)**부터 시작해서 차근차근 설명해볼게요.람다(lambda)란?람다는 **익명 함수(anonymous function)**라고도 불리며, 이름이 없는 간단한 함수입니다.자바 8부터 도입되었으며, 간결한 문법으로 함수형 프로그래밍을 지원합니다. • 예시 (람다 표현식):// 기존 방식: 익명 클래스Runnable runnable = new Runnable() { @Override public void run() { System.out.println("Hello, Lambda!"); }};// 람다 방식Runnable lambdaRunnable = () -> System.out.println("Hello, Lambda!");람다의 주요 특징은 코드를 간결하게 ..

카테고리 없음 2024.12.11

파라미터 타입이 다른 공통 로직 모듈화 - 어댑터 패턴

그리고 다시 이어서 2024.12.11 - [Java] - 파라미터 타입이 다른 공통 로직 모듈화 - 인터페이스 파라미터 타입이 다른 공통 로직 모듈화 - 인터페이스파라미터 타입이 달라 코드 중복이 발생하는 문제"를 인터페이스를 통해 해결하는 것을 간단한 예로 다시 정리해둔 것임...Animal 인터페이스를 활용하여 공통 로직을 모듈화하고,파라미터 타입99duuk.tistory.com 기존 코드를 수정하기 두렵거나.. 다양한 타입의 객체를 통합된 방식으로 처리해야 하는 상황이라면 어댑터 패턴 또한 고려해볼만할지도? (맞는지모름) 1. 어댑터 패턴의 기본 개념어댑터 패턴은 두 가지 시스템(또는 클래스)이 호환되지 않을 때,중간에 어댑터 클래스를 만들어 서로를 연결하는 디자인 패턴임이 패턴은 특정 인터페이스..

Java 2024.12.11

파라미터 타입이 다른 공통 로직 모듈화 - 정적 팩토리 메서드

2024.12.11 - [Java] - 파라미터 타입이 다른 공통 로직 모듈화 - 인터페이스2024.12.11 - [Java] - 파라미터 타입이 다른 공통 로직 모듈화 - 제네릭 파라미터 타입이 다른 공통 로직 모듈화 - 제네릭파라미터 타입이 다른 공통 로직 모듈화 -2024.12.11 - [Java] - 파라미터 타입이 다른 공통 로직 모듈화 - 인터페이스 파라미터 타입이 다른 공통 로직 모듈화 - 인터페이스파라미터 타입이 달라 코99duuk.tistory.com다시 이어서 .. 2024.10.21 - [Java] - 정적 팩토리 메서드 정적 팩토리 메서드| 정적 팩토리 메서드는 객체를 만드는 특별한 방법임일반적인 생성자 대신, 클래스 안에 객체를 만드는 전용 메서드를 만들어 사용함.이 메서드는 이름..

Java 2024.12.11

파라미터 타입이 다른 공통 로직 모듈화 - 제네릭

파라미터 타입이 다른 공통 로직 모듈화 -2024.12.11 - [Java] - 파라미터 타입이 다른 공통 로직 모듈화 - 인터페이스 파라미터 타입이 다른 공통 로직 모듈화 - 인터페이스파라미터 타입이 달라 코드 중복이 발생하는 문제"를 인터페이스를 통해 해결하는 것을 간단한 예로 다시 정리해둔 것임...Animal 인터페이스를 활용하여 공통 로직을 모듈화하고,파라미터 타입99duuk.tistory.com 이어서..  모든 클래스가 공통 부모 클래스(Auth)를 상속받고 있을 경우,인터페이스 없이 제네릭을 활용해 공통 로직 처리 ..public class Dog extends Auth{ private String name; private int age; private String bree..

Java 2024.12.11

파라미터 타입이 다른 공통 로직 모듈화 - 인터페이스

파라미터 타입이 달라 코드 중복이 발생하는 문제"를 인터페이스를 통해 해결하는 것을 간단한 예로 다시 정리해둔 것임...Animal 인터페이스를 활용하여 공통 로직을 모듈화하고,파라미터 타입이 달라도 하나의 메서드에서 처리할 수 있도록 ... Dog, Cat, Bird와 같은 다양한 동물 객체가 있각 동물 클래스는 공통적으로 이름(name)과 나이(age)를 가지고 있지만,특정 동물마다 고유한 속성이 추가로 존재 공통 로직은 동물의 이름과 나이를 출력하는 작업하지만 각 동물 클래스가 서로 다른 타입이기 때문에 코드 중복이 발생클래스 구조 public class Dog { private String name; private int age; private String breed; // 고유 ..

Java 2024.12.11