Как стать автором
Обновить
112
0
stab @stab

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

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

Определение нечетких дубликатов для коротких документов

Время на прочтение3 мин
Количество просмотров7.3K
Хочу поделиться простым, но эффективным алгоритмом определения нечетких копий документов. Есть много статей об использовании для этой цели алгоритма шинглов. Ходят слухи, что большие поисковые системы используют очень похожий алгоритм у себя. Однако, все признают, что шинглы плохо подходят для коротких (3-5 предложений) документов. А в моей задаче надо было работать именно с такими документами. В качестве решения предлагают закольцовывать текст, чтобы как бы сделать из него длинный, но мне кажется, что это не очень правильное решение, точность распознавания дублей все равно будет низкая.

Итак, описание алгоритма, который я использовал:
Читать дальше →
Всего голосов 64: ↑60 и ↓4+56
Комментарии42

20 «НЕ» для веб-дизайнеров

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

У каждого дизайнера есть ряд правил, которыми он руководствуется в своей работе. И нередко памятки, составленные из таких правил от опытных дизайнеров служат хорошим подспорьем для начинающих. Некоторое количество таких правил у меня есть тоже. Правда, они касаются того, чего НЕ следует делать при изготовлении макета. Некоторые могут показаться банальными и очевидными, другие даже вызовут у кого-то недоумение. Но мне они очень помогают и, я надеюсь, какие-то из них так же будут полезны тем, кто занимается веб-дизайном или желает приобщиться к этой области разработки сайтов.
Читать дальше →
Всего голосов 196: ↑152 и ↓44+108
Комментарии178

Пуленепробиваемый HTML: 37 шагов к идеальной разметке

Время на прочтение11 мин
Количество просмотров20K
Примечание: это не полный перевод статьи. Я выбрал только самые интересные лично для себя пункты. Статья не претендует на свежесть, но возможно даже люди хорошо знакомые с версткой найдут для себя что-то интересное. Статья затрагивает некоторые аспекты семантики верстки с конкретными примерами.

Под катом много букв! Чтоб не потеряться в их обилии все пункты выделены заголовками.
Читать
Всего голосов 144: ↑135 и ↓9+126
Комментарии83

MVC Framework: большое введение для начинающих

Время на прочтение16 мин
Количество просмотров81K
Необходимое отступление: не так давно я разместил статью предназначавшуюся для печатного издания. Приведенная ниже статья имеет ту же самую судьбу: она не попала в печать в связи с тяжелым положением журнала. Как и в прошлый раз, я решил опубликовать статью на Хабре, благо тематика попадает под формат. Необходимо заметить, что статья оформлена и содержит текст для журнала, если бы она готовилась для Хабра, то некоторые часть могли бы быть изменены. Надеюсь, статья вам понравится.

В последнее время заметно, что компания Microsoft уделяет повышенное внимание развитию своих средств разработки, новым инструментам и механизмам разработки программ на своей платформе .net. Быстро развивается язык C#, четвертая версия которого не за горами. Представлен и активно продвигается новый язык F#. Для разработчиков баз данных разработан Entity Framework, который уже доступен в виде финальной версии в первом сервиспаке к .Net Framework 3.5 и Visual Studio 2008. Microsoft активно занялась и клиентской частью разработки web-проектов. Для нашего внимания предложен путь развития Ajax.Net 4.0. Internet Explorer 8 все больше соответствует стандартам и становится привлекательным инструментом для web-программистов, так например, его вкладка Developer Tools включает в себя профайлер JavaScript. Очень хорошей новостью стало недавно объявление о полной поддержке и включении JavaScript-библиотеки jQuery в следующее обновление Visual Studio. В этом свете возникает вопрос, что же предложено разработчикам ASP.NET? Ответ — MVC Framework. Целью данной статьи рассмотреть некоторые общие проблемы, с которыми могут столкнуться программисты, решившие использовать MVC Framework для своих web-проектов, и их решения.
Читать дальше →
Всего голосов 65: ↑59 и ↓6+53
Комментарии71

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

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

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

Критерии 100% читаемости сайтов

Время на прочтение5 мин
Количество просмотров3.4K
Перевод статьи Oliver Reichenstein «The 100% Easy-2-Read Standard».

Большинство сайтов доверху наполнены мелким текстом, который больно читать. Но зачем? Нет причины вжимать так много информации в экран. Это глупая коллективная ошибка, которая относится к временам когда экраны были действительно маленькими. Так что…

screen vs magazine
Экран и журнал: 100%-размер шрифта — это не много. Фотограф: Wilson Miner.

Не заставляйте нас изменять размер шрифта

Мы не хотим изменять настройки браузера каждый раз когда посещаем новый сайт!

Читать дальше →
Всего голосов 100: ↑91 и ↓9+82
Комментарии133

Манипуляции с аудио, как с MIDI

Время на прочтение2 мин
Количество просмотров6.7K
На Хабре проскакивали упоминания про новые интересные возможности обработки фото или видео, но тоже самое происходит и в аудио-среде. Не заметили, что наши «звезды» в последние годы стали лучше попадать в ноты? :)

