From 215d91553cbeda1cf6f8576cbc7480a6637ded24 Mon Sep 17 00:00:00 2001 From: Grigory Kislin Date: Thu, 24 Nov 2016 15:59:39 +0300 Subject: [PATCH 01/25] Move lessons to lesson dir and add intro video --- README.md | 100 +++++++++++++++--------------- intro.md => lesson/intro.md | 9 ++- lesson1.md => lesson/lesson1.md | 0 lesson10.md => lesson/lesson10.md | 0 lesson11.md => lesson/lesson11.md | 0 lesson12.md => lesson/lesson12.md | 0 lesson13.md => lesson/lesson13.md | 0 lesson14.md => lesson/lesson14.md | 0 lesson15.md => lesson/lesson15.md | 0 lesson16.md => lesson/lesson16.md | 0 lesson17.md => lesson/lesson17.md | 0 lesson2.md => lesson/lesson2.md | 0 lesson3.md => lesson/lesson3.md | 0 lesson4.md => lesson/lesson4.md | 0 lesson5.md => lesson/lesson5.md | 0 lesson6.md => lesson/lesson6.md | 0 lesson7.md => lesson/lesson7.md | 0 lesson8.md => lesson/lesson8.md | 0 lesson9.md => lesson/lesson9.md | 0 19 files changed, 57 insertions(+), 52 deletions(-) rename intro.md => lesson/intro.md (83%) rename lesson1.md => lesson/lesson1.md (100%) rename lesson10.md => lesson/lesson10.md (100%) rename lesson11.md => lesson/lesson11.md (100%) rename lesson12.md => lesson/lesson12.md (100%) rename lesson13.md => lesson/lesson13.md (100%) rename lesson14.md => lesson/lesson14.md (100%) rename lesson15.md => lesson/lesson15.md (100%) rename lesson16.md => lesson/lesson16.md (100%) rename lesson17.md => lesson/lesson17.md (100%) rename lesson2.md => lesson/lesson2.md (100%) rename lesson3.md => lesson/lesson3.md (100%) rename lesson4.md => lesson/lesson4.md (100%) rename lesson5.md => lesson/lesson5.md (100%) rename lesson6.md => lesson/lesson6.md (100%) rename lesson7.md => lesson/lesson7.md (100%) rename lesson8.md => lesson/lesson8.md (100%) rename lesson9.md => lesson/lesson9.md (100%) diff --git a/README.md b/README.md index 86806493..218dfb4b 100644 --- a/README.md +++ b/README.md @@ -1,88 +1,88 @@ # Курс JavaSE + Web -## Вступительное заниятие - - [Необходимое ПО](intro.md#Необходимое-ПО) - - [Рекомендуемые книги](intro.md#Рекомендуемые-книги) - - [Ресуры в сети](intro.md#Ресуры-в-сети) - - [Вступительное задание](intro.md#Вступительное-задание) +## [Вступительное заниятие](lesson/intro.md) + - [Необходимое ПО](lesson/intro.md#Необходимое-ПО) + - [Рекомендуемые книги](lesson/intro.md#Рекомендуемые-книги) + - [Ресуры в сети](lesson/intro.md#Ресуры-в-сети) + - [Вступительное задание](lesson/intro.md#Вступительное-задание) ## Темы курса ### Занятие 1 - - [Разработка ПО](lesson1.md#Разработка-ПО) - - [Обзор языка Java](lesson1.md#Обзор-языка-java) - - [Системы управления версиями. Git](lesson1.md#Системы-управления-версиями-git) - - [Настройка окружения](lesson1.md#Настройка-окружения) - - [Насторойка проекта. Ветка HW1. Debug](lesson1.md#Насторойка-проекта-Ветка-hw1-debug) + - [Разработка ПО](lesson/lesson1.md#Разработка-ПО) + - [Обзор языка Java](lesson/lesson1.md#Обзор-языка-java) + - [Системы управления версиями. Git](lesson/lesson1.md#Системы-управления-версиями-git) + - [Настройка окружения](lesson/lesson1.md#Настройка-окружения) + - [Насторойка проекта. Ветка HW1. Debug](lesson/lesson1.md#Насторойка-проекта-Ветка-hw1-debug) ### Занятие 2 - - [Принципы ООП](lesson2.md#Принципы-ООП) - - [Структура памяти: куча, стек, регистры, константы](lesson2.md#Структура-памяти-куча-стек-регистры-константы) - - [Типы данных. Пакеты](lesson2.md#Типы-данных-Пакеты) + - [Принципы ООП](lesson/lesson2.md#Принципы-ООП) + - [Структура памяти: куча, стек, регистры, константы](lesson/lesson2.md#Структура-памяти-куча-стек-регистры-константы) + - [Типы данных. Пакеты](lesson/lesson2.md#Типы-данных-Пакеты) ### Занятие 3 - - [Объектная модель в Java](lesson3.md#Объектная-модель-в-java) - - [Сложность алгоритмов](lesson3.md#Сложность-алгоритмов) + - [Объектная модель в Java](lesson/lesson3.md#Объектная-модель-в-java) + - [Сложность алгоритмов](lesson/lesson3.md#Сложность-алгоритмов) ### Занятие 4 - - [Работа со строками](lesson4.md#Работа-со-строками) - - [Исключения](lesson4.md#Исключения) - - [Reflection. Аннотации. Модульное тестирование](lesson4.md#reflection-Аннотации-Модульное-тестирование) + - [Работа со строками](lesson/lesson4.md#Работа-со-строками) + - [Исключения](lesson/lesson4.md#Исключения) + - [Reflection. Аннотации. Модульное тестирование](lesson/lesson4.md#reflection-Аннотации-Модульное-тестирование) ### Занятие 5 - - [Контейнеры/коллекции](lesson5.md#Контейнерыколлекции) + - [Контейнеры/коллекции](lesson/lesson5.md#Контейнерыколлекции) ### Занятие 6 - - [Iterator / Iterable. Вложенные, внутренние, локальные и анонимные классы](lesson6.md#iterator--iterable-Вложенные-внутренние-локальные-и-анонимные-классы) - - [Новое в Java 8](lesson6.md#Новое-в-java-8) + - [Iterator / Iterable. Вложенные, внутренние, локальные и анонимные классы](lesson/lesson6.md#iterator--iterable-Вложенные-внутренние-локальные-и-анонимные-классы) + - [Новое в Java 8](lesson/lesson6.md#Новое-в-java-8) ### Занятие 7 - - [Параметризация. Стирание типов](lesson7.md#Параметризация-Стирание-типов) - - [Логирование](lesson7.md#Логирование) - - [Синглетон, Enum](lesson7.md#Синглетон-enum) + - [Параметризация. Стирание типов](lesson/lesson7.md#Параметризация-Стирание-типов) + - [Логирование](lesson/lesson7.md#Логирование) + - [Синглетон, Enum](lesson/lesson7.md#Синглетон-enum) ### Занятие 8 - - [Работа с датами и временем](lesson8.md#Работа-с-датами-и-временем) - - [Работа с файлами и ресурсами](lesson8.md#Работа-с-файлами-и-ресурсами) + - [Работа с датами и временем](lesson/lesson8.md#Работа-с-датами-и-временем) + - [Работа с файлами и ресурсами](lesson/lesson8.md#Работа-с-файлами-и-ресурсами) ### Занятие 9 - - [Ввод/вывод](lesson9.md#Вводвывод) - - [Сериализация](lesson9.md#Сериализация) - - [NIO](lesson9.md#nio) - - [Основы Java 8 Stream API](lesson9.md#Основы-java-8-stream-api) + - [Ввод/вывод](lesson/lesson9.md#Вводвывод) + - [Сериализация](lesson/lesson9.md#Сериализация) + - [NIO](lesson/lesson9.md#nio) + - [Основы Java 8 Stream API](lesson/lesson9.md#Основы-java-8-stream-api) ### Занятие 10 - - [Формат XML. Работа с XML в Java](lesson10.md#Формат-xml-Работа-с-xml-в-java) - - [JSON](lesson10.md#json) - - [DataInputStream / DataOutputStream](lesson10.md#datainputstream--dataoutputstream) + - [Формат XML. Работа с XML в Java](lesson/lesson10.md#Формат-xml-Работа-с-xml-в-java) + - [JSON](lesson/lesson10.md#json) + - [DataInputStream / DataOutputStream](lesson/lesson10.md#datainputstream--dataoutputstream) ### Занятие 11 - - [Многопоточность. Параллельное выполнение.](lesson11.md#Многопоточность-Параллельное-выполнение) - - [Потоки. Синхронизация](lesson11.md#Потоки-Синхронизация) - - [Ленивая инициализация, JMM](lesson11.md#Ленивая-инициализация-jmm) + - [Многопоточность. Параллельное выполнение.](lesson/lesson11.md#Многопоточность-Параллельное-выполнение) + - [Потоки. Синхронизация](lesson/lesson11.md#Потоки-Синхронизация) + - [Ленивая инициализация, JMM](lesson/lesson11.md#Ленивая-инициализация-jmm) ### Занятие 12 - - [java.util.concurrent](lesson12.md#javautilconcurrent) + - [java.util.concurrent](lesson/lesson12.md#javautilconcurrent) ### Занятие 13 - - [Базы данных. Реляционные СУБД. PostgreSQL](lesson13.md#Базы-данных-Реляционные-СУБД-postgresql) - - [Конфигурирование данных в Java проекте](lesson13.md#Конфигурирование-данных-в-java-проекте) - - [Подключение DB в проект](lesson13.md#Подключение-db-в-проект) + - [Базы данных. Реляционные СУБД. PostgreSQL](lesson/lesson13.md#Базы-данных-Реляционные-СУБД-postgresql) + - [Конфигурирование данных в Java проекте](lesson/lesson13.md#Конфигурирование-данных-в-java-проекте) + - [Подключение DB в проект](lesson/lesson13.md#Подключение-db-в-проект) ### Занятие 14 - - [JOIN](lesson14.md#join) - - [Транзакции](lesson14.md#Транзакции) - - [Установка/запуск Tomcat](lesson14.md#Установказапуск-tomcat) + - [JOIN](lesson/lesson14.md#join) + - [Транзакции](lesson/lesson14.md#Транзакции) + - [Установка/запуск Tomcat](lesson/lesson14.md#Установказапуск-tomcat) ### Занятие 15 - - [HTML, Tomcat](lesson15.md#html-tomcat) - - [Сервлеты](lesson15.md#Сервлеты) + - [HTML, Tomcat](lesson/lesson15.md#html-tomcat) + - [Сервлеты](lesson/lesson15.md#Сервлеты) ### Занятие 16 - - [JSP](lesson16.md#jsp) - - [JSTL](lesson16.md#jstl) + - [JSP](lesson/lesson16.md#jsp) + - [JSTL](lesson/lesson16.md#jstl) ### Занятие 17 - - [Деплой в Heroku](lesson17.md#Деплой-в-heroku) - - [Classloader](lesson17.md#classloader) - - [Обзор Java Enterprise](lesson17.md#Обзор-java-enterprise) + - [Деплой в Heroku](lesson/lesson17.md#Деплой-в-heroku) + - [Classloader](lesson/lesson17.md#classloader) + - [Обзор Java Enterprise](lesson/lesson17.md#Обзор-java-enterprise) diff --git a/intro.md b/lesson/intro.md similarity index 83% rename from intro.md rename to lesson/intro.md index c929bead..01f2d35e 100644 --- a/intro.md +++ b/lesson/intro.md @@ -1,6 +1,11 @@ - # Вступительное занятие +## Обзор проекта. Обучение Java. +[![Видео вступительного занятия](https://img.youtube.com/vi/rUUhWUpzpUM/0.jpg)](https://www.youtube.com/watch?v=rUUhWUpzpUM) + +- Java Tools and Technologies Landscape Report 2016 +- Резюме преподавателя Кислина Григория + ## Необходимое ПО - JDK8 - Git @@ -31,7 +36,7 @@ ![image](https://cloud.githubusercontent.com/assets/18701152/14917800/71887238-0e29-11e6-9830-e557901892b4.png) -![image](https://cloud.githubusercontent.com/assets/18701152/14917769/5025e29c-0e29-11e6-9c7b-70b82966ccbe.png) +![image](https://cloud.githubusercontent.com/assets/11200258/20598648/17409248-b25b-11e6-91b0-0c6a351cd59d.png) - Реализуйте класс `ArrayStorage`: хранение резюме на основе массива (методы `clear, get, save, delete, getAll, size`). - Протестируйте вашу реализацию, запустив `MainTestArrayStorage.main()`: в IDEA слева на полях зеленая стрелка. diff --git a/lesson1.md b/lesson/lesson1.md similarity index 100% rename from lesson1.md rename to lesson/lesson1.md diff --git a/lesson10.md b/lesson/lesson10.md similarity index 100% rename from lesson10.md rename to lesson/lesson10.md diff --git a/lesson11.md b/lesson/lesson11.md similarity index 100% rename from lesson11.md rename to lesson/lesson11.md diff --git a/lesson12.md b/lesson/lesson12.md similarity index 100% rename from lesson12.md rename to lesson/lesson12.md diff --git a/lesson13.md b/lesson/lesson13.md similarity index 100% rename from lesson13.md rename to lesson/lesson13.md diff --git a/lesson14.md b/lesson/lesson14.md similarity index 100% rename from lesson14.md rename to lesson/lesson14.md diff --git a/lesson15.md b/lesson/lesson15.md similarity index 100% rename from lesson15.md rename to lesson/lesson15.md diff --git a/lesson16.md b/lesson/lesson16.md similarity index 100% rename from lesson16.md rename to lesson/lesson16.md diff --git a/lesson17.md b/lesson/lesson17.md similarity index 100% rename from lesson17.md rename to lesson/lesson17.md diff --git a/lesson2.md b/lesson/lesson2.md similarity index 100% rename from lesson2.md rename to lesson/lesson2.md diff --git a/lesson3.md b/lesson/lesson3.md similarity index 100% rename from lesson3.md rename to lesson/lesson3.md diff --git a/lesson4.md b/lesson/lesson4.md similarity index 100% rename from lesson4.md rename to lesson/lesson4.md diff --git a/lesson5.md b/lesson/lesson5.md similarity index 100% rename from lesson5.md rename to lesson/lesson5.md diff --git a/lesson6.md b/lesson/lesson6.md similarity index 100% rename from lesson6.md rename to lesson/lesson6.md diff --git a/lesson7.md b/lesson/lesson7.md similarity index 100% rename from lesson7.md rename to lesson/lesson7.md diff --git a/lesson8.md b/lesson/lesson8.md similarity index 100% rename from lesson8.md rename to lesson/lesson8.md diff --git a/lesson9.md b/lesson/lesson9.md similarity index 100% rename from lesson9.md rename to lesson/lesson9.md From 30ef666ae7368f8461d8e04d85a0143c06b7d83c Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Wed, 11 Jan 2017 00:24:50 +0300 Subject: [PATCH 02/25] Update lesson1.md --- lesson/lesson1.md | 1 + 1 file changed, 1 insertion(+) diff --git a/lesson/lesson1.md b/lesson/lesson1.md index 0b1fc5c0..cc225b86 100644 --- a/lesson/lesson1.md +++ b/lesson/lesson1.md @@ -58,3 +58,4 @@ r1, r2, r3,..., rn, null, null,..., null <---- storage.length ---------------> ``` - Посмотреть на класс `Arrays`. Там есть полезные вещи, которые могут упростить код `ArrayStorage`. +- Протестируйте реализацию, запустив MainArray.main(): в IDEA слева на полях зеленая стрелка. From 7e24869e1dcbc33d146bb891365ec03b68ba4f49 Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Wed, 11 Jan 2017 00:26:40 +0300 Subject: [PATCH 03/25] Update lesson2.md --- lesson/lesson2.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lesson/lesson2.md b/lesson/lesson2.md index e5f33609..9a22c8d1 100644 --- a/lesson/lesson2.md +++ b/lesson/lesson2.md @@ -30,6 +30,9 @@ - Модификаторы доступа. Область Видимости. ## Домашнее задание + +Правка к видео: ArrayStorage.delete() - вместо `storage[i] = null` нужно `storage[size-1] = null` + - Прочитать Соглашения по именованию. - Реализовать `ArrayStorage.update` - Сделать проверки: в `update/delete/get` - резюме есть в storage, в `save`- нет в storage: `System.out.println("Resume ...")`. From 7f485d05881504d26bff7894878ccad761f64aaf Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Wed, 11 Jan 2017 00:26:56 +0300 Subject: [PATCH 04/25] Update lesson2.md --- lesson/lesson2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lesson/lesson2.md b/lesson/lesson2.md index 9a22c8d1..6fc39ef8 100644 --- a/lesson/lesson2.md +++ b/lesson/lesson2.md @@ -31,7 +31,7 @@ ## Домашнее задание -Правка к видео: ArrayStorage.delete() - вместо `storage[i] = null` нужно `storage[size-1] = null` +> Правка к видео: ArrayStorage.delete() - вместо `storage[i] = null` нужно `storage[size-1] = null` - Прочитать Соглашения по именованию. - Реализовать `ArrayStorage.update` From 3f8952220341c0ca1d474fd5c40f881e83823a01 Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Wed, 5 Apr 2017 12:15:21 +0300 Subject: [PATCH 05/25] Update lesson2.md --- lesson/lesson2.md | 1 + 1 file changed, 1 insertion(+) diff --git a/lesson/lesson2.md b/lesson/lesson2.md index 6fc39ef8..5e4619dc 100644 --- a/lesson/lesson2.md +++ b/lesson/lesson2.md @@ -5,6 +5,7 @@ - Методология процедурно-ориентированного и объектно-ориентированного программирования - Объекты (cостояние, поведение, уникальность) - Классы. Инкапсуляция. Наследование. Полиморфизм. +- Объектно-ориентированное программирование (перевод статьи) - Типы отношений между классами Наследование, агрегация, композиция, ассоциация. - Достоинства/Недостатки ООП. Библиотеки vs фреймворки. - Дополнительно: From 73f009761e7f2e66256fbd140b35187dd7ebd1fe Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Wed, 5 Apr 2017 12:16:52 +0300 Subject: [PATCH 06/25] Update lesson5.md --- lesson/lesson5.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lesson/lesson5.md b/lesson/lesson5.md index fdc77b03..26d8d42a 100644 --- a/lesson/lesson5.md +++ b/lesson/lesson5.md @@ -8,6 +8,7 @@ - Структуры данных в картинках - Инициализация полей в Java - Java собеседование по коллекциям +- [Часто задаваемые на собеседованиях вопросы по классам коллекциям в Java](http://info.javarush.ru/translation/2013/10/08/Часто-задаваемые-на-собеседованиях-вопросы-по-классам-коллекциям-в-Java-Часть-2-.html#1) ## Домашнее задание -Выделить общий класс `AbstractStorage` и реализовать подклассы `ListStorage` и `MapStorage`. Выбор реализации List и Map за вами. \ No newline at end of file +Выделить общий класс `AbstractStorage` и реализовать подклассы `ListStorage` и `MapStorage`. Выбор реализации List и Map за вами. From a1815f4f06566de289b8161ac8652d80d1a53daa Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Wed, 5 Apr 2017 12:18:07 +0300 Subject: [PATCH 07/25] Update lesson3.md --- lesson/lesson3.md | 1 + 1 file changed, 1 insertion(+) diff --git a/lesson/lesson3.md b/lesson/lesson3.md index e86bcc05..f3f6acec 100644 --- a/lesson/lesson3.md +++ b/lesson/lesson3.md @@ -8,6 +8,7 @@ - Object. Контракт equals/hashCode - Интерфейсы - Полиморфизм, abstract +- [Java Core. Вопросы к собеседованию](http://info.javarush.ru/translation/2014/02/12/Java-Core-Вопросы-к-собеседованию-ч-1.html) ## Сложность алгоритмов - Алгоритмы и структуры данных для начинающих: сложность алгоритмов From 39e4a9015226f6ea926f3b7dbb0ac0b9f645fb28 Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Wed, 5 Apr 2017 12:18:51 +0300 Subject: [PATCH 08/25] Update lesson5.md --- lesson/lesson5.md | 1 + 1 file changed, 1 insertion(+) diff --git a/lesson/lesson5.md b/lesson/lesson5.md index 26d8d42a..169a361c 100644 --- a/lesson/lesson5.md +++ b/lesson/lesson5.md @@ -9,6 +9,7 @@ - Инициализация полей в Java - Java собеседование по коллекциям - [Часто задаваемые на собеседованиях вопросы по классам коллекциям в Java](http://info.javarush.ru/translation/2013/10/08/Часто-задаваемые-на-собеседованиях-вопросы-по-классам-коллекциям-в-Java-Часть-2-.html#1) +- [Собеседование по Java — коллекции](http://javastudy.ru/interview/collections/) ## Домашнее задание Выделить общий класс `AbstractStorage` и реализовать подклассы `ListStorage` и `MapStorage`. Выбор реализации List и Map за вами. From b9624ab58ce8befba6254b14ddc3798f399b5fd8 Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Mon, 17 Apr 2017 21:13:58 +0300 Subject: [PATCH 09/25] Update lesson3.md --- lesson/lesson3.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lesson/lesson3.md b/lesson/lesson3.md index f3f6acec..36b8407f 100644 --- a/lesson/lesson3.md +++ b/lesson/lesson3.md @@ -15,6 +15,8 @@ - Time complexity - Временная сложность алгоритма - Вычислительная сложность + +## Паттерн проектирования Шаблонный метод - Шаблонный метод ## Домашнее задание From aa0c93440ecb8d58507d4e6a540cf03d1d4a24e3 Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Mon, 17 Apr 2017 21:28:46 +0300 Subject: [PATCH 10/25] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 218dfb4b..9172002f 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,8 @@ ### Занятие 3 - [Объектная модель в Java](lesson/lesson3.md#Объектная-модель-в-java) - [Сложность алгоритмов](lesson/lesson3.md#Сложность-алгоритмов) - + - [Паттерн проектирования Шаблонный метод](https://github.com/JavaOPs/JavaSE-Web/blob/master/lesson/lesson3.md#Паттерн-проектирования-Шаблонный-метод) + ### Занятие 4 - [Работа со строками](lesson/lesson4.md#Работа-со-строками) - [Исключения](lesson/lesson4.md#Исключения) @@ -85,4 +86,3 @@ - [Деплой в Heroku](lesson/lesson17.md#Деплой-в-heroku) - [Classloader](lesson/lesson17.md#classloader) - [Обзор Java Enterprise](lesson/lesson17.md#Обзор-java-enterprise) - From d3e2653fad61234ad6c28b6ad3f2f800f1f5d55e Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Tue, 2 May 2017 13:53:39 +0300 Subject: [PATCH 11/25] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9172002f..cf17b47d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ -# Курс JavaSE + Web +# Курс BaseJava +## (обновленный, вступительное + 17 занятий) ## [Вступительное заниятие](lesson/intro.md) - [Необходимое ПО](lesson/intro.md#Необходимое-ПО) From d62aa2504d84fff61082ce257021c7e493783557 Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Tue, 2 May 2017 13:54:18 +0300 Subject: [PATCH 12/25] Update README.md --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index cf17b47d..a627df23 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,6 @@ ## (обновленный, вступительное + 17 занятий) ## [Вступительное заниятие](lesson/intro.md) - - [Необходимое ПО](lesson/intro.md#Необходимое-ПО) - - [Рекомендуемые книги](lesson/intro.md#Рекомендуемые-книги) - - [Ресуры в сети](lesson/intro.md#Ресуры-в-сети) - - [Вступительное задание](lesson/intro.md#Вступительное-задание) ## Темы курса ### Занятие 1 From 0fceb526ed08717114329c644e7ffdfef88bf77f Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Tue, 2 May 2017 13:55:08 +0300 Subject: [PATCH 13/25] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a627df23..461f3c8e 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ - [Обзор языка Java](lesson/lesson1.md#Обзор-языка-java) - [Системы управления версиями. Git](lesson/lesson1.md#Системы-управления-версиями-git) - [Настройка окружения](lesson/lesson1.md#Настройка-окружения) - - [Насторойка проекта. Ветка HW1. Debug](lesson/lesson1.md#Насторойка-проекта-Ветка-hw1-debug) + - [Насторойка проекта. Debug](lesson/lesson1.md#Насторойка-проекта-Ветка-debug) ### Занятие 2 - [Принципы ООП](lesson/lesson2.md#Принципы-ООП) From 07c28ce90790455dd0c7daf8ff12332fc8e57263 Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Tue, 2 May 2017 13:55:34 +0300 Subject: [PATCH 14/25] Update lesson1.md --- lesson/lesson1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lesson/lesson1.md b/lesson/lesson1.md index cc225b86..07e3dcda 100644 --- a/lesson/lesson1.md +++ b/lesson/lesson1.md @@ -44,7 +44,7 @@ - `git remote set-url --push origin https://github.com/[YouGitHub/YourRepo].git` - настройка push - `git push -u origin master` -## Насторойка проекта. Ветка HW1. Debug +## Насторойка проекта. Debug - Отладчик IntelliJ IDEA - Эффективная работа с кодом в IntelliJ IDEA From b14c2a20a8d114a4337fc9d2b697112956d6a8fd Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Tue, 2 May 2017 13:56:35 +0300 Subject: [PATCH 15/25] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 461f3c8e..c3cbe7eb 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ - [Обзор языка Java](lesson/lesson1.md#Обзор-языка-java) - [Системы управления версиями. Git](lesson/lesson1.md#Системы-управления-версиями-git) - [Настройка окружения](lesson/lesson1.md#Настройка-окружения) - - [Насторойка проекта. Debug](lesson/lesson1.md#Насторойка-проекта-Ветка-debug) + - [Насторойка проекта. Debug](lesson/lesson1.md#Насторойка-проекта-debug) ### Занятие 2 - [Принципы ООП](lesson/lesson2.md#Принципы-ООП) From 14fbf88d6f8ebbe0c60f9e0139e901f483a5fa67 Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Tue, 2 May 2017 13:58:16 +0300 Subject: [PATCH 16/25] Update intro.md --- lesson/intro.md | 1 - 1 file changed, 1 deletion(-) diff --git a/lesson/intro.md b/lesson/intro.md index 01f2d35e..718561e4 100644 --- a/lesson/intro.md +++ b/lesson/intro.md @@ -4,7 +4,6 @@ [![Видео вступительного занятия](https://img.youtube.com/vi/rUUhWUpzpUM/0.jpg)](https://www.youtube.com/watch?v=rUUhWUpzpUM) - Java Tools and Technologies Landscape Report 2016 -- Резюме преподавателя Кислина Григория ## Необходимое ПО - JDK8 From cb1a2747f2c593334df5f150ef53c2fc70bfb4ea Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Tue, 2 May 2017 17:11:00 +0300 Subject: [PATCH 17/25] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c3cbe7eb..60143144 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -# Курс BaseJava -## (обновленный, вступительное + 17 занятий) +# Курс BaseJava ## (обновленный и переработанный) +## Вступительное + 17 занятий ## [Вступительное заниятие](lesson/intro.md) From 9434aa84bd85d3ef01be3eb25a11d497ecc2560d Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Tue, 2 May 2017 17:38:14 +0300 Subject: [PATCH 18/25] Update README.md --- README.md | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 60143144..538a29a6 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,18 @@ -# Курс BaseJava ## (обновленный и переработанный) -## Вступительное + 17 занятий +# Курс BaseJava (обновленный и переработанный) + +## Разработка Web приложения "База данных резюме", деплоем в контейнер сервлетов [Tomcat](http://tomcat.apache.org/) и в облачный сервис [Heroku](https://www.heroku.com/) и сохранением в +- памяти на основе массива, отсортированного массива, списка и ассоциированного массива (Map) +- файловой системе (в том числе через [Java 7 NIO File API](http://www.quizful.net/post/java-nio-tutorial)) + - с помощью стандартной и кастомной сериализации Java + - в формате JSON ([Google Gson](https://github.com/google/gson)) + - в формате XML ([JAXB](https://ru.wikipedia.org/wiki/Java_Architecture_for_XML_Binding)) + - в реляционной базе ([PostgreSQL](https://ru.wikipedia.org/wiki/PostgreSQL)) + +## Вступительное занятие + 17 занятий с разработкой приложения ## [Вступительное заниятие](lesson/intro.md) -## Темы курса +## Программа ### Занятие 1 - [Разработка ПО](lesson/lesson1.md#Разработка-ПО) - [Обзор языка Java](lesson/lesson1.md#Обзор-языка-java) From c48baff7a8cd6ecd320ae481709f2477e5b83cc0 Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Tue, 2 May 2017 17:38:39 +0300 Subject: [PATCH 19/25] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 538a29a6..9f508365 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Курс BaseJava (обновленный и переработанный) -## Разработка Web приложения "База данных резюме", деплоем в контейнер сервлетов [Tomcat](http://tomcat.apache.org/) и в облачный сервис [Heroku](https://www.heroku.com/) и сохранением в +## Разработка Web приложения "База данных резюме" с деплоем в контейнер сервлетов [Tomcat](http://tomcat.apache.org/) и в облачный сервис [Heroku](https://www.heroku.com/) и сохранением в - памяти на основе массива, отсортированного массива, списка и ассоциированного массива (Map) - файловой системе (в том числе через [Java 7 NIO File API](http://www.quizful.net/post/java-nio-tutorial)) - с помощью стандартной и кастомной сериализации Java From 55a125f41fa7d9b348a659124fad9267de236477 Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Mon, 8 May 2017 22:06:10 +0300 Subject: [PATCH 20/25] Update lesson12.md --- lesson/lesson12.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/lesson/lesson12.md b/lesson/lesson12.md index c3a99007..47156cdd 100644 --- a/lesson/lesson12.md +++ b/lesson/lesson12.md @@ -9,10 +9,27 @@ - Справочник по синхронизаторам java.util.concurrent.* - Использование ThreadLocal переменных +> Замечания по видео: + + ThreadLocal DATE_FORMAT = new ThreadLocal() { + @Override + protected SimpleDateFormat initialValue() { + return new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); + }; + }; + +можно написать через лямбду: + + ThreadLocal.withInitial(() -> new SimpleDateFormat("dd.MM.yyyy HH:mm:ss")); + +А лучше использовать потокобезопасный `DateTimeFormatter` Java 8 Time API: + + DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss"); + ## Разбор домашнего задания 10го урока ## Домашнее задание: - Установить PostgreSQL - Посомтреть на реляционные базы данных и SQL: - Введение в базы данных - - Основы SQL \ No newline at end of file + - Основы SQL From d1ef3f96e585286a12d1d91b6f567d61c1097ffe Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Thu, 11 May 2017 16:35:25 +0300 Subject: [PATCH 21/25] Update intro.md --- lesson/intro.md | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/lesson/intro.md b/lesson/intro.md index 718561e4..08f247e1 100644 --- a/lesson/intro.md +++ b/lesson/intro.md @@ -13,17 +13,6 @@ > Выбирать Ultimate, 30 days trial (нам понадобится Git, JavaScript, Tomcat, JSP). Учебный ключ выдается на первом занятии. -## Рекомендуемые книги -- YAKOV FAIN: Программирование на Java для начинающих -- Книги по Java: от новичка до профессионала -- Джошуа Блох: Java. Эффективное программирование, 2-е издание -- Гамма, Хелм, Джонсон: Приемы объектно-ориентированного проектирования. Паттерны проектирования -- Редмонд Э.: Семь баз данных за семь недель. Введение в современные базы данных и идеологию NoSQL. - -## Ресуры в сети -- intuit: Программирование на Java -- Основы программирования на Java: учебное пособие - ## Вступительное задание - Установите ПО: Git, Java 8, IntelliJ IDEA - Создайте локальную копию нашего проекта: `git clone https://github.com/JavaWebinar/JavaSE-Web.git` From 55c8dd47da08aa039ae38a17ecd189dca14aed5a Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Thu, 11 May 2017 16:35:57 +0300 Subject: [PATCH 22/25] Update README.md --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index 9f508365..1235ef70 100644 --- a/README.md +++ b/README.md @@ -92,3 +92,14 @@ - [Деплой в Heroku](lesson/lesson17.md#Деплой-в-heroku) - [Classloader](lesson/lesson17.md#classloader) - [Обзор Java Enterprise](lesson/lesson17.md#Обзор-java-enterprise) + +## Рекомендуемые книги +- YAKOV FAIN: Программирование на Java для начинающих +- Книги по Java: от новичка до профессионала +- Джошуа Блох: Java. Эффективное программирование, 2-е издание +- Гамма, Хелм, Джонсон: Приемы объектно-ориентированного проектирования. Паттерны проектирования +- Редмонд Э.: Семь баз данных за семь недель. Введение в современные базы данных и идеологию NoSQL. + +## Ресуры в сети +- intuit: Программирование на Java +- Основы программирования на Java: учебное пособие From da931535a861749ef479163da7b9a743ddf726a2 Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Sat, 13 May 2017 18:17:58 +0300 Subject: [PATCH 23/25] Update README.md --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 1235ef70..cf230fd3 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,6 @@ - в формате XML ([JAXB](https://ru.wikipedia.org/wiki/Java_Architecture_for_XML_Binding)) - в реляционной базе ([PostgreSQL](https://ru.wikipedia.org/wiki/PostgreSQL)) -## Вступительное занятие + 17 занятий с разработкой приложения - ## [Вступительное заниятие](lesson/intro.md) ## Программа From 9d4f8d2b524c4a1b17f7e6b713a1f560d3630993 Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Sat, 13 May 2017 18:54:34 +0300 Subject: [PATCH 24/25] Update README.md --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index cf230fd3..980ef51b 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,13 @@ - в формате JSON ([Google Gson](https://github.com/google/gson)) - в формате XML ([JAXB](https://ru.wikipedia.org/wiki/Java_Architecture_for_XML_Binding)) - в реляционной базе ([PostgreSQL](https://ru.wikipedia.org/wiki/PostgreSQL)) - + +Приложение будет разрабатываться начиная со первого занятия, основываясь на базовых темах курса: +**объектная модель, коллекции, система ввода-вывода, работа с файлами, сериализация, работа с XML, JSON, SQL, персистентность в базу данных (PostgreSQL), сервлеты, HTML/JSP/JSTL, веб-контейнер Tomcat, модульные тесты JUnit, java.util.Logging, система контроля версий Git.** + +> Любое знание стоит воспринимать как подобие семантического дерева: убедитесь в том, что понимаете фундаментальные принципы, то есть ствол и крупные ветки, прежде чем лезть в мелкие листья-детали. Иначе последним не на чем будет держаться. +*— Илон Маск* + ## [Вступительное заниятие](lesson/intro.md) ## Программа From 64f09f5177871a23c90169fe66a6681b40b5c8ca Mon Sep 17 00:00:00 2001 From: Java Online Projects Date: Sat, 13 May 2017 18:59:01 +0300 Subject: [PATCH 25/25] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 980ef51b..2835d32c 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ > Любое знание стоит воспринимать как подобие семантического дерева: убедитесь в том, что понимаете фундаментальные принципы, то есть ствол и крупные ветки, прежде чем лезть в мелкие листья-детали. Иначе последним не на чем будет держаться. *— Илон Маск* +## [Регистрация](http://javawebinar.ru/basejava/) ## [Вступительное заниятие](lesson/intro.md) ## Программа