Easy Singleton in Groovy

Рубрика: Development, Groovy | 30 August 2007, 11:32 | Vadim Voituk

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

Приведу пример реализации шаблона Singleton на Groovy. [Далее...]

Groovy работа с базой

Рубрика: Development, Groovy, Java | 28 August 2007, 16:27 | juriy

Сегодня возникла простая задачка: необходимо было выбрать из базы фрагменты строк, которые соответствовали некоторым признакам. Коллега засучив рукава принялся писать громоздкий SQL запрос, который то и дело работал не так как надо. В таких случаях я пишу небольшие Java программки, которые решают проблему.

Сегодня у меня возникло желание научить коллегу писать подобные решения, но объяснять человеку как скомпилировать класс, подключить в classpath JDBC драйвера, почему нужно ловить исключения, открывать и закрывать потоки для записи файла, использовать промежуточный объект Statement не было времени. [Далее...]

Agile Project Management with Scrum

Рубрика: Development, Книги | 27 August 2007, 08:06 | juriy

scrum_manage_cover

На выходных (благо, их целых три было) дочитал книгу “Agile Project Management with Scrum”. В этой небольшой заметке я поделюсь своими впечатлениями.

Книга, естественно, о SCRUM. Вернее не о самом SCRUM, как о процессе, а о применении и адаптации SCRUM в самых разных ситуациях. Вся книга составлена на основе пары десятков “кейсов”, т.е. примеров и ситуаций, которые предстоит решить. Некоторые из кейсов показались мне уж слишком “наигранными”: сначала все в них плохо, потом приходит SCRUM и все сразу очень хорошо – менеджмент рад, шерсть программистов сияет здоровьем, ну и.т.д. Но этот маленький нюанс не мешает чтению.

Кейсы разделены на несколько глав. Каждая глава описывает один из элементов или ролей процесса: команду, скрум-мастера, владельца проекта, процесс планирования, и т.д.

Еще один нюанс: формальный обзор самого процесса представлен только в первой главе, то есть материала совсем мало. Где-то до середины книги мне было тяжело уловить суть SCRUM: наверное нужно было вначале прочесть “Agile Software Development with SCRUM”.

Резюме – книгу стоит прочесть. Даже если вы не работаете по методологии Scrum материал полезен “для общего развития”.

Как всегда напоследок о “языке” (о том, который English). Книжечка читается несколько сложнее, чем обычная статья по какой-нибудь технологии, так что если чувствуете себя неуверенно – IMHO лучше держать под рукой словарик.

Simple HTTP server in 10 lines of Groovy code [En]

Рубрика: Development, Groovy | 26 August 2007, 11:35 | Vadim Voituk

There was a simple task to get all HTTP-headers, sent by my mobile browser to web-server.
I have no time to setup some additional software to “catch” HTTP-headers, so i have write such tiny (10 lines only) Groovy script:

if (init)
	data = "";

if (line.size() > 0) {
	data += line + "\n"
} else {
	println "HTTP/1.0 200 OK\n"
	println data
	return "success"
}

Run this code in a TCP listener mode:
$ groovy -l 8000 Web2.groovy
groovy is listening on port 8000

And point your browser to http:///myserver:8000

Using Groovy instead of Ant…

Рубрика: Development, Groovy, Java | 17 August 2007, 09:26 | Vadim Voituk

… or flexible build process using Groovy

Consider you need to create 30-40 build artifacts (depending of some params) during build process.
Or maybe to embed some static data, gathered from remote servers using network protocols into your application.
Or fill-in your test database before starting unit/functional testing with data in a non-trivial way.

The classic way to solve this issue is to create a-thousands-line-long build script that is hardly readable and impossible to support.
[Далее...]

HTTP-ECHO server in 10 lines of code

Рубрика: Development, Groovy | 16 August 2007, 16:11 | Vadim Voituk

Нужно было быстро определить http-заголовки которые отправляет мой web/wap-браузер на сервер при запросе.
Написал такой 10-ти строчный скрипт на Groovy:

[java]
if (init)
	data = "";

if (line.size() > 0) {
	data += line + "\\n"
} else {
	println "HTTP/1.0 200 OK\\n"
	println data
	return "success"
}
[/java]

Запустил в режиме “listener”:
$ groovy -l 8000 Web2.groovy
groovy is listening on port 8000

Перешел в браузере на http:///myserver:8000 и вижу все заголовки, которые прислал мой браузер при запросе. Вуаля!

PHP pre-interview from Yahoo

Рубрика: Development, Работа | 14 August 2007, 08:43 | Vadim Voituk

Nick Halstead опубликовал в своем “The Programming and Management Blog” список из 22 вопросов, которые задавались кандидату на должность PHP-разработчика в Yahoo.

C разрешения Ника, публикую их здесь.
[Далее...]

Не ant-ом единым…

Рубрика: Development, Groovy, Java | 10 August 2007, 08:52 | Vadim Voituk

… или гибкая сборка проекта с помощью Groovy

English version of this article

Предположим, что в пrроцессе сборки вам нужно собрать под 30-40 билдов с разными параметрами.
Или внедрить в приложение статистические данные удаленных серверов.
Или нетривиальным образом заполнить тестовую базу перед началом модульного/функционального тестирования
Ко всем прочему не хотелось в итоге вместо сценария сборки, получить кучу “хаков” больше похожих на лапшу из псевдо-кода и Ant-xml, не поддающихся модификации. [Далее...]

Groovy – it is like Visual Basic 2

Рубрика: Development, Groovy | 2 August 2007, 08:46 | Vadim Voituk

В подтверждение моей мысли о сходстве Groovy и Visual Basic популярный сайт о повышении личной продуктивности lifehacker.com опубликовал заметку под названием “Record macros in OpenOffice with Groovy“, выдержку из которой я приведу ниже:

Бесплатное  расширение к OpenOffice дает возможность записывать и запускать макросы, написанные на Groovy. Не стоит представлять Groovy как дешевую замену для Visual Basic. Groovy имеет собственный синтаксис, похожий на bash с вкраплениями Java. Если вам не хватало возможностей для написания макросов в Microsoft Office, то стоит попробовать для этих целей Groovy. К сожалению он не так просто понимается новичкам как VB/VBA. Однако, начать писать собственные простые макросы на Groovy совсем не сложно.

Groovy + JSON + Prototype in Action [English version]

Рубрика: Development, Groovy, Java, JavaScript/Ajax | 27 July 2007, 14:57 | Vadim Voituk

I’ve heard an opinion that Groovy is good only for simple utilities and prebuild scripts. In this note I’ll try to prove that this is not the way things done in a real world. I’ll try to use Groovy with a couple of popular Web 2.0 technologies.

[Далее...]

Страница 11 из 17« Первая...34567891011121314151617