본문 바로가기
반응형

IT/java38

기본 Chat에 메모리 기능 추가! AI 챗 모델 만들때 기본 코스? 인AI에게 내 이름 기억하게 하기 위한 메모리 기능 추가 입니다. 이전 프로그램Spring AI 를 이용한 기본 Chat 프로그램 만들기 Spring AI 를 이용한 기본 Chat 프로그램 만들기출처: 이것이 Spring AI 다 해당 책에서연동부분만 Claude 로 변경했습니다! * 환경 구성- JDK21 설치Java Downloads | Oracle Download the Latest Java LTS FreeSubscribe to Java SE and get the most comprehensive Java support available,taisou.tistory.com 에서 아래 파일들 같이 추가 수정 하면됩니다. AiServiceByChatClient.javap.. 2025. 11. 4.
Spring AI 를 이용한 기본 Chat 프로그램 만들기 출처: 이것이 Spring AI 다 해당 책에서연동부분만 Claude 로 변경했습니다! * 환경 구성- JDK21 설치Java Downloads | Oracle Download the Latest Java LTS FreeSubscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.www.oracle.com - JAVA_HOME 설정 - vscode 설치Visual Studio Code - The open source AI code editor Visual Studio Code - The open source AI code editorVisual Studio Co.. 2025. 11. 3.
모듈화 이용하기 ( JDK21 ) JDK9 부터 도입된 모듈화 이지만,잘 사용하지 않기도 해서 익숙하지가 않습니다. 그래도 이젠 익숙해져야 하기에!! 나름 정리를 해봅니다. * 단순 모듈화 프로젝트 구조 소스(src) 폴더 하위에 모듈단위로 폴더를 만들고, 모듈의 최상휘에 module-info.java 를 만든다.module-info.java 의 사용법module 모듈 이름 { requires 필요한 모듈 exports 공개할 패키지} 프로젝트 소스 구조your_project_root/├── src/│ ├── mod_main/│ │ ├── module-info.java│ │ └── kr/soen/main/│ │ └── Main.java│ └── mod_util/│ ├── mo.. 2025. 6. 19.
kafka 이용을 위한 client 의 프로젝트 셋팅 ( feat.gradle ) Mendix 10.21.1 기준 JDK21, Gradle 8.5 가 설치 되므로 이 환경에 맞추어서 구성하였다. 1. gradle 확인Mendix 10.21.1 을 설치하면 C:\Users\{사용자}\AppData\Local\Programs\Mendix\gradle-8.5에 기본으로 설치된다. PATH 를 연결하고 gradle -v 로 정상 확인한다. 2. 프로젝트 생성mkdir kafka-gradle-examplecd kafka-gradle-examplegradle init --type java-application 기본값으로 대부분 진행 한다. 3. 프로젝트 Import ( eclipse )Gradle > Existing Gradle Project 로 생성한 프로젝트를 불러온다. 4. build... 2025. 4. 23.
JDK 컴파일하기 ( OpenJDK17 ) 궁극의 자바 이해를 위해 JDK 를 컴파일 해보자.  깃헙 리포지터리 jdk 에 친절하게 컴파일 방법이 나와 있다.jdk/doc/building.md at master · openjdk/jdk (github.com) jdk/doc/building.md at master · openjdk/jdkJDK main-line development https://openjdk.org/projects/jdk - openjdk/jdkgithub.com 소스는 아래 리포지터리의 브런치를 보면, tag 로 찾아볼 수 있다.21버전이 최신이지만 웬지 최신의 길은 너무도 험난하니 17로 간다! 근데 설명서를 읽어보니 친절하게 17 같은 경우 openjdk/jdk17u 라는 이름으로 별도 리포가 있는거 같다.openjdk/jd.. 2024. 7. 7.
함수형 프로그래밍 with 자바 - 랜덤 생성수 통계(feat.ThreadLocalRandom) 랜덤 생성수를 이용한 통계시, 함수형 자바 이용하기 예제 입니다. package kr.samdogs.study.func.pojo;import java.util.IntSummaryStatistics;import java.util.Random;import java.util.SplittableRandom;import java.util.concurrent.ThreadLocalRandom;import java.util.function.IntUnaryOperator;public class RandomNumber { public static void main(String[] args) { //랜덤하게 발생하는 숫자 * 2 통계 //공통 int elementsCount = 100_000_000; IntU.. 2024. 6. 19.
함수형 프로그래밍 with 자바 - 단어 카운트 package kr.samdogs.study.func.pojo;import java.io.IOException;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths;import java.util.Arrays;import java.util.Map;import java.util.function.Function;import java.util.regex.Pattern;import java.util.stream.Collectors;import java.util.stream.Stream;public class LineCount { public static void main(String[] args) { /* 단어카운트 함수형.. 2024. 6. 18.
함수형 프로그래밍 with 자바 - for loop 예시를 통한 스트림 비교 함수형 처리라는 것이 어떤것이다 라는 컨셉을 익힐때 좋을꺼 같다!package kr.samdogs.study.func.pojo;import java.util.stream.IntStream;public class ForLoop { public static void main(String[] args) { /* 1부터 5 미만 까지 루핑 출력 * :: 참조연산자로 함수 주입 * JDK9+ 에서는 제한 조건을 추가로 넣을수 있다!! */ //일반 for(int idx=1;idx idx + 1) .limit(4) .forEachOrdered(System.out::println); }} 이런 함수형 클래스와 map, reduce, filter 이 활용을 잘익히면 된다. ( jav.. 2024. 6. 17.
함수형 프로그래밍 with 자바 - POJO 와 불변POJO 그리고 record 함수형 프로그램을 위해SAM (Single Abstract Method ) 필요불변성 유지 필요 ( record 로 구현함 jdk 14 미리보기 에 나옴 ) POJO 를 이용한 불변성 구현 1. 일반package kr.samdogs.study.func.pojo;import java.time.LocalDateTime;import java.util.Objects;//변경불가능 유지를 위해 final classpublic final class User { private String username; private boolean active; private LocalDateTime lastLogin; public User(String username, boolean active, LocalDateTim.. 2024. 6. 16.
반응형