Aisamiery

Aisamiery
Рейтинг
324
Регистрация
12.04.2015
silicoid:
Aisamiery, TF-Studio, Так это понятно, что идеальный вариант - хранение результатов в БД, но на безрыбье и ведро подстаканник... бо в задаче нигде не указано, что есть база. Вот такой экспресс вариант базы и придумывается. При наличии нормальной бд, необходимость подобных изподпреподвыподвертов отваливается автоматом.

А ТС не говорил что нет БД, ТС хочет просто заливать через FTP, для него это более удобное UI чем админка в данной ситуации, потому что видимо картинок огромное количество. По этому я и предложил найти максимально подходящий модуль для CMS на которой сделан сайт и написать скрипт, который будет индексировать какую то директорию, в которую заливаются файлы через фтп и создавать нужные сущности в БД для работы вышеуказанного модуля. Другого вменяемго способа решения данной поставленной задачи, лично я с ходу придумать не могу. А все предложения по работе с ФС просто считаю маразмом каким то в данной конкретной задаче, потому что написать кода придется не меньше, а толку будет по минимуму.

silicoid:
Кто сказал, что про кэширование запросов к файловой системе?

Вы и сказали про "придется пошаманить с кэшированиями". Мне вот и интересно стало. Пока я знаю только один довольно простой способ работы с ФС, особенно на большом количестве файлов - это B-дерево (ну или что то близкое к нему, как обычно строят файловый кэш, так как именно там и бывает миллионы файлов).

silicoid:
если у вас 10 файлов, то там пофих. Если 10000, то уже можно все собрать в массив вида [имя][дата изменения, тип] и скинуть на диск.
после чего проверка уже не нужна, т.к. при изменении даты (то-есть перезаливки) сразу всё всплывёт

Да только вы уверены что потом с ростом файлов это массив не упрется в лимиты? Почему вы считаете что с массивом работать проще чем с файлом директории? Читать такой файл с массивом будет тоже дорогостоящей операцией. Для сохранения и чтения массива вам понадобится его либо сериализовать/десерилизовать, либо пересобирать в JSON и обратно, что тоже не является дешевой операцией. Ваш так называемый кэш уже бутылочное горлышко в приложении еще на этапе проектирования. Ну а если там будет 10 файлов то их можно и руками на страницу прописать

Loki_Dex:

Если серьезно.
+ статики - быстрее работает, нет лишних скриптов, запросов к базе и т.д.

Откуда вы (люди) выкапываете этот аргумент все время, любую динамику можно превратить в статику (автоматически) которая будет работать по скорости ровно так же, за то обратное сделать проблематично.

И если серьезно, нет у статики никаких плюсов на 2017 год. Сервера стоят по 15 евро в месяц в 8 Гб оперативки, то есть 1 час работы программиста, вопрос, что дешевле сервер взять для цмс и посадить секретаря менять/добавлять/редактировать или программиста за 10-15$ в час?

---------- Добавлено 19.01.2017 в 12:11 ----------

SeVlad:
Я не сильно тебя расстрою, если открою "секрет" - БД как раз и были придуманы для того, чтобы снизить время получения данных (чит: ускорить сайт)? Ибо обращение к HDD (+др работа с файлами) - это самое медленное во всей системе на физ. уровне.

Я тоже тебе открою секрет, база данных тоже хранит информацию на HDD и тоже от туда её читает. Изначально БД делались не для "ускорить сайт", а для удобной, каталогизированной работы с однородной информацией (читай таблицами). Это становится действительно быстро когда дело касается по работе с информацией ( выборки, сортировки и так далее), но если исходить из вопроса прочитал с файла - показал, БД как бы ничем не быстрее. Это я говорю про реляционные БД конечно, те что висят в оперативки они читают (если работают конечно с ФС) с HDD только на старте, ну и периодами сбрасывают на диск.

Sitealert:
Для тех, кто не умеет работать с ФС 😂

Так вы сразу с примерами на выборке 5 000 - 10 000 файлов хотя бы, вы же умеете судя по всему. Желательно построить пагинацию от более новых к более старым по 50 на странице и альтами подписать картинки. ТС как раз и нужны примеры.

silicoid:
Если картинок дофига, то придется пошаманить с кэшированиями, так как обход будет весьма ресурсоемким

Какую только дурость не встретишь на этом форуме. Учите мат часть, программисты фиговы 😂 Расскажите подробнее про кеширование запросов к файловой системе?😂

ТС, тебе все равно понадобится работа с БД, все таки название файлов и всю метаинформацию лучше сложить в БД, так например ты сможешь сортировать файлы, строить нормальную пагинацию, показывать нужное кол-во картинок за определенный промежуток времени ну и так далее, с ФС все это будет проблематично. По этому тебе лучше найти плагин галереи для джумлы (сайт ведь на ней) и заказать скриптик на фрилансе, который будет индексировать нужные тебе директории и заносить информацию в этот модуль джумлы.

18_01:
И чего дальше то с этим делать? 😕 И желательно не через php, а через javascript.

Вы не знаете как работать с JavaScript форматом на JavaScript?

Берем jQuery и вперед:


(function() {
var url = 'http://api.travelpayouts.com/v2/prices/lat.....';
jQuery.getJSON(url, function(response) {
console.log(response);
});
})();

Смотрим в консоль и понимаем как все просто.

Можно доку глянуть например. А дальше берем Angular\Backbone\etc и пишем нормальное приложение по работе с бэкендом (API) с контроллерами, моделями, шаблонами, роутами, историей, localStorage, кешем и прочими прелестями современной разработки

Margo239:

1. Если снипет, формирующий динамическую xml-карту берет эту переменную с https - может, мне попытаться найти специалиста, который сможет переделать сам сниппет? В случае с MODX, это же бесплатный движок, снипеты пишуться, как я понимаю, на добровольных началах, жаловаться не кому :)

Действительно, что то я не подумал. Помните строчку что я давал? Замети её на:

$url = 'https://domainname.ru' . '[~'.$doc['id'].'~]';

Посмотрите карту сайта, возможно после .ru понадобится поставить слеш.

---------- Добавлено 18.01.2017 в 15:59 ----------

Так же можно заменить

Margo239:

// assign site_url
$site_url= ((isset ($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on') || $_SERVER['SERVER_PORT'] == $https_port) ? 'https://' : 'http://';

просто на


$site_url = 'https://';
Stek:

Я не говорю, что докер плохо или хорошо. Просто пытаясь начать его использовать, складывается ощущение, что он на себя потребует отдельных временных затрат, при чем не малых.

Тут надо просто попробовать, если честно. Я себе первый раз окружение собрал за вечер не зная докера, но конечно же с готовыми докер файлами, помощью команды и какой то там матери, в итоге как оказалось выглядит это все просто и понятно.

Stek:
Т.е. на одном сервере будет 2 гига оперативки, на другом 32 - конфиги им приплывут одинаковые ?

Зачем вам на разных серверах одинаковые окружения? При распределении нагрузки тем же роундробин между серверами вы будете ждать когда ляжет тот что с 2гигами?

Stek:
Ну и старый вопрос, мне надо 3 проекта запустить, мне докер туда 3 нджинса и 3 базы залепит ? А 80 порт они как поделят ?

Залепит ровно то, что вы сами посчитаете нужным. Можете на ноде 1 контейнер с нжинх и 3 контейнера с php-fpm развернуть на разных портах, либо 3 контейнера nginx на разных ip, суть то виртуализации от докера не поменялась, при том php будут полностью изолированы на уровне контейнера между собой. Мне кажется на сервере который порезан на виртуалки тоже у каждого своя БД, нжинх и php не так ли? Тем более реплицировать базу на 3 проекта, либо реплицировать базу одного контейнера/проекта мне кажется немного проще, не так ли? Добавив пару строк в конфиг вы сможете тут же поднять редис, сфинкс и еще кучку разных контейнеров которые будут видеть ровно то что им нужно и не более, работать в изолированном для себя окружении настроенным именно под них. Я лично в докере вижу много плюсов, но и не говорю что там нет минусов.

globalmoney, Так то это был сарказм, и я никакого отношения к ТС не имею.

globalmoney:
А что входит в этот 0?

Там на скрине у takewyn заскринено 😂

globalmoney:
Вроде живём уже в 2017 году, где сайты браузеры без SSL уже определяют как не безопасные, а Вы предлагаете услуги за которые необходимо платить, до сих пор по http протоколу. Поставьте себе хотя бы бесплатный Let's Encrypt, если на платный 4 бакса в год не хватает!

Ну а если по существу, сайты как не безопасные определяются работая по 443 порту, но без сертификата, по 80 все норм, серч вон не пишет ничего. Так то SSL нужен там, где нужно именно платить (вводить данные карты, логины/пароли) и любые данные передаваемые по сети. Шифровать запросы GET особого смысла нет вплане безопасности. PS. серч вон не на https, а деньги за услуги берет, наверное у них нет 4 баксов😂 Я так думаю хотелось понтануться в чужой теме?🍿

Всего: 4113