KİM KORKAR JAVADAN EĞİTİM KATALOĞU

Benzer belgeler
KiM KORKAR AN. TEMEL JAVA KOLAYLASTIRILMIS KOD TAKİBİYLE 215 ÖRNEK. Alper AKALIN TÜRKİYE'NİN EN ÇOK SATAN JAVA KİTABI. Veritabanlarına Giriş

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

ENTERPRISE JAVA. Alper AKALIN

.com. Özcan Acar 2009 Kurumsal Java.com

İçindekiler. Okuma lisansı info acar, için verilmiştir. Çoğaltılması ve dağıtılması yasaktır.

İlk Konsol Uygulamamız 2 İlk Windows Uygulamamız 9.Net Framework Yapısı 18 Neler Öğrendik 19. Veri Tipleri 24 Tanımlı Veri Tipleri 27 Basit Tipler 28

1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9

Rahman USTA Editör Altuğ B. ALTINTAŞ Papatya Yayıncılık Eğitim

.com. Kurumsal Java. Özcan Acar com

Spring Ekosisteminde Kurumsal Yazılım Geliştirme. Kenan Sevindik Harezmi Bilişim Çözümleri A.Ş.

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü BİL 203 Veri Yapıları ve Algoritmalar I

Nesne Oluşturma Sırasının Tanımlanması Otomatik Veri Tipi Dönüşümü Tekil Nesneler ve Bean Scope Scope Bazlı Nesnelerin Enjeksiyonu Tanımlanabilir

Spring Framework Eğitimi

HB2001: JAVA PROGRAMLAMA (32 saat)

MVP, Observer ve Mediator Örüntüleri ile Yeniden Kullanılabilir Uygulama Bileşenleri Geliştirme

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Java EE 5 Teknolojileri Jboss Seam

İÇİNDEKİLER VII İÇİNDEKİLER

Selsoft Eğitim Kataloğu

1 FULL STACK DEVELOPMENT NEDIR? 1 Nasıl Full Stack Developer Olurum? 2

Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5

Spring Application Framework e Giriş

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

1 JAVASCRIPT NEDİR? 1

Spring Application Framework Harezmi Bilişim Çözümleri

Client Server Database

Yazılım Kodlama ve İ simlendirme Standartları v1.0

YZM311 YAZILIM YAPIMI BÖLÜM 4 TASARIM KALIPLARI. Yrd. Doç. Dr. Volkan TUNALI Mühendislik ve Doğa Bilimleri Fakültesi / Maltepe Üniversitesi

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI

ORM & Hibernate. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu

1 GİRİŞ 1 Bu Kitap Kime Hitap Eder? 2 Kitapta Nelerden Bahsedilmiştir? 3 Kitabı Takip Edebilmek için Nelere İhtiyaç Duyacaksınız?

Java Programlama Giriş

Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür.

MVP ve Mediator ile Loose Coupled, Modüler UI Geliştirme

LINQ (Temel Kavramlar)

Spring Security Framework Harezmi Bilişim Çözümleri

JBoss Seam Next Generation Integration Framework

«BM364» Veritabanı Uygulamaları

1 PROGRAMLAMAYA GİRİŞ

ÖZGÜR YAZILIMLAR İLE J2EE

Kitapta UML diyagramları kullanılarak, tasarım şablonları görsel olarak açıklanmıştır. İçerik aşağıdaki bölümlerden oluşmaktadır:

Java. Hakkımızda. Java Eğitimi

I Java Veri Yapıları 1

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular

PAKET TRANSFER SİSTEMİ

JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4

JBoss Seam. Melih Sakarya

1 REACT (REACTJS) GIRIŞ

BLM401 Mobil Cihazlar için ANDROID İşletim Sistemi. SQLite Veritabanı. BLM401 Dr.Refik SAMET

1 APACHE SERVER KURULUMU 1 Kurulum 1 Apache Ayarları (httpd.conf) 6 PHP Ayarlaları (php.ini) 7 PHP5.4 Yükseltme 8 phpmyadmin Yükseltme 10

Selsoft Academy Eğitim Kataloğu

İçindekiler JPA - Genel Konular...1 Genel Bilgiler...1 JPA Hakkında...1 Temel Kavramlar...3 Kurulum ve Yapılandırma...3 Yapılandırma Dosyası

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü:

Maliye Uzman Yardımcılığı Giriş Sınavı (Bilişim) 16 Mart 2014 A

Maliye Uzman Yardımcılığı Giriş Sınavı (Bilişim) 16 Mart 2014 B

PAKET TRANSFER SİSTEMİ

One ASP.NET. 5 bileşen barındırmaktadır. Web Forms Model View Controller (MVC) Web Pages Web API SignalR

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Ders 8 Konu Özeti ve Problemler

RoboGuice ve Android Annotations ile Verimli Android Uygulama Geliştirme Emrah Ayanoğlu, Onur Özcan, Alperen Eraslan. Inet-TR 12 9 Kasım 2012

Ç NDEK LER 1 PHP 6 1 PHP Nedir? 1 PHP nin Tarihi 2 PHP nin Avantajlar 4 PHP nin Dezavantajlar 4 PHP nin Çal flma Mant 6 PHP nin Çal flma Aral 8 PHP

Spring Framework Eğitimi

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1

ISCOM Kurumsal ISCOM KURUMSAL BİLİŞİM TEKNOLOJİLERİ EĞİTİM KATALOĞU

Kaynak Kod Güvenliği Bir Güvensiz API Örneği

Oracle Data Integrator 12c: ETL Integration Bootcamp and New Features

JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması

JAVA TEMEL JAVA EĞİTİMİ JavaSE

MALTEPE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ LİSANS PROGRAMI

Ç NDEK LER G R fi 1 Bafllamadan Önce 1 Kitab Kimler Okumal? 1 Kitap çerisindeki Örnekler 2 Örneklerin Kullan m 3 Çekinmeden Yaz n 7

