본문 바로가기

전체 글183

[청하] 맞춤 & 핫한 정책 조회 기능 - MySQL의 ONLY_FULL_GROUP_BY 오류 해결 2024.09.30문제 상황Spring Boot 기반의 청년 정책 플랫폼에서 “맞춤 정책 추천”과 “핫한 정책 조회” 실행 시 다음과 같은 SQL 오류가 발생했다.로그 내용 일부Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'withpeace.yp1_0.rnum' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_bySELECT 절에 포함된 컬럼 중 일부가 GROUP BY 절에 없고, 집계 함수로 감싸져 있지 않기 때문에 오류가 발생했.. 2025. 1. 1.
[청하] 인덱스 성능 검증 1. 실행 계획 확인 인덱스가 사용되고 있는지 확인하려면 데이터베이스에서 실행 계획을 조회할 수 있다.예를 들어, MySQL에서는 아래 명령어를 사용한다.`EXPLAIN SELECT * FROM user_interactions WHERE user_id = 1;`결과에서 key 열에 idx_user_id가 표시되면 인덱스가 사용되고 있는 것이다.mysql> EXPLAIN SELECT * FROM user_interactions WHERE user_id = 9;+----+-------------+-------------------+------------+------+---------------+-------------+---------+-------+------+----------+-------+| id |.. 2024. 12. 31.
[청하] AI 사서 프롬프트 엔지니어링 REFhttps://blog-ko.superb-ai.com/what-is-prompt-engineering/ 프롬프트 엔지니어링(Prompt Engineering)이란?챗GPT와 같은 언어모델(Language Model)에게 적절한 지시어와 사전정보를 제공하여, 인공지능이 최대한의 성능을 발휘하도록 유도하는 기법을 프롬프트 엔지니어링(Prompt Engineering)이라고 한다.정확한 맥락과 예시를 제공하면, 언어모델이 더 정확하고 일관된 응답을 도출할 수 있다. 아이디어: "AI 사서" 키워드 추출사용자가 자연어로 검색어를 입력하면, 미리 정의된 키워드 목록에서 핵심 키워드를 추출하여 정책 추천에 활용하는 기능이다.목표: LLM을 활용하여 사용자 검색어에서 정책 키워드 추출활용 방안: 추출된 키워드 .. 2024. 12. 31.
[청하] 맞춤 정책 리스트 조회 기능 구현 사용자 행동 데이터에 가중치를 적용하여 사용자에게 맞춤형 정책 추천을 제공하려고 한다.현재 프로젝트에서 정책 조회수와 정책 찜하기수 데이터를 저장하고 있다.사용자 행동 데이터로 사용할 수 있는 것은 “조회수”와 “찜하기수” 이다. 조회와 찜하기 모두 사용자 행동 데이터이지만, 조회보다는 찜하기에 더 높은 가중치를 부여하는 것이, 사용자의 선호도를 더 정확하게 반영할 수 있다고 판단했다.그리고 이런 행동 데이터에서도 최근 조회나 찜하기에 더 높은 가중치를 부여하는 것도 정확도에 기여할 수 있다고 생각했다. 가중치 부여 기준 설정조회: 사용자가 정책을 조회할 때마다 가중치 1을 부여한다. (조회가 많을수록 가중치가 쌓임)찜하기: 사용자가 특정 정책을 찜한 경우, 가중치 3을 부여한다. 찜한 정책은 사용자의 .. 2024. 12. 31.
[java-basic] 9. 상속 김영한의 실전 자바 - 기본편목차 1. 상속 - 시작 예제 코드 패키지 위치에 주의하자package extend1.ex1;public class ElectricCar { public void move() { System.out.println("차를 이동합니다."); } public void charge() { System.out.println("충전합니다."); }}package extend1.ex1;public class GasCar { public void move() { System.out.println("차를 이동합니다."); } public void fillUp() { System.out.println("기름.. 2024. 12. 27.
[java-basic] 8. final 김영한의 실전 자바 - 기본편목차 1. final 변수와 상수1`final` 키워드는 이름 그대로 끝! 이라는 뜻이다.변수에 `final` 키워드가 붙으면 더는 값을 변경할 수 없다.  참고로 `final` 은 `class` , `method` 를 포함한 여러 곳에 붙을 수 있다. 지금은 변수에 붙는 `final` 키워드를 알아보자. 나머지는 `final` 의 사용법은 상속을 설명한 이후에 설명한다. final - 지역 변수package final1;public class FinalLocalMain { public static void main(String[] args) { // final 지역 변수1 final int data1; data1 = 10; // 최.. 2024. 12. 26.
반응형