11 плюшек для Java-разработчика


Содержание

Выбор Java >

Недавно решил «переметнуться» в лагерь Java-разработчиков, и передо мной стал вопрос, какой выбрать IDE. Я понимаю, что на данный момент (период изучения основ языка), особой разницы нет, но у каждой IDE свои плюсы и минусы, хотелось бы знать о них заранее.

Рассматриваю несколько кандидатов:

  • NetBeans
  • Eclipse
  • IntelliJ IDEA

Из которых, в Eclipse не работал ни разу, в NetBeans есть небольшой опыт (порядка пол-года) правда только c PHP, с IntelliJ IDEA напрямую не встречался, но сейчас работаю в их PhpStorm, очень нравится.

Тестовые примеры, на данный момент, делаю в IDEA Community Edition, но каков он по сравнению с IDEA Ultimate я не знаю, ибо использую пока лишь малую часть того, что умеет IDE.

Что посоветуете вы?

  • Вопрос задан более трёх лет назад
  • 71161 просмотр

Вот все говорят идея лучше… там все интуитивно…
Я начинающий прогер…
1. Поставил NetBeans… написал прогу консольную… нажал Build и в итоге у меня есть удобный проект разбитый по папочкам и в отдельной папке лежит готовый к использованию jar файл…
2. Поставил IDEA… написал прогу консольную (здесь небудем упоминать, что создание нового проекта в идее гораздо более запутанно для новичков чем в нет бинсе, надо ответить на кучу вопросов что у тебя где лежит и т.д.)… нажал Build… и что? и нифига… где мой жарник?

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

Хотя это только первое впечатление от идеи… Для продвинутых она может быть действительно манной небесной…

Программирую на Eclipse, нравится. Раньше пользовался NetBeans, но сейчас перестал. Дизайнер форм в Eclipse, правда, надо будет отдельно подключать.

Кстати, насчет NetBeans, Oracle не так давно грозились сделать NetBeans самой популярной IDE под джаву. Интересно, что у них выйдет.

Как искать Java-разработчика: пособие для начинающих

Я занимаюсь подбором ИТ-специалистов более 7 лет, за это время я получила обширную экспертизу в этой области. Думаю, данный материал будет интересен как рекрутерам с опытом работы с данными специалистами, так и тем, кто только знакомится с миром ИТ, поэтому информацию постараюсь дать максимально просто.

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

Java-программист или Java-разработчик (не путать с JavaScript) занимается разработкой программного обеспечения (ПО) обычно в команде программистов. Написанный программный код программист сохраняет в специальном хранилище, которое называется системой контроля версий (Git и тп) . Кроме того, он должен исправлять свои ошибки в написанном коде, уведомление о которых поступает ему от тестировщиков.

Хороший программист (если мы нанимаем специалиста с опытом) имеет знания и практический опыт в технологиях Java, пишет качественный код, допускает не критичное количество ошибок, постоянно в курсе новых технологий и методов разработки, потому что он непрерывно занимается самообразованием.

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

Особенности:

  1. Айтишники в основном более интровертны и обычно любят говорить по делу. Предпочитают общаться по электронной почте и не любят, когда им звонят. Отчасти потому, что квалицированному специалисту постоянно названивают рекрутеры и отвлекают от работы, отчасти потому что они лучше воспринимают информацию и гораздо эффективнее общаются по переписке.
  2. Программист обычно сосредоточен на конкретной задаче, над которой он работает не отвлекаясь.
  3. Уровень интеллекта у айтишников в среднем достаточно высок, так как они получили хорошее математическое образование.
  4. Айтишники любят более неформальное общение и неформальный подход к работе.
  5. Они в основном совы и предпочитают работать с 11:00. Также многие достаточно свободолюбивы, не любят дресс-код итд. В таких условиях они обычно достигают лучших результатов.

1. Какова ситуация спроса и предложения на кадровом рынке по этой вакансии, что важно знать о компании, вакансии и условиях работы, чтобы выполнить задачу корректно и в срок, о чем важно спросить работодателя.

На рынке ИТ, в том числе и Java-разработчиков, даже в кризис правила игры определяет соискатель. Предложений достаточно для того, чтобы средний кандидат мог найти работу за 1-2 недели, выбирая между несколькими предложениями о работе. В среднем, на одну вакансию в сфере ИТ претендует 3 кандидата (из исследования hh.ru). Тем не менее, Java не является редкой технологией, эта платформа достаточно популярна у программистов, поэтому найти нужное количество кандидатов для собеседования возможно, но потока по этой вакансии у вас не будет.

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

Обычно требования к джависту состоят из следующих блоков:

– Требование к образованию – чаще всего необходим кандидат с высшим техническим образованием.

– Знание и опыт коммерческой разработки на языке Java (не менее определённого количества лет), то есть студенческие и личные проекты работодателя не интересует.

– Часто указывается знание паттернов проектирования, но не всегда. Обычно успешный разработчик их знает и умеет применять.

– Знание определённого набора фреймворков (Hibernate, Spring итп.) и библиотек (например, JQuery). В каждой компании они требуются свои. Важно в этом пункте сразу уточнить у работодателя, что является обязательным, а что будет плюсом.

– Знание баз данных, например – MS SQL, Oracle и так далее.

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

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

Обязательно уточните у работодателя следующее:

  1. Какой график предусмотрен для кандидата, есть ли переработки, имеется ли возможность график сдвигать?
  2. Присутствует ли дресс-код и насколько строгий?
  3. Где будет располагаться рабочее место кандидата, будет ли это опен спейс или в компании кабинетная система, будет ли он находиться среди коллег-айтишников или среди коллег из других подразделений?
  4. В вопросе компенсации важно иметь четкое представление, что есть оклад, что есть премия и бонусы, белая ли зарплата.
  5. Обязательно узнать обо всех аспектах соц. пакета, он обычно у айтишников очень широкий: кроме ДМС это может быть компенсация фитнеса, бесплатная столовая, 100% оплата больничного, и даже игровые приставки в офисе.
  6. На каком проекте или каких проектах будет работать данный сотрудник, сколько человек в команде, и вообще, лучше честно и прямо спросить: «Чем эта вакансия может заинтересовать кандидата, что мы можем рассказать кандидату, чтобы он загорелся». Это очень хороший вопрос, и адекватный нанимающий менеджер охотно расскажет про все преимущества.
  7. Подразумевается ли профессиональный и карьерный рост на данной позиции?
  8. Какие знания и навыки из описания вакансии обязательные (без которых резюме не будут смотреть) и какие желательные. Например, «знание Java – от 2 лет опыта работы и знание Spring.MVC – обязательно”. Уточните у заказчика, может ли кандидат не указать каких-то из этих ключевых слов в резюме.

2. Как представлять вакансию соискателям (нюансы и правила создания презентации вакансии).

