SlideShare une entreprise Scribd logo
1  sur  28
Мы создали проект, который поможет прокачать навыки в
IT-рекрутменте.
| Обучаем практике |
| Даем инструменты |
| Выдаем сертификаты |
О проекте Антишкола
Мастер-класс. Java
Программа Мастер класса
| Знакомство |
| Мастер-класс |
| Практикум |
| Вопросы |
| Нетворкинг |
Вопросы по Java
1. Какие разновидности Java бывают?
2. Можно ли взаимодействовать в Java с СУБД с помощью JDBC и через Hibernate - в чем
разница?
3. Основные фреймворки и области их применения. Веб разработка на Java (особенности,
соотв. технологии и т.д.)?
4. Нужно ли Java-разработчику нужно знать основы Javascript?
5.Чем отличается сервер приложений JBoss от остальных, правильно я понимаю, что в
качестве контейнера сервлетов JBoss использует Tomcat, почему?
6.EJB используется для поддержки серверных компонентов, содержащих бизнес-логику, что это
значит? В чем специфика “бизнес-логики” и где это нужно?
7. Если технически не подкованный заказчик передает слова руководителя тех. отдела
“разработчик должен знать только стандартный пакет средств для Java, ничего специфичного”,
это имеет какой -то смысл? Есть какой-то “стандартный пакет” и если да, то что в него
включается?
Поехали...
О докладчике
Опыт работы:
 С 2006 года в сфере ИТ.
 С 2008 года в компании «Интегратор ИТ» (дочернее общество ПАО
«Мосэнергосбыт») в должности программиста/ведущего программиста.
 С 2013 года начальник отдела программирования в «Интегратор ИТ».
Основные проекты, в которых принималось участие:
 Личный кабинет клиента физического лица (включая мобильные
приложения);
 Личный кабинет клиента юридического лица
 CRM система (несколько версий)
 Биллинг физических и юридических лиц
 И многие другие.
JAVA
История возникновения Java
• Джеймс Гослинг, компания Sun, создатель языка Java.
• 1991 год рождения Java.
Задача. Найти оптимальный способ для программирования различных бытовых устройств с
разными центральными процессами и разными архитектурами построения. Язык должен
быть компактным и чрезвычайно надежным.
Решение. Появился язык «Oak» (перевод «Дуб»), впоследствии переименованный в Java.
• 1991 – 1994 года. Активное использование Java для встроенных микрокомпьютерных
модулей бытовой техники, в видеомагнитофонах, тостерах, а также для PDA (personal data
assistants).
• 1994 – 1995 года. Рынок интерактивного телевидения и PDA падает. Бурный рост
Internet. Java переориентируется на веб технологии, появляется браузер HotJava.
• 1996 год. Компания Sun выпускает первую версию языка Java. С этого момента
начинается бурное развитие языка программирования Java.
Концепция языка Java
Написанное однажды, выполняется где угодно
Концепция языка Java
Написанное однажды, выполняется где угодно
Классификация платформ Java
Java SE
Java Standard Edition
Java EE
Java Enterprise Edition
Java ME
Java Micro Edition
Java Card
Классификация платформ Java
Объектно-ориентированный подход
 Java – объектно-ориентированный язык программирования.
Программист Java обязан знать объектно-ориентированный
подход при разработке приложений.
 Объектно-ориентированное программирование (ООП) —
методология программирования, основанная на представлении
программы в виде совокупности объектов, каждый из которых
является экземпляром определенного класса, а классы образуют
иерархию наследования.
 Основные принципы ООП: Инкапсуляция, Полиморфизм,
Наследование.
 Паттерны (шаблоны) программирования – независимая от
