Как стать автором
Обновить
0
Карма
0
Рейтинг
Ден @MARDEN

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

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

MySQL
Есть вроде бы обычные задачи, которые можно решить сразу и не задумываясь, но при интенсивном использовании таких решений возникают проблемы, причем не маленькие. Об одной из таких задач я и хочу рассказать.
Почитать интересную статью
Всего голосов 44: ↑28 и ↓16 +12
Просмотры98.8K
Комментарии 142

Audiotag.info — новый сервис распознавания музыки

Я пиарюсь


Александр Радзишевский, владелец небезызвестого ресурса www.websound.ru, на днях открыл сервис AudioTag, позволяющий узнать имя исполнителя и название композиции по небольшому фрагменту композиции — достаточно загрузить лишь 15-30 секундный отрывок (или композицию целиком).

В основе сервиса лежит сложный механизм распознавания аудио, объединяющий технологию аудио-отпечатков и большую базу аудио-музыкальную данных. Когда вы загружаете файл, специальный алгоритм преобразует его в так называемый «аудио-отпечаток», который и используется для поиска в базе данных. В результате такого распознавания обнаруживаются один или несколько треков-кандидатов, совпадающих с обработанным файлом с той или иной вероятностью.

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

Секреты алгоритма создания слепков и источника музыкальной базы автор не раскрывает. Однако, что касается первого — они уже существуют (хоть я и не понимаю как это чудо работает, но по форме это что-то вроде MD5), а по второму вопросу, возможно, были задействованы ресурсы какого-нибудь «знакомого» онлайн-магазина — всё-таки миллион треков это очень много, да и вряд ли Алекс держит в личном архиве столько попсы :)

Читать дальше →
Всего голосов 51: ↑45 и ↓6 +39
Просмотры33.9K
Комментарии 49

Решение проблем с заказчиком, или всегда ли клиент прав?

Управление проектами
Навеяно статьей из личного опыта руководителя проектов. Действительно, бывают ситуации, когда заказчики попадаются «сложные», то есть несговорчивые, всем недовольные, лезущие во все аспекты создания сайтов, и имеющие свое, зачастую, неверное мнение, которое они отстаивают так, будто от этого зависит их жизнь. Таких в народе нежно зовут «требовательными». Итак, попробуем разобраться как с такими заказчиками вести дела, стоит ли к ним прислушиваться, и самое главное, как вообще избежать этих проблем. Пусть ситуация будет следующая: студия сделала хороший дизайн (важно что бы дизайн был действительно хорош, а иначе заказчик не требовательный, а просто разумный), а заказчик его не принимает, потому что «эти буквы должны быть больше, фон должен быть желтым, а тут должна быть телка с мобилой». Ситуация тоже взята с вышеназванной статьи.
Читать дальше →
Всего голосов 5: ↑3 и ↓2 +1
Просмотры2.8K
Комментарии 35

Первый в России онлайн бизнес-калькулятор.

Я пиарюсь
Привет, коллеги!

В тайгу пришел свет, в маркетинг пришел IT!

Мы тут создали беспощадную и беспрецедентную программу расчета прибыльности франшизы (а возможно, в перспективе и других форм предпринимательства), для одного из крупных производителей обуви.
Предполагается, что эта программа, должна наглядно показать выгодность франчайзингового сотрудничества для потенциальных партнеров компании. Захотел открыть свое дело в своем регионе? Хоп! Готовая бизнес модель. Сомневаешься? Просчитай все затраты, узнай когда начнешь получать прибыль.
Что скажете?
Всего голосов 8: ↑5 и ↓3 +2
Просмотры546
Комментарии 4

PHP — получение суммы прописью

PHP
Здравствуйте!

Знаю что эта тема уже поднималась, но предложенный вариант, также как и функция которой я пользовался до этого, оставляли чувство что задачу можно решить проще и элегантнее. Поэтому я сел, проанализировал задачу и написал еще один велосипед вариант. В результате у меня получилось две функции. Текстовое представление суммы подходит для использования в различных накладных, платежках, счетах фактурах и других платежных документах.

Пример использования:
num2str(878867.15); // восемьсот семьдесят восемь тысяч восемьсот шестьдесят семь рублей 15 копеек

Далее сам код…
Читать дальше →
Всего голосов 31: ↑20 и ↓11 +9
Просмотры49.5K
Комментарии 32

10 прекрасных альтернатив Adobe Photoshop

Open source
Adobe Photoshop — мечта любого дизайнера: он обладает профессиональным инструментарием для обработки фотографий. Но самая большая преграда — это его цена, часто непосильная. К счастью, существует ряд бесплатных open-source программ, реализующих практически все, что может Photoshop, а иногда даже больше.

Читать дальше →
Всего голосов 161: ↑139 и ↓22 +117
Просмотры458.4K
Комментарии 191

7 простых способов протестировать кроссбраузерную совместимость

Разработка веб-сайтов
Перевод
Эта статья предназначена для дизайнеров, верстальщиков, разработчиков и всех остальных людей, бьющихся с тестированием сайтов в нескольких браузерах.

Всего лишь год назад, хороших средств для тестирования кроссбраузерной совместимости сайтов практически не было. Инструменты, как правило, обладали серьезными недостатками – высокой ценой, скромными возможностями или затрачиваемым временем. Однако, в последнее время, в мире тестирования браузеров появилось много новичков, и некоторые из них являются прекрасными сервисами.

В этой статье, мы рассмотрим 7 простых инструментов для тестирования кроссбраузерной совместимости; инструментов, которые справляются со своей задачей очень легко, и к тому же, каждый из этих инструментов можно использовать бесплатно.
Читать дальше →
Всего голосов 99: ↑96 и ↓3 +93
Просмотры59.1K
Комментарии 57

Методичка по работе с клиентами. Для начинающих менеджеров веб-студий

Управление проектами
(2008 год, письмо старшего менеджера веб-студии — младшему)
( профи вряд ли найдут что-то новое, молодым будет интересно)
Привет. Вот краткая инструкция, основанная на личном опыте. Так сказать, курс молодого бойца.
наша задача — заработать как можно больше денег, при минимальных телодвижениях.

Итак, получили письмо от клиента


обычно есть следующие варианты
  1. клиент явно перспективный и обратился «выборочно» именно к нам — есть большая вероятность, что переговоры будут удачными — тогда лучше сразу набивать стрелку и устанавливать личный контакт и все выяснять на месте. Хотя, границы бюджета лучше выяснить в любом случае.
  2. клиент интересный, но многое неясно из его письма ( нет ТЗ, нет бюджета, он написал в несколько студий, сайт потенциально сложный, сайт неинтересный и тд. ). Тут важно прислать ему БРИФ на заполнение, выяснить сроки и бюджет. Согласовать бюджет сроки — уже потом встречаться в случае, если все устраивает.
  3. Письмо подозрительно короткое и не «пахнет интересом». Например, «нужен обувной интернет-магазин, сколько стоит? Как быстро сделаете? Виталий» — тут вряд-ли чтото выгорит + вероятно это пробивон по ценам от конкурентов.
    В этом случае — цену говорим в полтора раза дето дороже, интересуемся «укладываемся ли мы в их бюджет» в положительном случае — можно встречаться. Иначе — скорее всего трата времени.

Читать дальше →
Всего голосов 133: ↑120 и ↓13 +107
Просмотры13.1K
Комментарии 129

Предпроектная документация: что это и почему она так важна?

Управление проектами
Среди моих знакомых нет ни одного, кто любил бы писать технические задания или что-то вроде этого. Чертить на салфетках планы захвата вселенной, собирать лэйауты из разноцветных стикеров, шлифовать концепцию в голове и на словах – это все любят и умеют делать, а вот сесть и как следует записать…
Меня, например, любой шаблон серьезного документа погружает в глубочайшую тупку.

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

Читать дальше →
Всего голосов 55: ↑50 и ↓5 +45
Просмотры8.9K
Комментарии 52

Постраничная навигация с MySQL при большом количестве записей

MySQL
Рано или поздно многие крупные проекты сталкиваются с проблемами производительности при постраничной навигации по записям. Некоторые из них решают эту проблему ограничением количества доступных для просмотра записей (скажем, не больше 1000). Вполне приемлемое решение. Но в этом случаем могут возникнуть проблемы с индексированием сайта сторонними поисковиками, которые и представляют наибольшую угрозу. В этой статье я хотел бы отказаться от привычной для всех панели навигации вида «1..2..3..4..» в пользу простой «вперед… назад» (будет проще объяснить), но это не проблема реализовать подобное и с первым вариантом.
Более точно определить тему, назвав, какое количество записей считать достаточно большим для появления тормозов, не получится, так как эта цифра для всех разная и сильно зависит от того, насколько быстрые у Вас жесткие диски, сколько памяти, и какая часть Ваших данных уже закеширована в ней и тд. Но если Вы и Ваши сервера ощущают, что n-ная страница при выводе даётся тяжелее первой, и при этом не знаете, что с этим делать – статья для Вас. Но для начала, я хотел бы на пальцах объяснить, почему ОНО работает медленно.

Кстати, тест происходит на виртуальной машинке, работаю я с СУБД под рутом, версия MySQL – 5.0.32.
Читать дальше →
Всего голосов 139: ↑135 и ↓4 +131
Просмотры34K
Комментарии 81

Веб-формы «Светофор». Вариант реализации

Интерфейсы
Не так давно Gunger представил вариант раскрашивания элементов ввода текста на форме. Мне этот вариант, несмотря на критику некоторых юзеров, очень понравился и я решил что со временем сделаю свою реализацию.

Время пришло и я рад представить свой вариант реализации написанный в виде JQuery-плагина. Я назвал плагин semaphore, по моему вполне удачное название. Плагин работает с регулярными выражениями для проверки валидности ввода.
Читать дальше →
Всего голосов 80: ↑70 и ↓10 +60
Просмотры2.1K
Комментарии 41

