SlideShare a Scribd company logo
1 of 26
Стажировка-2014.
Обработка исключительных
ситуаций, журналирование и логи
Занятие 2 (часть 2)
Стажировка-2014.
Исключительная ситуация –
любая нештатная ситуация, в
которой программа не может
продолжить работу
Исключительные ситуации
Стажировка-2014.
Причины:
1. внутренние – ошибка в
программе
2. внешние – неверные входные
данные, проблемы в
конфигурации системы
Исключительные ситуации
Стажировка-2014.
Надежность программы –
устойчивость к возникновению
исключительных ситуаций
Исключительные ситуации
Стажировка-2014.
Что делать:
1. предотвращать – для
внутренних, конфигурационных
2. обрабатывать – для неверных
входных данных, недоступности
ресурсов
Исключительные ситуации
Стажировка-2014.
Защитное программирование –
стиль, при котором во всех
функциях (методах) обязательно
проверяется предусловие и при
невыполнении генерируется
исключительная ситуация
Исключительные ситуации
Стажировка-2014.
Защита от внутренних
ошибок:
1. утверждения (assert)
2. модульные тесты
Исключительные ситуации
Стажировка-2014.
Защита от неверных данных:
1. проверка предусловия –
только если просто
2. в остальных случаях –
отлавливание исключений
Исключительные ситуации
Стажировка-2014.
Функция (метод) может:
1. вернуть специальное значение
(-1, NULL, пустой объект, код
ошибки и т.д.)
2. выбросить исключение (если
язык поддерживает)
Исключительные ситуации
Стажировка-2014.
Функция (метод) не должна:
1. изменять глобальные объекты
программы
2. выводить информацию об
ошибке в консоль или внешний
файл
Исключительные ситуации
Стажировка-2014.
Хорошее поведение функции
(метода) в Java:
1. возвращать пустые объекты,
NULL
2. выбрасывать исключения
Исключительные ситуации
Стажировка-2014.
Важно:
список выбрасываемых
исключений – часть контракта
функции (метода)
Исключительные ситуации
Стажировка-2014.
Плохой стиль:
выбрасывать из функции
(метода) все возникшие в ней
исключения
Исключительные ситуации
Стажировка-2014.
В чем проблемы:
1. вызывающий код должен
подключать лишние библиотеки
2. слишком большой список
исключений
Исключительные ситуации
Стажировка-2014.
В чем проблемы:
3. раскрываются детали
реализации
4. затрудняется использование
интерфейсов
Исключительные ситуации
Стажировка-2014.
Хороший стиль:
создать свои исключения по
типам ситуаций и использовать
их
Исключительные ситуации
Стажировка-2014.
Логгирование –
фиксация только ошибочных
ситуаций и важных этапов работы
программы с целью поиска
внутренних и конфигурационных
ошибок
Журналирование и логи
Стажировка-2014.
Логгирование в Java –
библиотека log4j и надстройки
над ней, вывод в консоль или
файл
Журналирование и логи
Стажировка-2014.
Уровни логгирования в Java:
Fatal – фатальный сбой, нельзя
продолжать работу
Error – ошибка, можно
продолжать работу
Журналирование и логи
Стажировка-2014.
Уровни логгирования в Java:
Warning – потенциальная ошибка
Info – важный шаг, информация
Debug – отладочный вывод
Журналирование и логи
Стажировка-2014.
Принято логгировать:
1. пойманное исключение –
Error, Fatal
2. проблемы конфигурации –
Warning, Error, Fatal
Журналирование и логи
Стажировка-2014.
Принято логгировать:
3. начало и завершение важных
функций – особенно соединения с
внешними системами – с
сохранением отправленных и
принятых данных - Info
Журналирование и логи
Стажировка-2014.
Принято логгировать:
4. все подряд с уровнем Debug
Журналирование и логи
Стажировка-2014.
Помните:
грамотно организованное
логгирование сохранит вашу
карму от лучей смерти
команды поддержки
Журналирование и логи
Стажировка-2014.
Журналирование –
фиксация всех действий с целью
восстановления данных после
сбоя и возможности отката к
предыдущему состоянию
Журналирование и логи
Стажировка-2014.
Когда нужно журналирование:
1. финансовые системы
2. системы, от которых зависит
жизнь и здоровье
3. документооборот
4. любые базы данных
Журналирование и логи

More Related Content

Viewers also liked

Стажировка 2015. Разработка. Занятие 9. BEM
Стажировка 2015. Разработка. Занятие 9. BEMСтажировка 2015. Разработка. Занятие 9. BEM
Стажировка 2015. Разработка. Занятие 9. BEM7bits
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 4
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 4Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 4
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 47bits
 
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...7bits
 
Спецкурс 2014, занятие 3. Абстракции, именование, документирование
Спецкурс 2014, занятие 3. Абстракции, именование, документированиеСпецкурс 2014, занятие 3. Абстракции, именование, документирование
Спецкурс 2014, занятие 3. Абстракции, именование, документирование7bits
 
Стажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотесты
Стажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотестыСтажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотесты
Стажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотесты7bits
 
Стажировка-2014, занятие 5. Базы данных
Стажировка-2014, занятие 5. Базы данныхСтажировка-2014, занятие 5. Базы данных
Стажировка-2014, занятие 5. Базы данных7bits
 
Стажировка-2014, занятие 8. Обзор CakePHP framework (PHP)
Стажировка-2014, занятие 8. Обзор CakePHP framework (PHP)Стажировка-2014, занятие 8. Обзор CakePHP framework (PHP)
Стажировка-2014, занятие 8. Обзор CakePHP framework (PHP)7bits
 
Спецкурс 2014, занятие 10. Lean startup
Спецкурс 2014, занятие 10. Lean startupСпецкурс 2014, занятие 10. Lean startup
Спецкурс 2014, занятие 10. Lean startup7bits
 
Курс Java-2016. Занятие 06. Файлы и ввод-вывод
Курс Java-2016. Занятие 06. Файлы и ввод-выводКурс Java-2016. Занятие 06. Файлы и ввод-вывод
Курс Java-2016. Занятие 06. Файлы и ввод-вывод7bits
 
Стажировка-2015. Разработка. Занятие 8. Абстракции, именование,документирование
Стажировка-2015. Разработка. Занятие 8. Абстракции, именование,документированиеСтажировка-2015. Разработка. Занятие 8. Абстракции, именование,документирование
Стажировка-2015. Разработка. Занятие 8. Абстракции, именование,документирование7bits
 
Cпецкурс 2014, занятие 9 (1 часть). Языки разметки
Cпецкурс 2014, занятие 9 (1 часть). Языки разметкиCпецкурс 2014, занятие 9 (1 часть). Языки разметки
Cпецкурс 2014, занятие 9 (1 часть). Языки разметки7bits
 
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open sourceСпецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source7bits
 
Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)
Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)
Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)7bits
 
Спецкурс 2014, занятие 10. Lean startup
Спецкурс 2014, занятие 10. Lean startupСпецкурс 2014, занятие 10. Lean startup
Спецкурс 2014, занятие 10. Lean startup7bits
 
Стажировка-2015. Разработка. Занятие 2. Основы реляционных баз данных
Стажировка-2015. Разработка. Занятие 2. Основы реляционных баз данныхСтажировка-2015. Разработка. Занятие 2. Основы реляционных баз данных
Стажировка-2015. Разработка. Занятие 2. Основы реляционных баз данных7bits
 
Спецкурс 2014, занятие 6. Базы данных
Спецкурс 2014, занятие 6. Базы данныхСпецкурс 2014, занятие 6. Базы данных
Спецкурс 2014, занятие 6. Базы данных7bits
 
Стажировка-2015. Тестирование. Занятие 2. Планирование процесса тестирования.
Стажировка-2015. Тестирование. Занятие 2. Планирование процесса тестирования.Стажировка-2015. Тестирование. Занятие 2. Планирование процесса тестирования.
Стажировка-2015. Тестирование. Занятие 2. Планирование процесса тестирования.7bits
 
Курс Java-2016. Занятие 09. Web
Курс Java-2016. Занятие 09. WebКурс Java-2016. Занятие 09. Web
Курс Java-2016. Занятие 09. Web7bits
 
Стажировка-2014, занятие 6 (часть 1). Web-приложения
Стажировка-2014, занятие 6 (часть 1). Web-приложенияСтажировка-2014, занятие 6 (часть 1). Web-приложения
Стажировка-2014, занятие 6 (часть 1). Web-приложения7bits
 
Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS3
Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS3Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS3
Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS37bits
 

Viewers also liked (20)

Стажировка 2015. Разработка. Занятие 9. BEM
Стажировка 2015. Разработка. Занятие 9. BEMСтажировка 2015. Разработка. Занятие 9. BEM
Стажировка 2015. Разработка. Занятие 9. BEM
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 4
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 4Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 4
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 4
 
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
 
Спецкурс 2014, занятие 3. Абстракции, именование, документирование
Спецкурс 2014, занятие 3. Абстракции, именование, документированиеСпецкурс 2014, занятие 3. Абстракции, именование, документирование
Спецкурс 2014, занятие 3. Абстракции, именование, документирование
 
Стажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотесты
Стажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотестыСтажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотесты
Стажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотесты
 
Стажировка-2014, занятие 5. Базы данных
Стажировка-2014, занятие 5. Базы данныхСтажировка-2014, занятие 5. Базы данных
Стажировка-2014, занятие 5. Базы данных
 
Стажировка-2014, занятие 8. Обзор CakePHP framework (PHP)
Стажировка-2014, занятие 8. Обзор CakePHP framework (PHP)Стажировка-2014, занятие 8. Обзор CakePHP framework (PHP)
Стажировка-2014, занятие 8. Обзор CakePHP framework (PHP)
 
Спецкурс 2014, занятие 10. Lean startup
Спецкурс 2014, занятие 10. Lean startupСпецкурс 2014, занятие 10. Lean startup
Спецкурс 2014, занятие 10. Lean startup
 
Курс Java-2016. Занятие 06. Файлы и ввод-вывод
Курс Java-2016. Занятие 06. Файлы и ввод-выводКурс Java-2016. Занятие 06. Файлы и ввод-вывод
Курс Java-2016. Занятие 06. Файлы и ввод-вывод
 
Стажировка-2015. Разработка. Занятие 8. Абстракции, именование,документирование
Стажировка-2015. Разработка. Занятие 8. Абстракции, именование,документированиеСтажировка-2015. Разработка. Занятие 8. Абстракции, именование,документирование
Стажировка-2015. Разработка. Занятие 8. Абстракции, именование,документирование
 
Cпецкурс 2014, занятие 9 (1 часть). Языки разметки
Cпецкурс 2014, занятие 9 (1 часть). Языки разметкиCпецкурс 2014, занятие 9 (1 часть). Языки разметки
Cпецкурс 2014, занятие 9 (1 часть). Языки разметки
 
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open sourceСпецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
Спецкурс 2014, занятие 5 (часть 2). Git, GitHub и Open source
 
Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)
Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)
Стажировка-2014, занятие 8. Обзор Rails framework (Ruby)
 
Спецкурс 2014, занятие 10. Lean startup
Спецкурс 2014, занятие 10. Lean startupСпецкурс 2014, занятие 10. Lean startup
Спецкурс 2014, занятие 10. Lean startup
 
Стажировка-2015. Разработка. Занятие 2. Основы реляционных баз данных
Стажировка-2015. Разработка. Занятие 2. Основы реляционных баз данныхСтажировка-2015. Разработка. Занятие 2. Основы реляционных баз данных
Стажировка-2015. Разработка. Занятие 2. Основы реляционных баз данных
 
Спецкурс 2014, занятие 6. Базы данных
Спецкурс 2014, занятие 6. Базы данныхСпецкурс 2014, занятие 6. Базы данных
Спецкурс 2014, занятие 6. Базы данных
 
Стажировка-2015. Тестирование. Занятие 2. Планирование процесса тестирования.
Стажировка-2015. Тестирование. Занятие 2. Планирование процесса тестирования.Стажировка-2015. Тестирование. Занятие 2. Планирование процесса тестирования.
Стажировка-2015. Тестирование. Занятие 2. Планирование процесса тестирования.
 
Курс Java-2016. Занятие 09. Web
Курс Java-2016. Занятие 09. WebКурс Java-2016. Занятие 09. Web
Курс Java-2016. Занятие 09. Web
 
Стажировка-2014, занятие 6 (часть 1). Web-приложения
Стажировка-2014, занятие 6 (часть 1). Web-приложенияСтажировка-2014, занятие 6 (часть 1). Web-приложения
Стажировка-2014, занятие 6 (часть 1). Web-приложения
 
Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS3
Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS3Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS3
Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS3
 

More from 7bits

Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап? Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап? 7bits
 
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофтаГудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта7bits
 
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакатьГудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать7bits
 
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи 7bits
 
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE 7bits
 
Goodbye, IT-loft! Тараканов Алексей: Идеология в IT
Goodbye, IT-loft! Тараканов Алексей: Идеология в ITGoodbye, IT-loft! Тараканов Алексей: Идеология в IT
Goodbye, IT-loft! Тараканов Алексей: Идеология в IT7bits
 
Курс Java-2016. Занятие 13. Spring
Курс Java-2016. Занятие 13. SpringКурс Java-2016. Занятие 13. Spring
Курс Java-2016. Занятие 13. Spring7bits
 
Курс Java-2016. Занятие 12. DBMS, JDBC
Курс Java-2016. Занятие 12. DBMS, JDBCКурс Java-2016. Занятие 12. DBMS, JDBC
Курс Java-2016. Занятие 12. DBMS, JDBC7bits
 
Курс Java-2016. Занятие 11. Servlets, JSP
Курс Java-2016. Занятие 11. Servlets, JSPКурс Java-2016. Занятие 11. Servlets, JSP
Курс Java-2016. Занятие 11. Servlets, JSP7bits
 
Курс Java-2016. Занятие 10. Reflection, mock
Курс Java-2016. Занятие 10. Reflection, mockКурс Java-2016. Занятие 10. Reflection, mock
Курс Java-2016. Занятие 10. Reflection, mock7bits
 
Курс Java-2016. Занятие 08. Итераторы, многопоточность
Курс Java-2016. Занятие 08. Итераторы, многопоточностьКурс Java-2016. Занятие 08. Итераторы, многопоточность
Курс Java-2016. Занятие 08. Итераторы, многопоточность7bits
 
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекцииКурс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции7bits
 
Курс Java-2016. Занятие 05. Тестирование и Java
Курс Java-2016. Занятие 05. Тестирование и JavaКурс Java-2016. Занятие 05. Тестирование и Java
Курс Java-2016. Занятие 05. Тестирование и Java7bits
 
Курс Java-2016. Занятие 04 (часть 2). Git и GitHub
Курс Java-2016. Занятие 04 (часть 2). Git и GitHubКурс Java-2016. Занятие 04 (часть 2). Git и GitHub
Курс Java-2016. Занятие 04 (часть 2). Git и GitHub7bits
 
Курс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
Курс Java-2016. Занятие 04 (часть 1). Еще немного про GenericsКурс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
Курс Java-2016. Занятие 04 (часть 1). Еще немного про Generics7bits
 
