
Artur
24.10.2018
08:59:30
на этих принципах делаются обработки бесконечных списков, потоков и прочей наперед неизвестной херни


Артур Евгеньевич
24.10.2018
09:00:13
не понятно как определить можно ли в этом случае использовать гену или нет и если да то наверняка нужно добавить iterator_to_array?
Смотри как я это вижу:
Есть набор чего либо. Причем не просто набор, а набор неизвестного размера, возможно даже пополняемый в процессе работы программы. И нужно сделать операцию над каждым элементом. Допустим читаем строки из php//error. Если у нас обычная функция, то придется сначала все считать, причем явно указывая откуда, куда то это сохранить(а память нерезиновая) и в конце опять вызвать функцию и сравнить диф с начальным значением чтоыб посмотреть чтобы не появилось ли чего новенького. А с генератором мы просто его дергаем переодически, он последовательно считывает инфу и нам уже отдает как надо 1 элемент, а мы конкретно с ним работаем
а еще генераторы в пыхе можно использовать как корутины с помощью send()

Google

Артур Евгеньевич
24.10.2018
09:02:03
но там чето мутно уже и я сам плаваю в теме

Artur
24.10.2018
09:02:35

Евгений
24.10.2018
09:02:38
О кстать
Парни
А если вам нужно обрабатывать небольшие файлы
Строк до 200 максимум
Вы юзаете генераторы?
Или не паритесь и в память пишете?

Артур Евгеньевич
24.10.2018
09:03:43
Привыкай смотреть в коде на 3 года вперёд

Евгений
24.10.2018
09:03:58
Ну вообще как бы да
Но записать в память удобнее

Артур Евгеньевич
24.10.2018
09:04:11
что это за файл и что это за код? Если я ишу просто скрипт для себя, то это будет максимальлно быстрый гавнокод, который я удалю после выполнения задачи
а если это код для работы с файлом который будет расти...ты уверен что черзе 3 года он будет 200 строк а не два милиона?

Google

Евгений
24.10.2018
09:04:30
Не, файл будет использоваться на постоянной основе

Artur
24.10.2018
09:04:33
ну чтение файла идеальный пример когда без генераторов справлялись испокон веков :)


Денис
24.10.2018
09:04:39
Смотри как я это вижу:
Есть набор чего либо. Причем не просто набор, а набор неизвестного размера, возможно даже пополняемый в процессе работы программы. И нужно сделать операцию над каждым элементом. Допустим читаем строки из php//error. Если у нас обычная функция, то придется сначала все считать, причем явно указывая откуда, куда то это сохранить(а память нерезиновая) и в конце опять вызвать функцию и сравнить диф с начальным значением чтоыб посмотреть чтобы не появилось ли чего новенького. А с генератором мы просто его дергаем переодически, он последовательно считывает инфу и нам уже отдает как надо 1 элемент, а мы конкретно с ним работаем
"А с генератором мы просто его дергаем переодически, он последовательно считывает инфу и нам уже отдает как надо 1 элемент, а мы конкретно с ним работаем" чёт я не совсем догнал, мы же не можем сразу работать с элементом, генератор сначала же заполняется, а только потом мы работаем с массивом


Евгений
24.10.2018
09:04:42
Шанс что он сильно разрастётся 0,0001%

Артур Евгеньевич
24.10.2018
09:04:57
мы можем в нем юзать функцию fread()
и он при каждом обращении будет новую строку СЧИТЫВАТЬ
в этом его плюс основной

Денис
24.10.2018
09:05:32
и заполнять массив

Artur
24.10.2018
09:05:44

Артур Евгеньевич
24.10.2018
09:05:46

Artur
24.10.2018
09:05:54

Артур Евгеньевич
24.10.2018
09:06:40
и заполнять массив
это уже клиентский код решает что делать собработанными данными. Ты напрмиер можешь их в файл писать или в базу сразу\

Евгений
24.10.2018
09:06:45
Плюс ещё скрипт как бы будет ещё работать и работать, но это такой компонент системы, что там и формат файла и тип соединения(сейчас ftp) ещё 1000 раз поменяется прежде чем он разрастётся
И я подумал может лучше KISS и переписать потом если что
Просто если вдруг в этот файл будет приходить миллион записей а не 200, это через нашу систему будет проходить миллион операций а не 200, а если такое случиться, тут не то что файл, тут весь проект переписывать нужно будет : )

Артур Евгеньевич
24.10.2018
09:10:17
ну тут ты сам решай. Ты спросил - тебе подсказали какие возможны проблемы. Твое дело решить что тебе дороже, сэкономить 20 минут сейчас, или предотвратить их появление в будущем

Sergey
24.10.2018
09:10:29
и заполнять массив
никто не мешает с другой стороны тоже написать генератор, который будет принимать обработанные данные и писать в БД/файл

Евгений
24.10.2018
09:11:01
Понятно

Google

Ruslan
24.10.2018
09:13:00
/etс/hosts на локале
В hosts есть запись, в конфиге nginx тоже есть. Не могу понять в чем проблема, по всем гайдам это должно работать

Artur
24.10.2018
09:13:42
tracert domain
curl domain

Денис
24.10.2018
09:15:41
тогда уж nslookup для начала

Artur
24.10.2018
09:20:12
tracert domain должен быть похож на tracert localhost
curl на системных настройках освобождает от проблем настроек браузера (с проксями впн и прочим)

Артур Евгеньевич
24.10.2018
09:32:01
Парни а я правильно понимаю что отличия воркера от демона в том что воркер- это хрень которая делает какую то детерминирвоанную задачу и дохнет, а демон это именно прока работающая как листенер в фоне?

Ruslan
24.10.2018
09:33:35
tracert domain
curl domain
tracert такого нет.
curl integrations.test
curl: (6) Could not resolve host: integrations.test
nslookup integrations.test
Server: 127.0.1.1
Address: 127.0.1.1#53
** server can't find integrations.test: NXDOMAIN

Денис
24.10.2018
09:34:25
ну твой hosts не отработал

Ruslan
24.10.2018
09:36:20
cat /etc/hosts
127.0.0.1 localhost
127.0.0.10 crm.local
127.0.0.11 crm.kibana
127.0.0.1 intergations.test

Anton
24.10.2018
09:37:37

Денис
24.10.2018
09:37:38
так у тебя хост 127.0.1.1

Артур Евгеньевич
24.10.2018
09:38:20

Ruslan
24.10.2018
09:42:12
Посоветуйте что можно почитать по архитектуре приложений. Стоит задача напистать сервис для интеграций всего и вся, а с чего начать не знаю

Anton
24.10.2018
09:43:42
всего и вся?)
я это даже заскриню)

Katulos
24.10.2018
09:44:33

Денис
24.10.2018
09:44:34
конфуция чтоли

Katulos
24.10.2018
09:45:07
где то тут была книжка про архитектуру приложений
полистай на начало года чатик

Google

Artur
24.10.2018
09:45:17

Ruslan
24.10.2018
09:45:26
имел в виду, что бы через него можно было любой сервис подключить, онлайн чат, телефонию, црм :)

Katulos
24.10.2018
09:45:46

Artur
24.10.2018
09:45:58
воркер обычно говорят о том кто делает задачу в фоновом режиме

Katulos
24.10.2018
09:45:58
Так он уже давно запилен

Artur
24.10.2018
09:47:03
кликни по этим цифрам что увидешь

Mikhail
24.10.2018
09:47:30

Anton
24.10.2018
09:47:42

Artur
24.10.2018
09:48:06

Anton
24.10.2018
09:48:26
а это на винде или на линуксе?
на линуксе, какбэ, нет команды tracert

Artur
24.10.2018
09:48:56
ху кэарс

Ruslan
24.10.2018
09:48:59

Artur
24.10.2018
09:49:11
https://habr.com/post/281272/

Ruslan
24.10.2018
09:49:28
перезагрузил комп, заработало и по домену

Artur
24.10.2018
09:49:46
лоль

Google

Ruslan
24.10.2018
09:49:53
первый раз такое :)

Денис
24.10.2018
09:51:14
фрибсд чтоли

Ruslan
24.10.2018
09:55:38
линух минт

Артур Евгеньевич
24.10.2018
09:55:41

Anonymous*
24.10.2018
09:57:34
и 90% в админстве

ExPandable
24.10.2018
10:01:00
и 100% в реальной жизни

Online
24.10.2018
10:03:02
php как если пользователь через Get поменял ЗАПРОС id - если этот id в базе нет ? Как запретить

Katulos
24.10.2018
10:03:30
...
if (!isset((int)$id)) {echo 'gtfo';}

Артур Евгеньевич
24.10.2018
10:04:29

Сергей
24.10.2018
10:04:58

Katulos
24.10.2018
10:05:15
У человека русский не родной, а вы стебетесь
Это низко

Денис
24.10.2018
10:05:30

ExPandable
24.10.2018
10:05:37
узбек же
не сложно было догадаться по никнейму...

Dmitriy
24.10.2018
10:05:58

Anonymous*
24.10.2018
10:06:54