Обновить
0

Groovy & Grails *

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

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

Встречайте IntelliJ IDEA 2016.1

Время на прочтение2 мин
Охват и читатели32K
На прошлой неделе мы выпустили очередное крупное обновление — IntelliJ IDEA 2016.1. Ранее я уже писал подробно о доступных в нем улучшениях, а в этом посте лишь приведу их краткий список, дам ссылки на новые видео, и, конечно, буду рад ответить на ваши вопросы в комментариях.



Читать дальше →

Вспомнить всё: Java-конференция JET. 28 сентября 2015. Отчёт

Время на прочтение5 мин
Охват и читатели5.5K
Меня зовут Дима и я разработчик. Живу в Минске, люблю посещать зарубежные конференции. Ну вот устал однажды ездить и решил сходить локально. Но выбора было мало. Поэтому вдвоём со своим верным товарищем решили сделать конференцию самостоятельно. Назвали JET. Потому что начинается с J, как и Java, а ещё можно сделать слоган "Let's fly to Java world". Ну что же, как это было?

Открытие


Началось все с выступления организаторов, где мы поделились тем, как зарождалась идея конференции. Рассказали о том, как мы прошли путь в 4 месяца подготовки, и что по итогу получилось. А получилось — 3 потока концентрированных знаний, 300 участников и первый кирпичик в фундаменте дома конференции JET.


Читать дальше →

java.net.URL или старый конь борозды не испортит

Время на прочтение3 мин
Охват и читатели12K
Первое, что мы сразу вспоминаем, когда видим класс java.net.URL — это то, что он такой же матерый, как и первая версия java (@since JDK1.0). Второе — он встречается почти во всех java программах. Третье — чаще всего в нем используют протоколы file, jar и http.



А можно ли с помощью java.net.URL получить данные по протоколу CIFS/SMB, SCP, из HDFS — файловой системы хадупа или из maven репозитария? А получить изображение с веб камеры одной строчкой new URL('camel:/webcam:spycam?resolution=HD720').openStream()?
Узнаем как работать с такими URL в java и groovy

Конфигурация приложений с помощью github

Время на прочтение6 мин
Охват и читатели16K


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

Я видел много проектов, где конфигурация подкладывается в файловую систему в виде properties/json/xml файлов с непостижимыми уму переоределениями в момент загрузки. И что же на самом деле использует приложение становится ясно только после просмотра лог файлов компонента либо во время отладки.
Git как хранилище конфигурации...

Gradle: управляя зависимостями

Время на прочтение10 мин
Охват и читатели147K
Управление зависимостями – одна из наиболее важных функций в арсенале систем сборки. С приходом Gradle в качестве основной системы сборки Android-проектов в части управления зависимостями произошёл существенный сдвиг, закончилась эпоха ручного копирования JAR-файлов и долгих танцев с бубном вокруг сбоящих конфигураций проекта.



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

Внимание много текста и изображений

Автоматизация Jira на Groovy

Время на прочтение8 мин
Охват и читатели39K
image

В крупных организациях часто возникает необходимость прикрутить к JIRA какой-либо дополнительный функционал, которого нет в стандартной поставке: автоматизацию, интеграцию с другими системами и прочие кастомизации. Зачастую это решается сторонними плагинами, в Atlassian Market их огромное количество. Но что делать, если подходящего плагина нет? Очевидно, написать свой. Ещё один вариант для расширения — плагины, добавляющие возможность использовать свои скрипты в JIRA: ScriptRunner (Groovy), Jira Scripting Suite (SIL), JJupin (Jython).

В этой статье я расскажу о самом популярном и функциональном из них — ScriptRunner от Adaptavist.
Читать дальше →

Отладка Groovy скриптов с Grape на основе maven aether

Время на прочтение2 мин
Охват и читатели4.4K
В IntelliJ Idea возникают cложности с отладкой таких скриптов, так как для отладки groovy IDE использует сборку груви по-умолчанию, с Ivy провайдером для Grape.



Решение проблемы с debug...

Java вместо Groovy

Время на прочтение6 мин
Охват и читатели17K
Вдруг оказывается, что в проекте нужны скрипты и возникает вопрос что лучше эволюция или революция?
Но даже попытка внедрить груви может провалиться в легаси проекте с консервативным коллективом. И руководство может найти еще десяток причин не пропустить груви в проект. Хоть groovy гораздо проще и ближе программисту знающему java, чем та же scala.



Но даже в этом случае можно использовать динамически компилируемые скрипты в проекте. Научимся компилировать java код динамически в памяти и запускать его в jvm, использовать в нем динамически загружаемыме библиотеки из maven. Хотелось бы написать как можно меньше кода для этого и чтобы процесс использования был максимально прост. Да и еще бы не хотелось надеяться на доступность tools.jar нашей пограмме.
Для заинтересовавшихся как можно это сделать...

Что нам стоит сайт распарсить. Основы webdriver API

Время на прочтение16 мин
Охват и читатели66K
Поиск жилья, информации о товарах, вакансий, знакомств, сравнение товаров фирмы с конкурентами, исследование отзывов в сети.



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

DevOps: отправляем метрики и спим спокойно

Время на прочтение9 мин
Охват и читатели19K


Внезапно, ночью раздается звонок и мы узнаем что наше приложение не работает. Есть 2 часа на его реанимацию…
Где же наш мониторинг и логи программы!?

Уличная магия в скриптах или что связывает Groovy, Ivy и Maven?

Время на прочтение9 мин
Охват и читатели11K
После мучений с отладкой сложных MVEL скриптов + MavenClassloader, обнаружил, что механизм динамического разрешения зависимостей есть в языке Groovy. К тому же отладка Groovy скриптов возможна и в Idea и в Eclipse.



Вы спросите зачем нужно динамическое разрешение зависимостей? Некоторые вещи проще делать так, а некоторые возможно только так.

В публикации вы найдете работающее решение для Groovy в виде одного jar файла и загрузчик классов из репозитариев maven для Java приложения. Узнаете про особенности работы Grape «из коробки». Чтобы не быть голословным и были понятны возможности Grape
Читать дальше →

Проект Groovy намерен присоединиться к Apache Software Foundation

Время на прочтение2 мин
Охват и читатели5.4K
Это перевод вот этой публикации из блога Гийома Лафорджа, официального менеджера проекта Groovy.

Команда Groovy рада объявить о своём намерении присоединиться к Apache Software Foundation (ASF).

Вслед за недавним объявлением от Pivotal об окончании финансирования постоянных разработчиков проекта Groovy, команда решила, что было бы целесообразно продемонстрировать Groovy-сообществу, что в долгосрочной перспективе проект не исчезнет. Groovy будет развиваться вне зависимости от наличия финансирования частными организациями и спонсорами, а так же вне зависимости от каких-либо изменений в команде разработчиков.
Читать дальше →

Ближайшие события

Pivotal прекращает разработку Groovy & Grails с 31 марта

Время на прочтение1 мин
Охват и читатели26K


Bad news everyone!

Компания Pivotal, спонсировавшая разработку Groovy & Grails последние годы, объявила о прекращении спонсирования проектов начиная с 31 марта.

Релизы Groovy 2.4 и Grails 3.0 будут последними релизами под крылом Pivotal.
Читать дальше →

Как подружился Ebean с Gradle и помирился с IntelliJ Idea

Время на прочтение10 мин
Охват и читатели12K
Наконец-то я созрел, чтобы начать свой веб-проект. Очередной todo-менеджер, который агрегирует задачи с нужных мне источников. Планировался как проект для души, такой чистый и правильный. Никаких компромиссов в архитектуре и технологиях. Только best-practices, только хардкор. И, конечно же, кнопать это все собрался в любимой Intellij IDEA.

После 7 лет Java, последних двух вперемешку с Scala, захотелось попробовать Groovy. Для сборки, конечно же Gradle — популярно и удобно. Рельсы показались слишком «заезженные», так что решил использовать Spring для веб, причем по современному, через Spring Boot. И все было просто замечательно, только с ORM не сложилось. На работе мы Hibernate выпилили, заказчик лично невзлюбил (не смейтесь и такое бывает — отдельная история) и заменили своим велосипедом. Негативный опыт и нежелание тянуть монстра ради пары сущностей сделали свое — хибернейту твердое нет! Захотелось попробовать что-то совсем другое. По воле случая наткнулся на Ebean, который и был выбран.

После окончательной подборки стека начала кипеть работа. Но вот незадача, воз с функционалом пока не сдвинулся с места. Под катом искреннее оправдание почему.
Читать дальше →

Анонс второй встречи Java User Group Екатеринбург

Время на прочтение2 мин
Охват и читатели2.1K
Привет, Хабр!

JUG — Java User Group, встречи JUG.EKB — это обсуждение различных технологий из мира Java, обмен опытом, а также просто интересное общение!
Мы регулярно проводим встречи JUG.EKB с лекциями Java экспертов на самые интересные темы.
Наш сайт jugekb.ru, сообщество в ВК — vk.com/jugekb.

Приглашаем всех java разработчиков на вторую встречу JUG.EKB.
Читать дальше →

Анонс первой встречи Java User Group EKB

Время на прочтение1 мин
Охват и читатели2.7K
Привет, Хабр!

Несмотря на то, что в Екатеринбурге на java разрабатывает далеко не одна компания, java комьюнити отсутствует. Но когда тебе чего-то не хватает, то нужно просто взять и сделать это. Так, просмотрев очередную встречу JUG.ru, окончательно стало ясно, что Екатеринбургу нужно место, где java разработчики могут встретиться, обсудить новости java технологий, поговорить про внутренности java, да и просто пообщаться!

Так родилось JUG.EKB — cообщество Java разработчиков Екатеринбурга.
Читать дальше →

Развертываем приложение на Heroku c помощью Gradle

Время на прочтение4 мин
Охват и читатели7.3K
В продолжение предыдущей статьи про развертывание Ratpack приложения на Heroku, сегодня я расскажу про использования плагина Gradle. Это был трудный опыт по развертыванию простого Ratpack приложения на Heroku PaaS. Мы рылись в хитросплетениях buildpack's для развертывания на Heroku.Хорошие новости в том, что это бельше не обязательно.
В этой статье я покажу более простой способ развертывания. В этом методе не необходимости явно использовать Heroku Toolbelt и custom'ые buildpack's. Так же больше не нужно иметь Ruby, RVM, или множество других связанных с Ruby технологий, которые не нужны Java/Groovy разработчикам, им даже знать об этот нет необходимости.
Читать дальше →

Развертываем Ratpack приложение на Heroku

Время на прочтение4 мин
Охват и читатели3.1K
Развертывание простого Ratpack приложения на Heroku на много сложнее, чем должно быть. После большого количества проб и ошибок, мне наконец удалось получить работающую конфигурацию для успешного развертывания. Эта статья – мануал о том, как развернуть приложение шаг за шагом. В следующей статье я расскажу, как использовать Gradle plugin для упрощения процесса.
Читать дальше →

Пишем REST API на Vert.x. Часть 1: настройка окружения

Время на прочтение3 мин
Охват и читатели13K
Привет, харбаюзер. В этой серии статей мы напишем REST API с использованием Vert.x. Начнём с простого: установки самого vert.x-а и настройки запуска простого приложения в IDE.
Читать дальше →