Итак, о структурах данных и библиотеке SPL… Честно говоря, когда я начинал программировать веб-приложения я и не задумывался об использовании структур данных типа стеков или очередей. Вполне хватало массивов. Я думаю, и сами разработчики тоже об этом не задумывались, раз библиотека SPL появилась только в 5-й версии PHP. Как же […]
Рубрика: Статьи чтобы набрать классы
Счетчик просмотров страницы в Laravel
После того как мы установили фреймворк на сервер, нужно создать таблицу в базе данных. Таблица будет представлять собой простой пример записи блога, содержащая столбцы: название поста, содержимое поста и столбец счетчика просмотров. Создадим миграцию для нашей таблицы, используя следующую команду: php artisan make:migration create_posts_table —create=posts Добавим несколько строк в файл […]
Тернарные (условные) операторы в PHP
Если вы продолжительное время занимаетесь программированием, то наверняка знаете о тернарных (условных) операторах, которые заменяют конструкцию: if-else. Пример с сайта php.net: <?php // Пример использования тернарного оператора $action = (empty($_POST[‘action’])) ? ‘default’ : $_POST[‘action’]; // Верхняя строка идентична конструкции if/else if (empty($_POST[‘action’])) { $action = ‘default’; } else { $action […]
Простой пример использования нейронной сети в PHP
С помощью нейронных сетей я постарался определить безопасно ли плавать в море, с учетом следующих параметров: время суток (день/ночь), туман (задается дробным числом), волны (есть/нет), акулы (есть/нет). Для обучения нейронной сети я использовал следующие данные:
Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое
С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней […]
PostgreSQL. Список всех индексов
Получить в виде списка все индексы довольно просто. Достаточно выполнить следующее:
Apt-fast как замена стандартного apt-get (aptitude) для сверхбыстрой загрузки пакетов
Добавляем репозиторий: sudo add-apt-repository ppa:apt-fast/stable Ставим: sudo apt-get update sudo apt-get install apt-fast axel
Получить User-Agent из access.log
Это делается довольно легко (выведет все уникальные User-Agent из лога): cat access.log | awk -F’»‘ ‘{print $6}’ | sort | uniq Если лог имеет другой формат — заменить $6 на другой порядковый номер столбца.
PostgreSQL. Список всех дат между двумя датами
Узнаём timestamp от интересуещей даты SELECT extract( ‘epoch’ from ‘2012-02-01’::timestamp without time zone )::integer (это будет 1325455200) Используем generate_series()
Gource. Визуальное отображение коммитов в Git/Mercurial/Bazaar/SVN репозитории
Официальный линк на Google.Code тут. Ставится это чудо просто: sudo apt-get install gource Переходите в корневую папку проекта и выполняете (пример для SVN): svn log -r 1:HEAD —xml —verbose —quiet > my-project.xml А потом запускаете gource. Покажу на примере своих настроек: