English for Appwrite Developers

Вивчіть англійську лексику для роботи з Appwrite, платформою з відкритим кодом backend- as- a- service: збірки, права доступу, функції і SDK.

Appwrite надає вам систему автентифікації, базу даних документів, файлове сховище і безсерверні функції за одним API, і чітке обговорення цього з командою означає, що ви повинні бути точні щодо термінів, які вільно відображаються - але не точно - на концепції з Firebase або Supabase. Цей підручник містить необхідний вам словник.

Ключовий словник

** Collection ** — група пов’ язаних документів у службі бази даних Appwrite, приблизно еквівалентна таблиці у реляційній базі даних або збірці у MongoDB. “Ми зберігаємо профілі користувачів у збірці profiles, з окремою збіркою posts, пов’язаною атрибутом userId.”

** Атрибут ** — поле з типом, визначене у збірці (рядок, ціле число, булівське значення, відношення), з яким мають відповідати документи у цій збірці.

  • “Я додав обов’ язковий атрибут status до збірки замовлень — існуючі документи без нього не будуть перевірені доки ми не заповнимо їх.” *

** Дозвіл (рівень документа / рівень збірки) ** — правила керування доступом, які прив’ язано до збірки або окремого документа, за допомогою яких можна вказати, які ролі або користувачі можуть читати, записувати, оновлювати або вилучати цей документ.

  • “Ми встановлюємо права доступу на рівні документа, щоб кожен користувач міг читати і оновлювати лише свій власний документ профілю, а не всю збірку.” *

** Appwrite Function ** — функція без сервера, написана у будь- якому з підтримуваних середовищ виконання, запускається за допомогою події (створення документа, розкладу, запиту HTTP) і виконується у ізольованому контейнері. “Функція привітального листа запускається на події users.create і виконується незалежно від головного API, тому повільний провайдер електронної пошти не заблокує підписку.”

Query (Appwrite Query builder) — синтаксис структурованого фільтрування SDK ( Query.equal, Query.greaterThan, Query.orderDesc ), який використовується для створення запитів на базу даних без запису сирих рядків запиту. “Замість фільтрування з боку клієнта, скористайтеся Query.equal('status', 'active') у виклику списку — це відштовхує фільтр до бази даних і уникає витягування непотрібних документів.”

Звичайні фрази

  • Чи є це право встановлене на рівні колекції або на рівні документа?
  • «Яка подія запускає цю функцію — подія бази даних, або запланований cron?»
  • «Чи ми фільтруємо з викликом Query builder, або витягаємо все і фільтруємо з боку клієнта?»
  • Чи потрібно цей атрибут вимагати, чи він повинен бути за замовчуванням нульовим?
  • «На якому часі виконання розгорнута ця функція, і чи має вона проблему холодного запуску?»

Приклади висловлювань

Пояснення моделі даних у перегляді проекту: “Кожен document в колекції posts має обов’язковий атрибут authorId і атрибут відносин, що вказує назад на колекцію profiles, тому ми можемо запитати повідомлення користувача безпосередньо.”

Опис вади з правами доступу: “Дозволи на рівні документа все ще були встановлені на типову роль, отже будь- який автентифікований користувач міг читати приватні документи інших людей — ми тепер розширили їх до власника документа.”

Обговорення рішення щодо архітектури функцій: “Ми перенесли логіку зміни розміру зображення до функції Appwrite, яка запускається при вивантаженні файла, замість того, щоб робити це синхронно в маршруті API — це зберігає швидкість відповіді на вивантаження.”

Професійні поради

  • Розрізняйте ** права доступу на рівні збірки ** від ** прав доступу на рівні документа ** у будь- якій дискусії щодо безпеки — їх об’ єднання є найпоширенішим джерелом помилок контролю доступу Appwrite.
  • Називайте атрибути відповідно до типів на стороні клієнта, до яких ви їх відобразите, і скажіть це в перегляді — атрибут string, який насправді має містити дату, запрошує помилки аналізу в нижньому рівні.
  • Коли пропонуєте Appwrite Function, вкажіть її тригер явно (подія, розклад або HTTP) — «функція, яка запускається при завантаженні» корисніша, ніж «функція, яка обробляє зображення»
  • Віддавайте перевагу опису фільтрів як ** Виклики конструктора запитів **, а не як « запит » — це сигналізує, чи відбувається фільтрування на стороні сервера чи клієнта, що має значення для обговорення швидкодії.