конкретного языка стратегия решения проблемы при разработке
средствами ООП.
Взаимодействие с БД через JDBC
JDBC Driver
MySQL
JDBC Driver
Oracle
JDBC Driver
PostgreSQL
JDBC Driver
MS SQL Server
JDBC Driver Manager
JDBC API
Java Application
• JDBC - это платформенно-
независимая технология, позволяющая
из программы на Java получить доступ к
любой SQL-совместимой базе данных.
• JDBC API - набор классов и
интерфейсов, определяющих Java –
ориентированный доступ к базам
данных.
• JDBC Driver Manger – отвечает за
подключение Java приложения к
нужному драйверу
• JDBC Driver – специфические для
каждой БД драйвер
Программист для каждой БД пишет
свой специфичный SQL код (native sql
query), напрямую обращается к
таблицам и другим объектам
выбранной БД (т.е. работает в
терминах выбранной СУБД)
Взаимодействие с БД через ORM
Java Application
ORM (Hibernate)
• Java Persistence API (JPA) – спецификация
API Java EE, позволяющая сохранять java
объекты в базе данных. JPA реализует
концепцию ORM.
• Object Relational Mapping (ORM) –
подход, позволяющий работать с БД в
терминах объектов, создавая некоторый
промежуточный между БД и приложением
слой «виртуальной объектной БД».
• Hibernate – java библиотека,
реализующая спецификацию JPA и
относящая к классу ORM.
Hibernate освобождает программиста от
необходимости обращаться к объектам БД
(таблицам, полям) напрямую.
Программист работает с java объектами, а
Hibernate осуществляет их отображение в
нужную БД и берет на себя специфику
каждой БД. Программист может и не
знать языка SQL.
Архитектура Enterprise Java приложений
Слой уровня данных (база данных)
Компоненты доступа к данным ( JDBC, Hibernate)
Слой доступа к данным
Бизнес правила программной системы
Слой бизнес логики
Компоненты пользовательского интерфейса
Презентационный слой
Что такое бизнес логика?
 Бизнес-логика – это автоматизируемая человеческая деятельность в рассматриваемой предметной области
(правила, принципы поведения объектов), которая реализуется в программной системе.
• Бизнес-логика — это реализация предметной области в информационной системе.
К ней относятся, например, формулы расчёта ежемесячных выплат по ссудам
(в финансовой индустрии), автоматизированная отправка сообщений электронной
почты руководителю проекта по окончании выполнения частей задания всеми
подчиненными (в системах управления проектами), отказ от отеля при отмене
рейса авиакомпанией (в туристическом бизнесе) и т. д.
• В разработке ПО бизнес-логикой могут называться и программные модули,
которые ее реализуют.
• EJB (Enterprise JavaBeans) – одна из технологий для реализации бизнес-логики в Java, определяющая
набор серверных компонент для многократного использования.
Что такое Фреймворк?
 Фреймворк (framework) в переводе с английского означает каркас
(структура).
 Фреймворк – программная платформа, которая задает структуру
программной системы и правила (архитектуру) ее построения.
Фреймворк – не библиотека.
Фреймворк – двигатель системы.
 Библиотека – программная компонента предоставляющая набор функций
для решения конкретной задачи.
 Веб-фреймворк – фреймворк, применяемый в веб-приложениях для построения пользовательских веб-
интерфейсов или взаимодействии по сети.
Разделение разработки
Front-End разработка веб приложений
JAVA WEB Frameworks
JAVA WEB Frameworks
Сервера приложений
 Сервер приложений – это программная платформа, предназначенная для эффективного исполнения процедур
(программ, скриптов), на которых построены приложения.
 Java EE сервер приложений – это сервер приложений, реализующий Java EE API спецификацию (JPA, EJB, JMS и т.п.)
 Сервлет – компонент (интерфейс Java), обрабатывающий клиентский запрос и работающий по принципу запрос-
ответ.
 Контейнер сервлетов – сервер, занимающийся поддержкой сервлетов и обеспечивает их жизненный цикл по
правилам спецификации. Может интегрироваться в Java EE сервер приложений.
Веб сервисы на JAVA
 SOAP – протокол обмена структурированными сообщениями в
распределённой вычислительной среде. Используется для обмена
сообщениями в формате XML.
 WSDL – язык описания веб-сервисов, основанный XML.
 REST архитектура – архитектурный стиль (не протокол) обмена
данными. Чаще всего обмен данными осуществляется в формате JSON.
 SOAP более применим в сложных архитектурах, где взаимодействие
с объектами выходит за рамки теории CRUD (создать, прочесть, обновить, удалить), а вот в тех приложениях, которые
не покидают рамки данной теории, вполне применимым может оказаться именно REST ввиду своей простоты и
прозрачности.
Структура собеседования
 Общие вопросы кандидату по опыту работы. Цель понять адекватность человека,
реальный опыт в проектах.
 Беседа по техническим проектам из опыта работы. Каким образом выполнялись
задачи, почему именно такое техническое решение выбиралось, как строился
процесс работы в компании, какие технологии и инструменты применялись и т.п.
 Техническое собеседование
а) Java. Темы, начиная от JSE и заканчивая JEE в разрезе используемых у нас
технологий.
б) Oracle. Вопросы по базам данных.
 Информация о компании и ответы на вопросы кандидата.
Вопросы
Практикум

Contenu connexe

Similaire à Что такое Java? Кто такой Java разработчик?

Диагностика производительности корпоративных приложений (Малышев)
Диагностика производительности корпоративных приложений (Малышев)Диагностика производительности корпоративных приложений (Малышев)
Диагностика производительности корпоративных приложений (Малышев)КРОК
 
20160323 Пример бизнес-приложения контроля качества в розничной торговле
20160323 Пример бизнес-приложения контроля качества в розничной торговле20160323 Пример бизнес-приложения контроля качества в розничной торговле
20160323 Пример бизнес-приложения контроля качества в розничной торговлеAndrew Sovtsov
 
лекция 01 прогр на java (тсн) - введение в java
лекция 01   прогр на java (тсн) - введение в javaлекция 01   прогр на java (тсн) - введение в java
лекция 01 прогр на java (тсн) - введение в javaSergey Talipov
 
Enterpise&Webservices
Enterpise&WebservicesEnterpise&Webservices
Enterpise&Webservicesscassau
 
NetBeans 6.0 Desktop
NetBeans 6.0 DesktopNetBeans 6.0 Desktop
NetBeans 6.0 DesktopIljas
 
лекция №13
лекция №13лекция №13
лекция №13student_kai
 
Oracle maf overview_rus_for publishing
Oracle maf overview_rus_for publishingOracle maf overview_rus_for publishing
Oracle maf overview_rus_for publishingVasily Demin
 
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел КрынецкийJSC “Arcadia Inc”
 
Platypus platform ivbit
Platypus platform ivbitPlatypus platform ivbit
Platypus platform ivbitjskonst
 
15 HappyDev-lite-2015 autumn. Анна Тарасенко. Java в современном мире, вторая...
15 HappyDev-lite-2015 autumn. Анна Тарасенко. Java в современном мире, вторая...15 HappyDev-lite-2015 autumn. Анна Тарасенко. Java в современном мире, вторая...
15 HappyDev-lite-2015 autumn. Анна Тарасенко. Java в современном мире, вторая...HappyDev-lite
 
Netbeans Desktop Applications
Netbeans Desktop ApplicationsNetbeans Desktop Applications
Netbeans Desktop Applicationsscassau
 
Лекция 4
Лекция 4Лекция 4
Лекция 4itc73
 
Web programming modern tendencies
Web programming modern tendenciesWeb programming modern tendencies
Web programming modern tendenciesDarkestMaster
 
Junior java standard edition developer
Junior java standard edition developerJunior java standard edition developer
Junior java standard edition developerDmitriy Neguritsa
 
Введение в hibernate
Введение в hibernateВведение в hibernate
Введение в hibernateUnguryan Vitaliy
 

Similaire à Что такое Java? Кто такой Java разработчик? (20)

Диагностика производительности корпоративных приложений (Малышев)
Диагностика производительности корпоративных приложений (Малышев)Диагностика производительности корпоративных приложений (Малышев)
Диагностика производительности корпоративных приложений (Малышев)
 
Java: вчера, сегодня, завтра
Java: вчера, сегодня, завтраJava: вчера, сегодня, завтра
Java: вчера, сегодня, завтра
 
20160323 Пример бизнес-приложения контроля качества в розничной торговле
20160323 Пример бизнес-приложения контроля качества в розничной торговле20160323 Пример бизнес-приложения контроля качества в розничной торговле
20160323 Пример бизнес-приложения контроля качества в розничной торговле
 
лекция 01 прогр на java (тсн) - введение в java
лекция 01   прогр на java (тсн) - введение в javaлекция 01   прогр на java (тсн) - введение в java
лекция 01 прогр на java (тсн) - введение в java
 
Enterpise&Webservices
Enterpise&WebservicesEnterpise&Webservices
Enterpise&Webservices
 
Diplom 1
Diplom 1Diplom 1
Diplom 1
 
NetBeans 6.0 Desktop
NetBeans 6.0 DesktopNetBeans 6.0 Desktop
NetBeans 6.0 Desktop
 
лекция №13
лекция №13лекция №13
лекция №13
 
Oracle maf overview_rus_for publishing
Oracle maf overview_rus_for publishingOracle maf overview_rus_for publishing
Oracle maf overview_rus_for publishing
 
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
2015-12-12 | AzovDevMeetup 2015 | Enterprise приложения на PHP | Павел Крынецкий
 
Интегрированная среда разработки для функционального языка Refal
Интегрированная среда разработки для функционального языка RefalИнтегрированная среда разработки для функционального языка Refal
Интегрированная среда разработки для функционального языка Refal
 
Platypus platform ivbit
Platypus platform ivbitPlatypus platform ivbit
Platypus platform ivbit
 
15 HappyDev-lite-2015 autumn. Анна Тарасенко. Java в современном мире, вторая...
15 HappyDev-lite-2015 autumn. Анна Тарасенко. Java в современном мире, вторая...15 HappyDev-lite-2015 autumn. Анна Тарасенко. Java в современном мире, вторая...
15 HappyDev-lite-2015 autumn. Анна Тарасенко. Java в современном мире, вторая...
 
Netbeans Desktop Applications
Netbeans Desktop ApplicationsNetbeans Desktop Applications
Netbeans Desktop Applications
 
Лекция 4
Лекция 4Лекция 4
Лекция 4
 
Web programming modern tendencies
Web programming modern tendenciesWeb programming modern tendencies
Web programming modern tendencies
 
Oracle
OracleOracle
Oracle
 
Junior java standard edition developer
Junior java standard edition developerJunior java standard edition developer
Junior java standard edition developer
 
Введение в hibernate
Введение в hibernateВведение в hibernate
Введение в hibernate
 
JD Edwards Orchestrator and AIS server
JD Edwards Orchestrator and AIS serverJD Edwards Orchestrator and AIS server
JD Edwards Orchestrator and AIS server
 

