Архив 2011
Для создания графиков на web-страницах обычно используется один из трех вариантов: Генерация картинки на стороне сервера (perl, php, java…) Генерация картинки прямо в браузере, используя flash-объект. Генерация картинки прямо в браузере, используя javascript. О последнем способе мы и поговорим. Самой популярной js библиотекой на данный момент является jquery. Для jquery есть множество библиотек для визуализации […]
На днях наткнулся на очередной шедевр программирования. Что бы не затягивать вступление, приведу сам запрос: Есть внутренняя БД, в которой накапливается информация о клиентах компании (личные данные, признаки клиента, история общения). Таблица contacts — хранит сами сообщения, таблица contacts_category_links — хранит признаки общения (по какому вопросу обратились, и статус разговора). Программист этим запросом хотел вытащить […]
Однажды я обнаружил в почтовом ящике письмо от хостера с информацией о превышении допустимой нагрузки MySQL сервера. Обратившись в саппорт, я узнал, что конкретной информации они не предоставляют. Пришлось искать выход из сложившийся ситуации самому. Для начала я решил оптимизировать медленные запросы. Сразу же озадачился: а как выделить медленные запросы? В голове промелькнули: хуки, логи, […]
Klok — программа для учета потраченного времени. Существует 2 версии — бесплатная и Pro-версия, стоимостью 15,99$. Имеет несложный интерфейс и кучу возможностей. Klok, в первую очередь, может быть полезен фрилансерам и блогерам — людям подобной занятости сложнее всего грамотно рассчитать затраты и оценить итоговую прибыль. Но обо всем по порядку. Начнем с установки.
Так случилось, что один гениальный программист на одном продакшн сервере выполнил запрос: DROP DATABASE databasenameDROP DATABASE databasename Конечно, ни один здравомыслящий человек на такое не способен, но вот врожденная криворукость и куриная слепота привела к тому, что он перепутал кнопки в PhpMyAdmin и на автомате подтвердил запрос. В итоге — база исчезла. Крики. Паника. Представление […]
Code Igniter, как и множество других фреймворков, поддерживает функционал мультиприложения: одно ядро и множество каталогов-приложений. Выбор нужного приложения производится в index.php, путем изменения значения переменной: $application_folder = "../test";$application_folder = "../test"; Иногда перед разработчиком встает задача запуска разных приложений в зависимости от параметров URI. Это может быть как обычный параметр GET, POST, значение сессии, поддомен или […]
Ко мне часто обращаются знакомые с просьбами скачать какую-то информацию с другого сайта. Просьбы бывают абсолютно разными: от автоматизации вывода погоды/курса валют, до скачивания целых баз данных (посты с блогов, товары интернет магазинов и т. д.). Утром мне пришёл СПАМ с рекламой одного парфюмерного магазина, и я решил отомстить им. Сегодня мы будем парсить интернет-магазин. […]
В MySQL существует множество типов данных для хранения чисел как целых, так и с плавающей точкой. Рассмотрим существующие форматы: Для целых используются: TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT. Эти типы используются для хранения целых чисел и занимают от 1 до 8 байт памяти соответственно.
Очень часто мне приходится сталкиваться с оптимизацией кода. Оптимизация SQL запросов очень важная часть работы программиста. Сегодня я расскажу историю ускорения запроса более чем в 100 раз. Причиной замедления работы MySQL — стала функция FROM_UNIXTIME. Но обо всем по порядку.