Валидация формы с помощью AJV, Vue.js и TypeScript
Валидация форм является важной частью frontend-разработки, которая помогает улучшить пользовательский опыт и предотвратить ошибки при отправке данных на сервер. В этой статье мы рассмотрим, как использовать библиотеку AJV совместно с Vue.js и TypeScript для создания мощной системы валидации формы.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Валидация форм является важной частью frontend-разработки, которая помогает улучшить пользовательский опыт и предотвратить ошибки при отправке данных на сервер. В этой статье мы рассмотрим, как использовать библиотеку AJV совместно с Vue.js и TypeScript для создания мощной системы валидации формы.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
👍2❤1
Использование async/await для управления асинхронными операциями
async/await предоставляют удобный способ работы с асинхронным кодом, делая его более читаемым и управляемым.
#полезное
async/await предоставляют удобный способ работы с асинхронным кодом, делая его более читаемым и управляемым.
#полезное
👍5
Как мы внедряли Sentry
В прошлый раз мы рассматривали внедрение Sentry со стороны эксплуатации: устанавливали на сервер
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
В прошлый раз мы рассматривали внедрение Sentry со стороны эксплуатации: устанавливали на сервер
self-hosted
, делали его высокодоступным при помощи сети доставки td-agent
, настраивали мониторинг. Ожидаются небольшие дополнения.#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Использование Higher-Order Functions для обработки массивов
Higher-Order Functions (функции высшего порядка) принимают или возвращают другие функции, и их использование делает код более гибким и функциональным.
#полезное
Higher-Order Functions (функции высшего порядка) принимают или возвращают другие функции, и их использование делает код более гибким и функциональным.
#полезное
👍4🔥1
Сборка мусора в JavaScript
Каждый из нас, хотя бы раз, слышал о сборке мусора. Мы знаем, что где-то там работает сборщик мусора, убирая за нами ненужные объекты. Но сколько из нас знают, как он устроен под капотом?
В этой статье мы заглянем под капот этого процесса, поймем, как работает память, и изучим алгоритм сборки мусора.
Поехали убираться!
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Каждый из нас, хотя бы раз, слышал о сборке мусора. Мы знаем, что где-то там работает сборщик мусора, убирая за нами ненужные объекты. Но сколько из нас знают, как он устроен под капотом?
В этой статье мы заглянем под капот этого процесса, поймем, как работает память, и изучим алгоритм сборки мусора.
Поехали убираться!
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
❤2
Работа с локализацией: перевод и форматирование текста на разных языках
Работа с локализацией является важной частью разработки веб-приложений, особенно при создании мультиязычных интерфейсов.
Для перевода текста на разные языки в JavaScript можно использовать объект Intl, который предоставляет функциональность для локализации. С помощью объекта Intl можно форматировать числа, даты, валюты и другие типы данных в соответствии с правилами языка и региона.
В данном примере мы создаем объект Intl с помощью конструктора
Затем мы используем метод
#полезное
Работа с локализацией является важной частью разработки веб-приложений, особенно при создании мультиязычных интерфейсов.
Для перевода текста на разные языки в JavaScript можно использовать объект Intl, который предоставляет функциональность для локализации. С помощью объекта Intl можно форматировать числа, даты, валюты и другие типы данных в соответствии с правилами языка и региона.
В данном примере мы создаем объект Intl с помощью конструктора
new Intl.NumberFormat()
. Мы указываем язык и регион (в данном случае 'en-US' для английского языка в США) и опции форматирования (в данном случае стиль 'currency' и валюту 'USD').Затем мы используем метод
format()
объекта Intl для форматирования числа amount
в соответствии с указанными опциями. В данном примере мы форматируем число в денежный формат.#полезное
🔥5👍2
Facebook выпустил новую CSS-in-JS библиотеку — StyleX
Верней оформил 5 декабря 2023 года для всех то, чем его разработчики пользуются уже давно. Позиционируется данный помощник для js-подобных фреймворков типа React, Preact, Solid, lit-html и Angular, однако оперирующие html шаблонами Vue и Svelte тоже могут задействовать StyleX, но после предварительной специальной её кастомизации.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Верней оформил 5 декабря 2023 года для всех то, чем его разработчики пользуются уже давно. Позиционируется данный помощник для js-подобных фреймворков типа React, Preact, Solid, lit-html и Angular, однако оперирующие html шаблонами Vue и Svelte тоже могут задействовать StyleX, но после предварительной специальной её кастомизации.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
❤2🔥1
Функции высшего порядка и их использование
Функции высшего порядка в JavaScript - это функции, которые могут принимать другие функции как аргументы или возвращать их как результат. Они являются мощным инструментом для абстракции и повторного использования кода. Рассмотрим пример функции высшего порядка, которая принимает функцию обратного вызова и применяет ее к каждому элементу массива
В этом примере
Функция
Затем мы создаем массив
#полезное
Функции высшего порядка в JavaScript - это функции, которые могут принимать другие функции как аргументы или возвращать их как результат. Они являются мощным инструментом для абстракции и повторного использования кода. Рассмотрим пример функции высшего порядка, которая принимает функцию обратного вызова и применяет ее к каждому элементу массива
В этом примере
forEach
- это функция высшего порядка, которая принимает массив arr
и функцию обратного вызова callback
. Она итерирует по элементам массива и вызывает callback
для каждого элемента.Функция
printItem
представляет собой функцию обратного вызова, которая просто выводит элемент в консоль.Затем мы создаем массив
numbers
и используем forEach
, чтобы применить функцию printItem
к каждому элементу массива. Результатом будет вывод всех элементов массива в консоль.#полезное
👍9
Роадмэп по современному фронтенду от KTS
Перед одним из потоков курса «Начинающий React-разработчик» мы провели вебинар, на котором рассказали, что из себя представляет современный фронтенд и какие знания нужны для востребованности на рынке труда. После вебинара мы решили написать цельный план развития во фронтенде.
Пункты развития для роадмэпа мы выбирали исходя из нашего опыта. Последовательность изучения этих тем не является твёрдой, так как у каждого свой путь и свои задачи.
Статья подойдет как для начинающих специалистов, так и для более опытных, которые хотели бы получить какой-то ориентир для дальнейшего развития.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Перед одним из потоков курса «Начинающий React-разработчик» мы провели вебинар, на котором рассказали, что из себя представляет современный фронтенд и какие знания нужны для востребованности на рынке труда. После вебинара мы решили написать цельный план развития во фронтенде.
Пункты развития для роадмэпа мы выбирали исходя из нашего опыта. Последовательность изучения этих тем не является твёрдой, так как у каждого свой путь и свои задачи.
Статья подойдет как для начинающих специалистов, так и для более опытных, которые хотели бы получить какой-то ориентир для дальнейшего развития.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
❤1
Рекурсия и оптимизация рекурсивных функций
В первой части кода есть простая рекурсивная функция
Во второй части кода представлена оптимизированная версия функции
Таким образом, оптимизированная версия
#полезное
В первой части кода есть простая рекурсивная функция
factorial
, которая вычисляет факториал числа n
. Она вызывает себя с аргументом n - 1
, пока n
не станет меньше или равно 1.Во второй части кода представлена оптимизированная версия функции
factorialMemoized
, которая использует мемоизацию. Мемоизация - это техника, при которой результаты предыдущих вызовов функции сохраняются в памяти и возвращаются в случае повторного вызова с теми же аргументами. В данном случае, мы используем объект memo
для хранения результатов предыдущих вызовов factorialMemoized
. Если результат уже вычислен для конкретного n
, мы возвращаем его из memo
, иначе вычисляем и сохраняем в memo
.Таким образом, оптимизированная версия
factorialMemoized
более эффективна при вычислении факториала для больших чисел, так как избегает переполнения стека вызовов, и вычисляет результаты только один раз для каждого n
.#полезное
👍9❤1
Сообщаются ли ваши тесты?
Чтобы быстро продвигаться в рабочих задачах, необходимо иметь уверенность в том, что можно вносить изменения.
А уверенность в изменениях зависит от тестового покрытия.
С тех пор как мы это поняли, автоматические тесты стали просто необходимы. Это привело к массовому внедрению шаблонов для старта работы.
Однако начать работу недостаточно.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Чтобы быстро продвигаться в рабочих задачах, необходимо иметь уверенность в том, что можно вносить изменения.
А уверенность в изменениях зависит от тестового покрытия.
С тех пор как мы это поняли, автоматические тесты стали просто необходимы. Это привело к массовому внедрению шаблонов для старта работы.
Однако начать работу недостаточно.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Использование sessionStorage для хранения данных на стороне клиента во время сессии
sessionStorage предоставляет временное хранилище данных, доступное только в течение текущей сессии браузера.
#полезное
sessionStorage предоставляет временное хранилище данных, доступное только в течение текущей сессии браузера.
#полезное
Раскрываем силу JavaScript: сокращение размера пакета NPM на 99%
Ищете пути повышения производительности приложения? Ознакомьтесь со способами значительного улучшения метрик в Lighthouse и FCP в проектах с использованием пакета дизайн-системы.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Ищете пути повышения производительности приложения? Ознакомьтесь со способами значительного улучшения метрик в Lighthouse и FCP в проектах с использованием пакета дизайн-системы.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
❤1
Использование Web Workers для многозадачности в веб-приложениях
Web Workers позволяют выполнять многозадачность в веб-приложениях, разделяя выполнение задач между основным потоком и фоновыми воркерами.
#полезное
Web Workers позволяют выполнять многозадачность в веб-приложениях, разделяя выполнение задач между основным потоком и фоновыми воркерами.
#полезное
👍8
2d движок для игр Javascript Game Engine
Любая игра представляет собой набор файлов: изображений, звуков и.т.д. и программы, которая эти файлы воспроизводит по заданным алгоритмам. Звуки проигрываются, а изображения обрезаются в нужных пропорциях и воспроизводятся на экране в нужном порядке, как в кино, или мультипликации с той лишь разницей, что тут процессом можно управлять, используя прикладные интерфейсы — клавиатуру, мышь, джойстик, экран мобильного телефона и т.п. Управлять, не значит только переключать сцены, а управлять актерами, или даже группами актеров, влияя на сюжет или события, насколько это позволяет задумка автора.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Любая игра представляет собой набор файлов: изображений, звуков и.т.д. и программы, которая эти файлы воспроизводит по заданным алгоритмам. Звуки проигрываются, а изображения обрезаются в нужных пропорциях и воспроизводятся на экране в нужном порядке, как в кино, или мультипликации с той лишь разницей, что тут процессом можно управлять, используя прикладные интерфейсы — клавиатуру, мышь, джойстик, экран мобильного телефона и т.п. Управлять, не значит только переключать сцены, а управлять актерами, или даже группами актеров, влияя на сюжет или события, насколько это позволяет задумка автора.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
🤣1
Использование JavaScript WebAssembly для выполнения кода, написанного на других языках
WebAssembly предоставляет возможность выполнять низкоуровневый бинарный код на веб-страницах, что полезно для оптимизированных вычислений.
#полезное
WebAssembly предоставляет возможность выполнять низкоуровневый бинарный код на веб-страницах, что полезно для оптимизированных вычислений.
#полезное
React + Three.js. Создаём собственный 3D шутер
В современной веб-разработке границы между классическими и веб-приложениями стираются с каждым днём. Сегодня мы можем создавать не только интерактивные сайты, но и полноценные игры прямо в браузере. Одним из инструментов, который делает это возможным, является библиотека React Three Fiber - мощное средство для создания 3D-графики на основе Three.js с использованием технологии React.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
В современной веб-разработке границы между классическими и веб-приложениями стираются с каждым днём. Сегодня мы можем создавать не только интерактивные сайты, но и полноценные игры прямо в браузере. Одним из инструментов, который делает это возможным, является библиотека React Three Fiber - мощное средство для создания 3D-графики на основе Three.js с использованием технологии React.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
🔥2
Манипуляция с элементами страницы: создание, удаление и изменение HTML-элементов
Манипуляция с элементами страницы - это важная часть разработки веб-приложений, которая позволяет создавать, удалять и изменять HTML-элементы динамически с помощью JavaScript. Это особенно полезно при обновлении содержимого страницы без перезагрузки.
В данном примере мы создаем новый элемент
Через 3 секунды мы удаляем элемент с помощью метода
Таким образом, манипуляция с элементами страницы позволяет нам динамически создавать, изменять и удалять HTML-элементы, что открывает широкие возможности для создания интерактивных и динамических веб-приложений.
#полезное
Манипуляция с элементами страницы - это важная часть разработки веб-приложений, которая позволяет создавать, удалять и изменять HTML-элементы динамически с помощью JavaScript. Это особенно полезно при обновлении содержимого страницы без перезагрузки.
В данном примере мы создаем новый элемент
div
с текстом "Новый элемент" и классом "my-class". Затем мы добавляем этот элемент в конец body
документа с помощью метода appendChild()
. Мы также изменяем содержимое элемента с помощью свойства textContent
и стилизуем его, устанавливая значение свойства backgroundColor
.Через 3 секунды мы удаляем элемент с помощью метода
remove()
. Это демонстрирует возможность удаления элементов из документа.Таким образом, манипуляция с элементами страницы позволяет нам динамически создавать, изменять и удалять HTML-элементы, что открывает широкие возможности для создания интерактивных и динамических веб-приложений.
#полезное
👍6
Увеличиваем свою производительность в WebStorm / PhpStorm c помощью шаблонов
В этой статье я хотел бы рассказать вам, как можно сократить рутинную работу написания кода, используя шаблоны для создания файлов.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
В этой статье я хотел бы рассказать вам, как можно сократить рутинную работу написания кода, используя шаблоны для создания файлов.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
👍4
Работа с графикой: использование библиотеки Canvas для рисования и визуализации данных
Работа с графикой является важной частью разработки веб-приложений, особенно при рисовании и визуализации данных. Для этого разработчики часто используют библиотеку Canvas, которая предоставляет мощные инструменты для создания интерактивных и красочных графических элементов.
Canvas - это элемент HTML5, который позволяет рисовать графику с помощью JavaScript. Он предоставляет API для создания и управления контекстом рисования, на котором можно рисовать линии, фигуры, текст и многое другое.
В данном примере мы получаем контекст рисования Canvas с помощью метода
Мы также можем устанавливать различные свойства контекста, такие как цвет заливки (
#полезное
Работа с графикой является важной частью разработки веб-приложений, особенно при рисовании и визуализации данных. Для этого разработчики часто используют библиотеку Canvas, которая предоставляет мощные инструменты для создания интерактивных и красочных графических элементов.
Canvas - это элемент HTML5, который позволяет рисовать графику с помощью JavaScript. Он предоставляет API для создания и управления контекстом рисования, на котором можно рисовать линии, фигуры, текст и многое другое.
В данном примере мы получаем контекст рисования Canvas с помощью метода
getContext()
. Затем мы используем методы контекста, такие как fillRect()
для рисования прямоугольника, stroke()
для рисования линии и fillText()
для рисования текста.Мы также можем устанавливать различные свойства контекста, такие как цвет заливки (
fillStyle
), цвет обводки (strokeStyle
), толщина линии (lineWidth
) и шрифт (font
).#полезное