파란하늘의 지식창고
JDK 23 New Features
Study/Java 2024. 10. 7. 07:25

JDK의 버전별 변경 사항은 여기를 참고하세요SpecJava SE 23 Platform JSR 398 에 정의된 바와 같이 JSR 398 구현이 목표실제 Spec은 Final Release Specification 문서를 참고Final Release Specification Feature Summary전체 JEP Feature 목록은 OpenJDK의 JDK 23 문서 에서 확인할 수 있다.JEPComponentFeatureJEP 455specification / languagePrimitive Types in Patterns, instanceof, and switch (Preview)JEP 466core-libs / java.lang.classfileClass-File API (Second Preview..

spring-boot-properties-migrator로 custom property report 하기
Study/Java 2024. 6. 16. 20:43

spring-boot-properties-migrator 소개Spring Boot 기반 프로젝트에서 버전 변경 시 property가 변경되는 경우가 있다.spring-boot-properties-migrator depnedency를 추가하면 application 실행 시 변경된 property가 어떤 것인지 쉽게 확인할 수 있다.log로 대략 다음과 같이 안내해 준다.The use of configuration keys that have been renamed was found in the environment:Property source 'configserver:class path resource [xxxx.properties]': Key: spring.http.encoding.charset ..

Antora 사용해 보기
Study/Java 2024. 6. 12. 17:29

Spring Framework 문서가 antora로 제공된 지 꽤 시간이 지났는데 Spring Boot 문서도 이번 3.3.0부터 antora로 변경되었다.https://antora.org/요즘 오픈 소스 사이트 문서들을 보면 antora로 빌드하는 경우가 상당히 많아 antora 사용 방법에 대해 살펴보았다.Antora 소개Antora는 asciidoc 기반 문서를 기반으로 site 문서 (웹 기반 문서)를 생성하는 도구이다.https://www.algolia.com/antora를 사용하면 여러 git repository에 위치한 adoc 문서들을 취합하고 템플릿을 사용하여 하나의 통일된 스타일의 site 문서로 구성할 수 있다.git repository의 branch 단위의 문서를 가져와 버전별 문서..

article thumbnail
LangChain, RAG, Gradio 구경해 보기
Study/Python 2024. 6. 10. 04:54

이전 글에서 ollama로 llama 3를 로컬에서 실행해서 사용해 보았었다.ollama 프롬프트에 몇 가지 질문을 던져보면 원하는 답변을 얻을 경우도 있지만 말도 안 되는 엉터리 답변도 그럴싸하게 진실인 것처럼 답변을 한다.이런 현상을 AI 할루시네이션(Hallucination : 환각)이라고 하는데 다양한 원인들로 인해 발생하고 이를 줄이기 위해 다양한 해결 방법을 사용해야 한다.LLM에 학습되지 않은 지식을 주입하는 방법이 몇 가지 있다.Fine-Tuning : 현재 사용하는 model에 새로운 지식에 대한 dataset을 추가 학습Retrieval-Augmented Generation (RAG) : 응답을 생성하기 전 학습 datasource 외부의 신뢰할 수 있는 지식 베이스를 참조하도록 하는 ..

로컬에 LLaMA 3 실행하여 사용해 보기
Study/Python 2024. 6. 9. 01:42

LLaMA 소개https://llama.meta.com/LLaMA (Large Language Model Meta AI)는 메타에서 만든 오픈소스 모델이다.LLaMA 1의 경우 2023년 2월 24일에 학계를 대상으로 오픈소스로 공개되어 수많은 파생형 모델들이 탄생하였다LLaMA 2의 경우 2023년 7월 18일에 학계뿐만 아니라 기업도 사용 가능하도록 공개하였다.LLaMA 3의 경우 2024년 4월 18일 공개되었다.META의 LLaMA 뿐만 아니라 많은 LLM 모델들이 현재 경쟁하고 있다.최단기간 가장 많은 가입자/이용자를 달성하여 파장을 일으킨 OpenAI의 ChatGPT 또한 현재 GPT-4o 가 공개된 상황이고이외에도 Google의 Gemini, Antropic의 Claude, Mistral A..

Python Poetry 사용해 보기
Study/Python 2024. 6. 8. 06:00

python 공부할 때 package 관리/ 가상 환경 관리를 위해 pipenv를 사용해 본 적이 있다.2020.08.25 - [Study/Python] - Python 개발 환경 구성하기, pipenv 사용하기4년 정도 지나고 요즘엔 어떤 게 있나 찾아보니 poetry가 괜찮은 듯하여 한번 사용해 보았다.https://python-poetry.org/poetry 이외에도 다양한 package 관리 / 가상 환경 관리 도구가 있다.https://ritza.co/articles/gen-articles/pipenv-vs-virtualenv-vs-poetry-vs-pyenv-vs-pip/poetry 설치하기https://python-poetry.org/docs/뭔가 여러 방법의 설치 방식을 안내하고 있고 py..

Spring Boot 3.3 Release Notes
Study/Java 2024. 5. 30. 00:22

전체 Release Notes 목록은 이 곳에서 확인할 수 있습니다.https://luvstudy.tistory.com/tag/Release%20Noteshttps://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.3-Release-Notes10 revision 기준으로 작성됨Spring Boot 3.3.0 Release NotesUpgrading From Spring Boot 3.2Jersey ObservabilityMicrometer 1.13 에서는 Jersey 지원을 중단하고 Jersey의 jersey-micrometer module을 사용하게 되었습니다.Application에서 Jersey metric을 사용하는 경우 업그레이드할 때 org..

article thumbnail
SonarQube, SonarLint issue 예외 처리하기
Study/Java 2024. 5. 11. 04:16

SonarQube나 SonarLint를 사용하면 코드 품질 관리가 편해진다.검사 대상 프로젝트의 코드 내 버그, 코드 스멜, 보안 취약점을 찾아 관련 내용을 issue로 등록하여 어느 부분에 어떤 문제가 있는지를 알려준다.하지만 issue로 등록하지 않기를 원하는 내용에 대해서도 Issue로 남기는 경우가 있다.예를 들어 아래와 같이 사용하는 경우를 가정해 보자.(Spring은 class 위치에 @RequestMapping 선언으로 각 method가 호출하는 공통된 path를 조합할 수 있지만 아래의 경우 그렇게 사용하지 않는 케이스라고 가정해 본다.)@Controllerpublic class Controller { private final String pathPrefix = "/some/prefi..

browser에서 dayjs 사용해 보기
Study/JavaScript 2024. 3. 28. 20:20

Dayjs 소개 기존에 Date 관련 라이브러리 중 가장 많이 사용하였던 momentjs는 현재 더 이상 개발되지 않고 있다. https://momentjs.com/ 이를 대체할 라이브러리로 date-fns, dayjs, luxon 등이 있으며 이전에 date-fns를 사용해 보았다. dayjs가 가장 가볍다고 한다. https://day.js.org/docs/en/installation/browser https://suzzeong.tistory.com/115 현재 ECMAScript에서는 현재 기본으로 사용되는 범용성이 떨어지는 Date API를 대체할 Temporal API를 준비 중이지만 아직 정식 버전이 아닌 상태이다. https://github.com/tc39/proposals 이후 표준 명세에..

JDK 22 New Features
Study/Java 2024. 3. 21. 17:51

JDK의 버전별 변경 사항은 여기를 참고하세요 Spec Java SE 22 Platform JSR 397 에 정의된 바와 같이 JSR 397 구현이 목표 실제 Spec은 Final Release Specification 문서를 참고 Final Release Specification Feature Summary 전체 JEP Feature 목록은 OpenJDK의 JDK 22 문서 에서 확인할 수 있다. JEP Component Feature JEP 423 hotspot / gc Region Pinning for G1 JEP 447 specification / language Statements before super(...) (Preview) JEP 454 Foreign Function & Memory AP..