Програмиране с JAVA 8 (35-то издание)


Траян Илиев - Certified Java SE 6 ProgrammerOracle® Certified Professional - Java SE 6 Programmer
Тренингът се води от Траян Илиев, Oracle® и OMG® сертифициран разработчик на софтуер с 15+ години опит като преподавател за компании като VMWare, Software AG, Telenor и др. Траян има множество презентации на международни конференции за разработчици: Voxxed Days, jPrime, jProfessionals, BGOUG, BGJUG на теми като SOA & REST (JAX-RS), CDI, Spring Reactor, Java EE 7, Angular 2, Ionic 2, React, Redux, high-performance reactive Java programming.
График и записване

 

Обучение по програмиране с JAVA 8Курсът осигурява практически умения за обектно-ориентирано програмиране с новатаверсия 8 на езика Java ™. Java 8 има потенциала да промени значително начина, по който реализираме качествен програмен код като ни предоставя възможности за функционално и поточно програмиране с използване на ламбда изрази, както и цялостно осъвременяване на основни програмни интерфейси така, че да могат да се възползват от новите програмни идиоми. Кодът става по-къс и елегантен, като едновременно с това се повишава производителността чрез замяна на тежките анонимни класове с динамични извиквания на функции и се предоставя възможност за паралелно изпълнение на поточните операции. Продължителността на курса е 120 учебни часа и включва три модула (възможни са индивидуални комбинации):

 

  1. Основи на програмирането с Java 8 (40 учебни часа) – запознава с принципите и понятията на обектно-ориентираното програмиране и тяхната практическа реализация на езика Java. Разглеждат се детайлно, на базата на примери и задачи, различните езикови конструкции, механизми за реализация и приложни класове за основните видове структури от данни. Обхванати са и по-сложните елементи на езика Java – наследяване и полиморфизъм, интерфейси, анонимни и вътрешни класове. Дискутират се още механизмите за обработка на изключения и конвенциите при документиране на Java™ код. Представят се новостите в Java 5/6/7/8 – ламбда изрази и поточно програмиране(java.util.function и java.util.stream), референции към методи, методи по подразбиране и статични методи в интерфейси, generics, enumeration types, подобрен for-цикъл, static imports, autoboxing, variable argument lists, annotations, strings in switch, multi-catch, generics type inference, try with resources. Специално внимание се отделя на по-сложните елементи при използването на параметризирани типове (generics) като type erasure, bounded generics, wild cards и др. Разглежда се новото за Java 8 Date and Time API (JSR 310), както и разширените възможности за използване на анотации върху Java типове (JSR 308). Модулът въвежда в използването на нов, по-ефективен и ефикасен стил на поточно програмиране с използване на монади (напр. Optional, Stream). Той включва също въведение в графичната нотация за обектно-ориентирано моделиране на езика Unified Modeling Language (UML).
  2. Java API и проектиране на графичен потребителски интерфейс (40 учебни часа) – разглеждат се Java™ класовете за осъществяване на файлови операции и сериализация, включително новостите при работа с файлове в Java 7 – New I/O 2 Path, Files, FileSystem, AttributeViews, walking the file tree, WatchService, MIME type inference. Представят се Swing библиотеката от класове и компоненти (прозорци, панели, бутони, текстови полета, списъци, диалогови прозорци, менюта, и др.) за изграждане на графичен потребителски интерфейс (GUI) и Model-View-Controller архитектура, както и новите за Java 7 JLayer компоненти, полу-прозрачни прозорци и векторен Look and Feel. Разглежда се графичното изграждане на форми и приложения, както и реализация на паралелни процеси с използване на множество нишки (multi-threading) и механизмите за синхронизация между тези процеси. Като специални акценти на курса ще бъдат застъпени бързото и автоматизирано изграждане на GUI приложения с Eclipse Window Builder и детайлите на конкурентното програмиране с използване на Concurrency Utilities (JSR-166), включително новият за Java 7 Fork/ Join Framework.
  3. Разработка на разпределени и мрежови приложения с JAVA 8 (40 учебни часа) – модулът запознава с основите на мрежовото програмиране на Java™ (разработват се чат сървъри и клиенти през TCP/UDP/Multicasting), транзакции и връзки към бази данни през JDBC ™, практическа разработка на разпределени приложения от тип клиент/сървър с Java RMI ™ и многослойни софтуерни архитектури. Разглеждат се механизмите за осъществяване на връзка с база от данни (Java™ Database Connectivity – JDBC™) и използването на SQL за манипулиране на данните. Включени са новостите при JDBC 4.1 (Java 7) – try with resources, RowSet, RowSetFactory, FilteredRowSet, CachedRowSet и др. Обяснява се практически Remote Method Invocation (RMI) механизма за изграждане на разпределени приложения и използването на декларативна сигурност на базата на политики. Към новите теми разглеждани в този модул спадат Java Persistence API (JPA), което надгражда добилите популярност ORM мениджъри Hibernate/ TopLink/ EclipseLink. JPA улеснява съхраняването на данните в база данни, като прави ненужни както писането на SQL заявки, така и на XML описания на данните, заменяйки ги с анотации в кода и автоматизираното създаване на JPA entity beans и контролни класове чрез помощници директно от таблици в базата данни. Курсът завършва с проект – разработка на цялостно трислойно клиент/сървър приложение с използване на Remote Method Invocation (RMI) middleware.

Сред новостите, включени в последното издание на курса са:

  • основи на UML графична нотация за подобряване на комуникацията в екипа (Use Case и Class диаграми);
  • новости в Java 5/6/7/8 – ламбда изрази и поточно програмиране, generics, enumeration types, подобрен for-цикъл за обхождане на колекции, static import, autoboxing, аргументни списъци с променлива дължина, използване на анотации в кода, низове в switch, multi-catch, generics type inference, try с ресурси;
  • новостите при работа с файлове в Java™ 7 – New I/O 2 Path, Files, FileSystem, AttributeViews, walking the file tree, WatchService, MIME type inference;
  • реализацията на фино-гранулярна конкурентност с библиотеката JSR 166: Concurrency Utilities, включително новият за Java 7 Fork/ Join Framework;
  • новостите в JDBC 4.1 (Java 7) – try with resources, RowSet, RowSetFactory, FilteredRowSet, CachedRowSet и др.;
  • новото за Java 5/6/7 SE Java Persistence API, което надгражда добилите популярност ORM мениджъри Hibernate/ TopLink/ EclipseLink и улеснява съхраняването на данните в база данни, като прави ненужни както писането на SQL заявки, така и на XML описания на данните, заменяйки ги с анотации в кода;
  • автоматизирано създаване на Java Persistence API (JPA) entity beans и контролни класове чрез помощници директно от таблици в базата данни;
  • бързо изграждане на потребителски интерфейси с графичен билдър;
  • разбиране на предимствата и недостатъците на различните архитектурни решения и използване на най-добрите практики (Reusable Design Paterns) в зависимост от спецификата на проекта;
  • практическа разработка на собствени мрежови приложения от тип клиент-сървър и peer to peer (P2P) през протоколи TCP/ UDP/ multicasting – чат-сървъри и клиенти; програма за фактуриране, включваща RMI клиенти с графичен потребителски интерфейс, централизиран сървър и база данни;
  • запознаване с механизмите за сигурност в Java, декларативна сигурност, базирана на политики;
  • постигане на максимална скорост и разширяемост при разработката на многослойни клиент-сървър приложения чрез съчетаване на изброените по-горе технологии и подходи.

.pdf Преглед на подробната програма на курса в PDF формат (в нов прозорец на браузъра) За повече информация и записване, моля пишете на нашия e-mail адрес: office@iproduct.org