Результат двухдневных извращений с SSHTools

Август 20, 2009 dulanov 1 комментарий

Задача: из Java удаленно по SSH запустить приложений и забрать log-файл.

Два дня копался с SSHTools, задолбался, посмотрел JSch – ужаснулся. В итоге лень взяла вверх и тупо решил использовать готовые задачи из Apache Ant sshexec и scp с помощью AntBuilder из GDK (Groovy JDK). Смотрим, что получилось:

// SSHRunner.java
import groovy.util.AntBuilder;

import java.util.HashMap;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class SSHRunner {

 private final static Log LOG = LogFactory.getLog(SSHRunner.class);

 public final static int DEFAULT_SSH_PORT = 22;

 private int port;
 private String host, username, password;

 private AntBuilder builder = new AntBuilder();

 public SSHRunner(String host, String username, String password) {
 this(host, DEFAULT_SSH_PORT, username, password);
 }

 public SSHRunner(String host, int port, String username, String password) {
 if (StringUtils.isEmpty(host) || port < 1 || StringUtils.isEmpty(username) || StringUtils.isEmpty(password)) {
 throw new IllegalArgumentException("All parameters must be at least one character");
 }

 this.host = host;
 this.port = port;
 this.username = username;
 this.password = password;
 }

 @SuppressWarnings("serial") public SSHRunner sshexec() {
 builder.invokeMethod("sshexec", new HashMap() {{
 put("host", host);
 put("trust", "true");
 put("port", Integer.toString(port));
 put("username", username);
 put("password", password);
 put("command", "cscript c:\\test.vbs");
 }});
 return this;
 }

 @SuppressWarnings("serial") public SSHRunner scp(final String filepath) {
 builder.invokeMethod("scp", new HashMap() {{
 put("trust", "true");
 put("port", Integer.toString(port));
 put("remoteFile", String.format("%s:%s@%s:c:\\testfile.txt", username, password, host));
 put("localTofile", filepath);
 }});
 return this;
 }

 public static void main(String[] args) {
 new SSHRunner("127.0.0.1", "admin", "password").sshexec().scp("/home/dulanov/Desktop/test.txt");
 }
}
Рубрики:programming Метки: , , , , ,

iBatis enum type handler with Mockito

How to handler multiple-values String-based Enums in Java for Apache iBatis with Mockito unit test: EnumTypeHandlerImplTest, TypeHandlerCallback.

Рубрики:programming

Книги по Semantic Web – что издать?

Август 3, 2009 dulanov 7 comments

Виктор Штонда, генеральный директор издательства «Диалектика»:

На английском языке вышли две знаковые книги по теме Semantic Web.
Насколько они необходимы на русском языке? – зависит от Ваших мнений и
комментариев. В моем блоге обсуждаются две книги-кандидата на перевод
и издание на русском языке: «Semantic Web Programming» и «Semantic Web
For Dummies» («Семантический Веб для чайников»). Только Ваша активная
позиция в столь непростое время будет способствовать появлению новых и
нужных Вам книг.

       

Также стоит отметить третью книгу по этой тематике, вышедшую в этом году: «Programming the Semantic Web».

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

Рубрики:opinion

В мае 2009 года Сеть явно стала умнее

«Судите сами. 12 мая Google объявила о новом подходе к поиску и новых возможностях для пользователей. 15 мая Стивен Вольфрам, отец широко известной в узких научно-технических кругах программы математических расчётов и визуализации Mathematica, запускает сервис «ответов» Wolfram|Alpha. А на следующей неделе, по слухам, компания Microsoft открывает новый поисковый сервис Kumo с элементами семантического поиска…» (прочитать полностью).

Рубрики:webofdata_ru

Web, часть третья

Не совсем разделяю такую точку зрения на Веб 3.0 (моя позиция), но статья интересная и достаточно всеобьемлющая. Перепубликую, чтобы она попала в ленту новостей. Источник – http://www.osp.ru/os/2009/03/8165094/.

В мире шоу-бизнеса успешность проекта часто предопределяет появление в будущем его продолжений. Если фильм имел популярность и принес большую прибыль, продюсеры задумаются о выпуске сиквела и триквела. К сожалению, часто продолжения, используя для привлечения зрителей выигрышное название первой части, значительно уступают ей по качеству. Подобная ситуация наблюдается и в мире ИТ. Вслед за World Wide Web появляется Web 2.0, а сейчас уже вовсю обсуждается Web 3.0, суля широкой публике семантическую революцию. Но что реально стоит за новой технологией?

Дмитрий Левшин

Всемирная Паутина была крупнейшим технологическим успехом, а сегодня Internet-сообщество готовится к выходу Web 3.0, хотя нумерация не совсем точно отражает процесс развития технологий – многие идеи Web 2.0 закладывались Тимом Бернерсом-Ли еще при разработке WWW. Web 3.0 часто ассоциируется с семантическим подходом, который, однако, исследуется уже более десяти лет. Каковы перспективы Web 3.0, произведет ли триквел обещанную его авторами революцию [1]?

Идея Semantic Web проста по сути, но тяжела в реализации – сложно научить программных агентов понимать Web-документы, которые для нынешних браузеров являются книгой на незнакомом языке с кем-то оставленными пометками на полях. Программа лишь ищет эти пометки, поскольку только их понимает и воспринимает как команды, а цель Semantic Web – понять текст. Такой «поумневший» агент сможет, общаясь при этом с другими агентами, автоматически решать многие задачи, с которыми сегодня невозможно справиться без человеческого участия.

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

Читать дальше…

Рубрики:webofdata_ru

Сбор голосов на перевод книги «Semantic Web for the Working Ontologist»

Semantic Web for the Working Ontologist

На Хабрахабре опубликована заметка с просьбой помочь в сборе голосов на перевод книги «Semantic Web for the Working Ontologist». Солидарен с автором заметки, что это лучшая на данный момент книга по тематике семантического веба, и было бы крайне здорово опубликовать её на русском языке.

Предлагается сделать следующее – нужно отправить на электронную почту dallemang@topquadrant.com письмо на английском языке, содержащее запрос на русский перевод. Особенно приветствуются письма от профессоров и лидеров индустрии.

Рубрики:webofdata_ru Метки: , ,

Опубликована диссертация Yves Raimond

Yves Raimond опубликовал интересную на мой взгляд диссертацию, охватывающую очень многие практические темы:

  1. Knowledge Representation and Semantic Web technologies: FOL, Description Logics, RDF, Linked Data, OWL, N3.
  2. Conceptualisation of music-related information: web ontologies, music ontology, time ontology, event ontology, workflow-based modelling
  3. Evaluation of the Music Ontology framework: ontology evaluation, data-driven evaluation, task-based evaluation, latent dirichlet allocation
  4. Music processing workflows on the Web: workflows, concurrent transaction logic, N3, N3-Tr, DLP, publication of dynamically generated results, Semantic Web Services
  5. A web of music-related data: linking open data, dbtune, automated interlinking, quantification of structured web data
  6. Automated music processing agents: N3-Tr, Henry, music analysis, workflows, prolog
  7. Case studies: gnat, gnarql, personal music collection management, zempod, music recommendation

Диссертация пока доступна в формате PDF, на будещее планируется опубликовать также в формате HTML и появление доп. материалов по subj. Будем считать это подарком от Yves на пятилетную годовщину появления спецификаций W3C.

Рубрики:webofdata_ru Метки: , , , , ,

Идея проекта musthave!

Вот и пришло время описать идею проекта, которую вынашиваю уже ни один год.

Метафора

Не упусти самые значимые вещи в жизни людей, привычки, увлечения – возьми от жизни самое лучшее!

Суть идеи

Я по своей сути всегда ищу новые возможности, увлечения, эмоции. Раз в год избавляюсь от одной старой привычки и культивирую новую – это уже стало даже своего рода увлечением.

С каким новым видом спорта познакомиться – йогой, айкидо, самбо, сноубордом, покером, а может гольфом? Почему некоторые парни так успешны с девушками, а некоторые прозябают у компьютера – может попрактиковать пикап? Действительно ли позитивные мысли так благотворно влияют на нашу жизнь? Насколько важен личный финансовый план? Контролировать сновидения, это реально? Что происходит с людьми отказавшимися от алкоголя и практикующих сыроедение?

Только пережив что-то и по прошествии определенного времени можно оценить, стоило это того или нет? И естественно, каждый выбирает по себе. Но тут важно одно – ты меняешься или нет. С одной стороны, можно увлечься новым видом спорт – каякингом, а с другой стороны, посмотреть ещё три сериала к тем тридцати что уже видел. Мне интереснее первое.

Именно поэтому для меня не работают imhone.ru и другие рекомендательные сервисы. Они все нацелены но то, чтобы не меняться, чтобы оставаться в тех рамках, что у тебя уже есть. Пожалуйста – найди кто как и ты увлекается программированием на Java для сервера на технологии JSF и будет тебе счастье, ты не упустишь рекомендацию прочитать свежую книгу по этой тематике. Скукатища!!!

В идеале мне нужен сервис, который бы аккумулировал самые важные вещи и события в жизни людей, все то что на них существенно повлияло. Возьмем, к примеру, меня самого, что я считаю самым важным с своей жизни, что однозначно было MustHave!? По мне это беговые лыжи, плавание, еженедельные голодания, отказ от алкоголя и табака, качественное техническое образование, наличие личного финансового плана, позитивные мысли. Это все конечно из области привычек, но идея легко переносится на книги, фильмы, компьютерные игры, музыку. У меня есть список книг, фильмов и музыки, которые я категорически рекомендую каждому и мне интересно видеть что рекомендуют другие. Именно, что они считают MustHave!, а не три звездочки напротив очередной серии Гарри Потера или рекомендация сходить посмотреть новый блокбастер от Камеди.

Практические примеры

У меня есть всего один пример ведения общего списка MustHave!, чаще попадаются варианты с описанием приложений к компьютеру, книг определенной тематики и пр.

Рубрики:opinion Метки: , , ,

Команда для удаление всех rubygems

gem list | cut -d» » -f1 | xargs sudo gem uninstall –all (github’s gist)

Первоисточник: Painless Cleanup of Ruby Gems With Similar Names. А если возникли какие-то проблемы с удалением, то вам наверняка сюда.

Рубрики:linux, programming Метки: , ,

Русскоязычное сообщество веба данных

8 декабря мы создали русскоязычный список рассылки полностью посвященный вебу данных (семантический веб, инициатива DataPortability.org, связанные данные – LinkedData и другие практические вопросы публикации данных в вебе).

Цель – создание русскоязычного сообщества и центрального ресурса для него – webofdata.ru, запуск которого запланирован на 10 февраля 2009 года (приурочен к рекомендациям спецификаций W3C по семантическому вебу). На первоначальном этапе на сайте будут собраны переводы англоязычных статей, агрегатор новостей, синдицированная лента заметок с русскоязычных тематических блогов (Иван Бегтин, Сергей Щербак, Даниил Братченко, Михаил Навернюк и др.), раздел ЧАВО (FAQ).

Мы уже перевели одну, интересную с нашей точки зрения, статью и опубликовали перевод на Хабрахабр. Сейчас активно допереводим другие англоязычные статьи («Что такое RDF и для чего он хорош?» и «Часто задаваемые вопросы о семантическом вебе W3C») и формируем глоссарий терминов. Также идет обсуждение различных аспектов веба данных.

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

Рубрики:webofdata_ru Метки: , , , ,