Суть технологии: даже многоголосое аудио уже можно редактировать как MIDI — изменять высоту, длительность, время начала, громкость. Смотрите видео.



В чем прелесть и как этим воспользоваться?
Всего голосов 67: ↑64 и ↓3+61
Комментарии75

Разработка на PC и производительность — Memory Latency

Время на прочтение7 мин
Количество просмотров11K
Herb Sutter (автор Exceptional C++, бывший глава ISO C++ standards committee, мистер Free Lunch Is Over и прочая, и прочая) работает в Microsoft и иногда по средам читает атомные лекции.

Я наконец-то на одну такую попал, и очень радовался. На умных мужиков всегда радостно поглядеть и послушать.
Для отчета — кроме Херба, видел живого Олександреску и живого Walter Bright (который "D").

Лекция называлась «Machine Architecture: Things Your Programming Language Never Told You» (здесь можно скачать презентацию и видео) и была про конкретную часть abstraction penalty — Memory Latency.

Я попытаюсь коротко рассказать о ключевой мысли лекции. Она простая, очевидная и тысячу раз сказанная. Думаю, еще раз повторить азбуку — никогда не повредит.
Читать дальше →
Всего голосов 142: ↑135 и ↓7+128
Комментарии70

Подсветка текста в «TextArea»

Время на прочтение4 мин
Количество просмотров20K
Эта статья покажет, как в современных браузерах можно сделать подсветку текста в поле редактирования (WYSIWYG).
Пример можно посмотреть, в google.docs или на некоторых продвинутых форумах.

Уверен, многим это будет интересно.

Атрибут contentEditable и параметр designMode


Именно contentEditable или designMode и делает для нас всю основную «грязную» работу.

Если этот атрибут поставить в тег, то всё, что внутри тега, становится автоматически редактируемым.

<html><head></head><body>
  <div contentEditable="true"><b>C</b>ontent<u>!!!</u></div>
</body></html>
работающий пример

Этот атрибут не поддерживается сейчас некоторыми старыми браузерами (например, FireFox 2.0). Но есть более «глобальный» параметр страницы, который сейчас поддерживают все браузеры, который нам может помочь —
designMode
Всего голосов 64: ↑55 и ↓9+46
Комментарии28

Стэнфорд открыл учебные материалы по программированию и ИИ

Время на прочтение1 мин
Количество просмотров6.1K
Стэнфордский университет выложил в открытый доступ под лицензией Creative Commons содержание десяти учебных курсов по программирование, искусственному интеллекту, линейным системам и оптимизации. Воспользоваться этими уникальными материалами могут преподаватели и студенты со всего мира.

Каждый курс содержит видеозаписи лекций, полные тексты и тезисы, а также практические задания и экзаменационные билеты. Материалы практически полностью совпадают с той программой, по которой учатся студенты-очники в Стэнфорде. Чтобы скачать материалы, не требуется никакой регистрации или специального запроса. Они просто выложены в открытый доступ в ZIP-архивах примерно по 300 МБ, а видеоролики ещё продублированы на YouTube.

Вот список открытых курсов:
Всего голосов 96: ↑95 и ↓1+94
Комментарии42

Пишем свой первый Windows-драйвер

Время на прочтение5 мин
Количество просмотров135K
Итак, после моей предыдущей статьи я понял что тема про программирование драйверов Windows интересна хабровчанам, поэтому продолжу. В этой статье я решил разобрать простую программу-драйвер, которая делает только то, что пишет отладочное сообщение «Hello world!» при старте драйвера и «Goodbye!» при завершении, а также опишу те средства разработки, которые нам понадобятся для того, чтобы собрать и запустить драйвер.

Читать дальше
Всего голосов 99: ↑95 и ↓4+91
Комментарии36

Программирование в ring0 для Windows: вводная статья

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

По долгу службы мне пришлось столкнуться с программированием драйверов под Windows. Люди, которые никогда не сталкивались с этой задачей могут предположить, что драйвера — это что-то очень сложное и непосредственно взаимодействующее с железом. Отчасти они правы, а отчасти нет. В этой статье я постараюсь рассказать о том, что же из себя представляют Windows драйвера изнутри и с чем мне пришлось столкнуться. Статья является некоторым введением и не содержит «кусков кода».

Читать дальше →
Всего голосов 120: ↑112 и ↓8+104
Комментарии32

Про брейкпойнты

