Несколько лет назад, я, как и другие начинающие Android-разработчики, решил найти работу в этой области. Если вы начинающий специалист, и не знаете, с чего начать изучение Android, или если вы уже обладаете определёнными знаниями в этой теме и планируете в скором времени устраиваться на работу, то этот материал для вас. По задумке, к данной статье вы будете возвращаться по мере накопления опыта: смотреть на каком этапе в данный момент находитесь и что изучать дальше.
Читать полностью »
Рубрика «java» - 139
Как я перешёл из системного администрирования в Android-разработку
2017-05-17 в 12:03, admin, рубрики: android development, java, junior developer, Разработка под androidПосмотрим на rx.Single в RxJava?
2017-05-17 в 4:10, admin, рубрики: java, метки: java, RxJava, singleВсем добрый день! А может у кого-то и не день, но главное, чтобы был добрый. В этой статье я собираюсь рассказать совсем чуть-чуть про такой класс в RxJava, как Single.
А чем Single отличается от Observable ?
А чем Single отличается от Observable ?
Конечно, у него нет всех методов, которые есть у Observable. Subscriber у Single также отличается тем, что содержит только два метода, а не три. Думаю, что все отличия в плане реализации вы сможете найти в документации.
Возникает вопрос:
чем вызваны такие изменения ?
Ответ тут очевиден: Single (что можно даже и из названия понять) содержит только один элемент, в отличии от Observable.
Кто-то подумает и скажет
пффф, ну и что? А я буду использовать всегда Obsevable, пусть в нем будет только один элемент.
По-моему мнению, в этом ничего страшного нет, но есть ли какие-то минусы от такого использования?
- Если вы знаете, что вы будете работать только с одним элементом, то в использовании Observable нет нужды или, как говорят, overkill;
- Также нужно понимать, что Observable более тяжеловесный, чем Single (а поговаривают, что Single даже быстрее);
Говоришь Single, хм...
Говоришь Single, хм...
В single возможны две ситуации:
- одно значение
- exception
Тут важно понимать, чего вы пытаетесь добиться, или какая ваша политика? Если вы считаете, что пустой результат для вас это нормально, то, скорее всего, Single вам не подойдет, но если это не так, и вы знаете, что результат обязательно должен быть, то Single это то, что вам надо. Кстати, стоит отметить, что у Single нет метода empty(). Это я на всякий случай решил сообщить.
Читать полностью »
Установление соединения Java с MySQL 6.0.6
2017-05-17 в 2:59, admin, рубрики: java, mysql, метки: java, mysql 6, verifyServerCertificateНаверняка с проблемой установления соединения народ намучался, особенно новички. Все видеоуроки и туториалы 2-х и 3-х летней давности, а это предполагает некоторые танцы с бубном, для того чтобы приконнектить новенькую mysql к java. Новичку это особенно сложно дается, как впрочем и мне, с опытом программирования в 5 дней. Однако проблему эту победил и выкладываю полный маршрут для всех интересующихся.
Начнем с того, что убедимся, какая версия mysql прописана в dependencies:
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.6</version>
</dependency>
</dependencies>
Первое что я сделал — это попал на FabricMySQLDriver, он напрочь отсутствует в новых классах работающих с 6ым mysql.
Получил ошибку «cannot resolve symbol FabricMySQLDrive».
Спустя 30 минут нашлось решение:
Connection connection = null;
Driver driver;
try {
driver = new com.mysql.cj.jdbc.Driver();
DriverManager.registerDriver(driver);
}
catch (SQLException e1) {
System.out.println("Драйвер не зарегистрировался");
return;
}
Для чего нужен Apache Ignite – GridGain, на примере .NET & C#
2017-05-16 в 10:49, admin, рубрики: .net, Apache, big data, BigData, gridgain, Ignite, java, MapReduce, Microservices, nosql, sqlВ последнее время имена GridGain и Apache Ignite нередко мелькают в интернетах. Однако, судя по комментариям (например, здесь), мало кто понимает, что же это за продукт и с чем его едят.
В этой статье я попытаюсь доступным языком объяснить, и на примерах кода показать, что умеет Apache Ignite.
Идиоматичный Kotlin, набор хороших практик
2017-05-16 в 7:19, admin, рубрики: java, kotlin, Блог компании ИНФОРИОН, идеальный код, Программирование, Совершенный код
Чтобы полностью раскрыть все преимущества Kotlin, пересмотрим некоторые подходы, которые мы используем в Java. Многие из них могут быть заменены на лучшие аналоги из Kotlin. Давайте посмотрим на то, как мы можем написать идиоматичный код на Kotlin.
Свой Bot за несколько часов, или поговорим о пиве с машиной
2017-05-14 в 16:11, admin, рубрики: bot, java, open source, speech recognition, spring, spring boot, Анализ и проектирование систем, машинное обучение, ПрограммированиеТема по улучшению взаимодействия машин и человека сейчас актуальна как никогда. Появились технические возможности для перехода от модели «100 кликов» к парадигме «скажи, что ты хочешь». Да, я имею в виду различные боты, которые уже несколько лет разрабатывают все кому не лень. К примеру, многие крупные компании, не только технологические, но и retail, logistics, банки в данный момент ведут активный Research&Design в этой области.
Простой пример, как, например, происходит процесс выбора товаров в каком-либо интернет магазине? Куча списков, категорий, в которых я роюсь и что-то выбираю. It suck's. Или, допустим, заходя в интернет банк, я сталкиваюсь с различными меню, если я хочу сделать перевод, то я должен выбрать соответствующие пункты в меню и ввести кучу данных, если же я хочу посмотреть список транзакций, то опять таки, я должен напрягать как мозг, так и указательный палец. Гораздо проще и удобнее было бы зайти на страницу, и просто сказать: «Я хочу купить литр молока и пол-литра водки», или просто спросить у банка: «Что с деньгами?».
В список профессий, которым грозит вымирание в достаточно близкой перспективе, добавляются: теллеры, операторы call центров, и многие другие. И на простом примере, реализовать который у меня заняло часов 7, я покажу, как можно достаточно просто сделать интеграцию распознавания речи, и выявления сущностей, на примере открытого Wit.Ai (Google Speech API интеграция также включена)
Читать полностью »
Реализация одновременного скролинга по всем направлениям
2017-05-11 в 15:27, admin, рубрики: Android sdk, android studio, java, разработка игр, разработка игр под android, разработка мобильных приложений, Разработка под androidВведение
Доброго времени суток! Сразу скажу, что программировать я начал недавно и большого опыта у меня нет, поэтому не судите строго, тем более, что материалов на данную тему очень мало. В статье я хочу поделиться своим решением проблемы, которая у меня возникла при создании пошаговой 2D стратегии. Для стратегий привычное дело наличие игрового поля. Но как быть, если у пользователя маленький телефон и всё игровое поле не помещается на экране? Таким вопросом я задался примерно месяц назад, когда у меня ещё ничего не было готово. Сначала я решил как обычно обернуть поле в ScrollView и HorizontalScrollView. И тут начинается собственно проблема. Прокручивать можно было только по одному направлению одновременно, что очень неудобно, тем более для игры. Если вам интересно решение этой проблемы добро пожаловать под кат.
Читать полностью »
Исследуем RxJava 2 для Android
2017-05-11 в 14:38, admin, рубрики: android, java, rxjava, RxJava 2, Блог компании Badoo, Программирование, разработка мобильных приложений, Разработка под android
Меня зовут Аркадий, я Android-разработчик в Badoo. В последнее время в нашем блоге много постов про Go, PHP, JS, QA, и я решил разбавить их темами по мобильной разработке. Как раз занимался портированием одного Android-проекта с RxJava 1 на RxJava 2 и читал всё, что можно найти на эту тему в интернете. В частности, доклад Джейка Вортона с конференции GOTO Copenhagen 2016. Мне показалось, что это достойный кандидат на перевод – думаю, многие Android-разработчики задумываются о переходе на RxJava 2, и им интересно, что изменилось по сравнению с первой версией.
Джейк сделал достаточно объёмное введение о реактивном программировании, так что знание RxJava 1 не требуется для понимания статьи. Доклад был подготовлен, когда RxJava2 ещё только готовилась к выпуску (на текущий момент уже выпущена версия 2.1.0).
Автономер на четырех языках. Часть 2
2017-05-11 в 9:04, admin, рубрики: C#, java, objective-c, swift, оопЧто такое 8037?
Это небольшая математическая игра: вы идете по улице, и просто считаете сумму цифр в автомобильных номерах. Эту игру мы реализуем в консольном варианте, на четырех языках: Swift, Objective-C, Java и C#.
В первой части мы написали часть приложения, которая спрашивает у пользователя ответ пока тот не введет слово для выхода из приложения. Как резонно заметили в комментариях, в таком случае правильнее все-таки использовать цикл вместо рекурсии. Поэтому первое, что мы сделаем — уберем рекурсию и напишем вместо нее цикл в методе startGame
.
Выход Java 9 снова отложен
2017-05-10 в 12:20, admin, рубрики: java, jdk9, Блог компании ИТ-ГРАД, ИТ-ГРАДВыход Java 9 — новой версии платформы — был отложен. Все это связано с недавними возражениями Red Hat и IBM касательно работы над системой модулей.