**Digs:**  
Discogs コレクションを同期し、オフラインで閲覧できる iOS アプリです。

2026/03/23 18:02

**Digs:** Discogs コレクションを同期し、オフラインで閲覧できる iOS アプリです。

RSS: https://news.ycombinator.com/rss

要約

<|channel|>final <|constrain|>## Japanese Translation: Digsは、vinylコレクターがiOSとAndroidでオフライン閲覧のためにDiscogsコレクション全体を同期できる、無料かつ広告なしのモバイルアプリです。ディスク構造とリリースデータ(アーティスト、タイトル、年、フォーマット、サムネイル)をDrizzle ORM経由でSQLiteデータベースに取り込み、その後React Query(無限のスタレイタイム設定)で即時に読み出しを提供します。初回同期では基本情報がダウンロードされ、以降は増分同期となります。また、アプリはトラックリスト、高解像度画像、評価、動画などの完全なリリース詳細を段階的パイプラインで取得し、途中で一時停止またはキャンセルすることも可能です。

Discogs の 60 リクエスト/分制限に対応するため、Digs はトークンバケットレートリミッターを使用し、

X‑Discogs‑Ratelimit‑Remaining
ヘッダーを追跡します。429 レスポンスには指数バックオフを適用します。認証は Discogs OAuth トークンを iOS キーチェーンに安全に保存して行います。

ユーザーはフォルダを閲覧したり、アーティスト/アルバム/レーベルで検索したり、ランダムリリースを選択したりできます。Wantlist やマーケットプレイス機能は含まれていません。開発は主に Claude Code によって指導され、コーディングよりもプロダクト決定が重視されました。このアプリは、Discogs のような大規模プラットフォームと共存できる軽量でプライバシー重視の音楽コレクションツールを示しています。

本文

2026‑03‑22

長年ビニールを集めてきましたが、Discogs で全てを管理しています。ですが、外出先でコレクションを閲覧するのはなかなかうまくいきませんでした。公式アプリは機能が豊富ですが、私にとってはフォルダナビゲーションやオフラインモードなど基本的な要素が不足していました。シンプルで高速、そしてオフラインで自分の棚に並べているようにレコードを掘り下げられるものが欲しかったのです。

そこで Digs を作りました。


何ができるか

あなたのコレクション全体をスマホへ同期し、オフラインで閲覧できます。Discogs 上ではすべて管理したままで、Digs は高速なモバイルコピーとしてのみ機能します。初回同期後はコレクション全体がオフライン利用可能です。フォルダ単位でのブラウズやアーティスト・アルバム・レーベル横断検索、また「ランダムピッカー」で忘れた所持品を再発見できます。以降の同期は差分のみ取得し、変更点だけをフェッチします。

このアプリは特定のユースケース向けに作られました。レコードをフォルダ化しており、通信が不安定な場所でも素早く閲覧したい人には便利です。ウィッシュリスト管理やマーケットプレイス機能、多数あるリリースバージョンの詳細検索などは対象外です。


技術的背景

  • フレームワーク:React Native(Expo、TypeScript)
  • データベース:SQLite + Drizzle ORM
  • 認証:Discogs API の OAuth を経由し、iOS Keychain にトークンを保存

同期パイプラインは面白い構築体験でした。まずフォルダ構造を取得し、その後コレクション内の全リリース(アーティスト・タイトル・年・形式・サムネイル)をページ分割でダウンロードします。これが完了すればすべて閲覧可能です。その上で、トラックリストや高解像度画像、評価、動画など詳細情報を段階的に取得し、画像はディスクへキャッシュします。各フェーズは一時停止・キャンセルでき、全体をバックグラウンドタスクとして実行可能です。


レート制限

Discogs のレートリミットは 60 リクエスト/分です。単純に「60 を超えたら止める」方式では、同時に複数のリクエストが走っていると、58 番目で限界を検知した後も 59〜65 が既に送信されてしまいます。

そこで採用したのは トークンバケット型レートリミッター。各レスポンスの

X-Discogs-Ratelimit-Remaining
ヘッダーを監視し、現在保留中のリクエスト数をカウントします。トークンが無くなると、ヘッダーから最新残量を取得するために 1 件だけリクエストし、429 が返ってきたら
Retry-After
ヘッダーで指数バックオフします。


ローカルファースト設計

全ての読み取りは SQLite から行います。React Query は「永続的に古い」状態(infinite stale time)を設定し、ローカル DB を真実値とみなしています。その結果、検索・フォルダ閲覧・ランダムピッカーはすべて即時応答です。


Claude Code での構築

Claude Code で全工程を行いました。思ったより時間がかかったのは「何を作るか」決める段階に多く費やしたからです。同期をキャンセル可能にするべきか?ランダムピッカーをフォルダ別にフィルタするべきか?ウィッシュリストを入れるか?編集機能は必要か?これら製品設計の決定が最も時間を要しました。コードを書いた後も、デバイスでテストしレイアウト調整やフロー再検討、App Store レビュー対策といった作業が続きます。アプリ制作は時間が必要なものです。


試してみてください

Digs は App Store で無料配信中です。広告もトラッキングもなく、Discogs のログイン以外にアカウントは不要です。ぜひお試しください。

同じ日のほかのニュース

一覧に戻る →

2026/03/24 7:52

Windows 3.1 用 タイル背景 .bmp アーカイブ

## Japanese Translation: GitHubは、コード作成・ワークフロー自動化・セキュリティ・コミュニティ協働を向上させるAI搭載の開発者ツールとエンタープライズサービスの包括的なスイートを提供します。 - **AI コード生成**:Copilot、Spark、および Models は開発者がコードを自動で生成・改善するのに役立ちます。 - **開発者ワークフロー**:Actions、Codespaces、Issues、Plan、Code Review が、コーディングからデプロイまでの開発パイプライン全体を統括します。 - **セキュリティ**:GitHub Advanced Security は脆弱性を検出しシークレットを保護します;エンタープライズグレードのセキュリティは Copilot for Business にバンドルされています。 - **エンタープライズプラットフォーム**:AI 搭載の開発環境とプレミアムサポートにより、大規模チームがスケールで高度なツールを採用できるようになります。 - **ユースケースの幅広さ**:このスタックは、医療・金融・製造・政府などの業界で App Modernization、DevSecOps、および CI/CD をサポートします。 - **マーケットプレイスとコミュニティ**:Advanced Security のようなアドオンは Marketplace で入手可能です;Sponsors、Security Lab、Maintainer Community、Accelerator、Stars、Archive Program といったイニシアチブがオープンコラボレーションを促進します。 - **ドキュメントとサポート**:GitHub は包括的なドキュメント、ブログ、変更ログ、およびユーザー向け専用サポートチャネルを提供しています。 今後の展望として、GitHub は AI 統合を深化させ、エンタープライズ機能を拡充し、業界固有のサポートを拡大することを計画しており、デジタルトランスフォーメーションの加速、コード品質基準の向上、および組織全体でのセキュリティ強化に寄与すると期待されています。

2026/03/24 3:40

既存の研究アイデアに対する自己主導型調査

## Japanese Translation: 研究は、検索空間とサンドボックス制約が厳密に定義された場合、LLM駆動エージェントが機械学習トレーニングパイプラインを自律的に改善できることを示しています。エージェントは制限付きループで動作します:仮説 → `train.py`/`program.md` を編集(メモリ用にスクラッチパッド使用)→ トレーニング(RTX 4090 で約800ステップ ≈ 3 分)→ 平均順位を評価し、コミットまたはロールバック。各実行はノイズ過剰適合を防ぐために約5 分の壁時計時間で制限されます。 トレーニングは医療用X線データセットから始まり、その後 Ukiyo‑eVG(≈11 K 日本の木版画)へ切り替えました。フレーズ注釈はガウスヒートマップに変換され、追加の「視線」入力として使用されました。CLIPバックボーンは ViT‑Small (22 M) + DistilBERT (66 M) + HeatmapProcessor (~90 M パラメータ) で構成され、ホールドアウト1 Kテストセットで評価しました(ベースライン平均順位 344.68、R@1 img→txt 17.2%、txt→img 16.5%)。 1日間にわたりエージェントは42実験を実行し、そのうち13がコミットされ29がロールバックされました。平均順位は344.68から157.43へ(54 %減少)しました。主な向上は温度制限修正(-113点)と Optuna++ ハイパーパラメータ調整(-30点)によるもので、他のアーキテクチャ変更はほぼ影響がありませんでした。フェーズ 4/5では成功率が低下し、多くの「スパゲッティ」仮説が失敗しました;サンドボックス違反は、エージェントが未承認の bash 呼び出しを試みたりループを早期に停止した際に発生しました。 実験は、LLM エージェントが明確に定義された検索空間内で機械学習研究を自律的に推進できることを示していますが、予期せぬ(「未知の未知」)挙動には苦戦し、厳格なサンドボックス化が必要です。将来の作業では計画段階やサブエージェントを導入して、1実験あたりの単一変更制限を克服し、ハイパーパラメータのより深い探索と成功率の向上を可能にすることが考えられます。

2026/03/22 0:07

**朱祁:磁器修復の技術**

## Japanese Translation: **概要:** ジュチ(锔瓷)は、宋代(960‑1279)に遡る中国の破損した磁器を修復する工芸です。13世紀の絵画に作業員が壊れた陶器を修理している様子が描かれており、ユネスコはジュチを無形文化遺産として認定しています。この技術では、職人が**脆弱な磁器に穴を開け、慎重に手作業で製造した金属のスタープレート(銅、鉄、または貴金属)を挿入し、裂け目を覆いながら物体の機能と美的整合性を保ちます**。ジュチは「不完全さの美」を称える哲学を具現化しており、日本の金継ぎ(壊れた陶器を漆で修復し、金箔で縫い合わせる)と類似しています。両方の伝統において、裂け目は再生されたアイデンティティへ変容し、人生に伴う傷や回復力を象徴します