전체 글 65

[스마일라식] 강남역 비앤빛 안과에서 스마일 라식 받은 썰,, (feat. 나만 눈물 줄줄 쏟음)

2월으 마지막 날,,,, 나는 내 안경인생 20년과 작별인사를 하게 되었음,,(이것도 늦은 포스팅…) 아침마다 더듬더듬 안경부터 찾던 생활을 몇 년이나 했는지 모르겠다.회사 통근할때도 렌즈를 포기 못해서 꾸역꾸역 어찌저찌 끼고 다녔었는데,30대가 접어들어서면서부터 조금만 피곤해도 눈을 뜰 수도 없을 정도로 자주 깜빡이기 시작했고그러다 눈이 며칠내내 뿌옇게 보이는 지경에까지 이르러 안과에 방문했더니 렌즈생활 당분간 자제하라는 진단을 받고 말았다^_ㅜ원인은 안구건조증.... 그래서 결심했다.강남 비앤빛 안과에서 스마일라식 받고 오기로...!!! 위치 강남역 9번 출구에서 나와 조금만 걸으면 보이는 GT타워 지하 2층.접근성은 정말 편하다!수술 당일에는 수술 끝나고서는 집에 어떻게 가야할 지 고민되는 것 때..

[Node.js] PostgreSQL에서 읽어온 timestamp값을 Response로 보낼 때 프로세스 (feat. ISOString)

컬럼이 timestamp인 값에 대해서 DB에서 데이터를 읽어온 후 json으로 클라이언트에 response를 보내줄 때클라이언트가 해당값을 ' YYYY-MM-DDTHH:mm:ss.sssZ' 형식으로 받으면서 UTC로 변환된 시간을 받는 현상을 발견했다.나는 DB에 로컬 타임존으로 insert를 했는데 클라이언트는 UTC 시간으로 받는건데,왜 때문에 이런 현상이 발생하는지를 제미나이가 스텝별로 잘 알려주어 기록용으로 정리해본다. 이 현상은 PostgreSQL의 데이터 타입 처리 방식과 Node.js(pg 라이브러리)의 자동 형변환(Type Casting) 과정에서 발생하는 아주 전형적인 이슈입니다.이유를 단계별로 명확히 설명해 드릴게요.1. 원인: Node.js pg 드라이버의 자동 변환Postgr..

기술공부/언어 2025.12.24

[웹][이미지] Base64 방식 vs. 정적URL(바이너리) 방식 전송 차이 및 용도

항상 막연하게만 생각했던 걸 오늘 블로그에 구체적인 이유까지 같이 정리하려 한다. Base64로 응답을 보내는 건 일부 특수 케이스(아주 작은 아이콘 등)에서만 이점이 있다.왜 URL이 더 빠른가?전송 크기 증가: Base64는 바이너리 대비 ~33% 커짐. 이미지(JPEG/PNG/WebP)는 이미 압축되어 있어 이 오버헤드가 그대로 손해.브라우저 캐시: URL은 Cache-Control/ETag로 페이지 간/세션 간 재사용 가능. Base64는 응답 페이로드 안에 박혀 페이지 바뀌면 다시 받음.CDN 이점: URL은 CDN 엣지 캐시/리사이즈/리라이트 활용 가능. Base64는 불가.HTTP/2/3: 추가 요청 비용이 작아졌고 병렬 로딩이 효율적. Base64로 “요청 1건 줄이기” 이점이 작음.디코..

기술공부/언어 2025.08.21

[RHEL] RockyOS에서 다운로드한 rpm파일을 CentOS에 설치하려고 하면 벌어지는 일 (기록용)

사내에서 패키지 설치 테스트를 하다가 OS 버전 불일치로 발생한 오류를 좀 기록해두려고 한다.yum install *.rpm 명령어로 설치 진행하는데 conflict request 에러가 주욱 발생하면서 설치가 불가했는데,에러메세지만 보면 요청 중복이라는 것 같고, 뭐가 잘못됐는지를 잘 모르겠어서 chatGPT에게 물어보게 됐다.관련 내용을 간략하게 정리만 해두려고 한다.요점은 같은 RHEL 계열이라도 메이저 버전이 다르면 교차 설치는 안 된다 이다. 해당 에러는 “Rocky Linux용(el9) RPM을 CentOS(다른 메이저 버전)에서 설치하려고 할 때” 전형적으로 나는 의존성/ABI 불일치 오류이다. 스크린샷 힌트:qt5-qtbase-5.15.9-10.el9_4, proj-8.2.0-1.el9..

[javascript] regexp의 g 플래그

regexp로 string 문자열에 대해 정규식 검사를 하는데, 이상하게 파라미터가 같아도 정규식을 번갈아가며 만족하는 것이다. (한번 정규식 통과, 그 다음 한번은 실패, 이런식)원인은 내가 정규식을 선언할 때 마지막에 붙였던 g 플래그 때문이었는데, 이에 대해 조금 더 자세히 알아본 내용을 정리하려 한다. g (global) 플래그를 사용하는 이유1. g 플래그란?g 플래그는 global match를 의미하며, 문자열에서 모든 일치 항목을 찾을 때 사용된다. 정규식이 한 번 매칭하고 끝나는 것이 아니라, 전체 문자열을 끝까지 탐색하면서 여러 번 매칭할 수 있도록 만든다.g 플래그를 사용하면 RegExp 객체가 문자열을 어디까지 검사했는지 기억하는 lastIndex 포인터를 내부에 유지한다. 문자열이 ..

기술공부/언어 2025.07.29

[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
728x90
반응형