Getting Started with Grails review

Рубрика: Development, Groovy, Книги | 21 July 2007, 12:07 | Vadim Voituk

Getting Started with GrailsБудучи в отпуске прочел “Getting Started with Grails” авторства некоего Jason Rudolph.
Книга доступна для бесплатной загрузки в формате PDF на сайте InfoQ.com (но требуется регистрация на сайте).
В течении всей книги, для примера, как демонстрация возможностей Grails-фреймворка разрабатывается некое web-приложение обслуживания документооборота спорт-трека.

Впечатление сложилось двоякое.
С одной стороны удивляешься как все легко, просто, гибко и главное быстро получается.
Радуешься отсутствию необходимости писать тонны конфигурационных xml-файлов.
Хвалишь продуманную и стандартизированную структуру всех проектов на Grails.

С другой стороны не покидает чувство непричастности к происходящему – уж больно много за тебя делает фреймворк, а что конкретно он делает на более низком уровне часто остается загадкой.
При чтении книги постоянно возникает вопросы а-ля “а если я хочу не так-то, а вот так-то”, ответ на которые сразу в голову не приходит – в результате получается ситуация когда вроде все прочитал-понял-проверил, но что-то более глобальное от тебя ускользнуло.

Несмотря на описанные “минусы” прочитать книгу советую.
Особенно тем, кто мало знаком с подходом, принятым в Rails-фреймфорках – как минимум для расширения кругозора и причислению себя к одной из армий “программеров-мышкокликкеров” или “любителей контролировать все от А до Я”.

Замерял производительность утилиты log2db (складывает логи в БД)
- на PHP – время исполнения 4 минуты,
- на Groovy – время исполнения 2 минуты ,

- на php – 97 строк кода + регулярка 14 строк в отдельном файле
- на Groovy – 48 строк кода вместе с регуляркой и двумя assert-тестами.

Почти линейные метрики получаются – 2 раза меньше кода – в 2 раза выше производительность :)
Я уже не говорю про такие неизмеряемые величины как “читабельность кода” и “элегантность решения”.

Zergey Volchkov interview

Рубрика: Development | 2 July 2007, 13:12 | Vadim Voituk

Уже давно лелею идею об организации в рамках этого блога серии бесед-интервью с интересными деятелями украинской ИТ-индустрии. И вот первый шаг на этом пути сделан – представляю вам результаты беседы с лидером компании “Zeus Outsourcing Company” Сергеем Волчковым [Далее...]

Tomcat DBCP leak

Рубрика: Development, Java | 26 June 2007, 08:12 | juriy

Хочу описать небольшие, но крайне неприятные грабли, по которым мне довелось потоптаться. Грабли заключаются в том, что Tomcat не закрывает открытые соединения DBCP пула после undeploy/stop/redeploy.
Эффект следующий: вы спокойно отлаживаете какой-нибудь проектик, который использует DBCP. Через часа полтора-два отладки, приходит злой DBA и сообщает, что вы “совсем охренели по 700 сессий держать”. Если для пользователя, под которым вы ходите в БД установлено ограничение по количеству сессий, то вы получаете ошибку вроде “Exceeded simultaneous session per user limit” ну или что-то вроде того.

[Далее...]

Tomcat clustering

Рубрика: Development, Java | 25 June 2007, 08:21 | juriy

Эта заметка посвящена тому, как развернуть кластер из Tomcat серверов и настроить простую балансировку нагрузки для кластера.

Начнем сначала. Зачем нужен кластер? Обычным приложениям, которые обслуживают относительно небольшой поток пользователей и к которым не предъявляются серьезные требования со стороны бизнеса, кластер, возможно и не пригодится.

Совсем по-другому обстоят дела с теми приложениями, которые являются ключевыми для функционирования бизнеса, к примеру, приложения которые обрабатывают биллинговые операции. Если “ляжет” сервис такого рода, то некоторый бизнес-процесс, тоже перестанет функционировать.

[Далее...]

More GRails video

Рубрика: Development, Groovy, Java | 22 June 2007, 08:22 | Vadim Voituk

In addtitional to my previous “Groovy & GRails video” post.

Threre is some introductions to the main features of GRails web applications framework: [Далее...]

Groovy & GRails video

Рубрика: Development, Groovy | 13 June 2007, 14:52 | Vadim Voituk

Предлагаю вниманию читателй небольшую подборку видеопрезентаций на тему Groovy и GRails. [Далее...]

Asterisk PBX + C# (AGI)

Рубрика: Development, Mobile | 7 June 2007, 09:37 | crud

Asterisk – free PBX application for creating cool IVR service.

I’m was wonderin’ when see that Asterisk (*) can execute compiled .NET files as extension and dialplan schema.

AGI is Asterisk Gateway interface. It can be used to extend asterisk functionalities with help of different programming/scripting languages like C#, Perl, PHP etc.

For start the first thing you need to have installed in your box is Mono Tone. That is an open source project to use .NET Framework in Linux.

You can download Mono-Tone from http://www.mono-project.com/Downloads.

After installing you can use .NET assemblies and execute .exe files. You can compile any C# files with – mcs command line which is equivalent to csc in Windows. And you can run .exe file with mono command. But wait! Don’t go too fast because although you can run .exe file using mono command in Mono Project but AGI won’t execute your executables using mono. Asterisk and your .NET assembly share same console so you need to pass data from your program directly to Asterisk. You need to do some configurations to be able to run .NET assemblies directly and without mono command. For that you need to configure your binfmt. You can find the configuration HERE. (Find solution under Can I run Mono applications without using ‘mono program.exe’?

After that if you plan to restart your box in order to have same configuration after entry you need to add same configuration to /etc/rc.local

You need to place monotone.dll and your .net assemblies in /var/lib/asterisk/agi-bin/ and your sound files (in .gsm format) in /var/lib/asterisk/sounds/.

Now you are ready to start with your first program.

Планы

Рубрика: Development, Just a life | 3 June 2007, 21:17 | juriy

Тяжелый выпал месяц. Любимый alma mater ненавязчиво намекает на то, что пора защитить диплом. С другой стороны – руководство наконец-то приняло решение, которое должно было принять еще пол года назад и выделело мне 10 рабочих дней на рефакторинг самого хрупкого проекта. По этому поводу добавилось много радостных моментов, вроде нагрузочного тестирования по ночам. Последний штрих внесла компания Квазар-Микро, которая любезно перенесла курсы аккурат на следующую неделю.
Так что теперь начинается самое веселое – задачка “со звездочкой” по тайм менеджменту: как получить диплом в универе и 2 сановских сертификата за две недели и при этом не порваться.
Такой замечательный опыт бывает только однажды в жизни, поэтому я постараюсь регулярно оставлять заметки в блоге. Небольшой анонс – в самое ближайшее время я напишу несколько заметок на такие темы:

1. Сертификат SCJP – что нужно сделать, чтобы стать сертифицированным Java программистом.
2. Каждый день с 4-го по 8-е июня я буду выкладывать информацию о том, какие технологии рассматривались в этот день в учебном центре, и что нового для себя я почерпнул.
3. Учебный центр Квазар Микро – комментарии учаcтника. Или “Тренинг за 7000 гривен – стоит ли овчинка выделки”. Завершающая заметка, которая подведет итог – насколько полезным был курс Квазара.
4. Сертификат SCBCD. Докажи, что знаешь EJB.

Окей, следующие пара недель будут действительно хардкорными. Надеюсь, что заметки вам понравятся.

Groovy: if для невнимательных

Рубрика: Development, Groovy | 21 May 2007, 14:28 | Vadim Voituk

Есть в Groovy такая синтаксическая “фишка” как блокировка присваивания в условии оператора if().
Суть её состоит в том, что если при разборе условия в синтаксическое дерево, в вершине оказывается оператор присвоения, то такой код не проходит синтаксическую валидацию. [Далее...]

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