Перейти к содержимому

Технические вопросы

Цель: < 2 секунд

DevLingo использует стратегию многоуровневого кэширования для обеспечения быстрого отклика:

  • Содержит 85+ часто используемых терминов разработки (API, library, deprecation и т.д.)
  • Хранится в локальной базе данных SwiftData
  • Первый запрос возвращается мгновенно, без сетевой задержки
  • Ранее запрошенные слова читаются из локального кэша
  • Включают определения, примеры и ссылки на произношение, сгенерированные AI
  • Доступны офлайн
  • Направляются через граничные узлы Cloudflare Workers к Claude API
  • Включают полный разбор, примеры, синонимы, синтез произношения
  • Граничное развёртывание обеспечивает низкую задержку

Произношение в DevLingo основано на нескольких авторитетных источниках:

  1. Официальная документация: произношение из официальных материалов Apple, Google, Meta, Amazon (термины AWS, iOS и т.д.)
  2. Корпус YouGlish: образцы произношения из реальных видео разработчиков
  3. Консенсус сообщества: постоянное обновление произношения неофициальных терминов на основе обратной связи команд
  4. Ручная IPA-транскрипция: все произношения имеют стандартную IPA-транскрипцию
  • Движок: Google Cloud Text-to-Speech
  • Модель: Neural voice model (более естественная, чем традиционный TTS)
  • Охват: американский и британский английский (переключение по запросу)

При обнаружении ошибки в произношении:

  1. На учебной карточке нажмите Report Issue (Сообщить о проблеме)
  2. Выберите Pronunciation (Произношение)
  3. Укажите правильное произношение или ссылку на источник

Обратная связь от сообщества помогает нам постоянно улучшаться.

Как решаются конфликты облачной синхронизации?

Заголовок раздела «Как решаются конфликты облачной синхронизации?»

DevLingo использует стратегию синхронизации last-write-wins для обработки редактирования на нескольких устройствах:

  1. Клиентская метка времени: при каждом изменении записи словаря записывается clientUpdatedAt
  2. Облачное слияние: при загрузке в Cloudflare D1 сравниваются метки времени
  3. Приоритет последнего изменения: версия с более поздней меткой времени замещает более раннюю
  4. Поддержка офлайн: данные, отредактированные офлайн, автоматически синхронизируются при восстановлении сети

Сценарий: одновременное редактирование одной записи на двух Mac

  1. Mac A: добавлена заметка “API design pattern” (14:00) — офлайн
  2. Mac B: обновлено определение (14:05) — онлайн
  3. Результат синхронизации: обновление Mac B побеждает (более поздняя метка времени)

Для сохранения обеих версий можно создать две отдельные записи.

  1. Откройте Настройки → Data (Данные)Export (Экспорт)
  2. Выберите формат CSV
  3. Экспортируемое содержимое включает:
    • Слова
    • Определения
    • Примеры
    • Учебные теги (дата сохранения, количество повторений)

CSV-файл совместим с Excel, Google Sheets и другими инструментами.

  • Экспорт в формат Anki: преобразование в формат Anki (.apkg) для интервального повторения
  • Импорт в базу данных Notion: прямой импорт в Notion для интеграции с личной базой знаний
  • Экспорт JSON: полный экспорт данных со всеми метаданными

Какая AI-модель используется для API-вызовов?

Заголовок раздела «Какая AI-модель используется для API-вызовов?»

DevLingo использует Claude в качестве серверной AI-модели:

Причины выбора:

  • Точность: понимание технических терминов превосходит другие модели
  • Структурированный вывод: поддержка возврата данных в формате JSON, удобном для отображения
  • Многоязычность: лучшее понимание примеров кода и запросов на нескольких языках
  • Экономичность: разумная стоимость API
  1. Выделенное английское слово
  2. Контекст текущего приложения (Xcode, Slack и т.д.)
  3. Языковой фон пользователя (опционально, для коррекции L1-интерференции)

Не включается:

  • Содержимое документов (отправляется только выделенное слово)
  • Идентификационные данные пользователя
  • История просмотров или содержимое приложений
  • Бесплатная версия: 10 раз/день
  • Pro: без ограничений
  • Team: без ограничений
  1. UX разрешения на универсальный доступ

    • В App Store невозможно элегантно запросить разрешение на универсальный доступ
    • DevLingo нуждается в этом разрешении для глобального сочетания клавиш и выделения текста в приложениях
    • Прямая загрузка обеспечивает лучший первый опыт использования
  2. Более быстрая итерация

    • Прямое распространение не требует ожидания проверки App Store (обычно 1-2 дня)
    • Быстрый выпуск исправлений и новых функций
    • Прямое получение обратной связи от пользователей
  3. Гибкое ценообразование

    • In-App Purchase в App Store удерживает 30% комиссии
    • Прямые продажи и модель License Key экономичнее
    • Более прозрачное ценообразование

Условия размещения в Mac App Store:

  • Улучшение Apple процесса запроса разрешений на универсальный доступ
  • Или изменение функциональности DevLingo, не требующее разрешения на универсальный доступ

В настоящее время мы отдаём предпочтение прямому распространению для лучшего пользовательского опыта.

Поддерживаются ли пользовательские горячие клавиши?

Заголовок раздела «Поддерживаются ли пользовательские горячие клавиши?»

DevLingo использует фиксированное глобальное сочетание клавиш: ⌘⇧D (глобальный запрос)

  • Пользовательское глобальное сочетание: возможность изменить на ⌘⇧E, ⌘⇧L и т.д.
  • Профили сочетаний клавиш: сохранение и импорт предустановок
  • Переопределение на уровне приложения: разные сочетания для конкретных приложений

Если ⌘⇧D конфликтует с другим приложением:

  1. Отключите конфликтующее сочетание в другом приложении
  2. Или переназначьте в системных настройках macOS
  3. Можно использовать значок в строке меню для ручного запуска запроса

Обратная связь по настройке горячих клавиш: [email protected]

  • База данных SwiftData: словарь, история обучения, кэш запросов
  • Расположение: ~/Library/DevLingo/ (конфиденциально, другие приложения не имеют доступа)
  • Шифрование: шифрование файловой системы macOS (FileVault)

Облачное хранилище (изоляция по пользователям)

Заголовок раздела «Облачное хранилище (изоляция по пользователям)»
  • База данных: Cloudflare D1 (SQLite)
  • Кэш: Cloudflare KV (для сессий и ограничения частоты)
  • Дата-центры: глобальные граничные узлы, но данные полностью изолированы по учётным записям
  • Шифрование передачи: все коммуникации через TLS 1.3
  • Данные изолированы по ID пользователя; сотрудники DevLingo не имеют доступа к данным пользователей
  • Регулярный аудит безопасности
  • Подробнее см. Политика конфиденциальности

После удаления учётной записи все облачные и локальные данные окончательно удаляются в течение 30 дней.