admin / 16.10.2018

Java с нуля

.

.

Учимся программировать на Java
(практические занятия)


Дайте себе шанс

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

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

Читать полностью … 24.02.2014


Занятие 0. Давайте знакомиться

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

Существует несколько способов обучения программированию.

Первый и, пожалуй, самый распространенный – по книгам…

Занятие 0 полностью … 31.12.2013

Занятие 1. Запасаемся инструментами (текстовый редактор)

Итак, будем считать, что в вашем распоряжении есть работающий компьютер с достаточным объемом оперативной памяти (1 Гб, а лучше больше), наличием не менее 1 Гб свободного дискового пространства и выходом в Internet.

Список того, что нам потребуется, невелик:

  • Java SE Development Kit (обычно используется сокращение JDK);
  • текстовый редактор;
  • сервер базы данных

Занятие 1 полностью … 06.01.2014

Занятие 2. Запасаемся инструментами (JDK)

Итак, текстовый редактор уже установлен и мы надеемся, что вы не тратили времени даром и познакомились с ним. Теперь поговорим о Java SE Development Kit (или короче JDK). И тут без небольшого введения не обойтись.

Программист набирает (пишет, печатает, вводит) программу в текстовом редакторе.

Программа в текстовом редакторе выглядит как самый обычный текст. Такой текст называется исходным кодом.

8 крутых Youtube-каналов, которые помогут изучить Java

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

Занятие 2 полностью … 13.01.2014

Занятие 3. Приступаем …

