Warp-Terminal + LLM + Podman
![]() |
|---|
| WARP를 통해서 Podman container를 기동하는 모습 |
어제 Warp-Terminal을 local에 설치하고 시험 해 보면서 LLM이 local에 대한 권한을 가진다는 것이 얼마나 대단한 영향력을 줄 수 있는지 놀라고 있었다.
오늘은 내침김에 VSCode에 Google Gemini Code Assistant 까지 설치 해 보면서, 단순하게 Web Browser에서 질문하고 검색하는 수준이 아닌 local command를 대체하는 방향성에 대해서 테스트 해 보고 있다.
위 스크린 샷에서 Warp-Terminal은 claude 3.7을 사용해서 podman container 전체를 살리는 명령으로 start -a를 시도해 보지만, 그것이 잘못된 방법인 것읋 알아차리고 목록을 구해서 하나씩 파라미터로 던지는 활동을 하고 있다.
SELinux + systemctl
Feb 21 16:05:56 change53 systemd[1077931]: toy_redis_to_postgres.service: Failed to locate executable /usr/local/toy_redis_to_posgres/toy_redis_to_postgres: Permission denied
Feb 21 16:05:56 change53 systemd[1077931]: toy_redis_to_postgres.service: Failed at step EXEC spawning /usr/local/toy_redis_to_posgres/toy_redis_to_postgres: Permission denied
Ubuntu에 잘 배포했던 녀석을 Rocky에 다시 배포 할 일이 있어서 서비스를 등록하고 start를 시키는데 permission error가 난다.
무언가 가물가물 기억은 잘 안 나는데, 응용프로그램을 등록 해 줬었던거 같다.
한참을 해메다 보니 gpt가 대충 알려줘서 해결한다.
# 상태체크
sudo ausearch -m AVC,USER_AVC -ts recent
# 일시적으로 강제 비활성화
sudo setenforce 0
sudo systemctl restart myapp
# SELinux 쩡책 수정
sudo chcon -t bin_t /usr/local/bin/myapp
서비스가 정상 작동하는 것을 보고 SELinux관련 임시 설정을 복원하는등 작업을 했더니..
GLIBC_2.34 not found
xx@yy:/usr/local/toy_redis_to_posgres$ ./toy_redis_to_postgres
./toy_redis_to_postgres: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./toy_redis_to_postgres)
./toy_redis_to_postgres: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./toy_redis_to_postgres)
Redis data를 Postgres로 복제하는 프로그램을 하나 만들어 설치를 하는데, glibc관련 오류를 보인다.
막연하게 goLang을 컴파일되는 python이라고 생각했더니, 그건 또 아닌거 같다.
glibc를 설치하려다 생각 해 보니. 그냥 goLang을 설치하고 build하는 것이 더 자연스러워 보인다.
goLang 1.23 > 1.22 > 1.24
goLang에서 posgres에 insert 할 일이 있어서 ORM을 알아보다 google의 ent를 사용 해 보기로 한다.
홈페이지 엤는 내용을 따라 하다보니, 영 이상한 오류를 보이며 안되서 구글링을 하다보니 1.22까지만 지원한다는 것을 보고 버전을 내려봐도 영 해결 될 가능성이 안보이다.
거기다… 다른 환경이 꼬이는지 1.23으로 upgrade해야 한다는 메시지를 VSCode등 여기저기서 나온다.
goLang에 가보니 최신 버전은 1.24이다.
동일한 방식으로 update하고 다시 ent를 따라 해 보는데. 정상적으로 잘된다.
결국 파이썬에서 겪었던 버전간의 여러 문제들은 goLang에도 여전히 존재한다는 느낌이다.
prql은 어떤 사람들에게 적합할까?
![]() |
|---|
| 간단한 prql과 생성된 sql |
prql을 살펴보고 있다.
사실 이 녀석은 나름 합리적이라고 주장하는 문법으로 좋은 결과를 제공 할 것으로 예상되는 SQL을 생성하는 것이 그 주요 기능이다.
대한민국의 금융권 SI하는 많은 개발자들은 아주 긴 query를 짤 수 있다는 것에 대단한 자부심을 가지고 있는 경우도 있는데 말이다.
생성된 SQL을 보면. 튜너가 과연 튜닝을 해 주고 싶을까 싶은 생각이 드는 것은.
흔히 금융권 차세대에 이 녀석으로 어떻게 적용 해 볼 생각은 안해도 되겠다 싶다.
prql + QStudio + Ctrl+Enter
![]() |
|---|
| Ctrl+Enter는 오류가 발생한다. |
pqrl을 테스트 해 보기 위해서 QStudio를 설치하고 따라 해 보고 있었다.
- 처음 duckdb 파일을 여는 와중에 접속 port가 보여서 duckdb가 server mode로 접속해야 하나 싶었으나. (잘못된 생각이었다.)
- Query를 기록한 파일의 확장자가 prql이어야 동작(인지)하는 것은 쉽게 따라 갔으나. 아무리 실행(하던 버릇데로 Ctrl+Enter)해 봐야 위와 같은 오류만 나온다.
- 그런데 단순 from table-name 하는 것은 잘 나온다.
- 알고봤더니 Ctrl+E 혹은 실행 아이콘으로 해야 정상적으로 파싱하고 인지한다.
- 그렇다면 Ctrl+Enter는 어떤 기능일까?
DungBeetle
700만개의 postgres table이라는 좀 자극적인 발표를 보고.
Dung Beetle을 찾아서 테스트 해본다.
- 생각보다 설정이 간단하다. toml파일 하나로 된다.
- SQL폴더에 복수의 SQL File이 있어도 된다.
- 결과 테이블은 매 요청마다 새로 생성 될 수 있다.
- 700만명의 정보라기 보다는 700만번의 request가 아니었을까 싶다.
- table name에 대해서 고민을 좀 잘하면 될 거 같다.
SWIFT & CCF
KRX: 한국거래소
KDS: 한국예탁결제원
RMB: 인민폐의 음차
RQFII: RMB Qualified Foreign Institutional Investor
SWIFT: Society for Worldwide Interbank Financial Telecommunication
1973년 설립, 본사는 벨기에 브뤼셀
CIPS: China Cross-border Interbank Payment System
CCF: CIPS Clearing Framework
즉, SWIFT의 중국버전
예탁결제원 차세대시스템 RFP를 보다가 보니. 중국 위안화 관련 처리를 위한 기능이 많다는 생각이 들었다.
goLang이 좀 더 현대적인 언어라는 느낌
![]() |
|---|
| %와 %+의 차이 |
goLang을 살펴보며 느끼는 불안감이랄까?
저 표현식은 뭘까?
이런 생각이 든 대부분의 것은 출력형식인 경우에 사용되는 옵션이었다.
그리고 느끼는 감정은 좀더 현대적인 언어겠구나. 잘 살펴보면 꾸미기 위해 삽질했던 많은 것 들을 해결 할 수 있겠구나. 하는 것이다.
Majaro Package 설치시 인증이 틀린경우
![]() |
|---|
| 10분 뒤에 다시 하세요 |
Web에서 인증하는 경우가 아니라 Local에서 패키지설치 인증을 하는 동안 비밀번호를 틀리자 보이는 UI.
나름 신선하다. 꼭 필요했을까? 필요 한 거 같다.




