技術的な質問
クエリ速度はどのくらいですか?
Section titled “クエリ速度はどのくらいですか?”目標:2 秒以内
DevLingo は階層キャッシュ戦略を採用して高速レスポンスを確保しています:
ローカル技術語彙ライブラリ(即時)
Section titled “ローカル技術語彙ライブラリ(即時)”- 85 以上の一般的な開発用語を含む(API、library、deprecation など)
- ローカルの SwiftData データベースに保存
- 初回クエリで即座に返し、ネットワーク遅延ゼロ
キャッシュクエリ(500 ミリ秒以内)
Section titled “キャッシュクエリ(500 ミリ秒以内)”- 以前にクエリした語彙はローカルキャッシュから読み取り
- AI が生成した定義、例文、発音リンクを含む
- オフラインでもアクセス可能
新しい AI クエリ(1〜2 秒)
Section titled “新しい AI クエリ(1〜2 秒)”- Cloudflare Workers のエッジノード経由で Claude API に転送
- 完全な解析、例文、同義語、発音合成を含む
- エッジデプロイにより低レイテンシを確保
発音データのソースは?
Section titled “発音データのソースは?”DevLingo の発音は複数の権威あるソースに基づいています:
ソースの組み合わせ
Section titled “ソースの組み合わせ”- 公式ドキュメント:Apple、Google、Meta、Amazon などの公式発音を収集(AWS、iOS などの用語)
- YouGlish コーパス:実際の開発者ビデオから発音パターンをサンプリング
- 開発者コミュニティのコンセンサス:チームフィードバックを通じて非公式用語の発音を継続的に更新
- 人間による IPA 表記:すべての発音が IPA(国際音声記号)標準で表記
- エンジン:Google Cloud Text-to-Speech
- モデル:Neural 音声モデル(従来の TTS よりも自然)
- カバレッジ:アメリカ英語とイギリス英語(必要に応じて切り替え)
不正確な発音の報告
Section titled “不正確な発音の報告”発音の間違いを見つけた場合:
- 学習カードで Report Issue(問題を報告) をクリック
- Pronunciation(発音) を選択
- 正しいと思う発音や関連するリソースリンクを提供
コミュニティのフィードバックが継続的な改善を支えています。
クラウド同期の競合はどう解決されますか?
Section titled “クラウド同期の競合はどう解決されますか?”DevLingo はマルチデバイス編集に対して last-write-wins 同期戦略を採用しています:
同期の仕組み
Section titled “同期の仕組み”- クライアントのタイムスタンプ:単語帳のエントリを変更するたびに
clientUpdatedAtタイムスタンプを記録 - クラウドでのマージ:Cloudflare D1 にアップロード時にタイムスタンプを比較
- 最後の変更が優先:タイムスタンプが新しいバージョンが古いバージョンを上書き
- オフラインサポート:オフラインで編集したデータはネットワーク復旧時に自動同期
両方のバージョンを保持する必要がある場合は、単語帳に 2 つのエントリを作成できます。
単語帳のデータはエクスポートできますか?
Section titled “単語帳のデータはエクスポートできますか?”現在サポート:CSV
Section titled “現在サポート:CSV”- 設定 → Data(データ) → Export(エクスポート) を開く
- CSV フォーマット を選択
- エクスポート内容には以下が含まれます:
- 語彙
- 定義
- 例文
- 学習タグ(保存日、復習回数)
CSV ファイルは Excel、Google Sheets などのツールと互換性があります。
ロードマップ機能
Section titled “ロードマップ機能”- Anki デッキエクスポート:Anki フォーマット (.apkg) に変換、間隔反復学習に使用
- Notion データベースインポート:Notion に直接インポート、個人ナレッジベースに統合
- JSON エクスポート:完全なデータエクスポート、すべてのメタデータを含む
API はどの AI モデルを使っていますか?
Section titled “API はどの AI モデルを使っていますか?”モデル選択:Claude (Anthropic)
Section titled “モデル選択:Claude (Anthropic)”DevLingo はバックエンド AI モデルとして Claude を使用しています:
選択の理由:
- 正確性:技術用語の理解が他のモデルを上回る
- 構造化出力:JSON フォーマットの返却をサポートし、アプリでの表示が容易
- 多言語:コード例と混合言語クエリの理解が優れている
- コスト効率:合理的な API 価格
リクエストに含まれる情報
Section titled “リクエストに含まれる情報”- 選択した英語の語彙
- 現在のアプリのコンテキスト(Xcode、Slack など)
- ユーザーの言語背景(オプション、L1 干渉の修正用)
含まれないもの:
- ドキュメントの内容(選択した語彙のみ送信)
- ユーザーの身元情報
- 閲覧履歴やアプリの内容
なぜ Mac App Store にないのですか?
Section titled “なぜ Mac App Store にないのですか?”-
アクセシビリティ権限の UX
- App Store ではアクセシビリティ権限のリクエストを優雅に行えない
- DevLingo はグローバルショートカットとアプリ間のテキスト選択のためにこの権限が必要
- 直接ダウンロードの方がより良い初回使用体験を提供
-
より速いイテレーション
- 直接配布により App Store のレビュー待ち(通常 1〜2 日)が不要
- バグ修正と新機能をすばやくリリース可能
-
柔軟な価格設定
- App Store の In-App Purchase には 30% の手数料がある
- 直接販売と License Key モデルの方がコストが低い
カスタムショートカットはサポートされていますか?
Section titled “カスタムショートカットはサポートされていますか?”DevLingo は固定のグローバルショートカットを使用しています:⌘⇧D(グローバルクエリ)
計画中の機能
Section titled “計画中の機能”- カスタムグローバルショートカット:⌘⇧E、⌘⇧L などに変更可能にする
- ショートカットプロファイル:プリセット設定の保存とインポート
- アプリレベルのショートカットオーバーライド:特定のアプリに異なるショートカットを定義
一時的な解決策
Section titled “一時的な解決策”⌘⇧D が他のアプリと競合する場合:
- 競合するアプリのショートカットを無効にする
- macOS のシステム環境設定 → キーボード → ショートカットで再マッピング
- メニューバーアイコンから手動でクエリを実行
ショートカットのカスタマイズに関するフィードバック:[email protected]
データはどこに保存されていますか?
Section titled “データはどこに保存されていますか?”ローカルストレージ(デバイス)
Section titled “ローカルストレージ(デバイス)”- SwiftData データベース:単語帳、学習履歴、キャッシュクエリ
- 場所:
~/Library/DevLingo/(ユーザーのプライバシー保護、他のアプリはアクセス不可) - 暗号化:macOS ファイルシステム暗号化(FileVault)
クラウドストレージ(ユーザー分離)
Section titled “クラウドストレージ(ユーザー分離)”- データベース:Cloudflare D1 (SQLite)
- キャッシュ:Cloudflare KV(セッションとレート制限用)
- データセンター:グローバルエッジノード、ただしユーザーデータはアカウントごとに完全分離
- 暗号化通信:すべての通信は TLS 1.3 を使用
アカウント削除後、すべてのクラウドおよびローカルデータは 30 日以内に永久削除されます。