Дайджест свежих материалов из мира фронтенда за последнюю неделю №501 (2 — 9 января 2022)


Делаем веб лучше


Недавно меня спросили: “Зачем я отказался от библиотеки react-router и перешел на свой велосипед?” Честно говоря, вопросы, связанные с моим вариантом роутинга, мне задавали уже раз пять. Последний раз это было пол года назад, и с тех пор я немного подзабыл основные причины моего выбора. Поэтому я решил их вспомнить и написать статью о том почему react-router не подходит для больших проектов, поделится своими видением роутинга и получить критику моих идей от более широкого сообщества.

Привет, Хабр! С Новым Годом!
Смотрите сами, надо оно вам или нет?
Придумал кое-что для Яндекса и хотел его руководству это подарить(не продать), но до них не дотянуться, они там в танке, все эти службы поддержки на игноре и всё такое. Короче, не хотят, как хотят.
Забыл бы и двинул дальше, но, на мой взгляд, это кое-что может и народу понравиться и пригодиться. Поэтому сами решайте, нужен вам такой подарок или нет. Его, если что, можно и на любой другой площадке создать, сбер, например, или там озон-амазон-алибабазон.
Держите, с Новым Годом, так сказать ;)

Привет, друзья!
В этой статье я покажу вам, как создать полноценный сервис для аутентификации и авторизации (далее — просто сервис) с помощью Auth0.
Auth0 — это платформа, предоставляющая готовые решения для разработки сервисов любого уровня сложности. Auth0 поддерживается командой, стоящей за разработкой JWT (JSON Web Token/веб-токен в формате JSON). Это вселяет определенную уверенность в безопасности Auth0-сервисов.
Бесплатная версия Auth0 позволяет регистрировать до 7000 пользователей.
В этой статье я писал о том, что такое JWT, и как разработать собственный сервис с нуля.
Знакомство с Auth0 можно начать отсюда.
Исходный код Auth0 SDK, который мы будем использовать для разработки приложения, можно найти здесь.
Исходный код проекта, который мы будем разрабатывать, находится здесь.
В статье я расскажу только о самых основных возможностях, предоставляемых Auth0.
В примерах и на скриншотах ниже вы увидите реальные чувствительные данные/sensitive data. Это не означает, что вы сможете их использовать. После публикации статьи сервис будет удален.

Конец декабря, многие подводят свои итоги, а мы решили оглянуться и посмотреть, что хорошего (и не очень) случилось в мире .NET-разработки за этот год, и спросили об этом наших разработчиков.
Из хорошего называли появление рекордов в С# 9, и выход С# 10, а в топе, конечно же, релиз .NET 6 с долгосрочной поддержкой. До выхода шестой версии у нас уже много веб-сервисов работало на .NET 5, в том числе и в монолите. Теперь ко всем «фишкам» пятой версии добавляются преимущества новой.
Платформа становится всё кросплатформеннее и кросплатформеннее (возможно, благодаря этому в последнее время наблюдается рост интереса к C#). В .NET 6 сильно улучшилась производительность, появилась поддержка Apple Silicon (мы недавно писали, почему так рады этому), новые API и много других полезностей.

Привет, Хабр! Меня зовут Миша Дырма, я руководитель проектного офиса в AGIMA, и сегодня я хочу рассказать, как наша команда создала 2 приложения и сайт для сервиса по продаже и покупке машин Mycar.

В декабре стартовал второй ежегодный опрос русскоязычного PHP-мира. Параллельно мы собрали ворох подарков, которые разыграем во второй половине февраля при подведении итогов исследования — их фото и список под катом.


Я всегда мечтал о функциональности, которую можно было бы использовать на любом web проекте. Еще я мечтал иметь максимально гибкое решение для абсолютной кастомизации под себя. Два года назад мы начали работать над воплощением этой смелой мечты в реальность. Первой такой функциональностью стала именно Uni Локализация.

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

Наверное, любой тестировщик хоть раз в жизни слышал фразу «Тестирование нужно начинать как можно раньше». И это правда. Чем раньше у отдела качества появится информация о проекте, тем меньше вероятность пропуска логических ошибок. Но жизнь — не сказка, и очень часто продукт попадает в руки тестировщика на предпоследнем этапе. Разумеется, и так можно работать, и весьма продуктивно. Но что делать в ситуации, когда отдел QA еще и не получает информации, ибо ее попросту нет. Весь проект в голове лида/менеджера, там все стройно, четко, красиво. Но как только он порционно выдает задачи команде, начинается то, о чем я хочу рассказать. Поэтому давайте попробуем поднять ставки и погрузиться в фантастическую вселенную, где каждая ошибка фатальна.
В этой небольшой статье я хочу дать ответ на вопрос, который возник у меня, когда я познакомился с сессиями в SQLAlchemy. Если сформулировать его кратко, то звучит он примерно так: “А зачем оно надо вообще”? Меня, как человека пришедшего из мира джанги, сессии приводили в уныние и я считал их откровенной фигней, которая усложняет жизнь. Но я ошибался. Как оказалось, сессии в алхимии - штука очень даже полезная.


Привет, Хабр! Меня зовут Павел Иванцов, я Head of Engineering Muse Group. Мы разрабатываем продукты для тех, кто любит музыку. Наша платформа Ultimate-guitar.com — один из крупнейших в мире сервисов для музыкантов. В нашей базе более полутора миллионов табулатур, права на которые лицензируются у разных правообладателей.
Этот пост — небольшой экскурс в то, какие задачи ложатся на плечи разработчиков, чтобы сервис мог работать законно.

М.Видео-Эльдорадо поддерживает более сотни разных систем. Набор необходимых сервисов отличается для сотрудников разных должностей и даже разных функциональных обязанностей. Управлять таким парком, организовывать уровни доступа к разным продуктам – сложная задача.
Мы решили разработать специальное приложение, при помощи которого коллеги могли бы выполнять свои обязанности централизованно, из одного окна. Помимо удобства от пользователей была еще одна вводная - каждая продуктовая команда хотела иметь свой собственный, независимый от других, релизный цикл.

Привет! Недавно мы провели небольшой митап для фронтендеров, куда пригласили троих интересных спикеров. Наш коллега Игорь Борзунов рассказал о том, как решать проблемы с плохим качеством изображений. Даниил Водолазкин из X5Tech поведал о неочевидных сложностях работы с GraphQL. И завершил программу Георгий Конюшков из «Леруа Мерлен» с темой «Time to market: микрофронтенды». В этом посте мы свели основные тезисы всех трех докладов.

Мы в HTML Academy занимаемся обучением фронтенд-разработке. За последние 8 лет мы выпустили на рынок большое количество начинающих специалистов, которые устроились на работу и начали приносить пользу рынку.
Недавно мы начали заниматься новым направлением, задача которого — помочь начинающим специалистам вырасти до усреднённого мидла в продуктовой компании. Почему продуктовой компании? Всё просто: продуктовые компании, в среднем, платят больше денег.
Чтобы понять, чему стоит учить будущего мидла в первую очередь, мы провели большое исследование. В нём мы проанализировали больше тысячи вакансий и опросили больше 500 мидлов. В итоге узнали много нового.
Так, например, оказалось, что средняя зарплата мидлов с 1-3 годами опыта в продуктовых компаниях — 219 тыс ₽, TypeScript — на коне, а алгоритмы и структуры данных чаще нужны фронтендерам после 6 лет опыта.
Всё остальное — в нашем большом исследовании под катом.