Метка «java»

Привет!
Меня зовут Евгений, я программирую на Java примерно 7 лет, и я хочу начать цикл уроков о том, как же можно жить и писать веб приложения на Java без фреймворков вроде Spring Framework, или Play Framework, и когда и почему это стоит делать. Цикл будет иметь имя iBoard, так как я буду показывать реальные примеры на продукте iBoard — доска объявлений. В уроке мы рассмотрим, как построить хорошую архитектуру для такого приложения, рассмотрим не стандартный стек для разработки такого приложения, и сравним, что же лучше, Java EE с фреймворками или Java SE с библиотеками.

Хочу сказать сразу, я не заставляю кого-либо отказываться от фреймворков, и спорить что лучше. Обязательно осознайте это, что бы не разгорались холивары по поводу выбора технологий/фреймворков и т д.

Почему без фреймворков?
Давайте рассмотрим пример с Spring Framework.
Для начала, давайте разберем, почему Spring Framework это плохо. Для начала, хочу сказать, что в целом Spring Framework достаточно хороший и не плохой фреймворк, но у него есть ряд недостатков, которые заставляют разработчиков писать плохой код. В большей части, это связано с тем, что большинство фреймворков пишутся под стандарты Java EE, что бы быть максимально совместимы с различными технологиями из этого стека. Но в реальном мире, Java EE Вам не нужен в принципе.
Читать полностью »

Первая игра на LibGDX. С какими проблемами сталкивается новичок и как их решить

Привет, хотел бы поделиться своим скромным опытом разработки первой (первая, которую выпустил в Google Play) игры на фреймворке LibGDX, отметить, что в нем понравилось, что нет.

Немного предыстории

В геймдеве, как вы уже поняли, я не давно, если еще можно назвать геймдевом то, чем я занимаюсь. Большого опыта в программировании, как такового тоже нет. Учусь на программиста, выбрал для себя Java. Выучил синтаксис, захотелось учить android. Поучил по книге, которая, я думаю, знакома многим, кто учил аndroid — Head First Android Development. Выучил книгу — вроде, ничего сложного, но мне показалось, что большинство приложений менее востребованы в Google Play чем игры, и тут мне пришло в голову написать хоть какую-то игру. Мне казалось, что это чрезвычайно сложно и что бы написать тот же Flappy Bird нужно много знаний и опыта. Все оказалось не так.
Читать полностью »

На сегодняшний день на просторах интернета можно найти массу статей о том, как начать программировать, разрабатывать приложения, игры и т.д. Как правило такие статьи пишутся профессиональными программистами, они грамотно и подробно описывают все этапы подготовки и разработки продукта, и, казалось бы, все замечательно, но есть одно но, в таких публикациях описаны технические моменты и не хватает базовых понятий на простом человеческом языке, который поймет человек, не написавший ни одного “Hello World”.

Если ты решил освоить разработку приложений на Android, то первым делом тебе советуют изучить Java. Это правильно. Ты, наполненный энтузиазмом, полный перспективных идей и верой в то что твое будущее приложение наверняка изменит мир, бежишь в книжный магазин, покупаешь самую толстую книжку по Java, несешься домой, включаешь компьютер, потирая руки и приготовившись творить, открываешь книгу и начинается… Полиморфизм, инкапсуляция, наследование, абстрактность, классы, объекты… Через полчаса желание творить пропадает, книга по Джава отправляется на дальнюю полку, а ты, разочарованный в программировании, продолжаешь жить прежней жизнью с несбывшимися мечтами.

Хватит это терпеть! Я объясню вам базовые принципы программирования для Android за 2 минуты, зная которые вы без проблем начнете писать свое первое приложение на могучем языке Джава.
Читать полностью »

Недавно стало известно о том, что корпорация Oracle переносит петербургский центр разработок в Индию, где будет развивать бизнес в сфере «облачных» технологий и дата-центров. Среди возможных причин упоминалось изменение политического отношения головной компании к российскому рынку, желание сэкономить на рабочей силе и даже фактор большей культурной совместимости — как известно, Читать полностью »

в 4:10, , рубрики: java, метки: , ,

Всем добрый день! А может у кого-то и не день, но главное, чтобы был добрый. В этой статье я собираюсь рассказать совсем чуть-чуть про такой класс в RxJava, как Single.

А чем Single отличается от Observable ?

