Pull to refresh
0
0
Send message

Применение алгоритмов нечеткого поиска в PHP

Reading time7 min
Views31K
Вдохновленный топиками о нечетком поиске и фонетических алгоритмах, захотел попытаться реализовать нечто подобное похожее на гугловское «Возможно, вы имели в виду: ...» средствами PHP.

Для исправления опечаток в словах понадобится:
Расстояние Левенштейна (или расстояние Дамерау-Левенштейна — разница будет незначительной) — levenshtein()
Metaphonemetaphone()
Алгоритм Оливера — similar_text()
База русских слов (с падежами, учетом времен и т.д.).
Читать дальше →
Total votes 59: ↑56 and ↓3+53
Comments22

HTML5 как победа научного материализма

Reading time15 min
Views6.3K
Стандарт HTML5 уже почти готов к использованию. Где-то все еще идут жаркие споры по конкретным секциям DOM, видеокодекам, анимации и прочим 3D, но основа HTML5 — его синтаксис, атрибуты и теги — уже устаканились. Эти разделы стандарта не меняются уже многие месяцы; окончательно и по факту их зафиксируют релизы IE9 и FF4, после чего какие-либо их изменения в рамках пятой версии станут невозможны.
Так как костыли для старых версий IE уже созданы и обкатаны, то уже совсем-совсем скоро, начиная новый проект, можно будет открыть свой любимый редактор и, не скрывая наслаждения, написать

<!doctype html>

Сначала, конечно, html5 появится скорее в бложиках энтузиастов, чем на серьезных сайтах, но — вот увидите — через несколько лет в каждой региональной газете появятся объявления типа «ремонт и настройка ПК, заправка принтеров, 1С, сайты на HTML5».

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

Эта статья о том, почему стандарт html5 получился именно такой, и что на самом деле скрывается за его внешне обтекаемыми формулировками.
Читать дальше →
Total votes 240: ↑212 and ↓28+184
Comments194

Трансформация и перевод на другие языки web-сайтов на лету при помощи Nginx

Reading time5 min
Views9.6K




В моем первом посте я описал применение Apache Traffic Server в качестве кеширующего reverse-proxy. В отзывах меня спрашивали почему не nginx? Поскольку в ATS все равно не нашлось удобного способа трансформировать контент сайта, то я решил изучить возможности Nginx. Для решения задачи пришлось углубится в дебри документации, и вот что получилось…
Читать дальше →
Total votes 64: ↑56 and ↓8+48
Comments9

Сквозная авторизация на своем сайте через Twitter

Reading time7 min
Views10K
Прошли те времена, когда каждый форум на персональной страничке каждого Васисуалия Свердыщенко требовал отдельной регистрации.
Мы потихонечку привыкаем к тому, что оставить комментарий от имени своего OpenID/OAuth провайдера можно фактически везде. Также для всех популярных CMS давно написаны плагины сквозной авторизации Twitter/Facebook/Google/Яndex/Вконтакте. Кроме того есть DISQUS… Но что делать, если мы хотим предоставить пользователю стороннего сервиса какие-то дополнительные полномочия, не вынуждая его заводить отдельную учетную запись на нашем сайте? Особенно, если для нашей CMS пока нет чудо-плагина?
Я расскажу о том, как быстро и безболезненно прикрутить сквозную авторизацию к экзотической CMS и какие на этом пути встречаются подводные грабли.

Xaraya + Twitter

Поехали!
Total votes 60: ↑54 and ↓6+48
Comments30

Переводы свободных лицензий Apache и Eclipse

Reading time1 min
Views17K
В то время, как переводы GPL версии 2.0, 3.0 и LGPL распространены широко, другие популярные свободные лицензии на русском встречаются редко. Я перевела Apache License 2.0 и Eclipse Public License на русский язык. Жду замечаний по качеству перевода.

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

Интересные факты: знаете ли Вы, что Вы можете потребовать исходный код любого продукта, распространяемого по лицензии EPL?
Total votes 72: ↑70 and ↓2+68
Comments18

Мотивация идеей

Reading time3 min
Views3.9K
Идея – мысль лежащая в основе того или иного поведения.

Как-то на глаза попался процесс дрессировки, который проводили со слонятами. Суть следующая: маленьких слонят привязывали к дереву цепью за ногу. Естественно слоненок вырывался, день неделю, пару недель, но в какой то момент он переставал дергаться и в этот самый момент с него снимали цепь. Все! Этот слон никуда не уходил – хотя он мог это сделать в любой момент! Что произошло? С помощью усилия слоненку внедрили идею, что-то вроде «бесполезно дергаться». Причем идея, лежащая на поверхности, но не подвергающаяся критической оценке, т.е. стопроцентное согласие.
Читать дальше →
Total votes 15: ↑9 and ↓6+3
Comments9

Децентрализованный движок сообщений для форумов, блогов, соцсетей

Reading time7 min
Views991
Попробуем подойти к отображению и хранению сообщений между пользователями Сети как к единому общему серьёзному процессу обмена информацией и накопления знаний. Чтобы в результате мы могли извлекать (т.е. читать) и использовать (применять) движущиеся в этом процессе знания.

У нас есть всё более мощные компьютеры и видеокарты, всё более широкие мониторы и быстрые браузеры. И при этом имеем постоянно застывшие формы сообщений-ответов-цитирований. Только поисковики и функции поиска немного нарушают сложившийся порядок сообщений, выдавая результаты по ранжированию условий просмотра.

Дело даже не в поисковиках. У нас нет функций удобного представления и перестраивания представлений выбранных сообщений или их частей.

Есть список. Есть дерево, не очень удобное из-за двумерности ветвей. И есть много-много почти одинаковых типовых преобразователей представлений в читаемый вид — форумы, блоги и соцсети.
Читать дальше →
Total votes 40: ↑34 and ↓6+28
Comments27

Почему пользователи ненавидят СЭД?

Reading time1 min
Views9.1K

На 111ом вебинаре UX Russia мы с Андреем Сикорским обсуждаем тихий ужас, который творится в Системах Электронного Документооборота. Программисты создают абстрактные системы для абстрактного пользователя. А реальные пользователи отвечают ненавистью, которую легко понять, если посмотреть на эти системы.
Total votes 63: ↑56 and ↓7+49
Comments33

Выходцы из Google и Facebook показали «идеальный» таск-трекер

Reading time1 min
Views10K
Дастин Московиц (технический основатель Facebook) и Джастин Розенштайн (в прошлом продакт-менеджер в Google и Facebook) подняли порядка $10 млн финансирования и готовят смерть Basecamp, Trac, Bugzilla и всем остальным популярным решениям в этом сегменте.

image

www.asana.com

Основные возможности


(Сорри за качество скринов.)


image
Приятный, неброский интерфейс :-)

image
Риалтаймовые обновления с точностью до буквы (хорошо видно на видео ниже)

Читать дальше →
Total votes 74: ↑61 and ↓13+48
Comments138

Китайцы — они такие китайцы

Reading time10 min
Views63K
Сей пост навеян неожиданным для меня интересом хабранаселения к посту уважаемого Milfgard из Мосигры про производство в Китае. Дело в том, что один из моих интересов как раз в производстве батарей – Denaq. И производство расположено ну конечно же в Китае. Я не стану рассказывать про организацию производства, там свои замечательные фокусы есть. Я расскажу именно про заказ чего-то под себя и покупку всякого опта. Что-то вроде алгоритма украшенного реальными историями из личного опыта. Это все будет про электронику, так как я сам именно ею занимаюсь. Истории и иллюстрации я буду выделять курсивом. Кому скучно читать общие выводы – читайте только их.
Читать дальше →
Total votes 316: ↑305 and ↓11+294
Comments124

Хранение данных в Google App Engine

Reading time7 min
Views5.4K
За основу данной статьи взята запись в блоге Ника Джонсона (Nick Johnson). В дополнение к ней приведено немного цифр, актуальных на данный момент и добавлены некоторые заметки.

App Engine предоставляет множество способов хранения информации. Некоторые (например, хранилище данных) хорошо известны, но другие почти нет, и у всех них характеристики различаются. В этой статье будут перечислены различные возможности и описаны преимущества и недостатки каждой из них, так что Вы сможете принимать решения, имея больше информации о возможностях хранения данных.
Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments20

