Dmitriy
Чтобы разрабатывать в компонентном подходе.
И без этого шаблона можно разрабатывать компонентно.
Vasily
Можно, но будет грязновато.
Aleksandr
не будет
Aleksandr
advanced - слишком оверхедная попытка разбить приложение на несколько частей. Много лишнего, путающего ньюбайс
Aleksandr
Чтобы разрабатывать в компонентном подходе.
чтобы разрабатывать в компонентном подходе нужно писать независимые модули - для этого advanced не нужен
Vasily
чтобы разрабатывать в компонентном подходе нужно писать независимые модули - для этого advanced не нужен
backend/frontend/common и есть модуль. backend не знает о frontend, а frontend о backend. А common о frontend и backend. Все хорошо разделено. Не нужно создавать кучу модулей по ответственности, когда это не нужно.
Sergey
привет, как в yii1 ускорить createUrl?
Sergey
у меня 200 роутов, вызываю createUrl в цикле, в итоге страница больше секунды генерируется
Vasily
Закешить?
Vasily
Вроде, есть такая возможность из коробки.
Sergey
страницу?
Vasily
Что "страницу"?
Sergey
страницу закешировать?
Vasily
Роуты
Sergey
так они и так закешированы
Vasily
Ну, значит еще кешим, что по выше.
Vasily
И т.д. пока не будет результата.
Sergey
что за костыли
Vasily
Кеширование - костыль?
Sergey
конечно, оно поможет только для второго захода
Vasily
Роуты меняются?
Sergey
роуты нет, параметры - да
Vasily
И как параметры изменяются?
Vasily
Откуда они берутся?
Sergey
из БД, у каждого пользователя свои
Vasily
Ну, я пока не понимаю до конца, но как вариант: вызвать один раз createUrl() а позже заменить параметры без постоянного вызова не пойдет?
Sergey
как определить что в строке было параметрами, а что роутом?
Vasily
Вообще, странно. createUrl() не такая и требовательная.
Vasily
Я не знаю. Я не вижу шаблона и я не Ванга.
Sergey
когда в цикле на 100 элементов вызывается createUrl на 200 роутов, то получается долго
Vasily
Покадите timeline лучше.
Vasily
Посмотрим, что тормозит.
Aleksandr
у меня 200 роутов, вызываю createUrl в цикле, в итоге страница больше секунды генерируется
вместо отдельных роутов создавать более общие классы, обслуживающие логически общие урлы
Aleksandr
Вообще, странно. createUrl() не такая и требовательная.
двести роутов - это двести лейзи объектов. для createUrl, создающего ссылку по последнему, 200-му роуту, нужно создать 200 объектов и все их обойти, пока не найдет свой роут. в цикле это будет 200 * i раз. бешеный оверехед
Aleksandr
вроде точно написал что 200 роутов
у меня роутов было 110) так что я знаю о чем говорю) выделяй группы роутов в общие правила типа PostUrlRule, GoodsUrlRule итд
Sergey
у меня роутов было 110) так что я знаю о чем говорю) выделяй группы роутов в общие правила типа PostUrlRule, GoodsUrlRule итд
думал есть легкий способ получить от yii CUrlRule с моим роутом, и у него вызывать createUrl
Aleksandr
а у тебя yii2 или 1?
Aleksandr
в yii2 там что-то улучшили уже. можно группировать из коробки вроде
Sergey
yii1
Aleksandr
тогда нет)
Sergey
но можно было бы этот перебор делать только для первого вызова Yii::app()->createUrl
Aleksandr
но можно было бы этот перебор делать только для первого вызова Yii::app()->createUrl
наверное. можешь допилить урл менедежр, чтобы кэшировал результаты
Antony
Кто-нибудь делал хранилища под изображения с объединением в один файл? Нужно на лету создать подобное для каждого пользователя. Может подскажете решения?
Aleksandr
конкретизируй
Antony
Ну есть куча картинок. В итоге упираюсь в лимит по количеству файлов в ФС. Нужно складировать картинки в один файл (как делает фб, ВК итд) и доставать оттуда уже нужную картинку по смещению. Но таких хранилищ должно быть несколько (на пользователя) с возможностью быстро создать его и складировать туда изображения. Насколько я знаю есть решения от Яндекса подобное, но там вроде как используется одно хранилище, да и нужен вариант чуть проще. Создали хранилище, загрузили изображения, обработали, удалили.
Aleksandr
что за картинки? пользовательские? что за лимит по кол-ву? в первый раз слышу ФБ, ВК так для пользовтаельских не делают. Вкратце - дичь какая-то
Antony
Картинки пользовательские. Есть лимиты ext3 на количество inodes (файлов на диск) В кратце ожидаю ответ по существу.
Aleksandr
используйте вложенность для уменьшения кол-ва файлов в одной дире. ну не склеивать же их.
Antony
Вложенность используется и так. Нужна именно склейка чтобы не упираться в лимиты по inodes (количество файлов на диске), что я собственно написал.
Aleksandr
да прекращайте уже. вы видимо не с той ноги встали, что такой вариант всерьез рассматриваете.
Aleksandr
если вы в какой-то лимит уперлись, то явно в дире даже не десятки тысяч файлов. как вы вообще будете клеить эти файлы и выгружать их на клиента? фарс
👀
мне кажется, вместо того, чтобы этой порнографией (склейкой) заниматься, лучше обойти ограничение на колличество inodes (кстати, тоже впервые слышу о таком, но, коллеги, такое существует) на stackoverflow рекомендуют такое решение http://superuser.com/questions/585641/changing-max-inode-count-number-in-ext3-filesystem-in-cent-os
Antony
Shared-хостинг. Ограничение по inodes 50к. Я бы не рассматривал склейку если бы можно было решить другим способом.
👀
простите, я не так хорошо разбираюсь в linux, но inodes - это ограничение на количество файлов на директорию, или на весь путь?
Antony
Вы что коллажи создаёте чтоли ? Или спрайты для CSS ?
Много фоток от пользователей (исходные могут быть около 10-20Мб, генерируются пара уменьшенный копий для работы в браузере, дальше обрабатываем исходные файлы).
Aleksandr
Shared-хостинг. Ограничение по inodes 50к. Я бы не рассматривал склейку если бы можно было решить другим способом.
вы точно уверены что нужно решать проблемы шареда, а не купить что-нибудь для файлового хостинга? за 15 баксов например можно на DO файловый хостинг сделать на 100 гб - s3-совместимый
👀
возможно ограничение связано с shared-хостингом? что-то мне слабо верится, что с таким ограничением на диск можно хоть что-то записать (помимо стандартных файлов linux) я последних три года пользуюсь либо vds, либо dedicated серверами, и колличество файлов что там что там обычно превышало даже 100к на одну директорию (интернет-магазин, 30к товаров, и к каждому есть минимум 2 фото, в среднем - 3-4 фото на товар + миниатюры)
Aleksandr
вообще шаред - это дичь в век копеечных дроплетов от DO или vscale
👀
раз shared существует, кому то он полезен просто одним проектам хватает shared, другие требуют более серьёзного железа
👀
мне не везёт, моё на shared не работает (ибо я прошеный, люблю ssh до сервера и базу через миграции делать)
Aleksandr
очевидно он полезен тем, кто хочет из панельки сайт развернуть. но прогер может нджинкс и сам настроить.
Nurik
Шаред это реально дичь.
Nurik
Повис sshd — терпи.
👀
я так прикинул... вы если будете склеивать изображения 100х100 в пачки по 100 штук, а потом их ещё и разбирать, то у вас shared заберут из-за превышения время работы процессора
Aleksandr
на лету разбирать обратно в одну картинку? я думал он хочет эту матрицу 100 на 100 выводить клиенту со смещением как спрайт.