IE5+ и CSS3 — есть способ подружить!

Разработка веб-сайтов
Уверен, что найдутся на Хабре люди, которые уже знают о этом замечательном способе заставить «ненавистный» ИЕ понимать такие вещи, как min-width и ::after. Но лично я об этом способе не знал, и испытал настоящий восторг, когда наткнулся в сети на очень элегантное и эффективное на мой взгляд решение данной проблемы.
Читать дальше →
Всего голосов 83: ↑65 и ↓18 +47
Просмотры1.1K
Комментарии 80

Анализатор логов PHP-на-Apache

PHP
Решил написать об одной полезной утилите, которую написал в августе и уже два месяца успешно использую.
Утилита сводит к минимуму усилия по слежению за логами ошибок PHP.
Читать дальше →
Всего голосов 15: ↑10 и ↓5 +5
Просмотры11.3K
Комментарии 22

Засаливание паролей

Разработка веб-сайтов
Итак, каким же образом обеспечивается безопасность на нынешних веб-ресурсах? Хешированием паролей алгоритмом md5. Вроде бы всё здорово и замечательно — md5 есть функция необратимая и пароли, хранимые в виде таких хэшей, взломать нельзя, даже если злоумышленник получил доступ к базе. Ан нет! Вспоминаем про Rainbow-таблицы и прощаемся с мыслью о полной безопасности хранения паролей в таком виде. Та как же их тогда шифровать? Алгоритмы востановимого шифрования с ключами тоже не панацея, да и системных ресурсов сии функции кушают немало...
Вопрос: Так как же, не в ущерб производительности, обезопасить md5 хэши от Rainbow-таблиц?
Ответ: соль.
Читать дальше →
Всего голосов 239: ↑190 и ↓49 +141
Просмотры28.3K
Комментарии 186

10 jQuery скриптов для улучшения интерфейса

Разработка веб-сайтов
Перевод
С рассветом WEB 2.0 получили развитие и javascript фрэймворки, позволяющие вебмастеру делать динамические элементы сайта гораздо быстрее и проще. Одним из таких фреймворков является jQuery, получивший огромную популярность за свою простоту и невероятно малый вес. Итак, представляю вашему вниманию 10 наиболее полезных скриптов jQuery для улучшения интерфейса вашего сайта.
Читать дальше →
Всего голосов 136: ↑125.5 и ↓10.5 +115
Просмотры9.9K
Комментарии 34

Полнотекстовый поиск и его возможности

Разработка веб-сайтов
Многие СУБД поддерживают методы полнотекстового поиска (Fulltext search), которые позволяют очень быстро находить нужную информацию в больших объемах текста.

В отличие от оператора LIKE, такой тип поиска предусматривает создание соответствующего полнотекстового индекса, который представляет собой своеобразный словарь упоминаний слов в полях. Под словом обычно понимается совокупность из не менее 3-х не пробельных символов (но это может быть изменено). В зависимости от данных словаря может быть вычислена релевантность – сравнительная мера соответствия запроса найденной информации.

В статье рассказывается как работать с полнотекстовым поиском на примере БД MySQL, а так же приведу примеры «нестандартного» использования данного механизма.

Читать дальше →
Всего голосов 81: ↑77 и ↓4 +73
Просмотры151.2K
Комментарии 34

Организация постоянных редиректов с www.domain на domain и обратно.

Системное администрирование
Так исторически сложилось, что домены сайтов называют с префиксом www или без.

Есть несколько взглядов как истинно должен называться домен, прогрессивное человечество считает, что без www — nowww.ru, многие западные эксперты считают обратное.

Однако речь не об этом, а о том, как в наших любимых web серверах организовать постоянный редирект туда-обратно.

Читать дальше →
Всего голосов 42: ↑37.5 и ↓4.5 +33
Просмотры20.9K
Комментарии 59

jQuery для начинающих. Часть 2. JavaScript Меню.

jQuery


В первой части были рассмотрены базовые принципы работы селекторов и приведены несколько примеров, в данной статье я постараюсь акцентировать внимание на реализации JavaScript меню для Вашего сайта.

Если Вам готовый код наглядней документации, то переходим от слов к делу, т.е. на страницу с примерами.
Читать дальше →
Всего голосов 84: ↑75.5 и ↓8.5 +67
Просмотры40.8K
Комментарии 26

MySQL Performance real life Tips and Tricks. To be continued.

MySQL
По заявкам трудящихся решил написать еще одну статью, посвященную оптимизации запросов в MySQL.

В прошлой статье habrahabr.ru/blogs/mysql/38907 рассматривались вопросы оптимизации LIMIT, GROUP BY, COUNT.

В данной статье я немного вернусь к вышеописанному и опишу пару примеров, с которыми столкнулся на проекте недавно, после этого приведу еще пару небольших примеров относительно того что такое хорошо и что такое плохо в MySQL.
Читать дальше →
Всего голосов 86: ↑81 и ↓5 +76
Просмотры7.6K
Комментарии 65

Информация

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