
Веб-разработка *
Делаем веб лучше
Забытая история ООП

Как я вижу идеальный браузер
В последнее время появилось много статей о недостатках современного софта, при этом никто не пробует предложить свои решения, чтобы поменять ситуацию. Эта статья — ответ на некоторые статьи об этом, равно как и о мечтах о идеальном браузере. Как можно было бы переработать браузер, его UI, методы взаимодействия с сайтами, улучшить протоколы и пользовательский опыт в целом. Если у вас есть какие-то, пусть даже самые смелые мысли по этому поводу, то предлагаюсь обсудить их и быть может заложить основы для создания идеального браузера. В конечном счете, рано или поздно это нужно будет сделать, так как ситуация на рынке браузеров на данный момент совсем не радостная. И не проблема, что другие браузеры очень сложны и их сложно догнать — мы можем пойти по своему пути, реализовывать только необходимые части стандартов, при этом можем вводить свои нестандартные расширения. Не надо бежать за другими, пусть другие бегут за нами. Пусть наш браузер будет создан для людей, а не во имя коммерческих интересов корпораций добра и странных консорциумов, от которых давно нет никакой пользы.
Что же должно быть в идеальном браузере?
Тонкости и толстости иконок. Про Sketch, особенности рендеринга и игру с толщиной линий
Основных причин — три: особенности (или даже баги) экспорта и оптимизации иконок из графических пакетов, особенности и ошибки рендеринга (мы будем ориентироваться на рендеринг браузером Chrome или оболочки Electron), ошибки дизайнеров по неопытности. Хотя в самом графическом пакете все выглядело хорошо (в данном случае мы рассматриваем Sketch, но похожие проблемы есть везде).

Договоры в digital: краткое руководство для НЕ юристов
Поделиться своим опытом мы решили неспроста: неприятные кейсы от коллег по отрасли и самостоятельно набитые шишки подсказывают, что эта тема — больная для многих (причём, не только в IT). Читайте в материале, какую структуру договора выбрать при работе по SCRUM (и почему), а главное — как отстоять её у юристов заказчика. Лайфхаки при согласовании, 5 правил предосторожности, пара реальных историй, а также процесс документооборота в студии Сибирикс изнутри — здесь.
Prettier, ESLint, Husky, Lint-Staged и EditorConfig: инструменты для написания аккуратного кода
Может быть вы — тимлид, под началом которого трудится команда разработчиков разного уровня? В вашей команде есть новые люди? Беспокоит ли вас то, что код, который они напишут, не будет соответствовать вашим стандартам? Проходят ли ваши дни в проверках чужого кода, когда эти проверки, в основном, касаются соблюдения стандартов, а не программной логики?

Автор этого материала говорит, что он сталкивался со всем тем, чему посвящены только что заданные вопросы. То, с чем он столкнулся, утомляет и изматывает. Здесь он хочет рассказать об инструментах, правильное применение которых позволяет решить вышеописанные проблемы.
А именно, здесь пойдёт речь о таких средствах как Prettier, ESLint, Husky, Lint-Staged, EditorConfig, об автоматизации форматирования и линтинга кода. Этот материал ориентирован, в основном, на React-разработку, но рассмотренные здесь принципы можно применить в любом веб-проекте. Вот репозиторий, где, кроме прочего, собрано то, о чём тут пойдёт речь.
Бэкенд для фронтенда, или Как в Яндекс.Маркете создают API без костылей
Почему некоторыми API удобнее пользоваться, чем другими? Что мы как фронтендеры можем сделать на своей стороне, чтобы работать с API приемлемого качества? Сегодня я расскажу читателям Хабра как о технических вариантах, так и об организационных мерах, которые помогут фронтендерам и бэкендерам найти общий язык и наладить эффективную работу.

Этой осенью Яндекс.Маркету исполняется 18 лет. Все это время развивается партнерский интерфейс Маркета. Если кратко, то это админка, с помощью которой магазины могут загружать каталоги, работать с ассортиментом, следить за статистикой, отвечать на отзывы и т.д. Специфика проекта такова, что приходится очень много взаимодействовать с различными бэкендами. При этом данные не всегда можно получить в одном месте, из одного конкретного бэкенда.
Процессы разработки глазами эксплуатации. Взгляд с другой стороны баррикад

Привет, Хабр! И снова на связи Алексей Приставко.
В отличие от моих прошлых статей, сегодня мы поговорим о людях. Герои дня — служба эксплуатации, чьи интересы я представляю, и служба разработки.
Слаженная работа этих служб — залог успешного запуска и ровного «полёта» создаваемого сервиса. Но, как показывает мой (и не только) опыт, практически ни один проект не обходится без конфликтов и разногласий, жертвой которых становится ни в чем не повинный сервис.
В этой статье я постараюсь ответить на следующие вопросы:
- Как методы и процессы разработки отражаются на эксплуатации?
- Что движет каждой стороной конфликта?
- В чем первопричина разногласий?
Добро пожаловать под кат!
GeoPuzzle — собери мир по кусочкам

Хочу рассказать о проекте, который развивал последние пару лет. Называется он GeoPuzzle и представляет собой игру-паззл на политической карте мира. Цель — расставить кусочки-страны на свои места. Идея подсмотрена в статье «Головоломка Mercator для знатоков географии», также в детстве играл в тетрис из стран (ещё под DOS), но название программы уже не припомню. Я был настолько вдохновлён идеей, что захотел сделать полноценный продукт, интересный не только школьникам, но и знатокам географии. За развитием проекта можно наблюдать на GitHub.
A la perfección: совершенствуем WordPress при помощи плагинов AMP for WordPress и Setka Editor
В то же время поклонники WordPress утверждают, что CMS подходит как для лендингов, так и для сайтов с миллионным трафиком. Истина где-то посередине. У WordPress есть недостатки, но при желании их можно избежать, одновременно усилив положительные возможности CMS. О том, как это сделать, сегодня и поговорим.
Системный подход к скорости: онлайн-измерения на фронтенде
О том, какие метрики стоит использовать и как все оптимизировать, знает разработчик интерфейсов Яндекса Андрей Прокопюк (Andre_487).

В основе материала — выступление Андрея на конференции HolyJS. Под катом — и видеозапись, и текстовая версия доклада.
Использование RxJS в React-разработке для управления состоянием приложений

Применение принципов SOLID при разработке React-приложений

Автор статьи говорит, что здесь, ради краткости, он не показывает полную реализацию некоторых компонентов.
Ближайшие события
Поваренная книга разработчика: Domain Driven Design рецепты ( 2-я часть, структура и взаимодействие )

Введение
В первой статье мы выделили область применения обозначенных практик, для каких проектов их можно применять, а для каких не следует.
В данной статье я хотел бы сделать краткий обзор основных принципов DDD, а также поделиться личным опытом их применения. Более подробно будет рассказано о коммуникационных и структурных подходах с примерами их реализации.
В следующих статья распишу возможные комбинации применяемых паттернов проектирования с учетом их имплементации, и в конечном итоге приведу пример конкретной реализации одного небольшого микросервиса.
Подход к реализации RBAC в ReactJS
Вступление
Привет, дорогой читатель!
Некоторое время (около года) назад столкнулся с необходимостью условной отрисовки компонентов в ReactJS в зависимости от текущих прав пользователя. Первым делом начал искать готовые решения и «лучшие практики». Статья "Role based authorization in React" произвела больше всего впечатления своим использованием Higher-Order Components (HOC). Но, к сожалению, решения, которое меня удовлетворяет, не нашел.
Hasura. Архитектура высокопроизводительного GraphQL to SQL сервера
Это перевод статьи про то, как устроен изнутри и какие оптимизации и архитектурные решения несет в себе Hasura — высокопроизводительный легковесный GraphQL сервер, выступающий прослойкой между вашим веб-приложением и базой данных PostgreSQL.
Он позволяет генерировать GraphQL схему на основе существующей базы данных или создать новую. Поддерживает GraphQL Subscriptions из коробки на основе Postgres-триггеров, динамический контроль прав доступа, автоматическую генерацию join’ов, решает проблему N+1 запросов (batching) и многое другое.

Веб-разработка для ecommerce: 5 технологических трендов на 2019 год

Онлайн-шопинг быстро становится одним из основных способов приобретения товаров в мире. Согласно прогнозам, к 2021 году мировые продажи в сфере электронной коммерции достигнут $4,5 трлн, что почти в два раза больше показателей 2017 года.
Этот рост во многом обеспечивается внедрением современным технологий. Сегодня мы поговорим о том, какие технологические тренды будут актуальны в ecommerce в грядущем году.
Serverless CPaaS – как Voximplant предвосхитил этот хайп

React.js: понятное руководство для начинающих

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