Üst Düzey Programlama

4. Bölüm Programlamaya Giriş

Üst Düzey Programlama

Başlangıç 2. Generic İfadeler 3. Arayüzler (Interfaces) 5. LINQ ile Sık Kullanılan Arayüzler 7. Koleksiyon Sınıfları 14

Gönderilen uygulama incelendiğinde, belirtilen gerekliliklerin bir kısmının karşılandığı görülmüştür.

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

Swing ve JDBC ile Database Erişimi

Özcan Acar 2010 Kurumsal Java Akademisi.com

HB1002: ORACLE 10G VERĐTABANI PL/SQL ile PROGRAMLAMA (32 saat)

MOBIL UYGULAMA GELIŞTIRME

İÇİNDEKİLER VII İÇİNDEKİLER

Java da İşleçler, Ders #3 (4 Kasım 2009)

Android Ders Notları

Ruby. Prof.Dr.Timur Karaçay Başkent Üniversitesi

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

ANADOLU ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI DOKTORA YETERLİK SINAVI OCAK 2017

3 ANGULARJS UYGULAMA VE MODULE YAPISI 25 Dependency Injection 28 Routing 31 Scope Kavramı 33 Digest Loop, Model ve Scope İlişkisi 35

BİL-142 Bilgisayar Programlama II

FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH.

Programlama Dillerinde Kullanılan Veri Tipleri

ADO.NET Entity. Framework. Temel Kavramlar

1 LK ANDROID YAZILIMIMIZ VE ÖN HAZIRLIKLAR

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Transkript:

KİM KORKAR JAVADAN EĞİTİM KATALOĞU Alper AKALIN İletişim Tel: 0 212 318 0179 Fax: 0 212 275 7535 email: egitim@kimkorkarjavadan.com bilgi: http://kimkorkarjavadan.com/

İçindekiler 1. JAVA 8 ile NESNE YÖNELİMLİ PROGRAMLAMA... 1 1.1. Java ve Nesneye Yönelim... 1 1.2. Java Syntax Kuralları... 2 1.2.1. Eclipse IDE... 2 1.2.2. İlk Program... 2 1.2.3. Temel Veri Tipleri, Primitif Tipler... 2 1.2.4. Tip Dönüşümleri, Type Casting... 3 1.2.5. Java Operatörler... 3 1.2.6. Kod Blokları... 3 1.2.7. Kontrol Yapıları... 3 1.2.8. Klavyeden Basit I/O Giriş-Çıkış İşlemleri... 4 1.2.9. Algoritma... 4 1.2.10. Metotlar... 4 1.2.11. Diziler... 5 1.2.12. String İşlemler... 5 1.3. Java ile Nesne Yönelimli Programlama... 6 1.3.1. Java ile Nesne Yönelimli Programlamaya Giriş... 6 1.3.2. Inheritance - Kalıtım... 6 1.3.3. Polymorphism - Çok Biçimlilik... 7 1.3.4. Abstract Classes - Soyut Sınıflar... 7 1.3.5. Interface - Arabirimler... 7 1.3.6. Inner Class - İç Sınıflar... 7 1.4. Exceptions - İstisnalar - Hata Ayıklama... 7 1.5. Generics - Jenerik Sınıflar... 8 1.6. Collections - Kolleksiyonlar... 8 1.7. Java 8 ve Getirdikleri... 9 1.7.1. Java 8 Tarih Saat İşlemleri... 9 1.7.2. Java 8 Arayüzler... 9 1.7.3. Java 8 Lambda Expressions... 9 1.7.4. Java 8 Stream API... 9 1.8. Multithreading... 9 1.9. Dosya İşlemleri... 9 1.10. JDBC... 10 2. DESIGN PATTERNS ve EFFECTIVE JAVA... 11 iii

KİM KORKAR JAVADAN EĞİTİM KATALOĞU 2.1. Advanced Java ve OOP... 12 2.2. Yaratımsal Tasarım Şablonları... 12 2.3. Yapısal Tasarım Şablonları... 12 2.4. Davranışsal Tasarım Şablonları... 13 2.5. Mimarisel Tasarım Şablonları... 13 2.6. More Java Best Practises... 13 3. ANDROID 7 NOUGAT ile MOBİL PROGRAMLAMA... 15 3.1. Android Ortam Kurulumu... 15 3.2. Android "Hello World" Uygulaması... 16 3.3. Button, Layout, Activites, Activity Lifecycle, Java Classes... 16 3.3.1. Button Sayaç Uygulama Örneği... 16 3.4. Layout Details, Designer Studio Details, Listeners... 17 3.4.1. Hesap Makinası Uygulama Örneği... 17 3.5. Async Task, Permissions, Processing XML, ListView, Menus, Adapter, ArrayAdapters, RelativeLayout... 18 3.5.1. Download Mekanizması Örneği... 18 3.6. Third Party Library Kullanımı... 18 3.6.1. YouTube Implementation Örneği... 18 3.7. JSON, Rest,Search, Validation, RecyclerView, Data Download, Gesture Detector, SearchView... 19 3.7.1. Flickr Implementation Örneği... 19 3.8. Andorid ile Veri Tabanı Erişimi... 20 3.8.1. Arkadaş Listesi Oluşturma Örneği... 20 4. JAVA WEB SERVICES... 23 4.1. SOA Service Oriented Architecture... 24 4.2. XML Architecture... 24 4.3. XSD Architecture... 25 4.4. SOAP Architecture... 25 4.5. WSDL Architecture... 26 4.6. JAX-WS... 26 4.7. Web Services Design Best Practises... 27 4.8. Client Creation... 27 5. JAVA RESTFUL SERVICES... 29 5.1. Restful Elements... 30 5.2. HTTP Methods... 31 5.3. Advanced Rest Features... 31 iv

