Обновить
256K+

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

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

443,26
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности
Конструктор сайтов Tilda помогает digital-компаниям делать лендинги и спецпроекты, не привлекая разработчиков. Это позволяет команде не отвлекаться от работы над продуктом, а маркетологам и дизайнерам быстрее выполнять свои задачи. Под катом — шесть мини-историй о том, как известные компании используют Тильду для своих проектов.
Читать

Забытая история ООП

Время на прочтение14 мин
Охват и читатели46K
Большинство парадигм программирования, которые мы используем сегодня, были впервые математически изучены в 1930-х годах с использованием идей лямбда-исчисления и машины Тьюринга, которые представляют собой варианты модели универсальных вычислений (это формализованные системы, которые могут выполнять вычисления общего назначения). Тезис Чёрча-Тьюринга показал, что лямбда-исчисление и машины Тьюринга функционально эквивалентны. А именно, речь идёт о том, что всё, что можно вычислить с использованием машины Тьюринга, можно вычислить и с использованием лямбда-исчисления, и наоборот.


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

Как я вижу идеальный браузер

Время на прочтение37 мин
Охват и читатели37K
В последнее время появилось много статей о недостатках современного софта, при этом никто не пробует предложить свои решения, чтобы поменять ситуацию. Эта статья — ответ на некоторые статьи об этом, равно как и о мечтах о идеальном браузере. Как можно было бы переработать браузер, его UI, методы взаимодействия с сайтами, улучшить протоколы и пользовательский опыт в целом. Если у вас есть какие-то, пусть даже самые смелые мысли по этому поводу, то предлагаюсь обсудить их и быть может заложить основы для создания идеального браузера. В конечном счете, рано или поздно это нужно будет сделать, так как ситуация на рынке браузеров на данный момент совсем не радостная. И не проблема, что другие браузеры очень сложны и их сложно догнать — мы можем пойти по своему пути, реализовывать только необходимые части стандартов, при этом можем вводить свои нестандартные расширения. Не надо бежать за другими, пусть другие бегут за нами. Пусть наш браузер будет создан для людей, а не во имя коммерческих интересов корпораций добра и странных консорциумов, от которых давно нет никакой пользы.



Что же должно быть в идеальном браузере?



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

Тонкости и толстости иконок. Про Sketch, особенности рендеринга и игру с толщиной линий

Время на прочтение7 мин
Охват и читатели8.8K
В этой статье мы разберем нюансы экспорта векторных иконок из графических пакетов. Несмотря на то, что векторные иконки успешно эксплуатируются не один год, до сих пор встречаются досадные ситуации, в которых отображение иконок будет некорректным: будет плясать толщина линий, появляться размытия, пропадать скругления, или наоборот — появляться скругления там, где ожидались острые углы.

Основных причин — три: особенности (или даже баги) экспорта и оптимизации иконок из графических пакетов, особенности и ошибки рендеринга (мы будем ориентироваться на рендеринг браузером Chrome или оболочки Electron), ошибки дизайнеров по неопытности. Хотя в самом графическом пакете все выглядело хорошо (в данном случае мы рассматриваем Sketch, но похожие проблемы есть везде).


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

Договоры в digital: краткое руководство для НЕ юристов

Время на прочтение6 мин
Охват и читатели4.9K
Этот материал — небольшая часть курса управления digital-проектами, и будет полезен, в первую очередь, руководителям проектов, аккаунт-менеджерам и руководителям на стороне агентств.

Поделиться своим опытом мы решили неспроста: неприятные кейсы от коллег по отрасли и самостоятельно набитые шишки подсказывают, что эта тема — больная для многих (причём, не только в IT). Читайте в материале, какую структуру договора выбрать при работе по SCRUM (и почему), а главное — как отстоять её у юристов заказчика. Лайфхаки при согласовании, 5 правил предосторожности, пара реальных историй, а также процесс документооборота в студии Сибирикс изнутри — здесь.
Читать дальше →

Prettier, ESLint, Husky, Lint-Staged и EditorConfig: инструменты для написания аккуратного кода