Здесь нужно исходить их трёх основных мотиваторов айтишника:

  1. Интересные проекты.
  2. Технологии, с которыми он будет работать (например, ему уже надоела та платформа, на которой у него большой опыт, но ему очень хочется работать только с Java).
  3. Повышение своего дохода. Этот пункт может быть заменен на комфортность работы (дорога до офиса, удобство графика, наличие столовой, хорошего места для питания, парковки) или команду (насколько хороший микроклимат в команде и насколько она профессиональная).

В описании вакансии для публикации на ресурсах и в соц сетях обязательно хорошо распишите условия, избегайте казённых и шаблонных фраз. В заголовке достаточно написать «Программист Java” или “Ведущий Java-разработчик».

Составьте шаблон письма кандидату, где вы представляетесь, сообщаете, что у вас есть позиция и сразу пишите, что это Java-программист, далее описание вакансии и информация о компании. И, конечно, здесь распишите все преимущества компании, вакансии и проекта, которые вы ранее получили у заказчика (см. выше).

Кандидату лучше сначала высылать письмо, и потом звонить: “Я высылала вам письмо с вакансией” работает лучше, чем внезапный звонок.

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

3. Где размещаться (источники поиска, в том числе специальные и нетривиальные).

По статистике всё-таки больше кандидатов на Java находится на hh.ru, а лучшие приходят по рекомендации коллег-программистов.

Источники:

  1. hh.ru (и активный , и пассивный поиск).
  2. LinkedIn (лучше заранее работать над своей сетью контактов в тех сферах, где вы ищете и будете искать людей).
  3. Рекомендации других сотрудников-айтишников.
  4. Профессиональные форумы sql.ru и rsdn.ru, vingrad. Периодически появляются новые, теряют актуальность старые. Поэтому постоянно ищите новые ресурсы.
  5. Другие источники: ITMozg, Brainstorage, Programmersforum, Javatalks, Github.
  6. Facebook, Twitter, Вконтакте, жж-сообщества по программированию.
  7. Корпоративный сайт компании или агентства.

4. Стратегия поиска (отклики, активный обзвон, соцсети, объявления и т.д.).

1. Размещение вакансии на hh.ru, сбор откликов и активный поиск.

Для эффективного поиска лучше создать автопоиск на основании ключевых слов, которые соответствуют обязательным требованиям заказчика, например если это опыт в Java и фреймворк Hibernate, наш запрос будет выглядеть как

Java and Hibernate

Количество лет опыта мы будем определять уже по резюме.

2. Публикация объявления о вакансии со ссылкой на описание в соцсетях и на LinkedIn. В зависимости от соцсети преамбула может быть более или менее формальной и должна быть привлекательной и интересной. Попросите своих знакомых сделать репост ваших публикаций.

3. Публикация объявления на профессиональных форумах. Обязательно сначала прочитайте правила форума и раздела «Работа» или «Вакансии». За невыполнение требований вас забанят, а вакансию удалят. Например, на sql.ru публикацию нельзя редактировать, обязательно нужно указать оклад, название компании или агентства и город.

5. Как проводить первичный отбор по телефону (важные правила переговоров и критерии отбора).

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

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

6. Особенности очного общения и оценки кандидатов.

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

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

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

Если вы подбираете Java-программиста для компании-заказчика, вам нужно будет развёрнутое интервью, чтобы собрать необходимую информацию для заказчика о кандидате.

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

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

6. Подготовка кандидатов к интервью в компании.

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

Цукерберг рекомендует:  1с битрикс - Битрикс Выбор раздела для поиска

Спасибо за внимание, я надеюсь, что поиск айтишника, если он вам предстоит, будет лёгким и интересным!

Java — разработчик

Программирование и СУБД

Курсы Java

Курсы разработки мобильных приложений

Разработка мобильных приложений

Веб-программирование

Эту Дипломную программу
в нашем Центре успешно закончили
1657 человек!

Java – самый популярный и востребованный язык программирования. С помощью Java реализованы многие известные веб-проекты: Amazon, eBay, LinkedIn, Yahoo!; написано большинство андроид-приложений, этот язык используют для создания приложений многие банки и корпорации.


Среди всех программистов именно разработчики Java пользуются самым большим спросом – их зарплата на 30-40% выше, чем в среднем по рынку труда. Освоив Java, вы становитесь востребованным разработчиком, который может найти работу в компаниях-лидерах рынка в России и за рубежом. А это автоматически означает интересные проекты, возможность удаленной работы или переезда в другую страну, высокий оклад, соцпакет и другие «плюшки».

Хотите стать Java-разработчиком? Эта комплексная программа поможет вам овладеть профессией с самых азов и получить все необходимые для успешного трудоустройства навыки и знания.

Программа содержит 7 курсов и включает как обучение необходимым основам (основы программирования, решение алгоритмических задач, программирование на Си), так и непосредственно изучение Java до продвинутого уровня. Слушатели получат практические навыки написания программ и приложений и узнают о современных тенденциях в программировании.

Занятия ведут профессиональные разработчики с многолетним опытом. Они поделятся с вами лайфхаками профессии и помогут стать уверенным Java-разработчиком. Кроме того, вы получите максимум информации для сдачи сертификационного экзамена Java SE Programmer.

Программа курса соответствует требованиям профессионального стандарта «Программист».

После обучения выдается диплом центра с указанием профессии – Java-разработчик. Престижный документ станет подтверждением ваших знаний и навыков и поможет в трудоустройстве.

Начните карьеру в программировании с беспроигрышного варианта! Изучите Java в «Специалисте»!

Средняя зарплата программиста 100 000 рублей

50% программистов работают удаленно

Дипломная программа «Java-разработчик» включает в себя курсы:

Что такое дипломные программы в «Специалисте»:

  1. Очный или очно-заочный формат обучения.
  2. Инновационная методика с использованием современных технологий.
  3. При прохождении дипломной программы в формате очного обучения, Вам будет предоставлен доступ к записям онлайн-обучения для самостоятельной подготовки и закрепления учебного материала.
  4. При очно-заочном обучении – дистанционное обучение в удобном темпе по записям онлайн-обучения, 1 очная консультация в неделю по расписанию (не менее 1/3 от общего времени обучения).
  5. Оплата в рассрочку: первоначальный взнос – 25% от стоимости дипломной программы.
  6. Престижные документы об окончании: диплом о профессиональной переподготовке по окончании всей программы, сертификат Центра международного образца (если предусмотрен), международный сертификат вендора после каждого авторизованного курса.

Обучение в рассрочку для дипломных программ — это выгодно и удобно!

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

Стоимость обучения (рублей)*

Курс может быть заказан согласно ФЗ-44, ФЗ-223 (закупка/аукцион/запрос котировок/конкурсные процедуры)
с 10:00 до 17:00 Вечер или Выходные
Стандартная цена
Очно-заочно Онлайн Записаться
Частные лица 146 090 146 090 102 890 146 090
Организации 161 390 161 390 113 890 161 390
Первый взнос (для частных лиц) 36 500 36 500 25 700 36 500
Очно Очно-заочное обучение Частные
лица Органи-
зации Частные
лица Органи-
зации Java — разработчик
Включает в себя 7 курсов:
367 171 930 146 090 189 930 161 390 163 300 102 890 180 400 113 890 Основы программирования и баз данных 36 Выбрать дату 7 990 9 990 4 990 5 990 Основы решения алгоритмических задач 24 Выбрать дату 8 990 9 990 4 990 5 990 Программирование на языке C (Си) 72 Выбрать дату 22 990 25 990 13 990 15 990 Java. Уровень 1. Основы программирования 60 Выбрать дату 26 990 27 990 15 990 16 990 Java. Уровень 2. Разработка клиент — серверных приложений 60 Выбрать дату 28 990 31 990 16 990 18 990 Java. Уровень 3. Разработка серверного программного обеспечения на Java Enterprise Edition 56 Выбрать дату 37 990 41 990 22 990 24 990 Разработка приложений с использованием SPRING и Spring MVC/REST 55 Выбрать дату

37 990 41 990 22 990 24 990

*«Цена от» — минимальная возможная цена на данный курс, зависит от формата, вида обучения, выбранного времени занятий и указана с учетом действующих акций и специальных предложений. Точную цену на конкретную группу Вы можете узнать по тел. +7 (495) 232-3216.

Для юридических лиц (организаций) указана минимальная цена, действующая при полной предоплате.

Документы об окончании

В зависимости от программы обучения выдаются следующие документы:

Диплом о профессиональной переподготовке по специальности

Cертификат международного образца

* Для получения удостоверения вам необходимо предоставить копию диплома о высшем или среднем профессиональном образовании.

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

Обязательно уточняйте перед заключением договора, какой документ Вам будет выдан после окончания обучения!

Заказ добавлен в Корзину.

Для завершения оформления, пожалуйста, перейдите в Корзину!

GUI на Java

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

Abstract Window Toolkit

Хакер #183. Малварь для Android

AWT была первой попыткой Sun создать графический интерфейс для Java. Они пошли легким путем и просто сделали прослойку на Java, которая вызывает методы из библиотек, написанных на С. Библиотечные методы создают и используют графические компоненты операционной среды. С одной стороны, это хорошо, так как программа на Java похожа на остальные программы в рамках данной ОС. Но с другой стороны, нет никакой гарантии, что различия в размерах компонентов и шрифтах не испортят внешний вид программы при запуске ее на другой платформе. Кроме того, чтобы обеспечить мультиплатформенность, пришлось унифицировать интерфейсы вызовов компонентов, из-за чего их функциональность получилась немного урезанной. Да и набор компонентов получился довольно небольшой. К примеру, в AWT нет таблиц, а в кнопках не поддерживается отображение иконок.

Использованные ресурсы AWT старается освобождать автоматически. Это немного усложняет архитектуру и влияет на производительность. Освоить AWT довольно просто, но написать что-то сложное будет несколько затруднительно. Сейчас ее используют разве что для апплетов.

Достоинства:

  • часть JDK;
  • скорость работы;
  • графические компоненты похожи на стандартные.

Недостатки:

  • использование нативных компонентов налагает ограничения на использование их свойств. Некоторые компоненты могут вообще не работать на «неродных» платформах;
  • некоторые свойства, такие как иконки и всплывающие подсказки, в AWT вообще отсутствуют;
  • стандартных компонентов AWT очень немного, программисту приходится реализовывать много кастомных;
  • программа выглядит по-разному на разных платформах (может быть кривоватой).

заключение:

В настоящее время AWT используется крайне редко — в основном в старых проектах и апплетах. Oracle припрятал обучалки и всячески поощряет переход на Swing. Оно и понятно, прямой доступ к компонентам оси может стать серьезной дырой в безопасности.

Swing

Как выглядит Swing

Вслед за AWT Sun разработала набор графических компонентов под названием Swing. Компоненты Swing полностью написаны на Java. Для отрисовки используется 2D, что принесло с собой сразу несколько преимуществ. Набор стандартных компонентов значительно превосходит AWT по разнообразию и функциональности. Стало легко создавать новые компоненты, наследуясь от существующих и рисуя все, что душе угодно. Стала возможной поддержка различных стилей и скинов. Вместе с тем скорость работы первых версий Swing оставляла желать лучшего. Некорректно написанная программа и вовсе могла повесить винду намертво.

Тем не менее благодаря простоте использования, богатой документации и гибкости компонентов Swing стал, пожалуй, самым популярным графическим фреймворком в Java. На его базе появилось много расширений, таких как SwingX, JGoodies, которые значительно упрощают создание сложных пользовательских интерфейсов. Практически все популярные среды программирования Java включают графические редакторы для Swing-форм. Поэтому разобраться и начать использовать Swing не составит особого труда.

Достоинства:

  • часть JDK, не нужно ставить дополнительных библиотек;
  • по Swing гораздо больше книжек и ответов на форумах. Все проблемы, особенно у начинающих, гуглу досконально известны;
  • встроенный редактор форм почти во всех средах разработки;
  • на базе свинга есть много расширений типа SwingX;
  • поддержка различных стилей (Look and feel).

Недостатки:

  • окно с множеством компонентов начинает подтормаживать;
  • работа с менеджерами компоновки может стать настоящим кошмаром в сложных интерфейсах.

Заключение:

Swing жил, Swing жив, Swing будет жить. Хотя Oracle и старается продвигать JavaFX, на сегодняшний день Swing остается самым популярным фреймворком для создания пользовательских интерфейсов на Java.

Standard Widget Toolkit

SWT был разработан в компании IBM в те времена, когда Swing еще был медленным, и сделано это было в основном для продвижения среды программирования Eclipse. SWT, как и AWT, использует компоненты операционной системы, но для каждой платформы у него созданы свои интерфейсы взаимодействия. Так что для каждой новой системы тебе придется поставлять отдельную JAR-библиотеку с подходящей версией SWT. Это позволило более полно использовать существующие функции компонентов на каждой оси. Недостающие функции и компоненты были реализованы с помощью 2D, как в Swing. У SWT есть много приверженцев, но, положа руку на сердце, нельзя не согласиться, что получилось не так все просто, как хотелось бы. Новичку придется затратить на изучение SWT намного больше времени, чем на знакомство с тем же Swing. Кроме того, SWT возлагает задачу освобождения ресурсов на программиста, в связи с чем ему нужно быть особенно внимательным при написании кода, чтобы случайное исключение не привело к утечкам памяти.

Достоинства:

  • использует компоненты операционной системы — скорость выше;
  • Eclipse предоставляет визуальный редактор форм;
  • обширная документация и множество примеров;
  • возможно использование AWT- и Swing-компонентов.

Недостатки:

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

Заключение:

Видно, что в IBM старались. Но получилось уж очень на любителя…

JavaFX


Как выглядит JavaFX

JavaFX можно без преувеличения назвать прорывом. Для отрисовки используется графический конвейер, что значительно ускоряет работу приложения. Набор встроенных компонентов обширен, есть даже отдельные компоненты для отрисовки графиков. Реализована поддержка мультимедийного контента, множества эффектов отображения, анимации и даже мультитач. Внешний вид всех компонентов можно легко изменить с помощью CSS-стилей. И самое прекрасное — в JavaFX входит набор утилит, которые позволяют сделать родной инсталлятор для самых популярных платформ: exe или msi для Windows, deb или rpm для Linux, dmg для Mac. На сайте Oracle можно найти подробную документацию и огромное количество готовых примеров. Это превращает программирование с JavaFX в легкое и приятное занятие.

Достоинства:

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

Недостатки:

  • фреймворк еще разрабатывается, поэтому случаются и падения и некоторые глюки;
  • JavaFX пока не получил широкого распространения.

Заключение:

Хорошая работа, Oracle. Фреймворк оставляет только позитивные впечатления. Разобраться несложно, методы и интерфейсы выглядят логичными. Хочется пользоваться снова и снова!

Визуальные библиотеки на практике

SWT: погодный виджет

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

И начнем, пожалуй, с самого популярного виджета — отображения текущей погоды, для реализации которого выберем SWT.

Любая программа на SWT начинается с создания объекта Display. Он служит своеобразным контекстом приложения, который содержит необходимые методы для обращения к ресурсам системы и обеспечивает цикл событий. Следующим шагом будет создание не менее важного объекта Shell. Shell представляет собой обычное окно операционной системы. В конструктор shell передается Display, чтобы создать окно верхнего уровня.

Так как мы создаем виджет, нам не нужно отображать стандартное обрамление окна и кнопки управления, для этого мы указали флаг NO_TRIM. Для фона мы будем использовать картинку — прямоугольник с закругленными углами. В принципе, окно SWT может принимать любые формы. Чтобы добиться такого эффекта, используем класс Region. Все, что нужно, — добавить в этот класс все видимые точки из картинки фона, пропуская прозрачные.

В изображениях разных форматов прозрачность задается по-разному, поэтому и извлекается информация о прозрачных областях тоже не одинаково. Создаем область фона и добавляем туда все видимые точки:

Устанавливаем форму окна:

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

Итак, по нажатию на клавишу Esc окно закроется. При нажатии левой клавиши мыши на области окна запомним координаты нажатия. При движении мыши с зажатой левой клавишей — передвигаем окно на экране соответственно движению. При событии перерисовки — рисуем картинку фона, используя графический контекст GC.

Назначим слушатель соответствующим событиям окна:

Устанавливаем размер окна равным размеру изображения:

Открываем окно и запускаем цикл событий:

Не забываем в конце освободить использованные ресурсы:

Запустив программу на этом этапе, мы получим прямоугольничек, который можно двигать мышкой и закрывать по Esc.

Настало время добавить содержания. Будем отображать текущую погоду в виде иконки состояния (солнечно, дождь, снег…), показаний температуры и времени последнего обновления.

Для расположения графических компонентов в окне в нужном виде используются менеджеры компоновки. Менеджер компоновки занимается не только расположением компонентов, но и изменением их размеров при изменении размеров окна. Для нашего виджета будем использовать GridLayout. Этот менеджер располагает компоненты в ячейках воображаемой таблицы. Создаем GridBagLayout на две колонки с различной шириной колонок (флаг false в конструкторе), устанавливаем его в качестве менеджера компоновки окна:

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

Флаги в классе GridData означают, что метка будет располагаться слева вверху, будет растягиваться горизонтально и вертикально (флаги, установленные в true) при наличии свободного места и занимает одну строку и один столбец таблицы компоновки.

В SWT нет прозрачного фона компонентов, и позади картинки статуса будет красоваться белый фон, чего, конечно, не хотелось бы. Поэтому создадим объект Color с цветом фона окна:

В конце программы этот объект также необходимо очистить, вызвав метод dispose. Устанавливаем цвет фона и картинку статуса, которую можно загрузить из файла точно так же, как мы загрузили картинку фона вначале:

Теперь добавим Label с текущей температурой и расположим его в правой верхней части окна:

Установим какую-нибудь температуру:

Для записи температуры по Цельсию используется юникодный номер соответствующего символа со служебными символами \u.

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

FontData[] fD = temperatureLabel.getFont().getFontData(); fD[0].setHeight(30); fD[0].setStyle(SWT.BOLD); Font newFont = new Font(display, fD[0]); temperatureLabel.setFont(newFont); Шрифт, как и другие ресурсные объекты, нужно освобождать. Для этого воспользуемся слушателем события разрушения метки:

Наконец, добавим метку с описанием погодных условий:

Текст может быть довольно длинным, так что при создании метки указываем флаг WRAP, чтобы текст автоматически разбивался на несколько строк при нехватке места. Расположим компонент по центру и разрешим ему заполнить все горизонтальное пространство. Также укажем, что компонент занимает два столбца таблицы компоновки. Запускаем и получаем окошко с картинки «Виджет погоды».

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

Swing: всегда свежие новости

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

Для представления новостей лучше всего подходит таблица. Swing построен на паттерне «Модель —представление — контроллер» (MVC). В архитектуре MVC модель предоставляет данные, представление отвечает за отображение данных (например, текст, поля ввода), а контроллер обеспечивает взаимодействие между моделью и представлением. Таблица хорошо демонстрирует этот подход. Для представления данных используется класс, реализующий интерфейс TableModel.

Для хранения информации о доступных новостях заведем класс FeedMessage c полями для названия статьи и даты выхода:

Чтобы упростить и ускорить разработку, наследуем нашу модель данных от класса AbstractTableModel, который предлагает готовую реализацию почти всех методов интерфейса TableModel.

Метод fireTableDataChanged сообщает представлению, что модель данных изменилась и необходима перерисовка.

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

Теперь займемся внешним видом ячеек. Swing позволяет назначать отдельные классы представления для разных типов данных. За отрисовку отдельных ячеек таблицы отвечает класс, наследующий интерфейс TableCellRenderer. По умолчанию используется DefaultTableCellRenderer, который представляет собой текстовую метку.

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

Чтобы таблица начала использовать наш отрисовщик, необходимо добавить метод, который возвращает тип данных для каждой ячейки, в модель данных:

Новостей может быть много, поэтому поместим таблицу на панель прокрутки и сделаем ползунок прокрутки невидимым, чтобы он не портил нам дизайн виджета:

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

Как и в прошлый раз, уберем стандартное обрамление окна. А в качестве заголовка окна будем использовать стилизованную текстовую метку, которую разместим вверху окна.

В отличие от SWT, объекты «цвет» и «шрифт» освобождаются автоматически, так что можно больше не переживать за утечки памяти.

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

Теперь поменяем форму окна на прямоугольник с закругленными углами. Лучше всего это делать в слушателе компонента, так как, если размер окна изменится, форма окна будет правильно пересчитана:

Устанавливаем размер окна, убираем обрамление и делаем окно полупрозрачным.

Наконец, открываем окно в графическом потоке. SwingUtilities.invokeLater(new Runnable() < public void run() < frame.setVisible(true); >>);

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

JavaFX: послушаем музычку

И наконец, гвоздь сезона — JavaFX. Воспользуемся его мультимедийными возможностями и компонентом для построения графиков и сделаем простенький эквалайзер.

Для начала наследуем класс виджета от Application. Это основной класс приложения в JavaFX. Application содержит основные методы жизненного цикла приложения. Компоненты формы создаются в методе start, аргументом которому служит класс Stage. Stage представляет собой окно программы. Изменим стиль окна на TRANSPARENT, чтобы убрать обрамление и кнопки. В Stage помещается класс Scene, в котором задаются размеры окна и цвет фона. В Scene, в свою очередь, передаем класс Group, в который будем помещать дочерние компоненты:

Для отображения эквалайзера используем столбиковую диаграмму, по осям которой будем отображать частоту и мощность звука:

Заполняем диаграмму начальными данными:

Создаем прямоугольник с закругленными углами, чтобы придать виджету соответствующую форму:

Добавляем оба компонента к группе:

Назначаем слушателей мыши к группе, чтобы двигать окно по экрану:

Загружаем песню в плеер:

Добавляем слушатель, который будет обновлять столбиковую диаграмму:

Делаем сцену видимой и запускаем песню:

И наслаждаемся такой вот красотой.

Заключение

Как видишь, остается все меньше того, что не под силу Java. Кроме описанных графических библиотек, есть еще множество других, не таких распространенных, но не обязательно худших по качеству. У каждой из них есть свои сильные и слабые стороны. Java предоставляет право выбора тебе :).

11 плюшек для Java-разработчика

Для написания апплетов и приложений Java требуются такие средства разработки, как JDK. JDK включает следующие компоненты: среда выполнения Java, компилятор Java и API Java. Начало работы не представляет трудности ни для опытных, ни для начинающих программистов.

Где можно загрузить JDK?

Чтобы загрузить последнюю версию комплекта разработчика Java Development Kit (JDK), перейдите в раздел загрузки JDK.
Разработчики также могут посетить сообщество для разработчиков Java Oracle Technology Network for Java Developers и получить исчерпывающую информацию о технологии Java, включая документацию и обучающие материалы.

Начинающим пользователям Java

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

Как получить сертификат Java?

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


Конференции для разработчиков Java
  • JavaOne — главная конференция для разработчиков Java, где можно узнать о последних технологиях Java, повысить уровень технических знаний и задать вопросы коллегам-разработчикам и специалистам по планированию. Oracle проводит ежегодные конференции JavaOne, включая основную конференцию JavaOne в Сан-Франциско и конференции регионального уровня. Посетите веб-сайт www.oracle.com/javaone для получения дополнительной информации о предстоящих мероприятиях и местах их проведения.
  • Дни разработчиков Oracle Technology Network — бесплатные практические семинары для разработчиков Java, которые регулярно проводятся во всех странах мира.
  • Oracle также оказывает спонсорскую поддержку другим компаниям, которые организуют мероприятия, посвященные технологии Java. Чтобы узнать о предстоящих событиях в вашем регионе, воспользуйтесь поиском по каталогу мероприятий Oracle.
Java Magazine

Java Magazine — это периодическое интернет-издание, выпускаемое раз в два месяца. Этот журнал является авторитетным источником информации о технологии Java, языке программирования Java и приложениях на основе Java для тех, кому эти знания необходимы в профессиональной деятельности, и для тех, кто только начинает осваивать технологию Java. Журнал включает в себя описания инновационных приложений Java, технические пошаговые инструкции для Java, новости сообщества Java, а также информацию о новой документации Java, конференциях и мероприятиях.

Академия Oracle

Академия Oracle предоставляет учреждениям школьного, профессионального и высшего образования полный портфель программного обеспечения, учебные курсы, хостинговые технологии, факультативное обучение, поддержку и ресурсы сертификации для использования в учебных целях. Эти ресурсы можно включать в состав курсов по информатике и бизнесу, чтобы учащиеся приобрели необходимые навыки до начала профессиональной деятельности в той или иной отрасли. Академия Oracle обучает более 1,5 миллионов человек в 95 странах. Недавно Академия Oracle расширила свою учебную программу и включила в нее курсы по Java. Дополнительную информацию можно найти на веб-сайте Академия Oracle — программирование на языке Java.

Подойдет ли java для создания десктопных приложений с GUI?

Я конечно знаю, что java используется в основном для создания корпоративных приложений, и каждый язык имеет свои сферы применения. Просто из языков программирования знаком лишь с Си, но написание десктопных приложений на нем «АД». Поэтому решил изучить ООП язык для создания десктопных приложений. C# не люблю из-за привязки к продуктам Microsoft, просто сижу под Linux, а mono не устраивает. Скриптовые языки не брал в расчет, хотя кроссплатформенность Python и Perl радует. C++ сложен в изучении, и требует много практики, нет защиты от кривых рук. Поэтому выбор пал на Java, книг по языку море, полностью ООП, статическая типизация. Но, как обстоят дела с написанием десктопных GUI приложений на этом языке? Удобен ли он в разработке? Если есть другие варианты, использовать язык X, вместо Java для этих целей, буду рад выслушать!

4 ответа 4

Мне кажется, не очень. Существующие фреймворки не позволяют сделать легко красивый UI нативного вида, а отсутствие в языке first class-делегатов и событий заставляют писать много лишнего «обвязочного» кода (Java вообще довольно многословна, а уж с GUI. ).

Особенно не рекомендую Swing: ужасный layout management, никакая скорость, отсутствие стилизации и привязки данных, не говоря уже о вкусностях наподобие команд, анимации, трансформаций и декларативного языка типа QML — в общем, вам придётся всё писать вручную.

Связка C#/WPF в этом отношении гораздо более продвинута, но WPF нету под Mono, так что вы теряете кроссплатформенность. (С другой стороны, Windows всё же с огромным отрывом лидирующая десктопная платформа.)