Время на прочтение4 мин
Количество просмотров18K
Думаю не ошибусь, если напишу, что каждый программист когда-либо пользовался отладчиком, отлаживал программу пошагово, устанавливал брейкпойнты и т.п. При этом некоторые программисты не любят отлаживать. Другие — обожают. А большинство просто использует отладчик не задумываясь о любви и ненависти, ведь это просто еще один удобный инструмент для работы.
Для многих программистов отладчики — это черный ящик. Они умеют с ним обращаться, но не знают, как он работает. Я не говорю, что это плохо — в подавляющем большинстве случаев можно легко отлаживать программу без знания устройства отладчика.
А для тех, кто хочет заглянуть внутрь черного ящика, я написал эту небольшую статью.
Тут я расскажу про одну из самых загадочных (по крайней мере для меня) возможностей отладчиков — про работу с брейкпойнтами. Я постараюсь рассказать это максимально просто и без лишних деталей. Однако я пишу эту статью для тех читателей, который уже знают что такое брейкпойнты и умеют их использовать.

Вы когда-нибудь задумывались, что происходит, когда вы нажимаете «Вставить брейкпойнт»? Или о том, как отладчик может добавлять брейкпойнты в код на лету и удалять их? О том, как работают брейкпойнты с условиями? О том, тормозят ли множественные установленные брейкпойнты выполнение программы?
Читать дальше...
Всего голосов 110: ↑101 и ↓9+92
Комментарии69

Список адресов антивирусных компаний для сабмита подозрительных файлов

Время на прочтение1 мин
Количество просмотров1.1K
Навеяно харбатопиком [Свежая malware] История о Feels-Energy.com

Куда отослать подозрительный файл, если после проверки на Virus Total часть антивирусов молчат?
Под катом список адресов — просто скопируйте их в поле To:
Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии22

Визуализация reflow

Время на прочтение1 мин
Количество просмотров2.1K
Reflow — это процесс вычисления размеров составных блоков Web-страницы.

Сатоши визуализировал данный процесс, происходящий в недрах движка Gecko. Одним словом, он сделал «красиво».

Как он это сделал?
Всего голосов 104: ↑95 и ↓9+86
Комментарии41

О безналичных деньгах и банках (часть первая)

Время на прочтение5 мин
Количество просмотров12K
На сегодня в России существует и действует вполне нормальная система безналичных платежей. Конечно, у понятия «безналичный» существует множество синонимов, навроде «по банку» и т.д., но все это суть одинаково.

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

Читать дальше →
Всего голосов 1: ↑1 и ↓0+1
Комментарии64

38 статей о создании закругленных углов на сайтах

Время на прочтение4 мин
Количество просмотров12K
Моя статья на Временно.нет
38 статей о создании закругленных углов на сайтах
Часто сталкиваешься с необходимостью создания блоков с круглыми краями. Задавшись вопросом как вообще можно решить поставленную задачу, сделал подборку интересных статей и уроков на данную тему.

Здесь представлен обзор 38 статей, разбитых на 4 категории по способам реализации.
Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии79

Бесплатный сервис для выслеживания потерянных ноутбуков

Время на прочтение2 мин
Количество просмотров28K
В наши дни потерять ноутбук — значит лишиться значительной части собственной цифровой жизни. Потеря важных фотографий, записок, паролей, веб-ссылок, файлов зачастую гораздо важнее, чем несколько сотен долларов на новое железо. Вот почему вчерашний запуск проекта Adeona так важен для всех нас.

Adeona — это открытый и бесплатный проект. Названный по имени римской богини Адеоны, которая помогала потерянным детям найти путь обратно к маме, этот сервис отслеживает IP-адрес потерянного ноутбука. Сервис работает просто: сначала нужно скачать специальную программу-шпион (с открытыми исходниками), после установки эта программа начинает посылать зашифрованные послания на распределённый хостинг OpenDHT. Если ноутбук когда-нибудь потеряется, то пользователь скачивает другую программу, вводит свой логин и пароль, и получает всю информацию в расшифрованном виде, в том числе IP-адреса всех подключений ноутбука к интернету, а также служебную информацию обо всех окружающих маршрутизаторах (точках Wi-Fi). Этих данных может быть вполне достаточно, чтобы вычислить злоумышленника и быстро вернуть пропажу.

Версия «Адеоны» под Mac способна даже задействовать встроенную в ноутбук веб-камеру и сделать снимок злоумышленика.

Вся логика системы заточена на то, чтобы даже операторы сервиса не могли получить приватную информацию о владельце ноутбука в процессе работы программы-шпиона. Весь код открыт и используется надёжная криптография, так что без знания логина и пароля приватные данные невозможно расшифровать.

В альтернативных коммерческих сервисах, во-первых, приватные данные не так хорошо защищены, а, во-вторых, эти сервисы просто не бесплатные.

Поскольку код программы открыт, то любые разрабогтчики могут усовершенствовать программу и создать версию, например, для выслеживания потерянных «айфонов».
Всего голосов 36: ↑35 и ↓1+34
Комментарии79

10 лучших вебсайтов по обучению Photoshop

Время на прочтение1 мин
Количество просмотров56K
Вместо того, чтобы тратить впустую время, обыскивая сеть, в поисках хороших уроков по Photoshop, придерживайтесь этого списка.

PS Heroперейти


PSD tutsперейти


Tutorial 9перейти

Читать дальше →
Всего голосов 83: ↑73 и ↓10+63
Комментарии61

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность