
Andrey
23.12.2018
20:53:44

sergey
23.12.2018
20:53:45
может это

Andrey
23.12.2018
20:54:00
да, это использую, пробовал и так и так

sergey
23.12.2018
20:54:25
$opt->setLargeFileSize(30000000);

Google

sergey
23.12.2018
20:54:36
а это ставил типа не знаю, 5мб

Andrey
23.12.2018
20:55:02
они там все время хотят установить
// Define output stream (argument is of type resource)
$opt->setOutputStream($fd);
если туда вставить fopen файла - работа идет через жесткий диск - работает норм, но долго.
если что-то типа php://output - сжирает память

sergey
23.12.2018
20:56:27
ну смущает что очень похожи названия

Andrey
23.12.2018
20:59:07
белый экран, крутится спиннер загрузки, юзер думает что все зависло

sergey
23.12.2018
20:59:31
ясно. А другие библиотеки не пробывал?

Andrey
23.12.2018
21:00:08
мне кажется я все на пакаджисте и гитхабе попробовал у которых в названии stream / zip / arichve ?

sergey
23.12.2018
21:02:11
https://github.com/ArturGrigio/php-Zip-Download-of-Large-Files-using-Buffer/blob/master/index.php

Andrey
23.12.2018
21:04:29
при записи файлов из стрима (в моем случае из облака) делается хитрая фигня: в итоговом архиве crc записывается не в начале, а в конце файла, поскольку заранее ее рассчитать нельзя). так умеет только zip-stream-php %(

Google

Скайнет
23.12.2018
21:35:53

Pavel
23.12.2018
21:36:17
Нет, см. суть проблемы

Скайнет
23.12.2018
21:38:33

Pavel
23.12.2018
21:39:04
Ну вообще, она существует
Чем меньше информации раскрывать вовне тем лучше, конкуренты тоже шпионят

Скайнет
23.12.2018
21:40:14
Я часто делаю заказы но не выкупаю их
Втомже ситилинке

Pavel
23.12.2018
21:41:26
Этот аргумент ничего не доказывает :)
Статистически есть сильные законы, которые столько всего позволяют намайнить по косвенным признакам что ппц

Andrey
23.12.2018
23:07:05
Парни по архивации - с утечкой памяти справился, если интересно, утром напишу..
Теперьь архивирую гигабайты на лету с затратами всего 10мб памяти ?
Это стоило 2х бессоных выходных ?

sergey
23.12.2018
23:15:40
ну и чего было

Andrey
23.12.2018
23:23:54
ну и чего было
Изначально делал так:
из OpenStack облака брал ресурс файла (readStream), потом этот ресурс передавал $ZipStream-у (addFileFromStream).
Стал копаться, смотреть куда уходит память,
и как выяснилось это крайне прожорливый способ.
Стал делать так:
в цикле самостоятельно читаю файл из OpenStack облака (тупо все содержимое в переменную с помощью read()) и $ZipStream-у отдавать эту же переменную с raw данными файла через $ZipStream->addFile().
Добавил unset этой переменной (не знаю зачем, на всякий случай) в конце цикла.
Перед циклом: ob_start();
Перед концом итерации цикла: ob_flush(); flush(); ob_clean();
И все понеслось, расход 10-12 мб за все вермя выполнения, качать начинает сразу. Скорость конечно не супер (OpenStack не быстрый), но вариант - боевой


sergey
23.12.2018
23:27:18
ну да, так и должно быть както
я подумал что можно ещё всех обмануть, сделать чтобы эта штука писала в файл, а пока она его пишет, по мере его записи читать fread и пушить клиенту\

Andrey
23.12.2018
23:28:04
но вот не знаю что было бы, если бы пользователь докачал до конца файла, раньше чем файл запишется
а так, я чето повернулся на этих ресурсах изначально, было ощущение, что это мега-круто – не заниматься самому чтением файлов, а тупо между библиотечками указателями ресурсов обмениваться
Всем спасибо за ссылки и наводки, косвенно они привели меня к решению!

