본문 바로가기

모든 글233

[Datadog] RUM에서 document 페이지 추적하기 Datadog에서는 기본적으로 XHR/Fetch 등의 요청만 distributed tracing(분산 추적)을 지원한다. 즉, 페이지 로드 후에 요청하는 웹 요청만 trace랑 연결해서 볼 수 있다. 페이지가 서버 사이드 렌더링(SSR) 되는 경우에는 RUM replay에서 해당 백엔드 trace를 바로 확인하기가 어렵고 아이피 등으로 하나 하나 찾아가야만 하는 문제점이 있다. 과거에 trace id를 HTML header에 넣어 document를 지원하려는 시도가 2020년도에 있었지만, 어떤 배경인지는 정확히 몰라도 다시 revert 된 상태이다. 다만, browser-sdk 자체에서는 아직 해당 기능이 살아있어서 HTML에 meta tag로 dd-trace-id, dd-trace-time을 추가해 .. 2023. 8. 30.
효율적인 OS 배포 방법 전산 관리 부서에서는 불용 기간이 지난 PC들을 불용 처리하고 새로운 PC들을 도입한다. 이때 PC에 추가로 설치해야 하는 보안 프로그램등이 존재할 수 있다. 새 PC들에 각각 이 프로그램들을 설치하면 너무 오래 걸리기에 하드디스크를 복사하는데, 이때 MDT(Microsoft Deployment Toolkit)이나 고스트캐스트(Ghostcast)등의 최신 기술을 사용하지 않고, PC를 고스트 이미지로 만들어서 복원하는 방식을 사용한다. 안정적이긴 하지만 느리다는 단점이 있다. 이 문서에서는 OS를 배포할 수 있는 방법들에 대해서 알아보고, 어떤 방법을 사용하는 것이 가장 효율적일지에 대해서 정리한다. 알아두기 - SID 윈도우에는 PC별로 SID(Security Identifier)라는 고유번호가 있다... 2022. 11. 13.
루비 이스케이핑 함수 비교 루비에서 S3에서 다운받는 파일의 이름을 변경하려면 Content-Disposition 값을 설정해주어야 합니다. 영어라면 아무 문제가 없겠지만, 우리가 쓰는 한글은 여러가지 대응해야 할 문제들이 많습니다. 띄어쓰기가 +가 된다든가, 띄어쓰기의 %20이 그대로 출력된다던가, 쉼표가 들어간 경우 오류가 발생한다든가 다양한 상황이 발생합니다. 누군가의 삽질을 막기 위해, 한국어 레일즈 사이트들에서 발생하는 이슈를 막기 위해 이스케이핑 함수를 정리해 두겠습니다. CGI.escape 띄어쓰기가 +로 변환됨. URI.encode ,가 변환되지 않음 ERB::Util.url_encode 문제가 발생하지 않는 제일 좋은 함수. 쉼표, 띄어쓰기에 대한 대응이 잘 되어 있다. 참고한 것들 https://engineeri.. 2022. 10. 25.
MongoDB Replica Set 다시 설정하기 직접 관리하던 MongoDB 데이터베이스의 관리상의 어려움(용량 초과 등)이 있어서 MongoDB altas로 이전하려고 작업을 진행중인데, docker로 replica set이 설정된 상태로 서버를 생성했다가 지웠다가 하니까 상태가 Other로 바뀌어버렸다. rs0:OTHER> rs.status() { "state" : 10, "stateStr" : "REMOVED", "uptime" : 97, "optime" : { "ts" : Timestamp(1653792432, 1), "t" : NumberLong(2) }, "optimeDate" : ISODate("2022-05-29T02:47:12Z"), "lastHeartbeatMessage" : "", "syncingTo" : "", "syncSourc.. 2022. 5. 29.