Java

Вы уже знакомы с языком Java, но ещё не знаете, как пишутся крупные программы на нём? Тогда Вы попали по адресу!

Посмотрите это видео сейчас, и Вы узнаете, как этому можно научиться

Оформить заказ

Об авторе

Михаил Русаков

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

Меня зовут
Михаил Русаков

На момент написания этих строк мне 28 лет, имею высшее техническое образование. С начала 2010-го веду учебную деятельность, а именно обучаю учеников создавать сайты и программировать. На текущий момент за все эти годы я записал ровно 40 как платных, так и бесплатных курсов. Клиентов на данный момент у меня 15567 человек. Людей, которые просто на меня подписаны (по e-mail, в первую очередь, а также на YouTube и в контакте) около 200 000 человек.
Так же за эти годы у меня накопилось множество отзывов от моих учеников, с которыми Вы можете ознакомиться здесь:

Трудности в начале моего пути

Трудности в начале моего пути

Я хотел бы Вам рассказать свою историю, как я пытался применять Java в сложных проектах. Шёл 2007 год. Благодарю одному замечательному на тот момент видеокурсу я этот язык освоил в той степени, которая позволила мне программировать всё, что я пожелаю. Однако, у меня постоянно возникали проблемы с крупными проектами. Вначале всё шло гладко, но чем дальше я писал код, чем больше расширял функционал, тем сложнее он читался, тем сложнее было что-то добавить ещё, не сломав что-то старое. Разумеется, о красивом коде нельзя было и мечтать. В теории действительно я примерно представлял, как создать что-то сложное, но это только в теории, на реальной практике каждый шаг был тяжелее и тяжелее. Это можно сравнить, например, с отжиманиями. Первое отжимание даётся легко, второе тоже, но уже чуть-чуть тяжелее. Третье ещё чуть-чуть тяжелее, потом ещё и ещё, и в конце становится просто невмоготу. Аналогично, и с программированием сложных программ.

И если бы Вы знали, как в тот момент я мечтал о продолжении того курса, но только уже не с основами Java, а именно с примером создания действительно сложного и большого проекта. Чтобы я посмотрел это, и уже понимал, как вообще всё это происходит, с чего начинается, как продолжается, как добавляется потом функционал, как грамотно строится архитектура и так далее. К сожалению, этого примера я так и не дождался.

В итоге, пришлось мне самому разбираться: читать множество книг, учиться применять паттерны проектирования, постоянно практиковаться. Чего я только в своё время не создавал: и аналог Paint, и какую-то гонку (где, правда, было не движение автомобиля, а иллюзия, где двигалось окружение, но не машина, тогда я ещё не знал, как это можно сделать иначе), и текстовый редактор, и лабиринт, где бегает нарисованная мышка в поисках сыра и ищет оптимальный путь, чтобы найти сыр в кратчайшие сроки. В общем, чего я там только не делал. И в конце концов, я выработал свою систему, и теперь я с уверенностью могу сказать, что мне без разницы, что писать: программу на 100 строк, на 5 000 строк или на 20 000 строк. Разница будет лишь во времени написания, но не в сложности.

И вот этого состояния добиться новичкам крайне сложно. У меня на это всё ушло, по меньшей мере, 3-4 года.

Как можно в разы ускорить этот процесс?

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

Представляю Вашему вниманию свой новый:

Видеокурс

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

О курсе

В этом курсе Вы увидите создание крупного проекта на Java с нуля. Обзор созданной программы можно посмотреть в видео ниже.

Если кратко, то это программа для ведения домашней бухгалтерии. Лично я её веду где-то с 2009-го года (хотя сейчас уже точно не помню), и рекомендую её вести абсолютно всем, если хотите, чтобы у Вас был в финансах всегда полный порядок. И я посчитал, что создание такой программы будет отличным примером написания сложных проектов на Java.

Так же хочу привести сухие цифры по статистике этой программы:

  • 5040 строк
    кода
  • 78 классов
    и интерфейсов
  • 62 задействованных
    иконки
  • 5 реализованных
    паттернов
    проектирования
  • 14 пакетов
    классов

Теперь поговорим о том, что Вас ждёт в курсе.

Содержимое курса

Курс состоит из 67 уроков общей продолжительностью 16 часов и включает в себя 8 разделов, в которых абсолютно с нуля и до релизной версии создаётся программа для ведения домашней бухгалтерии.

Введение

Введение

В данном разделе Вы узнаете:

  1. Как проходить курс.
  2. Как составляется техническое задание и как вообще грамотно расписать функционал.
  3. Каков общий порядок написания крупной программы.
  4. Как работать с иконками, которые используются в программе.

Подчёркиваю, что все эти темы разбираются на примере нашей программы. И даже один этот раздел сэкономит Вам огромное количество сил, нервов и времени при написании программ в будущем.

Модель

Модель

Когда общий принцип становится ясным, начинается создание модели – то есть внутреннему механизму работы с данными, которые потом в будущем будут выводиться пользователю в удобном интерфейсе.

И просмотрев этот раздел, Вы узнаете:

  • Как грамотно сделать структуру файлов и папок у проекта.
  • Как работать с текстовыми константами.
  • Какие нужно создать базовые классы.
  • Как правильно создавать основные классы (для какие объектов, какие свойства, какие методы).
  • Как создаётся класс фильтра для объектов.
  • Как создаётся класс для сбора данных с объектов с последующим анализом.
  • Как правильно хранить настройки программы.
  • Как правильно хранить различные настройки стиля.
  • Как правильно хранить информацию о форматировании данных.
  • Как правильно хранить коды обработчиков событий.

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

Сохранение и загрузка данных

Сохранение и загрузка данных

Данные – это хорошо. Но смысла в них немного, если их нельзя будет сохранить и загрузить.

Поэтому в данном разделе Вы узнаете:

  • Каков оптимальный механизм сохранения данных в файл.
  • Как создать объект «сохранения».
  • Как добавляются тестовые данные, чтобы вообще было, с чем работать.
  • Как заполнять данные внутри объектов загруженной через Интернет информацией (в частности, мы сделаем обновление курсов валют в нашей программе через Интернет).

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

Создание базового интерфейса пользователя

Создание базового интерфейса пользователя

Теперь у нас есть вся система по работе с данными, по их сохранению и загрузке. Однако, чтобы со всем этим можно было удобно работать обычному пользователю, нужно сделать графический пользовательский интерфейс (GUI).

И из этого раздела Вы узнаете:

  • Как настроить основное окно программы.
  • Какие основные интерфейсы нужно создать.
  • Как вывести меню.
  • Как создать свои собственные кнопки.
  • Как создать свой тулбар.
  • Как создаётся удобный компонент по выбору даты.
  • Как создаётся компонент по выбору файла и, особенно, как он настраивается (в частности, в плане языка).

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

Диалоговые окна

Диалоговые окна

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

В частности, Вы узнаете:

  • Как создать окно с информацией об ошибки.
  • Как создать окно с подтверждением операции (например, удаления или выхода из программы при несохранённых данных).
  • Как использовать HTML-код для форматирования данных в окнах и как сделать кликабельные ссылки (в частности, в нашей программе Вы увидите создание окна «О программе»).
  • Как создать крайне удобное для программирования абстрактное окно редактирования данных. Данный класс (как, впрочем, и многие другие) без преувеличения можно просто копировать во множество других проектов, так как удобство и в то же время универсальность здесь просто зашкаливают.
  • Как создаются удобные окна для редактирования самых разных данных (на основе абстрактного класса из предыдущего пункта) буквально за считанные минуты.

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

Вывод данных

Вывод данных

Настало время собирать по кирпичикам весь интерфейс нашей программы и выводить туда все необходимые данные.

И в этом разделе Вы узнаете:

  • Как делается вёрстка интерфейса.
  • Как работать с таблицами, а именно создавать свою собственную модель, свой внешний вид, сортировку по столбцам и так далее.
  • Как выводить таблицы с самыми разными данными.
  • Как создаются всплывающие меню у таблиц.
  • Как делается панель фильтрации данных.

Просмотрев этот раздел, Вы будете знать, как легко и быстро по кирпичикам собирается интерфейс любой сложности и любого объёма.

Вывод статистики

Вывод статистики

В данном разделе мы с Вами установим стороннюю удобную библиотеку по отрисовке различных графиков.

И просмотрев эти уроки, Вы узнаете:

  • Как устанавливаются любые сторонние библиотеки.
  • Как создаётся удобный класс для отрисовки гистограмм.
  • Как создаётся панель для перелистывания между различными графиками.

После этого раздела Вы уже сможете устанавливать сторонние библиотеки (коих великое множество), настраивать их и использовать.

Обработка событий

Обработка событий

У нас полностью готов весь внешний вид, вся внутренняя инфраструктура готова для обработки данных. Однако, ни одна кнопка ещё не работает, ни один пункт меню не функционирует. И в этом разделе мы с Вами займёмся обработкой событий.

И Вы узнаете:

  • Как аккуратно и удобно обрабатывать самые разные события, при этом сохранив максимум полиморфизма.
  • Как обрабатывать пункты меню.
  • Как обрабатывать кнопки тулбара.
  • Как обрабатывать панель с фильтром.
  • Как обработать закрытие окна (чтобы выскакивало диалоговое окно с предупреждением, если в программе есть несохранённые данные).
  • Как обрабатывать всплывающее меню.
  • Как обрабатывать события в диалоговых окнах.

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

Заключение

Заключение

Это заключительный раздел курса, в котором Вы узнаете:

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

Упражнения

Если просто посмотреть курс, ничего не делая, то Вы получите от силы процентов 10 от всей информации. В принципе, учитывая объём знаний в курсе, даже это будет прилично, но мне бы хотелось, чтобы Вы вынесли все 100% знаний. И вот для этого в обязательном порядке нужно закреплять материал на практике.

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

Бонус

Добавление мультиязычности в программе на Java

Добавление мультиязычности

Те, кто закажет курс «Создание крупного проекта на Java с нуля», так же бесплатно получат ещё и Бонус, из которого Вы узнаете, как добавлять множество языков в свою программу.

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

Гарантия

  • Я занимаюсь обучающей деятельностью с 2010-го года, за это время я записал ровно 40 (41 вместе с новым курсом) как платных, так и бесплатных видеокурсов по самым различным темам, прямо или косвенно относящихся к программированию (https://blog.myrusakov.ru/courses.html).

    Разумеется, у меня много тысяч клиентов (на момент написания этих строк более 15500 человек). И, безусловно, часть из них просила деньги назад по самым разным причинам: передумали заниматься, купили случайно повторно (забыв, что покупали его уже раньше), не подошёл сам курс.

    На данный момент заказов ровно 28534 штуки (заказов больше, чем клиентов, поскольку часть клиентов покупает несколько раз).

  • Возвратов же ровно 262 штуки. И, поверьте, мне нет смысла портить себе репутацию, чтобы сохранить 1% прибыли (262/28534 = 0.009, что примерно равно 0.1%). Это смешные деньги за репутацию, поэтому можете быть уверены, что если вдруг Вам курс не понравится, то Вы гарантированно получите деньги за курс назад без лишних вопросов.

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

    Для получения возврата Вам необходимо написать запрос в отдел «Возврат» в моей службе поддержки: https://support.myrusakov.ru/ask

Срок действия гарантии – 30 суток с момента оплаты.

Что нужно знать для успешного прохождения курса?

java

Для успешного прохождения курса обязательно нужно знать основы языка Java. И если Вы считаете, что ещё недостаточно хорошо его знаете, либо не знаете его вовсе, то сначала нужно пройти курс «Программирование на Java с Нуля до Гуру» (разумеется, выполнив также упражнения из него). Видеокурс «Программирование на Java с Нуля до Гуру» — это 15 часов видеоуроков, в которых с нуля объясняется и показывается процесс написания программ на Java. В курсе Вы получите всю необходимую теорию, а также увидите множество практических примеров, в том числе, и из моей личной практики. Так же в одном из Бонусов к курсу Вы познакомитесь и научитесь использовать 9 важнейших паттернов проектирования.

Вы можете заказать сразу оба курса «Программирование на Java с Нуля до Гуру» и «Создание крупного проекта на Java с нуля» одним комплектом с существенной скидкой.

Видеокурс

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

Что Вы получаете, приобретя Видеокурс «Создание крупного проекта на Java с нуля»

  • Видеокурс, из 67 видеоуроков, общая длительность 16 часов

  • Бонус, отлично дополняющий основной курс

  • Упражнения и все исходники из уроков

  • Поддержку от меня

  • 100% гарантию на возврат средств, если курс Вас не устроит

Какова стоимость курса?

Я всегда назначаю цену на курс такой, чтобы его ценность была, как минимум, в 10 раз выше его цены. То есть на каждый вложенный 1 рубль Вы получаете ценности минимум на 10 рублей. И тут надо отметить, что Java-программисты – это самые высокооплачиваемые (и, как следствие, безумно востребованные) программисты как в России, так и в мире. Ниже я привожу пару вакансий в подтверждение своих слов. Самые начинающие программисты без опыта работы получают столько:

Вакансии

С относительно небольшим опытом (2-4 года) зарплата резко увеличивается:

Вакансии

Ну и, напоследок, несколько вакансий за границей:

Вакансии

Как видите, уровень зарплат очень высокий. Но дальше Вы мне можете возразить: «Да, зарплаты отличные, но ведь я могу и самостоятельно выучить Java и научиться создавать сложные проекты на ней, потом устроиться на эту замечательную работу». И тут я отвечу следующее, а именно, что, да, Вы правы. Но от начала момента, когда Вы только-только начали понимать этот язык и до состояния, при котором Вас возьмут на работу (хотя бы начинающим специалистом) очень и очень много сил придётся вложить. Я уже писал об этом выше, но повторюсь, что на это уйдёт минимум 2-3 года и это при ежедневной практике, чтении книг, штудировании Интернета.

Получить тот же самый результат благодаря курсу можно в разы быстрее, а именно буквально за 2 месяца, занимаясь 1 час в день. Либо ещё в более короткие сроки, если заниматься больше. А теперь давайте немного посчитаем.

5 лет Вашей жизни с самостоятельным обучением

5 лет Вашей жизни с обучением по курсу

Срок обучения: 2 года (минимальный)

Срок обучения: 2 месяца (максимальный)

Заработок в первые 2 года равен 0. Вы только учились и никому не были интересны, как специалист.

Зарплата: 50 000 рублей (минимальная для начинающих)

Заработок: за 1 год и 10 месяцев Вы получаете 50 000 * 22 = 1 100 000 рублей.

Вы устроились на работу начинающим программистом с зарплатой 50 000 рублей.

За 2 года Ваша зарплата составит: 50 000 * 24 = 1 200 000 рублей.

Следующие 2 года Вы уже с опытом работы, поэтому теперь Ваша зарплата составляет 100 000 рублей.

Таким образом, Ваш заработок составит: 100 000 * 24 = 2 400 000 рублей.

Уже прошло 4 года (2 года на обучение и 2 года опыта работы), и теперь Вашу зарплату повысили до 100 000 рублей.

И поэтому за 5-й год Вы зарабатываете: 100 000 * 12 = 1 200 000 рублей.

5-й год Вы уже специалист с большим опытом работы и Ваша зарплата составляет 200 000 рублей.

Таким образом, за 5-й год Вы заработаете: 200 000 * 12 = 2 400 000 рублей.

Итого, Ваш доход за 5 лет: 1 200 000 + 1 200 000 = 2 400 000 рублей.

Итого, Ваш доход за 5 лет: 1 100 000 + 2 400 000 + 2 400 000 = 5 900 000 рублей.

А теперь посчитаем разницу доходов (а по сути, убыток всех тех, кто любит учиться бесплатно): 5 900 000 рублей – 2 400 000 рублей = 3 500 000 рублей. Вот именно эту сумму за 5 лет потеряют те, кто любит всё бесплатно.

Эти простые истины я осознал ещё очень и очень давно. И я могу сэкономить на всём: на колбасе, на ресторане, на помидорах (например, зимой я их редко ем), на гостинице, на бензине (тем более, что ходить пешком полезно), но я никогда не сэкономлю на знаниях. Во-первых, это всегда сэкономленные копейки, а не значимые суммы (например, цена этого курса – это цена одной ночи летом в посредственной гостинице на Чёрном море), во-вторых, эти знания в самом худшем случае будут просто очень полезны с точки зрения развития мышления и кругозора, а в лучшем могут стать источником дохода и окупиться, не побоюсь этого слова, тысячекратно.

И исходя из огромной ценности курса (а по сути, это сэкономленные, как минимум, 2 года труда), я спокойно мог бы оценить этот курс хоть в 100 000 рублей. Скорее всего, Вы за 2 года зарабатываете заметно больше, поэтому даже такая цена была бы для Вас выгодной. Однако, за такую сумму этот курс очень мало, кто себе сможет позволить, поэтому я решил назначить цену в размере 7470 рублей. И это действительно сверхнизкая цена за знания, ценность которых несопоставимо выше.

Как оформить заказ?

Выберите подходящий комплект ниже, перейдите по соответствующей кнопке «Заказать» и следуйте инструкции.

Для тех, кто знает Java

Видеокурс
«Создание крупного проекта на Java с нуля»

Java

7470 ₽

Заказать

Для тех, кто НЕ знает Java

Видеокурс
«Создание крупного проекта на Java с нуля»

Видеокурс
«Программирование на Java с Нуля до Гуру»

Java

12440 ₽ 8870 ₽

Заказать

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

Поэтому абсолютно смело, не откладывая на потом, оформляйте и оплачивайте заказ прямо сейчас и приступайте к обучению.

С Уважением, Михаил Русаков!

Вопросы и ответы

  • 1. Какое разрешение видео у уроков в курсе?

    Разрешение уроков Full HD (1920x1080).

  • 2. Актуальная ли информация в курсе?

    Да, информация актуальная. А когда она становится уже не совсем актуальной, то курс снимается с продаж и выпускается его новая версия.

  • 3. Выдаётся ли сертификат?

    Да, на каждый Видеокурс выдаётся отдельный именной сертификат.

  • 4. Есть ли упражнения в курсе?

    Да, упражнения в курсе присутствуют в каждом разделе.

  • 5. Есть ли защита у курса? Можно ли будет его посмотреть на разных компьютерах?

    Защита у курса есть. Активировать его можно будет на 3-х различных устройствах.

  • 6.После переустановки операционной системы потребуется ли замена лицензионного ключа?

    Нет, не потребуется, так как лицензионный ключ привязывается к «железу» устройства, а не к его операционной системе.

  • 7. Нужен ли доступ в Интернет для просмотра уроков?

    Интернет нужен только во время активации, которая проводится лишь единожды. Для последующего использования курса Интернет не обязателен.

  • 8. Можно ли будет посмотреть курс на Mac?

    Да, можно будет.

  • 9. Можно ли заказать курс на дисках?

    Да, можно. Для этого при оформлении заказа надо указать способ доставки: «По почте». Однако, обратите внимание, что этот способ дороже, так как требует оплату изготовления бокса, дисков, а также стоимости самой доставки.

  • 10. Какова общая продолжительность курса?

    Общая продолжительность курса составляет чуть более 16 часов.

  • 11. Нужно ли знание английского языка?

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

  • 12. Какие есть способы оплаты?

    Способов оплаты много (электронные деньги, карты Visa/MasterCard/МИР, RoboKassa, Связной и другие), выбор способа оплаты осуществляется при оформлении заказа. Каждый способ снабжён описанием и видеоинструкцией.

  • 13. У меня остались ещё вопросы. Куда мне их написать?

    Любые вопросы можете задать в мою службу поддержки: https://support.myrusakov.ru/ask