
Maxim
02.03.2017
20:15:18
врезаться?

Sergey
02.03.2017
20:15:38
проще делать)

Maxim
02.03.2017
20:15:45
ггг

Ринат
02.03.2017
20:16:21
не украдут

Google

Ринат
02.03.2017
20:16:22
?
на самом деле-струя точнее
фокус при метании воды))

Sergey
02.03.2017
20:16:43
ну и черпать песок проще
это как большой кулек для семечек

Ринат
02.03.2017
20:17:23
Как парсит то что плохо парсится()

Maxim
02.03.2017
20:17:35
не парсить

Ринат
02.03.2017
20:17:43
это правильный ответ!

Sergey
02.03.2017
20:17:50
регекспом, back to the oldschool

Ринат
02.03.2017
20:18:02
ну пержде чем регекспом дотянутся
надо стянуть себе, а там нормальная защитка от масс проходов
маскировки и т.д фигня

Sergey
02.03.2017
20:18:33
а дай линк

Google

Ринат
02.03.2017
20:18:38
на что?

Sergey
02.03.2017
20:18:44
на то что парсишь)

Ринат
02.03.2017
20:18:56
да я пока не парсю, просто было дело-авто ру

Sergey
02.03.2017
20:18:58
еще тор сети полезно юзать для парсинга

Ринат
02.03.2017
20:19:11
так вот там таймауты и прочаяя дрянь-скорости никакой с ним, а без неё-бан

Sergey
02.03.2017
20:19:13
вообще забавное это дело

Ринат
02.03.2017
20:19:24
тор сети не юзал
а она чтодаёт?
в данном случае

Sergey
02.03.2017
20:19:37
пфф, миллионы проксей + тор, + эмуляция юзера по всяким кукам и юзер агентам

Ринат
02.03.2017
20:19:47
ну так миллион проксей

Sergey
02.03.2017
20:19:48
и пусть они выяснят что это один и тот же клиент парсит)

Ринат
02.03.2017
20:19:53
они же платные

Sergey
02.03.2017
20:20:02
куча бесплатных есть

Ринат
02.03.2017
20:20:13
ну видимо единственный выход такой
потому что с одного айпи-трудновато было

Sergey
02.03.2017
20:20:30
ну с одной и не очень то безопасно)
особенно если это делаешь с сервера

Ринат
02.03.2017
20:20:37
а что там линк, авто ру и авиты вроде одни)

Google

Sergey
02.03.2017
20:20:55
а что за маскировка?

Ринат
02.03.2017
20:21:13
да я просто курлом
прикидывался не очень удачно бразурером

Sergey
02.03.2017
20:23:10
самая страшная защита это когда ресурс сделан через жопу) ну там возвращаются результаты в виде джаваскрипта, в нем зашиты в переменных данные, которые по нему размазаны и чтобы это дело спарсить, нужно поднимать js движок и все это собирать до кучи
а это головняк ппц

Kirill
02.03.2017
20:23:50
у меня знакомые парсили конкурентов, а те спалили и стали цены им подсовывать фейковые ?
заметили через пару недель только

Sergey
02.03.2017
20:24:10
лол
самое сложное это защита от парсинга
когда тебя и гугл должен уметь хавать
а всякие уебки должны сосать жопы
кто как защищается от скрейпинга?

Salavat
02.03.2017
20:30:37

Salavat
02.03.2017
20:33:02
Не защищаемся.

Sergey
02.03.2017
20:41:50
https://github.com/symfony/symfony/pull/18193 омг

Big_Shark
02.03.2017
20:43:32
Найс же, не?

Sergey
02.03.2017
20:45:09
ну в целом норм) правда я до сих пор скептически отношусь к getter injection
для многих это будет магией

Big_Shark
02.03.2017
20:45:49
а где там getter injection?

Sergey
02.03.2017
20:46:15
глянь исходники трейта
protected function getRouter(): RouterInterface
+ {
+ }

Google

Big_Shark
02.03.2017
20:47:24
Мдаа, ну да, это странная штука
а до сих пор не понимаю как это работает

Sergey
02.03.2017
20:47:40
бгг
ну там делается на этапе сборки прокся
в нее пихается контейнер

Sergey
02.03.2017
20:47:56

Big_Shark
02.03.2017
20:48:00
мдааа....

Sergey
02.03.2017
20:48:01
и переопределяются все методы которые геттеры
и начинают отдавать то что в контейнере

Sergey
02.03.2017
20:48:16
мдааа....
ну тип это lazy для тех кто не хочет ставить proxy generator

Admin
ERROR: S client not available

Sergey
02.03.2017
20:48:28
но! это шаг к AOP в симфони
раз начали абузить прокси

Big_Shark
02.03.2017
20:49:04
хз, мне кажется это перебор

Sergey
02.03.2017
20:49:20
тестить такие классы не очень удобно
вообще getter injection вроде помечен как эксперементальный и если че его выпилят

Sergey
02.03.2017
20:51:40

Sergey
02.03.2017
20:52:12
мне больше нравится фича с частичным контейнером

Sergey
02.03.2017
20:52:31
как в ларавели можно будет

Google

Sergey
02.03.2017
20:52:39
угу

Sergey
02.03.2017
20:53:16
когда там уже третья доктрина...

Sergey
02.03.2017
20:53:33
мне иногда кажется что на нее забили)

Sergey
02.03.2017
20:53:45
там чет активно пилят
просто я чего не пойму - они как-то там по хардкору пилят

Sergey
02.03.2017
20:53:59
1 чувак пилит

Sergey
02.03.2017
20:54:03
ну да
там PR на выпиливаени merge/detach чет как-то сиииильно жирный
я тут потыкал исходники доктрины, попробовал порасширять DQL
тяжко это
мне реально больше нравится уже идея сделать сэт утилит для того что бы помочь кастомные гидраторы писать

Sergey
02.03.2017
20:55:23
ыы, у нас есть свой гидратор тоже

Sergey
02.03.2017
20:55:34
а чем он отличается?
ну мол для одной специфичной выборки или один для набора выборок?

Sergey
02.03.2017
20:56:02
https://gist.github.com/enleur/ba069a5d8ca05e566be53e9515b3fe19
тем что он отдает непосредственно то что вернул pdo, только имена полям меняет на те что были в запросе

Sergey
02.03.2017
20:57:02
ясн

Sergey
02.03.2017
21:00:21
тут недавно задачка была. выбрать из базы 15 тыс записей, просчитать к каждой гео дистанцию, потом сделать группировку, сортировку ну и там еще немного процессинга. на пхп это все дело занимало ~8 секунд
заменили гидратор на кастомный, сразу до 3.5 упало.
из них 600мс это сама выборка + передача по сети, т.е оверхед пхп почти 3 секунды?

Sergey
02.03.2017
21:00:54
а я бы делал это в базе(

Sergey
02.03.2017
21:00:55
кое-как выкрутились запросом на мускуль. а потом сделал все тоже самое только на jvm. все те же вычисления проходили за 2мс и мне стало грустно

Sergey
02.03.2017
21:01:17

Sergey
02.03.2017
21:01:51
ST_DISTANCE в марье кстати считает не точно, как оказалось