전체 글
-
Redis: n분 동안 키워드 랭킹? timeseries컴퓨터/JAVA 2025. 3. 15. 22:37
1시간 동안 메시지 수 그래프 등 기능을 만들기 위해somekey::keywords: 와 같이 정렬된 집합 (ZSET)을 주로 쓰고 있었다. 문제는 문서에 따르면 small size의 ZSET은 압축된 형식 (ziplist/listpack)으로 저장하지만,항목 개수 또는 항목 크기 제한을 초과하면 자동으로 Hashtable로 변환된다고 한다. (메모리 2배 이상 증가 가능) 그래서 TimeSeries 데이터 구조를 사용하면 빠르고 효율적으로 시간 기반 쿼리가 가능하다고 한다.redis-stack이나 enterprise 깔면 쉬운데 일단 wsl2 환경에서 redis-server를 로컬로 돌리고 있으니모듈을 설치해야 한다. (아니면 아래 명령어를 통해 모듈이 있나 확인)redis-cli> MODULE LIS..
-
Spring: Playwright exposeFunction (유튜브 라이브 채팅 읽기)컴퓨터/JAVA 2025. 3. 2. 23:24
Youtube.com 라이브에서 API 없이 실시간으로 채팅을 읽고 싶었다. Spring Boot 3.4 + Java 23 환경에서 Virtual Thread를 켠 상태이다.(새로운 동영상마다 scraper가 생성되는 방식)일단 유튜브 웹사이트가 동적으로 iframe을 불러온다. 처음에는 HTML에서 element를 계속 읽으면 될 것이라고 생각했다.하지만, 유튜브가 DOM을 재활용한다. (보이는 부분만 렌더링?)그래서 이 방식은 어느 순간부터 새로운 메시지를 잘 읽지 못하고, ID도 재사용되는 듯해 uuid를 써서메시지를 처리했는지 일일이 확인해야 했다. 그러면 어떻게 하면 제일 빠르게 읽을 수 있을까? 고민을 하다가 @MutationObserver를 알게 되었다.DOM 트리 변경사항을 감지할 수 있..
-
Grafana + Prometheus docker 기본 셋업컴퓨터/소프트웨어 2025. 2. 2. 12:24
https://github.com/grafana/docker-otel-lgtm/tree/main GitHub - grafana/docker-otel-lgtm: OpenTelemetry backend in a Docker imageOpenTelemetry backend in a Docker image. Contribute to grafana/docker-otel-lgtm development by creating an account on GitHub.github.com 그라파나 공식 레포에 있는 도커 이미지를 사용하면 편하다.(LGTM = Looks Good To Me = Loki + Grafana + Tempo + prometheus Metrics) 1.Server서버에서는 metrics 엔드포인트를 만..
-
2025 프랑스 파리 한국 음식점 추천 (한식당)기타/해외 여행 2025. 1. 31. 13:44
프랑스 2달 지내면서 가끔 생각날 때 가본 한식당들...한식당들은 1~2구에 많다. (사진은 안 찍은 곳이 많아 구글 사진으로 보완)전체 목록 보기 (구글맵): https://maps.app.goo.gl/U3pnKsmrm5CZxo6Y6 아래 5개 식당들은 다 모여있다.구글 리뷰 요약은 그냥 최근 리뷰 30개 정도 씩 요약한 것이니 참고만 하시길. 1. 삼식 (SAM CHIC)구글 맵: https://maps.app.goo.gl/UDuB2ZB5kP8zAPhQ8메뉴: https://samchic.fr/notre-menu/구글 리뷰 요약:장점: 서비스, 분위기, 넉넉한 양단점: 의사소통, 가격, 너무 익힌 고기 등 정보: 삼겹살을 먹으러 간 곳, 대구탕 같은 탕들도 있고 밑반찬도 나쁘진 않다.파리에서 한식을 ..
-
Blurhash: 이미지 미리보기 블러 라이브러리 placeholder컴퓨터/Go language 2024. 12. 14. 18:16
Blurhash는 위처럼 사진을 짧고 간단한 string으로 인코딩할 수 있는 것이다.프론트엔드 UI에서 이미지 로딩될 때 쓰면 예쁘다. C언어 버전으로 작성되었는데 hash83, 특이한 방법으로 이미지를 해싱한다.여러 언어들로 클라이언트가 있으니 github을 참고한다.https://github.com/woltapp/blurhash GitHub - woltapp/blurhash: A very compact representation of a placeholder for an image.A very compact representation of a placeholder for an image. - woltapp/blurhashgithub.com 그래서 각 사진마다 thumbnail_url 필드가 있는 것..
-
-
Privacy Policy카테고리 없음 2024. 11. 9. 15:51
Privacy Policy for LeetCode TranslatorEffective Date: November 8, 20241. IntroductionWelcome to LeetCode Translator ("we," "our," or "us"). We are committed to protecting your privacy and ensuring the security of your personal information. This Privacy Policy outlines how we collect, use, disclose, and safeguard your information when you use our Chrome extension designed to translate LeetCode pr..
-
LeetCode 문제 번역 크롬 확장자 만들기컴퓨터/HTML & JS & TS 2024. 11. 9. 11:37
https://chromewebstore.google.com/detail/leetcode-translator/clegkmajaieakemdjngmaiipghfmppgf LeetCode Translator - Chrome 웹 스토어Translate LeetCode problems into multiple languages using GPT.chromewebstore.google.com 크롬 확장자 방식이 궁금해서 만들어보았다.딱히 어려운 것은 없고 단순 html path 싸움과 GPT API 부르는 것이었다.gpt-4o-mini API를 쓰니까 백만 토큰을 써도 0.01 달러이다.그래서 아무리 많이 사용해도 1달러도 안 나올 듯하다. 스토어에 올리고 싶을 때는 아래 사이트 가서 제안해야 한다.https:/..