Обновить
512K+

Веб-разработка *

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

371,17
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Как связан CI/CD и правила бережливого производства

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

У терминов, которые мы используем в процессах CI/CD, много общего с терминами из фабричного производства. Например, пайплайн — его наиболее близкий литературный перевод «производственная линия» и это не случайно: лучшие подходы разработки ПО похожи на подходы фабричного производства. 

Эта статья — адаптированный урок Тимофея Ларкина, ведущего инженера X5 Retail Group, «Принципы работы CI и CD» курса по CI/CD. В ней мы расскажем про то, через какие боли проходят те, кто делает софт, как помогают правила бережливого производства, и какие шаги включить в пайплайн, чтобы 20% усилий дали 80% результата. 

Изучить

React: WebRTC Media Call

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


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


В этой статье я покажу вам, как разработать приложение для совершения аудио/видео звонков с помощью WebRTC.


Функционал нашего приложения будет следующим:


  • при запуске приложения пользователь А получает уникальный идентификатор;
  • он передает этот идентификатор пользователю Б;
  • пользователь Б использует идентификатор пользователя А для совершения аудио или видео звонка;
  • пользователь А получает уведомление о звонке пользователя Б и может ответить на него с видео или без либо отклонить звонок;
  • в процессе соединения пользователи имеют возможность включать/выключать аудио и видео;
  • после завершения звонка выполняется перезагрузка WebRTC для обеспечения возможности совершения нового звонка.

Демо приложения.


Репозиторий с исходным кодом.


Основной источник вдохновения.


Если вам это интересно, прошу под кат.

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

Как я запускал Spring Cloud

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

Меня зовут Аксёнов Вячеслав, я старший бэкенд Java/Kotlin разработчик в крупном энтерпрайзе. Однажды я попал на проект, полный микросервисов, в котором за конфигурацию отвечала такая штука как Spring Cloud. Чтобы разобраться как именно это работает я исследовал и прикрутил этот диковенный элемент к одному своему пет проекту. И в этой статье я пошагово покажу как я это сделал

Читать далее

Как мы устранили страшное легаси незаметно для пользователей

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

Мы разрабатываем ati.su, это площадка где грузоотправитель находит грузоперевозчика. Между собой они общаются заявками. Заявка — это карточка с множеством полей. Так мы её и зовём — «Карточка груза». Поиск таких заявок по сложным фильтрам — то, зачем к нам приходят сотни тысяч пользователей.

Эта статья о том, как мы с нуля переписали карточку груза и этого почти никто не заметил. И это хорошо, так и было задумано.

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

Читать далее

Как настроить «Планфикс» с нуля и почему именно он

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

Статья будет интересна бизнес-аналитикам, project-менеджерам, тимлидам, CEO начинающих студий по разработке и всем причастным и интересующимся. 

Hola, Amigos!

Меня зовут Артем, и я TeamLead. Сегодня расскажу, как мы настроили процессы взаимодействия с командой и заказчиками внутри команды, и об инструменте, с помощью которого все реализовали. Итак, поехали!

Читать далее

Децентрализованная конфигурация webpack или как упростить сборку проекта

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

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

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

Но если говорить о конфигурации сборки, то такая декомпозиция скорее редкость, и в больших проектах часто можно встретить огромные webpack.config.js, модификация которых может доставить немало проблем и привести к ошибкам.

Если вам хочется сделать работу со сборкой проще и надёжнее при модификациях, то добро пожаловать под кат.

Читать далее

Возможности TypeScript, которых нужно избегать

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

Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в ?? Германии. А еще я автор телеграм канала Хороший разработчик знает, где рассказываю обо всем, что обычно знает хороший разработчик.

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

Читать далее

Вам посылка, или Как мы доставляем сообщения с сервера на клиент в реальном времени

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

Меня зовут Алексей Комаров, я — старший frontend-разработчик в SuperJob. Хочу поделиться опытом реализации механизма обновления данных в реальном времени у нас на сайте. Под катом — подробности о выборе подхода, о проблемах, с которыми мы столкнулись при разработке, о наших кейсах оптимизации 
клиентской стороны и, конечно, немного кода и наглядных схем.

Читать далее

От мидла до тимлида и обратно

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

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

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

Читать далее

Приключение на 20 минут: о чём надо помнить, когда затеваешь рефакторинг

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

История об одном баге, который превратил переход с .NET Core 3.1 на .NET 6 в «приключение на 20 минут», самописной библиотеке Dodo.Primitives.Uuid, которая помогла этот баг починить, и размышления о бренности бытия важности своевременного рефакторинга и его приёмах.

Читать далее

Как Counter Strike сделал меня веб-разработчиком и как я открыл свою веб-студию

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

Спустя короткое время я без каких-либо навыков программирования запускаю свой первый сайт в возрасте 15 лет на популярном в то время конструкторе uCoz для своего клана. Кто помнит uCoz есть такие?

Читать далее

Экосистема React в 2022 году

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

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

Читать далее

Создаем приложение Art-pixel на Angular и Nest.js. Часть 2.1 (ESLint)

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

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

По умолчанию версия Angular 12 не включает линтеры, потому что стандартный линтер TypeScript называется TSLint (он считается устаревшим и вместо него рекомендуется использовать ESLint).

Читать далее

Ближайшие события

Joomla 5 уже в планах — познакомьтесь с лидерами релиза

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

Какой может быть Joomla 5? Когда планируется релиз Joomla 5? Будет ли поддержка PHP 8.1 Fibers или React PHP? А может быть Joomla получит развитие как Headless CMS?

Ответы на эти и другие вопросы вы узнаете из перевода интервью с Харальдом Лейтнером (Harald Leithner) и Нильсом Брачеком (Niels Braczek) - они вместе возглавляют релиз Joomla 5, который сейчас находится на стадии планирования.

Читать далее

Руководство по Supabase. Часть 1

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



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


В этом цикле из 2 статей я хочу рассказать вам о Supabase — открытой (open source), т.е. бесплатной альтернативе Firebase. Первая статья будет посвящена теории, во второй — мы вместе с вами разработаем полноценное social app с аутентификацией, базой данных, хранилищем файлов и обработкой изменения данных в режиме реального времени.


Что такое Supabase?


Supabase, как и Firebase — это SaaS (software as a service — программное обеспечение как услуга) или BaaS (backend as a service — бэкенд как услуга). Что это означает? Это означает, что при разработке fullstack app мы разрабатываем только клиентскую часть, а все остальное предоставляется Supabase через пользовательские комплекты для разработки программного обеспечения (SDK) и интерфейсы прикладного программирования (API). Под "всем остальным" подразумевается сервис аутентификации (включая возможность использования сторонних провайдеров), база данных (PostgreSQL), файловое хранилище, realtime (реакцию на изменение данных в реальном времени), и сервер, который все это обслуживает.


Если вам это интересно, прошу под кат.

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

JavaScript редактор SVG диаграмм который весит в 6,5 раз меньше bootstrap (библиотека с открытым исходным кодом)

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

Demo | GitHub

Эксперименты с созданием редактора диаграмм на Blazor Webassembly (Blazor WebAssembly: Drag and Drop в SVG, Blazor WebAssembly: соединительные линии в SVG) показали что технология не годится для интенсивных манипуляций с DOM.

То что будут проседания было известно заранее: WebAssembly не имеет доступа к DOM, любые изменения только через вызовы JavaScript. Задержки оказались такими большими, что перетаскивание на мобильном тормозило уже после добавления третьей фигуры.

Читать далее

4 способа добавить иконки на сайт из Figma — все плюсы и минусы

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

Проверяя html-макеты верстальщиков и разработчиков наблюдаю проблемы с добавлением иконок на сайт. Они их добавляют чёрт пойми как… Могут добавить их как png изображения, а могут вообще использовать не иконки из макета, а похожие иконки, использовав, к примеру, FontAwesome. Это жестко, скажу я вам.

В связи с этим я хочу расставить все точки над И в этой теме и рассказать достаточно подробно о том, как лучше всего добавлять иконки на сайт.

Читать далее

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

Время на прочтение2 мин
Охват и читатели9.6K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

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

Создаем приложение Art-pixel на Angular и Nest.js. Часть 2

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

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

Читать далее

«Это не игра, это моё портфолио» — 20 ярких сайтов-портфолио дизайнеров и разработчиков

Время на прочтение4 мин
Охват и читатели77K
Неделю назад я участвовала в моем первом геймджеме в Стамбуле. Я не геймдизайнер. Я просто пришла и сказала: «Окей, гайз, я умею рисовать в 2D, люблю pixel art, и немного умею в Construct3». Гайз ответили: «Круто, где можно узнать что-то про тебя?». Я пару месяцев назад стартанула канал про геймдев. Но на русском. Мгновенный факап.

У меня есть кейсы: маленькие завершенные гейм-проектики, куча артов. НО! Всё это не организовано, я не могу просто прислать одну ссылку. Мне нужно портфолио.

В IT-сфере портфолио частенько не просто pdf, которую скидывают HR-ам на почту. У разработчиков есть их код в Git, дизайнеры выкладывают свои работы на Behance, Dribbble. Некоторые, как tonsky и danluu, ведут технические блоги. Некоторые рисуют такие картинки:



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