Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

JavaOPs/basejava

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Разработка web-приложения "База данных резюме"

В данном курсе вы создадите с нуля web-приложение, реализуя разные способы хранения резюме. Проект включает в себя следующее:

  • Технологии: Java 8, GitHub/Git, JUnit, Logging, GSON, JAXB, SQL, PostgreSQL, Сервлеты, HTML, JSP, JSTL, Tomcat, Maven и многое другое
  • Различные способы реализации хранения резюме:
    • в сортированном и не сортированном массиве
    • в коллекциях (List, Map)
    • в файловой системе:
      • с использованием File и Path API
      • в стандартной и кастомной сериализации Java
      • в формате JSON (Google Gson)
      • в формате XML (JAXB)
    • в реляционной базе PostgreSQL
  • Установку (деплой) web-приложения:
    • в контейнер сервлетов Tomcat
    • в облачный сервис Heroku

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

— Илон Маск

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

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

Занятие 1 (бесплатное)

  • Обзор курса и методики обучения
  • Подготовка и настройка рабочего окружения
  • Подходы, применяемые при разработке ПО
  • Обзор инструментов и технологий, используемых Java-разработчиками
  • Введение в язык Java: история создания, JDK, JVM, JRE, JIT-компиляция
  • Системы управления версиями. Git
  • Домашнее задание

Занятие 2

  • Типы данных
  • Введение в объектно-ориентированное программирование
  • Принципы ООП
  • Классы и объекты
  • Классы-обертки
  • Модификаторы доступа
  • Конструктор
  • Структура памяти java-программы: Heap (куча), Stack (стек)
  • Пакеты
  • Домашнее задание

Занятие 3

  • Разбор домашнего задания
  • Обзор суперкласса Object
  • Связь между equals() и hashCode()
  • Статические методы и переменные
  • Программирование с помощью интерфейсов
  • Абстрактные классы
  • Сложность алгоритмов
  • Паттерн проектирования Template Method
  • Домашнее задание

Занятие 4

  • Разбор домашнего задания
  • Конструктор
  • Работа со строками: String, StringBuilder, StringBuffer
  • String literal pool
  • Исключения (Exceptions)
  • Ключевые слова: this, super
  • Reflection
  • Аннотации
  • Введение в модульное тестирование. JUnit
  • Домашнее задание

Занятие 5

  • Разбор домашнего задания
  • Коллекций. Иерархия классов
  • Списки (List)
  • Множества (Set)
  • Ассоциативные массивы (Map)
  • Введение в Iterator
  • Домашнее задание

Занятие 6

  • Разбор домашнего задания
  • Паттерн проектирования Iterator
  • Autoboxing и Unboxing
  • Вложенные классы
  • Внутренние классы
  • Локальные классы
  • Анонимные классы
  • Введение в лямбда-выражения
  • Функциональный интерфейс
  • Домашнее задание

Занятие 7

  • Разбор домашнего задания
  • Дженерики (Generic)
  • Введение в логирование. Log4J, Java Logging API
  • Паттерн проектирования Singleton
  • Перечисления (Enum)
  • Объектная модель
  • Домашнее задание

Занятие 8

  • Разбор домашнего задания
  • Классы работы с датами: Date, Calendar, TimeZone
  • Дата и время в Java 8+
  • File API
  • Освобождение ресурсов: try-with-resources
  • Домашнее задание

Занятие 9

  • Разбор домашнего задания
  • Обзор пакета java.io
  • Классы чтения/записи потоков: InputStream и OutputStream
  • Паттерн проектирования Decorator
  • Классы чтения/записи символов: Reader и Writer
  • Сериализация объектов
  • Обзор пакета java.nio
  • Введение в Java 8+ Stream API
  • Домашнее задание

Занятие 10

  • Разбор домашнего задания
  • Паттерн проектирования Strategy
  • Работа с XML (JAXB)
  • Работа с JSON (GSON)
  • Классы чтения/записи примитивных типов: DataInputStream и DataOutputStream
  • Домашнее задание

Занятие 11

  • Многопоточность
  • Закон Мура и Амдала
  • Потоки. Синхронизация доступа
  • Обзор методов класса Object
  • Ленивая инициализация
  • Java Memory Model
  • Deadlock
  • Домашнее задание

Занятие 12

  • Разбор домашнего задания
  • Обзор классов java.util.concurrent
  • Синхронизаторы
  • ThreadLocal-переменные
  • Сравнение с обменом (Compare-and-swap)
  • Домашнее задание

Занятие 13

  • Разбор домашнего задания
  • Введение в реляционные базы данных
  • Язык SQL
  • Обзор NoSQL баз данных
  • Установка и настройка СУБД PostgreSQL
  • Работа с базами данных из IDEA
  • Конфигурирование базы данных и каталога хранения
  • Подключение базы данных к проекту
  • Обзор JDBC-архитектуры
  • Домашнее задание

Занятие 14

  • Разбор домашнего задания
  • Операции соединения таблиц. JOIN
  • Транзакции
  • Требования к транзакциям. ACID
  • Уровни изоляции транзакций в SQL
  • Установка и настройка контейнера сервлетов Tomcat
  • Домашнее задание

Занятие 15

  • Разбор домашнего задания
  • Введение в HTML
  • Основы протокола HTTP
  • Настройка web.xml
  • Деплой web-приложения в Tomcat
  • Сервлеты
  • Домашнее задание

Занятие 16

  • Разбор домашнего задания
  • Жизненный цикл сервлета
  • Создание динамических страниц. JSP
  • Расширенные возможности JSP. JSTL
  • Redirect и Forward
  • CRUD-операции
  • Домашнее задание

Занятие 17

  • Разбор домашнего задания
  • Деплой приложения в облачный сервис Heroku
  • Загрузка классов в Java. Classloader
  • Домашнее задание

Рекомендуемые книги

Ресурсы в сети

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.