Все-таки я вам рекомендую посмотреть в сторону C++/Qt. Развивающийся, модный, хорошо документированный, кроссплатформенный, достаточно простой в обращении фреймворк Qt (который умеет больше, чем GUI (работа с сетью, БД, потоки и процессы, XML и тому подобное)). При всем этом — все прелести компиляции в нативный код, мощь и море доступных библиотек C/C++.

Зачем же себя так сразу записывать в неосиляторы? Сложность языка — плата за широкие возможности. Кривые руки встанут на место с опытом, глаз набъется на тонкости, которые отвлекают по началу, потом просто перестаешь замечать. C++11 и всякие плюшки вроде std::shared_ptr, помогут писать высокоуровневый код комфортно. И эти божественные шаблоны. как от них можно отказываться?) А const correctness и const methods? По этому поводу Кармак с месяц назад писал в своем твиттере, что отсутствие этих вещей в Java/C# — это шаг назад, в сравнении с С++.

Java конечно подходит для десктопных приложений.

Есть немало приложений использующих Java в десктопе. Одни из самых, пожалуй известных это Vuze (Azureus) мультиплатформный торрент клиент и известный юниксоидам OpenOffice.

Общим во всех этих приложениях, является то, что Swing редко используется для GUI. Vuze использует эклипсовский фреймворк SWT, а OpenOffice вообще какой-то свой самописный вариант на базе AWT.

При прочих равных условиях, я бы посоветовал обратить пристальное внимание на SWT, фреймворк достаточно mature, покрасивше и побыстрее будет свингов. Краткое сравнение SWT vs. Swing здесь

Попробуйте почитать про JavaFX. Она как раз предназначена для разработки десктопного GUI. Можно еще конечно изучать старый добрый Swing. Все это входить в стандартную поставку Java SE 7.

Java-разработчик

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

скидка 15% первым 20

набор на курс до 17 ноября

Записаться на курс или получить консультацию

Длительность 4 месяца

Онлайн в удобное время

Обучение на практике

Доступ к курсу навсегда

Курс идеально подойдет

Новичок

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

Начинающий программист

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

Чему вы научитесь

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

Научитесь писать, читать и понимать код на Java.

Научитесь работать с MySQL: хранить и получать данные.

Реализуете на практике все принципы ООП.

Узнаете, как создавать веб-приложения на Spring Boot.

Освоите все тонкости многопоточного программирования.

Создадите свой блоговый движок.

Записаться на курс скидка 15% первым студентам

Программа курса

Программа курса содержит 19 основных блоков.

  • Какие бывают программы.
  • Где и для чего применяется Java.
  • Как выглядит программный код.
  • Установка среды разработки.
  • Исправляем готовое приложение.
  • Пишем консольное приложение.
  • Что вообще бывает в коде.
  • Переменные в Java.
  • Boolean, операторы сравнения и условные операторы.
  • Циклы.
  • Разбираем сложный код.

Объекты и классы

  • Понятие класса и объекта.
  • Метод, параметры, return.
  • Статические методы и переменные.
  • Константы и Enum.
  • Создание объектов и конструктор.
  • Инкапсуляция, геттеры и сеттеры.
  • Копирование объектов.
  • Внешние библиотеки классов.
  • Создание JAR-файлов.

Числа, строки и даты

  • Примитивы и объекты.
  • Типы чисел и преобразование.

  • Операции с числами.
  • Строки, символы и подстроки.
  • Конкатенация и сравнение строк.
  • Регулярные выражения.
  • Календарь и метка времени.

Массивы и коллекции

  • Массивы.
  • Списки элементов.
  • Наборы уникальных элементов. HashSet, TreeSet.
  • Карты данных. Ключи и значения. TreeMap, HashMap.
  • Поиск и сортировка.

Наследование и полиморфизм

  • Наследование классов.
  • Доступ к методам и переменным.
  • Абстрактные классы.
  • Интерфейсы и полиморфизм.

Особенности ООП в Java

  • Лямбда-выражения.
  • Указатели на методы.
  • Stream API.
  • Default- и static-методы в интерфейсах.
  • Generics.
  • Система сборки Maven.
  • Аннотации и Lombok.

Исключения, отладка, тестирование и логирование

  • Обработка исключений.
  • Типы исключений.
  • Отладка приложений.
  • Виды тестирования ПО.
  • Модульное тестирование. JUnit.
  • Логирование. Log4j2.

Работа с файлами и сетью

  • Чтение файлов.
  • Запись в файл.
  • Табличные файлы.
  • Файлы XML и HTML.
  • Файлы JSON.
  • Конфигурационные файлы.

Язык запросов SQL

  • SQL. Введение.
  • Структура БД, запрос DESCRIBE.
  • Выбор и фильтрация данных, запрос SELECT.
  • Функции и выражения, агрегация данных.
  • Отношения и соединение таблиц: JOIN.
  • Группировка.
  • Модификация данных.
  • Подзапросы.
  • Объявление и изменение структуры данных.

Работа с MySQL в Java

  • Установка MySQL.
  • JDBC — выполнение SQL-запросов из Java-кода.
  • Hibernate: подключение и настройка.
  • Hibernate: изменение данных в базе.
  • Hibernate: связи между таблицами.
  • Hibernate QueryBuilder и HQL.
  • Создание потоков.
  • Состояние гонки и критические секции.
  • Синхронизация методов и блоков.
  • Взаимодействие потоков: методы wait() и notify().
  • Потокобезопасные классы.
  • Взаимная блокировка (deadlock).
  • Интерфейс Callable.
  • Пулы потоков.
  • Приостановка и прерывание потоков.

  • ForkJoinPool и RecursiveTask.
  • Создание веб-приложений на Spring Boot.
  • Концепция MVC.
  • Концепция RESTful API и CRUD.
  • Controller и роутинг.
  • Model. Взаимодействие с БД.
  • Компонент View.
  • Конфигурация и упаковка.

Нереляционные базы данных и очереди

  • Основы Redis.
  • Сравнение Redis и MySQL.
  • Основы MongoDB.
  • Продвинутые запросы к MongoDB.

Оптимизация кода и приложений. Производительность

  • Факторы производительности.
  • Оптимизация по времени.
  • Оптимизация по памяти.
  • Оптимизация работы с базами данных.
  • Профайлер.
  • Non-blocking IO.

Распределенные хранилища и вычисления

  • Зачем нужны распределенные хранилища.
  • Hadoop, основы и принципы, HDFS, YARN.
  • Зачем нужны распределенные вычисления.
  • Spark, принцип вычислений, примеры.
  • Реактивное программирование. RxJava.
  • Oracle, PL/SQL, хранимые процедуры.
  • Язык программирования Kotlin.
  • Язык программирования Scala.
  • Android-приложения.
  • Desktop-приложения.
  • Система контроля версий Git.
  • Алгоритмы и структуры данных.
  • Протокол HTTP.
  • Паттерны проектирования.

Дипломная работа — блоговый движок в веб-интерфейсе

Получите полную программу и индивидуальную консультацию

Преподаватели

  • Даниил Пилипенко SymbioWay, директор
  • Михаил Овчинников ведущий инженер-программист Badoo

Как проходит обучение

Вы выполняете домашние задания и открываете доступ к новому уникальному контенту по теме. Достаточно выделить 3–5 часов в неделю.

Изучаете
тему

В курсе — полезные видеоуроки.

Выполняете домашнее задание

В том темпе, в котором вам удобно.

Общаетесь с наставником

Закрепляете знания и исправляете ошибки.

Защищаете дипломный проект

И дополняете им свое портфолио.

Резюме после прохождения

Аделина Ветрова junior-разработчик

Ожидаемая зарплата от 80 000

Java Core Основное ядро языка программирования.

MySQL Свободная реляционная система управления базами данных.

Spring Boot Универсальный фреймворк с открытым исходным кодом для Java-платформы.

Redis Резидентная система управления базами данных.

MongoDB Документоориентированная система управления базами данных с открытым исходным кодом.

Ключевые навыки:

  • Разработка веб-приложений на Spring Boot.
  • Владение нереляционными базами данных: Redis, MongoDB.
  • Java Core.
  • Multithreading.
  • Collections Framework.
  • Работа с MySQL.

Диплом Skillbox

Подтверждает успешное прохождение курса «Java-разработчик»

Стоимость обучения

Скидка 15% первым 20

Стоимость обучения 67 000

4 500 Рассрочка без первого взноса

54 000 Для первых 20 студентов

Гарантия возврата денег в течение 14 дней

Запишитесь на курс

Дата начала: 17 ноября

Осталось: 15 мест

О Skillbox

Максимально практическое обучение от лидеров digital-рынка. Курсы от компаний, работающих на реальных проектах.

После обучения вы можете трудоустроиться в эти компании или к партнёрам университета.

студентов учатся на наших курсах

студентов довольны преподавателями

выпускников получают карьерный рост

выпускников довольны курсом и результатом

Мнения о курсе

Татьяна Червякова студентка курса «Java-разработчик»

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

Дмитрий Доманюк студент курса «Java-разработчик»

Выбрал курс «Java-разработчик», потому что интересуюсь этой темой. Запомнился спикер Даниил Пилипенко. Понравилось, как преподаватели объясняют материал и то, что проверяют домашнее задание в течение дня. В будущем планирую изучить Java.

Андрей Маслёнок студент курса «Java-разработчик»

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

Дмитрий Коваленко студент курса «Java-разработчик»

Решил пройти курс «Java-разработчик», потому что мобильная разработка — это популярно и потому востребовано. В процессе обучения я узнал много нового, что реально помогает в работе.

Часто задаваемые вопросы

Смогу ли я пройти курс, если у меня совсем нет опыта в программировании?

Программистами не рождаются. Твоя текущая профессия не имеет значения. Программировать начинают из любой профессии. У нас есть примеры с бывшими грузчиками и директорами фирм. Было бы желание. И курс разработан таким образом, что обучаться можно полностью с нуля.

Какая версия языка изучается на курсе?

В 2020 году вышла Java 9. В курсе рассматривается 8-я версия языка, а также нововведения Java 12.

Сколько потребуется времени, чтобы пройти все модули?

Курс рассчитан на 4 месяца: кто‑то заканчивает раньше, кто‑то чуть позже. Здесь главное не скорость прохождения, а эффективное использование полученных навыков, поэтому лучше не торопиться и ориентироваться на заявленные 4 месяца.

Записаться на курс или получить консультацию

Появились вопросы по курсу?

Оставьте ваш номер телефона, и наш специалист свяжется с вами, чтобы дать подробную информацию.

г. Москва, метро Октябрьская,
Ленинский проспект, дом 6, строение 20

11 плюшек для Java-разработчика

Похоже, что каждый раз, когда вы устанавливаете Java, она автоматически удаляется с какого-то другого устройства.

Дубликаты не найдены

Первая картинка не могла существовать раньше 2010 года.

А если быть точнее — сделана примерно одновременно со второй.

Почему? (не 2001 конечно, но я заметил «нижнюю планку» только на 2007)

До 2010 Java принадлежала Sun

17 лет ставить обновление это так похоже на Java.

Причем оно всё еще не установилось до конца.

А с сервера уже следующее доступно.

Зато можно переустановить ОС, а установка Java при этом не прервется. Кто еще так может?

Oracle купила Java вместе с Sun Microsystems в 2010 году, проверяйте хоть прежде чем постить всякую чушь

Окей, тогда выходит всего 10 лет, а не 17, как в посте.

Пиздос разница, да?

Что за магия чисел, 2020-2010 =10?

А, ок, ошибка — деградация, как скажешь, однодневный

Сказал 2,58 годичный ;)

Извините, отвечу тут.

@FarshNesoglasnyh , Прости, это ты написал хуйню, оскорбил меня, добавил в игнор, и «ещё завери», адресовано мне. Чёт как-то тут логики мало.

А хрен его знает, как оно так вышло, само, я ничего не трогал.

А суть-то не в этом, а в том, что ну восемь лет, ну окей, опять же, пользователей так и не перевалило за 4 миллиона?

би-лион — два лиона

трилион — три лиона

(чувствую грам.наци убьют)

Закон сохранения Явы в природе, чо

Стабильность. Благополучие. До-диез.

Прямо предвыборный лозунг получается)

Когда-то три языка жили в мире, пока С++ не объявил войну.

i.e 5.5 / 6.0 и волны «шифровальщиков», Java удаляли везде где только могли.

Вероятно, его комментарии не очень умные. Примерно как предыдущий.

1 раз наступил на говнопост

(с тегом политика в котором сидели Злобные Диваные Аналитеги)

Все в 2001 установили, больше не нужно никому

И обновления в т.ч. Я тут с дури обновил на ласт отвалился нахуй весь интерфейс Cisco PAM. пришлось откатываться обратно. только до того я заебал инженера ответственного за скуд и свой комп, пока искал причину.

О, у меня до сих пор виртуалка с WinXP с седьмым jre, чтобы всякие ip-kvm открывались =)

Ну я бы не советовал держать на рабочей системе 7 джре, она еще новая, необкатанная

Биткойнов не забудьте купить побольше, в 2020 скажете спасибо.

Да херня какая то, ммм наверное.

Но как же совместимость.

Ну, в 2001 такого небыло, ибо был сан, а кроме прочего тут нет слова Install, тут имеется ввиду, что байт-код можно запустить даже на тостере, был бы проц

А у тебя теперь три телефона, и все с Жабой? Ладно, уговорил, теперь 3.1415 миллиарда.

А если серьёзно, то не переписывать же старый инсталлятор. Тем более что С++ программисты закончились :)

Из-за непризнания легальности использования в Android они не меняют эту надпись.

а так могли бы и до 5ккк досчитать.

Я наверное зануда, но цифра не про количество устройств на которых установлена ява, а про количество поддерживаемых устройств на которых можно запустить яву.

Персональные компьютеры лишь ничтожная часть устройств работающих с Java

Самое интересное, что реклама в этом окошечке и разные ask.com после — существенная часть прибыли, которую приносит именно джава.

Вполне сравнимо с платными подписками на неё.

Почти никто Java просто не удалял)

Лучше сказать не ставил, если в здравом уме

я тя удивлю, но софт под ондроед по своей сути и основан на джаве ( недавний Котлин не берем )

Себя удави! Мне, как юзеру, пофигу что там, в твоём ондроене, я в Экселе работаю.

А что тебе Жавка сделала такого?

залог стабильной работы!

Все предельно понятно.

В 2000-х году в эти 3 миллиарда устройств входило множество кнопочных сотовых телефонов с явой.

Сейчас же их заменили смартфоны на андроиде (а это тоже ява!).

Привет всем, кто не знает английского. Значение надписи — джаву можно запустить на 3 млрд устройств, а все почему то думают, что это означает «джава на данный момент установлена (работает на) 3 млрд устройств», что ошибочно.

В целом, с правильным переводом эта надпись приобретает совсем другой смысл и в целом вполне разумна

с хера ли? модальных глаголов нет. run —

Present Simple – это простое настоящее время. Также его называют Present Indefinite – настоящее неопределенное. Как видно из названия, данное время употребляется для описания действий, происходящих в настоящем.

Суть не в том, когда это происходит, а в значении слова «run»

И когда же в список значений слова «run» завезли «можно»?

3 bullion devices run java

3 миллиарда устройств поддерживают/запускают Java

«3 billion devices run Java», не «are able to run», не «could run», не «may run», просто «run».

у вас грамматика и претензии уровня intermediate. Прокачаетесь — приходите спорить. Товарищ выше все правильно написал

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

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

Более того, один из плюсов JVM — кросплатформенность (что можно запускать хоть на микроволновке, хоть на симке, хоть на мейнфрейме), что опять таки подтверждает мою претензию выше.

Вы же понимаете, что вы — один из тех, кого сам описали? Причем в большей степени, чем я (у меня хотя бы лингвистическое образование). Давайте ещё поспорим, почему «run for president» не переводится как «бежать за президента», а?

Думаю, у Вас нет никакого «линвгистического образования». Впрочем, беда не в этом. Будь Вы просто дураком, Вас можно было бы научить. Но вот самоуверенного дурака ничему уже не научишь, он бесполезен. Открываем первое попавшееся:
https://www.quora.com/Why-does-the-Java-JDK-installer-say-th.
—»Потому что как минимум на стольки устройствах она установлена».

—»Если вы спрашиваете, почему это число не меняется годами, то, вероятно, это обычная лень. Поскольку на каждом телефоне с андроидом, помимо прочего, есть Java, то невозможно даже приблизительно подсчитывать все устройства каждый месяц».

https://www.invensis.net/blog/it/applications-java-programmi.
Вообще недвусмысленное предложение: «According to Oracle (that acquired Sun Microsystems in 2010), Java now runs on more than 3 billion devices».

Или:
https://devrant.com/rants/343857/when-you-install-java-it-sa.
«Возможно, они достигли равновесия, когда на каждое устройство, на которое устанавливают Java, приходится устройство, с которого его удаляют».

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

11 плюшек для Java-разработчика

Для создания веб игр на языке JavaScript используется технология Canvas , которая позволяет выполнять JavaScript код в HTML5 документе. Вы можете более детально ознакомиться с этой технологией посмотрев видео ниже:

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

В JS файле необходимо найти нужный канвас по id и указать способ работы с ним.

Добавление изображений и аудио

Далее необходимо загрузить все изображения, а также аудио файлы, которые будут использоваться в игре. Для этого используйте класс Image и Audio соответсвенно. Ниже вы можете скачать все необходимые картинки, а также аудиофайлы к игре.

Код добавления изображений и аудио в игру:

Рисование объектов

Чтобы нарисовать объекты, а также добавить функционал к игре необходимо прописать функцию, которая будет постоянно вызываться. Такую функцию вы можете назвать как вам будет угодно. Главное, вам нужно вызвать эту функцию из вне её хотя бы один раз, а внутри неё прописать метод requestAnimationFrame , который будет вызывать функцию постоянно.

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

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

Видео урок

Это были лишь небольшие азы перед созданием самой игры. Предлагаем вам ознакомиться с небольшим видео уроком, в ходе которого вы создадите небольшую 2D игру на чистом JavaScript’е.

Весь JS код игры

Ниже вы можете посмотреть на полностью весь код JavaScript файла, который был создан в ходе видео урока выше:

11 плюшек для Java-разработчика

Databene Benerator — подключение, настройка библиотеки и плагина maven-benerator-plugin. Генерация большого количества различных данных с использованием шаблонов, подзапросов, констант и т.д.

Подключение к базе данных Oracle из Intellij IDEA

В статье будет рассмотрено как подключиться к базе данных Oracle 11g с помощью среды разработки IntelliJ IDEA.

Flyway — подключение, настройка библиотеки и плагина flyway-maven-plugin.

Базовый обзор библиотеки Flyway. Подключение к проекту, настройка библиотеки и использование плагина flyway-maven-plugin.

JUnit Listener — добавление слушателей в юнит-тесты

Добавление слушателей JUnit Listener в юнит-тесты.

Параметризированные тесты в JUnit. Использование @Parameterized.Parameters

Запуск параметризированных тестов с помощью аннотаций @Parameterized.Parameters и @RunWith.

JUnit — Suite тест. Запуск нескольких тестов с помощью аннотаций @Suite и @RunWith

Запуск нескольких тестов с помощью аннотаций @Suite и @RunWith.

JUnit — введение в юнит-тесты. Пример JUnit Hello world

Введение в юнит-тестирование с помощью библиотеки JUnit. Пример JUnit Hello world

Включение адресации WS-Addressing в SOAP java веб-сервисе

Добавление адресации в SOAP java веб сервис. Использование аннотации @Addressing.

Валидация данных веб-сервиса на стороне сервера с помощью reflection

Пример реализации валидации входных данных веб-сервиса на стороне сервера с использованием reflection.

Обработка ошибок в SOAP веб-сервисе на стороне клиента

Обработка ошибок (exception) soap веб-сервиса на стороне клиента.

Цукерберг рекомендует:  Программист - Ищу единомышленника из Санкт-Петербурга
Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих