Как стать автором
Обновить
0
Рейтинг

Groovy & Grails *

Язык программирования Groovy и фреймворк Grails

Сначала показывать
Порог рейтинга

«Атака клонов» или пишем макрос для клонирования репозитория GitLab внутрь XWiki

Программирование *Groovy & Grails *Git *Подготовка технической документации *
Tutorial

Наконец-то я "раздобыл" немного свободного времени, а значит пришла пора продолжить серию туториалов по XWiki.

После публикации одной из моих статей MaxK82 спросил у меня, можно ли как-то в XWiki подключить документацию из git репозитория, так чтобы наладить её версионирование. К сожалению эта статья не ответит на его вопрос, но возможно укажет направление, в котором стоит "копать".

Поэтому сегодня мы с вами:

- создадим простенький, но зато свой макрос в XWiki;

- клонируем прямо в XWiki репозиторий с GitLab;

- отобразим Readme.md из репозитория внутри страницы XWiki.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 849
Комментарии 0

Новости

Блеск и нищета фреймворков тестирования: используем Groovy для скриптинга end-to-end тестов

Тестирование IT-систем *Java *Groovy & Grails *
Из песочницы

Безусловно, тестирование важный аспект разработки ПО. Наличие тестов - это хорошо, а удобное тестирование - еще лучше. В этой статье я расскажу как запускать тесты, написанные на groovy без gradle, maven и даже без предварительной компиляции этих тестов, а также почему JUnit 5 - это намного больше, чем просто хорошая библиотека для unit тестов.

Читать далее
Всего голосов 4: ↑2 и ↓2 0
Просмотры 1.7K
Комментарии 5

Прощай, Grails. Привет, Micronaut. Окончание

Блог компании OTUS Программирование *Groovy & Grails *
Перевод

Это третья и последняя статья из цикла о миграции из Grails в Micronaut. Обратите внимание: ваше приложение должно быть создано в Grails 4.x или более поздней версии.

В этой статье поговорим о сервисах, контроллерах, приложении Micronaut, Micronaut Data.

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

Вторую статью (о датасетах, маршалинге и классах предметной области) можно прочитать тут.

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Просмотры 818
Комментарии 0

Прощай, Grails. Привет, Micronaut. Продолжение

Блог компании OTUS Программирование *Groovy & Grails *
Перевод

Это вторая статья из цикла о миграции из Grails в Micronaut. Обратите внимание: ваше приложение должно быть создано в Grails 4.x или более поздней версии.

Всего в цикле публикаций о миграции из Grails в Micronaut 10 частей:

Многомодульный проект
Конфигурация
Статическая компиляция
Датасеты
Маршалинг
Классы предметной области
Сервисы
Контроллеры
Приложение Micronaut
Micronaut Data

В этой статье поговорим о датасетах, маршалинге и классах предметной области.

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

Читать далее
Всего голосов 7: ↑4 и ↓3 +1
Просмотры 1.2K
Комментарии 0

Прощай, Grails. Привет, Micronaut

Блог компании OTUS Программирование *Groovy & Grails *
Перевод

Всего в цикле публикаций о миграции из Grails в Micronaut будет 10 частей:

Многомодульный проект
Конфигурация
Статическая компиляция
Датасеты
Маршалинг
Классы предметной области
Сервисы
Контроллеры
Приложение Micronaut
Micronaut Data

Обратите внимание: ваше приложение должно быть создано в Grails 4.x или более поздней версии.

Читать далее
Всего голосов 6: ↑3 и ↓3 0
Просмотры 1K
Комментарии 0

Дикая природа Gradle Task: руководство по выживанию

Блог компании Yota Groovy & Grails *Разработка под Android *Kotlin *Gradle *
Tutorial

Приветствую, Gradle-адепт! В статье тебя ждёт авторский тур по Gradle Task. В маршрут включено хождение по граблям, изучение секретных практик buildscript-тасок, проведение раскопок по deprecated API, а ближе к концу зарядимся силой Custom Gradle Task, попрактикуемся в строительстве билд-кеша и узнаем, кто такой Worker API.

Читать далее
Всего голосов 17: ↑16 и ↓1 +15
Просмотры 8.5K
Комментарии 2

Наш опыт использования Jira: cоздание подзадач по шаблонам

Блог компании VK JavaScript *Groovy & Grails *Atlassian *


В предыдущей статье "Несколько примеров успешного изобретения велосипеда" мы поделились рядом решений, полученных путем комбинирования наших плагинов для Atlassian, таких как MyGroovy, JSIncluder и MyCalendar. На этот раз мы рассмотрим еще один плагин из нашей коллекции — Custom Select List.

Читать дальше →
Всего голосов 23: ↑22 и ↓1 +21
Просмотры 5.7K
Комментарии 1

Gradle Plugin: Что, зачем и как?

Блог компании Yota Groovy & Grails *Разработка под Android *Kotlin *Gradle *
Tutorial

Доброго времени, читатель! В предыдущей статье мы рассмотрели, как эффективно использовать стандартные инструменты Gradle в проектах для решения повседневных задач и немного коснулись подкапотного пространства.

Под катом статьи проведём тур по Gradle-плагинам, разберёмся, для чего вы можете писать кастомные плагины уже сейчас, проникнемся процессом разработки на примере реализации плагина для Kotlin-кодогенерации и научимся обходить некоторые Gradle-грабли. 

В первой части статьи проведём небольшой теоретический экскурс и рассмотрим способы реализации плагинов, а во второй части двинемся к практической задаче и проникнемся разработкой плагина для Kotlin-кодогенерации. Заваривайте ваш любимый напиток и поехали.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 13K
Комментарии 2

Готовьсь, цельсь, пли! Как не обжечься при сборке Gradle-приложения, и настолько ли всё серьезно?

Блог компании Yota Groovy & Grails *Разработка под Android *Kotlin *Gradle *
Recovery mode

Доброго дня, читатель! Меня зовут Стручков Михаил и я Android-разработчик в команде мобильного оператора Yota. 

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

Предлагаю вам упростить тернистый путь к пониманию сборки Gradle-приложений, разобрать основные этапы и их особенности, и попробовать совместно сократить трафик stackoverflow на тему Gradle. В качестве бонуса немного коснемся Gradle-плагинов и разберемся, как к ним подходить. 

Читать далее
Всего голосов 23: ↑22 и ↓1 +21
Просмотры 17K
Комментарии 8

Jenkins Scripting Pipeline — генерация стадий выполнения

Блог компании Технологический Центр Дойче Банка Программирование *Groovy & Grails *DevOps *

Всем привет! В интернете довольно много статей, связанных с Declarative Jenkins pipeline, и совсем немного о Jenkins Scripting Pipeline, хотелось бы восполнить этот пробел.


image

Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 14K
Комментарии 1

Пишем тысячи лог файлов одновременно

Ненормальное программирование *Java *Groovy & Grails *
Tutorial

Привет, Товарищи!


Что будет, если в приложении Spring Boot выставить logging.level.root=TRACE?


Все логи будут записаны в один файл, в котором будет куча-мала из классов.

Всего голосов 14: ↑11 и ↓3 +8
Просмотры 5.5K
Комментарии 8

Чёрный Ящик: забудьте о логировании

Groovy & Grails *
- Псст, тут есть кто-нибудь?
- Это хаб Groovy.
- Теперь вообще не нужно писать код логирования! Он добавляется автоматически!
- Круто, это сэкономит кучу времени и сил!

Привет!


В предыдущих статьях мы поговорили о логировании и о мета-программировании.


Теперь поговорим о мета-логировании.
Или о семантическом логировании — кому как нравится.


Логгер "Бобина" — это были цветочки. А вот и ягодки: Чёрный ящик.

Читать дальше →
Всего голосов 6: ↑4 и ↓2 +2
Просмотры 2.9K
Комментарии 8

Путь из COBOL в Java: пишем транспилятор за сутки

Ненормальное программирование *Java *Groovy & Grails *Cobol *

Приветствую, Дорогие Друзья.


Продолжаем цикл статей, освещающий деятельность (бурную) нашей некоммерческой организации.


Как и обещал — переходим от простого (логирование) к более сложному: метапрограммирование.

Читать дальше →
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 4.3K
Комментарии 12

Бобина 3.0.0 — обзор улучшений

Java *Groovy & Grails *
Recovery mode

Приветствую!


Прошлый год выдался крайне продуктивным для нашей некоммерческой организации, и эта статья является лишь началом цикла публикаций, освещающих нашу деятельность. А там есть о чём рассказать, ведь несколько наших продуктов оказались в центре больших банковских проектов — и о да — они не подвели!


Но начнём с чего-то простого и более понятного — и при этом, близкого всем нам без исключения — темы логирования.

Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 3.5K
Комментарии 4

Apache NIFI — Краткий обзор возможностей на практике

Habr Java *Groovy & Grails *Apache *Big Data *
Tutorial

Введение


Так получилось, что на моем текущем месте работы мне пришлось познакомиться с данной технологией. Начну с небольшой предыстории. На очередном митинге, нашей команде сказали, что нужно создать интеграцию с известной системой. Под интеграцией подразумевалось, что эта известная система будет нам слать запросы через HTTP на определенный ендпоинт, а мы, как это ни странно, слать обратно ответы в виде SOAP сообщения. Вроде все просто и тривиально. Из этого следует что нужно…

Читать дальше →
Всего голосов 12: ↑10 и ↓2 +8
Просмотры 14K
Комментарии 6

Выпускаем Predator — предкомпилированные Data-репозитории

Java *Groovy & Grails *Микросервисы *
Перевод


Сегодня, команда Micronaut в Object Computing Inc (OCI) представила Predator, новый проект с открытым исходным кодом, цель которого — значительно улучшить время выполнения и производительность (по памяти) доступа к данным для микросервисов и serverless-приложений, при этом не потеряв в продуктивности по сравнению с такими инструментами, как GORM и Spring Data.

Читать дальше →
Всего голосов 18: ↑16 и ↓2 +14
Просмотры 6K
Комментарии 3

Улучшенный sandboxing для Groovy скриптов

Блог компании Haulmont Java *Groovy & Grails *
Перевод


От переводчика: При разработке CUBA Platform мы заложили в этот фреймворк возможность исполнения пользовательских скриптов для более гибкой настройки бизнес-логики приложений. О том, хороша или плоха эта возможность (и мы говорим не только о CUBA), ведутся долгие споры, но то, что контроль исполнения пользовательских сценариев необходим — это ни у кого не вызывает вопросов. Одна из полезных возможностей Groovy для управления исполнением пользовательских скриптов представлена в этом переводе статьи Cédric Champeau. Несмотря на то, что он недавно‏ покинул команду разработки Groovy, сообщество программистов, по видимому, еще долгое время будем пользоваться плодами его трудов.


Один из наиболее часто используемых способов использования Groovy — это скриптинг, поскольку Groovy позволяет легко исполнять код динамически, в рантайме. В зависимости от приложения, скрипты могут находиться в различных местах: файловой системе, БД, удаленных сервисах… но самое важное — разработчик приложения, исполняющего скрипты, не обязательно сам их пишет. Более того, скрипты могут работать в ограниченном окружении (ограниченный объем памяти, лимит на количество дескрипторов файлов, время исполнения…), или вы можете захотеть запретить пользователю использовать все возможности языка в скрипте.


Этот пост вам расскажет


  • почему Groovy хорошо подходит для написания внутренних DSL
  • каковы его возможности в плане безопасности вашего приложения
  • как настроить компиляцию для улучшения DSL
  • о значении SecureASTCustomizer
  • о расширениях для контроля типов
  • как использовать расширения для контроля типов, чтобы sandboxing был эффективным
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 3.2K
Комментарии 1

Из Groovy ушёл Cédric Champeau‏

Блог компании JUG Ru Group Java *Groovy & Grails *Kotlin *


В проекте Apache Groovy перестаёт участвовать один из ключевых участников сообщества, само имя которого у многих ассоциировалось с этим языком. Уходит Седрик Шампо, известный в первую очередь как автор статического компилятора Groovy.

Если рассмотреть причины ухода в том виде, как их формулирует сам Седрик, получается история о том, как Groovy-сообщество хотело лучшего, а в итоге ненамеренно сделало себе хуже. В самом сообществе, впрочем, есть другие трактовки произошедшего. В любом случае история может быть интересна и разработчикам из JVM-мира, и не только.
Читать дальше →
Всего голосов 38: ↑36 и ↓2 +34
Просмотры 8.9K
Комментарии 13

Моки, стабы и шпионы в Spock Framework

Блог компании Haulmont Java *Groovy & Grails *TDD *
Перевод

Spock предоставляет 3 мощных (но разных по сути) инструмента, упрощающих написание тестов: Mock, Stub и Spy.



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


Модульные тесты чаще всего разрабатываются для тестирования одного изолированного класса при помощи различных вариантов моков: Mock, Stub и Spy. Так тесты будут надёжнее и будут реже ломаться по мере того, как код зависимостей эволюционирует.


Такие изолированные тесты менее подвержены проблемам при изменении внутренних деталей реализации зависимостей.


От переводчика: каждый раз, когда я использую Spock Framework для написания тестов, я чувствую, что могу ошибиться при выборе способа подмены зависимостей. В этой статье есть максимально краткая шпаргалка по выбору механизма для создания моков.

Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 16K
Комментарии 3

SDKMAN — мёртв, да здравствует SDKMAN

Блог компании Haulmont Java *Groovy & Grails *Go *
Перевод

TL;DR: SDKMAN CLI будет переписан на Golang

Шесть лет прошло с тех пор как мы выпустили первую версию SDKMAN. В более ранних версиях он был известен как GVM и использовался для управления Groovy и связанным с ним инструментарием. Вскоре стало очевидно, что он не должен ограничиваться экосистемой Groovy, и может также применяться к другим SDK на JVM. В этот момент GVM был переименован в SDKMAN. Хотя название и изменилось, основная технология осталась прежней.

Подобно тому, как GVM однажды перерос своё имя, SDKMAN перерос технологию, на которой он был построен. Несмотря на то, что сервисы бэкенда были заменены лучшими альтернативами, CLI клиент остался прежним и стал нашим самым большим источником разочарования.
Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 8K
Комментарии 17