курс Java 2016. занятие 03. интерфейсы, generic, исключения
курс Java 2016. занятие 03. интерфейсы, generic, исключениякурс Java 2016. занятие 03. интерфейсы, generic, исключения
курс Java 2016. занятие 03. интерфейсы, generic, исключения7bits
 
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с MavenКурс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven7bits
 
Курс Java-2016. Занятие 01. Введение в Java как технологию
Курс Java-2016. Занятие 01. Введение в Java как технологиюКурс Java-2016. Занятие 01. Введение в Java как технологию
Курс Java-2016. Занятие 01. Введение в Java как технологию7bits
 
Спецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версийСпецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версий7bits
 
Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...
Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...
Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...7bits
 

More from 7bits (20)

Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап? Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
 
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофтаГудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта
 
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакатьГудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать
 
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи
 
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE
 
Goodbye, IT-loft! Тараканов Алексей: Идеология в IT
Goodbye, IT-loft! Тараканов Алексей: Идеология в ITGoodbye, IT-loft! Тараканов Алексей: Идеология в IT
Goodbye, IT-loft! Тараканов Алексей: Идеология в IT
 
Курс Java-2016. Занятие 13. Spring
Курс Java-2016. Занятие 13. SpringКурс Java-2016. Занятие 13. Spring
Курс Java-2016. Занятие 13. Spring
 
Курс Java-2016. Занятие 12. DBMS, JDBC
Курс Java-2016. Занятие 12. DBMS, JDBCКурс Java-2016. Занятие 12. DBMS, JDBC
Курс Java-2016. Занятие 12. DBMS, JDBC
 
Курс Java-2016. Занятие 11. Servlets, JSP
Курс Java-2016. Занятие 11. Servlets, JSPКурс Java-2016. Занятие 11. Servlets, JSP
Курс Java-2016. Занятие 11. Servlets, JSP
 
Курс Java-2016. Занятие 10. Reflection, mock
Курс Java-2016. Занятие 10. Reflection, mockКурс Java-2016. Занятие 10. Reflection, mock
Курс Java-2016. Занятие 10. Reflection, mock
 
Курс Java-2016. Занятие 08. Итераторы, многопоточность
Курс Java-2016. Занятие 08. Итераторы, многопоточностьКурс Java-2016. Занятие 08. Итераторы, многопоточность
Курс Java-2016. Занятие 08. Итераторы, многопоточность
 
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекцииКурс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
 
Курс Java-2016. Занятие 05. Тестирование и Java
Курс Java-2016. Занятие 05. Тестирование и JavaКурс Java-2016. Занятие 05. Тестирование и Java
Курс Java-2016. Занятие 05. Тестирование и Java
 
Курс Java-2016. Занятие 04 (часть 2). Git и GitHub
Курс Java-2016. Занятие 04 (часть 2). Git и GitHubКурс Java-2016. Занятие 04 (часть 2). Git и GitHub
Курс Java-2016. Занятие 04 (часть 2). Git и GitHub
 
Курс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
Курс Java-2016. Занятие 04 (часть 1). Еще немного про GenericsКурс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
Курс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
 
курс Java 2016. занятие 03. интерфейсы, generic, исключения
курс Java 2016. занятие 03. интерфейсы, generic, исключениякурс Java 2016. занятие 03. интерфейсы, generic, исключения
курс Java 2016. занятие 03. интерфейсы, generic, исключения
 
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с MavenКурс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven
Курс Java-2016. Занятие 02. Пакеты, сборка проекта с Maven
 
Курс Java-2016. Занятие 01. Введение в Java как технологию
Курс Java-2016. Занятие 01. Введение в Java как технологиюКурс Java-2016. Занятие 01. Введение в Java как технологию
Курс Java-2016. Занятие 01. Введение в Java как технологию
 
Спецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версийСпецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версий
 
Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...
Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...
Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...
 

Стажировка-2014, занятие 2 (часть 2). Исключения и логи