Memory 8G
![]() |
|---|
| cpu-x |
개인적으로 사용하고 있는 개발 노트북 녀석이 자꾸 죽어서 이상하다 생각하지 않고(AMD Vega Driver 이슈라고 막연히 생각) 있다가 혹시나 하는 생각에 메모리를 봤더니 8G.
음..
이 상태에서 Oracle XE를 올리고 몇 가지 서비스를 마구 올렸더니 뭔가 아주 느려지는 현상을 보여서 다 되서 그런가 보다 하고 있었는데..
많이 힘들었나 보다.
Memory 확인하는 명령어
Arch인 경우 pamac로 설치하면 된다. cpu-x dmidecode -t 17 (17번이 메모리인가 보다)
harlequin/dblab + Oracle
Github: Oracle + harlequin
Github: Oracle + dblab
1st
![]() |
|---|
| Oracle + dblab |
“한글"에서 “글"이 사라졌다. 뭐.. 깨지는 거야 입출력 Char Set이 안맞아서 그런다하지만 말이다.
2st
![]() |
|---|
| Oracle + dbeaver |
| 중간에 깨진 한글은 init.sql로 입력한 것이다. |
3st
![]() |
|---|
| Oracle + harlequin |
| sqlplus로 입력한 것, dbeaver에서 입력한것. 아무 설정도 하지 않은 상태에서 보는 것은 좀 무리가 있다. |
4st
![]() |
|---|
| Oracle + harlequin |
| harlequin으로 입력하고 난 다음 select로 혹시나 입력되었나 찾아보는 것. |
결론
한 이틀동안 신나게 Oracle을 설정하면서 재미나게 놀았으나, Oralce Docker내부에 Terminal SQL Client를 내재하는것은 딱히 sqlplus에 비해서 나은점이 없는 것으로 보인다.
startup은 되는데 setup은 안되는 이유? (Docker+OracleXE)
startup은 되는데 setup은 안된다.
![]() |
|---|
| 컨테이너를 시작 할 때마다 Script가 실행되고 있다. 이걸 바라는건 아니다. |
Oracle Docker Image설명에도 분명하게 나와있는 사항이기는 한데.
Docker Image를 만들면서 초기 Script를 넣어두는 작업을 하다가 보니 startup에 넣어둔 sql은 매번 구동이 되는데, setup에 넣어둔 sql은 처음 한 번만 실행 될 것을 기대했으나. (실행이)안된다.
setup에 DBMS, User를 생성하는 SQL을 넣어두러고 했던 것이다.
포기하고 다른 방법을 찾는다.
![]() |
|---|
| 빌드를 완료하고 화면상에 스크립트를 호출하는 명령을 출력한다. |
하루정도 투자 해서 이리해보고 저리해보다 포기하고 궁여지책으로 명령어를 출력하는 것으로 한다. 알아서 잘 사용해야 한다.
UUID V7과 DBMS (feat. harlequin)
![]() |
|---|
| VSCode terminal에서 harlequin을 실행한 모습 |
Mariadb Docker 환경(Github)을 하나 만들어 두려고 Dockerfile을 만지작거리고 있다보니 얼마전에 Geeknews에서 본 harlequin과 uuid를 PK로 가지는 것에 대한 논의가 혼합되면서 이왕이면 하는 생각으로 적용시켜보기로 한다.
사실 UUID의 경우 프로젝트에서 interface 전문의 PK로 많이 사용하기는 했지만, V4였기 때문에 조금 아쉬움이 있었다.(내가 생성하는 주체가 아니었기 때문에 V7으로 못했었다.)
mariadb에서 기본으로 제공하는 uuid() function은 아마도 v1인거 같아 따로 function을 만들어 넣었는데, 데이터 생성후 성능테스트까지는 안해봤다.
harlequin은 처음에 host에서 구동 할 생각이었으나, 특정 작업을 진행하는 도구로서 terminal은 언제나 아쉬움이 있기에 함께 넣어봤다.
코레일 잔여 승차권은 무슨 일이 있는 것일까?
![]() |
|---|
| 문제의 기차 예약 현황 |
아침 기차를 타고 서울에 갈 일이 생기는 상황이라 아주 오래된 코레일 멤버쉽을 이용해 예매를 하고 있다.
여의도로 출근하는 사람이 많아서일까? 8시 7분 기차는 거의 매진인 상황인데, 그 다음 기차인 8시 16분 기차는 낮에는 매진이지만, 새벽 2시에는 좌석이 없다가 새벽 4시가 되면 귀신처럼 좌석이 생기는 현상을 경험하고 있다.
이 단순한 현상만 가지고 유추해 볼 수 있는 것은.
- 부지런한 사람들이 새벽에 일어나서 취소를 하거나 예매를 하거나.(나처럼 말이다.)
- 코레일에서 새벽에 배치로 뭔가 조건에 부합하는 잔여좌석(묶어뒀던)을 배치를 돌려 방출하거나.
- 개인에게는 허락되지 않은 API를 사용 할 수 있는 어떤 조직(여행사?)에서 매크로(배치)를 돌리고 있거나.
사실 금일 새벽 3시에 조회를 했을 때에는 잔여좌석이 없어서 며칠간 추리를 하고 있던 것을 수정해야 하나? 하고 있었다.
Jekyll + Docker
Blog를 Jekyll로 설정하고 나서, 여러 환경에서 글을 쓰고 deploy하는 것이 살짝 어렵고 있었다.
다른건 그러려니 하는데 매번 Ruby와 Jekyll을 설정하는 것이 번거롭다고 느낀것이다.
환경을 Docker로 올리려고 하다가 보니.
- Jekyll image가 한 번에 올라오지 않았다
- Ruby image도 안된다
결국 날 Ubuntu에 한땀 한땀 설치를 해 보기로 한다.
이러저런 시도끝에 문제가 되는 부분은 mini_racer라는 Gem이 참조하는 node의 folder명에 대한 것이었다.
/usr/bin/ld: cannot find /var/lib/gems/3.2.0/gems/libv8-node-21.7.2.0-x86_64-linux/vendor/v8/x86_64-linux-gnu/libv8/obj/libv8_monolith.a: No such file or directory
libv8-node를 설치하면 “x86_64-linux"이라는 폴더가 구성이 되는데 mini_racer는 “x86_64-linux-gnu"라는 것에서 libv8_monolith.a 파일을 찾고있는 문제인 것이다.
Jekyll VSCode Extension
![]() |
|---|
| VSCode에서 실행한 메뉴 |
증미에서 프로젝트를 수행하는 동안 이것저것 만들고나서는 블로그에 갱신하려고 보니 여간 귀찬은 것이 아니다.
그 귀찬음의 가장 주요한 원인을 가만 생각해보니, 하나의 post를 만들 때 마다, markdown파일을 복사하고 에디팅하고.. 지친 다음에 글을 쓰고자 했던 것이다.
일전에 Jekyll Admin을 시도해봤지만, 내 취향은 아니었고.
그래서 VSCode Extension을 만들기로 한다.
가장 기본적인 내용은 MS가 제공하는 Your First Extension에 다 나와있으나, GPT의 힘을 살짝 빌려 만들어본다.
- package.json에서 vscode version을 변경하는 것으로 거의 모든 문제를 해결 할 수 있다.
- 만들어진 extension을 게시 할 것인지 고민했으나.. vsce를 설치하고 *.vsix 파일로 제공하는 것이 더 현실적이라 생각해서 그렇게 한다.
directus를 설정하며
본 설치는 Headless CMS중 하나인 Directus에 대한 내용이다.
![]() |
|---|
| 가이드에있는 Docker를 올리면 보이는 현상 |
Directus가이드에서 docker-compose.yaml을 발견하고는 올려본다.
처음 GitHub에 있는 docker-compose.yaml을 보고 올려봤을때 DBMS가 열 개 정도 올라오는 것을 보고 순간 당황했었는데.. 그 녀석은 본체가 아니었다.
뭔가 잘못되었다는 것은 알겠는데, Github에서 찾은 답변을 보기 전까지는 한참이나 고민을 했었다.
![]() |
|---|
| Docker가 root로 실행되면서 폴더의 권한을 root로.. |
owner를 바꿔주니 정상적으로 구동된다.
Jekyll-Admin을 발견하다
Headless CMS쪽을 살펴보다 Jekyll-Admin이라는 녀석을 발견했다.
재미있다 생각하고 설치를 해보고, 어찌 사용을 해 보려 하는데..
그냥 VSCode에서 snippet을 설정하는게 속편하겠다는 생각이 드는 이유는 뭔가 싶다.
회신 이메일의 발견
![]() |
|---|
| 회신 이메일 주소 |
가끔씩 보내주는 퇴직연금 관련 메일일을 토요일 아침 무료하게 살펴보다 회신 이메일 주소라는 것을 발견한다.
SMTP 프로토콜에 회신 이메일 주소가 따로 있었던가?
RFC를 대충 찾아봐서 그런건지 그런 항목은 보이지 않는데 말이다.
헤더에 표시할 문자열 형태의 주석을 넣은것인가?하는 상상을 잠시 해 봤으나, 충분히 가능성있는것이다 하기전에.
이미지를 자세히 보면 송신자와 답신 주소가 같다.
당연한것 아닌가?
결국 Gmail에서 답신 이메일이라는 이름으로 보여주는 것이라 생각되는데.. 그러면 과연 송신자와 답신용 이메일을 다르게 설정해서 발송 할 수 있는가? 하는 의문이 생긴다.












