Можно ли использовать текстовые предложения как идентификатор в базе?Удалять запись/строку/документ не по ID, а по значению одного из полей (Вы же это спрашиваете?) - вполне себе можно и иногда даже нужно. Другой вопрос, что ID - это уникальная запись, однозначно идентифицирующая некоторую строку/запись/документ, как в MongoDB, так и в SQL-базах. Иначе говоря, при удалении по ID Вы однозначно удаляете конкретную запись, в случае же удаления по какому-то иному параметру, данный параметр может совпадать с другой записью/документом, и далеко не факт, что Вы удалите то, что хотели.
В Mongo есть длинные _id из случайных символов с автоматической генерацией, но я не хочу их использовать для этих целейВы главное саму логику генерации и положения ID не трогайте, она ещё не однократно может пригодится в будущем, а удалять записи/документы, при желании, можете по любому из удобных для Вас полей. Можете например, добавлять к документу собственное поле с именем "id", вписывать туда что Вам угодно/удобно, и идентифицировать и удалять документы по этому полю.
Можно ли поверить в заявление, что на на VDS с 4Гб ОЗУ крутится 20 сайтов Bitrix с посещаемостью по 1-2К в сутки каждый?При всей моей не любви к этой системе и любви к VDS (особенно полноценным VDS на KVM или других "полноценных" гипервизорах, особенно к тем что на SSD, а в идеале - с полноценным внешним SSD), и фактической необходимостью сталкиваться в т.ч. и с этой CMS довольно не редко (не по своей воле)...
Предполагается, что на сервере размещены не статические лендинги, а полноценные сайты использующие БДОткровенно говоря, я не помню сайтов на Битриксе, не использующих БД вообще.
интегрированные со сторонними средами типа 1С (обмен номенклатурой, заказами) и т.п.Это не самая ресурсоёмкая часть в общей системе, к тому же, обмен данными обычно происходит "от случая к случаю", а не "постоянно".
При включённом отправляет "on" как изменить этот текст?
<input type="checbox" value="Текст который отправляется на почту" name="checkbox_name" />
При выключеном пустота - как добавить текст?
<input type="hidden" name="checkbox_name" value="Текст при выключенном" />
<input type="checbox" value="Текст который отправляется на почту, при включенном" name="checkbox_name" />
например можно не трогая фронтенд сменить фреймворк или даже язык.В большинстве случаев, можно сменить фреймворк не трогая фронтэнд. Например, если Ваш фреймворк использует шаблонизатор "Twig". В некоторых случаях, так же можно сменить язык, подвергая шаблоны минимальной модификации, которую можно провести через "Найти/Заменить". Но, я бы на Вашем месте не сильно обольщался на эту "возможность".
Ну например выбрать 10 новостей в нужном форматеОбычно делают POST-запрос, и не в формате адресной строки (GET-параметров), а отправляется так же, запрос в формате JSON. Обратите внимание на ключевое слово "обычно", т.е. не всегда.
делаем GET запрос
Применяется такой подход к проектированию?Это скорее подход к разработке, уровня "клиент-сервер", и/или REST API.
И может есть готовые решения о которых можно почитать.Не совсем понятно, какое именно готовое решение Вы хотите получить. HTTP-клиенты и обработка JSON-данных, встроена во многие языки, или реализована в виде готовых библиотек.
Или есть какие то существенные минусы о которых я не догадываюсь?Если Вы хотите разработать, например, настольное или телефонное (как пример) приложение-клиент, то это один из лучших вариантов. Если же Вы хотите построить по такому принципу обычный сайт, то Вы просто введёте новый уровень абстракции и новое звено в цепочку, чем усложните работу самому себе, а так же потенциально замедлите работу проекта.
Browser Sync работает только при сохранении документа, как сделать чтобы стало как в LiveReload обновление «на лету»?Вы не совсем корректно ставите вопрос. BrowserSync работает не при "сохранении" документа, а при его физическом изменении, на диске, с которого (диска) он этот документ и читает. Соответственно, что бы BrowserSync отображал изменение после "любого нажатия клавиши", нужно, что бы каждое изменение вызывало сохранение документа. Как это сделать и возможно ли это сделать вообще, в каждом конкретном случае - зависит от редактора, которым Вы пользуетесь, думаю, что ответ на этот вопрос (как автоматически сохранять каждое изменение в редакторе) Вы с лёгкостью найдёте в его документации или в виде какого-то плагина для оного (если конечно, Ваш редактор их поддерживает).
как это реализовано в Brackets LiveReloadПодозреваю, что "LiveReload" про который в данном случае идёт речь - является частью самого Brackets'а, что позволяет ему считывать текущее содержимое файла, а так же отслеживать события "документ был изменен" минуя жесткий диск.
Стал смотреть что изменилось, файлы темы такие же, сравнил базу - такая же, зато много новых непонятных файлов в файлах вордпресса, измененный htaccess который редиректит на внешние ресурсыЯ бы для этого порекомендовал воспользоваться GIT'ом или другой VCS, сможете отследить изменения "до буквы".
Хочу выяснить почему приходит вирусПо тому, что это его обязанность - приходить. Вирус, он как налоговый инспектор, хочешь/нехочешь - а всё равно придёт.
смена базы и темы ничего не меняетА должно, смена темы, как минимум - должна менять тему.
Взял другой хостинг , залил исходный вариант сайта туда - прошло несколько дней и он целый и невредимый. неужели дело в хостинге?Возможно в хостинге, возможно в том, что кто-то хранит пароли от FTP не надёжно. Возможно в том, что взломали соседний сайт, а у Вас где-то стоят права "777" что позволяет заливать файлы Вам на аккаунт или... (1000 других причин).
Просто опасаюсь как бы вирус снова не проявил себя на новом хостинге.При использовании популярных CMS, в частности Wordpress, слово "вирус" будет Вас приследовать почти круглосуточно. Что примечательно, около 15% случаев последнего массового взлома WP были произведены через баг в плагине, который должен быть предотвращать взломы, повышать безопасность и т.д.
Как обезопасить этот сайт от вируса,варианты:
должно ли решить проблему смена хостера?Возможно, но далеко не факт, что дело исключительно в хостере.
Вопрос , как в браузере открыть адрес modules/news/1.php из корня web/index.php?Если при входе на сайт, по адресу "/" (т.е. "главная страница") отображается файл web/index.php, а нам нужно открыть уровнем выше папку moules/news/ и с нее открыть файл 1.php - то логически адрес бы выглядел примерно так: "/../modules/news/1.php". Но, только если в настройках веб-сервера такой доступ разрешен и допустим (что вряд ли). Иначе говоря, наиболее вероятный ответ на Ваш вопрос - "никак".
Можно это сделать без MySQL ?Если у Вас маленький объём данных, <200-500Мб, в общей сложности и нет необходимости в некоторых возможностях "толстой" БД, такой как MySQL - можете взять SQlite3, его поддержка встроена в PHP с версии 5.3+ (кажется).
SELECT * FROM table1 WHERE city = 'Москва';
и... пользуетесь.Можете посоветовать фреймворк и плагины (PHP или др.)?
Где можно найти бесплатный VPS для таких целей?1.На амазоне
т.е не о каких высоких нагрузок речи не идетVPS/VDS берут не только и не столько из-за высоких нагрузок, сколько из-за возможности настроить всё как удобно Вам, а так же практически полной изоляции от других клиентов, возможности конфигурировать ПО по своему усмотрению и т.д.
так понял это была старая конфигурация при которой файлы из /etc/nginx/sites-available/ инклудились в nginx.confЭто не "старая конфигурация", а (как уже озвучил оратор выше) - дефолтные настройки, для дистрибутивов происходных от Debian (в т.ч. Ubuntu и масса других). Конфигурация ориентирована на хостинг-провайдеров, что бы можно было удобно "отключать" сайт, а не "полностью удалять" его (или его конфиг).
1. Как объяснить это вебшторму? Что теперь нужно, во-первых, обновить все файлы из новой ветки и во-вторых, что изменения тоже надо пушить в новую ветку.
2. Как при этом время от времени забирать изменения из ветки first? И потом обратно возвращаться в свою?Время от времени вливать в нужную ветку - ветку first.
3. И как ничего нигде не испортить?Не использовать "force" и прочие подобные варианты "насилия". В таком случае, "испортить" что-то будет довольно проблематично.
И быть может подскажите как его автоматически чистить, потому что это жесть)))Думаю, это должно Вам помочь.
Это вообще нормально?В большей сложности - да. Это гораздо лучше, чем случаи, когда памяти дофига, а используется 3%.
Кэш не чистил вообще никогда)Вообще, за этим должно ядро следить, в первую очередь, а уже потом администратор.
И быть может подскажите как его автоматически чиститьДобавить задачу в Cron.
3 дня парил мозг с mysql, как оказалось он падал из-за нехватки оперативной памятиMySQL хоть и далека от идеала, но на моей памяти, именно из-за "нехватки оперативной памяти", по моему, не падала ни разу. У базы есть довольно конкретные ограничения (у подавляющего большинства параметров), на размер оперативки который она может использовать, и я не редко наблюдал такую картину, когда на сервере 16Гб памяти, а база упирается в 1.5Гб, "скрипит", тормозит, но оперативку не использует, хотя свободной памяти ещё больше половины. Скорее всего, MySQL падала не из-за "нехватки памяти", а из-за некорректных настроек, касающихся памяти.