Google

sergey
23.12.2018
23:29:57

Andrey
23.12.2018
23:30:06
а сейчас я могу красивую html страничку cделать и показывать сколько файлов уже положено в архив
@betamka а ты не знаешь, как-то можно рассчитать примерно, сколько архив будет размером, зная размер файлов?

sergey
23.12.2018
23:35:24
нет, я думаю это нереально. Винрар пыжится чтото предсказать, но промахивается. Все же от типа файла зависит
если там текст то сжатие 90%, а если там другой зип архив , то сжатие отрицательное по факту

Andrey
23.12.2018
23:36:10
понял, ладно, ну буду уже в эти дебри лезть
в общем, всем спасибо, доброй ночи
чем смогу помогу, если буду нужен

Michael
24.12.2018
09:57:53
Писал кто-нибудь когда-нибудь условия использования, публичную оферту и/или политику конфиденциальности? Если да - каким образом?

Сасный
24.12.2018
10:01:16
Копипастой с других проектов, с правкой нужных деталей

Artem
24.12.2018
10:02:26

Michael
24.12.2018
10:06:26
Без обид, первый вариант веселее)))

Adel
24.12.2018
10:07:04
Ну прям как у тебя в нике с флагами

Сасный
24.12.2018
10:07:13

Adel
24.12.2018
10:07:21
Первый веселее, второй лучше

Сасный
24.12.2018
10:07:34

Artem
24.12.2018
10:15:59

Google

dypa
24.12.2018
11:55:53
писать это должен юрист.
третий пункт намекает, что такой подход устарел https://ebanoe.it/2018/12/21/speeding-up-the-galley/

Artem
24.12.2018
12:05:10

sergey
24.12.2018
12:05:59
Жалко глупеньких

Pavel
24.12.2018
12:07:15
С таким то выращенным чсв

dypa
24.12.2018
12:09:46

Pavel
24.12.2018
12:11:50
поверил в силу фуллстака?

Artem
24.12.2018
12:13:14

dypa
24.12.2018
12:19:53

Pavel
24.12.2018
12:32:17
Ну впринципе уже тот факт что айтишники не ездят на премиальных тачках, не покупают квартир бизнес класса, уже свидетельствует о том что их поставили раком глобально :)
(в отличие от эффективных менеджеров)

Andrey
24.12.2018
12:41:46
Думаю что крутые тачки и квартиры - результат менталитета и запросов человека. Ровно как и профессия - косвенный результат того же.
Так что не путаем причины со следствиями

Pavel
24.12.2018
12:43:01
Да запросы одни и те же у всех :)

Andrey
24.12.2018
12:43:21

Pavel
24.12.2018
12:43:28
А мы и не путаем
Все четко
Есть деньги - есть тачки. Нет денег - нет тачек.

Artem
24.12.2018
12:44:19

Денис
24.12.2018
12:44:29
Привет всем, в общем проблема такая, проект большой, на чистом php, используется как апиха, данные возращаются либо как массив либо как stdClass. Методов таких около 100. Решили возращаться четкие entity, вместо массивов, т.е. Animal, Car с необоходимым набором полей(то есть отдельный набор сущностей для ответа сервера).
Может кто уже сталкивался с таким, или знает готовые модули, хочется сделать красиво это все??))


Pavel
24.12.2018
12:47:06
Привет всем, в общем проблема такая, проект большой, на чистом php, используется как апиха, данные возращаются либо как массив либо как stdClass. Методов таких около 100. Решили возращаться четкие entity, вместо массивов, т.е. Animal, Car с необоходимым набором полей(то есть отдельный набор сущностей для ответа сервера).
Может кто уже сталкивался с таким, или знает готовые модули, хочется сделать красиво это все??))
Откуда куда данные возвращаются? Используется как апиха - это значит что к проекту кто-то обращается за данными, а в ответ получает json ?

Google

Денис
24.12.2018
12:47:39

Andrey
24.12.2018
12:49:58
Привет всем, в общем проблема такая, проект большой, на чистом php, используется как апиха, данные возращаются либо как массив либо как stdClass. Методов таких около 100. Решили возращаться четкие entity, вместо массивов, т.е. Animal, Car с необоходимым набором полей(то есть отдельный набор сущностей для ответа сервера).
Может кто уже сталкивался с таким, или знает готовые модули, хочется сделать красиво это все??))
Ничего не понятно из твоего запроса. Посмотри Eloquent


Artem
24.12.2018
12:50:55
Думаю что крутые тачки и квартиры - результат менталитета и запросов человека. Ровно как и профессия - косвенный результат того же.
Так что не путаем причины со следствиями
изначально управление -это не только искусство, но и точная наука. "хорошего" менеджера учат > 6 лет и этот процесс не прекращается никогда и подразумевается не только софт скилы, но и конкретную экспертизу в нескольких направлениях. Если речь о зп, то у менеджера она всегда больше. Если речь о ответственности -то она больше в разы. Поскольку до того, как программист начал писать код, кто -то изучил рынок, арендовал помещение, организовал поставку печенек и продал его работу. Не нужно путать уровни компетенции, поскольку официант -это тоже менеджер, но профессиональный управленец -это тот самый человек, благодаря которому абсолютно все айтишники получают зарплату. Поскольку в первую очередь нужно организовать процесс взаимодействия не только с заказчиком, но и в команде, чтобы из очередной поделки сделать продукт, за который платят миллионы.


Pavel
24.12.2018
12:51:46
верно
А какая разница как возвращаются данные если в json все равно нет ни классов ни сущностей, один только словари да массивы?


Andrey
24.12.2018
12:51:52
изначально управление -это не только искусство, но и точная наука. "хорошего" менеджера учат > 6 лет и этот процесс не прекращается никогда и подразумевается не только софт скилы, но и конкретную экспертизу в нескольких направлениях. Если речь о зп, то у менеджера она всегда больше. Если речь о ответственности -то она больше в разы. Поскольку до того, как программист начал писать код, кто -то изучил рынок, арендовал помещение, организовал поставку печенек и продал его работу. Не нужно путать уровни компетенции, поскольку официант -это тоже менеджер, но профессиональный управленец -это тот самый человек, благодаря которому абсолютно все айтишники получают зарплату. Поскольку в первую очередь нужно организовать процесс взаимодействия не только с заказчиком, но и в команде, чтобы из очередной поделки сделать продукт, за который платят миллионы.
Это точно мне ответ?

Artem
24.12.2018
12:52:20
хз но идти контекст искать уже лень, итак много буквав)

dypa
24.12.2018
12:52:54

Pavel
24.12.2018
12:53:49

Денис
24.12.2018
12:53:57
в общем, нужно решить проблему, отбросить левые данные которые мы случайно можем отправить, начал делать через обычную фильтрацию. но по сути получается, то хочется сделать все более удобнее и красивее. скорее всего на клиенте (тот кто обращается к апихе и клиент наш, будут в будущем сделанны такие сущности )

dypa
24.12.2018
12:54:17

Artem
24.12.2018
12:55:03
автомобиль был признаком достатка только в ссср
угу жигули... сейчас ничего не изменилось, просто это стало уровнем лисапеда, а хвастаются пацаны владением например Bugatti Veyron
и да в той самой гейропе или штатах -поверь, позеров куда больше ))

Pavel
24.12.2018
12:55:06
время )
Не совсем согласен, совсем прям не согласен. Хорошие айтишники тратят дофига времени на работу и на поддержание своей актуальности, более того с ростом карьеры их репутация не работает на них.
Менеджер в 40 лет - уважаемый человек с кучей связей и активов. Айтишник в 40 лет - все тот же джун во вчера появившейся модной технологоии, все заново надо изучать.

Денис
24.12.2018
12:56:43

sergey
24.12.2018
12:57:43

Pavel
24.12.2018
12:58:50