Pull to refresh
183
0
Макс Обухов @maxshopen

User

Send message

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

Reading time 5 min
Views 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;
Читать дальше →
Total votes 52: ↑47 and ↓5 +42
Comments 17

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

Reading time 2 min
Views 763
Любителям холиваров и пострадавшим от троллей посвящается

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

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

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

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

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

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

Читать дальше →
Total votes 83: ↑77 and ↓6 +71
Comments 18

CSS counters

Reading time 7 min
Views 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. Всё просто.

Но это еще далеко не всё
Total votes 78: ↑77 and ↓1 +76
Comments 27

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

Reading time 1 min
Views 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

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

Читать дальше →
Total votes 117: ↑111 and ↓6 +105
Comments 122

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

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

Браузеры



Читать дальше →
Total votes 121: ↑114 and ↓7 +107
Comments 149

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

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

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

Reading time 4 min
Views 1.8K

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

Читать дальше →
Total votes 70: ↑54 and ↓16 +38
Comments 466

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

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

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

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

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

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

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

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

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

Читать дальше →
Total votes 37: ↑28 and ↓9 +19
Comments 24

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

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

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

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

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

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

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

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

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

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

Пример:
image

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

Hello, спамеры!

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

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

Читать дальше →
Total votes 215: ↑208 and ↓7 +201
Comments 81

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity