Всем привет!
В последнее время появилось много средств, библиотек, которые существенно облегчают написание кода под Android. Только успевай за всем следить и все пробовать. Одним из таких средств является библиотека Dagger 2.
В сети уже много различного материала, посвященного данной библиотеке. Но когда я только начинал ознакамливаться с Dagger 2, читал статьи, смотрел доклады, я во всем этом находил один общий недостаток — мне, как человеку, не работавшему со Springом и прочими подобными библиотеками, было довольно сложно понять, откуда берутся зависимости, как они "провайдятся" и что вообще там происходит. На слушателей/читателей обычно сразу "вываливается" большое количество кода с новыми аннотациями. И это как-то работало. В итоге, после доклада/статьи в голове все никак не могло сложиться в единую понятную картину.
Сейчас, оглядываясь назад, я понимаю, что мне тогда очень не хватало схематичного отображения, картинок, явно показывающих "что, откуда и куда". Поэтому в своем цикле статей я постараюсь восполнить данный пробел. Надеюсь, это поможет новичкам и всем заинтересованным лучше понять Dagger 2 и решиться попробовать его у себя в проекте. Могу сразу сказать, это стоит того :)
И да, изначально я хотел написать одну статью, но материала и картинок вышло уж как-то много, поэтому информацию я буду выкладывать небольшими порциями, чтобы читатель мог постепенно погружаться в тему.
Читать полностью »
Рубрика «java» - 204
Dagger 2. Часть первая. Основы, создание графа зависимостей, Scopes
2016-03-14 в 5:57, admin, рубрики: android, architecture design, dagger 2, java, mobile development, разработка, разработка мобильных приложений, Разработка под androidПревью Android N: API и инструменты разработчиков
2016-03-11 в 17:08, admin, рубрики: android, developer preview, doze, Google API, java, m, n, Блог компании Google, мультиоконность, разработка мобильных приложений, Разработка под androidПривет! Сегодня у нас в программе кое-что особенное. Новые версии ПО важны для пользователей: они предоставляют доступ к новым возможностям на их устройствах. Но ещё важнее получить своевременный доступ к новому ПО для разработчиков. Использовать новейшие инструменты, API, проверить приложение на совместимость, одним из первых внедрить самые свежие и крутые наработки… В общем, мы рады представить вам тестовую версию Android N для разработчиков!

