전체 글 226

ChatGPT로 로그에서 필요 항목을 추출하는 정규표현식 만들기

저번주에 퇴근하고 집에 오는 길에 문득 그런 생각이 들었다. '내가 직접 이걸 쓸 게 아니라, 제공하는 서비스에서 사용자에게 요구하는 것들을 어느 정도 대신해줄 수 있게 프롬프트엔지니어링 된 프롬프트를 제공해주면 어떨까?' 집에 와서 이래저래 해봤는데 생각보다 원하는 수준의 답을 못 받아서, 주말에도 이래저래 해보곤 팀내에 공유를 했는데 다들 관심도 없고, 그냥 쓰는 거 가이드 페이지 만드는 게 더 초점이 맞춰져 있는 거 같아서 주말에 시간 쓴 것도 아깝고 해서 혼자 삽질한 거 정리나 좀 해봤다. [23-Apr-2020 14:18:49] PHP Warning: Invalid argument supplied for foreach() in /foo/bar/a.php on line 204 [23-Apr-202..

알리발 블투 키보드 개조

거실에 HTPC를 설치하고 쓰다보니 무선 키보드가 필요해서 알리익스프레스에서 구입을 했다. 4일만에 배송 oh oh 뒷판이 철판이길래 이상하긴 했지만, 알아서 안테나는 따로 뺏겠거니 했는데 페어링도 힘들고 페어링 하고 나서 동작도 제대로 안 해서 확인을 해보니 수신 거리가 50cm 겨우 될까 말까. 모바일 기기에서 쓰기에는 문제가 없겠지만, 나는 HTPC에 쓸 건데?? 뒷판을 분리 했더니 3미터 넘어서도 트랙패드가 좀 버벅이긴 했지만 잘 동작 했다. 여기 저기 가려가며 테스트를 했는데 결국 블투 모듈이 있는 곳이 가려지면 답도 없고, 안테나 관련한 곳도 어딘지 모르겠어서 해당 모듈쪽만 철판을 없애기로 했다.  철판을 아예 없애는 것보다야 못하지만, 그래도 괜찮게 동작은 하니까 뭐... 혹시 몰라서 플라스..

clickhouse에 kafka json 메시지 가져올 때 object > object 구조 처리

graph LR kafka --> chq[clickhouse queue table] chq --> chc[clickhouse consumer table] chc --> cht[clickhouse table] kafka engine으로 메시지를 가져와서 클릭하우스에 넣으면 보통 위와 같은 순서로 데이터를 넣는다. 문제는 ENGINE = Kafka로 지정하고 보통은 kafka_format을 JSONEachRow를 사용해서 데이터를 넣는데, 이게 key, value로 넣다보니 json 구조에 object > object가 있으면 넣질 못한다. 클릭하우스가 JSONExtract 함수를 지원하니까 이걸 쓰면 되긴 하는데, 버전이 낮으면 메모리 누수 문제가 있어서 되도록 안 쓰는 방향으로 컨슈밍을 하고 있었는데, ..

[copilot 사용기] 3. 질문을 잘해야 한다.

코파일럿을 사용한지 한 달이 좀 넘어간다. 결론만 말하자면, '내 돈 주고 쓰는 거면 별로지만, 회사에서 돈 내주는 거면 쓸만하다.'로 귀결된다. 하지만 회사는 코파일럿을 지원 안 하는 걸로 결론을 냈다. 기존에 제공해주던 유료 IDE도 전부 없애버리기로 했다. 원래 유료 IDE는 제공 안 하던 회사였는데 ㅎㅎㅎ 뉴스에도 나오지만, 대화형AI를 이용해서 뭔가를 하려면 질문을 잘 해야 한다. 내가 원하는 걸 얻고 싶으면 그걸 명확하게 요구 해야 한다. 사람이고 AI고 똑같은 거다. 모르는 걸 할 때는 어느 정도 도움이 되겠지만, 이미 뭘 해야할지 정리하고 주르륵 코드로 나열하는 상황에서는 그냥 코드어시스턴트와 다를 게 없다.

LED 컨버터(안정기) 교체 (YHL-230W YHL-350W D90V30C-SLGBU5)

거실 LED가 깜박이는 현상이 있어서 컨버터를 교체 했다. (나는 테스터기로 컨버터 문제인지 확인 하고 구입했다.) 이사 오고 얼마 안 지나서 같은 현상이 있어서 그냥 선을 빼버리고 쓰던 것까지 해서 두 개를 교체하려고 모델명으로 검색을 해보니 둘 다 지금은 판매를 하지 않아서 다른 제품을 구매해야 했다. YHL-230W YHL-350W로 검색하니 둘 다 이제는 팔지 않았는데, D90V30C-SGLBU5가 해당 모델명으로 검색이 되고 대체가 가능하다고 해서 구입했다. 사양은 비슷한데, 크기가 다르고 접지가 없다. 뭐 접지 없을 수도 있지... -_-.................................. AC에 연결. 빼는 게 힘들지 끼는 건 쉽다. LED에는 납땜으로 연결 되어 있다. 일체형으로 ..

PS4 Pro 수직 스탠드 출력

PS4 Pro를 눕혀서 쓰려니 공간 차지도 그렇고, 공기 순환 때문인지 소음도 심한 거 같아서 수직으로 세워 쓰기로 해서 스탠드를 출력했다. 크기에 맞게 딱풀을 베드에 발랐다고 생각했는데, 살짝 모자라서 처음 출력한 건 좀 떴다. 그 다음에 딱풀 잘 바르고 출력한 거랑 비교. 챔버에 배기 시스템을 구축해놨지만, 겨울이기도 하고 공기 흐름 때문에 출력시 더 잘 뜨는 거 같아서 배기 안 쓰고 그냥 출력을 하다가 챔버 문이 아크릴인데 하얗게 뭔가 묻어 있는 걸 보고 이게 출력시 나온다는 미세 먼지인가 해서 이번에는 내부에 소형 공기청정기를 돌리고 출력했다. 공기정청기 덕분인지 챔버 문에 뭐 묻어 있는 건 없었는데, 배기를 쓰는 게 가장 나을 거 같은데 온도는 온도대로 고민이고... 어찌 사용을 해야할지 고민이..

삽질/3D프린터 2023.02.15

influx db 이전 (백업 > 복원)

서버 한 대를 HTPC로 쓰기로 해서 서버에 있는 기능을 NAS로 옮기기로 했다. NAS서버에서 백업을 하러 접근을 해야해서 influx 설정을 변경해줘야 한다. sudo vi /etc/influxdb/influxdb.conf 백업을 위해 8088 포트로 접근을 해야 하는데, 기본 값은 로컬만 접속이 가능해서 그냥 다 열게 수정 한다. # Bind address to use for the RPC service for backup and restore. bind-address = ":8088" 재시작을 해주면 적용 된다. sudo systemctl restart influxdb $ sudo netstat -nlp | grep influxd tcp6 0 0 :::8088 :::* LISTEN 948909/i..

ERROR: currval of sequence "seq_table" is not yet defined in this session

DB서버 분리 이후 INSERT > SELECT CURRVAL 사용시 발생한 오류. INSERT한 세션에서 CURRVAL를 할 값이 없으면 나오는 오류인데, 처음에 해당 오류가 발생한다는 게 실제 서비스 중인 서버에서 발생하는 줄 알았다. 실 서비스 하는 서버에서는 pgpool을 적용하지 않아서 커밋 관련 이슈인가 했는데, pgpool로 DB서버에 접근하게 한 서버에서 그런다고 해서 pgpool 설정을 보니 currval 사용시 마스터DB를 보게 되어 있지 않았다. black_function_list = 'currval,lastval,nextval,setval' 수정 후 pgpool을 재시작 해주고 정상 처리 되는 걸 확인 했다. 이후에 마스터DB로 바로 SELECT를 해야 하는 경우를 대비해서 아무 동..

[copilot 사용기] 2. 학습 후 제안하는 코드

새로 파일을 만들어서 아예 처음부터 작성하는 경우는 아니어서 기존에 작성된 코드를 기반으로 제안을 해줬다. 기존 코드를 이용해서 제안하기 때문에 위처럼 코드컨벤션을 벗어난 코드도 그대로 제안을 한다. php에서는 true, false, null이 소문자 표기가 표준인데, 내가 작업한 소스는 레거시 서비스라서 표준대로 작성 되지 않은 것들이 있어서 그걸 그대로 제안을 해준다. 위에서 특정 파일을 cat하는 명령어를 수행하게 했는데, 파일이 없는 경우를 확인하려고 'No'를 치니 바로 'No such file or directory'를 in으로 확인하는 걸 제안해줬다. 혹시나 해서 return을 쳐보니 오류 문구까지 제안해줬다. 변수명에 맞게 포트 제안 기존 코드에서 비슷한 형태의 코드가 있어서 그런가 위와..

[copilot 사용기] 1. 단순 반복 작업

전에 코파일럿을 찍먹 해본 적이 있었는데, 신기하긴 했지만 그다지 유용하다고 느끼지는 못 했는데, 회사에서 코파일럿을 한 달간 써보게 해준다고 해서 팀장님 권유로 신청했다. 처음 사용하게 된 업무는 이미 개발은 완료 되었으나 좀 더 퍼포먼스를 올리기 위해 코드를 개선하는 건이었고, 말이 개선이지 사실 단순 반복 작업에 가까웠다. 기존에 서버별 + 명령어별로 실행 결과를 담고 있었는데, 동일한 서버 + 명령어가 중복이 돼서 이걸 하나로 합치려고 실행 결과를 서버 + 명령어 단위로 바꾸는 코드를 작성하니 위처럼 코파일럿이 작성하려는 코드를 예상해서 보여줬다. 이 상태에서 탭키를 누르면 입력이 되는데, 내가 작성하려던 코드와 얼추 비슷하다. 되도 않는 코드를 제안하기도 하지만, 어차피 내가 쓸 생각이 없으면 ..

반응형