Ayhan Alkan SUN PS İstanbul Akademik Java. Ajanda ● Java Platform Tanıtımı ● Bilimsel / Akademik Kullanım Örnekleri.

Slides:



Advertisements
Benzer bir sunumlar
Java Hakkında Java Nedir? Java’nın Tarihi Java’nın Avantajları
Advertisements

NESNEYE YÖNELİK PROGRAMLAMA Temel Kavramlar
.NET FRAMEWORK -MASAÜSTÜ VE SUNUCU YAZILIMLARI
Yazılım Geliştirme ve Java
WEB TASARIM Temel Kavramlar.
Bilgisayar Programlama I
Java-Veri Tipleri- Operatorler
IIS 6.0. Giriş  Geçtiğimiz yıllarda, Microsoft güvenlik açıkları nedeniyle IIS 4/5 üstünden bir çok saldırıya uğradı.  Bu sebepten Microsoft’un geliştirdiği.
Silverlight Daron Yöndem INETA Türkiye Başkanı
WEB SERVİCE İDRİS YÜRÜK MAHMUT KAYA.
WSDL -SOAP Murat tezgider
.NET FRAMEWORK.
WEB Tasarımı & .NET Bolum 1
Nedir? Türkiye PHP Grubu – Dokuz Eylül Üniversitesi
Web Programlama Kursu Bu kurs ne değildir? Neyi amaç edinmiştir?
04/02/10 Django Web Uygulamaları Geliştirmede Çağdaş bir Yaklaşım.
© 2011 Adobe Systems Incorporated. Cep Telefonu Değeri Belirlemek için Mobil Uygulama Sabri Dündar / Volkan Altuntaş Celal Bayar Üniversitesi.
INTERNET TABANLI HASTA KAYDI PAYLAŞIMI VE TELEKONSÜLTASYON PLATFORMU
ÖMÜR BİLGİLİ
Bilgisayar Yapısı-Genel
Yazılım Mühendisliği Bölüm - 6 Gerçekleştirim
BTEP 203 – İnternet ProgramcIlIğI - I
FRAMEWORK.
Burcu Musaoğlu Data Sistem A.Ş..
Bölüm 1: Introductions (Tanıtım,Tanım)
Çevre ve Orman Bakanlığı Bilgi İşlem Dairesi Başkanlığı
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Metadata ve Kütüphanelerde Kullanılması
Temel HTML Eğitimi Erman Yükseltürk.
IT 504 İnternet ve Web Programlama Tanıtım Yrd. Doç. Yuriy Mishchenko.
İSİM UZAYLARI (NAMESPACE).
Intelligent Network and Mobile Agents Agent kavramı 90’ların başında çıkmıştır. Agent kelimesinin kesin bir tanımı bulunmamaktadır. Bazı yerlerde uygulama.
Grid Hesaplaması Özgür Erbaş GRID Kullanıcı Eğitimi Boğaziçi Üniversitesi 2007, İstanbul.
.NET Teknolojileri .NET mimarisi VB.NET, C.NET, C#.NET
Görsel Programlama Dr. Muhammet Balcılar
ODTÜ Bilgisayar Mühendisliği
EDUCOMMONS Yazılımı. The Center for Open Sustainable Learning.
Açık Ders Malzemelerinde (ADM) Teknik Alt Yapı R. Orçun Madran
© Haluk Bingöl v2.23 Java Programlama Dili - 01 Tek Class ile Programlama Dr. Haluk Bingöl BÜ - CmpE BU-SWE.
BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1
YAZILIM TABANLI RADYO UYGULAMALARI
GİRİŞ Yard.Doç.Dr. Cihad Demirli Sunu içeriği kaynağı: ALGAN, S. (2010). Her Yönüyle C# 4.0. (12.Baskı). Pusula Yay. İstanbul.
Quest Atlantis Dünya Üzerine Yayılmış Çok-Kullanıcılı Çevrim-İçi Eğitsel Bir Bilgisayar Oyununun Teknik Yapısı.
XML ve XML Teknolojileri
1 Öğr. B.Aliyeva Öğr. B.Aliyeva Bilgisayar Yazılımı.
Erman Yukselturk1 PHP NEDİR? Scripting / Progralama dilidir (C’ye benzer) C ++ ortamında geliştirilmiştir Bedava / Açık Kod Hızlı, açık, dengeli (stable),
ALİ FINDIK Galatasaray Ünİversİtesİ 2015
İKMAP İnternet 1 Ders Notu
HAZIRLAYAN:SEMİH KÜRTÜNCÜ
Bilgi Teknolojisinin Temel Kavramları
Microsoft Windows Server 2003 © Yenilikler ERCAN SAPMAZ.
Kritik Finansal Sistemlerde Yazılım Değişiklik ve Takip Yönetim Sistemi Mehmet Vacit BAYDARMAN BİLGİ TEKNOLOJİLERİ.
Mobil Uygulama Geliştirme
Modül 1: Giriş. Genel Bakış Temel.NET kavramları Geliştirme ortamında gezinti Bir C# projesi oluştur Use Visual Studio.NET Veriye eriş Hata ayıkla ve.
İnsan Kaynakları Bilgi Sistemleri
Mobil Uygulama Geliştirme Teknikleri
1 BBY 464 Semantik Bilgi Yönetimi Güven KÖSE (Kurucu Ortak, Genel Müdür) Mantis Yaz. Dan. Ltd. Şti.
Bölüm 4 : VERİ MADENCİLİĞİ
Bilgi Güvenliği Denetim Sürecinde Özgür Yazılımlar Fatih Özavcı Bilgi Güvenliği Danışmanı
NetOpenX-REST Burak Çelik Uyarlama Araçları Uzmanı.
Prof. Dr. Ali Yazıcı TOBB Ekonomi ve Teknoloji Üniversitesi
Ontoloji Tabanlı Bir Kitap Sorgulama Sistemi Gerçekleştirimi
Amazon Web Servisleri ve Javascript Dilinin Birlikte Kullanımı
J-guar Uyarlama Aracı Arif BATTAL Uyarlama Araçları Danışmanı.
Bilgisayar Mühendisliğine Giriş
Bu sununun aynısını (Animasyonlar vb
Dünya Üzerine Yayılmış Çok-Kullanıcılı Çevrim-İçi Eğitsel
Genel PHP Akademik Bilişim 2003 Adana, Şubat 2003 Hidayet Doğan
BLP 4210 PLATFORM BAĞIMSIZ PROGRAMLAMA
.NET Teknolojileri .NET mimarisi VB.NET, C.NET, C#.NET
Sunum transkripti:

Ayhan Alkan SUN PS İstanbul Akademik Java

Ajanda ● Java Platform Tanıtımı ● Bilimsel / Akademik Kullanım Örnekleri

Ajanda ● C/C++'dan Java'ya ● Java Platformu ● Nasıl Temin Edilir? Nereden Öğrenilir? ● Geliştirme Araçları ● Java Topluluğu, Standartlar ve Açık Kod Hareketi ● Diger Platformlarla Etkileşim / Eşgüdüm ● Performans Meselesi ● Web'den Ulaşılailir Kaynaklar ● Matematik, Fizik, Biyoloji, Biyoenformatik, Kimya ● Ekonomi, Finans, Sosyoloji ● Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web ● Mühendislik Uygulamaları PlatformÖrnekler

C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler

"Herşey olabildiğince basit olmalı, daha basit değl." Albert Einstein

Java Dili “The Java programming language is a general-purpose, concurrent, class- based, object-oriented language” “Java programlama dili, genel amaçlı, koşutzamanlı, sınıf temelli, nesne yönelimli bir dildir.” The Java Language Specification James Gosling, Bill Joy, Guy Steele, Gilad Bracha

C++'dan Farkları ● 'Pointer' yok ● Çoklu kalıtsallık (multiple inheritance) yok ● Nesne öğesi olmayan değişken tanımlanamaz

Diğer Özellikleri ● Tam nesne yönelimli (Object Oriented) ● Prosedürel ● Değişken tipine duyarlı ● Dahili bellek yöneticisi ● Çok yollu (multithread) programlama ● Hiyerarşik hata denetimi

C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler

Sürümler Bilimsel / Akademik çalışmalar için en uygun sürüm: J2SE

J2SE İçeriği – Mimari

Mikro Aygıtlara Java Yaklaşımı – J2ME J2ME Profili J2ME Kütüphaneleri Java Sanal Makinası J2ME Konfigürasyonu “Asgari müşterekler”i tanımlayan standartlar ve işletim ortamı Üst seviyede işlevsellik tanımları (grafik arayüz, kayıt işleme...)

J2ME Teknolojileri J2ME CDCJavaCard APIJ2ME CLDC CVM JavaCardVM KVM Open Platform Profile GSM Profile PDA Profile MIDP Personel Profile J 2 M EJavaCard

C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler

İlk Adres ● Resmi Java sitesi : Neler var : ● Linux, Solaris, Windows için JDK ve JVM sürümleri ● Eğitim materyalleri, program örnekleri ● Haberler ● Ek / opsiyonel paketler

“Developer Connection” ● Java programcılarının sitesi ● Katılım ücretsiz ● Forumlar ● JavaOne konfreans sunumları ● Erken sürümler, test/beta sürümleri ● Java'yı geliştiren mühendislerle 'chat' ● Ücretsiz e-kitaplar

“Blueprints” ● Deneyimlerin paylaşıldığı site ● Teknoloji tanıtımlalrı ● Rehber dökümanlar ● Tam uygulama örnekleri ● Tasarım örüntüleri (design patterns) ● SSS (FAQ)

C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler

Minimalist Programcı Bütün ihtiyacınız : JDK (J2SE) En sevdiğiniz metin editörü

Bedava IDE'ler ● Forte for Java Community Edition ● Net Beans ● Eclipse ● Jedit

Araç Kutunuzda Bulunsun ● Ant make benzeri, XML bazlı, platform bağımsız ● Junit Test sistemi - ● IzPack Kurulum Sihirmazı -

C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler

Java Community Process (JCP) ● Java teknolojilerinin (Java platformunun kendisi dahil) tartışıldığı, şekillendirildiği, herkese açık bir standart komitesi ● Standart önerilerini Java Specification Request (JSR) adı altında yapar ● 200'e yakın JSR tanımlandı

JSR Örnekleri ● 13 - Decimal Arithmetic Enhancement ● 49 - Web Based Industrial Monitoring Framework ● 69 - Java OLAP Interface (JOLAP) ● 73 - Data Mining API ● 83 - Multiarray package ● 87 - Java Agent Services

JSR Örnekleri ● 94 - Java Rule Engine API ● Units Specification ● 138 – Performance Metric Instrumentation ● Java 3D API 1.4

Kullanılan Programlama Diline Göre sourceforge.net Projeleri

C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler

JVM İçin Yazılmış Diller TCL LISP SCHEME Prolog WebL BASIC LOGO CLIPS COBOL Ada JudoScrpt BeanShell JavaScript Python Forth

Standart Protokoller ● SOAP / WebServices ● CORBA – IIOP ● XMLP ● ebXML ● HTTP

Java Native Interface (JNI) Java'dan C/C++'ya C/C++'dan Java'ya.dll veya.so'lar üzerinden iki yönlü erişim

C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler

Evet Bir Java programı iyi yazılmış bir C/C++ programından daha yavaş çalışır. Çünkü Java sanal makinası Bytecode'u yerel koda çevirmek için zaman harcar.

Performans Artırıcı Önlemler ● Yerel koda derleyen araçlar ● MİB yoğun işlemler için yerel kodda yazılmış kütüphanelere erişmek ● Programın çalışmasını analiz ederek tıkanıklık noktalarını bulmak ● Koşutzamanlı programlama ● Nesnelerin yeniden kullanımı ● Bellek yönetimini denetlemek

C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler

Dergiler ● JavaWorld ● Dot-Com Builder ● JavaPro ● Java Developer Journal

Geliştiricelere Özel ● Developerworks ● JGuru ● OnJava ● Developer Code Camps

J2ME Kaynakları ● Resmi J2ME sitesi ● MicroJava Network ● Kablosuz teknoloji haberleri ● anywhereyougo.com

Açık Kod, Shareware ● Jakarta ● Source Forge ● Alphaworks ● JARS

C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler

COLT ● Hızlı veri yapıları ve algoritmalar ● Lineer cebir, çok boyutlu matrisler, fonksiyonlar (Bessel, Airy), istatistik, polinomlar, Chebyshev serileri ● 2B, 3B görselleştirme araçları

BioJava ● Gen dizileri (sequence) işleme ● Standart veri dosyaları çözümleme ● CORBA ● DAS desteği ● AceDB ● Dinamik programlama

OmniGene ● Web Servisleri ile biyoinformatikte veri entegrasyonu çözümü ● Veri depolama : Ensembl, NCBI, Swissprot, Pubmed ● İletişim modeli : HTTP SOAP DAS Taşıyıcı Katman Veri katmanı Kodlama şeması

C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler

Foreks Mercury ● Gerçek zamanlı finansal veri akışından – evrensel veri tabanı eşleyici – bellekte hızlı erişilebilir veri yapıları – 'publish-subscribe' yöntemiyle istemcilere veri dağıtımı ● Web tasarımcıları için taglib ● Finansal grafikler

JAM (Java Agents for Meta- learning) ● Finansal bilgi ağlarında sahtecilik ve sızma yakalama ● Yerel sınıflayıcı 'ajan'ların yada modellerin iki yada daha fazlasının 'meta-öğrenme' ajanı oluşturması

Mars Simulation Project ● Gelecekteki Mars yerleşimleri simülasyonu ● Detaylı bir sanal dünyada 'multi- agent' toplum oluşumu ● XML konfigürasyon dosyalarıyla simülasyonun özelliklerini düzenleyebilme

C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler

"Real hackers can write assembly code in any language." Anonim

The Byte Code Engineering Library (BCEL) ● Java class dosyalarını analiz etmek, yaratmak, düzenlemek için araçlar ● Çalışma sırasında (run-time) class nesnelerini dinamik olarak üretebilir ● JVM (Java Sanal Makinesi) öğrenimi için çok yararlı

POI ● Microsoft OLE 2 Compound Document formatlı dosyaları işleyebilir ● Örneğin MS Excel, MS Word dosyalarına Java uygulamalarından erişilebilir ● Web uygulamaları ve 'Full text search' özellikleri planlanıyor

Aspectj ● Java için Bakış Açısı Yönelimli Programlama (AOP) genişletmesi ● Mevcut uygulamalarla entegre edilebilir ● Derleyici, hata ayıklayıcı, döküman üretici ● IDE bileşenleri

Weka ● Makina öğrenmesi algoritmaları : Sınıflama (C4.5, OneR, lineer regresyon...), kural araştırma, veri filtreleme ● Hazır kullanıcı arayüzü ile kolay veri madenciliği (data mining) uygulaması ● Görselleştirme araçları

Protégé 2000 ● Belli bir alana ait ontoloji tanımlama ● Alan uzmanlarına sunulacak arayüzü düzenleme ● Alan bilgisi girişi ve saklama ● Genişletilebilir mimari ● Bilgiye erişim ve görüntüleme için hazır kütüphaneler

IsaViz: A Visual Authoring Tool for RDF Jena Semantic Web Toolkit

C/C++'dan Java'ya Java Platformu Nasıl Temin Edilir? Nereden Öğrenilir? Geliştirme Araçları Java Topluluğu, Standartlar ve Açık Kod Hareketi Diger Platformlarla Etkileşim / Eşgüdüm Performans Meselesi Web'den Ulaşılailir Kaynaklar Matematik, Fizik, Biyoloji,Biyoenformatik, Kimya Ekonomi, Finans, Sosyoloji Bilgisayar Bilimleri, Yapay Zeka, Bilgi Temsili, Ontolojiler, Semantik Web Mühendislik Uygulamaları PlatformÖrnekler

ETB (Engineer's Toolbox) ● Web bazlı servis modeli ● Rijid cisimler mekanigi ● Aşınma ve kırılma mekaniği ● Dinamik ● Sayısal Analiz

Ayhan Alkan