전체 글 60

[Hyper-V] Hyper-V로 30분 만에 완성하는 가상 랩 환경

오늘은 내가 사내에서 테스트환경을 마련할 때 아주 요긴하게 잘 사용하고있는 Hyper-V와 관련해서간단하게 설치하는 방법부터 가상머신 생성, 운영 팁까지 A to Z를 좀 정리해보려고 한다. 약간.. 블로그 몰아 쓰기..ㅎ회사에서 진행하는 기술세미나 덕에 내 블로그에도 쓸 게 좀 생기는 거 같아서 기분이 좀 묘하다. 1. Hyper-V 개념 소개Hyper-V란?Microsoft에서 개발한 네이티브 하이퍼바이저 기술Windows Server와 Windows 10/11의 Pro/Enterprise 버전에 무료로 내장되어 있어 별도 비용 없이 사용할 수 있음 (Home에는 없음)Type 1 하이퍼바이저로 운영체제보다 더 낮은 레벨에서 실행되어 높은 성능 보장 (베어메탈 위에서 직접 실행)주요 특징엔터프라이즈..

[Prometheus] Postgres-exporter와 Grafana 연동하기

내 블로그... 완전 오랜만 나름 기술블로그로 사용하고싶었는데 너무 오랫동안 뜸했던 것 같다..ㅎ그래서 오늘은 회사 세미나 준비를 하며 공부했던 내용을 오랜만에 블로그에 정리해보려 한다. Prometheus란?Matt Proud와 Julius Volz가 개발한 오픈소스 모니터링 소프트웨어프로젝트 이름의 유래?🤔CNCF(Cloud Native Computing Foundation)에서 지원하는 시계열 모니터링 시스템Pull 기반 구조: Prometheus가 Exporter로부터 주기적으로 *메트릭 을 끌어옴특징:시계열 DB 내장라벨 기반의 유연한 *메트릭 필터링PromQL 쿼리 언어 제공메트릭이란?서비스나 시스템에서 수집 가능한 숫자 기반의 측정 지표를 의미합니다.예를 들어, CPU 사용률, HTTP..

[typescript] 깊은 복사와 얕은 복사, 그리고 JSON (feat. 얕은복사의 최상위 속성)

typescript로 개발중에앞서 개발했던 함수에서는 전혀 문제가 되지 않았던 부분이그와 유사한 다른 함수를 개발할 때 동일한 로직으로 개발을 하려니 웬 갑자기 얕은복사로 애를 먹고 있는데챗 GPT가 문제가 되던 부분을 짚어줬다. 깊은복사처럼 실행되던 나의 얕은복사 코드;다시는 이런 일이 없도록 포스팅해두기로 한다. 제공해주신 코드의 전반적인 구조는 잘 작성되어 있지만, 얕은 복사로 인한 문제가 발생할 가능성이 있습니다. 특히, 중첩된 객체인 object_statistics와 event_statistics와 같은 속성이 참조를 공유하기 때문에, 예상치 못한 상호 간섭이 발생할 수 있습니다.코드를 살펴보면 아래와 같은 문제가 있을 수 있습니다:1. 중첩된 객체의 얕은 복사 문제regionStatTemp..

기술공부/언어 2024.09.10

[Node.js] 왜 pg 라이브러리에서 bigint를 string으로 인식할까?

현재 진행하고 있는 프로젝트에서 postgresql의 stored procedure를 활용하는 케이스가 많은데,집계함수 sum을 사용해 반환되는 값은 integer가 아닌 bigint로 반환이 된다.이를 node.js에서 받아서 처리하려고 하다 보니 return값이 string으로 오는 것을 발견했다.(나는 분명 count를 누적했는데 01011201 이런값으로 누적이 되네..?) 원인을 좀 찾아보니 node.js에서 사용중인 pg라이브러리의 처리 로직이 bigint를 string으로 받아 처리한다는 게 원인이었음을 알았다. 데이터 소실 이슈 발생을 막기 위해서라는데. 내가 문서를 제대로 읽지 않은 탓이겠지..? 아래는 chatGPT에서 답변한 내용이다. 나의 질문_PostgreSQL에서 sum() 함수..

기술공부/언어 2024.08.26

[Node.js] jsonpath 패키지 사용 시 pkg build Error (Error: Cannot find module 'esprima' Require stack:- aesprim) 발생 해결 방법

jsonpath 패키지를 설치하고 나서부터 pkg로 빌드한 exe가 실행이 안 되는 문제가 발생. 원인을 찾아보고자 애꿎은 Visual studio 2022도 재설치 해보고,,[C++를 사용한 데스크톱 개발] 워크로드도 재설치 해보고..어떤 StackOverflow 답변에서는 개별 설치에서 SDK for Windows 10도 체크 후 설치해야한다는 최신 댓글도 달렸길래 추가 설치도 해봤는데 해결될 조짐이 1도 안 보였다. 그러다가 발견한 아래 글.. I found a pretty good workaround for my use case. Instead of require("jsonpath"), use require("jsonpath/jsonpath.min")The latter is basically th..

기술공부/언어 2024.06.25

[PostgreSQL] Insert 쿼리에서 Serial 컬럼 값 삽입하기

