mendel: В 30 строк написать класс или набор функций для проверки целостности файлов на сайте. Сообщаем некие настройки вроде пути что проверять, сообщаем где хранится информация о "эталонном" содержимом, возможно другие полезные данные, например сигнатуры эвристики (регулярки можно!), получаем изменившиеся, новые и/или подозрительные файлы.
Три основных функции - создать файл-эталон (инкрементарным предпочтение), быстрая проверка, медленная проверка.
ПС: сам еще не писал. 30 строк как ориентир, 31 или 9 строк тоже пойдут).
MySQL дефолтный конфиг? Скиньте ваш my.cnf сюда. Ещё желательно знать, что из себя представляет ваши базы: количество баз, количество таблиц, количество строк в самой бОльшей из таблиц, движок (InnoDB, myisam). Движок не обновлялся, плагины к нему? Возможно, появился какой-то тяжелый запрос?
А ещё top в пике скиньте. Можно попробовать siege нагрузить, чтобы долго не ждать.
А ещё вопрос: как вы меряете трафик, не аналитикой/метрикой хоть?
Милторг заварил тут кашу с регулярками, а все сидят и голову ломают. А тем временем у милторга репутация перешла из отрицательной в положительную, и он поднял свою ставку на 50%. Кажется кто-то медленно но уверенно эволюционирует, со скоростью 30 символов в месяц.
Хз зачем, но сделал на свой виртуалке работающей в Windows 10 x64. 🍿 Виртуалка через VirtualBox + Vagrant (SMB) с настройками 4 ядра и 4ГБ оперативной памяти.
function getValuesRecursive($array, &$output) { foreach ($array as $key => $value) { if (!is_array($value)) { array_push($output, $value); } else { getValuesRecursive($value, $output); } } }
getValuesRecursive($food, $output);
echo '<pre>'; var_dump($output);
Основная суть в функции getValuesRecursive, как видно из названия, она рекурсивная. Она вызывает сама себя при определенных условиях. Почитайте про рекурсию.
borisd, есть всякие трекинг программы, которые делают скриншоты раз в n минут, архивируют их и высылают на почту заказчику. Но я, например, часто обсуждаю задачи с заказчиком часами, при этом я не пишу это в работу. Я часто консультирую абсолютно бесплатно, причем вникаю в проблему. Мне приятно помогать людям. Но если меня заставят пользоваться такой программой, то я начну звереть, и вычислять время работы до наносекунд. А ещё подыщу другого заказчика, с кем построю нормальные доверительные отношения. Мне не столько важно зарабатывать, сколько важно, чтобы отношения с работодателем были позитивные и было уважение друг к другу. И это при том, что я всегда занижаю цену задачи, кроме тех случаев, когда работа заняла 10 минут, я могу округлить её
Да, будь я работодателем, я бы потребовал от заказчика вилку цен, чтобы знать, на что рассчитывать по деньгам, но платил бы я все равно по часам, потому что если программист назвал 50$ баксов за проект, то он уже включил туда правки. Если брать деньги по часам, то если правок не будет, может выйти и дешевле. Но это если программист с совестью, как делают другие - хз, я всегда пишу чуть меньше чем есть на самом деле.
Работал около года копирайтером на одном сайте по тематики автоспорта. Не могу сказать что работал за деньги - мне ничего не платили. Работал там, потому что очень нравится автоспорт. Моя задача состояла в том, чтобы:
а) переводить статьи забугорных изданий
б) писать и делится своими знаниями
в) набираться знаний от владельца ресурса
Я с лихвой покрывал 97% того, что от меня требовалось. Я один из первых, кто рассказывал об эксклюзивных автомобилях, многие детали не только переводил и разъяснял исходя из собственных знаний, зачастую вел беседу с производителем суперкаров (например, Radical, Zenvo). Скажу так: такой контент востребован, но он должен быть рассказан самим профессионалом. Другими словами: материал должен подготавливать ваш муж, после чего вы производите коррекцию (пунктуация, слог, и т.д.), публикуете статью, собираете вопросы и фидбек, и корректируете статью заново. В таком ключе, успех возможен. Экспертное мнение сейчас ценится. Только это должно быть реально экспертное мнение.
В 30 строк написать класс или набор функций для проверки целостности файлов на сайте. Сообщаем некие настройки вроде пути что проверять, сообщаем где хранится информация о "эталонном" содержимом, возможно другие полезные данные, например сигнатуры эвристики (регулярки можно!), получаем изменившиеся, новые и/или подозрительные файлы.
Три основных функции - создать файл-эталон (инкрементарным предпочтение), быстрая проверка, медленная проверка.
ПС: сам еще не писал. 30 строк как ориентир, 31 или 9 строк тоже пойдут).
http://pastebin.com/zBgwgMH5
Накидал тут, поржать ради, принимает: исходную папку, файл с md5 хешами, булев флаг для создания файла.
Олимпиады на краткость кода не мое. Пока писал этот кусок, испытывал боль от процедурщины и PHP. Интересно что другие предложат.
MySQL дефолтный конфиг? Скиньте ваш my.cnf сюда. Ещё желательно знать, что из себя представляет ваши базы: количество баз, количество таблиц, количество строк в самой бОльшей из таблиц, движок (InnoDB, myisam). Движок не обновлялся, плагины к нему? Возможно, появился какой-то тяжелый запрос?
А ещё top в пике скиньте. Можно попробовать siege нагрузить, чтобы долго не ждать.
А ещё вопрос: как вы меряете трафик, не аналитикой/метрикой хоть?
Милторг заварил тут кашу с регулярками, а все сидят и голову ломают. А тем временем у милторга репутация перешла из отрицательной в положительную, и он поднял свою ставку на 50%. Кажется кто-то медленно но уверенно эволюционирует, со скоростью 30 символов в месяц.
Мы на 1 ядре запускали тесты, у Вас же их 4, сделайте для виртуалки 1 ядро и повторите тест.
Как нибудь попозже запилю, а то тест не быстрый оказался.
Хз зачем, но сделал на свой виртуалке работающей в Windows 10 x64. 🍿 Виртуалка через VirtualBox + Vagrant (SMB) с настройками 4 ядра и 4ГБ оперативной памяти.
Под проекты: PHPStorm
Под быструю правку: Visual Studio Code
Иногда vim.
Хожу-брожу, в контексте этой задачи - да, сработает. Но если появится ещё один уровень глубины, то все равно будет многомерный массив на выходе.
Хожу-брожу,
На выходе нужно:
Array
(
[0] => рисунок
[1] => картинка
[2] => вывеска
[0] => специи
[1] => куркума
[0] => шоколад
[1] => десерт
[2] => печенье
[3] => сыр
[4] => сок
)
Так не сделаете, потому что ключи должны быть уникальными.
Второй вариант возможен, вот код:
Основная суть в функции getValuesRecursive, как видно из названия, она рекурсивная. Она вызывает сама себя при определенных условиях. Почитайте про рекурсию.
borisd, есть всякие трекинг программы, которые делают скриншоты раз в n минут, архивируют их и высылают на почту заказчику. Но я, например, часто обсуждаю задачи с заказчиком часами, при этом я не пишу это в работу. Я часто консультирую абсолютно бесплатно, причем вникаю в проблему. Мне приятно помогать людям. Но если меня заставят пользоваться такой программой, то я начну звереть, и вычислять время работы до наносекунд. А ещё подыщу другого заказчика, с кем построю нормальные доверительные отношения. Мне не столько важно зарабатывать, сколько важно, чтобы отношения с работодателем были позитивные и было уважение друг к другу. И это при том, что я всегда занижаю цену задачи, кроме тех случаев, когда работа заняла 10 минут, я могу округлить её
Да, будь я работодателем, я бы потребовал от заказчика вилку цен, чтобы знать, на что рассчитывать по деньгам, но платил бы я все равно по часам, потому что если программист назвал 50$ баксов за проект, то он уже включил туда правки. Если брать деньги по часам, то если правок не будет, может выйти и дешевле. Но это если программист с совестью, как делают другие - хз, я всегда пишу чуть меньше чем есть на самом деле.
Работал около года копирайтером на одном сайте по тематики автоспорта. Не могу сказать что работал за деньги - мне ничего не платили. Работал там, потому что очень нравится автоспорт. Моя задача состояла в том, чтобы:
а) переводить статьи забугорных изданий
б) писать и делится своими знаниями
в) набираться знаний от владельца ресурса
Я с лихвой покрывал 97% того, что от меня требовалось. Я один из первых, кто рассказывал об эксклюзивных автомобилях, многие детали не только переводил и разъяснял исходя из собственных знаний, зачастую вел беседу с производителем суперкаров (например, Radical, Zenvo). Скажу так: такой контент востребован, но он должен быть рассказан самим профессионалом. Другими словами: материал должен подготавливать ваш муж, после чего вы производите коррекцию (пунктуация, слог, и т.д.), публикуете статью, собираете вопросы и фидбек, и корректируете статью заново. В таком ключе, успех возможен. Экспертное мнение сейчас ценится. Только это должно быть реально экспертное мнение.