Чем ещё важен выход тестовой версии для разработчиков? Тем, что именно разработчики понимают, как важен грамотный и своевременный фидбэк. Один хороший багрепорт может сохранить вам кучу времени, поэтому мы решили выпустить девелопер-превью намного раньше, чем делали это в прошлых версиях.
Читать полностью »
Анонс Java-конференции для студентов в Москве: JPoint 2016 Student Day
2016-03-10 в 14:04, admin, рубрики: java, jpoint, JUG, jug.ru, Блог компании JUG.ru Group, конференции, Москва, студентыЗаводы — крестьянам, землю — рабочим, Java-технологии — студентам!
Как вы все знаете, JUG.ru уже четвертый год делает конференции по Java. За 3 года конференция JPoint превратилась из эксперимента нескольких энтузиастов в одного из отраслевых флагманов.
Когда ты делаешь специализированные (как говорят маркетологи, нишевые) мероприятия, ты всегда пытаешься ответить на вопрос — кто твоя аудитория. Аудитория наших больших конференций — это:
- разработчики-энтузиасты, которые готовы тратить свои силы, деньги и время на самообразование и нетворкинг
- Senior и Middle разработчики, у которых много всего разного и сложного на работе, и они хотят на конференции узнать о решении своих конкретных проблем, послушав доклады или напрямую пообщавшись в кулуарах со спикерами или коллегами
- компании, которые заинтересованы вкладываться в собственных инженеров с тем, чтобы они повышали свой уровень и тем самым приносили компании больше пользы.
JPoint — конференция для опытных разработчиков. Студентам и начинающим идти туда — практически бессмысленно:
- контент довольно сложный и технически насыщенный
- цена, если ты безработный или только-только начал работать, кусается
Выход? Сделать Java-конференцию для студентов!
Изучаем OpenGL ES2 для Android
2016-03-09 в 16:01, admin, рубрики: java, opengl es, Графические оболочки, Разработка под android Урок №1
Данная статья написана для новичков, которые (как и я) хотят научиться писать программы для Андроид с использованием OpenGL. Основные мысли и код взяты из замечательной книги Кевина Бразалера «OpenGL ES 2 for Android. A Quick-Start Guide by Kevin Brothaler» (1).
Зачем же пересказывать, спросите вы? Дело в том, что перед этой книгой я прочитал еще десяток статей на эту тему и код Кевина у меня сразу не пошёл (в книге среда разработки Eclipse, а у меня Android Studio). Поэтому, решил написать эту статью так, чтобы было понятно, прежде всего, самому себе.
Для начала давайте выясним, что такое OpenGL. Если почитать Википедию (2), то увидим следующее:
«OpenGL (Open Graphics Library) — спецификация, определяющая независимый от языка программирования платформонезависимый программный интерфейс для написания приложений, использующих двумерную и трёхмерную компьютерную графику.
Включает более 300 функций для рисования сложных трёхмерных сцен из простых примитивов. Используется при создании компьютерных игр, САПР, виртуальной реальности, визуализации в научных исследованиях. На платформе Windows конкурирует с Direct3D.»
Мы будем изучать укороченную версию OpenGL ES 2 (в дальнейшем OpenGL). Укоротили её по понятным причинам, у Андроид малая операционная память по сравнению с настольными ПК, наличие виртуальной машины Java также накладывает определенные ограничения. Наверно есть еще много причин, почему это сделали, но нас это не должно волновать. Прост нужно знать, что есть прекрасный инструмент OpenGL и надо научиться им пользоваться!
Читать полностью »
QA: Conference. Рассказываем про доклады
2016-03-09 в 8:38, admin, рубрики: .net, java, Блог компании Luxoft, конференция, разработка мобильных приложений, Тестирование IT-систем 
Конференция по тестированию программных систем QA: Conference начнется чуть больше чем через месяц и мы готовы рассказать подробнее про нее. Немного статистики:
- 24 полноценных доклада в Москве и Питере
- до 16 докладов — в Новосибирске и Екатеринбурге
- 8 докладов — в Омске
- возможность посмотреть записи всех докладов — всем участникам
- стоимость билета — от 2,000 до 3,000 рублей
Какие темы будут раскрыты:
- Тестирование на сетевое проникновение — от компании PentestIt
- Нагрузочное тестирование
- Автоматизация тестирования (рассматриваются любые аспекты)
- Интеграционное тестирование
- Развертывание различных систем с нуля
- Опыт как положительный, так и отрицательный
Итак, докладчики, о которых мы расскажем сегодня:
- Лука Сафонов и Роман Романов. PentestIt — проникновение в сеть предприятия и про защиту от проникновения.
- Станислав Сидристый — три доклада про все стороны автоматизации в .NET / Java и про стандартизацию подходов к автоматизации
- Галина Галкина — расчет категории риска – подход к управлению регрессионной ТМ
- Александр Акбашев — гоняем тесты на каждый билд: Gerrit, Jenkins, Docker, AWS
- Роман Иовлев — сразу два доклада: «Jedi Power of Model-based testing» и «JDI — Future of UI Automation»
- Игорь Щегловитов — расскажет про автоматизированное тестирование средствами тулсета Microsoft
- Константин Нерадовский — функциональный подход в разработке автотестов на Java
Хотите подробностей? Заходите под кат.
Читать полностью »
Работа с приватными репозиториями и другие обновления платформы FlyElephant
2016-03-07 в 23:04, admin, рубрики: big data, blender, c++, FlyElephant, gcc, gromacs, HPC, java, Julia, Microsoft Azure, octave, OpenFOAM, openmp, python, R, SciLab, Блог компании FlyElephant, высокая производительность, научные расчёты, Облачные вычисления, параллельное программирование, стартапы
Команда платформы FlyElephant подготовила ряд обновлений, которые позволяют работать с приватными репозиториями, повышают безопасность системы и улучшают работу с задачами.
FlyElephant — это платформа для ученых, которая предоставляет готовую вычислительную инфраструктуру для проведения расчетов, помогает находить партнеров и совместно работать над проектами, а также управлять всеми данными из одного места. FlyElephant автоматизирует рутинные задачи и позволяет сосредоточиться на основных вопросах исследований.
В качестве вычислительного ресурса используется облако Azure. Пользователи могут запускать вычислительные задачи, написанные с помощью С++ (с поддержкой OpenMP), R, Python, Octave, Scilab, Java, Julia, OpenFOAM, GROMACS, Blender на серверах с количеством ядер от 1 до 32 и оперативной памятью до 448 ГБ.
Среди нововведений можно отметить следующие:
Читать полностью »
Аутентификация с использованием Spring Security и JWT-токенов
2016-03-05 в 19:09, admin, рубрики: authentication, java, Spring Security, tokenВсем привет! Хабр жив! Данный пост вряд ли соберёт кучу лайков и комментов, но надеюсь, поможет здоровью хабра.
В данной статье рассмотрим принцип аутентификации в веб-приложениях на платформе Spring с использованием относительно нового механизма аутентификации — JSON Web Token (JWT). Этот механизм уже обкатан и реализован для многих языков программирования.
Видео со встречи JUG.ru с разработчиками языка Kotlin Андреем Бреславом и Дмитрием Жемеровым
2016-03-05 в 13:44, admin, рубрики: java, jetbrains, JUG, jug.ru, kotlin, Блог компании JUG.ru Group, ПрограммированиеНеделю назад в Питере прошла встреча JUG.ru с разработчиками языка Kotlin Андреем Бреславом и Дмитрием Жемеровым. Как вы все наверняка знаете, Kotlin зарелизился пару недель назад, и теперь, спустя почти шесть лет разработки, пришла пора поговорить о том, что в итоге получилось.
В пятничный вечер 26 февраля народу в питерский офис Oracle набилось дофига, что очень обрадовало и нас и спикеров.

Встреча состояла из четырех частей:
- Введение. Что такое Kotlin?
- Kotlin: к релизу и далее
- Kotlin: самое сложное — совместимость
- Сессия вопросов и ответов про Kotlin
Теория и практика парсинга исходников с помощью ANTLR и Roslyn
2016-03-03 в 13:39, admin, рубрики: .net, antlr, AST, C#, java, php, PLSQL, roslyn, tsql, Блог компании Positive Technologies, грамматика, Компиляторы, неоднозначность, ошибка синтаксиса, парсинг, ПрограммированиеВ нашем проекте PT Application Inspector реализовано несколько подходов к анализу исходного кода на различных языках программирования:
- поиск по сигнатурам;
- исследование свойств математических моделей, полученных в результате статической абстрактной интерпретации кода;
- динамический анализ развернутого приложения и верификация на нем результатов статического анализа.
Наш цикл статей посвящен структуре и принципам работы модуля сигнатурного поиска (PM, pattern matching). Преимущества такого анализатора — скорость работы, простота описания шаблонов и масштабируемость на другие языки. Среди недостатков можно выделить то, что модуль не в состоянии анализировать сложные уязвимости, требующие построения высокоуровневых моделей выполнения кода.

К разрабатываемому модулю были, в числе прочих, сформулированы следующие требования:
- поддержка нескольких языков программирования и простое добавление новых;
- поддержка анализа кода, содержащего синтаксические и семантические ошибки;
- возможность описания шаблонов на универсальном языке (DSL, domain specific language).
В нашем случае все шаблоны описывают какие-либо уязвимости или недостатки в исходном коде.
Весь процесс анализа кода может быть разбит на следующие этапы:
- парсинг в зависимое от языка представление (abstract syntax tree, AST);
- преобразование AST в независимый от языка унифицированный формат;
- непосредственное сопоставление с шаблонами, описанными на DSL.
Данная статья посвящена первому этапу, а именно: парсингу, сравнению функциональных возможностей и особенностей различных парсеров, применению теории на практике на примере грамматик Java, PHP, PLSQL, TSQL и даже C#. Остальные этапы будут рассмотрены в следующих публикациях.
Читать полностью »