Время на прочтение16 мин
Охват и читатели151K
Вы стремитесь к тому, чтобы писать аккуратный код, но не знаете с чего начать… Вы вчитываетесь в руководства по стилю, вроде этого от Airbnb, стараетесь следовать практическим рекомендациям ведущих специалистов… Вам приходится удалять неиспользуемый код? Приходится искать ненужные переменные? Вы пытаетесь выявлять неудачные паттерны, применённые в ваших программах? Например — хотите понять, читая хитросплетения кода некоей функции, возвратит ли она что-нибудь или нет. Звучит знакомо? Проблема заключается в том, что программисту очень тяжело и многое успевать, и многому учиться.

Может быть вы — тимлид, под началом которого трудится команда разработчиков разного уровня? В вашей команде есть новые люди? Беспокоит ли вас то, что код, который они напишут, не будет соответствовать вашим стандартам? Проходят ли ваши дни в проверках чужого кода, когда эти проверки, в основном, касаются соблюдения стандартов, а не программной логики?



Автор этого материала говорит, что он сталкивался со всем тем, чему посвящены только что заданные вопросы. То, с чем он столкнулся, утомляет и изматывает. Здесь он хочет рассказать об инструментах, правильное применение которых позволяет решить вышеописанные проблемы.

А именно, здесь пойдёт речь о таких средствах как Prettier, ESLint, Husky, Lint-Staged, EditorConfig, об автоматизации форматирования и линтинга кода. Этот материал ориентирован, в основном, на React-разработку, но рассмотренные здесь принципы можно применить в любом веб-проекте. Вот репозиторий, где, кроме прочего, собрано то, о чём тут пойдёт речь.
Читать дальше →

Бэкенд для фронтенда, или Как в Яндекс.Маркете создают API без костылей

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

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



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


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

Процессы разработки глазами эксплуатации. Взгляд с другой стороны баррикад

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


Привет, Хабр! И снова на связи Алексей Приставко.

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

Слаженная работа этих служб — залог успешного запуска и ровного «полёта» создаваемого сервиса. Но, как показывает мой (и не только) опыт, практически ни один проект не обходится без конфликтов и разногласий, жертвой которых становится ни в чем не повинный сервис.

В этой статье я постараюсь ответить на следующие вопросы:

  • Как методы и процессы разработки отражаются на эксплуатации?
  • Что движет каждой стороной конфликта?
  • В чем первопричина разногласий?

Добро пожаловать под кат!
Читать дальше →

GeoPuzzle — собери мир по кусочкам

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

Хочу рассказать о проекте, который развивал последние пару лет. Называется он GeoPuzzle и представляет собой игру-паззл на политической карте мира. Цель — расставить кусочки-страны на свои места. Идея подсмотрена в статье «Головоломка Mercator для знатоков географии», также в детстве играл в тетрис из стран (ещё под DOS), но название программы уже не припомню. Я был настолько вдохновлён идеей, что захотел сделать полноценный продукт, интересный не только школьникам, но и знатокам географии. За развитием проекта можно наблюдать на GitHub.
Читать дальше →

A la perfección: совершенствуем WordPress при помощи плагинов AMP for WordPress и Setka Editor

Время на прочтение5 мин
Охват и читатели3K
Привет, Хабр! Сегодня мы поговорим о процессе настройки и кастомизации CMS WordPress. Часто приходится слышать, что она годится лишь для небольших сайтов, а для сайтов СМИ с массивным трафиком она не подходит (хотя обратных примеров много). Еще одна особенность WordPress — отсутствие предустановленных продвинутых инструментов для журналистов, редакторов и всех, кому нужны дополнительные возможности при публикации новостей и статей, включая кастомное оформление материалов.

В то же время поклонники WordPress утверждают, что CMS подходит как для лендингов, так и для сайтов с миллионным трафиком. Истина где-то посередине. У WordPress есть недостатки, но при желании их можно избежать, одновременно усилив положительные возможности CMS. О том, как это сделать, сегодня и поговорим.

Системный подход к скорости: онлайн-измерения на фронтенде

