Pull to refresh

Приглашаем автоматизаторов тестирования в команду SberDevices

Reading time 2 min
Views 1.2K
SberDevices corporate blog Java *Mobile applications testing *Kotlin *IT career

Салют, на связи команда SberDevices! Объявляем первый в году One Day Offer. На этот раз мы приглашаем автоматизаторов тестирования уровня Middle/Senior, которые специализируются на UI-тестах для девайсов на Android. Также ищем QA-инженеров по тестированию backend’а виртуальных ассистентов Салют. Работа ответственная и масштабная — вас ждут разнообразный парк устройств и интересные задачи под каждую платформу. К тому же вы сможете выбрать направление, которое вам наиболее интересно. 

Мне интересно!
Total votes 7: ↑6 and ↓1 +5
Comments 3

Gradle: Better Way To Build

Reading time 5 min
Views 111K
Java *Gradle *
Ни один проект с использованием платформы Java (и не только) не обходится без инструментов сборки (если только это не «Hello, world!»). Рано или поздно, но собирать дистрибутив руками надоедает. Да и компилировать из консоли было бы неплохо, если в проекте используется несколько разных IDE. А перед сборкой дистрибутива было бы здорово проставить номер версии в его имени. И unit тесты прогнать — не зря же Kent Beck книжки пишет. А там и Continues Integration на горизонте маячит. И здорово было бы научить CI сервер это все делать самостоятельно. Одним словом, есть уйма задач.

Раз есть задачи, то есть и решения. Думаю, большинство разработчиков хоть раз, но сталкивались с Ant. Очень многие используют Maven. Есть другие, не такие распространённые инструменты: GAnt, Buildr, и др. Каждый из них обладает набором своих плюсов и минусов, но сегодня я хочу представить вам кое-что новенькое. Gradle.
Читать дальше →
Total votes 39: ↑39 and ↓0 +39
Comments 14

Gradle: Tasks Are Code

Reading time 5 min
Views 47K
Java *Gradle *
В предыдущем топике я постарался вкратце рассказать, что же такое Gradle и на каких идеях он построен. Также была освещена концепция Source Sets и функциональность, с ней связанная.

Теперь я хотел бы рассказать о том, чем Gradle зацепил лично меня. Речь пойдёт о способах работы с задачами. Задача в Gradle — близкий аналог Ant Target. И, чтобы не путаться в терминах, под задачей (или task) далее по тексту всегда будет подразумеваться Gradle Task. Если речь будет идти о сущности из Ant, то это будет указано явно: Ant task.

Так вот, задачи в Gradle создаются при помощи специального dsl (domain specific language) на основе Groovy. И возможности, которые этот dsl предоставлет, на мой взгляд, почти безграничны в сравнении с ant или maven.

Читать дальше →
Total votes 32: ↑29 and ↓3 +26
Comments 48

Ciklum Java Saturday (15.10) — неформальная мини-конференция Java разработчиков В Минске

Reading time 2 min
Views 1.1K
Ciklum corporate blog
В наших офисах как по всей Украине, так и в Беларуси постоянно проходят Ciklum Saturdays, собирающие разработчиков по различным технологиям.

15 октября мы, совместно с компанией Exigen Services, приглашаем разработчиков в наш минский офис на Ciklum Saturday, посвященный разработке на Java . Этот Ciklum Субботник, как и предыдущие, пройдет в формате неформальной мини-конференции.

Интересные подробности под хабра-катом
Total votes 1: ↑1 and ↓0 +1
Comments 2

«Разбор полетов» — episode 4 — Spring-аем глаголы

Reading time 1 min
Views 1.1K
Lumber room
Я и коллега aib представляем вашему вниманию очередной четвертый выпуск популярного в узких кругах, разговорного IT-тематического подкаста «Разбор Полетов».
В этом выпуске:
Читать дальше →
Total votes 16: ↑13 and ↓3 +10
Comments 12

Обновление IntelliJ IDEA 11.1

Reading time 2 min
Views 14K
Java *
image

Вчера на сайте JetBrains стала доступна для скачивания новая версия среды разработки на Java – IntelliJ IDEA 11.1.

Как всегда IntelliJ IDEA доступна в двух версиях: Ultimate – полная платная версия, а также Community Edition – бесплатная Open-source версия. Владельцы лицензии IntelliJ IDEA 11 Ultimate имеют возможность бесплатного обновления до 11.1.

Попробуем ознакомиться с тем, что нас ждет в новой версии продукта.
Читать дальше →
Total votes 49: ↑42 and ↓7 +35
Comments 74

Пишем простейший REST web-сервис на Scala

Reading time 5 min
Views 17K
Java *Scala *
У меня есть сайт, написанный на Node.js, и иногда там требуется сделать что-то, для чего Node.js не предназначен: например, произвести какие-нибудь математические вычисления.

В этом примере мы будем вычислять «хеш» пароля.
Читать дальше →
Total votes 14: ↑9 and ↓5 +4
Comments 27

Как запускать DBDeploy в Gradle

Reading time 3 min
Views 5.9K
Java *SQL *Gradle *
Tutorial

В данной заметке я покажу, как запускать DBDeploy из скрипта Gradle.


О чём это вообще?


Возможно, вы уже слышали о версионированной миграции структуры баз данных. Об этом писали на хабре. DBDeploy — один из самых простых и известных инструментов, позволяющий легко установить все последние изменения в базе данных на любом инстансе и любой девелоперской машине. А Gradle — модный ныне инструмент для сборки проекта (как Ant и Maven, только лучше). О нём тоже уже писали.



И в чём вопрос?


Вопрос в том, как запускать DBDeploy из скрипта Gradle? У DBDeploy есть таски для Ant и плагин для Maven, но пока ещё нет плагина для DBdeploy (точнее, он в зачаточном состоянии). Немного потыркавшись, я пришёл к выводу, что самый простой способ — это использовать тот самый Ant таск DBDeploy из скрипта Gradle (здесь описано, как из gradle-скрипта использовать любые Ant-таски). Рассмотрим пример.



Пример проекта и билд-скрипт для запуска SQL-скриптов
Total votes 12: ↑12 and ↓0 +12
Comments 7

Подробно о задачах Gradle

Reading time 24 min
Views 114K
Java *Groovy & Grails *Development for Android *
Tutorial


Перевод второй главы свободно распространяемой книги Building and Testing with Gradle

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

Рассмотрим какими способами можно определить задачу, два ключевых подхода к определению задач и программный интерфейс, который мы можем использовать для гибкой настройки.
Читать дальше →
Total votes 25: ↑25 and ↓0 +25
Comments 4

Сборка flex/as3 проекта с использованием gradle

Reading time 11 min
Views 9.7K
Adobe Flash Action Script *Apache Flex *Gradle *
После не самого удачного, на мой взгляд, эксперимента по сборке flex с использованием maven (подробности тут), решил попробовать gradle, про который пишут, что он взял лучшее от ant и maven и это следующий шаг в развитии. Решил провести эксперимент по такому плану:
  • flex compile (Path to FlexSDK/maven dependency)
  • as3 compile
  • flex unit run (dependency)
  • fla compile as static resource
  • reliase compress
  • code quality (FlexPMD)
  • multy module project

Кому интересно, что из этого получилось, прошу под кат, потому как текста достаточно много. Он писался прямо по ходу эксперимента, если читать совсем лень, то в конце есть ссылка на тестовый проект.
Читать дальше →
Total votes 6: ↑5 and ↓1 +4
Comments 7

Разрешение конфликтов в транзитивных зависимостях — Хороший, Плохой, Злой

Reading time 6 min
Views 38K
JUG Ru Group corporate blog Java *

Вместо предисловия


В ближайшую субботу мы с EvgenyBorisov будем выступать в Питере на JUG.ru. Будет много веселого трэша и интересной инфы (иногда не разберешь, где проходит граница), и одно из моих выступлений будет посвящено WTF-нутости модульной разработки программ. Я расскажу несколько ужастиков, один из которых будет о том, как все пытаются быстро, гибко и корректно описать зависимости в проекте, и что из этого обычно получается. Интересно? Тогда добро пожаловать в ад!


Скорее, конечно, «Хороший, Удобный и WTF-ный».
Погрузиться в конфликт...
Total votes 52: ↑46 and ↓6 +40
Comments 83

Gradle и решение задач автоматизации

Reading time 6 min
Views 33K
Java *Gradle *
Sandbox
Всем привет, сегодня я хотел бы рассказать вам о моём опыте работы с Gradle, не просто переписать мануал (хотя он отлично написан), но рассказать с какими реальными проблемами я столкнулся и как побеждал их, а также показать какие возможности предоставляет нам Gradle. Тема очень обширная поэтому, к сожалению я не смогу рассмотреть многие аспекты подробно и последовательно, надеюсь что читатели уже немного знакомы с Gradle и смогут понять суть описываемых решений.
Читать дальше →
Total votes 22: ↑21 and ↓1 +20
Comments 6

Использование NDK в Android Studio

Reading time 9 min
Views 67K
Development for Android *
Tutorial
Sandbox
В настоящее время среди Android-девелоперов большую популярность имеет среда разработки Android Studio, основанная на IntelliJ IDEA от JetBrains. Однако, при использовании данной IDE, могут возникнуть проблемы при разработке приложений, использующих нативный код, так как Android NDK рассчитан преимущественно на использование IDE Eclipse и ADT.

Цель данной статьи — подробное описание процесса создания Android-приложения, использующего NDK в Android Studio, в частности — предложение достаточно простой и эффективной конфигурации gradle (системы сборки пакетов, используемая в Android Studio), гарантирующей включение нативных библиотек в APK-файл. Также статья включает краткую инструкцию работы с NDK в IDE Eclipse и введение в нативную разработку, достаточное для написания первого приложения.
Читать дальше →
Total votes 37: ↑36 and ↓1 +35
Comments 8

Пишем свой Gradle плагин для AnnotatedSql

Reading time 6 min
Views 7.5K
Development for Android *

Вступление



Привет, коллеги. Давно я не писал ничего на Хабр. Вот, решил исправить это досадное недоразумение.

Не так давно я сменил место работы, и проект, над которым я теперь работаю, использует для сборки Gradle. Более того, проект достаточно развесистый и сложный, и Gradle скрипт в нем весьма непростой. Поэтому я решил, что надо подучить Gradle. Как один из шагов обучения я решил написать свой собственный плагин. Плагин посвящен замечательной библиотеке annotated-sql, созданной моим хорошим товарищем Геннадием hamsterksu. Я использую эту библиотеку в персональных проектах, поэтому мне нужен удобный способ прикреплять и конфигурировать ее к ним. Библиотека использует процессоры аннотаций, поэтому цель плагина — подружить эти процессоры и gradle сборку.
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Comments 6

Continuous Integration для Android с использованием Jenkins + Gradle

Reading time 8 min
Views 25K
Development for Android *
Sandbox
Хочу поделится своими наработками по автоматической сборке Android приложения. В этой статье я приведу пример сборки для двух типов приложений, первый — простое приложение, содержащее в отдельной папке unit-тесты, второй — приложение использующее проект-библиотеку (android library project).

В конечном итоге мы получим отчет о выполненных тестах а так же подписанный apk файл, доступный для скачивания из артефактов сборки Jenkins.
Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Comments 4

Интеграция Android Studio, Gradle и NDK

Reading time 5 min
Views 46K
Intel corporate blog Programming *Development for Android *
Translation
В свете недавних изменений (начиная с релиза 0.7.3 от 27 декабря 2013) новая система сборки под Android становится очень интересной в том числе и для тех, кто использует NDK. Теперь стало действительно просто интегрировать нативные библиотеки в вашу сборку и генерировать APK для различных архитектур, корректно обращаясь с кодами версий.
Читать дальше →
Total votes 27: ↑27 and ↓0 +27
Comments 5

Ошибка gradle при создании проекта в Android Studio

Reading time 1 min
Views 11K
Development for Android *Gradle *
Sandbox
Всем привет!

Столкнулся с проблемой при создании нового проекта в среде Android Studio (на момент написание статьи версия 0.3.2).
Операционка Win 7x64, Android SDK v 22.2.1.
Проект никак не хотел создаваться вылетая с ошибкой: Could not GET 'http://repo1.maven.org/maven2/com/android/tools/build/gradle/'. Received status code 407 from server: Proxy Authentication Required

Сразу хочу сказать, что
Читать дальше →
Total votes 22: ↑7 and ↓15 -8
Comments 6

Создание standalone библиотеки под android

Reading time 2 min
Views 15K
Java *Development for Android *
Sandbox
В этой статье я расскажу как создать библиотеку, которая использует другие библиотеки и при этом уместить всё в одном jar.

Допустим мы пишем библиотеку, она использует другие библиотеки и, в частности, для примера, support library. Если бы мы использовали maven, то в pom файле просто прописали зависимости и не парились. Но что если нашу библиотеку будут использовать люди, которые не пользуются системами сборок или пользуются ant' ом?

Мы можем положить зависимости рядом с нашим jar. Но тогда неизбежны конфликты библиотек разных версий, например, если мы используем одну версию support library, а в самом приложении другая. Тогда придется руками одну из них удалять.

Можно пойти другим путем, вспомним что jar это обычный zip файл. Мы распакуем все зависимости, получим байт-код в виде .class файлов, далее компилируем код нашей библиотеки, кладем все .class файлы в одно место и собираем из них jar. Но если в приложении используются те же библиотеки что и у нас, то получим ошибку что в проекте два одинаковых класса.
Читать дальше →
Total votes 16: ↑12 and ↓4 +8
Comments 8

Состоялся релиз библиотеки libGDX 1.0

Reading time 1 min
Views 8K
Open source *Game development *Development for Android *
Библиотека libGDX известна почти каждому разработчику Android-приложений. С её помощью добавляются текстуры, проигрывается звук, вызывается вибрация и т.д. «Все думали, что этот день никогда не наступит, но он наступил. Официально вышла версия libGDX 1.0!», — сообщается в официальном блоге Badlogic Games, маленькой австрийской компании, которая с 2009 года ведёт разработку проекта.

Среди самых важных изменений в версии 1.0 — новый интерфейс для сборки проекта на основе Gradle. Теперь любой проект можно скомпилировать из командной строки или из Eclipse, Intellij IDEA и т.д. Больше никаких jar’ов в репозитории!
Читать дальше →
Total votes 32: ↑27 and ↓5 +22
Comments 5