Архив категории «Разработка»

Runtime.exec (): cygwin vs Linux

Убил несколько часов на разбирательство с простым на первый взгляд кодом:

String command = "bash -c 'ls > ls.txt'";
Process p = Runtime.getRuntime().exec( command, null, null );

С cygwin всё работает как надо: создается файл ls.txt с результатами работы ls.

Зато под Linux происходит странное:

>: -c: line 0: unexpected EOF while looking for matching `''
>: -c: line 1: syntax error: unexpected end of file

Полный откомпилированный пример здесь. Можете запустить командой 'java ExecRedirect' на своей системе.

Ну что, рассказать решение или сами подумаете? :)

23.10.2007  Метки: , ,   Рубрики: Разработка  Комментариев нет

Сборка проектов: Eclipse и Ant

Сборка Java-проектов производится либо из среды разработки, либо в пакетном режиме. Первый вариант используется в процессе кодирования для исправления ошибок компиляции и отладки. Второй вариант необходим для непрерывной интеграции (continuous integration), тестирования и сборки релизов. Если разработку вести в среде Eclipse, а для пакетной сборки пользоваться Ant, многие правила сборки приходится определять дважды: в Eclipse — каждое действие, которое необходимо выполнить, оформляется в виде билдера (builder), и в Ant — для каждой осмысленной группы действий определяется цель (target).

18.10.2007  Метки: ,   Рубрики: Разработка  Комментариев нет

TreeDL — язык описания структуры деревьев

treedl.png
Эпиграф: не потому, что других идей нет, а потому, что эта — любимая. © забыл чей

На прошлой неделе выпустил новую версию TreeDL 2.3.2. Предыдущую версию за 16 месяцев скачали ну от силы 250 раз. За два дня после выхода этой по статистике SourceForge было скачано 120 файлов, причем новую версию скачали меньше 20 раз. Проект выскочил в Top500.
При этом сообщений о выходе новой версии нигде не было. Анонс в список рассылки я отправил уже после этого ажиотажа, да и подписчиков там 4 человека всего. На вебе никаких новых ссылок на проект, вроде, не появилось. Интересно, откуда взялась такая активность? Есть предположение, что это какой-то робот ходит, но я о таких не слышал.

TreeDL — это мой проект, который появился для облегчения работы над основными проектами по разработке трансляторов.

29.07.2007  Метки:   Рубрики: Разработка, Языки  Комментариев нет

Маленькая задачка для C программистов

Мой коллега Александр Сортов поделился маленькой задачкой для C программистов:
Попробуйте без компьютера сообразить, сколько слов «before» и «after» будет напечатано после выполнения этого кода?

#include <stdio .h>
 
int main() {
  int pid;
  printf("before");
  pid = fork();
  printf("\nafter");
  if(pid == 0) {
    _exit();
  }
  printf("\n");
}
</stdio>

25.07.2007  Метки:   Рубрики: Разработка, Языки  2 комментария

Странности Ant-билдеров в Eclipse 3.3

В Eclipse можно указать четыре события, при наступлении которых будут запускаться внешние билдеры: During a «Clean», After a «Clean», Manual Build и Auto Build. То есть, во время очистки сгенерированных файлов, после этого, а также во время сборки проекта вручную и автоматически. Причем, в последних двух случаях можно дополнительно указать набор исходных файлов (relevant resources) и билдер будет запускаться только при изменении этих файлов.

Билдер, который осуществляет генерацию какого-нибудь файла, часто используется только в последних трех случаях — полную очистку проекта проще осуществить отдельно, не разбираясь, к какому билдеру относятся сгенерированные файлы.

В Eclipse 3.3 Ant-билдеры, для которых указаны relevant resources и которые не работают During a «Clean», не запускаются и After a «Clean»! В 3.2 всё было нормально. Будьте бдительны!

17.07.2007  Метки: ,   Рубрики: Разработка  Комментариев нет

Баг репорты и прочая помощь проектам

Пофиксенный с моей подачи баг в Jamon стал поводом задуматься — какую помощь я оказал открытым (и не только) проектам? Интересно попытаться вспомнить и собрать все это в одном месте. Баг-репорты, между прочим, тоже помощь — бесплатным тестированием.

16.07.2007   Рубрики: Разработка  Комментариев нет

Управление зависимостями в стиле Maven для Ant

Ant и Maven — это распространенные инструменты сборки Java проектов. У Maven есть безусловное преимущество — он умеет автоматически скачивать зависимости, необходимые для сборки проекта. Оказывается, для Ant есть Dependendcies Download task, позволяющая делать то же самое, причем пользоваться Maven-репозиториями.
Ссылка по теме: Dependency Management Choices: Maven, Ant + Maven Antlib, Ivy.

07.07.2007  Метки: ,   Рубрики: Разработка  Комментариев нет

Про отладку

В коллекцию забавных происшествий при отладке программ добавилось ещё одно.

03.07.2007  Метки: , ,   Рубрики: Разработка  Комментариев нет

ppm не работает на x64

Теперь я знаю, что неработоспособность ppm в perl-MSWin32-x64 — это не баг, а фича:

http://community.activestate.com/forum-topic/ppm4-mswin32-x64-404-erro

21.06.2007  Метки:   Рубрики: Разработка, Языки  Комментариев нет

Картинки внутри php файлов

В WordPress плагине Brian's Threaded Comments используются не очень красивые значки '-' и '+' для свернутых и развернутых веток.

14.06.2007  Метки:   Рубрики: WordPress, Разработка, Языки  Комментариев нет


Страница 3 из 4«1234»