Обновить
512K+

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

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

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

SEO-оптимизация сайта на React или как добиться конверсии от поисковиков если у вас Single Page Application

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

Смоделируем ситуацию: Вы являетесь членом команды веб-разработчиков, занимающихся созданием frontend-части молодого интернет-ресурса на базе React. И вот, когда уже начинает казаться что ваша разработка достигла определенной функциональной, качественной и эстетической кондиции, вы сталкиваетесь с достаточно сложным и не менее интересным вопросом: А что делать с SEO? Как добиться качественной конверсии от поисковых систем? Как сделать так, чтобы о вашем ресурсе узнал весь мир, не вкладывая в это огромного количества денег за платные рекламные компании либо сил в крупномасштабную дополнительную разработку? Как заставить контент вашего Single Page Application работать на вас в поисковых выдачах и приносить клиентов? Интересно? Тогда поехали…

Читать далее

PHP-Дайджест № 193 (16 – 30 ноября 2020)

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

Парад релизов: обновление языка — PHP 8.0, а также Xdebug 3, DBAL 3.0, Bref 1.0, Symfony 5.2, Flysystem 2.0. Первый принятый RFC для PHP 8.1, долгосрочная поддержка PHPUnit, порция полезных инструментов, подкасты, стримы, статьи.

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


Дайджест свежих материалов из мира фронтенда за последнюю неделю №443 (23 — 29 ноября 2020)

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

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

Подробности об использовании CSS-функции minmax() в Grid-макетах

Время на прочтение8 мин
Охват и читатели35K
Существует множество руководств, в которых рассматриваются общие вопросы работы с CSS Grid, с механизмом, позволяющим создавать сеточные макеты. Я и сам немало об этом писал. Но я обратил внимание на то, что у многих разработчиков возникают сложности с использованием CSS-функции minmax(). Пожалуй, дело тут в том, что большинство существующих публикаций на эту тему либо не вдаются в детали, либо не включают в себя достаточного количества пояснений и примеров из реального мира. А minmax() — это очень мощная и полезная функция. Именно по этой причине я и решил написать данную статью. Это — нечто вроде «полного руководства по minmax()», задача которого — дать читателям то, чего не дают им другие публикации на эту тему.



Здесь мы в подробностях обсудим возможности функции minmax() в применении к сеточным макетам, поговорим о том, как, когда и почему ей стоит пользоваться. Тот, кто проработает эту статью, сможет полноценно и со знанием дела применять эту функцию в своих проектах.
Читать дальше →

Объявление о бета-тестировании null-safety Dart. Начало процесса миграции пакетов в надежное и безопасное состояние

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


Безусловно, null-safety — важный шаг в развитии языка. Команда Dart анонсировала бета-релиз версии с null-safety! Мы перевели на русский новость об этом релизе, в котором вы узнаете, как мигрировать на новые версии, какие преимущества получите, и в чем польза null-safety для всех нас.

AMA с Хабром #23. Чёрная пятница в Хабр Киоске

Время на прочтение2 мин
Охват и читатели2.7K
Если вы ещё не знали, то у Хабра есть мерч: майки, толстовки, маски подсети и даже handmade-слизень. Всё это находится в Хабр Киоске, который сегодня (в пятницу, а не во все дни, как у остальных) выглядит несколько необычно: подвигайте ползунок, чтобы заметить отличия. Утепляйтесь сами или закупайтесь подарками в АДМ.
Ну а под катом традиционный список обновлений на сайте 

Пентест вебсайта с помощью Owasp Zap

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


Сегодня защита веб-приложения имеет решающее значение, поэтому осваивать пентест инструменты приходится и самим разработчикам. О мощном фреймворке WPScan для пентеста WordPress мы уже писали, но сайты бывают и на других движках. Именно поэтому сегодня разберем более универсальный пентест-инструмент OWASP ZAP (Zed Attack Proxy).


Что такое OWASP ZAP?


OWASP (Open Web Application Security Project) — всемирная некоммерческая организация, деятельность которой направлена на повышение безопасности ПО.


OWASP ZAP (Zed Attack Proxy) — один из самых популярных в мире инструментов безопасности. Это часть сообщества OWASP, а значит, что этот инструмент абсолютно бесплатный.


Почему многие выбирают OWASP ZAP?


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


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


Открытый исходный код!


Проект был запущен в 2010 году, но до сих пор дорабатывается и регулярно обновляется.


Настройка среды ZAP


ZAP является кроссплатформенным и для своей работы требует только наличия JAVA 8+. Поэтому можно обойтись без Kali Linux или других ОС для белого хакинга.

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

Сейчас я буду убеждать вас использовать статический анализ в PHP

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


Я помню выход PHP7: появились strict types, скалярные type hint-ы.

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

Организация маркетплейса

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

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

Читать далее

Архитектура маркетплейса

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

Как говорит Википедия, маркетплейс — это платформа e-commerce, онлайн-магазин электронной торговли, предоставляющий информацию о продукте или услуге третьих лиц, чьи операции обрабатываются его оператором. Если объяснять проще, то маркетплейс является торговой площадкой, которая работает по принципу связующего звена между покупателями и продавцами. Поначалу его легко перепутать с интернет-магазином, но между ними - кардинальная разница. У маркетплейса непримечательный дизайн, зато в каталоге сотни тысяч товаров. А у каждого товара — десятки цен.

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