Возможно, вас «мучает» вопрос почему в качестве языка программирования мы выбрали именно Java. Этому есть множество причин, но мы не будем здесь на этом останавливаться и описывать все привлекательные черты Java, тем более, что информации об этом предостаточно (посмотрите, например, информацию на сайте http://www.java.com/ru/). Упомянем лишь, что Java является основным языком программирования в популярнейшей операционной системе для смартфонов и планшетов Android. Мы же сразу приступим.

Занятие 3 полностью … 20.01.2014

Занятие 4.

Начинаем вникать (начало)

На прошлом занятии мы создали, откомпилировали и запустили на исполнение очень простую программу на Java. Однако, рассмотрение того, как эта программа «устроена» мы оставили на потом. Сейчас мы этим и займемся.

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

Занятие 4 полностью … 27.01.2014

Занятие 5. Начинаем вникать (окончание)

Это второе из теоретических занятий. Оно будет посвящено только одному, но очень важному вопросу – порождению (вместо порождения чаще говорят о создании) экземпляров (или объектов) класса.

Для этого чуточку изменим нашу первую программу. Откройте FAR, перейдите в каталог JavaLessons, найдите файл MoneyForNothig.java и нажмите клавишу F4. Файл откроется в режиме редактирования. Измените файл следующим образом:

1. public class MoneyForNothing {

2.     // Конструктор

3.     public MoneyForNothing () {

4.         System.out.println («Java programming is cool!!!»);

5.     }

6.     public static void main (String [] args) {

7.         MoneyForNothing mfn = new MoneyForNothing ();

8.     }

9. }

Занятие 5 полностью … 03.02.2014

Занятие 6. Графические интерфейсы: первое окно

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

import java.awt.*;

import javax.swing.*;

 

public class MoneyForNothing extends JFrame {

    // Конструктор

    public MoneyForNothing () {

        setTitle («Добро пожаловать в Money for Nothing»);

        setSize (new Dimension (600, 400));

        setDefaultCloseOperation (EXIT_ON_CLOSE);

        setVisible (true);

    }

 

    public static void main (String [] args) {

        MoneyForNothing mfn = new MoneyForNothing ();

    }

}

Занятие 6 полностью … 10.02.2014

Занятие 7. Графические интерфейсы: импорт пакетов, наследование

Предуведомление

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

Этого, увы, не избежать, т.к.

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

Занятие 7 полностью … 17.02.2014

Занятие 8. Схема «Модель/Вид/Контроллер» (MVC)

Замечание

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

На предыдущем занятии ( Занятие 7. Графические интерфейсы: импорт пакетов, наследование ) мы начали обсуждение внутренней «кухни» графических интерфейсов. Если помните, мы немало времени уделили тяжеловесным (heavyweight) и легковесным (lightweight) компонентам. О тяжеловесных компонентах и о том, как они взаимодействуют с операционной системой мы уже кое-что рассказывали ранее и возвращаться к ним больше не будем; поговорим о легковесных компонентах.

Занятие 8 полностью … 24.02.2014

Занятие 9. Диалоговые окна (начало)

Шаг за шагом мы потихоньку «подбираемся» к очередной и чрезвычайно важной теме – обработке событий. Но для того, чтобы эти самые события не показались вам возникшими невесть откуда и зачем, нам надо обсудить еще один важный компонент графических интерфейсов – диалоговые окна. Это тем более уместно, что диалоговые окна – неотъемлемый элемент графического пользовательского интерфейса любого мало-мальски сложного приложения. Эти окна присутствуют повсеместно и должны быть вам хорошо знакомы. Например, диалоговыми являются окно выбора принтера, окно параметров, окно для поиска и замены текста и т.д.

Основные отличия диалогового окна (ему, как нетрудно догадаться, в библиотеке swing соответствует класс JDialog) от уже знакомого нам обычного окна (JFrame) два:

Занятие 9 полностью … 03.03.2014

 

Автор: Alex Tuesday



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

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

Поэтому сперва ответьте на простой вопрос: какие мотивы лежат в основе вашего желания стать программистом Java?

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

Ответьте на вопросы:
1. Можете ли вы установить ОС Windows?
2. Можете ли вы установить ОС Linux?
3. Можете ли вы работать в командной стороке?
4. Знаете ли вы, что такое базы данных? Каким образом хранятся данные в базе данных?
5. Знаете ли вы, что такое языки программирования?
6. Имеете ли вы опыт программирования с использованием любого из языков программирования?
7. Знаете ли вы, что такое алгоритмы? Можете привести пример алгоритма?
8. Сможете ли вы написать алгоритм для прохождения статического лабиринта? Движение задается в шагах и по направлению. Например: 2 шага вперед, 3 шага влево, 8 шагов прямо. Выход.
9. Знаете ли вы, как работает браузер?
10. Знаете ли вы, что такое беспроводная сеть? Приведите примеры.

Если на большинство вопросов вы ответили положительно, значит, у вас есть все шансы стать Java-программистом. К сожалению, если большинство ответов отрицательны, вам нужно начинать с основ. Не расстраивайтесь – эти знания можно приобрести самостоятельно.

Теперь перейдем ко второй точке нашего пути. Для ее достижения нужно составить список необходимых навыков:
1. Собрать список всех вакансий, которые доступны в вашем городе.
2. Выписать все требования, указанные в каждой вакансии.
3. Сгруппировать часто встречающиеся требования, откинуть ненужные.
Такой список и будет вашей второй точкой.

При выборе конечной точки (достижение цели) обычно руководствуются минимальными возможностями. Например, с работой программиста выбирают устройство на позицию Junior. Следовательно, список будет состоять из требований к позиции Junior Java Developer. И вот здесь есть хитрый психологически момент: при такой постановке задачи для ее 100%-ного выполнения требуется освоить все навыки из вашего списка, но обычно, чтобы завершить задачу реально на 100 %, нужно приложить очень много усилий. Всегда возникают какие-нибудь мелкие недочеты, правки, переделки и желание что-то усовершенствовать. Поэтому я рекомендую ставить цель на 30 % выше, то есть готовиться так, как будто вы хотите занять позицию Middle Java Developer.

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

1. Наследование, инкапсуляция, полиморфизм (Interface, Abstract Class, Inner Class and so on)
2. SOLID principles
3. Collections: List, Set, Tree, Hashable
4. JDBC
5. Multithreading (synchronize, monitor, wait, notify, notifyAll, deadlock)
6. Servlet, JSP, JSTL
7. SQL
8.

Как научиться программировать на Java — полное руководство

Junit
9. Основы HTML, CSS, JS
10. Ajax
11. Maven
12. GIT
13. Tomcat

Также ниже привожу список литературы, который необходимо прочитать любому Java-программисту:

1. Head first Java
2. Head first Servlet, JSP
3. Head first SQL
4. Head first Design Patterns
5. Effective Java
6. Официальная документация по Tomcat, Git и Maven

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

Тестовое задание

Необходимо создать веб-приложение – систему заявок.
Заявки должны иметь древовидную структуру неограниченной вложенности.
Заявка должна хранить информацию: Имя, Описание, Дата создания, Автор.
К заявке можно загрузить файлы и добавить комментарии. Комментарии должны содержать информацию об авторе и дате создания.
В системе должны быть два типа пользователей: модераторы и обычные пользователи. Редактировать заявку может автор либо модератор.
Добавлять комментарии могут все. Редактировать комментарии нельзя.
В систему нужно входить по логину и паролю. Заводить новых пользователей может только модератор.
Пользовательский интерфейс должен быть представлен одностраничным сайтом. Страница должна быть разделена на две части: слева – дерево всех задач, справа – текущий список.
Должно быть предусмотрено два фильтра: плоский (показывает только заявки на одном уровне) и вложенный (отображает все заявки, включая вложенные).
Для пользовательского интерфейса использовать Angular JS.
Все данные должны храниться в базе данных PostgreSQL.

Заключение

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


FILED UNDER : IT

Submit a Comment

Must be required * marked fields.

:*
:*