@phpclubru

Страница 730 из 956
Andrey
23.12.2018
20:53:44
https://github.com/maennchen/ZipStream-PHP/wiki/Available-options
да, эта страница поселилась у меня в браузере уже как пару дней

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
а это ставил типа не знаю, 5мб
не, но щас попробую, хотя как я понял это для других целей опция

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

Andrey
23.12.2018
20:59:07
долго ждать или долго архив грузит?
ждать долго, пока сгенерирует его

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

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

Andrey
23.12.2018
21:00:08
ясно. А другие библиотеки не пробывал?
пробовал, они вообще не заводятся (не работает readFromStream из облака)

мне кажется я все на пакаджисте и гитхабе попробовал у которых в названии 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 %(

https://github.com/ArturGrigio/php-Zip-Download-of-Large-Files-using-Buffer/blob/master/index.php
$totalSize += 300; //I don't understand why, but the totalSize is always 300kb short of the correct size комменты бомба))

Google
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
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
Копипастой с других проектов, с правкой нужных деталей

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
Первый веселее, второй лучше

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
третий пункт намекает, что такой подход устарел https://ebanoe.it/2018/12/21/speeding-up-the-galley/
я же не против, просто мне иногда жаль очередного айтишника поверившего в свою крутость и интелектуальное превосходство над жалкими манагерами и прочим планктоном.

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
мне всегда больше жаль менеджера, который поверил. ну ничего не поделаешь, к убогим приходится относиться толлерантно.
только менеджеру обычно хватает ума потешить чсв айтишника и спокойно на очередных переговорах поставить его раком и посадить на цепь очередной галеры грести за еду. Боюсь ты просто еще не встречал настоящих менеджеров, а не тех девочек и мальчиков, которых за ту же еду понабирали по объявлению или вырастили из фулстеков)))

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 с необоходимым набором полей(то есть отдельный набор сущностей для ответа сервера). Может кто уже сталкивался с таким, или знает готовые модули, хочется сделать красиво это все??))

Google
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
хз но идти контекст искать уже лень, итак много буквав)

Pavel
24.12.2018
12:53:49
автомобиль был признаком достатка только в ссср
А что такое у погромистов есть в достатке чего нет у других?

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

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

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

Менеджер в 40 лет - уважаемый человек с кучей связей и активов. Айтишник в 40 лет - все тот же джун во вчера появившейся модной технологоии, все заново надо изучать.

Денис
24.12.2018
12:56:43
Тут надо идти от вопроса о том, откуда данные изначально берутся. Если из базы - то надо использовать ORM и извлекать данные сразу в сущности, а потом для отдачи их сериализовать, например см. jms serializer
Да, из базы, но в дальнейшем мы можем обращаться еще к 10 сервисам, тянуть данные или что то высчитывать, получать новые данные и давать ответ, это все понятно ) но нужно сделать новый слой

Pavel
24.12.2018
12:58:50
Да, из базы, но в дальнейшем мы можем обращаться еще к 10 сервисам, тянуть данные или что то высчитывать, получать новые данные и давать ответ, это все понятно ) но нужно сделать новый слой
Ну короче, когда данные попали в ваши объекты - используйте jms serializer (или дрйгоу модный serializer) чтобы превратить объекты в json. А данные раскладывать по объектам придется вручную, в этом и есть смысл типизации.

Страница 730 из 956