Как стать автором
Обновить
135.37
Рейтинг

JavaScript *

Прототипно-ориентированный язык программирования

Сначала показывать
Порог рейтинга

Продвинутые хуки в React: всё о UseEffect

Блог компании Россельхозбанк Разработка веб-сайтов *JavaScript *ReactJS *
Перевод

В этой статье рассмотрим советы и приёмы, которые помогут более профессионально написать код на React.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 1.3K
Комментарии 7

Новости

Полифилы JavaScript: что это и зачем они нужны?

Блог компании Usetech JavaScript *Java *

Всем привет, я — Кирилл Мыльников, frontend разработчик компании Usetech.

Сегодня хочу рассказать о полифилах JavaScript: что это и зачем они нужны? На практике мы реализуем несколько полифилов: map, forEach, filter, reduce. 

Эта статья подойдёт новичкам, которые готовятся к собеседованию, и опытным специалистам. В комментариях вы можете рассказать о том, как реализуете полифилы в своей работе.

Итак, начнём с определения полифила, а затем перейдём к методам.

Читать далее
Всего голосов 9: ↑5 и ↓4 +1
Просмотры 1.9K
Комментарии 12

Простая масштабируемая структура Angular приложения

JavaScript *Angular *
Из песочницы

Продумать структуру приложения на этапе создания очень важно, но часто в начале пути этому вопросу посвящают мало внимания. Предлагаю обсудить проблемы масштабирования современных веб-приложения с которыми сталкиваются разработчики.

Первое время разработка идет бодро, добавлять новые функции легко и приятно, приложение работает быстро, все просто и понятно. Но с ростом количество модулей, компонентов, сервисов скорость разработки падает, как и скорость работы приложения. Задач на рефакторинг появляется в спринте все больше. Кроме прочего, команда разработчиков может регулярно меняться (одни увольняются, другие приходят), что не добавляет порядка. Со временем может показаться, что проще все снести и написать заново.

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 2.9K
Комментарии 10

Как мы переходили на React-router v6: подводные камни и альтернативы

Блог компании Альфа-Банк JavaScript *Программирование *ReactJS *
Tutorial

Мы перешли на шестую версии React-router. Это помогло нам решить несколько проблем, например, определение маршрутов в Switch рендерит точный маршрут, а не первое совпадение, а размер бандла уменьшился в 2 раза.  

В статье расскажем про опыт миграции и подготовительный этап, трудности, возникшие после миграции и ошибки, информации о которых нет в официальной документации, и пути их обхода. Также будет альтернативный способ перехода с помощью официального пакета.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 1.7K
Комментарии 7

Топ-30 бесплатных курсов по JavaScript 2022 года

Блог компании Каталог-курсов.ру JavaScript *Программирование *

Подготовили для вас подборку бесплатных курсов и тренажеров обучения по программированию на JavaScript.

Также на нашем сайте Каталог-курсов.ру есть раздел с платными курсами по JavaScript и отзывами о всех школах. Ссылка на раздел

Для начинающих, не надо проходить сразу все курсы) Выберете внимательно какой вам больше подходит и начните его проходить.

Читать далее
Всего голосов 6: ↑4 и ↓2 +2
Просмотры 2.6K
Комментарии 9

TypeScript: разбираем исходный код Radash

Блог компании Timeweb Cloud Разработка веб-сайтов *JavaScript *TypeScript *


Привет, друзья!


Radash — это современная альтернатива Lodash, библиотека, предоставляющая набор часто используемых утилит (вспомогательных функций), реализованных на TypeScript. В данной статье мы вместе с вами разберем исходный код нескольких наиболее интересных утилит.


Репозиторий с кодом библиотеки находится здесь.


Обратите внимание: я позволил себе немного модифицировать отдельные утилиты для повышения читаемости и сокращения шаблонного кода. Также в нескольких местах пришлось поправить типы.


Для тех, кому интересно, вот большая коллекция сниппетов JavaScript.


Начнем с чего-нибудь попроще.

Читать дальше →
Всего голосов 14: ↑13 и ↓1 +12
Просмотры 2K
Комментарии 14

10 задач с JavaScript Promise для подготовки к собеседованиям

Блог компании OTUS JavaScript *Программирование *
Перевод

Promise — это отличительная особенность JavaScript как асинхронного языка программирования. Нравится вам это или нет, понять его в любом случае придется. В этой статье я привожу 10 примеров кода с Promise, начиная от базового уровня заканчивая продвинутым.

Читать далее
Всего голосов 35: ↑35 и ↓0 +35
Просмотры 9.8K
Комментарии 18

Краткое введение в разработку собственных правил для ESLint

Блог компании Совкомбанк Технологии JavaScript *Программирование *Совершенный код *

Недавно мы в команде столкнулись с тем, что нам понадобилось кастомное правило для линтера. Немного поиска в гугле, и через час-полтора правило было готово. Делимся базовыми примерами, которые помогут вам погрузиться в процесс разработки правил.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 1.2K
Комментарии 0

JAMstack — зачем, почему и за что

JavaScript *

Доброго времени суток. 

Сегодня предлагаю разобраться что такое JAM stack. Каковы его принципы, какие части он имеет и вообще чем отличается от традиционных подходов. Так же в данной статье я поделюсь полезными ссылка где вы сможете найти почти что все что может потребоваться вам при работе с JAM stack.

Читать далее
Всего голосов 6: ↑4 и ↓2 +2
Просмотры 1.9K
Комментарии 36

TypeScript в деталях. Часть 1

Блог компании Timeweb Cloud Разработка веб-сайтов *JavaScript *TypeScript *
Перевод


Привет, друзья!


Представляю вашему вниманию перевод нескольких статей из серии Mastering TypeScript, посвященных углубленному изучению TypeScript.


Предполагается, что вы имеете некоторый опыт работы с TS. Если нет, вот Карманная книга по TS.

Читать дальше →
Всего голосов 21: ↑20 и ↓1 +19
Просмотры 4.5K
Комментарии 6

Велосипедим Promise на TypeScript

JavaScript *TypeScript *
Из песочницы

Идея написать собственную реализацию Promise возникла в процессе подготовки к интервью, поскольку необходимость не просто разобраться в инструменте, а воссоздать его сравнительно точное подобие, требует куда более глубокого погружения в тему. Исходный код с тестами доступен по ссылке, данная статья - возможность для автора еще лучше консолидировать полученный в процессе опыт и, возможно, открыть что - то новое для читателя, который регулярно использует промисы на практике.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 5.2K
Комментарии 5

Как написать кроссбраузерное расширение в 2022 году

Блог компании СберМаркет Разработка веб-сайтов *JavaScript *Расширения для браузеров Браузеры
image

Привет! Меня зовут Георгий Костуров, я лид фронта в одной из команд СберМаркета. В один прекрасный день ко мне пришли менеджеры и сказали, что нужно написать браузерное расширение для внутреннего джобборда. Оно должно взаимодействовать с сайтами avito и hh, чтобы добавлять кандидатов в HR-систему, не скачивая и не вбивая вручную контакты из резюме на сайте.

Как человек, который ни разу не писал подобных вещей, расскажу о своем пути, о том с какими проблемами столкнулся и к каким пришел решениям.

На каком языке писать расширение?


Мой путь начался с поиска ответа на вопрос: «А хотя бы на каком языке придется это писать?» Полазив по интернету, с радостью обнаружил, что всё-таки это можно делать на JS. Хотя так было далеко не всегда. Первый браузер с API расширений, основанным исключительно на HTML, CSS и JavaScript, появился в 2010 году, им был Chrome. А до этого расширения необходимо было писать с использованием языка XUL (язык разметки на основе xml, обладающий большим функционалом по сравнению с HTML4).
Читать дальше →
Всего голосов 25: ↑23 и ↓2 +21
Просмотры 3.9K
Комментарии 7

Переводчик сайтов на JS

JavaScript *jQuery *API *Google API *
Из песочницы

В наши дни довольно легко преодолевать языковой барьер в интернете благодаря различным сервисам перевода. Однако что делать, если у пользователя вашего приложения устаревший браузер? Или он открывает ваш сайт в приватном окне, где не работает встроенный переводчик?
Ответ очевиден: реализовать свой переводчик на сайте!

Читать далее
Всего голосов 7: ↑3 и ↓4 -1
Просмотры 2.8K
Комментарии 6

XSS с мутациями: как безопасный код становится зловредным и при чем здесь innerHTML

Информационная безопасность *JavaScript *HTML *

В статье сначала взглянем на примеры mXSS уязвимостей недалекого прошлого, а затем рассмотрим совсем свежие примеры, которые позволили обойти защиту популярных HTML-санитайзеров. Разберемся как им это удалось, и почему так сложно надежно защититься от уязвимостей, основанных на мутациях HTML-разметки.

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Просмотры 1.9K
Комментарии 7