KİM KORKAR JAVADAN EĞİTİM KATALOĞU 5.4. Restful Service Design Best Practises... 32 5.5. Client Creation... 32 6. HIBERNATE & JPA... 33 6.1. Basics... 34 6.2. Hibernate... 34 6.3. JPA Java Persistence API... 35 6.4. Persistence Context... 35 6.5. Object Access... 36 6.6. Relations... 36 6.7. DAO Database Access Object... 37 7. SPRING FRAMEWORK... 39 7.1. Dependency Injection... 40 7.2. Spring Framework Basics... 41 7.3. Spring CORE... 41 7.4. Spring AOP... 42 7.5. Spring JDBC... 43 7.6. Spring ORM... 44 8. SPRING MVC ile JAVA WEB... 45 8.1. Applicability Real Web Project Basics... 46 8.2. JSP Java Server Pages... 47 8.3. MVC Pattern... 47 8.4. Bootstrap API... 47 8.5. Spring MVC... 48 v

1 JAVA 8 ile NESNE YÖNELİMLİ PROGRAMLAMA Eğitimin Amacı Nesne Yönelimli Programlama dillerinin öncülerinden ve Android Mobil Programlama platformunun temelini oluşturan JAVA bire bir çalışan kod örnekleriyle incelenmektedir. Bu eğitimde katılımcıların Nesne Yönelimli Programlama mantığına ve Java Programlama diline tam hakim olması hedeflenmektedir. Kimler Katılabilir Yazılım Dünyası ile ilgilenen ya da Kurumsal ve Mobil Yazılım Dünyasında yer edinmek isteyen herkes katılabilir. Bu eğitim katılımcıları Android ile Mobil Programlama, Bankacılık ve Telekominikasyon gibi büyük kurumsal projelerde çalışabilmek adına eşşiz bir başlangıç yapmış olacaklardır. Süre: 72 saat Eğitmen: Alper AKALIN Bilgi: http://kimkorkarjavadan.com/ 1.1. Java ve Nesneye Yönelim Modülerlik Bilgi Saklama Kodu Tekrar Kullanabilme 1

Java Syntax Kuralları Hata Ayıklama Kolaylığı 1.2. Java Syntax Kuralları Derleyici Yorumlayıcı Paket Kavramı Sınıf Kavramı Nesne Kavramı Metot Kavramı Main Metot Kavramı 1.2.1. Eclipse IDE JDK8 Kurulumu Java Ortamı Kurulumu Eclipse IDE Kurulum ve Kullanımı 1.2.2. İlk Program String İşlemler + Operatörü 1.2.3. Temel Veri Tipleri, Primitif Tipler Tam Sayılar Ondalıklı Sayılar Başlangıç Değerleri Casting, Tip Belirleme Karakter Literaller Değer Atama - Karakter Atama incelemesi Wrapper lar JavaSE7 ile Gelen Yenilikler 2

Tip Dönüşümleri, Type Casting 1.2.4. Tip Dönüşümleri, Type Casting Primitif Veri Tipleri ve Karakter Katar Dönüşümleri Primitif Sayısal Veri Tiplerinin String Veri Tipine Dönüştürülmesi 1.2.5. Java Operatörler Aritmetik Operatörler Aritmetik Artırma - Eksiltme Operatörleri Aritmetik Atama Operatörleri İlişkisel - Karşılaştırma Operatörleri İlişkisel Operatörleri if Deyimi Üzerinden İnceleme Mantıksal Operatörler Bitwise Operatörler Operatör Öncelikleri 1.2.6. Kod Blokları Kod blok yapılarının incelenmesi 1.2.7. Kontrol Yapıları Karşılaştırma İfadeleri if Deyimi Birden Fazla Önermeyi Bir if Cümleciğinde Birleştirme if-else deyimi, Çift Seçimli Yapı else-if deyimi if-then-else Switch-Case Yapısı - Çok Seçimli Yapı String İfadeler ve Switch Döngü İfadeleri - Tekrarlı Yapılar While Döngüsü 3

Klavyeden Basit I/O Giriş-Çıkış İşlemleri do-while döngüsü For Döngüsü Dallanma İfadeleri Break Deyimi Continue Deyimi Return Deyimi 1.2.8. Klavyeden Basit I/O Giriş-Çıkış İşlemleri Paket Kavramı Import Kavramı Joker Kavram.* Scanner Kavramı Bazı Scanner Yöntemleri Bilgi Giriş-Çıkışı 1.2.9. Algoritma Algoritma Hazırlamanın Faydaları Algoritma İfade Şekilleri Uygulamalar Sayaç Mantığı Math Sınıfı Rastgele Sayı Üretimi 1.2.10. Metotlar Metotlar Parametresiz Metotlar Parametreli Metodlar Metotların Oluşturulması 4

Diziler Signatur Metotların Çağırılması Dönüş Değeri Olmayan Metotların Çağırılması Yapılandırıcı Metodlar - Constructors Method Overloading - Metot Aşırı Yükleme Değişkenlerin Faaliyet Alanları 1.2.11. Diziler Referans Tipler Dizi Oluşturma Dizi Boyutunun Değiştirilmesi Dizi Boyutunun Belirlenmesi Dizi Elemanlarına Değer Atama Geliştirilmiş For Döngüsü Dizilerin Metotlara Argüman Olarak Atanması Parametre Sayısı Değişken Metotlar İki Boyutlu Diziler - Matrisler İki Boyutlu Diziler Çok Boyutlu Diziler Dizilerin Kopyalanması Array Sınıfı ArrayList Sınıfı ve Dinamik Dizi Tanımlama 1.2.12. String İşlemler Stringlerin Oluşturulması String Metodlar String lerin Karşılaştırılması 5

Java ile Nesne Yönelimli Programlama 1.3. Java ile Nesne Yönelimli Programlama 1.3.1. Java ile Nesne Yönelimli Programlamaya Giriş İlk Sınıf New Operatörü Nokta Operatörü Çöp Toplama - Garbage Collection Yapılandırıcılar - Constructors Erişim Belirleyiciler Public (Açık) Private (Özel) Protected (Korumalı) Encapsulation Kapsülleme Default-Friendly Static Alanlar This Kelimesi Final Alanlar Metodlara Argüman Olarak Nesne Gönderme Pass By Reference 1.3.2. Inheritance - Kalıtım Kalıtımın Kontrolü Kalıtımın Faydaları Metot Overriding Object Sınıfı tostring Metodu super() Deyimi Kompozisyon 6

Polymorphism - Çok Biçimlilik 1.3.3. Polymorphism - Çok Biçimlilik Çok Biçimlilik Geç Bağlama - Late Binding instanceof Metodu Genişletilebilme - Extensibility 1.3.4. Abstract Classes - Soyut Sınıflar Soyut Sınıf Kısıtları Final Sınıf ve Metodlar İçin Uyarı 1.3.5. Interface - Arabirimler Arabirimlerde Çok Biçimlilikten Faydalanma 1.3.6. Inner Class - İç Sınıflar Dahili Üye Sınıflar Dahili Üye Sınıflarda Erişim İç İçe Dahili Üye Sınıflar Dahili Üye Sınıflar ve Türeme-Türetilme Durumları Static Dahili Sınıflar Dahili Yerel Sınıflar Anonim Dahili Sınıflar 1.4. Exceptions - İstisnalar - Hata Ayıklama Try - Catch Blokları JavaSE7 ve Try Catch Blokları İstisna Sınıfları Kontrollü İstisnalar Kontrolsüz İstisnalar 7

Generics - Jenerik Sınıflar İstisna Tanımlama İstisna Sınıflarında Ortak Kullanılan Metotlar Finally Bloğu JavaSE7 Kaynak Kapama 1.5. Generics - Jenerik Sınıflar Generic Sınıf Oluşturma Generics Jenerik Metodlar Generic Metot Oluşturma 1.6. Collections - Kolleksiyonlar List Arabirimi Set Arabirimi Map Arabirimi Set Arabirimi HashSet Sınıfı LinkedHashSet Sınıfı TreeSet Sınıfı List Arabirimi ArrayList Sınıfı LinkedList Sınıfı Vektör Sınıfı Stack Sınıfı Queue (kuyruk) Sınıfı Map Arabirimi SortedMap Arabirimi Map Arabiriminin Somut Sınıfları JavaSE7 Diamond Inference ve Generic Tipler 8

Java 8 ve Getirdikleri 1.7. Java 8 ve Getirdikleri 1.7.1. Java 8 Tarih Saat İşlemleri LocalDate Sınıfı LocalTime Sınıfı LocalDateTime Sınıfı Tarih Formatlama 1.7.2. Java 8 Arayüzler Default Metod Static Metod 1.7.3. Java 8 Lambda Expressions Functional Interfaces Lambda Expressions 1.7.4. Java 8 Stream API StreamAPI Özellikleri Koleksiyonlar ve Streamler Stream ların Doğası Intermediate ve Terminal Operasyonlar 1.8. Multithreading Thread Sınıfının Metodları Synchronization - Eş Zamanlama Monitör 1.9. Dosya İşlemleri Data Hiyerarşisi 9

JDBC Dosya - Stream (Akım) Java daki Dosya İşlemleri Sınıfları File Sınıfı File Sınıfı Yapılandırıcıları File Sınıfı Metotları Serialization - Serileştirme 1.10. JDBC Bağlantı Adresi Bağlantı Kurma SQL Tipleri ve Java Karşılıkları JDBC Sorgu - Query Statement-Demeç Prepared Statement Callabe Statement Result Set - Sonuç Kümesi Kaydırılabilir ResultSet Metadata - Üstveri ResultSetMetaData Transaction 10

2 DESIGN PATTERNS ve EFFECTIVE JAVA Eğitimin Amacı Design Patterns ve Effective Java Eğitiminde geliştirilen uygulamaların sahip olması gereken belirli best practise ler incelenmektedir. Eğitimin Hedefi, yazılımcıların belirli kurallara sahip kaliteli yazılım geliştirmeleri ve de yazılımda ortak bir dil oluşturmalarına yardımcı olmaktır. Yani belirli standartlara sahip yazılımlar geliştirmeleridir. Eğitimde işlenecek her konu/pattern Senaryo Çözüm Örnek şeklinde ilerleyen bir workshop mantığında ele alınmaktadır. Kimler Katılabilir Enterprise Java Projelerinde, Nesne Yönelimli Programlama felsefesini tam anlamıyla uygulamak isteyen ve ileri seviye Java Framework lerini daha iyi kavrayıp daha etkin kullanmak isteyen tüm yazılım geliştiricileri katılabilir/ katılmalıdır. Süre: 3 Gün 11

Advanced Java ve OOP Eğitmen: Alper AKALIN Bilgi: http://kimkorkarjavadan.com/ 2.1. Advanced Java ve OOP Encapsulation Polymorphism Prefer Interfaces to Abstract Classes Composition vs Inheritance Static Factory Method Static Block Reflection API Design patterns with Java 2.2. Yaratımsal Tasarım Şablonları Creational Design Patterns The Abstract Factory Pattern The Factory Method Pattern The Singleton Pattern The Builder Pattern The Prototype Pattern 2.3. Yapısal Tasarım Şablonları Structural Design Patterns The Adapter Pattern The Bridge Pattern The Facade Pattern The Decorator Pattern The Composite Pattern 12

Davranışsal Tasarım Şablonları The Proxy Pattern The FlyWeight Pattern 2.4. Davranışsal Tasarım Şablonları Behavioral Design Patterns The Command Pattern The Iterator Pattern The Memento Pattern The State Pattern The Observer Pattern The Strategy Pattern The Chain of Responsibility The Mediator Pattern The Visitor Pattern The Template Pattern 2.5. Mimarisel Tasarım Şablonları Dependency Incetion & Inversion Of Control Java ile Dependency Injection örneği JavaDI vs SpringDI Java ile AOP örneği JavaAOP vs SpringAOP DAO Şablonu MVC Şablonu 2.6. More Java Best Practises Çoklu parametre yerine Builder Pattern kullanımı Gereksiz nesne yaratmadan kaçınmanın önemi Autoboxing ve Unboxing 13

More Java Best Practises Erişilmeyen nesne referanslarını kaldırma Interface ile refere etmenin önemi Reflection vs Interface tostring metodunun önemi double vs bigdecimal Refactoring Extracting methods Extracting supertypes Replace Nested Conditional with Guard Clauses Replace Conditional with Polymorphism Exceptions 14

3 ANDROID 7 NOUGAT ile MOBİL PROGRAMLAMA Eğitimin Amacı Mobil platformlardan Android en güncel versiyonu Android 7-Nougat, Android Studio ile birlikte incelenmektedir. Katılımcıların Android Mobil İşletim Sistemine tam hakim olabilmeleri için gerekli tüm bileşenler, 7 tane çalışan Mobil Proje içerisinde katılımcılarla birlikte adım adım incelenmektedir. (BootCamp) Böylece Android üzerindeki hakimiyetin mümkün olduğunca hızlı sağlanması hedeflenmektedir. Kimler Katılabilir Temel düzeyde Java Programlama dilini bilen ve Mobil Yazılım Dünyasında yer edinmek isteyen herkes katılabilir. Android ile Mobil Programlama Eğitimi katılımcıları Bankacılık, Telekominikasyon, eticaret gibi büyük kurumsal firma projelerinde çalışma fırsatı yakalama adına eşşiz bir başlangıç yapmış olacaklardır. Süre: 80 saat Eğitmen: Alper AKALIN Bilgi: http://kimkorkarjavadan.com/ 3.1. Android Ortam Kurulumu Windows için Android Studio Kurulumu 15

Android "Hello World" Uygulaması Android Studio Konfigürasyonu VT-X Ayarları 3.2. Android "Hello World" Uygulaması Android Studio Templates İlk Uygulama Örneği Android Studio İncelemesi Android Virtual Device Kurulumu "Hello World" Uygulamasının Sanal Makinada Çalıştırılması "Hello World" Uygulamasının Android Üzerinde Çalıştırılması 3.3. Button, Layout, Activites, Activity Lifecycle, Java Classes 3.3.1. Button Sayaç Uygulama Örneği Designer Studio Görüntü Boyutlama Constraint Content Düzenleme Densities Autoconnect Baseline Constraint Scrolling Infer Constraints Layout Oluşturma IDs & XML code Activites Bundles and Classes Java Classes & Fields 16

Layout Details, Designer Studio Details, Listeners Click & onclicklistener TextView EditText Null Kontrolü IDs Kullanımı Save Instance State Activity Lifecycle Method Override Logging 3.4. Layout Details, Designer Studio Details, Listeners 3.4.1. Hesap Makinası Uygulama Örneği Calculator Layout Oluşturma Layouts Detaylı İnceleme Input Type & Focus Changes Landscape Layout Ekleme Comparing Code and Layouts Comparing Directories Flowchart & onclicklisteners Operation Button Listeners Implement Operations Decimal Point Bug Fix Bug Fix Challenge Add Neg Button Neg Button Functionality Portrait Layout 17

Async Task, Permissions, Processing XML, ListView, Menus, Adapter, ArrayAdapters, RelativeLayout 3.5. Async Task, Permissions, Processing XML, ListView, Menus, Adapter, ArrayAdapters, RelativeLayout 3.5.1. Download Mekanizması Örneği Async Task Custom Async Task doinbackground & downloadxml Exceptions & Buffered Reader Security Exception Stack Trace & The Logcat Android Permissions Processing XML Data XML Parsing Factory Classes Main XML Parsing Loop ListView & ArrayAdapters Array Adapter Adapter Layout Custom Adapter Menus Menu Item Groups 3.6. Third Party Library Kullanımı 3.6.1. YouTube Implementation Örneği YouTube API Setup İkincil Activity Ekleme Dinamik Layout Ekleme Google API Key Hatalı oninitialization oninitialization 18

JSON, Rest,Search, Validation, RecyclerView, Data Download, Gesture Detector, SearchView Standalone Activity Intents & Manifest 3.7. JSON, Rest,Search, Validation, RecyclerView, Data Download, Gesture Detector, SearchView 3.7.1. Flickr Implementation Örneği Flickr API JSON Api Validation Async Task Project Diagram Photo Class Code Flickr JSON Data Class Code Create URI JSON Parsing Call Back RecyclerView Search Photo Detail Activities Nesting Linear Layouts RecyclerView Adapter Picasso Gesture Detector Touch Events Touch Methods BaseActivity Serializable Material Design Backwards Compatibility 19

Andorid ile Veri Tabanı Erişimi Style Sheets Custom Style Sheet API Levels String Resources Search Menu Code SearchView SearchManager Search Messages 3.8. Andorid ile Veri Tabanı Erişimi 3.8.1. Arkadaş Listesi Oluşturma Örneği Database Terminology Command Line Windows Path SqLite Querying Order By, Joins Wild Cards Views SQL in Android Debugging SQL in Code Cursor Navigation Android File System Content Providers Contract Provider ContractsContract.Contracts ContentResolver Permissions API 20

4 JAVA WEB SERVICES Eğitimin Amacı Dijitalleşen dünyada neredeyse her elektronik aygıtın bir şekilde birbirine bağlandığı görülmektedir. Büyük ya da küçük farketmeksizin hemen hemen her uygulama bir şekilde diğer yani yabancı uygulamalarla konuşmaktadır. SOA ve Web Servisler, özellikle kurumsal taraftaki bu bağlantıların çok büyük bir kısımını yönetmektedirler. Bu nedenle yazılım dünyasında yer edinmek isteyen her developer web servis mimarisine hakim olmalıdır. Her şeyin xml in icadıyla başladığı düşünülürse xml ile başlayan ve wsdl ile biten bir serüven incelenmektedir. Java tarafında web servisler için üretilen Jax-Ws apiyi kullanarak eldeki veri modellerinin web servisler ile dış dünyaya açılması incelenmektedir. SOA nedir? Soap ile Soa aynı sistematiği mi tanımlar? SOA yönelimli geliştirmelerin kazanımları nelerdir? Web servis nedir? Web servisler, uygulamaların ürettikleri verileri diğer yani yabancı uygulamalar ile paylaştıkları metodolojidir. Bu paylaşım için yapılacak geliştirmeler web servis interface e yani wsdl a yönelik yapılmaktadır. Bu eğitimde bir web servis interface nasıl yaratılır ve yönetilir birlikte inceleyeceğiz. 23

SOA Service Oriented Architecture Web servis interface yaratılmasında kullanılan Contract First & Contract Last yaklaşımlarını derinlemesine irdelenecektir. Böylece bu eğitimde iyi tasarlanmış bir web servisin nasıl ortaya konulacağı incelenmektedir Kimler Katılabilir Enterprise denilen ileri seviye Java projesi geliştirmek isteyen ya da Web Servisler kullanan bir Enterprise Java projesine sonradan dahil olan her developer katılabilir. Büyük ya da küçük farketmeksizin hemen hemen her uygulama bir şekilde diğer yani yabancı uygulamalarla konuşmaktadır. SOA ve Web Servisler bu bağlantıların çok büyük bir kısımını yönetmektedirler. Bu nedenle yazılım dünyasında yer edinmek isteyen her geliştirici katılmalıdır. Süre: 3 Gün Eğitmen: Alper AKALIN Bilgi: http://kimkorkarjavadan.com/ 4.1. SOA Service Oriented Architecture SOA Service Oriented Architecture Benefits of SOA Web Services Web Services and SOA Soap Rest 4.2. XML Architecture Xml Name Conflicts Tag CData Attribute Child Element Empty Element 24

XSD Architecture Well Formed Valid Xsl Namespace Prefix 4.3. XSD Architecture Xml Schema Definition Element Definitions Schema Root Element Attribute Definitions Reference Element and Attribute References Type Definitions Maxoccurs Minoccurs Group Definitions Complex Element Definitions Simple & Complex Element 4.4. SOAP Architecture Soap Web Services Provider Consumer Interface Wsdl Request Response Xml Operations 25

WSDL Architecture 4.5. WSDL Architecture Definitions Types Interface Port Type Operations Port Binding Service Documentation Import 4.6. JAX-WS Java Web Services First Jax-Ws project Application Server Glassfish AS Definitions Service Binding Port Type Messages Types Document Type Crud Operations @WebService Xml Formating @WebMethod @WebResult 26

Web Services Design Best Practises Exception Handling Soap UI 4.7. Web Services Design Best Practises Web Service Interface Contract First Contract Last Interface Design Projects Service Endpoint Web Service Interface Java Interface vs Web Service Interface 4.8. Client Creation Wsimport Client creation Test 27

5 JAVA RESTFUL SERVICES Eğitimin Amacı Web teknolojilerinin yaygınlaşması ile birlikte bu teknolojiler birbirleri ile sürekli iletişim halindedirler. Kurumsal uygulamalarda kullanılan soap yani xml tabanlı iletişim yolları pahalı olduğundan daha az kaynak tüketen yollar geliştirilmiştir. Bu bağlamda web teknolojilerinde kullanılan http metodlar baz alınarak Restful Web Servisler geliştirilmiştir. Restful servisler, Soap servislere nazaran daha efektif üç özelliğe sahiptirler. Doküman tipi zorunluluğu yoktur. Yani istenilen herhangi bir formatta veri iletebilirler. Veri alış verişleri daha hızlıdır. Kaynak tüketimleri düşüktür. Günümüzde her bilginin web ortamına taşındığı düşünülürse web projelerinin ve bu projelerinin önemi artmaktadır. Buradaki yıldızlı nokta web uygulamalarının arasındaki iletişimin sağlıklı ve en az kaynak tüketecek şekilde kurgulanmış olması zorunluluğudur. Restful bir servisin tasarımı geliştirilmesinden daha zordur. Eğitim boyunca Resource ve servis tanımlarının nasıl tasarlanabileceği tek tek örnekler üzerinden incelenmektedir. 29

Restful Elements Response ve ResponseBuilder gibi yapılarla yerinde response oluşturmanın ve Response ta daha fazla bilgi taşımanın değişik yöntemleri örneklenmektedir. Statü kodları ile kullancı ya da client uygulamanın servis hakkınd daha fazla bilgi sahibi olmasını sağlanacak. Hata ayıklama mekanizmaları ile olası hata durumlarında kullanıcı ya da client uygulamanın hata hakkında max düzeyde bilgi sahibi olmaları sağlanmaktadır. Kimler Katılabilir Enterprise Java Web projesi geliştirmek isteyen ya da geliştirilmiş bir Enterprise Web Java projesine sonradan dahil olan her developer katılabilir. Özellikle Mobil Yazılım Geliştirme ile ilgilenen yazılımcılar bu eğitime katılmalıdırlar. Süre: 3 Gün Eğitmen: Alper AKALIN Bilgi: http://kimkorkarjavadan.com/ 5.1. Restful Elements Http Html Resources Resource Locations Http Methods Status Code Message Format Resource Tasarımı Jax-Rs Jax-Rs Annotations Response Response Document Type 30

HTTP Methods Json 5.2. HTTP Methods Get Post Put Delete Idempotency After Idempotency Get Delete Put Post 5.3. Advanced Rest Features Filtering Pagination @QueryParam Bean Filtering @BeanParam Sub Resources Status Codes Location Headers Response Response Builder Generic Entity Exceptions 31

Restful Service Design Best Practises Error Handling Exception Mapper Web Application Exception 5.4. Restful Service Design Best Practises Hateoas Richardson Maturity Model PoX Resources Http Verbs Hypermedia Controls 5.5. Client Creation Server Client Client & Server Architecture 32

6 HIBERNATE & JPA Eğitimin Amacı Veri tabanı işlemlerinin Object Relational Mapping konsepti altında incelendiği eğitimde, Object Relational Mapping nedir? Nesnelerin persist edilmesi için hangi durumlarda ORM araçları kullanılabilir ya da kullanılmamalıdır. Veri tabanı veya Uygulama seviyesinde işlem yapılması ne demektir? Bu seviyelerdeki işlemlerde kazanım ya da kayıplar nelerdir? ORM konseptinde Hibernate ile ilk çerçeve çizildikten sonra JPA ile ilerlenerek eğitimde oldukça farklı bilgiler paylaşılmaktadır. Bu bağlamda, Hibernate üzerindeki ileri seviye konular bambaşka bir bakış açısı ile ele alınmaktadır. Örneğin Hibernate içerisindeki en karmaşık konuların başında Lazy Loading yapısı gelmektedir. Bu yapının sadece @Lazy anotasyonundan ibaret olmadığını altında Java Proxy Objects ya da Object States gibi bir çok dinamiğin olduğunu katılımcılarla birlikte gözlemlenmektedir. Kimler Katılabilir Enterprise seviye Java projesi geliştirmek isteyen ya da ORM kullanan bir Enterprise Java projesine sonradan dahil olan her developer katılabilir. Hibernate in ülkemizde yaygın kullanımı göz önüne alındığında Hibernate konusunda ileri bilgiye sahip yazılım geliştiriciler avantajlı konuma sahip olacaklardır. 33

Basics Süre: 3 gün Eğitmen: Alper AKALIN Bilgi: http://kimkorkarjavadan.com/ 6.1. Basics Persistence Database Level Process Application Level Process Object Persistence Object Relational Pradigms ORM - Object Relational Mapping Why ORM Frameworks? ORM Frameworks POJOs 6.2. Hibernate Hibernate Architecture SessionFactory Entity Type Objects Simple Hibernate Project Hibernate Xml Mapping Xml Mapping Hibernate Annotation Mapping Transaction CRUD Operations Update SaveOrUpdate Merge methods 34

JPA Java Persistence API Getter Read 6.3. JPA Java Persistence API Java Persistence Api Hibernate & JPA JPA Architecture Persistence Context Entity Manager Simple JPA Project Annotation Mapping Basic Annotations Transaction CRUD Operations Merge method Secure Parameter Passing Named Queries 6.4. Persistence Context Persistence Context Session Entity Lifecycle Object States Transient State Managed Persistent State Detached State States of CRUD operations JPA more annotations 35

Object Access @Embeddable @Embedded Value Type Objects Filtering Collections 6.5. Object Access Hibernate Object Access Object Levels First Level Objects Second Level Objects Object Types Concrete Objects Proxy Objects Fetch Types Lazy Fetching Eager Fetching Lazy Loading Advanced Lazy Loading Review 6.6. Relations Object Relations Table Relations Embedded ElementCollection OneToOne Unidirectional 36

DAO Database Access Object Bidirectional OneToMany ManyToOne ManyToMany Cascade Types Inhertance Single Table Seperate Table 6.7. DAO Database Access Object DAO DAO Architecture Connection Pooling C3P0 Usage 37

7 SPRING FRAMEWORK Eğitimin Amacı Spring, yazılım geliştiricilerin belirli tasarımlar/standartlar altında yapması gereken geliştirmeleri hazır olarak sunmaktadır. Bu eğitimde Spring i oluşturan bileşenleri incelenerek Spring ile yapılacak geliştirmeler için temel oluşturulmaktadır. Dependency Injection Java ile klasik nesne yaratmak işlemleri Factory Tasarım şablonu, Inversion of Control Java ile Proxy Nesne Yaratma Java ile AOP gerçeklemeleri incelenerek Spring in temellerini oluşturan bileşenler ele alınmaktadır. Unutmamak gerekir ki Spring bir Java Framework üdür. Yani gücünü Java dan almaktadır. Bizler de gücümüzü bu framework altında yatan Java dan alırsak Spring hakimiyetimiz daha kalıcı ve kaliteli olacaktır. Bu nedenle, eğitime doğurdan Spring ile başlamak yerine Spring te çokca kullanılan bileşenleri inceleyerek başlamaktayız. Spring, nesne yaratma ve yönetme süreçlerini tamamen üstlendiğinden Spring Yaşam Döngüsü üzerinde fazlaca durulmaktadır. Spring Yaşam Döngüsünün incelenmesinde Dependency Injection içerisinde incelenen Java bileşen tanımlarından yararlanılmaktadır. Örneğin Sterotype lar için proxy nesnelerin ne olduğu, 39

Dependency Injection Bean initialization veya Bean destruction için Aop mantalitesinin bilinmesi vb. konuya hakimiyet açısından oldukça yararlı olacaktır. Aslında ne oluyor? ya da Bu teknolojinin altında ne yatıyor? sorusu sorulmadan hiç bir teknolojiye tam hakim olmak mümkün değildir. Spring Core, Spring AOP, Spring Jdbc veya Spring ORM hakkında bilgilendirme yapılırken bu yapıların altında yatan Java mekanizmalarına sık sık atıfta bulunulmaktadır. Kimler Katılabilir Enterprise seviye Java projesi geliştirmek isteyen ya da Spring kullanan bir Enterprise Java projesine sonradan dahil olan her yazılım geliştirici katılabilir. Spring Framework, JavaEE yapısına alternatif oluşturmaktadır. Bu nedenle Java dünyasındaki yeri diğer frameworklerin ötesindedir. Spring sadece bir frameworkten öte bir frameworkler platformudur. Bu platformda bir Enterprise Java projesinde gerekli olabilecek hemen hemen her bileşen bulunmaktadır. Bu nedenle Java dünyasında yer edinmek veya farklı bir yerde olmak isteyen her yazılım geliştirici katılmalıdır. Süre: 5 Gün Eğitmen: Alper AKALIN Bilgi: http://kimkorkarjavadan.com/ 7.1. Dependency Injection Dependency Dependency Injection Classic Injection Polymorphism Method Parameter Composition Factory Design Pattern 40