Подача документов в суд в электронном виде

Reading time2 min
Views35K
После вступления в силу 228-ФЗ стала возможной подача документов в арбитражные суды в электронном виде. Дело оставалось за малым − разработать полноценную электронную услугу, с помощью которой это будет возможно. Итак, встречайте сервис электронной подачи документов «Мой арбитр», который лишает вас таких прелестей жизни, как очереди и общение с любезным персоналом судов.

Теперь подать, например, исковое заявление можно прямо из дома.



Давайте этим и займемся
Читать дальше →
Total votes 79: ↑72 and ↓7+65
Comments42

6 шагов загрузки Linux на пальцах

Reading time5 min
Views213K
imageНажмите кнопку включения питания на вашем системнике, и спустя несколько секунд вы увидите окно входа в систему.

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

Я предлагаю вам познакомиться со следующими уровнями типичной загрузки Linux:
Читать дальше →
Total votes 195: ↑177 and ↓18+159
Comments87

Три самых полезных навыка, которые я приобрел 5 лет назад

Reading time5 min
Views11K
Я работаю в автоматизации тестирования уже более пяти лет. Более всего я работал с ОС Windows. Мы пишем скрипты на Borland SilkTest. Я знаком и с другими средами разработки автоматизированных тестов, такими как QTP и TestComplete – у каждого продукта есть свои достоинства, но, к сожалению, и свои недостатки. Возникают проблемы, которые очень сложно решить «не выходя из системы»*
Читать дальше →
Total votes 122: ↑85 and ↓37+48
Comments66

eBay API: Первые шаги

Reading time5 min
Views31K
Как известно начать изучать что либо труднее всего, eBay API даже при том что у него нормальная документация не исключение. Я сам только недавно начал его изучать и пришлось плотно полазить по доке и сторонним ресурсам прежде чем в голове начала складываться нужная картина.
Этот пост предназначен для тех, кому нужно быстро начать работать с eBay API ну и для меня самого, что бы в будущем ничего не забыть.

Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments17

Как определить язык текста?

Reading time2 min
Views39K
imageХочется раз и навсегда решить проблему определения языка пользовательского ввода на сайте. Представьте, что я делаю многоязычный Habrahabr :-) и не хочу спрашивать у пользователя, на каком языке он пишет. Думаю, компьютер должен справится с такой проблемой.

Внутри небольшое исследование вопроса
Total votes 70: ↑50 and ↓20+30
Comments73

jQuery плагин, для Ajax загрузки видео на YouTube

Reading time6 min
Views12K
Недавно я написал небольшой плагин на jQuery и PHP. Функционал простой: посредством Ajax задается описание и загружается видео на YouTube, плагин вернет статус загрузки, и если она прошла успешно — id видео. Плагин может применяться на любом сайте, и легко вставляется в любую CMS.

Все началось с того, что при разработке CMS для сайта местного телеканала я столкнулся с необходимостью сделать загрузку видеороликов на YouTube. Так как на сайт часто будут добавлять видео, то каждый раз логиниться на YouTube, заливать туда ролик, получать на него ссылку, лезть в CMS и вставлять её туда — очень напряжно. Причем, желательно делать это через Ajax, чтоб можно было легко включить плагин в любой проект.

Читать дальше →
Total votes 51: ↑48 and ↓3+45
Comments15

Новый программерский жаргон

Reading time7 min
Views51K
Посетителям сайта stackoverflow.com был задан вопрос: «Какие программерские термины вы придумали, так чтобы они стали популярны в ваших кругах (то есть вы слышали, что кто-то их повторяет)?

Ниже — вольный перевод самых популярных ответов.

Читать дальше →
Total votes 411: ↑373 and ↓38+335
Comments193

Жаргон программистов

Reading time4 min
Views65K
Наткнулся на Stackoverflow.com на интересный топик с вопросом о новом в программистском жаргоне. Предлагаю здесь подборку наиболее интересных выражений.

Египетские операторные скобки

if (a == b) {<br>  printf("hello");<br>}<br><br>
Читать дальше →
Total votes 314: ↑284 and ↓30+254
Comments282

Information

Rating
Does not participate
Registered
Activity