İleri Java Programlama Sertifika Programı
Sabancı Üniversitesi Bilişim Teknolojileri Eğitim Merkezi

İleri Java Programlama Sertifika Programı

Duyurulacak
4 Gün Cumartesi − Pazar 9:30−16:30
Kontenjan
20 Kişi.

Eğitimin Amacı

İleri Java Programlama, genellikle ileri seviyede programlama API'leri ve teknikleri konusunda derinlemesine deneyim kazanmak isteyen yazılım geliştiriciler için tasarlanmış 4 günlük, kapsamlı ve pratik uygulamalara dayalı bir kurstur.

Katılım Şartları

Orta ve ileri seviye yazılım geliştiriciler için tasarlanmıştır. İdeal olarak katılımcıların "Java ile Nesne-tabanlı Programlama" kursunu almış olmaları veya eş düzeyde Java ile programlama deneyimine sahip olmaları beklenmektedir. Katılımcıların nesne-tabanlı programlama konusunda bilgi ve gerçek hayatta programlama deneyimi sahibi oldukları kabul edilmektedir.

Sertifika Hakkında

Programa % 100 devam koşulunu sağlayan katılımcılar, Sabancı Üniversitesi tarafından verilecek resmi bir sertifika almaya hak kazanacaktır.

Detaylı Eğitim İçeriği

Session 1: Writing High-Performance Applications
Lesson: Performance: Process and Issues

  • List four possible metrics for measuring software performance
  • Explain the effect of OO design on software performance
  • Explain where performance tuning resides in the overall OOSD cycle

Lesson: Profiling and Benchmarking

  • List and describe the two types of benchmarks
  • Describe the criteria that should be considered when constructing a benchmark plan
  • Name the three most useful targets for profiling
  • List four common tools/techniques for profiling
  • Describe two strategies for improving performance as a result of profiling data
  • List and explain the five most common problem areas for good performance with Java

Lesson: Profiling Tools

  • Use the JDK to collect runtime profiling data
  • Successfully read the profiling data generated by the JDK to detect performance bottlenecks
  • Instrument your own code to collect method execution time data

Lesson: Code Optimization Techniques

  • List three potential problems with strings
  • List two ways to optimize loops
  • Describe the advantages of private and final methods
  • List two advantages of Java 1.2 collections over vectors and hashtables
  • List 4 other code and system optimizations

Lesson: Design Optimization Techniques

  • List five ways to optimize Java program design

Session 2: JAAS
Lesson: JAAS Overview

  • Recap Java Security
  • Explain the concept of a Protection Domain
  • Recap enforcing code-based (including signature) authorization
  • Understand the role of the AccessController and the AccessControlContext
  • Understand the role of the Protection
  • Understand the sequence of events for permission
  • Understand permission checking and the (call) stack
  • Understand the concept of PrivilegedAction and its effect on the permission checking sequence
  • Introduce the JAAS concept
  • Introduce the JAAS Authentication architecture
  • Understand the role of login modules
  • Understand the Subject and the relation with Principals
  • Introduce the JAAS Authorization architecture
  • Understand how Java security is enhanced to support principal-based authorization

Lesson: Applying JAAS Authentication and Authorization

  • Understand how to configure a JAAS configuration file
  • List the standard LoginModule implementations
  • Understand the different between the different requirement flags set on a login module declaration
  • Understand how to initiate the login process
  • Understand the Callback and CallbackHandlers
  • Be able to implement a CallbackHandler
  • How to configure principal-based Authorization
  • Understand different ways of associating a Subject with an AccessControllContext
  • Understand the difference between doAs and doAsPrivileged

Lesson: Developing a custom Login Module

  • Understand the steps to develop a custom login module
  • Understand in more detail the login sequence of JAAS
  • Understand the semantics and proper implementation of the LoginModule methods

Session 3: Java Object and Class management
Lesson: Class loaders

  • Understand the responsibilities of a Java class loader
  • Understand class loader hierarchy
  • Understand the class loading sequence
  • Understand the related security
  • Understand how to use class loaders in your design/architecture
  • Understand how to re-load classes into the JVM
  • Write your own class loader
  • Understand how to write a class loader in a security enabled environment (SecurityManager)

