Подружим Sentry и Mattermost быстро и просто через адаптер
Когда я столкнулся с проблемой, я начал искать готовые решения или хотя бы туториалы по интеграции этих инструментов, но не нашел ничего и решил это исправить, написав гайд и возможно, сэкономив кому-то пару часов, а может и дней жизни. Код сервиса будет максимально простой, главная идея статьи - показать один из способов решения проблемы и направить в какую сторону копать, надеюсь кому-то пригодится.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Когда я столкнулся с проблемой, я начал искать готовые решения или хотя бы туториалы по интеграции этих инструментов, но не нашел ничего и решил это исправить, написав гайд и возможно, сэкономив кому-то пару часов, а может и дней жизни. Код сервиса будет максимально простой, главная идея статьи - показать один из способов решения проблемы и направить в какую сторону копать, надеюсь кому-то пригодится.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Работа с JSON: сериализация и десериализация данных в JavaScript
Работа с JSON является неотъемлемой частью разработки веб-приложений на JavaScript. JSON представляет собой формат обмена данными, основанный на тексте, который легко читается и создаётся как человеком, так и компьютером.
Сериализация и десериализация данных в JSON являются ключевыми процессами при работе с данными в JavaScript. Сериализация - это процесс преобразования объекта или структуры данных в строку JSON, чтобы его можно было передать или сохранить. Десериализация, в свою очередь, выполняет обратную операцию - преобразует строку JSON обратно в объект или структуру данных.
В данном примере мы создаем объект
Затем мы используем метод
#полезное
Работа с JSON является неотъемлемой частью разработки веб-приложений на JavaScript. JSON представляет собой формат обмена данными, основанный на тексте, который легко читается и создаётся как человеком, так и компьютером.
Сериализация и десериализация данных в JSON являются ключевыми процессами при работе с данными в JavaScript. Сериализация - это процесс преобразования объекта или структуры данных в строку JSON, чтобы его можно было передать или сохранить. Десериализация, в свою очередь, выполняет обратную операцию - преобразует строку JSON обратно в объект или структуру данных.
В данном примере мы создаем объект
person
, содержащий информацию о человеке. Затем мы используем метод JSON.stringify()
для сериализации объекта в строку JSON. Результат выводится в консоль.Затем мы используем метод
JSON.parse()
для десериализации строки JSON обратно в объект. Результат также выводится в консоль.#полезное
❤5👍1
React + Three.js. Создаём собственный 3D шутер
В современной веб-разработке границы между классическими и веб-приложениями стираются с каждым днём. Сегодня мы можем создавать не только интерактивные сайты, но и полноценные игры прямо в браузере. Одним из инструментов, который делает это возможным, является библиотека React Three Fiber - мощное средство для создания 3D-графики на основе Three.js с использованием технологии React.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
В современной веб-разработке границы между классическими и веб-приложениями стираются с каждым днём. Сегодня мы можем создавать не только интерактивные сайты, но и полноценные игры прямо в браузере. Одним из инструментов, который делает это возможным, является библиотека React Three Fiber - мощное средство для создания 3D-графики на основе Three.js с использованием технологии React.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
❤9👍2
Манипуляция с элементами страницы: создание, удаление и изменение HTML-элементов
Манипуляция с элементами страницы - это важная часть разработки веб-приложений, которая позволяет создавать, удалять и изменять HTML-элементы динамически с помощью JavaScript. Это особенно полезно при обновлении содержимого страницы без перезагрузки.
В данном примере мы создаем новый элемент
Через 3 секунды мы удаляем элемент с помощью метода
Таким образом, манипуляция с элементами страницы позволяет нам динамически создавать, изменять и удалять HTML-элементы, что открывает широкие возможности для создания интерактивных и динамических веб-приложений.
#полезное
Манипуляция с элементами страницы - это важная часть разработки веб-приложений, которая позволяет создавать, удалять и изменять HTML-элементы динамически с помощью JavaScript. Это особенно полезно при обновлении содержимого страницы без перезагрузки.
В данном примере мы создаем новый элемент
div
с текстом "Новый элемент" и классом "my-class". Затем мы добавляем этот элемент в конец body
документа с помощью метода appendChild()
. Мы также изменяем содержимое элемента с помощью свойства textContent
и стилизуем его, устанавливая значение свойства backgroundColor
.Через 3 секунды мы удаляем элемент с помощью метода
remove()
. Это демонстрирует возможность удаления элементов из документа.Таким образом, манипуляция с элементами страницы позволяет нам динамически создавать, изменять и удалять HTML-элементы, что открывает широкие возможности для создания интерактивных и динамических веб-приложений.
#полезное
👍8
Увеличиваем свою производительность в WebStorm / PhpStorm c помощью шаблонов
В этой статье я хотел бы рассказать вам, как можно сократить рутинную работу написания кода, используя шаблоны для создания файлов.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
В этой статье я хотел бы рассказать вам, как можно сократить рутинную работу написания кода, используя шаблоны для создания файлов.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
❤2
Работа с анимацией: использование CSS и JavaScript для создания анимированных эффектов
Работа с анимацией является важной частью разработки веб-приложений, которая позволяет создавать привлекательные и интерактивные пользовательские интерфейсы.
CSS предоставляет мощные возможности для создания анимаций с помощью свойства
В данном примере мы определяем анимацию
Затем мы применяем анимацию к элементу с классом
#полезное
Работа с анимацией является важной частью разработки веб-приложений, которая позволяет создавать привлекательные и интерактивные пользовательские интерфейсы.
CSS предоставляет мощные возможности для создания анимаций с помощью свойства
animation
. С помощью CSS можно определить ключевые кадры, продолжительность, задержку, тип анимации и другие параметры. Преимущество использования CSS для анимации заключается в том, что браузеры могут оптимизировать и ускорить процесс воспроизведения анимации.В данном примере мы определяем анимацию
slide-in
, которая перемещает элемент из-за пределов экрана внутрь с помощью свойства transform: translateX()
. Анимация начинается с -100%
смещения по оси X и заканчивается с 0
смещением.Затем мы применяем анимацию к элементу с классом
.element
с помощью свойства animation
. Мы указываем имя анимации slide-in
, продолжительность 1s
и функцию плавности ease-in-out
.#полезное
👍3❤2
Пристальный взгляд на отладку JavaScript приложений
Я делаю на JS/TS много разного в «Лаборатории Касперского»: фронт, облачные сервисы (Node.js), штуки для коробочной поставки (OnPrem), платформенные компоненты и библиотеки. И, конечно же, Open Source.
Сегодня хотел бы затронуть тему отладки веб-приложений на JavaScript.
Итак, как отлаживаться?Как-как? console.log(1)
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Я делаю на JS/TS много разного в «Лаборатории Касперского»: фронт, облачные сервисы (Node.js), штуки для коробочной поставки (OnPrem), платформенные компоненты и библиотеки. И, конечно же, Open Source.
Сегодня хотел бы затронуть тему отладки веб-приложений на JavaScript.
Итак, как отлаживаться?
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
❤3🔥2
Работа с графикой: использование библиотеки Canvas для рисования и визуализации данных
Работа с графикой является важной частью разработки веб-приложений, особенно при рисовании и визуализации данных. Для этого разработчики часто используют библиотеку Canvas, которая предоставляет мощные инструменты для создания интерактивных и красочных графических элементов.
Canvas - это элемент HTML5, который позволяет рисовать графику с помощью JavaScript. Он предоставляет API для создания и управления контекстом рисования, на котором можно рисовать линии, фигуры, текст и многое другое.
В данном примере мы получаем контекст рисования Canvas с помощью метода
Мы также можем устанавливать различные свойства контекста, такие как цвет заливки (
#полезное
Работа с графикой является важной частью разработки веб-приложений, особенно при рисовании и визуализации данных. Для этого разработчики часто используют библиотеку Canvas, которая предоставляет мощные инструменты для создания интерактивных и красочных графических элементов.
Canvas - это элемент HTML5, который позволяет рисовать графику с помощью JavaScript. Он предоставляет API для создания и управления контекстом рисования, на котором можно рисовать линии, фигуры, текст и многое другое.
В данном примере мы получаем контекст рисования Canvas с помощью метода
getContext()
. Затем мы используем методы контекста, такие как fillRect()
для рисования прямоугольника, stroke()
для рисования линии и fillText()
для рисования текста.Мы также можем устанавливать различные свойства контекста, такие как цвет заливки (
fillStyle
), цвет обводки (strokeStyle
), толщина линии (lineWidth
) и шрифт (font
).#полезное
❤5👍1
Один компонент, 20+ фич, A/B-тесты: Поможет ли машина состояний?
Сталкивались ли вы с проблемой возникновения багов из-за пересечения включенных фичей в приложении? Или, возможно, была необходимость одновременно проводить большое число A/B-экспериментов в одном компоненте?
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Сталкивались ли вы с проблемой возникновения багов из-за пересечения включенных фичей в приложении? Или, возможно, была необходимость одновременно проводить большое число A/B-экспериментов в одном компоненте?
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Работа с датами и временем: использование объекта Date и библиотек для работы с датами
Работа с датами и временем является неотъемлемой частью разработки веб-приложений, особенно при работе с расписаниями, сроками и другими временными данными. Для работы с датами в JavaScript мы можем использовать встроенный объект Date, который предоставляет функциональность для работы с датами и временем.
В данном примере мы создаем объект Date с помощью конструктора
Затем мы используем различные методы объекта Date, такие как
Мы также форматируем дату и время, используя шаблон строки и значения, полученные от объекта Date. В данном примере мы форматируем дату в формате "день.месяц.год" и время в формате "часы:минуты:секунды".
#полезное
Работа с датами и временем является неотъемлемой частью разработки веб-приложений, особенно при работе с расписаниями, сроками и другими временными данными. Для работы с датами в JavaScript мы можем использовать встроенный объект Date, который предоставляет функциональность для работы с датами и временем.
В данном примере мы создаем объект Date с помощью конструктора
new Date()
, который инициализирует его текущей датой и временем.Затем мы используем различные методы объекта Date, такие как
getFullYear()
, getMonth()
, getDate()
, getHours()
, getMinutes()
и getSeconds()
, чтобы получить текущие значения года, месяца, дня, часа, минуты и секунды.Мы также форматируем дату и время, используя шаблон строки и значения, полученные от объекта Date. В данном примере мы форматируем дату в формате "день.месяц.год" и время в формате "часы:минуты:секунды".
#полезное
👍8❤1🔥1🫡1
Как добавить несколько товаров в Shopify корзину одним кликом?
Недавно я писал конфигуратор в Shopify и решил поделиться тем, как добавить несколько товаров в Шопифай корзину. Я находил не так много материалов по этому вопросу, тем более на русском языке.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Недавно я писал конфигуратор в Shopify и решил поделиться тем, как добавить несколько товаров в Шопифай корзину. Я находил не так много материалов по этому вопросу, тем более на русском языке.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
👍1
Работа с локализацией: перевод и форматирование текста на разных языках
Работа с локализацией является важной частью разработки веб-приложений, особенно при создании мультиязычных интерфейсов.
Для перевода текста на разные языки в JavaScript можно использовать объект Intl, который предоставляет функциональность для локализации. С помощью объекта Intl можно форматировать числа, даты, валюты и другие типы данных в соответствии с правилами языка и региона.
В данном примере мы создаем объект Intl с помощью конструктора
Затем мы используем метод
#полезное
Работа с локализацией является важной частью разработки веб-приложений, особенно при создании мультиязычных интерфейсов.
Для перевода текста на разные языки в JavaScript можно использовать объект Intl, который предоставляет функциональность для локализации. С помощью объекта Intl можно форматировать числа, даты, валюты и другие типы данных в соответствии с правилами языка и региона.
В данном примере мы создаем объект Intl с помощью конструктора
new Intl.NumberFormat()
. Мы указываем язык и регион (в данном случае 'en-US' для английского языка в США) и опции форматирования (в данном случае стиль 'currency' и валюту 'USD').Затем мы используем метод
format()
объекта Intl для форматирования числа amount
в соответствии с указанными опциями. В данном примере мы форматируем число в денежный формат.#полезное
👍2
Как мы создаём Squadus. Реализуем «прыжок к сообщению» в мобильной версии
Весной этого года мы выпустили Squadus — цифровое рабочее пространство для компаний любого масштаба. Решение позволяет общаться в чатах, проводить конференции, совместно работать над документами и автоматизировать типовые действия с помощью ботов.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Весной этого года мы выпустили Squadus — цифровое рабочее пространство для компаний любого масштаба. Решение позволяет общаться в чатах, проводить конференции, совместно работать над документами и автоматизировать типовые действия с помощью ботов.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
❤2
Работа с файлами: загрузка, чтение и запись файлов с помощью JavaScript
В данном примере мы используем различные методы и события для загрузки, чтения и записи файлов.
Для загрузки файла мы добавляем обработчик события
Для чтения файла мы создаем объект
Для записи файла мы создаем текстовое содержимое с помощью переменной
#полезное
В данном примере мы используем различные методы и события для загрузки, чтения и записи файлов.
Для загрузки файла мы добавляем обработчик события
change
на элемент input type="file"
. Внутри обработчика мы получаем загруженный файл с помощью event.target.files[0]
и выводим его в консоль.Для чтения файла мы создаем объект
FileReader
и добавляем обработчик события load
. Внутри обработчика мы получаем содержимое файла с помощью event.target.result
и выводим его в консоль. Затем мы вызываем метод readAsText()
объекта FileReader
, чтобы начать чтение файла.Для записи файла мы создаем текстовое содержимое с помощью переменной
fileContent
. Затем мы создаем объект Blob
с помощью содержимого и указываем тип файла. Мы создаем URL объекта Blob
с помощью URL.createObjectURL()
и создаем ссылку для скачивания файла. Затем мы автоматически кликаем по ссылке с помощью link.click()
, чтобы начать загрузку файла.#полезное
🔥13❤2👍2
React 18: что поменялось
React — одна из самых популярных JavaScript-библиотек для создания пользовательских интерфейсов. В её новой версии произошли значительные изменения, и сейчас я расскажу про самые важные.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
React — одна из самых популярных JavaScript-библиотек для создания пользовательских интерфейсов. В её новой версии произошли значительные изменения, и сейчас я расскажу про самые важные.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
❤10👍3🔥2
Функции высшего порядка и их использование
Функции высшего порядка в JavaScript - это функции, которые могут принимать другие функции как аргументы или возвращать их как результат. Они являются мощным инструментом для абстракции и повторного использования кода. Рассмотрим пример функции высшего порядка, которая принимает функцию обратного вызова и применяет ее к каждому элементу массива
В этом примере
Функция
Затем мы создаем массив
#полезное
Функции высшего порядка в JavaScript - это функции, которые могут принимать другие функции как аргументы или возвращать их как результат. Они являются мощным инструментом для абстракции и повторного использования кода. Рассмотрим пример функции высшего порядка, которая принимает функцию обратного вызова и применяет ее к каждому элементу массива
В этом примере
forEach
- это функция высшего порядка, которая принимает массив arr
и функцию обратного вызова callback
. Она итерирует по элементам массива и вызывает callback
для каждого элемента.Функция
printItem
представляет собой функцию обратного вызова, которая просто выводит элемент в консоль.Затем мы создаем массив
numbers
и используем forEach
, чтобы применить функцию printItem
к каждому элементу массива. Результатом будет вывод всех элементов массива в консоль.#полезное
👍9❤2🫡2🔥1
Heretic: full stack фреймворк на основе Marko.js
В последнее время вышло так, что я по неведомой причине стал часто заниматься популяризацией Marko.js, декларативного и реактивного языка разметки, который разрабатывается eBay. С одной стороны, это связано с тем, что Marko незаслуженно часто обходят стороной, хотя он позволяет делать из коробки делать многое из того, что не получится сделать на мейнстримовых фреймворках. С другой стороны, это действительно классно, когда можно использовать обычный HTML, при необходимости расширяя его синтаксисом Marko (вроде условных операторов и циклов). Одним словом, если вы еще не видели, что это такое - посмотрите, возможно, вам это очень понравится.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
В последнее время вышло так, что я по неведомой причине стал часто заниматься популяризацией Marko.js, декларативного и реактивного языка разметки, который разрабатывается eBay. С одной стороны, это связано с тем, что Marko незаслуженно часто обходят стороной, хотя он позволяет делать из коробки делать многое из того, что не получится сделать на мейнстримовых фреймворках. С другой стороны, это действительно классно, когда можно использовать обычный HTML, при необходимости расширяя его синтаксисом Marko (вроде условных операторов и циклов). Одним словом, если вы еще не видели, что это такое - посмотрите, возможно, вам это очень понравится.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
👍4🔥2❤1
Рекурсия и оптимизация рекурсивных функций
В первой части кода есть простая рекурсивная функция
Во второй части кода представлена оптимизированная версия функции
Таким образом, оптимизированная версия
#полезное
В первой части кода есть простая рекурсивная функция
factorial
, которая вычисляет факториал числа n
. Она вызывает себя с аргументом n - 1
, пока n
не станет меньше или равно 1.Во второй части кода представлена оптимизированная версия функции
factorialMemoized
, которая использует мемоизацию. Мемоизация - это техника, при которой результаты предыдущих вызовов функции сохраняются в памяти и возвращаются в случае повторного вызова с теми же аргументами. В данном случае, мы используем объект memo
для хранения результатов предыдущих вызовов factorialMemoized
. Если результат уже вычислен для конкретного n
, мы возвращаем его из memo
, иначе вычисляем и сохраняем в memo
.Таким образом, оптимизированная версия
factorialMemoized
более эффективна при вычислении факториала для больших чисел, так как избегает переполнения стека вызовов, и вычисляет результаты только один раз для каждого n
.#полезное
👍6🔥2