Pull to refresh
3
0
Андрей Дымов @JamesJGoodwin

Backend Node.JS Developer

Send message

Не защищайте сайт от скрапинга: сопротивление бесполезно

Reading time9 min
Views36K
За последнее десятилетие я реализовал много проектов, связанных с агрегацией и анализом контента. Часто агрегация включает в себя снятие данных со сторонних сайтов, то есть скрапинг. Хотя я стараюсь избегать этого термина. Он превратился в некий ярлык, с которым связано много заблуждений. Основное заблуждение в том, что веб-скрапинг можно заблокировать с помощью X, Y, Z.

tl; dr; Нельзя.

С точки зрения бизнеса


На прошлой неделе я встретился с высокопоставленным руководителем из отрасли, в которой развиваю свой бизнес GO2CINEMA. Без сомнения, это один из самых умных и знающих людей в киноиндустрии.

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

Я посоветовался с этим человеком насчёт поиска инвестиций. Он предложил свою помощь и попросил подготовить анализ всех способов блокировки моего текущего бизнеса, включая скрапинг контента (с технической и юридической точек зрения). Я подготовил необходимые документы и поделился с ним перед нашей встречей. Его реакция была примерно такой:

Да, тщательное исследование. Но всё-таки есть способы, чтобы тебя заблокировать. *ухмыляется*

Нет, парень, нет таких способов.
Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments206

Лучшие методики тестирования в JavaScript и Node.js

Reading time49 min
Views61K

Это исчерпывающее руководство по обеспечению надёжности в JavaScript и Node.js. Здесь собраны десятки лучших постов, книг и инструментов.

Сначала разберитесь с общепринятыми методиками тестирования, которые лежат в основе любого приложения. А затем можно углубиться в интересующую вас сферу: фронтенд и интерфейсы, бэкенд, CI или всё перечисленное.
Total votes 47: ↑46 and ↓1+45
Comments3

Студента китайского вуза чуть не отчислили из-за низкого «социального рейтинга» его отца

Reading time3 min
Views65K

Прогулял школу — потерял несколько очков социального рейтинга

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

В 2016 году сообщалось, что инициаторы проекта создали пока лишь концепцию проекта, которая, тем не менее, постепенно развивается и реализовывается. Уже тогда, в 2016 году в ряде регионов Китая тестировались различные варианты этой системы. Ну а сейчас, похоже, есть уже и некоторые результаты. Так, одного из студентов известного китайского вуза едва не отчислили из-за того, что у его отца низкий социальный рейтинг.
Читать дальше →
Total votes 88: ↑84 and ↓4+80
Comments444

Как мы перебанили обычных игроков и заDDoSили свои сервера: практическое руководство

Reading time4 min
Views41K
Рассказывать о новых проектах это, конечно, хорошо, но не всегда всё получается, как мы хотим.

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


Читать дальше →
Total votes 110: ↑106 and ↓4+102
Comments31

Брендсквоттеры на марше: как у нас пытались отжать название сервиса

Reading time5 min
Views30K
Эта история началась чуть более года назад. Если бы я писал плохие детективы, то начал бы ее с фразы вроде “В этот прекрасный весенний день ничего не предвещало беды”. Но так как это не детектив, а реальная жизнь, я просто изложу эту историю максимально кратко и близко к сути. Если она послужит вам полезным предостережением, я буду очень рад. У нас чудом получилось проскочить между Сциллой и Харибдой, но совершенно не факт, что где-то в недрах “Роспатента” сейчас не лежит аналогичная заявка неизвестного брендсквоттера на ваш сервис или программу.

Итак, все началось в тот день, когда мы решили зарегистрировать торговую марку нашего сервиса в России. На тот момент у нас уже была зарегистрированная ТМ в США, поэтому мы не ожидали никаких проблем с регистрацией в РФ. Однако, реальность внесла свои коррективы. Через неделю после начала стандартной процедуры регистрации, мы получили письмо от патентного поверенного, которое, мягко говоря, выбило нас из колеи:
Читать дальше →
Total votes 55: ↑55 and ↓0+55
Comments58

Для обхода блокировок Telegram использует очевидную идею, описанную в патентах Минобороны РФ

Reading time4 min
Views45K
Пошёл второй месяц запрета Telegram на территории России. Несмотря на блокировку миллионов IP-адресов, мессенджер продолжает успешно работать и практически не теряет аудиторию. Клиент Telegram распространяется с открытым исходным кодом и использует нестандартный криптографический протокол MProto от Николая Дурова. Тем не менее, Роскомнадзору никак не удаётся эффективно заблокировать мессенджер.

Поскольку код клиента открыт, то ни для кого не секрет, какой метод применяется для обхода блокировок: это прокси-система с автоматической сменой IP-адресов. Идея настолько очевидная, что её использовали даже инженеры из Военной академии связи Минобороны РФ. Как пишет «Коммерсантъ», российские военные зарегистрировали три патента на эту технологию в 2007−2009 годах.
Читать дальше →
Total votes 35: ↑29 and ↓6+23
Comments45

Месяц после блокировки Telegram: что изменилось?

Reading time3 min
Views29K