Spring Framework Basics Dependency Inversion Java Dynamic Proxy Proxy Pattern Aspect Oriented Programming AOP with Java Proxy 7.2. Spring Framework Basics What is Spring Framework Inversion of Control Spring & J2EE Spring Philosophy Spring Architecture Spring Modules Why use Spring 7.3. Spring CORE Setup Spring Bean Definitions Bean Factory Spring Containers Setter Injection Constuctor Injection Data Types Object Injection Spring Life Cycle Setter vs. Constructor Injection Collections Inner Beans Alias & Name 41

Spring AOP Autowiring Bean Scopes Inheritance Bean Initialization Bean Destruction BeanPostProcessor Spring Life Cycle Placeholder Interface Spring Annotations Stereotypes Message Source Event Handling JSR-330 Java Annotations Java Base Annotations 7.4. Spring AOP Aspect Oriented Programming Seperation of Concerns Code Scattering Code Tangling Croscutting Concerns AOP Terminology AOP Types Static Compile Time Weaving Dynamic Load Time Weaving AspectJ Spring AOP 42

Spring JDBC Spring AOP Limitations Advice Before Advice After Advice Pointcut JoinPoint Passing Parameters AfterReturning AfterThrowing Around Custom Advice Java Proxy Objects AOP with Java Proxy Spring AOP Life Cycle 7.5. Spring JDBC Spring Jdbc Spring Jdbc Template Row Mapper Crud Operations Named Parameter Dao Support Batch Transaction ACID Spring Transaction Basics Spring Exception Handling Spring Transaction 43

Spring ORM DAO 7.6. Spring ORM Spring ORM Hibernate JPA @PersistenceContext Application Managed EntityManager Container Managed EntityManager DAO Splitting applicationcontext to Multiple Files beans.xml datasource.xml applicationcontext.xml 44

8 SPRING MVC ile JAVA WEB Eğitimin Amacı Yazılım ve özellikle Java meraklılarından en çok aldığım sorulan başında hocam çalışan bir proje örneği verebilir misiniz gelmektedir. Bu eğitimde katılımcılarla hem bir online kitap mağazası yapılmakta hem de Java Web ve Spring MVC nin derinliklerine inilmektedir. İlk olarak geliştirilecek online kitap mağazasının tasarımı ve bileşenleri ele alınmaktadır. Böylece eğitimde ele alınan teknolojilerin gerçek hayattaki kullanım yerleri netleştirilmektedir. JSP ile Java Web dünyasına giriş yapılarak bir Java web projesinin yapısı ve ortamın kurulumu açıklığa kavuşturulmaktadır. MVC tasarım şablonu incelenerek Jsp/Java ile bu şablonun nasıl uygulanabileceği örneklenmektedir. Bu akış ile MVC tasarım şablonunu kullanan ya da hedefleyen framework veya api lerin aslında ne yaptığı ve nasıl çalıştıkları incelenmektedir Spring MVC ile bir Java web projesinin nasıl daha efektif geliştirilebileceği incelenmektedir. Web projelerinde kullanılabilecek Spring MVC bileşenleri incelenerek değişik senaryolar tartışılmaktadır. Bootstrap ile geliştirilen örnek projenin görselliği zenginleştirilerek kullanıcı dostu bir uygulama ortaya konulmaktadır. 45

Applicability Real Web Project Basics Bootstrap, Twitter tarafından geliştirilmiş açık kaynak kodlu bir Html5, Css, Js framework üdür. İşte o çok sorulan çalışan proje örneği bu eğitimde bu aşamalarla ince ince geliştirilerek örneklenmektedir. Kimler Katılabilir Spring MVC ile ileri seviye Java Web Projesi geliştirmek isteyen ya da Spring MVC kullanan bir Enterprise Java projesine sonradan dahil olan her developer katılabilir. Bu eğitimdeki incelenen teknolojilerin zenginliği göz önüne alındığında katılımcılara güncel hayatta büyük avantajlar sağlayacaktır. Süre: 5 Gün Eğitmen: Alper AKALIN Bilgi: http://kimkorkarjavadan.com/ 8.1. Applicability Real Web Project Basics Book Store Project Developing Domain Model Product Model Product List Using Bootstrap Table Components Creating Dynamic Page Product CRUD Functions Validation Session Security Registration Developing Shopping Chart Developing Admin Panel Developing Rest Api 46

JSP Java Server Pages 8.2. JSP Java Server Pages Setting up a Web Project Understanding the Servlet Servlet XML Configuration POST, Passing Parameters GET and POST Request, Session, Context Init, Service, ServletConfig Understanding the JSP Scopes PageContext Object JspInit and InitParams MVC Pattern First Look Writing an MVC Application Model Object RequestDispatcher JSTL, SetProperty Tag 8.3. MVC Pattern Mvc Pattern Model View Controller Model View Controller Why MVC 8.4. Bootstrap API Html5 CSS 47

Spring MVC JavaScript Responsive web sites Mobile first projects Templates Created by Twitter 8.5. Spring MVC DispatcherServlet Handler Mapping Controller, Model Spring Tool Suite Setting up Spring Mvc Writing Controlles View Resolvers Resource Url s Writing Form @RequestMapping @PathVariable Form Validation Playing Data ModelAndView @ModelAttribute Custom Validation @InitBinder Exception Handling Global Exception Handling Session Interceptors Internationalization 48

Spring MVC Spring Restful Services @ResponseBody 49