Практичні вправи

  1. Напишіть одне речення, у якому буде описано збірку і два її атрибути.
  2. Поясніть різницю між правами доступу на рівні збірки і на рівні документа вашими словами.
  3. Описує функцію і подію, яка її запускає.

В практиці: оновлення комунікації в колективному середовищі

Для не-рідних носіїв англійської мови, що пересуваються у світі професійного розвитку - особливо при використанні таких інструментів, як Appwrite - оволодіння нюансованим словником виходить далеко за рамки простого перекладу слів. Це розуміння як речі кажуть, неявні очікування в команді, і точна мова, необхідна для ефективного внесення вкладу в перегляд коду, обговорення і документацію. Розглянемо деякі типові ситуації, коли обережна фраза може зробити або пошкодити вашу здатність бути почутими і зрозумілими.

Однією з найчастіших проблем є надання конструктивного зворотнього зв’язку під час перегляду коду. Отримати коментар на зразок « Це потребує переробки » не особливо корисно без контексту. Ефективнішим підходом було б щось на зразок: «Я помітив, що ця частина коду могла б отримати користь від поліпшення читабельності. Можливо, розбиття складної логіки на менші, названі функції, збільшить підтримку і полегшить розуміння потоку. Зауважте використання таких термінів, як « переробка », « читабельність », « підтримка » і « поток » — це стандартні терміни в обговореннях з розробки програмного забезпечення, і їх правильний вибір демонструє глибше розуміння. Аналогічно, коли ви описуєте свою роботу у описі запитів на звантаження (PR), не вказуйте просто « Виправлено ваду ». Замість цього спробуйте щось на зразок: « Впроваджено виправлення проблеми з пошкодженням даних, виявленої під час тестування. Коренева причина була відстежена до неправильної перевірки підтвердження в рамках функції updateDocument. Ця зміна включає в себе поліпшення обробки помилок і ведення журналу, щоб запобігти повторенню помилок у майбутньому. » Цей рівень докладності показує увагу до деталей і показує, що ви зробили кроки не лише для розв’ язання поточної проблеми, але і для розуміння її причин.

Іншою областю, де словниковий запас має значне значення, є розмови Slack. Швидке, неформальне повідомлення на зразок « Виправлено! » може бути достатнім для особистого оновлення, але під час обговорення оптимізації продуктивності у команді, більш точне твердження — « Оптимізовано запиту на базу даних за допомогою реалізації індексування часто використовуваних полів » — негайно передасть технічні подробиці і дозволить іншим оцінювати вплив ваших змін. Крім того, вивчення того, як ввічливо не погоджуватися або пропонувати альтернативні підходи, є критичним. Замість того, щоб сказати «Це неправильно», спробуйте «Я розумію ваш підхід, але я розглядав [альтернативне рішення], оскільки воно може запропонувати кращу продуктивність в цьому конкретному сценарії»

Нарешті, пам’ятайте, що Appwrite сам по собі покладається на точну термінологію - “збірки”, “дозволи”, “функції” і SDK. Використання цих термінів послідовно у вашому спілкуванні підсилює їх значення і демонструє знайомство з основними концепціями платформи.

Ось простий приклад використання appwrite CLI для створення збірки:

appwrite collections create my_collection --type document

Ця команда дає вам чітке уявлення про те, як формулюються команди Appwrite, підкреслюючи точність інструкцій і виводу.

Поширені запитання

Про що ця стаття "English for Appwrite Developers"?

Вивчіть англійську лексику для роботи з Appwrite, платформою з відкритим кодом backend- as- a- service: збірки, права доступу, функції і SDK.

Чи безкоштовна ця стаття?

Так. Усі статті на CoderSlingo, включно з цією, доступні безкоштовно без реєстрації.

Скільки часу займає читання "English for Appwrite Developers"?

Приблизно 7 min.