Конечно, у него нет всех методов, которые есть у Observable. Subscriber у Single также отличается тем, что содержит только два метода, а не три. Думаю, что все отличия в плане реализации вы сможете найти в документации.

Возникает вопрос:

чем вызваны такие изменения ?

Ответ тут очевиден: Single (что можно даже и из названия понять) содержит только один элемент, в отличии от Observable.

Кто-то подумает и скажет

пффф, ну и что? А я буду использовать всегда Obsevable, пусть в нем будет только один элемент.

По-моему мнению, в этом ничего страшного нет, но есть ли какие-то минусы от такого использования?

  • Если вы знаете, что вы будете работать только с одним элементом, то в использовании Observable нет нужды или, как говорят, overkill;
  • Также нужно понимать, что Observable более тяжеловесный, чем Single (а поговаривают, что Single даже быстрее);

Говоришь Single, хм...

В single возможны две ситуации:

  • одно значение
  • exception

Тут важно понимать, чего вы пытаетесь добиться, или какая ваша политика? Если вы считаете, что пустой результат для вас это нормально, то, скорее всего, Single вам не подойдет, но если это не так, и вы знаете, что результат обязательно должен быть, то Single это то, что вам надо. Кстати, стоит отметить, что у Single нет метода empty(). Это я на всякий случай решил сообщить.
Читать полностью »

Наверняка с проблемой установления соединения народ намучался, особенно новички. Все видеоуроки и туториалы 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;
	}

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

Являясь Unity разработчиком, я со временем дошёл до того этапа, когда возникла необходимость написания сервера. Передо мной стояло много неизведанных троп сетевого программирования, в котором я потом повяз по голову. Прыгал между C++, C# и Java. После долгий скитаний я нашёл то, чему я сейчас говорю спасибо. Об этом я и хочу поведать.
Читать полностью »

7−8 апреля в Москве пройдёт Java-конференция JPoint. Она уже пятый год собирает множество специалистов — а также наглядно показывает своим примером, что российским Java-разработчикам повезло с докладчиками.

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

В англоязычном сегменте сети достаточно много статьей по этой теме. Чаще всего они несут поверхностный, ознакомительный характер и иногда довольно сложно из-за языкового барьера уловить суть изучаемой темы. Надеюсь, наше небольшое путешествие в Java Collections Framework принесет вам некоторое разъяснение. Чем больше предметной информации, тем легче собрать всю мозаику воедино, отбрасывая не понятные выкладки и описания. Для более эффективного изучения количество примеров является критичным. Так же дело обстоит и с коллекциями, обойдем стороной интерфейсы, и перейдем сразу к классам, их реализующие.

Класс ArrayList

«Не стоит недооценивать важность метафор. Метафоры имеют одно неоспоримое достоинство: описываемое ими поведение предсказуемо и понятно всем людям…”.
Фернандо Дж. Корбати.

Я полностью согласен с Фернандо Дж. Корбати о важности метафор в изучение определённой предметной области. Так как программирование является смесью математики и искусства, использование метафор имеет наивысший приоритет. Для объяснения сути назначения ArrayList мы будем использовать «Транспортную» метафору. Представьте, что это обычный массив, похожий на семейный автомобиль, купленный с расчётом на количество членов семьи.

Немного о Java Collections Framework. Часть 1 - 1

Если у нашей семьи родиться ещё один ребёнок, то придется покупать более вместительный автомобиль. Предположим, родители заведомо не знают, сколько детей у них будет и какой ещё вместимости необходим новый автомобиль. Есть вероятность прогадать и зря потратить сбережения. Так вот, ArrayList подобна городскому транспорту. Здесь нет ограничений в вместимости. Каждый в состоянии доехать из пункта A в пункт B. Поэтому если отец семейства не уверен или не знает о количестве будущих детей, он выберет городской транспорт, или в нашем случае ArrayList. Данный класс имеет три конструктора, мы будем разбирать самый простой. Давайте напишем код.
Читать полностью »

в 11:33, , рубрики: java, метки:

Привет житель ! Сегодня я хочу поделиться с тобой решением простой школьной задачки с небольшим дополнением. Для нахождения бесконечного ряда Фибоначчи (даже больше чем long).

Это моя первая статья и пожалуйста не судите строго. Все коды я буду приводить на Java. И так начнем:

Все мы знаем, стандартный школьный алгоритм для нахождения ряда Фибоначчи до N-го числа и этот алгоритм таков:
Читать полностью »