Архив за 17 августа 2013

в 23:34, , рубрики: Без рубрики

Исторически сложилось, что Groovy берет много хорошего у Ruby. В первую очередь, конечно Grails (от Rails), но и Spock (от Spec) и даже где-то Gradle (от Buildr, хотя никто не признается). Сегодня я вам расскажу про еще одну толковую «спертую» штуку — web framework Ratpack.
image
Списан Ratpack с Sinatra, о котором много написано на Хабре, например вот тут.
На мой взгляд, главное преимущество Синатры — что он талантливый певец что это простейший в использовании и моментальный в разработке фреймворк. Создать несколько простых страниц, менять их и видеть результаты налету, и за несколько часов сваять достаточно нетривиальный сайт с динамическим контентом — это как раз то, для чего и был придуман Синатра. Это, своего рода, ответ «ожиревшим» Рельсам. Точно в такой же роли (ответа «ожиревшим» Грейлзам) Синатра и перекочевал в Груви.

Должен заметить, что на сей раз сообщество Груви были не первыми, кто передрал Синатру. Первыми были Scala, со своей Скалатрой (ага, ответ на «ожиревший» Play). Насколько я знаю, решение не делать название похожим на слух, а искать ассоциацию по смыслу, было принято в первую очередь, придя в ужас от звучания названия версии Скалы :)

Ratpack переводится на русский как Крысиная стая, и привязка к Синатре в том, что это тусовка, в которой тусовался Франк Синатра.

А причем тут Java?

Ну, тут, мне кажется, все ясно. В отличие от Руби, где когда-то был lightweight RoR, или от Груви с его Грейлз, в Джаве никогда не было «легковесных» фреймворков. У нас есть либо громоздкие server-side component фреймворки типа JSF и Wicket, либо MVC фреймворки, которые, конечно, легче компонентных монстров, но все равно, требуют нагородить MVC для простейшей странички. Тут, конечно, я говорю о Spring MVC и Struts2. И всё это с жутко медленным циклом разработки «поменял слово? перезагрузи!». Бррр.

Как всегда, преимущество Груви для програмистов Джава — что они чувствуют себя как дома. 99% Java кода работает в Грувях без изменений, поэтому любой Груви фреймворк или инструмент может быть немедленно использован Java программистом.
Ситуация и с ratpack еще лучше — разработчики специально постарались, чтобы можно было писать на чистой Джаве, не задействуя Груви ни на одном этапе разработки. Один из примеров в этой статье будет написан 100% на Java. Кого не интерсует всё это Грувийное шаманство, перекручивает прямо на последний пример. Остальные начинают здесь:
Читать полностью »

Автоматизация сборки .NET приложений — часть 2

Три года назад я писал статью про автоматизацию сборки .NET приложений. Планировалось, что она будет из двух частей. Первая часть — основы использования NAnt и примеры выполнения базовых задач (компиляция проекта, сборка сайта ASP.NET). Во второй части хотел рассказать о более продвинутых задачах типа трансформации конфигов, запуска модульных тестов и т.п.

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

Сейчас я хотел бы предложить вашему вниманию вторую часть, но немного на другую тему, чем планировалось изначально. Я расскажу о написании собственных тасков для NAnt, а также сделаю небольшой обзор библиотеки с тасками, которую я писал для себя последние 4 года. Если интересно, добро пожаловать под кат…

Читать полностью »

Вчера в 03.51 по московскому времени все службы Google, в том числе и поиск, ушли в оффлайн на 1-5 минут. Это хорошо видно в сервисе мониторинга Apps Status Dashboard. Казалось бы, ничего страшного — всего около двух минут. Однако такое событие не могло не отразиться на других сайтах Интернета.

Сервис сбора данных со счетчиков GoSquared зафиксировал общее падение посещаемости сайтов в интернете на 40%. На графике наглядно видно резкое падение и затем скачок трафика:

imageЧитать полностью »

1. Особенности работы с переменными и литералами в Perl6
2. Perl6 — Операции над переменными, анонимные блоки
3. Perl6 — Условные операторы, циклы
4. Perl6 — Работа с функциями
5. Perl6 — Классы
6. Perl6 — Ввод-вывод, модули
7. Perl6 — Комментарии, пробельные символы, скобки
8. Perl6 — Перегрузка операторов
9. Perl6 — Работа с типами данных
В прошлой статье я заикнулся об отлове исключений. Немногие скрипты, что встречались с исключениями, выживали, и слишком много моих скриптов погибло от их рук. Пожалуй, настало время устроить на них охоту. Для тех кому интересно, чем же мы будет их ловить — встречаемся под катом.
Читать полностью »

Из-за того, что в PHP при сравнении строк оператор "==" пытается сначала преобразовать их в числа [1][2] (даже, если оба операнда — строки), результат порой может оказаться неожиданным:

<?php
var_dump('123' == '       123'); // true
var_dump('1e3' == '1000'); // true
var_dump('+74951112233' == '74951112233'); // true
var_dump('00000020' == '0000000000000000020'); // true
var_dump('0X1D' == '29E0'); // true
var_dump('0xafebac' == '11529132'); // true
var_dump('0xafebac' == '0XAFEBAC'); // true
var_dump('0xeb' == '+235e-0'); // true
var_dump('0.235' == '+.235'); // true
var_dump('0.2e-10' == '2.0E-11'); // true
var_dump('61529519452809720693702583126814' == '61529519452809720000000000000000'); // true в php < 5.4.4

Читать полностью »

3D сканер от MakerBot поступит в продажу уже на следующей неделе

Компания MakerBot достаточно известна на рынке 3D печати. Ее принтер Replicator стал популярным очень быстро, вследствие не очень высокой цены и относительно простой эксплуатации. Кроме того, компания не так давно сообщила о намерении выпустить на рынок и 3D сканер, при помощи которого можно было бы получать модель небольшого реального объекта, и эту же модель отправлять на 3D-принтер, для создания копии (не такой качественной, как оригинал, может быть, но тем не менее). И теперь этот сканер готов, и будет представлен на следующей неделе.

Читать полностью »

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

Дайджест интересных материалов из мира веб разработки и IT за последнюю неделю №70 (11 — 17 августа 2013)
Читать полностью »

Getty отдаёт 4600 изображений в общественное достояние

Один из самых крупных в мире фотобанков Getty images пошёл на то, чтобы открыть часть своей коллекции и передать её в общественное достояние. В рамках программы Open Content Program почти 4600 изображений высокого разрешения полностью освобождены от смежных прав на имущественную собственность. Кто угодно теперь может использовать их без всяких ограничений, теперь их можно и вставить в качестве иллюстраций в Википедию.
Читать полностью »

Вы все еще публикуете проект вручную? Тогда мы идем к вам

Continuous Integration для самых маленьких
Под катом гайдлайн по внедрению CI для .NET проектов «с нуля», включающий:

  1. Автоматические ежедневные сборки
  2. Уведомления о проблемах
  3. Интеграцию с баг-трекером и системой контроля версий
  4. Версионирование продукта
  5. Версионирование базы данных
  6. Автоматизированные выкладки и бекапы

Читать полностью »

image

ICANN проголосовал против возможности создания доменных имён без точки, положив конец идее Google о доменах http://search, http://app, http://blog и http://cloud, пишет The Verge.

Google хотел, чтобы такие домены перенаправляли пользователей на определённый ими же сайт через «новый технический стандарт», на разработку которого компания потратила несколько месяцев. Например, Google хотел, чтобы по запросу http://search открывалась поисковая система, выбранная пользователем — будь то Google, Bing, Yahoo или какая-либо ещё.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js