JavaScript — это широко используемый язык программирования, а значит, он является основной целью для атакующих.
Поэтому важно убедиться, что ваши JS-приложения защищены.
В этом руководстве автор рассказывает о распространённых уязвимостях и о том, как защитить свой код.
https://freecodecamp.org/news/how-to-secure-javascript-applications/
👉 Гайды по JavaScript | дать буст
Поэтому важно убедиться, что ваши JS-приложения защищены.
В этом руководстве автор рассказывает о распространённых уязвимостях и о том, как защитить свой код.
https://freecodecamp.org/news/how-to-secure-javascript-applications/
Please open Telegram to view this post
VIEW IN TELEGRAM
Крутой трюк: используй тип
👉 Гайды по JavaScript | дать буст
never
в TypeScript, чтобы отлавливать необработанные случаи.Please open Telegram to view this post
VIEW IN TELEGRAM
Прощай,
В JavaScript появилась новая предложенная возможность — добавить объект Random в сам язык.
Он включает множество методов для генерации случайных значений
👉 Гайды по JavaScript | дать буст
Math.random()
В JavaScript появилась новая предложенная возможность — добавить объект Random в сам язык.
Он включает множество методов для генерации случайных значений
Please open Telegram to view this post
VIEW IN TELEGRAM
Когда-нибудь замечал символы ^ или ~ в package.json и просто их игнорировал?
Эти маленькие значки тихо управляют обновлениями твоего приложения — и могут стать разницей между плавным обновлением и ломающим всё багом.
🔹 ^ (крышка): разрешает минорные и патч-обновления
→ ^18.3.1 обновится до 18.4.x, но не до 19.0.0
🔹 ~ (тильда): разрешает только патч-обновления
→ ~18.3.1 обновится до 18.3.2, но не до 18.4.0
👉 Гайды по JavaScript | дать буст
Эти маленькие значки тихо управляют обновлениями твоего приложения — и могут стать разницей между плавным обновлением и ломающим всё багом.
→ ^18.3.1 обновится до 18.4.x, но не до 19.0.0
→ ~18.3.1 обновится до 18.3.2, но не до 18.4.0
Please open Telegram to view this post
VIEW IN TELEGRAM
Формы во Vue выводят из себя?
Вспомни про
На картинке — чистая валидация с vee-validate
👉 Гайды по JavaScript | дать буст
Вспомни про
useField
На картинке — чистая валидация с vee-validate
Please open Telegram to view this post
VIEW IN TELEGRAM
Прокачай SEO своего Nuxt-приложения
Динамическое SEO стало проще с
👉 Гайды по JavaScript | дать буст
Динамическое SEO стало проще с
useHead
Please open Telegram to view this post
VIEW IN TELEGRAM
Распространённая ошибка во Vue: забывают указать deep в watcher’ах
Первое изображение: не отслеживает вложенные изменения
Второе изображение: watcher с deep: true для вложенных объектов✅
👉 Гайды по JavaScript | дать буст
Первое изображение: не отслеживает вложенные изменения
Второе изображение: watcher с deep: true для вложенных объектов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Фича в Chrome DevTools — с помощью Gemini (это ИИ-моделька гугла) можно править CSS прямо в Elements и сразу сохранять изменения в исходники
Никакого копипаста между браузером и редактором. Внес правку — она тут же в проекте. Плюс — можно тестить на лету
👉 Гайды по JavaScript | дать буст
Никакого копипаста между браузером и редактором. Внес правку — она тут же в проекте. Плюс — можно тестить на лету
Please open Telegram to view this post
VIEW IN TELEGRAM
TypeScript: ключевые слова as и satisfies
> as — это утверждение типа. Оно говорит компилятору рассматривать значение как указанный тип, даже если оно фактически ему не соответствует.
> satisfies проверяет, соответствует ли значение заданному типу, не сужая тип и не удаляя лишние свойства.
👉 Гайды по JavaScript | дать буст
> as — это утверждение типа. Оно говорит компилятору рассматривать значение как указанный тип, даже если оно фактически ему не соответствует.
> satisfies проверяет, соответствует ли значение заданному типу, не сужая тип и не удаляя лишние свойства.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Синтаксис TypeScript часто вдохновлён JavaScript.
В некоторых случаях TS использует тот же самый синтаксис, но с другим назначением.
В чём разница?
🔹 JS-фичи работают со значениями
🔹 TS-фичи работают с типами
Вот несколько примеров:
В некоторых случаях TS использует тот же самый синтаксис, но с другим назначением.
В чём разница?
Вот несколько примеров:
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Динамическое освещение с помощью CSS и всего 4 строки JavaScript:
https://codepen.io/amit_sheen/pen/gbbzbeR
👉 Гайды по JavaScript | дать буст
https://codepen.io/amit_sheen/pen/gbbzbeR
Please open Telegram to view this post
VIEW IN TELEGRAM
В middleware роутера в nuxt_js нельзя просто так делать ❌
Вместо этого ошибку нужно передать в✔️
👉 Гайды по JavaScript | дать буст
throw
Вместо этого ошибку нужно передать в
abortNavigation()
и вернуть результат как Promise Please open Telegram to view this post
VIEW IN TELEGRAM
Я обожаю type-safe параметры поиска в Tanstack Router.
✅ Поддержка автодополнения
✅ Zod-схема валидирует параметры
✅ Логика валидации параметров централизована вместе с маршрутом, а не разбросана по приложению
✅ Иерархичность — дочерние маршруты могут добавлять дополнительные параметры
👉 Гайды по JavaScript | дать буст
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Это симуляция частиц на Three.js — одно из самых потрясающих зрелищ, что я когда-либо видел
Вот почему я обожаю веб — за бесконечную свободу творчества и визуальную магию, которую он даёт.
🔗 holtsetio.com/lab/flow
👉 Гайды по JavaScript | дать буст
Вот почему я обожаю веб — за бесконечную свободу творчества и визуальную магию, которую он даёт.
Please open Telegram to view this post
VIEW IN TELEGRAM
В следующей версии Bun
Вы можете передавать файлы непосредственно маршрутам в Bun.serve()
👉 Гайды по JavaScript | дать буст
Вы можете передавать файлы непосредственно маршрутам в Bun.serve()
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Хочешь реализовать drag & drop в веб-приложении?
Вот библиотека, проверенная временем и тысячами разработчиков — работает стабильно, легко внедряется и просто спасает.
Если хочешь добавить перетаскивание — это мастхэв
👉 Гайды по JavaScript | дать буст
Вот библиотека, проверенная временем и тысячами разработчиков — работает стабильно, легко внедряется и просто спасает.
Если хочешь добавить перетаскивание — это мастхэв
Please open Telegram to view this post
VIEW IN TELEGRAM
> Angular
> Request URL
> HTTP-метод
> Query-параметры
> Пользовательские HTTP-заголовки
> Тело запроса
> Отслеживание прогресса
> Передача куки/учётных данных
Этот объект содержит опции запроса,
но только параметр url обязателен.
👉 Гайды по JavaScript | дать буст
httpResource
httpResource<any>(request options)
> Request URL
url: 'http://localhost:3000/api/gallery', // обязательно
> HTTP-метод
method: 'POST',
> Query-параметры
params: { type: 'short', status: 1 },
> Пользовательские HTTP-заголовки
headers: { 'Custom-Header': 'Test Mode' },
> Тело запроса
body: 'Test Body',
> Отслеживание прогресса
reportProgress: false,
> Передача куки/учётных данных
withCredentials: false,
Этот объект содержит опции запроса,
но только параметр url обязателен.
Please open Telegram to view this post
VIEW IN TELEGRAM
Когда-нибудь ломал реактивность во Vue?
1: Обычные объекты — не реактивны!❌
2: Используй reactive для объектов!✔️
👉 Гайды по JavaScript | дать буст
1: Обычные объекты — не реактивны!
2: Используй reactive для объектов!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM