Aleksandr
по крайней мере слово смещение прозвучало
Antony
Lamp/lemp я могу настроить без проблем. Смещение и длина чтобы знать откуда читать из хранилища. Клиенту отдавать пофайлово.
👀
пофайлово - то есть, резать на сервере?
Antony
Да
Aleksandr
ну это же тяжело)
Aleksandr
для сервера
👀
разве что вы их по 5-10 штук в одно будете склеивать, не больше иначе - упрётесь в ограничение время работы процессора также (я пропустил?) вы не сказали будут-ли изображения одинакового размера (хотя-бы по одной стороне), ибо это ооочень будет влиять на конечный результат по времени разве что, как решение, сделать cloudflare как кэширующий cdn, и кэшировать все изображения, чтобы ваш сервер не так нагружался (но по первым порам CPU будет 100%, или даже 150%)
Aleksandr
в общем я этот фарс не продолжаю, но пользуясь случаем, советую всем юзать вот такую штуку - https://www.minio.io/ классно абстрагирует приложение от хранилища, имеет s3-совместимый апи и клиенты под все языки и платформы.
Андрей
Не... не спрайты, он хочет с файлом работать напрямую. Читать побайтово со смещением. И все соотвествия смещения хранить в бд, или еще где. Это надо суметь вообще такое придумать. )) Для сервера это не очень напряжно, но цель не оправдывает средства. Бред.
Aleksandr
А можно в нём хранить отрендеренные тайлы mapnik'a ?
вы заливаете туда файл, у вас есть урл по которому этот файл доступен. можно?
Aleksandr
поддерживает бакеты, публичные ссылки, приватные ссылки на заданное время, временные урлы для заливки с клиента, заливку файлов програмно через апи
Aleksandr
ведро в переводе). ну категория файлов. то есть не все в одно место складываается, а можно разделять.
Toly
в общем я этот фарс не продолжаю, но пользуясь случаем, советую всем юзать вот такую штуку - https://www.minio.io/ классно абстрагирует приложение от хранилища, имеет s3-совместимый апи и клиенты под все языки и платформы.
+1 Но вот проблему с ограничением на количество inodes это не решит. Зато даст очевидное приемущество в виде простой последующей миграции на другое S3 совместимое хранилище
Toly
Я с этим согласен, разъяснил для ТС
Artur‌‌‌
Кто нибудь реализовывал такое приложение, как ТС из этого топика http://www.yiiframework.ru/forum/viewtopic.php?f=19&t=22322 ?
Artur‌‌‌
сейчас нужно так же сделать, пока не понимаю с какой стороны подойти
👀
я точно не скажу, но мне кажется, что так сейчас работают все популярные js framework'и
👀
берут json данные с сервера, и на клиенте строят виды
Aleksandr
делаешь апи, делаешь js-клиент. подойди с любой стороны)
👀
можешь взять готовенький rest от yii, там уже 90% backend'а сделано за тебя
Андрей
Проблема не в том чтобы на сервере отдавать. Проблема сделать front на современном js-фреймворке ) Технологий много. А на сервере, хоть json, хоть полноценный REST, хоть graphql
Андрей
но судя по вопросу, с js-фреймворками ты совершенно не знаком. Удачного секса )
👀
Artur, бери Angular2, по нему много в интернете гайдов и доков. Если руки прямые, то никаких проблем с освоением не должно быть
Aleksandr
заодно ts подучишь)
Artur‌‌‌
это понял, хочу сделать максимально расширяемый продукт. сейчас проект работает на yii2 basic. Проект, 1ый год, переходил из рук в руки. Вся логика в моделях, что не хорошо. и сейчас с этим много проблем. как и куда можно вынести логику именно в backend приложении? Те же связи, транзакции?
Artur‌‌‌
я ебусь только с бэкендом )
Artur‌‌‌
с js ебется другой )
Aleksandr
так что тогда из той темы заинтересовало?
Андрей
На клиенте все как было так и будет. Только данные отдаются не в готовом html, а в виде json данных. А на клиенте по этим данным рисуется весь html
Aleksandr
не, давай конкретнее
Aleksandr
что хочешь?
Artur‌‌‌
с клиентом понятно. тут вопрос архитектуры бекенда
Artur‌‌‌
как было мне не надо ) слишком толстые модели
Андрей
почитай про graphql
Aleksandr
да не надо ему вообще это.
Aleksandr
а что надо не понятно
Artur‌‌‌
(
Toly
На клиенте все как было так и будет. Только данные отдаются не в готовом html, а в виде json данных. А на клиенте по этим данным рисуется весь html
Это зовётся SPA. Мы в компании перешли на этот подход. Очень удобно делить деятельность frontend и backend разработчиков. Yii рендеринг используем только в админке, а директорию frontend в advanced template переименовали в rest, там чисто REST интерфейсы
Artur‌‌‌
короче, надо сделать сервак чисто для АПИ. будут модели для таблиц из базы, будут active контроллеры (рест апи). куда и как можно вынести бизнес логику приложения?
Aleksandr
где хранить бизнес логику? в сервисах
Aleksandr
что в обычном приложении, что в рест
Artur‌‌‌
Как организовать эти сервисы? просто класс, в которых находится вся логика? или что? может есть примеры реализаций сервисов?
Aleksandr
условно говоря да. бизнес логику, которая завязана на состоянии одной модели, оставляем в модели (типа changeStatus, addOrderItem). Бизнес-логику касающуюся нескольких моделей и инфраструктурных вещей (типа отправить письма, уведомления, итд) - в сервисы
Albert
мы храним так же в моделях, просто на одну сущность, например пользователь, у нас несколько моделей
Albert
одна модель отвечает за работу с БД, другая за изменения аватара, принимает на вход модель для работы с бд и объект для работы с хранилищем
Aleksandr
модель должна хранить свое состояние и иметь возможность изменять себя. вся остальная бизнес-логика - в сервисы
Albert
Это из симфони пришло) Ну тут игра терминами идет
Albert
Я наверно то же самое имею ввиду
Aleksandr
в симфони тоже такого нет. есть модели, есть сервисы
Albert
хм, могу ошибаться, но похожие слова я слышал от гуру(вроде как) в симфони)
Aleksandr
похожие - какие?
Aleksandr
в симфони вообще модели нет
Albert
модель должна хранить свое состояние и иметь возможность изменять себя. вся остальная бизнес-логика - в сервисы
Aleksandr
в книжках пишут
Nurik
Просто в классы запихать тоже не айс получается. Нужны еще как минимум command bus и еще какое-нибудь подобие service layer из слоистой архитектуры.
Aleksandr
service layer - это не слоистая архитектура. просто слой любой хорошей архитектуры
Aleksandr
слоистая - это более широкая парадигма
Aleksandr
но в целом да, типа того
Aleksandr
ну так даже в обычной yii-лапше есть слои - контроллер, вьюшки, моделе-сервисо-хелперы, они же бд-адаптеры
Nurik
ну так даже в обычной yii-лапше есть слои - контроллер, вьюшки, моделе-сервисо-хелперы, они же бд-адаптеры
Ну да. вообще-то. Я имел ввиду, что все-таки Service layer по хорошему нужно строить. Это ведь не просто будет набор классов, у них должен быть интерфейс определящий взаимодействие. А это уже нужно думать.
Aleksandr
не совсем понял мысль. возможно ты прав, но для меня это набор классов, думал ты над ними или нет)
Igor
здраствуйте
Albert
Ну да. вообще-то. Я имел ввиду, что все-таки Service layer по хорошему нужно строить. Это ведь не просто будет набор классов, у них должен быть интерфейс определящий взаимодействие. А это уже нужно думать.
Заранее все не предугадаешь, я начинаю с малого, создаю объект, который делает что то одно, в конструкторе описываю зависимости(то что данный объект делать не "хочет"), создаю интерфейсы для зависимостей, которым должны соответствовать инкапсулируемые объекты. и вот так от малого к большему шагаю.
Igor
а есть у когото опыт разработки личного кабинета ?
Aleksandr
Igor
http://web.archive.org/web/20081007231834/http://www.yiiframework.com/
Albert
Ого
Albert
Скоро 10 лет будет
Igor
ага