Архив Март 3, Среда, 2010
Март 3, Среда, 2010
Одной из задач компьютерной лингвистики является определение словарной формы слова. Для решения этой задачи Яндекс в 2006 году выпустил для некоммерческого использования морфологический анализатор русского языка mystem. Это небольшая консольная программа, которая производит морфологический анализ слов, причем как известных словарю, так и неизвестных.
Сегодня мы представляем новую версию программы, в которую внесли большое количество изменений и улучшений. В первую очередь они коснулись словаря и интерфейса. Основные алгоритмы и принципы работы остались теми же.
По сравнению с предыдущей версией словарь увеличился более чем в два раза (в том числе благодаря помощи проекта AOT). Также мы добавили в mystem частотный словарь русского языка, созданный сотрудниками Института им. В. В. Виноградова на основе Национального корпуса русского языка.
Обратите внимание, поскольку словарный запас программы стал больше, разбор текста в этой версии будет отличаться от разбора того же текста в старой версии.
В интерфейсе мы добавили поддержку различных кодировок и упразднили некоторые устаревшие опции.
Найти всю необходимую справочную информацию, а также загрузить новую версию вы можете на странице проекта. Ждем ваших отзывов, замечаний и предложений.
Команда отдела лингвистики, заботимся о родном языке.

Март 3, Среда, 2010
Буквально, вчера я опубликовал небольшой пост, в котором рассматривался вопрос о готовности внедрения внутрь своего тела микрочипа и степень полезности таких «издевательств» над своим организмом.
Также в ходе обсуждения было выяснено, что неплохо было бы и про живущих среди нас людей с имплантантами рассказать, но «отвалился инет» аж до полудня следующего дня, и, следовательно, я не смог проапгрейдить ту тему, и представляю новую.
Речь пойдет о тех людях, которые не побоялись внедрения имплантантов.
Март 3, Среда, 2010
Так и подмывало озаглавить тему: «Закат компании Гугл близок!», но все-таки слишком уж «желто» было бы
Теперь к делу. Что такое «гомоморфное шифрование» и причем тут Гугл?
Гомоморфным шифрованием называют такую криптосистему, которая позволяет совершать некоторые математические действия с открытым текстом путем произведения операций с зашифрованным (возможно другое математическое действие или даже ряд операций). Например, RSA гомоморфна для операции умножения (тривиально из самого шифрования).
Удивительно, но до недавних пор не существовало криптосистемы гомоморфной для операций умножения и суммирования одновременно, так называемого полностью гомоморфного шифрования (fully homomorphic encryption), т.к. суммы и умножения хватит, чтобы выразить любую математическую функцию. Главная проблема с предыдущими схемами была в том, что каждая операция добавляет некоторый «шум» в криптотекст (посмотрите на формулу RSA и вспомните определение mod), поэтому через некоторое количество шагов накопленный шум делает расшифровку невозможной. Насколько я помню из презентации, говорилось, что подобные схему все же существуют, но они экспоненциональны по «эффективности».
Крэйг Гэнтри (Craig Gentry, PhD Stanford, IBM Research) опубликовал пример первой такой функции в своей PhD диссертации. Не вдаваясь в подробности (да и не буду делать вид, что на 100% понял все математические выкладки), смысл его решения заключается в том, что он использует двойное шифрование. Т.е. через определенное количество шагов он «снимает верхний слой» (первое шифрование) и «убирает» накопившийся «шум».
Как это работает, я расскажу общими словами и примерами, которые он сам использовал в своей презентации. Кому интересна математика и более формальное объяснение — читать диссертацию.
Март 3, Среда, 2010
Почитать описание других паттернов.
Проблема
Возложить дополнительные обязанности (прозрачные для клиентов) на отдельный объект, а не на класс в целом.
Описание
Для более детального понимания проблемы, рассмотрим конкретную ситуацию. Пусть имеется некоторый объект — «кнопка», принадлежащий классу объектов «Кнопка», на который понадобилось возложить дополнительные обязанности. Под обязанностями, в данном контексте, понимаются какие-либо особенности поведения объекта. В случае с кнопкой, можно рассмотреть поведение объекта при его отображении на экране. При этом, будем считать, дополнительными обязанностями — отображение рамки кнопки, надписи, иконки. Важно понимать, что все эти обязанности должны иметь возможность быть наложенными как одновременно, так и по отдельности. Очевидно, первое, что приходит на ум — порождение классов (механизм наследования). Для данной задачи возможно это и выход — расширить класс «Кнопка» семью (23-1 = 7) различными классами, сочетающими в себе всевозможные комбинации обязанностей. Это классы: «Кнопка_С_Надписью», «Кнопка_С_Рамкой», «Кнопка_С_Иконкой», «Кнопка_С_Надписью_И_Иконкой», «Кнопка_С Рамкой_И_Иконкой», «Кнопка_С_Надписью_И_Рамкой», «Кнопка_С_Надписью_И_Рамкой_И_Иконкой». А если таких обязанностей будет не три, а хотя бы десять, не говоря уже про неудобство работы с подобной структурой. Безусловно, порождение классов в таком случае — заведомо проигрышный вариант. Однако, из этой ситуации есть выход — паттерн «Декоратор».
Март 3, Среда, 2010
Начну я пожалуй с места дислокации. Находимся мы в городе Тверь, а вопрос стоит о абонентах которые получали услугу доступа в сеть Интернет. Внезапно, наши абоненты получили письма с принуждением перезаключить договор со сторонней организацией, в противном случае, они будут отключены от сети Интернет. Приложенное заявление от клиента хорошо иллюстрирует ситуацию.

Март 3, Среда, 2010
Первый выпуск экспериментального аудиошоу «Рунетология-блиц» посвящен новому игроку на рынке онлайн-СМИ — деловой газете «Маркер». Ответить на наши вопросы согласился главный редактор издания Александр Малютин, который рассказал о необычной концепции ресурса, нарисовал портрет его потенциального читателя и объяснил, почему на главной странице «Маркера» никогда не будет котировок, новостей и курсов валют.
Послушать предыдущие выпуски и подписаться на RSS подкаста
Страница «Рунетологии» на Facebook
Март 3, Среда, 2010
Каждый веб-разработчик знает, что после POST сабмита формы желательно сделать редирект, чтобы предотвратить повторную отправку данных, когда пользователь захочет обновить страницу. В основном это критически необходимая операция, так как данные формы могут сохраняться в базе данных или учавствовать в платёжной транзакции. И тогда данные не только продублируются, но и спишутся лишние деньги.
Но речь не о деньгах, а о правильном редиректе…
Март 3, Среда, 2010
Март 3, Среда, 2010
В связи с обещанием открыть полноценный русскоязычный сайт EBay на хабре появились хорошие посты о том, как покупать надо, например:
— Советы из личного опыта от olyapka,
— Как правильно покупать от darbin.
У людей был удачный опыт покупок, и они им делятся. Я делюсь своим негативным опытом, чтобы другие пользователи поняли: сложного в покупках ничего нет, но лишняя осторожность все-таки не повредит. Всегда ведь лучше учиться на чужих ошибках, а не на своих!
Март 3, Среда, 2010
Статья представляет вольный перевод главы из книги Effective Java, Second Edition by Joshua Bloch
В статье рассматриваются 3 альтернативных подхода к упрощению использования класса, с конструктором с многими параметрами.