13 апреля Таганский суд Москвы вынес решение о блокировке мессенджера Telegram на территории России. До суда дело дошло очень быстро — еще 12 апреля Роскомнадзор попросил немедленно заблокировать Telegram и на следующий день разрешение было дано. Причем заседание провели в оперативном режиме — на все про все ушло всего 18 минут.

За этот месяц произошло много всего интересного. В частности, блокировки тысяч IP-адресов из разных поддиапазонов привели к неработоспособности на территории РФ сотен (а по мнению экспертов — тысяч) сайтов и сервисов. Но стоила ли овчинка выделки? Другими словами — добился ли Роскомнадзор своей цели — радикального снижения популярности мессенджера среди граждан РФ? Судя по последним данным, эффект от блокировок хотя и есть, но весьма незначительный.
Читать дальше →
Total votes 41: ↑33 and ↓8+25
Comments45

Frontend 2018: многообразие фреймворков и недостаток миддлов

Reading time9 min
Views39K
Frontend — довольно конкурентная среда. Здесь легко начинать карьеру, но сложно перейти в разряд middle. Вдобавок возникает вопрос, в каком направлении развиваться, если каждый день появляются новые фреймворки и темы для холиваров?

О том, как выглядит и куда движется современный frontend, я расспросил Сергея Попова, члена программного комитета нашей FrontendConf, которая пройдет в конце мая в Москве в рамках РИТ++. Попутно мы поговорили про то, как происходит отбор докладов, и какие тут возникают трудности.


Читать дальше →
Total votes 42: ↑42 and ↓0+42
Comments39

Сказ о том, как я в Финляндию переехала

Reading time7 min
Views81K
Всего год назад я сидела на Хабре и читала подобного рода статьи для того, чтобы поддержать свой боевой дух, когда решила покинуть родной Казахстан и найти работу в Европе. Но, к моему сожалению, все статьи начинались примерно одинаково: “Меня зовут username и я программирую с 8 лет”. Я вам поведаю совсем другую историю.


Читать дальше →
Total votes 111: ↑100 and ↓11+89
Comments262

Domain fronting: что это такое?

Reading time6 min
Views32K


Вы уже наверняка слышали про domain fronting, особенно в контексте блокировки РКН серверов Google, отвечающих за сам google.com, и дальше последовавший запрет Google и AWS на использование их доменов для обхода блокировок.

Что же такое прикрытие доменом?
Total votes 62: ↑61 and ↓1+60
Comments46

Я сделал API для скриншотов сайтов, а какой-то парень начал майнить через него криптовалюту

Reading time2 min
Views66K
Просто хотел поделиться этой историей. Знаю, я мог бы лучше подготовиться к этому инциденту, но так уж получилось. :)

Сегодня утром я открыл почтовый ящик и обнаружил около 150 предупреждений из программы мониторинга лога. Я подумал, что случайно запушил какой-то баг в продакшн — и быстро начал расследование. Но вскоре стало понятно, что некий парень очень быстро создаёт новые учетные записи на нашем сервисе API скриншотов ApiLeap и быстро расходует весь кредит бесплатного плана на каждом аккаунте.



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

Я выяснил, что он зависает на главной странице нашего сайта, так что можно поговорить с ним через онлайновый чат Crisp — инструмент, который мы используем для общения с потенциальными клиентами на сайте. Вот это разговор:
Читать дальше →
Total votes 112: ↑95 and ↓17+78
Comments111

ЦОД для технопарка: от «бетона» до сертификации Tier Facility

Reading time11 min
Views9.8K
При строительстве центра технического обеспечения одного из крупнейших российских технопарков я отвечал за инженерную инфраструктуру. Объект седьмым в России прошел сертификацию Tier Facility авторитетного международного института Uptime Institute. О том, чего нам это стоило, какие решения мы использовали и как проходили испытания ЦОД на соответствие международным стандартам, я и расскажу в этом фотопосте.


Total votes 39: ↑37 and ↓2+35
Comments11

Чем бизнесу и пользователям грозит борьба РКН и Telegram? Мнения экспертов

Reading time6 min
Views62K
Ваша дорогая редакция связалась с экспертами и выяснила, чем бизнесу и обычным пользователям грозит игра РКН и Telegram в кошки-мышки.


Вот, с кем мы поговорили:

  • Артем Козлюк (Temych), руководитель общественной организации «РосКомСвобода».
  • Евгений Потапов (eapotapov), генеральный директор ITSumma — компании, которая отвечает за бесперебойную работу Хабра.
  • Артём Гавриченков (ximaera), технический директор Qrator Labs. Эти ребята много лет защищают от DDoS-атак TechMedia, Tilda, Ivi.ru и кучу других компаний.
  • Филипп Кулин (schors), хостер из СПб. Ведет тот самый сервис подсчета заблокированных адресов.

Total votes 113: ↑109 and ↓4+105
Comments425

Раздача статического контента — счет на милисекунды

Reading time9 min
Views13K
image

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

И вот мы решили ускорять то, что и так работает быстро и, заодно, поделиться опытом того, что получилось в итоге. Конечно же я расскажу о граблях, о том где не надо HTTP/2, о том почему мы покупаем 7,6Tb NVMe SSD вместо 8x1Tb SATA SSD и много другой узкоспециализированной информации.