Девять порочных практик React. Разбираем частые ошибки

Блог компании МойОфис JavaScript *ReactJS *
Перевод

Слово React регулярно слышат разработчики во всем мире. С момента своего создания эта библиотека стала невероятно популярной. Одно из главных преимуществ React в том, что она крайне вариативна в использовании, и это при определенных подходах делает ее довольно мощной и простой в освоении. Однако излишняя гибкость также является минусом: нередко программисты выбирают порочные практики и неверные методы работы с React.

Патрик Завадски, старший разработчик ПО в компании Northwestern Mutual, подчеркивает, что практики и привычки могут различаться от разработчика к разработчику, от команды к команде и от компании к компании. В любом случае, важно знать разные подходы к написанию кода в React — это хорошее подспорье для программиста в поисках оптимального для него решения.

Под катом — наш перевод статьи*, в которой Патрик сосредоточился на отрицательных примерах: некоторых из худших React-практик, которые он когда-либо видел (а возможно даже использовал сам). Материал призван помочь вам избежать подобных ошибок в будущем.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее
Всего голосов 46: ↑45 и ↓1 +44
Просмотры 11K
Комментарии 17

ESM. Выходим за рамки

Ненормальное программирование *Разработка веб-сайтов *JavaScript *Программирование *Node.JS *
Tutorial

Итак, работая над... ну не знаю... каким-нибудь замечательным генератором статики, вы, возможно, захотите импортировать в свой код зависимости напрямую из текстовых файлов, таких как: HTML, MD, CSS, SVG или JSON. Конечно, можно использовать бандлер с соответствующим лоадером. Но, допустим, ваш кодекс самурая велит вам - никаких лишних npm install xxx и промежуточных билдов! Только хардкор! Что делать? Выход есть.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 1.3K
Комментарии 0

Внедрение GraphQL на фронтенде без переломов

Блог компании HeadHunter JavaScript *

Всем привет! Меня зовут Илья, я фронтенд-разработчик в hh.ru. В статье расскажу, как внедрить GraphQL на фронте, не переломав всё на своем пути.


В проекте мы используем React и Redux, для асинхронных запросов у нас есть собственная библиотека, а бэкенд работает на Java. Для получения данных используем страничные URL, а когда заходим на страницу, прямо по URl-у забираем все данные Аяксом. Это влечет за собой две проблемы — overfetching и underfetching. Проще говоря, либо у нас избыток данных, которые используются в данном рендере, либо их нехватка. Эту беду и призван решить GraphQL.


Если лень читать или больше нравится видеоформат — вам сюда.


Внедрение GraphQL на фронтенде без переломов

Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 1.6K
Комментарии 5

Найти вероятность выпадения k (сумма выпавших значений) при бросании n кубиков (часть 2 из 2)

Занимательные задачки Python *JavaScript *Алгоритмы *Математика *

Продолжаем решать задачу описанную в предыдущей статье: Есть n стандартных игральных костей (6-ти гранных кубиков) со стандартным обозначением всех граней от 1 до 6. Бросаем все n кубики разом. Нужно найти вероятность выпадения числа k, а именно суммы всех значений, выпавших на этих кубиках. Доходим до 1000 кубиков.

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 2.3K
Комментарии 2

WebHID API: управление почти чем угодно из браузера

Блог компании JUG Ru Group JavaScript *Компьютерное железо

Зачастую JavaScript ассоциируют с формочками в браузере, а C++ с железом и суровыми оптимизациями. Но что, если не противопоставлять «формочки» и «железо», а объединить?


На недавней конференции HolyJS Никита Дубко показал, как с помощью WebHIDf можно подключаться из браузера к самым разным пользовательским устройствам. Вероятно, для «железячников» многое сказанное в докладе очевидно — зато для JS-разработчиков это, наоборот, возможность узнать что-то совершенно новое. Доклад понравился участникам, и теперь мы сделали для Хабра текстовую версию. Далее повествование идёт от лица спикера.


Читать дальше →
Всего голосов 20: ↑18 и ↓2 +16
Просмотры 8.4K
Комментарии 2

Что такое дженерики в TypeScript?

Блог компании OTUS JavaScript *Программирование *
Перевод

Дженерики помогают сделать код наиболее пригодным для повторного использования. Давайте попробуем понять, что такое дженерики и зачем они нам нужны.

Читать далее
Всего голосов 10: ↑6 и ↓4 +2
Просмотры 6K
Комментарии 3

Вклад авторов

Работа