Хочу представить сообществу перевод моей статьи на CodeProject, в которой я описываю процесс создания DSLей с использованием языка F#.
Алексей Борискин @voidus
User
Data Extracting SDK: Часть 1
4 min
1.6KData Extracting SDK написан на .NET Framework 3.5 и содержит средства для извлечения и анализа данных из текстовых файлов и web-ресурсов. Прислушиваясь к результатам опроса выкладываю первую версию Data Extracting SDK CTP (Community Technical Preview) на всеобщее обозрение.
Основные возможности:
Основные возможности:
- Html Processing — загрузка, анализ html
- DOM анализ — получение ссылок, изображений, таблиц
- извлечение ссылок, фильтры, возможность написания своих фильтром, глубокий анализ сайта
- извлечение электронных адресов, телефонов, urls и т.д.
- анализ контента сайта (количество элементов, плотность слов)
- возможности для SEO анализа
+27
Очищаем веб-страницы от информационного шума
5 min
3.6KПриветствую всех!
Предыдущие мои статьи были, в основном, о теоретической части Data Mining, сегодня хочу рассказать о практическом примере, который используется в кандидатской диссертации (в связи с этим данный пример на данном этапе развития нельзя считать полноценным работающим проектом, но прототипом его считать можно).
Будем очищать веб-страницы от «информационного шума».
Предыдущие мои статьи были, в основном, о теоретической части Data Mining, сегодня хочу рассказать о практическом примере, который используется в кандидатской диссертации (в связи с этим данный пример на данном этапе развития нельзя считать полноценным работающим проектом, но прототипом его считать можно).
Будем очищать веб-страницы от «информационного шума».
+40
Обзор литературы по Data Mining
7 min
66KДобрый день!
Публикация нескольких статей о Data Mining показала высокий интерес сообщества к данной теме. Много вопросов было задано по типу «где почитать» и «с чего начать». Предлагаю вашему вниманию подборку литературы, ресурсов для уверенного старта в данной области.
Публикация нескольких статей о Data Mining показала высокий интерес сообщества к данной теме. Много вопросов было задано по типу «где почитать» и «с чего начать». Предлагаю вашему вниманию подборку литературы, ресурсов для уверенного старта в данной области.
+46
Самоконтроль средствами Wakoopa
3 min
2.5KМне бы хотелось обратить ваше внимание на незаслуженно обойденный стороной на Хабре сервис под названием Wakoopa.
Наверняка, некоторые из хабравчан слышали о нём, а часть из вас с удовольствием им пользуется. Упоминался этот сервис не раз и на страницах Хабра, но та толика информации, которая посвящена Wakoope не дает полной картины и всей полезности этого необычного сервиса.
Сразу оговорюсь, что параноикам не стоит читать этот пост, так как они только ещё больше расстроятся и станут навязывать свою религию другим в комментариях к этой теме.
По словам создателей, Wakoopa является социальной сетью, которая помогает пользователю найти наилучший и наиболее подходящий для него софт, сайты, сервисы и игры. Но по моим наблюдениям, в добавок к этому, это ещё и удобный и наглядный инструмент, для отслеживания вашей активности за компьютером.
Наверняка, некоторые из хабравчан слышали о нём, а часть из вас с удовольствием им пользуется. Упоминался этот сервис не раз и на страницах Хабра, но та толика информации, которая посвящена Wakoope не дает полной картины и всей полезности этого необычного сервиса.
Сразу оговорюсь, что параноикам не стоит читать этот пост, так как они только ещё больше расстроятся и станут навязывать свою религию другим в комментариях к этой теме.
По словам создателей, Wakoopa является социальной сетью, которая помогает пользователю найти наилучший и наиболее подходящий для него софт, сайты, сервисы и игры. Но по моим наблюдениям, в добавок к этому, это ещё и удобный и наглядный инструмент, для отслеживания вашей активности за компьютером.
+33
Ускоряем запуск браузера FireFox
2 min
35KЕщё давно приметил, что мой любимый инструмент, запускается значительно шустрее после установки, чем после многомесячного, активного использования браузера. Заметил, но как распорядится этим знанием мыслей не было. И вот, только что наткнулся на полезную тему, где описано это узкое место, а также дан ещё один совет по ускорению запуска браузера.
И так узкое место при запуске это загрузка .sqlite, базы данных вашего профиля. При интенсивной работе с Фоксом, базы разрастаются, в них появляются «пустые места», ну и главный недостаток, файл базы данных становится сильно фрагментированными. Для решения подобной проблемы существует специальная команда «очистки», точнее операция пересоздаёт файл базы, но уже без пустых мест. Для этого нужно проделать следующее:
И так узкое место при запуске это загрузка .sqlite, базы данных вашего профиля. При интенсивной работе с Фоксом, базы разрастаются, в них появляются «пустые места», ну и главный недостаток, файл базы данных становится сильно фрагментированными. Для решения подобной проблемы существует специальная команда «очистки», точнее операция пересоздаёт файл базы, но уже без пустых мест. Для этого нужно проделать следующее:
+193
OpenSource Система электронных дневников
1 min
7.9KНа Хабре уже были топики об электронных дневниках в России и в других странах. Настала моя очередь по-пиариться.
Началось всё с того, что там где я учусь понадобился электронный дневник. Это не просто прихоть администрации, а необходимость. Просто в нашем лицее есть общежитие и родители по несколько недель не видят своих детей. (Их дневников ещё больше)
Нам нужен простой и удобный способ обмена сведениями об успеваемости учащегося с его родителями без всяких заморочек типа on-line общения с учителем и прочим бредом (на первое время). В качестве инструментов я взял Python и Django. Через месяц был реализован основной функционал. Вот я и подумал: «Чего добру пропадать?» и выложил систему на Google Code под GNU GPL v3. У меня ещё много проблем таких как отсутствие нормального интерфейса и других, более мелких. От хабровчан я прошу порки (первый проект на питоне) и содействия в развитии проекта. Ведь если в школах смогут без проблем поставить электронный дневник без вмешательств посторонних организаций это будет клёво!
P.S. Никогда не умел в письме чётко излагать ход мысли.
P.P.S. Спасибо diphost за хорошее обслуживание и быстрый сервер для дневника (не реклама)
А за что минусы в карму?
Началось всё с того, что там где я учусь понадобился электронный дневник. Это не просто прихоть администрации, а необходимость. Просто в нашем лицее есть общежитие и родители по несколько недель не видят своих детей. (Их дневников ещё больше)
Нам нужен простой и удобный способ обмена сведениями об успеваемости учащегося с его родителями без всяких заморочек типа on-line общения с учителем и прочим бредом (на первое время). В качестве инструментов я взял Python и Django. Через месяц был реализован основной функционал. Вот я и подумал: «Чего добру пропадать?» и выложил систему на Google Code под GNU GPL v3. У меня ещё много проблем таких как отсутствие нормального интерфейса и других, более мелких. От хабровчан я прошу порки (первый проект на питоне) и содействия в развитии проекта. Ведь если в школах смогут без проблем поставить электронный дневник без вмешательств посторонних организаций это будет клёво!
P.S. Никогда не умел в письме чётко излагать ход мысли.
P.P.S. Спасибо diphost за хорошее обслуживание и быстрый сервер для дневника (не реклама)
А за что минусы в карму?
+39
Графика средствами Python
1 min
13KВ издательстве Apress вышла книга Beginning Python Visualization: Crafting Visual Transformation Scripts, посвящённая визуализации данных с помощью Python и смежных инструментов. Это уникальная в своём роде работа, потому что на Питоне такие вещи делают довольно редко. Автор книги говорит, что сам искал такое руководство для своей работы, но не нашёл, и ему пришлось разбираться самостоятельно.
В книге приводится несколько примеров, как можно визуализировать данные. Например, с помощью Python можно извлечь данные из GPS-ресивера через серийный порт и уже на компьютере обработать как душе угодно, в том числе создавать графики и диаграммы. Автор показывает всё это на примере конкретного GPS-приёмника и модуля PySerial.
Самое главное в книге — подробная демонстрация, как работать с известными для визуализации математических и научных данных MatPlotLib, NumPy и SciPy, а также с библиотекой PIL (Python Imaging Library) для простейшей обработки изображений.
Полистать книгу можно в магазине Amazon (по ссылке выше).
В книге приводится несколько примеров, как можно визуализировать данные. Например, с помощью Python можно извлечь данные из GPS-ресивера через серийный порт и уже на компьютере обработать как душе угодно, в том числе создавать графики и диаграммы. Автор показывает всё это на примере конкретного GPS-приёмника и модуля PySerial.
Самое главное в книге — подробная демонстрация, как работать с известными для визуализации математических и научных данных MatPlotLib, NumPy и SciPy, а также с библиотекой PIL (Python Imaging Library) для простейшей обработки изображений.
Полистать книгу можно в магазине Amazon (по ссылке выше).
+31
Сравнительный анализ фреймворков для работы с онтологиями под .NET и Java
6 min
6.1KНи для кого не секрет, что львиная доля проектов, связанных с Semantic Web, разрабатывается на Java. Фреймворки для работы с семантическими онтологиями не являются исключением: все основные проекты (Jena, OWL API, Sesame и т. д.) написаны именно на Java. Единственным серьезным представителем, использующим .NET, является фирма Intellidimension с продуктами RDF Gateway и Semantics.SDK.
В этой статье опишу свой опыт работы с вышеуказанными фреймворками и поделюсь результатами тестирования.
В этой статье опишу свой опыт работы с вышеуказанными фреймворками и поделюсь результатами тестирования.
+19
+30
Огнелис — твики и фишки
3 min
8KМногие мои друзья пользуются Firefox и задают мне вопрос — а почему я пользуюсь Flock? Я им отвечаю — мне нравится, когда у меня в браузере без всяких телодвижений есть доступ до всего, что нужно. Тем не менее, «это все» поедает достаточный объем ОЗУ, не всегда юзабельно и требует «доводки». Как раз про доводку и пойдет речь ниже. Сразу же скажу, про pipeline писать не буду. Остальных опций хватает из about:config.
+57
Последняя проверка перед запуском сайта
3 min
4.1KTranslation
Запуск сайта ответственное мероприятие, надеюсь что этот список контрольных вопросов позволит ничего не упустить из виду.
+69
AppScale — а построй ка мне Google AppEngine сам? Будет сделано!
6 min
1.6KCегодня одна из самых популярных и активных тем какая? Cloud Computing вообще, а один из лучших, оригинальных и ярких его представителей — Google App Engine в частности. Хорошая новость про добавление в платформу возможности работы приложения на Java — может и я попробую, хотя его, в какой то мере конкурент, Stax, о котором я, с прискорбием, никак не напишу, мне намного больше близок и нравиться. Но если вы все же остаетесь приверженцем Python и хотите нечто подобное, но полностью свое — для вас есть хорошая новость. Открытый проект AppScale позволяет развернуть собственную систему облачных вычислений предоставить возможность развертывать и запускать там приложения на Python-е, в принципе, без изменения кода, что для GoogleAppEngine, что написанные специально под систему.
+27
Основы репликации в MySQL
10 min
328KС репликацией серверов MySQL я познакомился относительно недавно, и по мере проведения разных опытов с настройкой, записывал, что у меня получалось. Когда материала набралось достаточно много, появилась идея написать эту статью. Я постарался собрать советы и решения по некоторым самым основным вопросам, с которыми я столкнулся. По ходу дела я буду давать ссылки на документацию и другие источники. Не могу претендовать на полноту описания, но надеюсь, что статья будет полезной.
+68
Релиз JuffEd 0.6.0
3 min
2.7KКак говорится, «тихо и незаметно» вышла новая стабильная версия моего велосипеда свободного кроссплатформенного текстового редактора JuffEd.
На Хабре я пишу о нём впервые, поэтому поясню, что это за зверь.
(скриншот от хабраюзера reaferon):
Разработка началась чисто случайно, как ответ одному товарищу в споре «да блин, на С++ гуй писать просто нереально, замучишься всё руками фигачить, а вот в Delphi....». В качестве ответа был за полчасика-час набросан простой текстовый редактор на Qt с функциональностью а-ля Блокнот из ВинХР. Потом случайно увидел пример, как в Qt делается подсветка кода и прикрутил чисто ради практики. Потом понял, что им вполне уже можно пользоваться, что я и начал делать. Ну и пошло-поехало: фича там, фича тут, публикация на qt-apps.org, фичреквесты от пользователей…
На Хабре я пишу о нём впервые, поэтому поясню, что это за зверь.
(скриншот от хабраюзера reaferon):
Разработка началась чисто случайно, как ответ одному товарищу в споре «да блин, на С++ гуй писать просто нереально, замучишься всё руками фигачить, а вот в Delphi....». В качестве ответа был за полчасика-час набросан простой текстовый редактор на Qt с функциональностью а-ля Блокнот из ВинХР. Потом случайно увидел пример, как в Qt делается подсветка кода и прикрутил чисто ради практики. Потом понял, что им вполне уже можно пользоваться, что я и начал делать. Ну и пошло-поехало: фича там, фича тут, публикация на qt-apps.org, фичреквесты от пользователей…
+116
Построение regexp'a по входным строкам S1..SN
3 min
1.9KВот совершенно недавно столкнулся с задачкой, по которой не смог накопать не то, чтобы каких либо библиотек, но даже теории или алгоритмов. Т.к. время поджимало, решил сам разбираться с задачей. Написал статью для тех, кто с подобной задачей столкнется в будущем, да и интресна критика. Как бы вы решали подобную задачу?
На входе алгоритма есть набор строк S1..SN. Требуется, по данным строкам построить такое минимальное регулярное выражение R, чтобы R(Si)=true, i [1,N] (N порядка нескольких тысяч).
Требование минимальности — не строгое, и доказывать минимальность построенного regexp'a не требуется. Если строки S1..SN обладают некоторой схожей структурой, то regexp должен выявлять эту структуру. Стандартное задание программисту — в меру конкретизировано, но и с некоторой свободой действий.
Итак, задача ...
На входе алгоритма есть набор строк S1..SN. Требуется, по данным строкам построить такое минимальное регулярное выражение R, чтобы R(Si)=true, i [1,N] (N порядка нескольких тысяч).
Требование минимальности — не строгое, и доказывать минимальность построенного regexp'a не требуется. Если строки S1..SN обладают некоторой схожей структурой, то regexp должен выявлять эту структуру. Стандартное задание программисту — в меру конкретизировано, но и с некоторой свободой действий.
+38
«примеры эффективного использования GNU утилит в Linux»
3 min
25KПривет всему сообществу Хабра.
Это мой первый пост и, надеюсь, не последний. Поэтому неизбежны всяческие недочеты, баги и некоторая водянистость текста, так что прошу строго не судить :)
К написанию этого поста меня сподвиг топик «Консоль для новичка.» habrahabr.ru/blog/linux/46610.html, где ISVir поднял острую, на мой взгляд, тему — как доступным языком рассказать новичкам о консоли, не отпугнув их мнимой сверх-сложностью.
Не собираюсь отбирать у ISVir паритет, лишь расскажу о практическом использовании нескольких самых основных утилит «на каждый день», без которых работа в консоли для меня невозможна.
Итак, что мы имеем:
find — поиск файлов. позволяет искать файлы, каталоги, симлинки и другие файловые объекты. find Позволяет задать множество опций поиска таких как:
итак, с места в карьер — поиск всех файлов в каталоге /etc/, измененных за последние сутки:
Это мой первый пост и, надеюсь, не последний. Поэтому неизбежны всяческие недочеты, баги и некоторая водянистость текста, так что прошу строго не судить :)
К написанию этого поста меня сподвиг топик «Консоль для новичка.» habrahabr.ru/blog/linux/46610.html, где ISVir поднял острую, на мой взгляд, тему — как доступным языком рассказать новичкам о консоли, не отпугнув их мнимой сверх-сложностью.
Не собираюсь отбирать у ISVir паритет, лишь расскажу о практическом использовании нескольких самых основных утилит «на каждый день», без которых работа в консоли для меня невозможна.
Итак, что мы имеем:
find — поиск файлов. позволяет искать файлы, каталоги, симлинки и другие файловые объекты. find Позволяет задать множество опций поиска таких как:
- поиск по маске (в имени )
- контроль глубины вложенности поиска
- поиск определенных типов файлов(каталог, симлинки, сокеты)
- поиск по времени создания/модификации файла
- можно задать размер (от и до в диапазоне) файла
- выполнение действий с каждым найденным файлом
итак, с места в карьер — поиск всех файлов в каталоге /etc/, измененных за последние сутки:
+1
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity