Работа с локализацией: перевод и форматирование текста на разных языках
Работа с локализацией является важной частью разработки веб-приложений, особенно при создании мультиязычных интерфейсов.
Для перевода текста на разные языки в JavaScript можно использовать объект Intl, который предоставляет функциональность для локализации. С помощью объекта Intl можно форматировать числа, даты, валюты и другие типы данных в соответствии с правилами языка и региона.
В данном примере мы создаем объект Intl с помощью конструктора
Затем мы используем метод
#полезное
Работа с локализацией является важной частью разработки веб-приложений, особенно при создании мультиязычных интерфейсов.
Для перевода текста на разные языки в JavaScript можно использовать объект Intl, который предоставляет функциональность для локализации. С помощью объекта Intl можно форматировать числа, даты, валюты и другие типы данных в соответствии с правилами языка и региона.
В данном примере мы создаем объект Intl с помощью конструктора
new Intl.NumberFormat()
. Мы указываем язык и регион (в данном случае 'en-US' для английского языка в США) и опции форматирования (в данном случае стиль 'currency' и валюту 'USD').Затем мы используем метод
format()
объекта Intl для форматирования числа amount
в соответствии с указанными опциями. В данном примере мы форматируем число в денежный формат.#полезное
👍6
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, но после предварительной специальной её кастомизации.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
👍1😁1
Функции высшего порядка и их использование
Функции высшего порядка в JavaScript - это функции, которые могут принимать другие функции как аргументы или возвращать их как результат. Они являются мощным инструментом для абстракции и повторного использования кода. Рассмотрим пример функции высшего порядка, которая принимает функцию обратного вызова и применяет ее к каждому элементу массива
В этом примере
Функция
Затем мы создаем массив
#полезное
Функции высшего порядка в JavaScript - это функции, которые могут принимать другие функции как аргументы или возвращать их как результат. Они являются мощным инструментом для абстракции и повторного использования кода. Рассмотрим пример функции высшего порядка, которая принимает функцию обратного вызова и применяет ее к каждому элементу массива
В этом примере
forEach
- это функция высшего порядка, которая принимает массив arr
и функцию обратного вызова callback
. Она итерирует по элементам массива и вызывает callback
для каждого элемента.Функция
printItem
представляет собой функцию обратного вызова, которая просто выводит элемент в консоль.Затем мы создаем массив
numbers
и используем forEach
, чтобы применить функцию printItem
к каждому элементу массива. Результатом будет вывод всех элементов массива в консоль.#полезное
👍8
Роадмэп по современному фронтенду от KTS
Перед одним из потоков курса «Начинающий React-разработчик» мы провели вебинар, на котором рассказали, что из себя представляет современный фронтенд и какие знания нужны для востребованности на рынке труда. После вебинара мы решили написать цельный план развития во фронтенде.
Пункты развития для роадмэпа мы выбирали исходя из нашего опыта. Последовательность изучения этих тем не является твёрдой, так как у каждого свой путь и свои задачи.
Статья подойдет как для начинающих специалистов, так и для более опытных, которые хотели бы получить какой-то ориентир для дальнейшего развития.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Перед одним из потоков курса «Начинающий React-разработчик» мы провели вебинар, на котором рассказали, что из себя представляет современный фронтенд и какие знания нужны для востребованности на рынке труда. После вебинара мы решили написать цельный план развития во фронтенде.
Пункты развития для роадмэпа мы выбирали исходя из нашего опыта. Последовательность изучения этих тем не является твёрдой, так как у каждого свой путь и свои задачи.
Статья подойдет как для начинающих специалистов, так и для более опытных, которые хотели бы получить какой-то ориентир для дальнейшего развития.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Рекурсия и оптимизация рекурсивных функций
В первой части кода есть простая рекурсивная функция
Во второй части кода представлена оптимизированная версия функции
Таким образом, оптимизированная версия
#полезное
В первой части кода есть простая рекурсивная функция
factorial
, которая вычисляет факториал числа n
. Она вызывает себя с аргументом n - 1
, пока n
не станет меньше или равно 1.Во второй части кода представлена оптимизированная версия функции
factorialMemoized
, которая использует мемоизацию. Мемоизация - это техника, при которой результаты предыдущих вызовов функции сохраняются в памяти и возвращаются в случае повторного вызова с теми же аргументами. В данном случае, мы используем объект memo
для хранения результатов предыдущих вызовов factorialMemoized
. Если результат уже вычислен для конкретного n
, мы возвращаем его из memo
, иначе вычисляем и сохраняем в memo
.Таким образом, оптимизированная версия
factorialMemoized
более эффективна при вычислении факториала для больших чисел, так как избегает переполнения стека вызовов, и вычисляет результаты только один раз для каждого n
.#полезное
❤1👍1
Сообщаются ли ваши тесты?
Чтобы быстро продвигаться в рабочих задачах, необходимо иметь уверенность в том, что можно вносить изменения.
А уверенность в изменениях зависит от тестового покрытия.
С тех пор как мы это поняли, автоматические тесты стали просто необходимы. Это привело к массовому внедрению шаблонов для старта работы.
Однако начать работу недостаточно.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Чтобы быстро продвигаться в рабочих задачах, необходимо иметь уверенность в том, что можно вносить изменения.
А уверенность в изменениях зависит от тестового покрытия.
С тех пор как мы это поняли, автоматические тесты стали просто необходимы. Это привело к массовому внедрению шаблонов для старта работы.
Однако начать работу недостаточно.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
❤1
Работа с JSON: сериализация и десериализация данных в JavaScript
Работа с JSON является неотъемлемой частью разработки веб-приложений на JavaScript. JSON представляет собой формат обмена данными, основанный на тексте, который легко читается и создаётся как человеком, так и компьютером.
Сериализация и десериализация данных в JSON являются ключевыми процессами при работе с данными в JavaScript. Сериализация - это процесс преобразования объекта или структуры данных в строку JSON, чтобы его можно было передать или сохранить. Десериализация, в свою очередь, выполняет обратную операцию - преобразует строку JSON обратно в объект или структуру данных.
В данном примере мы создаем объект
Затем мы используем метод
#полезное
Работа с JSON является неотъемлемой частью разработки веб-приложений на JavaScript. JSON представляет собой формат обмена данными, основанный на тексте, который легко читается и создаётся как человеком, так и компьютером.
Сериализация и десериализация данных в JSON являются ключевыми процессами при работе с данными в JavaScript. Сериализация - это процесс преобразования объекта или структуры данных в строку JSON, чтобы его можно было передать или сохранить. Десериализация, в свою очередь, выполняет обратную операцию - преобразует строку JSON обратно в объект или структуру данных.
В данном примере мы создаем объект
person
, содержащий информацию о человеке. Затем мы используем метод JSON.stringify()
для сериализации объекта в строку JSON. Результат выводится в консоль.Затем мы используем метод
JSON.parse()
для десериализации строки JSON обратно в объект. Результат также выводится в консоль.#полезное
👍4
React + Three.js. Создаём собственный 3D шутер
В современной веб-разработке границы между классическими и веб-приложениями стираются с каждым днём. Сегодня мы можем создавать не только интерактивные сайты, но и полноценные игры прямо в браузере. Одним из инструментов, который делает это возможным, является библиотека React Three Fiber - мощное средство для создания 3D-графики на основе Three.js с использованием технологии React.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
В современной веб-разработке границы между классическими и веб-приложениями стираются с каждым днём. Сегодня мы можем создавать не только интерактивные сайты, но и полноценные игры прямо в браузере. Одним из инструментов, который делает это возможным, является библиотека React Three Fiber - мощное средство для создания 3D-графики на основе Three.js с использованием технологии React.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
🔥3
Манипуляция с элементами страницы: создание, удаление и изменение HTML-элементов
Манипуляция с элементами страницы - это важная часть разработки веб-приложений, которая позволяет создавать, удалять и изменять HTML-элементы динамически с помощью JavaScript. Это особенно полезно при обновлении содержимого страницы без перезагрузки.
В данном примере мы создаем новый элемент
Через 3 секунды мы удаляем элемент с помощью метода
Таким образом, манипуляция с элементами страницы позволяет нам динамически создавать, изменять и удалять HTML-элементы, что открывает широкие возможности для создания интерактивных и динамических веб-приложений.
#полезное
Манипуляция с элементами страницы - это важная часть разработки веб-приложений, которая позволяет создавать, удалять и изменять HTML-элементы динамически с помощью JavaScript. Это особенно полезно при обновлении содержимого страницы без перезагрузки.
В данном примере мы создаем новый элемент
div
с текстом "Новый элемент" и классом "my-class". Затем мы добавляем этот элемент в конец body
документа с помощью метода appendChild()
. Мы также изменяем содержимое элемента с помощью свойства textContent
и стилизуем его, устанавливая значение свойства backgroundColor
.Через 3 секунды мы удаляем элемент с помощью метода
remove()
. Это демонстрирует возможность удаления элементов из документа.Таким образом, манипуляция с элементами страницы позволяет нам динамически создавать, изменять и удалять HTML-элементы, что открывает широкие возможности для создания интерактивных и динамических веб-приложений.
#полезное
👍10❤1
Увеличиваем свою производительность в WebStorm / PhpStorm c помощью шаблонов
В этой статье я хотел бы рассказать вам, как можно сократить рутинную работу написания кода, используя шаблоны для создания файлов.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
В этой статье я хотел бы рассказать вам, как можно сократить рутинную работу написания кода, используя шаблоны для создания файлов.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
❤2
Асинхронные запросы с использованием
#полезное
fetch()
fetch()
используется для отправки асинхронных HTTP-запросов. В примере мы отправляем запрос к удаленному серверу, ожидаем ответ в формате JSON и выводим данные или обрабатываем ошибку.#полезное
👍7
8 продвинутых вопросов для собеседования по JavaScript
Хотите стать JS-специалистом? Тогда стоит детально разобрать ключевые вопросы для собеседования по JavaScript. Это поможет вам усвоить основные понятия и успешно ответить на другие вопросы.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Хотите стать JS-специалистом? Тогда стоит детально разобрать ключевые вопросы для собеседования по JavaScript. Это поможет вам усвоить основные понятия и успешно ответить на другие вопросы.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
👍3
Сортировка массивов объектов
В примере мы создаем массив объектов
#полезное
В примере мы создаем массив объектов
products
, содержащий информацию о различных продуктах. Затем мы используем метод sort()
для сортировки этого массива по полю price
в порядке возрастания, используя функцию sortByPriceAscending
в качестве функции сравнения. Вы можете создать аналогичные функции для сортировки в порядке убывания или для сортировки по другим полям объектов.#полезное
👍3
Мои первые шаги в создании браузерных 2D игр на чистом JavaScript + Canvas
Статья представляет собой перевод одного англоязычного видеоурока. Если Вы хорошо владеете английским и Вам больше нравится видеоформат подачи материала — можете посмотреть видео. В статье же я буду вставлять участки кода и стараться также подробно как и автор видео — объяснять каждый свой шаг.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Статья представляет собой перевод одного англоязычного видеоурока. Если Вы хорошо владеете английским и Вам больше нравится видеоформат подачи материала — можете посмотреть видео. В статье же я буду вставлять участки кода и стараться также подробно как и автор видео — объяснять каждый свой шаг.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
❤2
Генерация случайных чисел
В примере мы используем
#полезное
В примере мы используем
Math.random()
для получения случайной десятичной дроби между 0 и 1. Затем мы масштабируем и округляем эту дробь, чтобы получить случайное целое число в заданном диапазоне (включая минимальное и максимальное значение).#полезное
❤2
Сайд эффект реактивности и апдейта компонента во Vue 3
Хочу рассказать о небольшом кейсе, связанном с работой реактивности во Vue 3. Кейс касается взаимосвязи
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Хочу рассказать о небольшом кейсе, связанном с работой реактивности во Vue 3. Кейс касается взаимосвязи
ref/reactive
, v-for/v-if
, :class
, функций и того, что у нас находится в <template>
. Сразу оговорюсь, что под капотом не смотрел, поэтому детальных объяснений не ждите. Наоборот, хотелось бы услышать ваши мнения, сталкивались ли вы с подобными сайд эффектами.#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
👍1
Работа с обещаниями (Promises)
В примере мы создаем функцию
#полезное
В примере мы создаем функцию
fetchData
, которая возвращает обещание (Promise) с задержкой. Затем мы используем методы .then()
для обработки успешного выполнения и .catch()
для обработки ошибок. Это позволяет более чисто и структурированно работать с асинхронными операциями, такими как загрузка данных с сервера.#полезное
👍8
Что быстрее: Animated + useNativeDriver или Reanimated?
В этой статье попробуем разобраться, что же всё-таки работает быстрее: React-Native-Reanimated или Animated + useNativeDriver: true.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
В этой статье попробуем разобраться, что же всё-таки работает быстрее: React-Native-Reanimated или Animated + useNativeDriver: true.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Локальное хранилище браузера с использованием объекта
В примере мы используем объект
#полезное
localStorage
В примере мы используем объект
localStorage
, доступный в браузере, чтобы сохранить данные, такие как имя пользователя и адрес электронной почты. Мы используем метод setItem()
для сохранения данных и метод getItem()
для получения данных. Мы также демонстрируем, как можно удалить данные из локального хранилища с помощью метода removeItem()
.#полезное
Как внедрить гайд по стилю кода в проект
Практикум появился в 2019 году и с тех пор растёт. В какой-то момент нам стало сложно погружать новичков в проект. Дело в том, что стиль кода всё время развивался, но правила оставались на уровне устных договорённостей. В итоге приходили новые тиммейты, видели легаси и более свежий код — и не понимали, какой написан правильно и почему они разные. Как следствие, код-ревью растягивалось, и тестирование проходило в разы сложнее. Люди чувствовали себя неуютно в таких процессах.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью
Практикум появился в 2019 году и с тех пор растёт. В какой-то момент нам стало сложно погружать новичков в проект. Дело в том, что стиль кода всё время развивался, но правила оставались на уровне устных договорённостей. В итоге приходили новые тиммейты, видели легаси и более свежий код — и не понимали, какой написан правильно и почему они разные. Как следствие, код-ревью растягивалось, и тестирование проходило в разы сложнее. Люди чувствовали себя неуютно в таких процессах.
#статья
❤️ Прожимай реакции, если нравится такой формат
👉 Читать статью