Как стать автором
Обновить
183
0
Макс Обухов @maxshopen

Пользователь

Отправить сообщение

Определяем порядок столбцов в составном индексе

Время на прочтение5 мин
Количество просмотров21K
Хочу поделиться простым эмпирическим методом, который я использую для определения того, в каком порядке должны идти столбцы в составном индексе. Этот способ подходит не только для MySQL, он также применим к любым СУБД, в которых используются b-tree индексы.

Давайте начнем с запроса, который возвращает пустой результат, но при этом делает полный скан таблицы. EXPLAIN покажет на нем, что нет доступных индексов (т.е. possible_keys = NULL)

SELECT * FROM tbl
WHERE
  status='waiting' AND
  source='twitter' AND
  no_send_before <= '2009-05-28 03:17:50' AND
  tries <= 20
ORDER BY date ASC LIMIT 1;
Читать дальше →
Всего голосов 52: ↑47 и ↓5+42
Комментарии17

Несовершенное эго

Время на прочтение2 мин
Количество просмотров771
Любителям холиваров и пострадавшим от троллей посвящается

Сидят однажды учитель и ученик на скамейке, и созерцают. Вдруг подходит к ним человек и говорит:
— От этих педиков уже пройти негде. Чего вылупился, старый козел, я с тобой разговариваю. Кто из вас кого трахает?
Ученик говорит:
— Учитель, этот человек оскорбил Вас. Я могу убить его одним ударом, если Вы позволите.
— В этом нет необходимости.
— Разве вас не разозлила его грубость?
— Ничуть.
— Как же вы это делаете. Вы используете силу отрешения?
— Нет, я вообще ничего не делаю, для того чтобы оставаться спокойным. Это происходит само собой и этому даже не надо долго учиться.
— Но как?
Читать дальше →
Всего голосов 58: ↑48 и ↓10+38
Комментарии34

Современная отладка JavaScript

Время на прочтение12 мин
Количество просмотров26K
В связи с достаточно широким выбором неплохих отладчиков, JavaScript-программисты могут получить достаточно много пользы, изучая то как их можно использовать. Их пользовательские интерфейсы становятся все более совершенными, более стандартизированными между собой и более легкими в использовании, что делает их полезными как для экспертов так и новичков в отладке JS. В этой статье мы обсудим передовые методы отладки для диагностики и анализа ошибок, используя типичное веб-приложение.

В настоящее время средства отладки доступны для всех основных браузеров.
  • Firefox имеет хорошо известное расширение Firebug
  • IE8 выпускается со встроенными Developer Tools
  • Опера 9.5+ поддердивает отладчик Dragonfly
  • У Safari есть JS-отладчик Drosera и DOM-вьювер WebInspector. В более свежих версиях отладчик интегрирован в WebInspector.

На данный момент Firebug и Dragonfly наиболее стабильны. Утилиты IE8 иногда игнорируют контрольные точки, а во время написания этой статьи WebInspector имеет некоторые проблемы совмстимости с последними билдами Webkit.

Изучите несколько средств отладки — вы никогда не знаете, в котором браузере возникнет следующая ошибка. Так как отладчики примерно сопоставимы в функциональных возможностях, между ними легко переключиться, как только вы разберетесь как использовать хотя бы один.

Читать дальше →
Всего голосов 83: ↑77 и ↓6+71
Комментарии18

CSS counters

Время на прочтение7 мин
Количество просмотров33K

Одной из редко используемых возможностей CSS2.1 являются счетчики. Описаны они в разделе спецификации, посвященной генерации контента. Что же это такое?

Приведу пример из спецификации, эмулирующий обычный нумерованый список с помощью счетчика и свойства content:
OL { counter-reset: item }
LI { display: block }
LI:before { content: counter(item) ". "; counter-increment: item }

Первым правилом мы назначаем элементам OL счетчик с именем «item», затем для всех LI меняем значение свойства display на block, вместо значения по умолчанию (list-item), чем отключаем стандартные маркеры-цифры. Наконец, в последнем правиле, мы инкрементируем счетчик для каждого элемента списка, а само его значение показываем перед элементом c помощью функции counter() и свойства content. Всё просто.

Но это еще далеко не всё
Всего голосов 78: ↑77 и ↓1+76
Комментарии27

Давно проверялись на вирусы/adware/spyware?

Время на прочтение1 мин
Количество просмотров1.5K
В процессе подсчета вот этой статистики по Хабру обнаружил, что как минимум у 950 хабралюдей (~2.5% от всех читающих Хабр, если считать, что распределение равномерно) в системе живет Adware-вредитель под называнием AdCentriaIM. Он оставляет след в user-agent браузера, что и позволило его обнаружить. Полное описание, и как избавиться написано — здесь. Подавляющая часть болеющих — Windows/Firefox.

Вот так выглядит типичный user-agent:
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.13) Gecko/20080311 AdCentriaIM/1.7 Firefox/2.0.0.13

Я не знаю правильно ли я поступаю, написав этот топик, но просто так сидеть сложа руки тоже как-то не могу, как еще донести это до людей?

Читать дальше →
Всего голосов 117: ↑111 и ↓6+105
Комментарии122

Немного статистики

Время на прочтение2 мин
Количество просмотров858
Поскольку на дворе выходные и есть свободное время, захотелось посчитать хабравчан, ну в смысле что они используют из браузеров и платформ, когда дома ). Поскольку я Хабром не владею и сессии мне недоступны, пришлось считать самодельным скриптом по юзер-агентам, оставленным в логе сервера после просмотра картинок и при переходе по ссылкам. Впрочем для статистики, которая, как говорят, есть дезинформация — этого достаточно. Итак, к цифрам.

Браузеры



Читать дальше →
Всего голосов 121: ↑114 и ↓7+107
Комментарии149

Выбор нескольких файлов

Время на прочтение1 мин
Количество просмотров4.7K
Ни для кого, наверно, не секрет, как в GUI Windows выделить несколько файлов. Еще с незапамятных времен это делалось путем нажатия клавишы CTRL и кликом мышью по нужным файлам. Даже пользователям файловых менеджеров, например Total Commander, в распоряжении которых есть более удобные средства, иногда приходится выделять файлы стандартным способом, например чтобы приаттачить несколько файлов к письму. Это не очень удобно, особенно если приходится выбирать из большого количества файлов. Стоит задуматься, кликнуть не так — и придется создавать набор заново. Может быть не все знают, что в Vista заметно улучшили этот интерфейс, но улучшение почему-то предпочли скрыть от пользователей.
Читать дальше →
Всего голосов 140: ↑115 и ↓25+90
Комментарии170

Винил возвращается?

Время на прочтение4 мин
Количество просмотров1.8K

Меломаны всегда говорили, что у виниловых записей качество звука выше, по сравнению с компакт-дисками или MP3, но их лояльность казалась не более чем ностальгией на фоне 25-летнего доминирования цифровой записи в музыкальной индустрии. Однако, в последние годы, онлайн-продажи LP (сокращение от Long Play records — долгоиграющих пластинок) более чем удвоились, благодаря новым покупателям, желающим больше, чем им дает онлайн-покупка mp3-треков за 99 центов.

Читать дальше →
Всего голосов 70: ↑54 и ↓16+38
Комментарии466

Залипание/дублирование символов

Время на прочтение2 мин
Количество просмотров14K
Данный топик был опубликован под замком как запрос о помощи. Проблема, описанная в топике довольно специфичная и вероятно редкая, за всю жизнь сталкивался с ней два раза, а на своей машине — один раз, но зато она очень неприятная. Поскольку решение проблемы, после ряда экспериментов, найдено, а решения её в русскоязычном сегменте интернета я не нашел, то решил открыть из-под замка, возможно эта информация кому-то пригодится. Огромное спасибо хабра-товарищам Optik и YasonBy за эффективные попытки разобраться в проблеме и помочь.

Далее топик идет практически так, как и был написан изначально.

Некоторые символы не набираются однократным нажатием, а как бы дублируются, например «птичка» (^), «тильда» (~), кавычка (") и апостроф ('). Обычно, чтобы набрать ^ нужно нажать Shift+6, но у меня при нажатии этой комбинации не появляется ничего, зато если не отпуская Shift нажать «6» еще раз, то появляется сразу два символа "^". Если же после Shift+6 нажать какую то символьную кнопку, то появится какая-то вообще не к селу ни к городу буква.
Под катом некоторые, более подробные примеры поведения и решение проблемы
Всего голосов 31: ↑24 и ↓7+17
Комментарии20

В нарушении патента обвинили сразу и Google, и Microsoft, и Apple

Время на прочтение1 мин
Количество просмотров895
Небольшая компания Cygnus Systems из штата Индиана подала в суд на тяжеловесов Microsoft, Apple и Google, заявляя, что она обладает патентом на весьма распространенную функцию предпросмотра файлов, которая используется в браузерах и операционных системах, для показа небольших превьюшек файлов без их открытия.

Cygnus Systems предъявила иск этим трем компаниям, утверждая, что они посягают на их патент в таких продуктах, как Windows Vista, IE8 и Google Chrome. Apple использует эту технологию в Finder-е и Cover Flow.
Читать дальше →
Всего голосов 60: ↑49 и ↓11+38
Комментарии79

Конвертер зарплат от Google

Время на прочтение1 мин
Количество просмотров750
Понадобилось тут перевести справку о зарплате для посольства Австрии на английский язык. (Для тех, кто не в курсе, но туда собирается — посольство Австрии ввело такое требование совсем недавно). Ну, дело не хитрое думаю, поскольку языком владею на твердую тройку, по сути только читаю и то технические тексты, решил воспользоваться онлайн переводчиком с мыслью подрихтовать потом результаты напильником. Запихнул текст в translate.google.com — и удивился :)

Читать дальше →
Всего голосов 37: ↑28 и ↓9+19
Комментарии24

Отмена своего голоса за карму

Время на прочтение1 мин
Количество просмотров897
Погодите, погодите минусовать, я знаю, что всех тошнит от вопросов, связанных с кармой, но всё-таки прочтите сначала, пожалуйста :)

Если я кому-то — человеку, топику — поставил плюс в карму (или наоборот, не важно), а потом передумал — почему нет возможности отменить свой голос, не ставя ему при этом минус? Получается что сначала есть три варианта (-,0,+), а потом только два (-,+) — разве это нормально? А ведь можно и случайно надавить…

P.S. В связи с очевидностью моего вопроса — меня совершенно не удивило бы, если такой вопрос уже поднимался. Если это так — дайте ссылку и я уберу свой топик.

Upd. Поскольку мнения на текущий момент, примерно разделились поровну, приведу еще один аргумент в свою пользу (из комментария):
Бывает ситуация ровно противоположная. Я сам иногда сгоряча ставлю человеку минус в карму. А потом остываю и передумываю. Но это совсем не значит, что я хочу ему карму плюсануть! С вами такого не бывает, хабравчане?
Всего голосов 105: ↑64 и ↓41+23
Комментарии52

Обновления в ленте комментариев

Время на прочтение1 мин
Количество просмотров548
Хотя я и написал, успешный, но пока что единственный свой топик — я все равно считаю себя по предложенной здесь забавной терминологии «подающим надежды комментатором».

Более того, я считаю, что в комментариях хабра, если отбросить откровенный мусор, таится огромное количество знаний тех, кто по тем или иным причинам писать свои посты не может, но охотно делится знаниями в более компактном варианте. Комментарии очень часто бывает интересно читать, а так же устраивать там обсуждения тех или иных вопросов.

Не знаю как другие хабрапользователи, но я за комментариями, в которых я учавствую, слежу здесь %username%.habrahabr.ru/comments/, так как часто проще помнить перепалки обсуждения по своим словам, чем по названиям тех топиков, где они случились. Отсюда вопрос — нельзя ли показывать топики в ленте комментариев так же, как они показываются на всех дугих страницах сайта, т.е. со счетчиком новых ответов?

Еще было бы здорово, если бы каким то значком отображались топики, в которых ответили лично мне.
(Сейчас приходится помнить сколько чиселок у тем, рефрешить страницу и смотреть не поменялись ли они, потом заходить в каждую — бред, может кто то знает лучший способ, кроме держания всех тем, где учавствуешь открытыми по разным вкладкам?)

Пример:
image

72 — всего комментариев (как и везде)
+10 новых (тоже как и везде)
+ есть ответ на мой комментарий (upd. или ответ ниже, в ветке, в которой есть мой комментарий, это даже лучше)
Всего голосов 13: ↑9 и ↓4+5
Комментарии10

Hello, спамеры!

Время на прочтение3 мин
Количество просмотров2.1K
Прочитав тему про веб-студию, которая неправильно выбрала способ рекламы, решил рассказать вам, как мне кажется, весьма забавную историю.

Сразу скажу — не люблю спам, он плох всем, и тем что людям приходится ворошить большие объемы ненужной им информации, и тем, что приходится настраивать спам-фильтры и тем, что вообще об этой проблеме приходится думать и говорить, вместо того, чтобы просто пользоваться почтой. И даже тем, что ведет нас, среди прочих факторов, к глобальному потеплению (энергия то тратится). Но с другой стороны я не считаю, что сильно пострадал от спама, так как не свечу свои ящики и в проектах по возможности перехожу на веб-сервисы вместо почты, чего и вам желаю.
Но тем не менее спам не обходит и меня стороной. Так случилось и в этот раз…

Читать дальше →
Всего голосов 215: ↑208 и ↓7+201
Комментарии81

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность