タグ

ブックマーク / zenn.dev/voluntas (16)

  • Rye メモ

    $ rye install optuna Collecting optuna Downloading optuna-3.1.1-py3-none-any.whl (365 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 365.7/365.7 kB 1.7 MB/s eta 0:00:00 Collecting alembic>=1.5.0 (from optuna) Downloading alembic-1.11.1-py3-none-any.whl (224 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 224.5/224.5 kB 2.3 MB/s eta 0:00:00 Collecting cmaes>=0.9.1 (from optuna) Downloading cmaes-0.9.1-py3

    Rye メモ
  • GistPad 雑録

    前提 ローカルとオンラインで同期してくれるメモツールが欲しかった 色々触ってみたがぐっとくるものがなく、VIM モードが最初からある HackMD を使っていた ふと Gist を VS Code で編集できたりしないのだろうかと思い拡張を検索してみたところ、GistPad を見つけた。アクティブに更新している Gist が大量にあり管理できるツールを探していただけ。 GistPad - Visual Studio Marketplace 結論 恐ろしく便利 VS Code 拡張が好きなだけ利用できる VS Code 拡張 クローズドなメモ帳としては文句ない 連携は向いていないので連携したい場合は別のツールを使うべき ネガティブはモバイルから利用できないことくらい 自分にとって何が GistPad は良かったか VS Code ベースなので VS Code の拡張が全て利用可能 VS Co

    GistPad 雑録
  • Cloudflare Load Balancing メモ (利用を廃止しました)

    Cloudflare LB で WebSocket が突然切断される問題 現時点で Cloudflare LB で WebSocket を利用する場合は問題が起きる場合がある。充分検証為てから採用する事をオススメします。 Cloudflare Status - Billing issues relating to subscription adjustments サブスクリプションのアップグレードおよびダウングレード時に機能が失われる問題が発生しております このサブスクリプションのダウングレードをすると機能が停止し、復旧できなくなる問題の影響を受けて、商用環境で Cloudflare LB が完全に復旧できなくなる状況が発生しました。 ビジネスプラン (年 2400 ドル) 程度のサポート契約では、残念ながらビジネスで利用できるレベルではなかったです。もしビジネスで利用される場合は、必ずエ

    Cloudflare Load Balancing メモ (利用を廃止しました)
  • Cloudflare R2 メモ

    課金体系 無料枠 ingress / egress 転送量 無料 10 GB / month 無料容量 10 G Class A Operations 1,000,000 requests / month ListBuckets, PutBucket, ListObjects, PutObject, CopyObject, CompleteMultipartUpload, CreateMultipartUpload, UploadPart, and UploadPartCopy Class B Operations 10,000,000 requests / month HeadBucket, HeadObject, and GetObject Free operations DeleteObject, DeleteBucket and DeleteMultipartUpload. 有料

    Cloudflare R2 メモ
  • k6 + Echo + go-sqlite3 + Litestream + Linode Object Storage 簡易負荷試験メモ

    注意 とっても雑な検証なので参考などにはしないでください。ちょっとした興味で自分用に調べてるだけです。 結論 Echo を利用した秒 1 万リクエストを超えないウェブサービスで、かつ SQLite の機能で要件がみたせるのであれば、SQLite + Litestream 十分と判断出来る結果だった。 利用技術 Load testing for engineering teams | Grafana k6 Grafana に買収された Go で書かれた負荷試験ツール JS でシナリオが書ける Litestream - Streaming SQLite Replication SQLite リアルタイムバックアップツール mattn/go-sqlite3: sqlite3 driver for go using database/sql Litestream も使ってる 安心と信頼の matt

    k6 + Echo + go-sqlite3 + Litestream + Linode Object Storage 簡易負荷試験メモ
  • Litestream メモ

    Litestream Litestream - Streaming SQLite Replication benbjohnson/litestream: Streaming replication for SQLite. SQLite を S3 のようなオンラインオブジェクトストレージにリアルタイムでレプリケーションをとる仕組み。 事例 A database for 2022 · Tailscale Tailscale が Litestream へ移行している

    Litestream メモ
  • Webhook.site のまとめ

    Webhook.site https://webhook.site/ というウェブフックを即座に受信できる URL をアクセスするだけで作成してくれるサービスがあります。このサイトが当に便利なので、紹介していきます。

    Webhook.site のまとめ
  • S3 互換オブジェクトストレージまとめ

    概要 S3 互換オブジェクトストレージの サービス を自分のためにまとめている。サービスとして提供されているのが前提で、 自前運用は範囲外 。 目的 以下の内容に絞って調べている。 日リージョンの有無 egress の費用 容量の費用 追加調査予定 PutObject 対応 PresignedGetObject 対応 S3 互換 S3 互換の条件は s3cmd や aws sdk s3 がそのまま利用できる事。細かい互換性は気にしない。 比較用の AWS S3 https://aws.amazon.com/jp/s3/pricing/ 最小プラン Tokyo / Osaka リージョンあり 1 GiB 追加の egress 転送量は 0.114 ドル 1 GiB の追加容量は 0.025 ドル TODO SLA 書いてるのと書いてないのがあって拾いにくい 対象外 Azure は S3 互

    S3 互換オブジェクトストレージまとめ
  • 時雨堂クラウドサービスを支える技術 v1

    v2 へ移行中です 円安の影響や、自社製品がスケールアウトに対応したこと、Cloudflare LB の WebSocket の挙動が残念だったことなどを踏まえ、サービス構成を変更を検討中です。 自社サービスのバックエンドを Go から TypeScript へ切り替えるための整理 脱 Vultr Egress 料金が Linode だと Vultr の半額 Linode へ移行 脱 Cloudflare LB Linode の NodeBalancers へ移行 マルチリージョンでの利用は Linode の Akamai Global Load Balancer 公開待ち 脱 Cloudflare サポートに不安があるため Akamai へ移行 脱 TimescaledB 移行は Linode PostgreSQL の提供開始待ち OLAP は DuckDB + S3 互換オブジェクトス

    時雨堂クラウドサービスを支える技術 v1
  • Cloudflare Workers メモ

    前提 Cloudflare Workers は知っていたが最近触って、番環境へ導入済み。 普段は Erlang/OTP を書いてるので JavaScript は専門外 自社サービスの番環境には Cloudflare Workers を導入済み OpenResty はエンタープライズ大規模環境向けで設計/開発経験あり 雑感 Cloudflare Workers® ざーっと見た感じ Nginx + Lua (OpenResty) のマネージド、さらに Edge で動かしてくれて、スケールも勝手にしてくれるバージョンという認識。実際 shared.dict / redis の代わりが Workers KV が利用できる。 さらにローカル開発環境が充実している、デプロイ後のログ確認も管理画面から簡単に利用できる。 Lua Introducing Cloudflare Workers これを読む

    Cloudflare Workers メモ
  • ドキュメント駆動開発v2

    前提 ここで言っているドキュメントは仕様書ではなく、顧客向け製品ドキュメント。 ミドルウェア製品を開発 小さなチーム パッケージ製品とパッケージ製品のクラウド版 そのため顧客に提供するドキュメントが必ず必要 GitHub を利用 自分で開発する場合のフロー 作りたい機能をぼんやりでいいので GitHub Issue に追加する feature ブランチを切る デザインドキュメントをリポジトリの doc/ 以下に書く デザインドキュメントに合わせてコーディングを進めてなんとなく動くところまで作る 動かなくてもいいのでイメージを膨らませるためにコードを書いてみる デザインドキュメントは書き捨て前提で、とにかくメモを書く 製品ドキュメントを書き始めて、一旦書き終える ブランチマージに向けてコーディングを進める 書ける範囲でテストを書く ドキュメントを平行して修正する プルリクエストをだしてレビュ

    ドキュメント駆動開発v2
  • macOS で利用してるアプリケーション

    ブラウザは省略 オープンソースソフトウェア macvim-dev/macvim: Vim - the text editor - for macOS Visual Studio Code - Code Editing. Redefined iTerm2 - macOS Terminal Replacement VideoLAN CotEditor -Text Editor for macOS Wireshark · Go Deep. macOS(またはLinux)用パッケージマネージャー — Homebrew フリーソフトウェア The Unarchiver | Top Free Unarchiving Software for macOS 商用ソフトウェア iStat Menus Dash for macOS - API Documentation Browser, Snippet Ma

    macOS で利用してるアプリケーション
  • Clubhouse リアルタイム配信の仕組みについて (解説編)

    Cloubhouse はすでに OSS である Janus Gateway に切り替えており Agora は使用していないようです ライセンス Creative Commons — 表示 - 非営利 - 改変禁止 4.0 国際 — CC BY-NC-ND 4.0 前提 ざっくりと雑に解説。 どんな技術を使っていてこんな感じだろうという妄想は以下をどうぞ。 Clubhouse リアルタイム配信の仕組みについて (妄想編) 著者 商用 WebRTC SFU 開発者 WebRTC プロトコルスタック実装者 End to End Encryption プロトコルスタック実装者 Clubhouse の仕組みはとてもシンプルで配信者が N 人で、それを数千人が聞くという co-streaming と呼ばれる仕組みの一つ。この方式は今までは主に映像ありでパネルディスカッション的な使い方が主だっだ。それを

    Clubhouse リアルタイム配信の仕組みについて (解説編)
  • WebRTC を今から学ぶ人に向けて

    この資料には宣伝が含まれます ライセンス Creative Commons — 表示 - 非営利 - 改変禁止 4.0 国際 — CC BY-NC-ND 4.0 内容 これから WebRTC を学ぶ人が何を学ぶべきで、何は学ばないべきなのかを書く。定期的に更新していく。 趣味で学びたい人はターゲットに入っていません、仕事で利用する場合のみがターゲット。 まとめ 急がば回れで、W3C の資料を理解できるまで読み込む。 下手にフレームワークに依存したりして簡単な仕組みを覚えてしまうと後からツライ。 Media Capture and Streams WebRTC 1.0: Real-Time Communication Between Browsers Identifiers for WebRTC's Statistics API 作って学ぶも良いが、まずは出てくる単語などの意味を理解できるの

    WebRTC を今から学ぶ人に向けて
  • Clubhouse リアルタイム配信の仕組みについて (妄想編)

    Cloubhouse はすでに OSS である Janus Gateway に切り替えており Agora は使用していないようです ライセンス Creative Commons — 表示 - 非営利 - 改変禁止 4.0 国際 — CC BY-NC-ND 4.0 前提 @suthio_さんがつぶやいていたのがきっかけ https://twitter.com/suthio_/status/1353945619577008128?s=20 招待してくれた @dmnlk さんに感謝 DNS パケット見ただけ 他の方の解析は見ていない クライアント側の処理は知らない 気が向いたら更新している 著者 商用 WebRTC SFU 開発者 WebRTC プロトコルスタック実装者 End to End Encryption プロトコルスタック実装者 IRIAM 配信サーバ設計者 妄想 求人にメディアサーバ

    Clubhouse リアルタイム配信の仕組みについて (妄想編)
  • コードを書き続けるためにやってること

    この記事は 6 年前に書いた記事を更新したものです プログラミングの生産性を上げるには - Cside::Private とても面白かったのでマネしてみた。人それぞれあると思うので自分のスタイルを。 といっても、かなり不真面目なので参考にはならないと思う。 1. README.rst を書く まず最初に何がしたいのか、どんなことをしたいのかを書く 概要、ゴール、実装方法、使用ライブラリ、TODO などを書いていく そして README.rst に擬似コードを書き始める コンパイルが通る必要は無い コメントもガンガン書いていく とにかく issues とか使わず全て README.rst に書いていく 一通り出来てきたら GitHub Issues にタスクを移す 2. 擬似コードでプロトを書く コードを書いてみないと分からない事が多いのでまずはコードを書く 自分が一番かける Erlang

    コードを書き続けるためにやってること
  • 1