
Андрей
20.04.2018
10:08:53

Adel
20.04.2018
10:08:58
если сейчас взять и закрыться в пхп и обсуждать этот вопрос не видя деталей из других языков - мы придем к нправильным выводам
когда будем наследоваться чтобы отнаследовать реализацию

Google

Андрей
20.04.2018
10:09:52

Adel
20.04.2018
10:10:10
ты уже пришел к неправильным мыслям
от которых приходится потом переучивать людей
ого.. у этих классов есть какаято общая часть! давай сделаем абстрактный и эту общую часть вынесем туда!
вот эти мысли - отстой

Feodor
20.04.2018
10:11:06
ну вот, а сеньор или даже мидл - уточнит постановку задачи
Да куда уж мне, сирому, до ваших политесов. Если бы мне такое на собеседовании сказали, то я бы вежливо извинился и ушёл. Да и любой уважающий себя человек, я полагаю, тоже. Играть в словесные игры? Спасибо, нет. Это удел маркетологов.

Артем
20.04.2018
10:12:02
Имея знания об разнице между абстрактным классом и интерфейсом возращаемся к исходному вопросу - при каких обстоятельсвтах может возникнуть вопросы сравнения абстратного класса и интерфейса, кроме собеседования на работу?

Андрей
20.04.2018
10:12:12

Adel
20.04.2018
10:12:32
вот возьмем наш любимый PSR
LoggerInterface
почему это интерфейс а не класс

Андрей
20.04.2018
10:13:19

Google

Pavel
20.04.2018
10:14:51

Андрей
20.04.2018
10:15:00

Artem
20.04.2018
10:15:17

Adel
20.04.2018
10:15:41

Артем
20.04.2018
10:16:23
почему это интерфейс а не класс
для меня то что он интерфейс это логично. Я не могу представить ситуацию при которой мне понадобился бы абстрактный класс вообще как явление.

Pavel
20.04.2018
10:16:31

Adel
20.04.2018
10:16:38

Artem
20.04.2018
10:17:00

Adel
20.04.2018
10:17:00

Артем
20.04.2018
10:17:07

Artem
20.04.2018
10:17:10
так используй как тайп хинтинг

Андрей
20.04.2018
10:17:11

Dmitry
20.04.2018
10:17:22

Pavel
20.04.2018
10:17:37

Artem
20.04.2018
10:17:48
т.е. какой -то класс реализует интерфейс и наследуется от кого -то, а ты просто используешь его как логер

Pavel
20.04.2018
10:18:22
Вообще в теории ООП нет никаких понятий ответственности и такого, это уже более выского уровня додумки. В класс можно хоть 100 явлений запихать.

Adel
20.04.2018
10:18:29

Dmitry
20.04.2018
10:18:31
кто про что, а Адель все про логгер :)

Adel
20.04.2018
10:18:40

Google

Андрей
20.04.2018
10:19:26
Вопрос как часто вы юзаете анонимные классы ?

Artem
20.04.2018
10:19:37

Adel
20.04.2018
10:19:38
в яве - постоянно

Андрей
20.04.2018
10:19:59

Dmitry
20.04.2018
10:20:00

Adel
20.04.2018
10:20:18

Dmitry
20.04.2018
10:20:40
о...там тоже есть? в интерфейсах?

Gleb
20.04.2018
10:23:36

Adel
20.04.2018
10:24:12
Методы расширения назыааются
К классам, интерфейсам

Андрей
20.04.2018
10:33:39

dypa
20.04.2018
10:46:38

Pavel
20.04.2018
10:49:04

Artem
20.04.2018
10:49:07

Pavel
20.04.2018
10:49:16
а главное зачем

Андрей
20.04.2018
10:53:51
ого а как это?
допустим у меня абстрактна фабрика, создаются сущности в процессе выполнения, но я не знаю какая конкретно будет создана, я могу создать анонимный класс который можно будет покрыть тест кейсами

Oleg
20.04.2018
11:15:32
Привет всем.
Странная ситация с мускул запросом с пхп через mysqli либу.
При запросе ответ получаю MySQL server has gone away, Error reading result set's header.
Запрос небольшой, все переменные пропущены через реал эскейп. Похоже кто-то блокирует запрос. Но вот перебрал все логи на впске, так и не нашол ответа. Куда копать? Аналогичные запросы проходят без проблем.

Artem
20.04.2018
11:22:16

Google

Oleg
20.04.2018
11:22:42
PHP 7.0.28-0ubuntu0.16.04.1

Мио
20.04.2018
11:23:13
нет ли антиддоса web protection ?

Artem
20.04.2018
11:24:04
значит на ошибку Persistent Connections не похоже. можно проверить вывод mysql_ping() ну и max_allowed_packet в конфиге mysql, так даже хз, что может быть

