admin / 16.10.2018
.
.
Содержание
Шаг за шагом, очень постепенно мы введем вас в волнительный и прекрасный мир разработки программного обеспечения. К концу занятий вы не станете настоящим гуру – не в наших правилах обещать того, что мы выполнить не в силах. Но вы почувствуете вкус программирования, увидите как создаются программы, научитесь пользоваться основными программными конструкциями и будете подготовлены к дальнейшему самостоятельному плаванию.
В какую сторону вы поплывете потом – решать вам. Может быть, вас привлекут базы данных, может быть – графические интерфейсы, может быть – разработка игр, может быть – web-программирование, может быть – трансляция языков и обработка текста, может быть – сложные алгоритмы манипулирования данными…
Читать полностью … 24.02.2014
Вы хотите научиться программировать? Разумная мысль: лишним такой навык, скорее всего, не будет. Правда, для этого придется немножко потрудиться. Предлагаемый вашему вниманию цикл занятий, который позволит в обозримые сроки не только получить представление о том, что такое программирование, но и научиться создавать программы нетривиального назначения и размера.
Существует несколько способов обучения программированию.
Первый и, пожалуй, самый распространенный – по книгам…
Занятие 0 полностью … 31.12.2013
Итак, будем считать, что в вашем распоряжении есть работающий компьютер с достаточным объемом оперативной памяти (1 Гб, а лучше больше), наличием не менее 1 Гб свободного дискового пространства и выходом в Internet.
Список того, что нам потребуется, невелик:
Занятие 1 полностью … 06.01.2014
Итак, текстовый редактор уже установлен и мы надеемся, что вы не тратили времени даром и познакомились с ним. Теперь поговорим о Java SE Development Kit (или короче JDK). И тут без небольшого введения не обойтись.
Программист набирает (пишет, печатает, вводит) программу в текстовом редакторе.
Программа в текстовом редакторе выглядит как самый обычный текст. Такой текст называется исходным кодом.
Исходный код формируется на специальном искусственном языке – языке программирования. Языков программирования существует великое множество, но нам будет нужен только один – Java.
Занятие 2 полностью … 13.01.2014
Возможно, вас «мучает» вопрос почему в качестве языка программирования мы выбрали именно Java. Этому есть множество причин, но мы не будем здесь на этом останавливаться и описывать все привлекательные черты Java, тем более, что информации об этом предостаточно (посмотрите, например, информацию на сайте http://www.java.com/ru/). Упомянем лишь, что Java является основным языком программирования в популярнейшей операционной системе для смартфонов и планшетов Android. Мы же сразу приступим.
Занятие 3 полностью … 20.01.2014
Начинаем вникать (начало)
На прошлом занятии мы создали, откомпилировали и запустили на исполнение очень простую программу на Java. Однако, рассмотрение того, как эта программа «устроена» мы оставили на потом. Сейчас мы этим и займемся.
Мы должны сразу вас предупредить: материал этого и следующего занятий будет преимущественно теоретическим. Нам придет не столько программировать, сколько думать, но способность к этому – необходимая часть работы программиста, так что приготовьтесь к интеллектуальной работе.
Занятие 4 полностью … 27.01.2014
Это второе из теоретических занятий. Оно будет посвящено только одному, но очень важному вопросу – порождению (вместо порождения чаще говорят о создании) экземпляров (или объектов) класса.
Для этого чуточку изменим нашу первую программу. Откройте 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
Мы догадываемся, что порядком утомили вас, рассказывая все время о программах вывода текстовых сообщений на консоль. На этом занятии эта «унылая» череда примеров будет, наконец, прервана: мы покажем как на 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 полностью … 17.02.2014
Замечание
Хотим вас сразу предупредить, что нижеследующий материал несколько отличается от уже привычного нам материала предыдущих занятий. Мы поговорим о механизмах без которых невозможно создание полноценных графических интерфейсов. В принципе, вы можете пока просмотреть это занятие «по диагонали» и вернуться к нему позже (вы сами поймете когда придет время).
На предыдущем занятии ( Занятие 7. Графические интерфейсы: импорт пакетов, наследование ) мы начали обсуждение внутренней «кухни» графических интерфейсов. Если помните, мы немало времени уделили тяжеловесным (heavyweight) и легковесным (lightweight) компонентам. О тяжеловесных компонентах и о том, как они взаимодействуют с операционной системой мы уже кое-что рассказывали ранее и возвращаться к ним больше не будем; поговорим о легковесных компонентах.
Занятие 8 полностью … 24.02.2014
Шаг за шагом мы потихоньку «подбираемся» к очередной и чрезвычайно важной теме – обработке событий. Но для того, чтобы эти самые события не показались вам возникшими невесть откуда и зачем, нам надо обсудить еще один важный компонент графических интерфейсов – диалоговые окна. Это тем более уместно, что диалоговые окна – неотъемлемый элемент графического пользовательского интерфейса любого мало-мальски сложного приложения. Эти окна присутствуют повсеместно и должны быть вам хорошо знакомы. Например, диалоговыми являются окно выбора принтера, окно параметров, окно для поиска и замены текста и т.д.
Основные отличия диалогового окна (ему, как нетрудно догадаться, в библиотеке 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.
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