Англійський словник для розробників Deno 2
Освоєння англійських термінів, які використовуються у моделі часу виконання Deno 2 — права доступу, сховище KV, реєстр JSR тощо. Ідеально підходить для людей, які не володіють англійською мовою.
Introduction
Deno 2 пропонує новий підхід до програмування JavaScript і TypeScript, а також набір технічних термінів, які можуть викликати плутанину навіть до того, як ви додасте мовний бар’ єр. Якщо англійська не є вашою першою мовою, розуміння точного значення таких слів, як « shim » або « deny by default », допоможе вам швидше прочитати документацію і з більшою впевненістю спілкуватися з вашою командою. Ця стаття містить основні слова Deno 2, щоб ви могли обговорити їх англійською мовою.
Модель дозволів
Однією з найбільш відмінних особливостей Deno є його ** модель прав **. Типово, програма Deno не може читати файли, отримувати доступ до мережі або виконувати підпроцеси. Цей підхід називається « типово відмовляти » — у доступі буде відмовлено, якщо ви не надасте на це ясно виражений дозвіл.
Під час запуску програми ви надається доступ за допомогою ** права доступу **. Прапорець — це параметр командного рядка, який змінює поведінку програми. Наприклад:
«Вам потрібно передати прапорець дозволу
--allow-net, інакше скрипт не зможе робити HTTP-запити»
Фразу « відмовити за замовчуванням » варто запам’ ятати. Ви побачите це у дискусіях щодо безпеки у багатьох інструментах, не лише у Deno:
Наш API-шлюз за замовчуванням відмовляється — кожен новий маршрут повинен бути явно внесений до білого списку
Реєстр пакунків JSR
Deno 2 впровадив першокласну підтримку JSR (JavaScript Registry). ** Реєстр пакунків ** це централізоване сховище, де розробники публікують і завантажують пакунки коду для повторного використання.
Ви, можливо, вже знаєте ** npm ** як домінуючий реєстр пакунків для Node. js. JSR розроблений як сучасна альтернатива, з нативною підтримкою TypeScript і сумісністю між режимами виконання. Коли ми говоримо про реєстри англійською мовою, часто трапляються такі фрази:
«Я опублікував бібліотеку інструментів в реєстрі JSR, щоб вся команда могла імпортувати її» «Завжди перевіряйте, чи активно підтримується пакунок у реєстрі, перш ніж додавати його як залежність.»
Сумісність шарів і стиків
Оскільки багато розробників мігрують з Node.js, Deno 2 включає рівень сумісності — код, який перекладає API Node.js, щоб вони працювали всередині Deno без переписування їх.
Близьким до нього словом є shim. Shim — це невеликий шматочок коду, який перехоплює виклики до одного інтерфейсу і перенаправляє їх на інший. Подумайте про це як про роз’ єм адаптера:
«Шар сумісності Deno Node.js забезпечує стиски для вбудованих модулів, таких як
fsіpath, тому застарілий код працює без змін.» «Ми додали shim для об’єктаprocess.env, тому що стороння бібліотека очікувала, що він існує»
Ключова відмінність: ** рівень сумісності ** є ширшою системою, тоді як ** шип ** є однією конкретною частиною всередині неї.
Магазин KV
Deno 2 кораблі з вбудованим ** KV магазин ** - короткий для ** key-value store **. Сховище ключів і значень — це тип бази даних, у якій дані зберігаються у вигляді пар: унікальний ключ і пов’ язане з ним значення. Це простіше, ніж реляційна база даних і дуже швидко для деяких випадків використання.
“Ми використовуємо Deno KV для кешування сеансових токенів користувачів. Ключ є ідентифікатором сеансу, а значення є об’єктом серіалізованого користувача.” «Ключ-значення магазини ідеальні, коли вам потрібні низькозатримкові читання і дані не мають складних відносин.»
В англійській мові, «магазин», використовуваний як іменник в цьому контексті, означає місце, де зберігаються дані, а не магазин.
Підтримка робочого простору
Deno 2 додав ** підтримку робочого простору **, що дозволяє декільком пов’язаним пакункам жити в одному сховищі. ** Робочий простір ** у цьому контексті є налаштуванням, яке дозволяє проекту керувати кількома підпакунками разом.
«Ми реструктурували монорепо, щоб використовувати робочі простори Deno, тому всі внутрішні пакунки мають однакову залежність від розв’язування.»
Ключовий словник
| Term | Definition |
|---|---|
| permission flag | A command-line option that grants a specific access right to a program |
| deny by default | A security principle where all access is blocked unless explicitly permitted |
| package registry | A centralised service for publishing and downloading reusable code packages |
| shim | A small piece of code that makes one API behave like another |
| compatibility layer | A broader system that allows code written for one environment to run in another |
| key-value store | A simple database that stores data as pairs of unique keys and associated values |
| workspace | A project configuration that groups multiple related packages in one repository |
| native TypeScript | TypeScript that runs directly without a separate compilation step |
Практичні поради
- Під час читання документації з Deno, підсвічуйте кожну фразу, пов’ язану з безпекою, і пишіть власні речення за допомогою цієї фрази. Постійно з’ являються фрази « Заборонити типово » і « Прапорець дозволу ».
- Порівняйте JSR з npm у короткому абзаці англійською мовою — порівняння у письмі змушують вас використовувати перехідні слова, такі як « while », « in contrast » і « unlike ».
- Поясніть поняття « шип » вашому колегі за допомогою аналогії з повсякденного життя. Якщо ти можеш пояснити це просто, то твій словниковий запас достатній.
- У коментарях до перегляду коду, практикуйте написання повних речень: замість «неправильного прапора», пишіть «Прапор дозволу тут повинен бути
--allow-read, а не--allow-all, щоб дотримуватися принципу найменших привілеїв»
Conclusion
Deno 2 вводить концепції, які здаються новими навіть досвідченим розробникам, тому зустріч незнайомих англійських термінів на вершині незнайомої технології є абсолютно нормальним. Сфокусування уваги на словниковому запасі, пов’ язаному з правами доступу, реєстрами і сумісністю, надає вам міцну основу для читання документації, вирішення проблем і обговорення архітектури англійською мовою. Чим більше ви використовуєте ці терміни в реальних реченнях, тим швидше вони стають другою природою.
На практиці: Навігація та співпраця
Будьмо чесними - розуміння нюансів професійної англійської мови в технічному середовищі може бути приголомшливим, особливо коли ви зосереджені на основній логіці вашого коду. Термінологія, що оточує Deno 2 - особливо такі поняття, як права, KV магазини і JSR реєстри - дуже специфічні, і неправильні тлумачення можуть призвести до розчарування затримок або переробки. Це не просто про знання визначень; це про розуміння того, як ці визначення використовуються в практичному спілкуванні, від перегляду коду до обговорення команди.
Розглянемо такий сценарій: Сара, молодший розробник, що працює над новим модулем служби обробки даних, надіслала запит на звантаження. Головний інженер, Марк, залишає коментар до опису PR, який говорить: «Це потребує більш детальних прав. Розгляньте використання певного JSR для зовнішніх викликів API і зменшення обсягу доступу до KV-сховища. ” Тепер Сара розуміє * гранулярні права * концептуально – вона знає, що це стосується обмеження того, що може робити модуль – але формулювання Марка є критичним. Це не просто сказати «покращити безпеку». Акцент на «специфічному JSR» направляє її увагу на дослідження JavaScript Runtime Registry і його можливостей. Аналогічно, «зменшення обсягу доступу до KV-магазину» говорить про те, що Сарі потрібно оцінити, чи дійсно модуль * вимагає * повного доступу до всього KV-магазину або чи буде достатньо більш обмеженого простору ключів. Ці фрази призначені для керування обговоренням і забезпечення безпечного і ефективного впровадження.
Інша поширена ситуація виникає в розмовах Slack. Можливо, Девід має проблеми з налаштуванням нової служби, яка залежить від магазину KV. Він може набрати: « Я отримую помилки під час спроби запису даних до сховища KV; я перевірив свої права доступу, але все одно не вдається ». Це звучить просто, але Марк може відповісти більш конструктивно, запропонувавши: « Чи можете ви поділитись конкретним повідомленням про помилку? Ви впевнені, що модуль має потрібні права доступу, які правильно налаштовано * у * просторі назв KV store? Також, чи ви використовуєте будь-які JSR, які можуть впливати на цю взаємодію? » Ключова відмінність тут полягає в проактивних і цілейних питаннях — рухатися далі від неясного симптому, щоб дослідити потенційні кореневі причини в архітектурі Deno.
Нарешті, подумайте про створення описів PR самостійно. Хороший опис повинен не просто вказати що ви зробили, але чому, використовуючи точну термінологію. Замість того, щоб сказати « Виправлено проблему з доступом до даних », спробуйте сказати « Впроваджено розширені права доступу за допомогою спеціального JSR для модуля data-processing, щоб зменшити потенційні вразливості безпеки і зменшити сліди у сховищі KV. » Це продемонструє розуміння і виправдає ваші рішення, полегшуючи перегляд і співпрацю.
Ось приклад, який показує, як ви можете скористатися командою deno info для дослідження проблеми з правами доступу:
deno info --permission <module_name>
За допомогою цієї команди ви зможете отримати на вивід подробиці щодо прав доступу, наданих вказаному модулю, що дозволить вам діагностувати, чи не надмірний запит на доступ, або чи не було неправильно налаштовано модуль. Зрозуміти ці інструменти і те, як вони пов’язані з більш широкою екосистемою Deno 2 - особливо щодо безпеки запуску і управління ресурсами - є життєво важливим для ефективного спілкування і успішного розвитку.