Время на прочтение10 мин
Охват и читатели7.5K
Команда скорости Яндекса вручную оптимизирует поисковую выдачу. Делать это вслепую трудно и зачастую просто бесполезно. Поэтому в компании построили инфраструктуру для сбора метрик, тестирования скорости и анализа полученных данных.

О том, какие метрики стоит использовать и как все оптимизировать, знает разработчик интерфейсов Яндекса Андрей Прокопюк (Andre_487).



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

Использование RxJS в React-разработке для управления состоянием приложений

Время на прочтение14 мин
Охват и читатели40K
Автор материала, перевод которого мы сегодня публикуем, говорит, что здесь он хочет продемонстрировать процесс разработки простого React-приложения, использующего RxJS. По его словам, он не является экспертом в RxJS, так как сам занимается изучением этой библиотеки и не отказывается от помощи знающих людей. Его цель — привлечь внимание аудитории к альтернативным способам создания React-приложений, вдохновить читателя на самостоятельные исследования. Этот материал нельзя назвать введением в RxJS. Тут будет показан один из многих способов использования этой библиотеки в React-разработке.

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

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

Время на прочтение8 мин
Охват и читатели43K
Недавно мы публиковали материал о методологии SOLID. Сегодня мы представляем вашему вниманию перевод статьи, которая посвящена применению принципов SOLID при разработке приложений с использованием популярной библиотеки React.

image

Автор статьи говорит, что здесь, ради краткости, он не показывает полную реализацию некоторых компонентов.
Читать дальше →

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

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

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

ddd-header


Введение


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


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


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

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

Подход к реализации RBAC в ReactJS

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

Вступление


Привет, дорогой читатель!

Некоторое время (около года) назад столкнулся с необходимостью условной отрисовки компонентов в ReactJS в зависимости от текущих прав пользователя. Первым делом начал искать готовые решения и «лучшие практики». Статья "Role based authorization in React" произвела больше всего впечатления своим использованием Higher-Order Components (HOC). Но, к сожалению, решения, которое меня удовлетворяет, не нашел.
Читать дальше →

Hasura. Архитектура высокопроизводительного GraphQL to SQL сервера

Время на прочтение6 мин
Охват и читатели33K
Привет, Хабр! Представляю вашему вниманию перевод статьи «Architecture of a high performance GraphQL to SQL engine».

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

Он позволяет генерировать GraphQL схему на основе существующей базы данных или создать новую. Поддерживает GraphQL Subscriptions из коробки на основе Postgres-триггеров, динамический контроль прав доступа, автоматическую генерацию join’ов, решает проблему N+1 запросов (batching) и многое другое.

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

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

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


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

Этот рост во многом обеспечивается внедрением современным технологий. Сегодня мы поговорим о том, какие технологические тренды будут актуальны в ecommerce в грядущем году.
Читать дальше →

Serverless CPaaS – как Voximplant предвосхитил этот хайп

Время на прочтение4 мин
Охват и читатели4.3K
В этом году мы переводили добротную статью про концепцию Serverless: автор показывал «на пальцах», что это такое и зачем. А еще мы знаем и помним, что наши евпропейские партнеры давно окрестили нашу платформу как Serverless CPaaS – чтобы явным образом подтвердить это, наш CEO Алексей Айларов выступил 16 октября на конференции API Days в Амстердаме. Алексей рассказал, почему Serverless CPaaS скоро будет повсеместным и как получилось, что Voximplant – внезапно – с самого начала олицетворял этот подход. Под катом вас ждет текстовая адаптация выступления, выдержки из презентации прилагаются. Welcome!

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

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

Время на прочтение19 мин
Охват и читатели529K
Автор статьи, перевод которой мы публикуем, считает, что, к несчастью, в большинстве из существующих руководств по React не уделяется должного внимания ценным практическим приёмам разработки. Такие руководства не всегда дают тому, кто по ним занимается, понимание того, что такое «правильный подход» к работе с React.

image

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

PHP-Дайджест № 142 (15 – 29 октября 2018)

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

Свежая подборка со ссылками на новости и материалы. В выпуске: Будущее PHP и Zend Framework, RFC из PHP Internals о повышении производительности, порция полезных инструментов, новый слоник PHP доступен для заказа, и многое другое.

Приятного чтения!

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