Давайте сразу договоримся что хранение и раздача контента это 2 разные задачи и говорить мы будем только про раздачу (продвинутый кеш)

Начнем с железа…
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments8

Насколько быстр AMP на самом деле?

Reading time7 min
Views9.5K
Проект Accelerated Mobile Pages (AMP) от Google вызвал определённый переполох по идеологическим причинам, но саму технологию так и не разобрали подробно. Несколько недель назад Ферди Кристант писал про несправедливое преимущество, которое получает контент AMP за счёт предзагрузки. Это заставило меня задуматься: насколько хорошо AMP работает на самом деле? Я видел тесты как у Ферди, когда сравнивались одна или две страницы, но ещё не встречал всесторонних объективных тестов.

Оценить производительность AMP на самом деле не так просто, чем кажется. Нужно рассмотреть по крайней мере четыре контекста:

  1. Насколько хорошо работает AMP в контексте поиска Google?
  2. Насколько хорошо работает библиотека AMP как автономный фреймворк?
  3. Насколько хорошо работает AMP при загрузке из кэша?
  4. Насколько хорошо работает AMP по сравнению с каноническим документом?
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments2

Хакеры атаковали пользователей криптобиржи Poloniex с помощью поддельного мобильного приложения

Reading time1 min
Views3K


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

Аналитик компании ESET Лукас Стефанко обнаружил новое приложение под брендом Poloniex в Google Play в конце марта. Интересный факт — изначально программа не совершала злонамеренных действий, а только переадресовывала пользователей на сайт биржи. По мнению эксперта, таким образом злоумышленники хотели набрать базу лояльных пользователей, которые с большей вероятностью впоследствии ввели бы в приложение свои данные для входа в аккаунт на бирже.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments2

«Япония – Гуам – Австралия»: Google прокладывает новый подводный кабель

Reading time3 min
Views6.4K
Компания Google объявила о намерении проложить подводный кабель JGA, который соединит Японию, Гуам и Австралию. Инвестиции в новую систему коммуникаций — еще один шаг к распространению «облачного влияния» в Азиатско-Тихоокеанском регионе.

Подробнее о JGA и других проектах Google расскажем под катом.

Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments3

Обзор новшеств ECMAScript 2016, 2017, и 2018 с примерами

Reading time13 min
Views95K
Сложно уследить за новшествами различных версий ECMAScript, а ещё сложнее — найти полезные примеры их применения, не перекапывая горы информации. Поэтому сегодня мы публикуем перевод материала, автор которого проанализировал 18 новых возможностей ECMAScript, в число которых входят те, что имеются в уже вышедших стандартах ES2016 и ES2017, а также — те, которые должны появиться в стандарте ES2018. Автор этой статьи обещает, что каждый, кто её прочтёт, узнает много интересного и полезного о новых возможностях JavaScript.


Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments13

Как специалисты Google Adwords помогли мне выбросить 150 000 грн (около $6000) за месяц или почему я больше не буду…

Reading time19 min
Views105K
Это довольно забавная история о том, как я попал впросак сознательно, причём дважды и в результате «сжег» не мало не много, а где-то $15 000, всего лишь за месяц. Причём чувствовал, что так будет, но решил пойти по этому пути. Ради чего? Ради опыта? Нет, что Вы. Как говорится, только две вещи бесконечны — Вселенная и человеческая глупость, хотя насчёт Вселенной я не уверен. Тут скорее всего хотелось проверить насколько можно доверять своей интуиции. И она меня не подвела, but that's so silly…
Читать дальше →
Total votes 122: ↑104 and ↓18+86
Comments253

Почему я не подписываю соглашения о неконкуренции

Reading time8 min
Views51K
После университета я устроился в IT-отдел компании по обработке платежей и взысканию долгов. Мой стол стоял рядом с колл-центром: я целыми днями выслушивал, как люди на пособии делают покупки не по карману и влазят в долги. Когда несколько продажников ушли и начали собственный бизнес, прихватив с собой клиентов, компания предприняла меры. Она заставила всех в офисе, от сотрудников на вводе данных до операторов поддержки, подписать соглашения о неконкуренции. Это было первое соглашение о неконкуренции, которое я отказался подписать. В течение следующих пятнадцати лет меня ещё несколько раз попросят подписать такие бумаги, всегда перед приёмом на работу. Я всегда отказывался, и до недавнего времени это никогда не становилось препятствием для приёма на должность.

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

В 2017 году Иллинойс принял закон, запрещающий такие соглашения для низкооплачиваемых работников, обычно со ставкой ниже $13 в час. Даже в штатах, где подобные контракты не запретили, их часто признают не имеющими законной силы. С чисто этической точки зрения они ограничивают одну из самых основных предпосылок капитализма: свободу выбора, на кого работать. Это соглашение фактически ставит работника в положение должника по отношению к нынешнему работодателю, хотя долг не финансовый.
Читать дальше →
Total votes 95: ↑91 and ↓4+87
Comments180
1
23 ...

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity