Обновить
256K+

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

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

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

Дайджест свежих материалов из мира фронтенда за последнюю неделю №343 (10 — 16 декабря 2018)

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


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

Web Security: введение в HTTP

Время на прочтение11 мин
Охват и читатели46K
HTTP — вещь прекрасная: протокол, который просуществовал более 20 лет без особых изменений.

image

Это вторая часть серии по веб-безопасности: первая часть была «Как работают браузеры».

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

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

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

О преимуществах встраивания CSS в JS

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

Этот пост является развернутым ответом на вопросы из этого разговора в Твиттере. Автор оригинала, Сунил Пай, является автором относительно популярной библиотеки glamor и работает разработчиком в Facebook.


Каким образом Javascript оказывается более удобным чем CSS? Как написание CSS внутри JS делает его более поддерживаемым?

Буду счастлив пообщаться на эту тему. Сразу скажу, что у CSS-in-JS решений есть накладные расходы, но обычно эта цена оправдана теми преимуществами, которые они приносят. Иногда они могут быть полезными, но также это не значит, что CSS-in-JS должен использоваться всегда и везде.

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

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

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

Аgorafreight.com — первый в России сервис для онлайн-расчета стоимости и заказа авиа-, авто- и контейнерных перевозок, сборных грузов всеми видами транспорта, включая ставки «от двери до двери».


image

Об истории проекта Agorafreight рассказывает руководитель проектов Reksoft (входит в ГК «Техносерв») Дмитрий Долгих.


Российский стартап Agorafreight — маркетплейс для международных грузоперевозок, который предназначен для расчета стоимости услуг по перевозке грузов, оказываемых экспедиторскими компаниями и перевозчиками. Система является связующим звеном между заказчиком перевозки (клиентом), компаниями-перевозчиками и экспедиторами. Система позволяет провести предварительный выбор маршрута, компаний и услуг, а также расчет стоимости перевозки.

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

Сделал редизайн — потерял миллиард

Время на прочтение7 мин
Охват и читатели41K
Исследуем эпичные провалы редизайна и мотаем на ус.
image
Менеджер по продукту заходит в отдел дизайна и заказывает редизайн сайта. «Наш сайт выглядит таким старым! У всех наших конкурентов есть более яркие сайты. Давайте перепроектируем его. Кнопки с разноцветными тенями — это будущее!»

Дизайнер: «Хорошо, давайте начнем с тестирования юзабилити».
ПМ: «У вас есть 3 недели, и я хочу, чтобы все цвета были заменены на ярко-розовый, ярко-синий или оранжевый».

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

Прямой эфир: производительность фронтенда

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

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


Прямой эфир, посвящённый перфомансу, пройдёт 18 декабря на ютуб-канале AvitoTech. В дискуссии будут участвовать эксперты из Яндекса, Tinkoff, Mail.Ru и Авито. Под катом — примерные вопросы, которые планируем обсуждать, и ссылка на предстоящую трансляцию. После встречи обновим пост, выложим видео, добавляйте его в закладки, если интересуетесь темой.


HighLoad Cup #2. Чемпионат для backend-разработчиков снова в строю

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


Вы готовы к новым нагрузкам? Приглашаем всех любителей и профессионалов на чемпионат по проектированию и администрированию высоконагруженных сервисов HighLoad Cup #2!

Начало соревнованию было положено еще в прошлом году. Тогда мы знали, что HighLoad Cup — это именно тот чемпионат, которого не хватало в ряде проектов Mail.Ru Group. В первом пилотном соревновании участвовало 449 человек. Было много кода и много пота как у самих организаторов, так и участников (8789 различных решений). Были нюансы в технической реализации, но главное, что всем понравилось! Организаторы провели множество ночей в датацентре, несколько выходных — в офисе. Готовы к этому снова! В конце статьи вы найдете полезные материалы от нас и от участников, которые помогут вам разобраться в механике и найти какие-то best practice-решения.

На этот раз постарались подготовить для вас дельце посложнее. Кроме того, мы расширили аудиторию, теперь в соревновании могут принять участие и англоязычные пользователи. Присоединяйтесь к русскоязычному сообществу в Telegram. Там вы получите множество инсайтов по соревнованию :)



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

Сбор требований к программному проекту — без купюр

Время на прочтение11 мин
Охват и читатели7.4K
Разработка… она как наркотик — систему пишут, пишут, ведь «прет» же. А потом, вдруг оказывается — «алименты» нужно платить. А любое изменение системы влечет гору ошибок. А ведь еще в начале прошлого века великий Курт Гёдель предвидел это и строго доказал, что даже в арифметике у нас не хватает ума, чтобы выразить все ее законы без противоречий. А в программировании и подавно — мы начнем наступать себе на ноги и запутываться. Что, в общем-то, и происходит: то ноутбук ночью включается и перезагружается, то мобильные приложения сыпят ошибками так, что они из кармана начинают выпадать и разбегаться, бранясь и попискивая, по полу.

А как вам модные нынче бета-версии всего и вся? Cкоро самолеты начнут выходить в альфа-бета версиях, похоже.

Но ведь можно же программировать без ошибок, чтобы душа радовалась и пиво попить с клиентом было не только приятно, но и безопасно!


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

Есть идея: система разрешений для npm-пакетов

Время на прочтение15 мин
Охват и читатели6.3K
Несколько дней назад я впервые запустил калькулятор на новом телефоне и увидел такое сообщение: «Калькулятор хотел бы получить доступ к вашим контактам».


Сначала мне это сообщение показалось немного грустным (похоже, калькулятору было одиноко), но этот случай заставил меня задуматься…
Читать дальше →

Восьмая Вебмастерская. Прямой эфир на Хабре

Время на прочтение1 мин
Охват и читатели2.3K
Сегодня в 11:00 по московскому времени стартует прошла ежегодная конференция Яндекса для владельцев сайтов, маркетологов и аналитиков. В этот раз мы не только подготовили ряд анонсов, но и сделали особый упор на взаимоотношении продукта, маркетинга и SEO. Как бизнесу начать эффективно использовать возможности оптимизатора, как вместе с ним подобрать стратегию развития продукта и маркетинговых активностей, как анализировать конкурентов и спрос, — обо всём этом вы узнаете из докладов наших спикеров.

Посмотреть Вебмастерскую можно в прямом эфире записи:

Обзор пяти HTTP-библиотек для веб-разработки

Время на прочтение3 мин
Охват и читатели38K
Одна из важнейших задач, которую приходится решать программисту при разработке веб-проектов, заключается в организации обмена данными между клиентскими и серверными частями таких проектов. Это может выглядеть так: пользователь нажимает некую кнопку на странице, открытой в браузере, в ответ система выполняет запрос к серверу, после чего сервер отправляет странице запрошенные у него данные. Для того чтобы вывести такие данные, на странице, без её перезагрузки, производится их обработка, после чего страница обновляется и пользователь получает то, что ему нужно.



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

Материал, перевод которого мы сегодня публикуем, посвящён анализу пяти популярных инструментов для работы с HTTP: Axios, Request, Superagent, Fetch и Supertest.
Читать дальше →

Как работают браузеры — введение в безопасность веб-приложений

Время на прочтение9 мин
Охват и читатели70K
Давайте начнем серию статей по безопасности веб-приложений с объяснением того, что делают браузеры и как именно они это делают. Поскольку большинство ваших клиентов будут взаимодействовать с вашим веб-приложением через браузеры, необходимо понимать основы функционирования этих замечательных программ.

image
Chrome и lynx

Браузер — это движок рендеринга. Его работа заключается в том, чтобы загрузить веб-страницу и представить её в понятном для человека виде.

Хоть это и почти преступное упрощение, но пока это все, что нам нужно знать на данный момент.

  • Пользователь вводит адрес в строке ввода браузера.
  • Браузер загружает «документ» по этому URL и отображает его.
Читать дальше →

Прототипы: как создать успешный продукт и сэкономить

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


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

Недавно, прогуливаясь по Москве, вспомнил о стартапе и решил проверить его лично. Но уже через 15 минут понял, что шансов взять самокат в аренду нет, а рейтинг 1.5 в AppStore полностью оправдан и подтверждает, что сложности не только у меня.

На запуск стартапа такого масштаба, вероятно, было потрачено довольно много денег. И рейтинг 1.5 как бы намекает, что тратить придется еще.

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

Из статьи вы узнаете:

  • Что такое прототипы
  • Как сделать первоклассный прототип
  • Как отличить хороший прототип от плохого
  • Как сэкономить бизнесу $25 000