일반적으로 Auto Increment column일 경우 컬럼값이 자동증가하게 되는데 Insert query를 활용하려고 할 때 귀찮아지는 경우가 있다. INSERT INTO tmptable(column1, column2, ....) values(value1, value2, ...); 이런 귀찮은 상황을 모면하게 해 줄 방법 중 신박한 방법을 알게 되어 포스팅으로 기록하려고 한다. 아래와 같이 해주면 되는건 알고있었지만, INSERT INTO problem VALUES ( nextval('problem_id_seq'), 'Hello World', 'unknown', '/var/www/files/problems/' || lastval(), 'Python' ); 이는 sequance 명을 넣어주어야 해서 이..

기술공부/DB 2023.08.22

[Node.js] Express app에서 정적 라우트 경로값을 동적으로 변경하기

Chat GPT는 어떻게 활용하느냐에 따라 옳은 정보를 주기도 하고, 되려 더 돌아가는 정보를 주기도 하는 듯 하다. 오늘 chat GPT의 덕을 톡톡히 봤는데, 그 중에 하나가 바로 express.static()를 동적으로 활용하는 방법이다. 처음 가이드 해 준 방법 Q. nodejs 에서 이벤트가 발생했을 때 express static path를 바꾸고싶은데 방법이 있을까? // 기본 정적 경로 설정 app.use(express.static(path.join(__dirname, 'public'))); // 이벤트 발생 시 정적 경로 변경 function changeStaticPath(newPath: string) { app._router.stack.forEach((middleware) => { if ..

기술공부/언어 2023.06.16

[나들이] 오랜만에 자전거를 타보았다. (feat. 팔당역~능내역~물의 정원~두물머리까지 남한강 자전거길 나들이🚴‍♀️🚴‍♀️)

지난 3.25일 토요일(늦은 포스팅,,,ㅎ) 봄가을 계절만 되면 생각나는 자전거🚴‍♀️🚴‍♀️를 타러 팔당역으로 출발! 우리 그 이와 함께한 그날의 자전거 코스는 요렇다. 미밴드 차고 열심히 달렸는데,, 오랜만에 타서 그런가,,? 진짜 죽을뻔했다😇 진짜 너무힘들었다 ㅋㅋㅋ 좀 늦게 자전거를 타기 시작했다고 생각해서 쉬지않고 무작정 두물머리까지 달렸다.. 능내역에서도 안쉬고ㅠㅠ 평소같았다면 능내역에서 잠시 쉬어주어야 하는데,, 요즘 집에서 사이클을 좀 타시더니 우리 그 이가 체력이 너무 좋아지셔가지구😇 나는 그저 따라가기에 바빴다,,, 자전거는 팔당역 앞에 위치한 바이크토탈에서 대여했다. 전용 주차장에 주차 가능함! 일반자전거 종일권 12,000원 해서 두 대 빌렸고 고급자전거는 종일권이 2만원이었는데 뭐..

[PostgreSQL] 부분 인덱스로 유일성 체크하기

요즘은 웬만하면 ChatGPT가 알려주는 시대라고는 하지만, 그렇다고 곧이 곧대로 말을 들었다가는 낭패를 볼 수 있다. 최근 DB 작업 중에 아래와 같은 케이스가 있었는데, 이걸 코드단이 아니라 DB단에서 해결하고 싶어졌었다. 유저는 item type이 0인 상품은 중복으로 가질 수 있다. 단 item type이 1인 경우에는 단 한 개의 상품만 소유할 수 있으며, 만약 type이 1인 item이 이미 있을 경우에는 새 것으로 교환만 가능하다. 그러니까 item_type이 0이면 insert 허용, 1이면 update를 해야하는 상황. Partial Index 사용법 유일성 체크는 DB에서 하면 되지 않나? 싶어서 혼자 끙끙대다가 PostgreSQL에서 버전 11 이후부터는 ON CONFLICT 절에서도..

카테고리 없음 2023.04.12

[가산디지털단지] 쌀국수에 진심인 집 '포36거리' (feat. 내돈내산!)

가디역 4번출구인데 오늘은 쌀국수가 땡긴다 싶으신 분 계신가요? 그렇담 오늘은 여기입니다. 포36거리 가산디지털단지역점🍜 위치 서울 금천구 벚꽃로 286 삼성리더스타워 지하1층 112호 영업시간 매주 평일 11:00 - 20:30 / 브레이크타임 15:00 - 17:30 (주말 및 대체휴일 휴무) 전화번호 0507-1409-6117 11시에 오픈인데도 11시 30분이면 대부분의 좌석이 다 차는 것 같다! 메뉴판은 요렇게! 1번 메뉴에 별표★가 쳐져있당 저게 시그니처라는 거겠지?! 거침없이 1번으로 주문! 티는 적당히 몸을 데워줄만큼 따땃했당. 쌀국수에 넣어도 먹을 수 있고 찍어도 먹을 수 있는 소스는 두 가지(칠리+해선장) 칠리소스는 꽤 매움! 해선장소스는 달달구리했음. 그렇게 오래 기다리지 않고 쌀국수..

728x90
반응형