Обновить
0
@subzeroread⁠-⁠only

Пользователь

Отправить сообщение

[HTTP API & REST] Разработка номенклатуры URL ресурсов. CRUD-операции

Уровень сложностиСложный
Время на прочтение11 мин
Охват и читатели23K

Это глава 38 раздела «HTTP API & REST» моей книги «API». Второе издание книги будет содержать три новых раздела: «Паттерны API», «HTTP API и REST», «SDK и UI‑библиотеки». Если эта работа была для вас полезна, пожалуйста, оцените книгу на GitHub, Amazon или GoodReads. English version on Substack.

Как мы уже отмечали в предыдущих главах, стандарты HTTP и URL, а также принципы REST, не предписывают определённой семантики значимым компонентам URL (в частности, частям path и парам ключ‑значение в query). Правила организации URL в HTTP API существуют только для читабельности кода и удобства разработчика. Что, впрочем, совершенно не означает, что они неважны: напротив, URL в HTTP API являются средством выразить уровни абстракции и области ответственности объектов. Правильный дизайн иерархии сущностей в API должен быть отражён в правильном дизайне номенклатуры URL.

NB: отсутствие строгих правил естественным образом привело к тому, что многие разработчики их просто придумали сами для себя. Некоторые наиболее распространённые стихийные практики, например, требование использовать в URL только существительные, в советах по разработке HTTP API в Интернете часто выдаются за стандарты или требования REST, которыми они не являются. Тем не менее, демонстративное игнорирование таких самопровозглашённых правил тоже не лучший подход для провайдера API, поскольку он увеличивает шансы быть неверно понятым.

Традиционно частям URL приписывается следующая семантика:

Читать далее

Единый формат времени для приложения

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели17K

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

Команда работала с фреймворком Angular, ввиду этого будет он и упомянут. Утверждения правдивы и для React/Vue/... в схожих кейсах.

Читать далее

Новые возможности ECMAScript 2021-2023

Уровень сложностиСложный
Время на прочтение13 мин
Охват и читатели20K

ECMAScript — это стандарт, на котором основан JavaScript, его часто называют ES.

Традиционно обновления ECMAScript публикуются в июне. Буквально недавно версия стандарта 2023 года перешла в статус freezed, что означает, что никакие изменения в нее уже вноситься не будут.

Поэтому сейчас самое время обсудить что нового произошло в стандарте за последние годы и что нас ожидает уже в этом году.

Обсудим почему JavaScript и ECMAScript не одно и тоже;

Разберем краткую историческую справку о стандартах ES;

Узнаем что интересного и полезного вышло в стандарте за последние пару лет и что нас ждет в этом году.

Для лучшего понимания исторической последовательности развития стандартов JavaScript до 2021 года можете также почитать мою статью ECMAScript 2015, 2016, 2017, 2018, 2019, 2020, 2021

Читать далее

RSC с нуля. Часть 1: серверные компоненты

Уровень сложностиСложный
Время на прочтение32 мин
Охват и читатели11K


В этом техническом "глубоком погружении" (deep dive) мы с нуля реализуем очень простую версию серверных компонентов React.


Данный туториал будет состоять из трех частей (написана пока только эта).


Руководства, шпаргалки, вопросы и другие материалы по JavaScript, TypeScript, React, Next.js, Node.js, Express, Prisma, GraphQL, Docker и другим технологиям, связанным с разработкой веб-приложений.

Читать дальше →

10 игр для изучения JavaScript

Время на прочтение3 мин
Охват и читатели60K

Мы рассматривали 10 удивительных игр для изучения CSS. А в этой статье мы сделаем то же самое для JavaScript. Изучать язык, играя в игры, очень весело, а для некоторых людей это отличный способ наглядного восприятия языка.

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

Читать далее

TypeScript 5.0 и 4.9: оцениваем и сравниваем изменения

Время на прочтение9 мин
Охват и читатели13K

В середине марта 2023 года Майкрософт анонсировала релиз TypeScript версии 5.0. Разработчики ожидают от нее 10-20% прироста производительности, но так как всё зависит от кодовой базы и характеристик оборудования, они настоятельно рекомендуют опробовать эти изменения.

В этой статье мы разберём некоторые изменения в TypeScript 4.9 и 5.0 и сравним нововведения с предыдущими версиями. На примерах кода постараемся понять, для чего они были добавлены и как они упрощают нашу жизнь. Статья будет полезна опытным разработчикам, которые часто применяют TypeScript в работе, и начинающим, так как мы подробно разберем решения некоторых проблем.

Читать далее

Как фронтендеру пройти собеседование: разбор типичных задач и советы от тимлида «РТК ИТ»

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели13K

Хекслет поговорил с Михаилом Синяковым, Head of Frontend в «РТК ИТ». Мы узнали, как обычно проходят собеседования у фронтендеров, какие задачи они решают, а также на что стоит обратить внимание кандидатам при подготовке к интервью. 

Читать далее

ECMAScript 2015, 2016, 2017, 2018, 2019, 2020, 2021

Уровень сложностиСложный
Время на прочтение13 мин
Охват и читатели32K

ES3, ES5, ES6, ES7, ES8, ES2015, ES2016, ES2017, ES2018, ES2019, ECMAScript 2015, ECMAScript 2016, ECMAScript 2017, ECMAScript 2018, ECMAScript 2019 — как разобраться во всем этом?

Подробно поговорим про историю создания и развития стандарта JavaScript

Читать далее

Чем хорош и чем плох Tailwind CSS, или «Допустим, у вас стартап!»

Время на прочтение7 мин
Охват и читатели44K

