Обновить
313.34

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

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

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

Повторное использование компонентов: живи, работай, повторяем цикл

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

Reusability, т. е. повторное использование компонентов ― весьма популярный метод в разработке ПО, веб-сервисов, дизайна и т. п. Огромным преимуществом повторного использования компонентов является экономия средств и времени на разработку ПО. Почему? Если систематизировать повторное использование компонентов, то сокращаются расходы на создание и обслуживание проектов, уменьшаются сроки разработки таких систем, во многих случаях повышается качество программных продуктов. Сегодня предлагаем поговорить об этом методе относительно веб-сайтов, JavaScript и ReactJS.

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

Читать далее

Разрабатываем универсальную форму на React и XState или новые приключения конечного автомата

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

Вопреки мнению, которое я видел в комментах к статьям о конечных автоматах, я не считаю, что их применение это какой-то "спагетти". Наоборот они позволяют реализовать довольно сложную state transition логику.

Хотя автомат из 100500 стейтов с вложенными и параллельным стейтами, пожалуй, будет слабо читаемым. Но это уже тема для Separation of Concerns - разделения ответственности.

В этой статье я хочу рассмотреть замечательный инструмент XState.

Который позволяет как описывать эти автоматы, так и рисовать в редакторе и визуализировать.

Читать далее

Поисковик Bing ходит по всем приватным ссылкам из Outlook. И это проблема

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


Предисловие. Microsoft и другие компании в последнее время выступают против паролей. Призывают использовать более безопасные и удобные методы 2FA. Среди альтернативных вариантов — авторизация через «волшебные ссылки», то есть через почтовый ящик.

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

Далее слово автору.
Читать дальше →

Pet-проект для обучения или как я в одиночку писал Helpdesk

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

Ранее, у меня уже был опыт использования Helpdesk систем, но по разным причинам они не были внедрены у нас на предприятии. Хорошая возможность научится программировать, подумал я, и преступил к написанию собственного helpdesk’a.

Читать далее

Написание чата с Akka

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

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

Сервис будет реализован как комбинация из простого REST API и приложения WebSocket. Чтобы было чуть интереснее, я решил по максимуму использовать связанные с Akka библиотеки и typed actors.

Весь приведённый в статье код доступен в репозитории GitHub.
Читать дальше →

Фронтенд-новости №13. Релиз Vue 2.7, табы против пробелов Prettier, W3C — некоммерческая организация

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

Дайджест новостей и полезных статей из мира фронтенд-разработки за неделю 27 июня–3 июля.

? Вышел Vue 2.7 «Naruto».

? Большое обсуждение, что использовать в prettier — табы или пробелы.

? W3C станет некоммерческой организацией, представляющей общественные интересы с января 2023 года.

Что там у вас ещё

Gitlab CI — использование label для управления пайплайнами в небольших командах

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

Итак, вы - лид , скажем, 5-6 разработчиков и 2-3 тестировщика, встает вопрос - как тестировать задачи, запускать тесты по веткам, желательно не толкаясь локтями на одном стенде и не потратив недели на настройку и поддержку инфраструктуры. Сегодня расскажу о подходе, к которому сам пришел, оказавшись в такой ситуации.
Первым делом рассмотрим опции:

Читать далее

О проблемах информационной безопасности и IT образования на примере HTML Academy

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

image


Меня всегда очень интересовала довольно грустная ситуация с языком РНР. Из неказистого шаблонного движка для веб-страничек, к середине 2010-х он вырос в мощный, современный и аккуратный язык программирования… в то время как практически все обучающие материалы в сети выставляют его всё тем же неуклюжим уродцем, который с огромным трудом, не соблюдая никаких стандартов, позволяет разве что сделать примитивную веб-страничку с кучей уязвимостей. Что, разумеется, уже давно совершенно не так. Поэтому когда на форуме РНР клуба появился пост о наборе "наставников" на курс по РНР в HTML Academy, я не раздумывая подал заявку. Чтобы посмотреть как с обстоит с этим дело на платных курсах, а так же по возможности поделиться своим опытом в этой области.


Что вам сказать? "Если хотите, чтобы вам и дальше нравилась колбаса, не берите экскурсию на мясокомбинат"

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