Читать далее

Создание изображений в runtime (favicon, watermark, нарезка картинок) #golang

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

В Go есть возможность создавать файлы изображений.

С помощью этого мы можем создавать картинки на лету (в runtime).

Где же это может пригодится?

Читать далее

Как мы сделали автоматический подбор похожих товаров

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

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

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

Как определить, что товары похожи? Можно сравнить характеристики, чем больше совпало, тем более похожи товары. Но это не работает так просто, к сожалению. На практике оказывается, что, как правило, почти не бывает товаров, где заполнены все характеристики. 80% — хороший результат. Во-вторых, какие-то характеристики важнее, чем другие. Например, телевизор с диагональю в 65 дюймов совершенно не похож на телевизор с диагональю 22 дюйма, хотя у обоих по 2 USB-порта. Или, другой пример, металлический корпус и алюминиевый корпус гораздо ближе друг к другу, чем к пластику, хотя это три разных значения.
Читать дальше →

Черная пятница 2020 (скидки на хостинг)

Время на прочтение10 мин
Охват и читатели4.5K
Скидки к Черной пятнице уже никого не удивляют. Навязчивые предложения «купить слона» слышны из каждого утюга, так что я не был уверен в том, что хочу добавлять к этим голосам свой, но… «когда мне уже показалось, что я завязал, они снова меня туда затащили».



Некоторые хостеры интересовались, не забыл ли я добавить их в сборник со скидками, а пользователи в телеграме спрашивали, не будет ли повторения акций к семилетию Поиск VPS (нет), так что хотя бы на Черную пятницу и Киберпонедельник было решено сделать небольшой пост.

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

Host4biz — скидка 90% на виртуальный хостинг, 50% на виртуальные серверы
Hyper Host — скидка 90% на виртуальный хостинг, 30% на виртуальные серверы
A2 Hosting — скидка до 78% на виртуальный хостинг, VPS/VDS и выделенные серверы
ITL DC — скидка 70% на виртуальный хостинг, 55% на виртуальные и выделенные серверы
Bacloud — скидка 66% на виртуальные и выделенные серверы
Огласите весь список, пожалуйста

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

DartUP 2020: архитектура Dart VM, non-nullability в действии и Flutter для бизнеса

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


Уже 4 и 5 декабря пройдет DartUP — конференция по Dart и Flutter на русском и английском языках. Обычно в это время мы смотрим площадку, печатаем стикеры и запасаем в офисе коробки со свежеприготовленным Dart-пивом. Но в этом году все будет по-другому. Под катом рассказываем про темы докладов, спикеров и онлайн-активности, которые нас ждут на DartUP 2020.
Читать дальше →

Трансформеры в Поиске: как Яндекс применил тяжёлые нейросети для поиска по смыслу

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

Привет, Хабр. Меня зовут Саша Готманов, я руковожу группой нейросетевых технологий в поиске Яндекса. Сегодня на YaC 2020 мы впервые рассказали о внедрении трансформера — новой нейросетевой архитектуры для ранжирования веб-страниц. Это наиболее значимое событие в нашем поиске за последние 10 лет. 

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

Читать далее

13 свежих и полезных дизайн-ресурсов уходящей осени

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

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

Читать далее

Детальный обзор Well-known Symbols

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


Доброго времени суток, друзья!

Символ (Symbol) — это примитивный тип данных, представленный в ECMAScript2015 (ES6), позволяющий создавать уникальные идентификаторы: const uniqueKey = Symbol('SymbolName').

Вы можете использовать символы в качестве ключей для свойств объектов. Символы, которые JavaScript обрабатывает особым образом, называются хорошо известными символами (Well-known Symbols). Эти символы используются встроенными алгоритмами JavaScript. Например, Symbol.iterator используется для перебора элементов массивов, строк. Его также можно использовать для определения собственных функций-итераторов.

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

Будучи уникальными, использование символов в качестве ключей объектов (вместо строк) позволяет легко добавлять объектам новый функционал. При этом, не нужно беспокоиться о возникновении коллизий между ключами (поскольку каждый символ уникален), что может стать проблемой при использовании строк.

В данной статье речь пойдет о хорошо известных символах с примерами их использования.
Читать дальше →

5 способов краулинга веб-сайта

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


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


Давайте начнем!!


Metasploit


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


use auxiliary/crawler/msfcrawler
msf auxiliary(msfcrawler) > set rhosts www.example.com
msf auxiliary(msfcrawler) > exploit

Видно, что был запущен сканер, с помощью которого можно найти скрытые файлы на любом веб-сайте, например:


  • about.php
  • jquery contact form
  • html и т. д.
Читать дальше →

Встречаем PHP 8 вместе: советы по обновлению, мнения за и против и интервью с ключевыми разработчиками

Время на прочтение2 мин
Охват и читатели7.1K
У PHP отличное сообщество. Пандемия отобрала у нас митапы и конференцию, но мы можем собраться 25 ноября вечером в онлайне на:

  • доклад «PHP 8: юзерленд» — нескучный обзор с примерами и рекомендациями,
  • дискуссию о развитии языка,
  • и сессию Q&A с Никитой Поповым (вопросы соберем по ходу эфира).
  • UPD. К стриму также присоединится Дмитрий Стогов


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

Дайджест свежих материалов из мира фронтенда за последнюю неделю №442 (16 — 22 ноября 2020)

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

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