Oleg
20.04.2018
11:24:31
Вот весь запрос.
replace into log_requests (date, url, data_get, data_post, curl_code, curl_body) values ('2018-04-20 11:22:42', 'https://www.cryptopia.co.nz/api/GetMarkets/48', '', '', '200', '{\"Success\":t...')
При этом если редактировать curl_body, убрать начало и добавить другую часть ответа, то запрос проходит.
Или вот такой проходит.
replace into log_requests (date, url, data_get, data_post, curl_code, curl_body) values ('2018-04-20 11:26:38', 'https://www.cryptopia.co.nz/api/GetMarkets', '', '', '200', '{\"Success\":t...')

Artem
20.04.2018
11:27:14
ну там наверно соединение сбрасывается, а первый url возвращает null

Admin
ERROR: S client not available

Artem
20.04.2018
11:27:39
проверяйте базу пингом или try/catch с обработкой исключений
replace into log_requests (date, url, data_get, data_post, curl_code, curl_body) values ('2018-04-20 11:22:42', 'https://www.cryptopia.co.nz/api/GetMarkets/48', '', '', '200', '{\"Success\":t...')
> https://www.cryptopia.co.nz/api/GetMarkets/48
url слишком долго отвечает, а первый раз вобоще null прислал, где то с ним проблема наверно

Oleg
20.04.2018
11:33:34

Artem
20.04.2018
11:36:15
значит просто не всегда, я попробовал несколько раз и оно в конце концов пришло, факторов много может быть, н оскорее всего проблема в ожидании ответа. Лучше как то асинхронно запустить запрос и когда ответ придет записать, чтобы соединение с базой не держать открытым. тут вроде рекомендовали работающую либу для асинхронного пхп https://amphp.org/
но вообще это странно. потому как mysqli_connect должен следить за этим и переоткрываться соеднинение

Oleg
20.04.2018
11:36:27

Dmitry
20.04.2018
11:36:31
руками то в консоле запрос исполняется?

Artem
20.04.2018
11:37:00
хотя если это курл то там никакого асинка не нужно, как придет записать в файл, а на него какой то вотчер повесить, чтобы при обновлении писать в базу

Oleg
20.04.2018
11:37:19

Artem
20.04.2018
11:38:40
попробуйте вызвать mysqli_ping() перед записью

Dmitry
20.04.2018
11:38:56
я бы по strace-ил... но это если знаком этот инструмент...

Google

Dmitry
20.04.2018
11:39:54
и лог мускуля глянь, не падает ли в корку

Oleg
20.04.2018
11:42:44
Похоже всё таки не в запросе дело. быстрый разрыв 5-10 секунд соединения с мускулом.
То есть вытаскивается конфиг из базы. Потом я курлом тяну даннные 5-10 секунд, пытаюсь записать, а соединиение уже отпало.

Artem
20.04.2018
11:44:25
ну вот mysqli_ping() должна проверить соединение и если его нет пересоздать.

Oleg
20.04.2018
11:59:52
Пробую.

Vitaliy Nameless
20.04.2018
12:02:46
эгегей
что тут интересного
пришел с обеда, работать лень

dypa
20.04.2018
12:09:24


Oleg
20.04.2018
12:22:57
В общем разобрался wait_timeout в настройках мускула, стоял 10, увеличил всё заработало. Кстати пинг не помогал почему-то, тоже ругался что соединения нет, но соединение не переподключал, скорее всего используется драйвер mysqlnd

Artem
20.04.2018
12:51:02

Oleg
20.04.2018
12:54:08

Artem
20.04.2018
12:54:50
да как только отправляется запрос просто выставить таймаут. если конечно ничего другого в базу не пишется и больше соединение не нужно нигде
т.е. прям буквально sleep() и пусть все висит и ждет

Влад
20.04.2018
13:13:27
Есть массив product в нём есть массив images который в себе содержит объекты с url картинок . Вопрос как вывести эти картинки ? Ооп я ещё не учил, а задание такое дали)

Artem
20.04.2018
13:18:28
foreach product[images]:
->getUrl();

Dmitry
20.04.2018
13:25:01
вот и мне от ркн прилетело, хых... благо решается просто, но почта пол дня лежала...
вообще я думаю, что им нужно было апдейты адресно делать... что бы вычислить те телеграмы, что используются для детекта текущих ip адресов

Artem
20.04.2018
13:53:16
не сложно, у них там зарплата 50к в Мск. вряд ли там кто то сидит и думает, как сделать лучше.

Gleb
20.04.2018
15:21:06
Кто-то писал алгоритмы ранжирования web-документов? Нужна помощь!

Влад
20.04.2018
15:22:53
Зы,ребятки подскажите.Есть файлик куда поступает текст построчно,как мне реализовать чтение,чтобы не один и тот же текст выводился (много раз),а при обновлении файла