Рубрика «java» - 51

Во вторник, 9 июля, за два дня до конференции Hydra 2019, состоится встреча JUG.ru с Клиффом Кликом (Cliff Click), техническим директором компании Cratus, основателем и сооснователем успешных стартапов (Rocket Realtime School, Neurensic, H2O.ai), известным спикером и консультантом.

Клифф Клик — легенда Java-мира. Он участвовал в изначальной разработки JVM, был одним из создателей знаменитого HotSpot Server Compiler (C2), улучшил значительную часть технологического стека Azul и доказал миру, что JIT-компиляция имеет право на жизнь.

Участие бесплатное, регистрация обязательная. Зарегистрироваться можно тут. Подробная информация о теме встречи и спикере — под катом.

Доклад будет читаться на английском языке.

image

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

Опровержение мудреца. Анализируем предложенный алгоритм

Цель работы: Написать развлекательно-обучающую публикацию по языку программирования java.

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

В настоящее время в социальных сетях довольно часто встречается такой мем.

Опровержение мудреца. Анализируем предложенный алгоритм - 1
рис 1.

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

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

Цель работы: Спроектировать и реализовать класс, который проверит приведенный выше алгоритм.
Класс будет выводить все двузначные числа для которых алгоритм выполняется правильно
и все двузначные числа, для которых алгоритм выполняется неправильно.
Мы также посчитаем количество правильных и количество неправильных ответов.

Назовем наш класс «опровержение мудреца» («denial of the sage») — DenialOfTheSage.
Расположим наш класс в пакете «denialOfTheSage01».

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

Как мне кажется, большинство людей начинают разбираться с gradle только тогда, когда в проекте что-то надо добавить или что-то внезапно ломается — и после решения проблемы "нажитый непосильным трудом" опыт благополучно забывается. Причём многие примеры в интернете похожи на ускоспециализированные заклинания, не добавляющие понимания происходящего:

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.habr.hello"
        minSdkVersion 20
        targetSdkVersion 28
    }
    buildTypes {
        release {
            minifyEnabled false
        }
    }
}

Я не собираюсь подробно описывать, для чего нужна каждая строчка выше — это частные детали реализации андроид-плагина. Есть кое-что более ценное — понимание того, как всё организовано. Информация раскидана по различным сайтам/официальной документации/исходникам градла и плагинов к нему — в общем, это чуть более универсальное знание, которое не хочется забывать.

Дальнейший текст можно рассматривать как шпаргалку для тех, кто только осваивает gradle или уже забыл.

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

Привет! Мы выложили видеозаписи докладов Joker 2018 и, по традиции, сделали подборку из десяти лучших докладов по мнению посетителей конференции.

Реактивный мир: открытый бесплатный доступ к докладам конференции Joker 2018 + обзор лучшей десятки - 1

Все доклады идут от «младшего» к «старшему» по рейтингу, но различия между местами докладов лучшей десятки минимальны и сильно зависят от методики оценки. Незначительно изменив методику, можно сильно поменять места. Поэтому смотрите всё! Что интересно, у докладов Joker 2018 одни из самых высоких средних оценок за всё время.

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

В последнее время я часто слышу о том, что Java стала устаревшим языком, на котором сложно строить большие поддерживаемые приложения. В целом, я не согласен с этой точкой зрения. На мой взгляд, язык все еще подходит для написания быстрых и хорошо организованных приложений. Однако, признаюсь, бывает и такое, что при повседневном написании кода иногда думаешь: “как бы хорошо это решилось вот этой штукой из другого языка”. В этой статье я хотел поделиться своей болью и опытом. Мы посмотрим на некоторые проблемы Java и как они могли бы разрешиться в Kotlin/Scala. Если у вас возникает похожее чувство или вам просто интересно, что могут предложить другие языки, — прошу под кат.

Чего мне не хватает в Java после работы с Kotlin-Scala - 1
Читать полностью »

Салют, друзья. Уже в эту пятницу пройдет первое занятие в новой группе курса «Разработчик Java». Именно этому курсу и будет посвящена текущая публикация.

ServiceLoader: встроенный DI-фреймворк, о котором вы, возможно, никогда не слышали - 1

Многие из java-разработчиков для внедрения зависимостей используют Spring. Некоторые, возможно, пробовали Google Guice или даже OSGi Services. Но многие не знают, что в Java уже есть встроенный DI. Думаете это появилось в Java 11 или 12? Нет, он доступен с Java 6.Читать полностью »

Рады пригласить всех интересующихся java-разработкой на очередной открытый DINS Java EVENING, который пройдет в нашем офисе на Старо-Петергофском, 19.

На встрече мы познакомимся с опытом TextBack и узнаем, как проходит их миграция с Vert.x на Spring. Коллега из Genestack поделится своим опытом построения билд-системы на Gradle в большом проекте с нуля.

Под катом — подробнее о докладах и спикерах, ссылка на регистрацию для участия во встрече.

image

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

Доброе утро! Начинаем понедельник с материала, перевод которого подготовлен специально для студентов курса «Android-разработчик. Продвинутый курс».

Уменьшаем время сборки ваших Android-проектов - 1

Недавно я переносил кодовую базу Android в Kure на AndroidX. Мне показалось, что это прекрасная возможность поработать над скоростью сборки проекта. У Gradle всегда была плохая репутация из-за медлительности и ресурсоемкости, но я был очень удивлен, что незначительные изменения в конфигурации сборки могут так значительно увеличить ее скорость.
Читать полностью »

image

BPM-разработка — дело непростое. Это обусловлено тем, что процесс должен быть читаемым и понятным заказчику, а не только корректным с технической точки зрения.

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

2018 год принципиально изменил наш подход к разработке бизнес-процессов. Ниже — о том, как эволюционировал этот подход и как менялись мы.
Читать полностью »

Привет!

Напоминаем, что у нас уже открыт предзаказ на долгожданную книгу о языке Kotlin из знаменитой серии Big Nerd Ranch Guides. Сегодня мы решили предложить вашему вниманию перевод статьи, рассказывающей о корутинах Kotlin и о правильной работе с потоками в Android. Тема обсуждается очень активно, поэтому для полноты картины также рекомендуем посмотреть эту статью с Хабра и этот подробный пост из блога компании Axmor Software.
Читать полностью »


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