Привет, Хабр! Меня зовут Александр Водолазских. Я живу в Новосибирске и я работаю Frontend Domain Lead в СберМаркете. Сегодня хочу немного поговорить об опыте работы с Tailwind CSS — utility-first CSS framework. Поделюсь болью и радостью, которые возникли при его эксплуатации.

Читать далее

Разница между традиционными функциями и стрелочными функциями в JavaScript

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели29K

Стрелочные функции — это относительно новая функция, реализованная в ES6 ( ECMAScript 6 ), которая, на наш взгляд, является просто более кратким и элегантным синтаксисом для объявления функциональных выражений в JavaScript. Хотя традиционные функции и функции стрелок работают схожим образом, мы должны остерегаться некоторых различий, которые могут быть незаметны.

Читать далее

Книга «JavaScript с нуля до профи»

Время на прочтение14 мин
Охват и читатели23K
imageПривет, Хаброжители!

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

В «JavaScript с нуля до профи» основное внимание уделяется ключевым концепциям программирования и манипуляциям с объектной моделью документа для решения распространенных проблем в профессиональных веб-приложениях. К ним относятся проверка данных, управление внешним видом веб-страниц и работа с асинхронным и многопоточным кодом.

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

Для кого эта книга
Для комфортного знакомства с книгой не требуется никакого опыта в JavaScript. Конечно, упражнения дадутся немного легче, если вы хотя бы немного умеете программировать. Знакомство с основами HTML и CSS будет вашим преимуществом. Если вы начинающий программист, для нас большая честь поприветствовать вас в мире программирования. Вначале он может показаться сложным, но мы проведем вас через все трудности.
Читать дальше →

Устраняем недостаток микрофронтендов: четыре способа коммуникации между frontend-приложениями

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели7.4K

Микрофронтенды «выросли» из модного веяния web-разработки в технологию, которую активно используют на больших проектах. Микрофронтенд гибче монолита, может быстрее реагировать на непредвиденные ситуации и дорабатываться под запрос. Этот подход позволяет быстро расширять приложение и разрабатывать на разных фреймворках. Тем не менее один из ключевых недостатков технологии — сложность во взаимодействии между frontend-приложениями. 

Меня зовут Игорь, я frontend-разработчик SimbirSoft. Ранее мы с коллегами рассматривали вопрос построения архитектуры микрофронтендов. А в этой статье я разберу основные способы коммуникации между отдельными приложениями, которые можно применять в коммерческой разработке. Материал будет полезен разработчикам и архитекторам frontend-приложений.

Читать далее

Как yarn v3 и философия Zero Installs помогли нам сократить длительность ci/cd пайплайна в 3 раза

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели9.7K

Всем привет, меня зовут Фёдор — я руководитель фронтенд-разработки на проекте Smartbot Pro в компании KTS

Наш проект — конструктор ботов для социальных сетей, в котором алгоритм бота представлен в виде визуального графа. Конструктор включает большое количество интеграций. Недавно на проекте остро встал вопрос оптимизации наших ci/cd пайплайнов, потому что релиз мог занимать от 4 до 18 минут.

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

Читать далее

Кастомный select для React

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели29K

Пишем минималистичный кастомный select компонент для React приложения. Покрываем всё тестами на Jest.

Читать далее

Учимся писать сложные Typescript типы на примере роутинга в React

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели24K

Вы используете TypeScript, но впадаете в ступор перед, когда видите типы в сторонних библиотеках? Generics, generic constraint, infer, rest infer, conditional и recursive types, satisfies вызывают головную боль? Мы постараемся снизить градус сложности и напишем типы для роутинга в React приложении. Данный материал будет полезен как фронтендерам, так и бекендерам.

Хочу писать типы как профессионал

Redux-saga: обзорная экскурсия

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели39K

Сегодня я бы хотел рассказать о библиотеке redux-saga. Она уже достаточно давно используется во frontend-программировании, но не является интуитивно понятной, что может помешать начинающим разработчикам освоить её быстро и начать применять в своих проектах. В данной статье я максимально просто постараюсь объяснить максимально основные принципы этой технологии и некоторые полезные возможности. Намеренно отказываюсь от сравнительного анализа в пользу одних либо других технологий, т.к. выбор — это личное дело каждого, но чтобы его сделать, необходимо обладать определёнными знаниями.

В статье используются специализированные термины, поэтому предполагается, что вы имеете общее представление о React, Redux, генераторах и итераторах из ES6.

Из официальной документации следует, что redux-saga — это библиотека, которая ориентирована на упрощение и улучшение работы с сайд-эффектами (side-effects, любыми взаимодействиями с внешней средой, например, запрос на сервер) и облегчение их тестирования. В redux сага — это middleware (слой, работающий с момента диспатча (dispatch) экшена (action) и до обработки его редьюсером (reducer)), который может запускаться, останавливаться и отменяться из основного приложения с помощью обычных действий redux. Библиотека использует такое понятие ES6 как генераторы (Generators), и благодаря этому наши асинхронные потоки выглядят как обычный синхронный код.

Читать далее

Детокс для i18n

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели9K

NPM библиотека для интернационализации и локализации i18n очень популярна, однако за последние годы она сильно располнела. В ней много возможностей для локализации дат, чисел, установки нужных склонений, поддержки RTL языков, загрузки локалей с сервера и кучи еще чего. На сайте i18next она называется уже даже "интернационализационным фреймворком".

В то же время часто для локализации сайта нужны очень простые вещи, занимающие всего пару процентов от всего функционала тяжеловеса i18n. Ниже будет описана несложная процедура избавления от i18next-ной зависимости в данном случае.

Читать далее
12 ...
7

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность