добрый list
Posted May.25, 2010 in Профессиональное, Работа
а вы знали, что в PHP переменные в list можно не указывать, если они не нужны?
list(,$a,,$b) = explode(":", "1:2:3:4");
лично меня такой синтаксис убил наповал.
Posted May.25, 2010 in Профессиональное, Работа
а вы знали, что в PHP переменные в list можно не указывать, если они не нужны?
list(,$a,,$b) = explode(":", "1:2:3:4");
лично меня такой синтаксис убил наповал.
Posted May.19, 2010 in Профессиональное, Работа
Сегодня наконец исправил надоедливый баг в Netbeans под виндой. Когда возвращаешься в NB после alt-tab, фокус пропадает с редактора и переходит на меню, приходилось постоянно жать Esc.
Баг, как пишут, заложен в JDK, а решается простой сменой визуальной темы для NB. Достаточно добавить в файл program files/папка NB/etc/netbeans.conf в конце опции netbeans_default_options вот такое:
--laf javax.swing.plaf.metal.MetalLookAndFeel
и перезапустить.
Заодно NB стал покрасивей выглядеть.
Кроме этой темы, есть и другие. Узнать и посмотреть другие темы можно, например, тут.
Posted Nov.26, 2009 in Работа
На работе столкнулся с досадным недостатком mysql: он не умеет делать слияние отсортированных индексом массивов.
На пальцах: пусть есть таблица objects (id, category_id, time) с индексом (category_id, time). Задача – выбрать среди данных нескольки категорий N последних.
Запрос:
SELECT * FROM objects WHERE category_id IN (10,11,12,13, 14) ORDER BY time DESC LIMIT 10;
даже не думает работать по индексу. Он отбирает все объекты из этих категорий, сортирует их filesort’ом и потом отбирает первые. Хотя очень логично поступить аналогично сортировке слиянием: взять отсортированные последовательности для каждой категории и сливать их, пока не получим N элементов.
Итак, мелькнула идея попробовать применить PostgreSQL. Поставил, перелил в него таблицу, сделал аналогичные запросы – он приятно удивил: 0.5-0.6 секунд против 2.5-3.0 в мускуле. Причём Постгре был под виндой, а Мускул под FreeBSD. Не могу точно утверждать, индексы разруливает лучше или просто сыграл тот факт, что движок быстрее (а он реально быстрее), потому что он и без проставленных индексов работал быстрее мускула (в районе 1.0-1.5 сек).
Я бы на этом и остановился, но шеф настоял, чтобы я попробовал MongoDB. Опустив лирику, могу только подписаться под резюме: “Быстрый, как понос”. Для той же самой задачи он дал результаты порядка 0.2-0.3 сек.
И уже все были готовы перейти на использование MongoDB, как вдруг мелькнула шальная мысль. Сделали копию таблицу в Mysql MEMORY engine, внесли данные в нужном порядке, убрали (!) все индексы. Ура! Результаты порядка 0.02-0.05 сек.
Что тут сказать… Универсальных решений не бывает, вот и всё.
Tags: mysql, программирование, работа
Posted Nov.26, 2009 in Opera, Работа
На моём подопечном сайте www.bisound.com в браузерах лидирует Opera. Приятно. Особенно, учитывая, что я именно её никогда не пиарил.
Tags: web, наблюдения, работа