목록전체 글 (104)
일지
추후에 oracle db 에 대한 쿼리를 만들어야하거나, 관련 도메인 질문을 할 때 "xxx 관련 컬럼 찾아줘!"라고 LLM에 질문을 하면 agent가 RAG에서 관련된거 쫙 긁어와서 뭔가를 생성해줘야하는 상황임. 그냥 뭐 지식을 카탈로그화 하고싶다는거임그래서 전부 넣을 수는 없으니 자주사용하는 table이랑 column 을 Milvus에 냅다 집어넣고 쿼리를 계속 던저봤음근데 각각의 column 들이 표준화 되어 있지 않고 번역이 되어 있지 않은 상태여서 좀 처참했다. 초기의 컬랙션 스키마는 아래처럼 설계를 했었음idschema_{table}_{column}vector(embedding)contents를 임베딩table{table}column{column}comment{comment}contents{t..
일단 이전의 방식으로 로그를 분석해서 어느정도 데이터를 뽑아내는데 성공하긴 했음근데 문제는 전체 로그가 너무 많고 SQL 파싱 연산을 하는데에 시간이 너무 많이 걸린다는것..내 사무용 PC로는 너무 느리다.일단 work flow는 다음과 같음1. 특정 시간의 log의 metaData 수집 (log key값)2. 해당 metaData의 log key값을 통해서 특정 로그의 sql 문을 전부 수집3. 각 sql에 대해서 sqlglot으로 파싱4. 취합하여 pandas로 분석1,2에 대해서는 속도가 그렇게 느리지는 않은것 같은데3,4부분에서 속도가 확 느려지는게 느껴진다. 아니 사무용 PC 좀 바꿔줬으면 좋겠다. RTX달린거로다가..회사는 요즘 돈 잘버는 것 같은데 모니터도 꾸진거 쓰고있고 좀 그렇긴함. 아무..
제미나이 이놈이랑 대화를 하면 뭔가 인사이트를 얻는것 같으면서도 실제로 적용을 해보면 생각대로 안되는 경우가 많은 것 같다.설 연휴동안 이것저것 생각하고 따로 개발해둔거 실제로 올렸더니 생각대로 안되서 살짝 실망한 상태임(생각해보면 내가 멍청이임)하지만 결과를 볼 때 까지 계속 해야할거같아서 다시 시도이벤트 로그를 LLM이 이해할 수 있도록 명세화를 해야함.로그에는 여러가지 정보가 있지만 일단 oracle sql이 찍히는게 주요한 내용이라 그거 위주로 생각을 해봤는데 상황은 아래와 같음 각 이벤트에는 적게는 10개 많게는 수천개의 DML이 발생함해당 시스템에서 사용되는 테이블은 수백개가 되지만 실제로 사용되는 주요 테이블은 100개 미만임이벤트의 종류는 대략적으로 3천개가 넘음초당 500~1000개의 이..
의도한건 아니였는데 홋카이도 일정에 동물원 오픈날짜가 딱 겹치는게 아닌가. 후기 보니깐 홋카이도 오면 여기 꼭 들려라고 해서 가게 되었다. 아침에 삿포로역에서 아사히카와역까지 기차타고 한시간 반 정도 걸린다. 라일락 뭐시기 기차다..아사키하와 역에서 동물원까지 가는 버스가 9시 40분에 하나가 있었고, 30분뒤에 더 있었다.그래서 대충 역사에서 뭐 먹고 '9시30분쯤 줄 서면 되겠지?' 해서 시간 맞춰서 나갔는데 줄이 엄청 길었고 결국 10시 10분 버스 타게 되었다. 추운곳에서 30분동안 벌벌떨면서 버스를 기다렸다..버스타고 30분 정도? 타면 동물원에 도착을 했다. 입장료는 성인 1000엔. 근처에 동물원 말고는 횡하고 아무것도 없었다. 1번으로 전시하는곳은 팽귄들인데 4종류를 한번에 모아놓고 사육..
뭔가 개인적으로 일하면서 부족하다고 생각되거나 공부가 필요하다고 생각되는게 점점 늘어난다. 1. Java 동시성 프로그래밍쪽 공부가 필수적인것 같다는 생각이 요즘 많이 든다. 경합이라던가.. 일단 이거 강의들으면서 천천히 배우는게 맞는것 같다. 지금 쓰는 시스템이 Executor framework로 사용하는것 같은데 배워두면 도움이 되지 않을까 싶은 생각.https://www.inflearn.com/course/%EA%B9%80%EC%98%81%ED%95%9C%EC%9D%98-%EC%8B%A4%EC%A0%84-%EC%9E%90%EB%B0%94-%EA%B3%A0%EA%B8%89-1 김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성 강의 | 김영한 - 인프런김영한 | 멀티스레드와 동시성을 기초부터 실..
아니 Copilot은 무적인가? 그냥 대충 말해도 찰떡같이 말하고 순서도를 그려주는 코드를 작성해준다. 이렇게까지 해주는데 내가 공부를 할 필요가 있을까 생각이 든다. 1. newInstance()시점평소에 소스코드만 보고 설정값은 안봤는데 여기서 Transaction에서 순서가 끊어짐을 느꼈다.분명 DataSource에서 connection은 가지고 오는데 남는것은 session만 있는게 아닌가? 그래서 하나씩 끼워맞추면서 이해는 했는데 이부분 정리가 필요한 것 같다. SqlSessionManager에서 Connection을 가지고 오는 순서도를 그려달라고 했다.일단 여기까지는 문제가 없다. 문제는 getConnection부분이다. build나 create같은거는 application 시작 시점에 그대..
연휴라서 시간이 남는다.이것저것 하느라 바빠서 이제서야 고민해볼 시간이 생긴것 같다.. 아직도 의문인게 왜 회사에서 직접 프레임워크를 만들어쓰는지다. 뭐 특별한게 있으면 모르겠는데 몇몇 부분 빼면 죄다 Springboot에서 구현이 가능함Application에서 DB접속 관련해서도 라이브러리를 그냥 사용하지 않고 상속받아서 커스텀을 한다. 의미있는지는 모르겠는데 모니터링 용도로 그렇게 만든 것 같다. DataSource를 상속받아서 직접 만들고, Apache Common Pool을 가져다가 GenericObjectPool을 이용해서 커스텀이 되어있는 상태다. 회사소스를 가지고 올 수 없기 때문에 대충 Copilot한태 만들라고 했다. Custom GenericObjectPool 구현import org.a..
쿼츠로 batch job을 돌리는데 가끔씩 connection을 획득하지 못하고 지혼자 죽어서 그만.sql는 금방금방 만드는데 Oracle에 대해서 정확히 몰라서 Copilot의 도움을 받기로 .......가설1. Transaction이 엄청 긴 놈이 터지는 것으로 시작되었는데 거기서 sql session을 몇만개 수행함.하나의 connection이 사용 할 수 있는 session 에는 제한이 있는가?DBA한태 물어봤는데 무한대로 쏠 수 있다고 했지만 coplitot은 아니라고함 Q1.오라클 DB에서 하나의 connection 이 수행할 수 있는 session의 갯수가 정해져 있어? A1.네, 오라클 데이터베이스에서 하나의 커넥션(connection)이 수행할 수 있는 세션(session)의 개수는 제한..