Lesson: End of Object lifetime

  • Understand the garbage collector's responsibilities
  • List the kinds of object references available in Java
  • Understand the Weak, Soft and other references.
  • Implement a caching collection using weak references

Session 4: The Regular Expression API
Lesson: The Regular Expression API

  • Introduce the Java Regular expression API
  • Explain the use of Pattern objects
  • Explain the use of Matcher objects
  • Give an overview of Regular expressions

Session 5: Overview of Reflection
Lesson: Reflection

  • Explain the advantages and disadvantages of Reflection
  • Dynamically load classes
  • Become familiar with the Class class
  • Use Reflection to discover properties of a class
  • Dynamically invoke methods of a class
  • Dynamically set and get values of fields
  • Become familiar with the Method and Field classes
  • Understand the Modifier class
  • Explain the different between Integer.class and Integer.TYPE
  • Use the java.beans.Introspector and java.beans.BeanInfo classes

Session 6: JNI
Lesson: Java Native Invocation (JNI)

  • Understand the JNI architecture
  • Understand the capabilities of JNI
  • Interface to a C function from Java
  • Exchange data from a JVM to a C function

Session 7: Advanced Threading
Lesson: Java SE Concurrency API

  • Understand the Lock API
  • Use Condition objects
  • Understand and use Semaphores
  • Understand and use the CountDownLatch
  • Understand and use the CyclicBarrier
  • Appreciate the Exchanger
  • Appreciate the Executor framework
  • Start and manage tasks
  • Understand how to schedule task execution
  • Work with the Callable interface
  • Appreciate Future
  • Use and configure thread pools

Session 8: NIO
Lesson: NIO packages

  • Introduce the Java NIO API
  • Explain the use of Buffers
  • Explain the use of Channels
  • Write a file using the FileChannel
  • Provide an overview of SocketChannels

Appendix 1: Developing JMX MBeans
Lesson: Brief overview of JMX

  • Explain the JMX three level architecture
  • Understand the role and relationships for each level
  • Get an understanding of MBeans and the different ways of implementing them
  • Understand the relation between an MBean Server and its MBeans
  • Discuss different MBean deployment scenarios
  • Understand the concept of an MLET
  • Introduce JBoss sar files
  • Understand the JBoss -service.xml file

Lesson: Developing standard MBeans

  • Understand the three different ways of developing standard MBeans
  • Understand what aspects of a standard MBean are considered static, and which are dynamic
  • Understand the registration process of an MBean on a local MBean Server
  • Discuss the limitations of local MBean Server registration
  • See a real-life application of JMX to monitor a web application
  • Develop a real-life application of JMX to manage document caching in a J2EE environment

Lesson: Developing Dynamic MBeans

  • Understand the rational behind Dynamic MBeans
  • Understand the need to a metamodel
  • Explain how a Dynamic MBean exposes its behavior
  • Correctly handle attribute support implementation
  • Correctly handle constructor and operation support implementation
  • Describe how MBeans can acts as event sources
  • Understand how to support notifications
  • Introduce proper exception handling for Dynamic MBeans

Lesson: JMX Remoting (client side)

  • Discuss the two different mechanisms for clients to work with a server
  • Contrast Adapters and Connectors
  • Understand what JSR160 (JMX Remoting) adds to the JMX arena
  • Understand the different mechanism of connecting with a JMX MBeanServer using JMX Remoting
  • Understand client configuration to connect with a remote server
  • Understand the two ways of connecting a client with the server using connectors
  • Understand the way URLs are described.
  • Understand the relation between JMX and technologies such as LDAP, Jini and SLP
  • Describe the role of JMXMP
  • Understand what a JMX client can do, when connected
  • Briefly describe the query mechanism
  • Understand how a client can operate with the MBeans on the server
  • Discuss class loading and registration of MBeans
  • Understand how to listen to notification

Appendix 2: Java Encryption (JCA and JCE)
Lesson: Overview of Encryption

  • Set the context for encryption and related security technologies
  • Understand the different technologies
  • Introduce the different algorithms used in encryption technologies
  • Understand symmetric encryption and what to use it for
  • Understand asymmetric encryption and what it used for
  • Understand the role and concept of Message Digests
  • Understand the role and concept of Digital signatures
  • Understand the role and concept of Message Authentication Code (MAC)
  • Understand the role and concept of Certificates
  • Understand the role and concept of key agreement technologies
  • Introduce PKI architectures

Lesson: Introduction to Java's Cryptography APIs (JCA/JCE)

  • Introduce basics of implementing cryptographic functionality in Java (focus on keys and ciphers)
  • Understand on a high-level the security architecture in J2SE
  • See a few examples of how to achieve concepts explained in the previous lesson
  • Generate a symmetric key
  • Generate asymmetric (private/public) key pairs
  • Configure key generation
  • Understand encryption modes (such as CBC, ECB, CFB, OFB and PCBC)
  • Understand padding modes (such as ISO10126Padding, OAEP, PKCS 1 and 5 Padding)
  • Configure ciphers
  • Perform encryption/decryption using different strategies
  • Understand how to encrypt/decrypt files
  • Understand how to digest a message
  • Understand how to produce a MAC
  • Understand how to sign and verify digital signatures

Eğitmen Kadrosu

  • Ahmet Demirelli (Sabancı Üniversitesi Öğretim Üyesi)
  • Altuğ Tanaltay (Sabancı Üniversitesi Öğretim Üyesi)
  • Gülşen Demiröz (Sabancı Üniversitesi Öğretim Üyesi)

Bir eğitime kayıt yaptırmak için aşağıdaki işlemler sıra ile tamamlanmalıdır;

Kayıt işlemleri öncesinde 0212 283 24 02 nolu hat üzerinden ya da sağ alt köşede bulunan "BAŞVURU" butonunu kullanarak program danışmanınızdan eğitim hakkında bilgi almanızı tavsiye ederiz. İlgili adımların tamamlanmasını takiben, program danışmanı size e-posta, telefon ve/veya kısa mesaj yolu ile kaydınızın tamamladığı bilgisini ulaştıracaktır.

  •  Eğitime ait kayıt formu doldurulmalı. (Kayıt formunun linki sol alt köşede bulunmaktadır.)
  •  Eğitim ücreti peşin ödenecek ise aşağıdaki hesaplardan birine ödenmeli ya da eğitim ücreti kredi kartı (peşin ya da taksitli işlem) ile ödenecek ise Mail Order formu doldurulmalı. (Mail Order formunun linki sol alt köşede bulunmaktadır.)
  •  İlgili eğitimin katılım şartları sayfasında (belirtilmiş ise) bu şartlar yerine getirilmeli.
  •  Bu işlemlerin tamamlanmasını takiben tüm formlar 0212 283 24 09 nolu faks hattına yada ik(at)istanbulinstitute.com adresine gönderilmelidir.

Kayıt işlemleriniz tamamlanmıştır.

Garanti Bankası - Istanbul Institute

Alıcı İsmi : Yeditepe İstanbul Yönetim Danışmanlık, Eğitim, Bilişim Ltd. Şti.

Garanti Bankası - Nispetiye Şubesi
Iban No:
TR41 0006 2000 7350 0006 2994 65

İş Bankası - Istanbul Institute

Alıcı İsmi : Yeditepe İstanbul Yönetim Danışmanlık, Eğitim, Bilişim Ltd. Şti.

İş Bankası - Levent Çarşı Şubesi
Iban No:
TR28 0006 4000 0011 0351 1757 83
Kayıt Formu
Eğitim Kayıt Formu
Mail Order Formu
Mail Order Formu
Tüm Yorumlar (0) | Yorumların tamamını görüntülemek için tıklayın.

Eğitim Yeri : Beşiktaş / İstanbul

 

© Copyright 2010-2017 Her Hakkı Saklıdır.
Eğitim Hakkında