Метка «grails»

Два простых примера создания файлового хранилища в СУБДПрактически в каждом веб-проекте требуется собственное хранилище файлов. Назначений у него множество. Сегодня мы рассмотрим 2 простых варианта его создания: первый — с использованием типа данных blob средствами Java, Spring MVC, Hibernate, MySQL и второй — с кластеризацией (разбиением файла на кусочки) средствами groovy, grails, hibernate, PostgreSQL.

Зачем нужен этот велосипед? Зачастую нужно отдавать пользователю сформированные на стороне сервера файлы и предусмотреть возможность самому выкладывать туда что-нибудь. К тому же, мы работаем с СУБД, к которой можно подключиться по JDBC с других хостов, и если сделать реплицируемую базу с несколькими нодами, то получится хорошая балансировка нагрузки на скачивание.

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

«Разбор полетов» — Episode 22 — Независимо от зависимостей

  1. Особый гость

  2. Главное одной строкойЧитать полностью »

«Разбор полетов» — episode 21 — Едим свой собачий корм и меняем шило на два шила
Встречайте 21 выпуск подкаста «Разбор Полетов». В предыдущем выпуске мы зажали 40 минут подкаста, поэтому восполняем это упущение. В этом выпуске:


Geb на практике

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

Browser.drive(driver: new InternetExplorerDriver()) {      go "http://www.google.com"      $('form', action:endsWith('/search')).q =                      'тестирование при помощи geb и spock'     $('button', value:'Поиск').click()     waitFor { $('#search') }     assert $('#search').size() == 1     assert $('#search').find('li.g a.l').size() > 0     println "Первый результат: " + $('#res').find('li.g a.l', 0).text() }.quit() 

Мне кажется, у таких тестов высокая степень читаемости — неважно даже, какой это язык. Можно по такому вот образцу написать ещеЧитать полностью »


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