Фронтенд-разработка: ключевые технологии и понятия

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

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

То же самое происходит и в интернете. Блуждая по интернету в поисках необходимого, вы натыкаетесь на самый подходящий на первый взгляд сайт и заходите на него.

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

Читать далее

Имплементируем WebSocket протокол на Go

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

Статья для тех, кто хочет познакомиться с устройством технологии WebSocket или языком программирования Go.

Или узнать с какой простотой Go стал одним из самых популярных языков программирования для написания сетевых приложений.

Читать далее

Fresh — фулл-стек фреймворк для Deno

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

Fresh — это новый полнофункциональный веб-фреймворк для Deno. По умолчанию веб-страницы, созданные с помощью Fresh, не отправляют никакого JavaScript в браузер. Фреймворк не имеет шага сборки, что позволяет на порядок сократить время развертывания. Сегодня мы выпускаем первую стабильную версию Fresh.

Читать далее

Scrollbar в современном CSS

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

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

Читать далее

Настройка ESLint для чистого кода в проектах на Vue

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

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

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

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

Читать далее

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

Год после Практикума. Как складывается моя карьера

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

Привет! Меня зовут Борис, мне 26 лет, и я фронтенд-разработчик. В июне 2021 года я закончил курс Практикума «Веб-разработчик» и после этого успел поработать во французской La Redoute, а затем — в немецкой innoscripta. Сейчас я снова в поисках и хочу рассказать о своём пути.

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

Читать далее

Новая версия Хабра. Ещё не всё потеряно, ещё не всё?… (часть вторая)

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

TL;DR — разбираю новую версию Хабра. В статье много текста и изображений.

В прошлой части я разобрал мотивы создания новой версии Хабра и недочёты общего внешнего вида. В этой же затронем даже более важные вещи для пользователей — шрифты и комментарии.

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

Новая версия Хабра. Ещё не всё потеряно, ещё не всё?… (часть первая)

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

TL;DR — разбираю новую версию Хабра. В статье много текста и изображений.

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

Многие уже высказывали свои замечания, но всё они сводились больше к эмоциональной критике чем конструктивной. Я же подошёл к вопросу более основательно, разобрал спорные моменты на примерах и дал советы, как сделать лучше. А что из этого получилось, узнаем далее.
Продолжить чтение...

За кулисами Google Colab

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

Заглянем во внутренности Google Colab и узнаем, как можно подстроить Colab под свои рабочие нужды, а не подстраиваться под ограничения этого инструмента. Подробности рассказываем к старту флагманского курса по Data Science.

Читать далее

Фронтенд-новости №12. Вышел EcmaScript 2022, фавиконки в 2022, как будет выглядеть веб только с Chromium

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

Дайджест новостей и полезных статей из мира фронтенд-разработки за неделю 20–26 июня.

? EcmaScript 2022. 22 июня 2022 года 123 Генеральная ассамблея Ecma утвердила спецификацию языка ECMAScript 2022 — теперь он официально является стандартом. Внутри все новинки.

? Как создавать иконки сайтов в 2022 году — всё о favicon. Пришло время переосмыслить то, как мы создаем набор иконок для современных браузеров, и остановить безумные генераторы.

? Как будет выглядеть веб только с Chromium?. Chromium – это движок, Chrome – браузер. На Chromium построено большинство браузеров.

Еще 49 новостей

Обзор паттернов хранения деревьев в реляционных БД

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

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

Читать далее

Как мы сделали бота для колл-центра банка, но что-то пошло не так

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

Однажды в Ак Барс Банке был разработан сервис подсказок оператору контакт-центра Neurobot. Он брал входящие запросы от пользователей и искал в базе максимально подходящие ответы. Ещё Neurobot предоставлял возможность операторам контакт-центра самим заводить сценарии для бота. Боты срабатывали по триггеру – вхождению ключевых слов из заранее заданного списка с учетом препроцессинга.

Однако со временем стало понятно, что операторы подсказками пользуются нечасто, а мини-боты на ключевых словах могут покрыть лишь малое число тем. Бот фактически выполнял функцию информирования клиентов по нескольким популярным темам. Но в нём не было полноценного флоу общения с пользователями, автозавершения диалогов и отчётности. 

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

И мы переделали.

Что было дальше

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