Читать дальше →

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

Учебный курс по React, часть 1: обзор курса, причины популярности React, ReactDOM и JSX

Время на прочтение14 мин
Охват и читатели202K
Представляем вашему вниманию первые 5 занятий учебного курса по React для начинающих. Оригинал курса на английском, состоящий из 48 уроков, опубликован на платформе Scrimba.com. Возможности этой платформы позволяют, слушая ведущего, иногда ставить воспроизведение на паузу и самостоятельно, в том же окне, в котором ведётся демонстрация, экспериментировать с кодом. Курс показался нам интересным, мы решили перевести его на русский и преобразовать в формат традиционных публикаций.



Полагаем, этот курс будет полезен всем, кто, что называется, «не умеет в React», но хочет научиться. В то же время, на то, чтобы превратить этот курс в обычные публикации, нужны немалые силы и время, поэтому мы, прежде чем принимать окончательное решение о запуске этого проекта, предлагаем всем желающим оценить курс и поучаствовать в опросе о целесообразности его перевода.
Читать дальше →

Еще список проектов, на чем потренироваться

Время на прочтение3 мин
Охват и читатели29K
«Мастер совершает больше ошибок, чем новичок — попыток»

Прошлый список тренировочных проектов набрал 50к прочтений и 600 добавлений в избранное. Вот еще один список интересных проектов для практики, для тех кто хочет добавки.

1. Текстовый редактор


image

Цель текстового редактора — уменьшить усилия пользователей, пытающихся преобразовать их форматирование как валидную разметку HTML. Хороший текстовый редактор позволяет пользователям форматировать текст по-разному.

В какой-то момент каждый использовал текстовый редактор. Так почему бы не создать его самостоятельно?
Читать дальше →

Winter frontend meetup в OZON

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

Привет, Хабр! 13 декабря встречаемся в офисе OZON, чтобы поговорить о фронтенде (с перерывами на пиццу и пиво, конечно). Разработчики из OZON, Яндекса и Альфа-Банка расскажут о том, как объединить зоопарк систем, провести рефакторинг, переехать на Typescript и внести свой вклад в развитие комьюнити.
Читать дальше →

Перед вами — React Modern Web App

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

Перед тем как начать собирать с нуля Modern Web App нужно разобраться, что такое — Современное Веб-Приложение?


Modern Web App (MWA) — приложение, придерживающееся всех современных веб-стандартов. Среди них Progressive Web App — возможность скачивать мобильную браузерную версию на телефон и использовать как полноценное приложение. Так же это возможность листать сайт в оффлайне как с мобильного устройства, так и с компьютера; современный материальный дизайн; идеальная поисковая оптимизация; и естественно — высокая скорость загрузки.



Вот что будет в нашем MWA (советую использовать эту навигацию по статье):



Люди на Хабре деловые, поэтому сразу ловите ссылку на GitHub репозиторий, архив с каждой из стадий разработки и демо. Статья рассчитана на разработчиков, знакомых с node.js и react. Вся необходимая теория представлена в необходимом объеме. Расширяйте кругозор, переходя по ссылкам.


Приступим!

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

Все, что вы хотели знать об обработке запросов, но стеснялись спросить

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

Что такое сетевой сервис? Это программа, которая принимает входящие запросы по сети и обрабатывает их, возможно, возвращая ответы.


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


Выбор способа обработки запросов имеет далеко идущие последствия. Как сделать чат-сервис, выдерживающий 100.000 одновременных соединений? Какой подход выбрать для извлечения данных из потока слабоструктурированных файлов? Неправильный выбор приведет к пустой трате сил и времени.


В статье рассмотрены такие подходы как пул процессов/потоков, событийно-ориентированная обработка, half sync/half async паттерн и многие другие. Приводятся многочисленные примеры, рассматриваются плюсы и минусы подходов, их особенности и области применения.

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

PHP-Дайджест № 145 (26 ноября – 10 декабря 2018)

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

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.3.0, Symfony 4.2, Composer 1.8.0 и другие релизы, конец поддержки PHP 5.6 и PHP 7.0, свежие предложения из PHP Internals, порция полезных инструментов, видеозаписи докладов и многое другое.
Приятного чтения!


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

Дайджест свежих материалов из мира фронтенда за последнюю неделю №342 (3 — 9 декабря 2018)

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


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