Что такое Java? Кто такой Java разработчик?

  • 1.
  • 2. Мы создали проект, который поможет прокачать навыки в IT-рекрутменте. | Обучаем практике | | Даем инструменты | | Выдаем сертификаты | О проекте Антишкола
  • 4. Программа Мастер класса | Знакомство | | Мастер-класс | | Практикум | | Вопросы | | Нетворкинг |
  • 5. Вопросы по Java 1. Какие разновидности Java бывают? 2. Можно ли взаимодействовать в Java с СУБД с помощью JDBC и через Hibernate - в чем разница? 3. Основные фреймворки и области их применения. Веб разработка на Java (особенности, соотв. технологии и т.д.)? 4. Нужно ли Java-разработчику нужно знать основы Javascript? 5.Чем отличается сервер приложений JBoss от остальных, правильно я понимаю, что в качестве контейнера сервлетов JBoss использует Tomcat, почему? 6.EJB используется для поддержки серверных компонентов, содержащих бизнес-логику, что это значит? В чем специфика “бизнес-логики” и где это нужно? 7. Если технически не подкованный заказчик передает слова руководителя тех. отдела “разработчик должен знать только стандартный пакет средств для Java, ничего специфичного”, это имеет какой -то смысл? Есть какой-то “стандартный пакет” и если да, то что в него включается?
  • 7. О докладчике Опыт работы:  С 2006 года в сфере ИТ.  С 2008 года в компании «Интегратор ИТ» (дочернее общество ПАО «Мосэнергосбыт») в должности программиста/ведущего программиста.  С 2013 года начальник отдела программирования в «Интегратор ИТ». Основные проекты, в которых принималось участие:  Личный кабинет клиента физического лица (включая мобильные приложения);  Личный кабинет клиента юридического лица  CRM система (несколько версий)  Биллинг физических и юридических лиц  И многие другие.
  • 9. История возникновения Java • Джеймс Гослинг, компания Sun, создатель языка Java. • 1991 год рождения Java. Задача. Найти оптимальный способ для программирования различных бытовых устройств с разными центральными процессами и разными архитектурами построения. Язык должен быть компактным и чрезвычайно надежным. Решение. Появился язык «Oak» (перевод «Дуб»), впоследствии переименованный в Java. • 1991 – 1994 года. Активное использование Java для встроенных микрокомпьютерных модулей бытовой техники, в видеомагнитофонах, тостерах, а также для PDA (personal data assistants). • 1994 – 1995 года. Рынок интерактивного телевидения и PDA падает. Бурный рост Internet. Java переориентируется на веб технологии, появляется браузер HotJava. • 1996 год. Компания Sun выпускает первую версию языка Java. С этого момента начинается бурное развитие языка программирования Java.
  • 10. Концепция языка Java Написанное однажды, выполняется где угодно
  • 11. Концепция языка Java Написанное однажды, выполняется где угодно
  • 12. Классификация платформ Java Java SE Java Standard Edition Java EE Java Enterprise Edition Java ME Java Micro Edition Java Card
  • 14. Объектно-ориентированный подход  Java – объектно-ориентированный язык программирования. Программист Java обязан знать объектно-ориентированный подход при разработке приложений.  Объектно-ориентированное программирование (ООП) — методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.  Основные принципы ООП: Инкапсуляция, Полиморфизм, Наследование.  Паттерны (шаблоны) программирования – независимая от конкретного языка стратегия решения проблемы при разработке средствами ООП.
  • 15. Взаимодействие с БД через JDBC JDBC Driver MySQL JDBC Driver Oracle JDBC Driver PostgreSQL JDBC Driver MS SQL Server JDBC Driver Manager JDBC API Java Application • JDBC - это платформенно- независимая технология, позволяющая из программы на Java получить доступ к любой SQL-совместимой базе данных. • JDBC API - набор классов и интерфейсов, определяющих Java – ориентированный доступ к базам данных. • JDBC Driver Manger – отвечает за подключение Java приложения к нужному драйверу • JDBC Driver – специфические для каждой БД драйвер Программист для каждой БД пишет свой специфичный SQL код (native sql query), напрямую обращается к таблицам и другим объектам выбранной БД (т.е. работает в терминах выбранной СУБД)
  • 16. Взаимодействие с БД через ORM Java Application ORM (Hibernate) • Java Persistence API (JPA) – спецификация API Java EE, позволяющая сохранять java объекты в базе данных. JPA реализует концепцию ORM. • Object Relational Mapping (ORM) – подход, позволяющий работать с БД в терминах объектов, создавая некоторый промежуточный между БД и приложением слой «виртуальной объектной БД». • Hibernate – java библиотека, реализующая спецификацию JPA и относящая к классу ORM. Hibernate освобождает программиста от необходимости обращаться к объектам БД (таблицам, полям) напрямую. Программист работает с java объектами, а Hibernate осуществляет их отображение в нужную БД и берет на себя специфику каждой БД. Программист может и не знать языка SQL.
  • 17. Архитектура Enterprise Java приложений Слой уровня данных (база данных) Компоненты доступа к данным ( JDBC, Hibernate) Слой доступа к данным Бизнес правила программной системы Слой бизнес логики Компоненты пользовательского интерфейса Презентационный слой
  • 18. Что такое бизнес логика?  Бизнес-логика – это автоматизируемая человеческая деятельность в рассматриваемой предметной области (правила, принципы поведения объектов), которая реализуется в программной системе. • Бизнес-логика — это реализация предметной области в информационной системе. К ней относятся, например, формулы расчёта ежемесячных выплат по ссудам (в финансовой индустрии), автоматизированная отправка сообщений электронной почты руководителю проекта по окончании выполнения частей задания всеми подчиненными (в системах управления проектами), отказ от отеля при отмене рейса авиакомпанией (в туристическом бизнесе) и т. д. • В разработке ПО бизнес-логикой могут называться и программные модули, которые ее реализуют. • EJB (Enterprise JavaBeans) – одна из технологий для реализации бизнес-логики в Java, определяющая набор серверных компонент для многократного использования.
  • 19. Что такое Фреймворк?  Фреймворк (framework) в переводе с английского означает каркас (структура).  Фреймворк – программная платформа, которая задает структуру программной системы и правила (архитектуру) ее построения. Фреймворк – не библиотека. Фреймворк – двигатель системы.  Библиотека – программная компонента предоставляющая набор функций для решения конкретной задачи.  Веб-фреймворк – фреймворк, применяемый в веб-приложениях для построения пользовательских веб- интерфейсов или взаимодействии по сети.
  • 24. Сервера приложений  Сервер приложений – это программная платформа, предназначенная для эффективного исполнения процедур (программ, скриптов), на которых построены приложения.  Java EE сервер приложений – это сервер приложений, реализующий Java EE API спецификацию (JPA, EJB, JMS и т.п.)  Сервлет – компонент (интерфейс Java), обрабатывающий клиентский запрос и работающий по принципу запрос- ответ.  Контейнер сервлетов – сервер, занимающийся поддержкой сервлетов и обеспечивает их жизненный цикл по правилам спецификации. Может интегрироваться в Java EE сервер приложений.
  • 25. Веб сервисы на JAVA  SOAP – протокол обмена структурированными сообщениями в распределённой вычислительной среде. Используется для обмена сообщениями в формате XML.  WSDL – язык описания веб-сервисов, основанный XML.  REST архитектура – архитектурный стиль (не протокол) обмена данными. Чаще всего обмен данными осуществляется в формате JSON.  SOAP более применим в сложных архитектурах, где взаимодействие с объектами выходит за рамки теории CRUD (создать, прочесть, обновить, удалить), а вот в тех приложениях, которые не покидают рамки данной теории, вполне применимым может оказаться именно REST ввиду своей простоты и прозрачности.
  • 26. Структура собеседования  Общие вопросы кандидату по опыту работы. Цель понять адекватность человека, реальный опыт в проектах.  Беседа по техническим проектам из опыта работы. Каким образом выполнялись задачи, почему именно такое техническое решение выбиралось, как строился процесс работы в компании, какие технологии и инструменты применялись и т.п.  Техническое собеседование а) Java. Темы, начиная от JSE и заканчивая JEE в разрезе используемых у нас технологий. б) Oracle. Вопросы по базам данных.  Информация о компании и ответы на вопросы кандидата.