timo-71

Рейтинг
63
Регистрация
19.09.2018
SeVlad:
с ненужной настройкой при бекапировании, нагрузить сервак генерацией графики в реалтайме

Там особых проблем не вижу. Уносите файлы webp из проекта на другой рут, эти файлы не попадают в бекап. При первом обращении скриптом создаете из оригинала и пишете в рут для вебп. Второе обращение - статичный файл.


server_name ~^(.*?)\.?(?<d_name>[^\.]+)\.lcl$;
set $sub_name $1;
root /var/www/$d_name/public;
....
location @nowebp {
include uwsgi_params;
uwsgi_pass unix:///run/uwsgi/semantic.sock;
}
location ~\/(.*)\.webp$ {
root /var/www/webp;
try_files $uri @nowebp;
}

В вышеприведенном питон обработает. У меня Фласк предсказуемо сказал Not Found для этого роута. Но никто не мешает строк несколько дописать и что то сделать, сказав в результате другое и любой контент/контент-тайп отгрузить. А чтобы переконвертить в вебп не так то много строк надо (подставить вместо пхп, то что удобнее).

Потенциальные риски: атака, когда кто то 100500 рандомных вебп попросит. Но, тут тоже варианты есть, их надо предусмотреть.

danforth, это же реализовано?

Я принимал решение по вебп так:

- штук, точно не помню, но 3-значное картинок из загрузок, сгруженного с телефона сжал в одну папку, конвертировал в вебп в другую. Сравнил размеры. Вебп победил. Но, не очень то и существенно.

- попытался открыть (на центосе сижу) , хрен ни один из вьюверов поставленных не справился. Гимп? И тот не але.

Посчитал, что пока рано. Но, это было давно. Может сейчас по другому 🍿

SeVlad:
я говорил вставь как вложение

Для сравнения в зипе webp и сжатый пнг. Принципиальной разницы в размере не видно. В качестве вроде тоже не особо.


~ $ pngquant --strip --nofs --quality=55-85 --ext .min.png --force 256 image.png.2
~ $ ls -l | grep ".png.2"
-rw-rw-r-- 1 webmaster webmaster 178695 фев 26 13:38 image.png.2
-rw-rw-r-- 1 webmaster webmaster 43710 фев 26 17:34 image.png.2.min.png

В плане расширения, не пойму смысл спора. Я так понимаю, такой метод (расширение .пнг, а миме-тип/контент файла в зависимости от акцепт) был выбран только для демонстрации. В реальной жизни будет тегом picture/srcset. А там расширения будут соответствовать типу файла.

zip image.png.2.min.png.zip
SeVlad:
Не будет

--------

Справедливости ради не 30 раз 🍿

SeVlad:
Сам постит, доказательства что это не webp, и тут же доказывает то это он

Там в зависимости от акцепт видимо, если будет примерно так

Accept: image/webp,image/apng,image/*,*/*;q=0.8 

то отдается файл вебп, иначе пнг. Судя по таймингам, ТТФБ более 100мс...

SeVlad:
Не "таким вопросам", а таким ответам.

Так то я пошутил:D

SeVlad:
Они считают, что эти термины - оскорбление, а для решения задачи надо собирать 100500 бизнес-аналитиков, солюшен архитекторов", разворачивать докеры и пр..

А логика треда и вела к этому. ТС, задал вопрос. Может он как раз и есть кто то из

[['100500', 'бизнес'], ['бизнес', 'аналитик'], ['аналитик', 'солюшен'], ['солюшен', 'архитектор']]

и стал получать ответы, характерные для "100500 бизнес аналитик солюшен архитектор" - вот тут исправление недоработок и новый функционал дешевле и др. аргументы, типа:
LazyBadger:
Самая первая и принципиальная ошибка - от чистого SEO до продаж дистанция огромного размера
Aisamiery:
Кстати по поводу сео, забудьте это слово

ТС вроде не спросил, какая дистанция от сео-функционала до продаж🍿

Напомню:

Magwasha:
1) Продажи через SEO
2) Невысокая стоимость
3) Интеграции и автоматизации: доставки (СДЭК, почта РФ, ДПД, ГТД, Деловые и тд), оплата на сайте картами, возможно PayPal, самостоятельная генерация счета покупателем, аналитика Roistat, учёт МойСклад или 1С, пока не решили, СРМ Битрикс24
4) Быстрая возможность реализации первой версии сайта.

Никто не сказал, что кмс22 фуфло, кроме тайтлов и дескипшенов в едином шаблоне ничего не умеет, а чтобы на разные категории, разные шаблоны мета сделать нужно . А кмс222 это умеет и еще 304, грамотно, в зависимости от времени изменения компонент отдаст и все остальное на уровне.

Ну и остальные пункты ТЗ ТС.

----------------------------

балдею от python нормализация слов из строки и получение списка биграмм в 5 строках кода

Sly32:

Отвечать на вопрос должен ни программист, ни маркетолог, точнее правильно отвечать
.....
Бизнес-аналитик
Солюшен архитектор

В этом случае, таким вопросам

Выбор CMS для ИМ на 500-1000 товаров

не место на этом форуме😂

bruder:
И чего ж ты тогда косяки какого-то сферического фронтэнда CMSкам приписываешь?

Я? Вроде тут только спрашивал о статистике стоимости поддержки кмс/самопис на каком то сроке и некоторые соображение по эффективности кмс/самопис с уклоном в защиту 2-го. И не припомню чтобы что то про фронт, кроме того, это сейчас все умеют.

Aisamiery:
у другого блокируемая напрочь SQLite при записи и они доказывают за скорость, самописы и ИМ

Ой ёй. Ну да, SQLite есть. База с 3 таблицами, в которых карта разделов, сквозняки типа кода метрики и статичные меню для вставки в шаблоны. Туда может писать только рут-админ, сами можете прикинуть насколько человеку под силу заблокировать базу. Давным давно (Вал журнала еще не было в той версии), что то скриптом писал, я часто скулайт пользую для всяких экспериментов. Так вот он намертво блокировал, примерно на 6000 тысяче последовательных записей, которые несколько в секунду. Сейчас (wal журнал), эта цифра наверное больше, но все равно скулайт только там где запись в ручном режиме и единственным пользователем сайта.

Aisamiery:
что вам хватает 3х файлов и БД SQLite и вы даже не в курсе что такое очереди, nosql, шардинг, реплики и прочая херн

Я эта.. Трассировку картинкой положил где

End mongoDb request Query zap

Count items (limit:100) by filter: 88
Каждый из которых, после выборки товаров с меткой хит, примерно так:
 

$ooo = Core::dbmo()
-> resultCallback(
function($doc, $filter=null){
........
}
)
-> find('zap',
[ '$text'=>['$search'=>'фтор* перед* коленвал* сальник*']
],
[ 'limit'=>100,
'projection'=>[ 'score' => ['$meta' => 'textScore'],
'naimenovanie'=>1,
'price.cenazaedinicu'=>1,
'kartinka'=>1
],
'sort' => [ 'score' => ['$meta' => 'textScore']
]
]
)->rows();

Результат выборки, привет симпл/морф серч на сайте без эластиков и т.д.

Aisamiery:
А тут про самописы загоняют, чего нет то.

Все началось с того, что как вариант предложили
хватает 3х файлов
, потом все ушло в сфероконическую область
melkozaur:
Я так понимаю, 10 страниц снова спорят про движки, фреймворки и методы. Классика.

bruder:
Извини, но я открою тебе страшную тайну: в нормальных CMS фронтэнд делается каким угодно. В популярных несколькими кликами ставится быстрая тема, одна из бесчисленного множества.

Это вообще 55 вопрос. Все умеют сделать фронт каким угодно. Вменяемые аргументы есть на многослов про?

UUID PK

(а это сильно помогает)

и далее по тексту.

и про

bruder:
популярных несколькими кликами ставится быстрая тема
Это про ту ли популярную CMS много тем об оптимизации🍿

Далее не к вам.

Большинство перечисленного у danforth, поможет сильно

Но, там еще 100500, начиная с того что

while ($row = $res->fetchArray( SQLITE3_ASSOC )) {

if(is_callable($this->selCallBack)){
call_user_func_array($this->selCallBack, [ &$this->res, $row ]);
позволит не перебирать ответ базы данных 2 раза для отрисовки результата.

--------------

Тест на беременность (кто то выше пошутил😂 )

5000 запросов, по возможности 100 за раз ( ab -n 5000 -c 100 )

Профайлер (без нагрузки)

40 категорий, 11620 товаров, доставлено 200 хитов (лимит200), 4 подборки выборок товаров

Aisamiery:
на самописе можете все поля товара запихнуть в одну таблицу - это будет эффективнее, потому что в CMS как правило EAV паттерн, чтоб можно было добавить любое кол-во полей, что по сути не столь эффективно как в одной таблице.

Поначалу так и было, что то типа prmid|itemid|catid|strval|numval, потом своя таблица на категорию (набор параметров, например для самосвала, автобуса и автомобиля с кму сильно разный, как по кол-ву, так и по типам). Ну а потом, монга, которая решила все проблемы со структурой данных.

Aisamiery:
При том сильно непонятно что лучше для конечного клиента, платить символических N денег ежегодно для обновления и получения новых функций или не платить и не получать ничего (так как вы как разработчик уже давно забили на этого клиента со своей CMS из набора готовых модулей/классов/кодовой базе)

Вы транслируете частное ("давно забили"), может быть и массовое по факту, на генеральную совокупность. В моем случае - любые мои косяки устраняются даже через годы. Пару раз за почти 20 лет было такое. Доработки, да бывают, в основном за те же символические деньги. Но, следует признать, нет конвейера и клиентов не так то много, и все сайты по детальному ТЗ сразу включающему все что нужно.

Вероятно, люди работающие примерно так же существуют.

Всего: 541