Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

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

Benzer bir sunumlar


... konulu sunumlar: "Ayhan Alkan SUN PS İstanbul Akademik Java. Ajanda ● Java Platform Tanıtımı ● Bilimsel / Akademik Kullanım Örnekleri."— Sunum transkripti:

1 Ayhan Alkan SUN PS İstanbul Akademik Java

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

3 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

4 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

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

6 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

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

8 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

9 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

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

11 J2SE İçeriği – Mimari

12 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...)

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

14 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

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

16 “Developer Connection” ● Java programcılarının sitesi http://developer.java.sun.com ● 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

17 “Blueprints” ● Deneyimlerin paylaşıldığı site http://java.sun.com/blueprints ● Teknoloji tanıtımlalrı ● Rehber dökümanlar ● Tam uygulama örnekleri ● Tasarım örüntüleri (design patterns) ● SSS (FAQ)

18 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

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

20 Bedava IDE'ler ● Forte for Java Community Edition http://www.sun.com/forte/ffj ● Net Beans http://www.netbeans.org ● Eclipse http://www.eclipse.org ● Jedit http://www.jedit.org

21 Araç Kutunuzda Bulunsun ● Ant make benzeri, XML bazlı, platform bağımsız http://jakarta.apache.org/ant ● Junit Test sistemi - http://www.junit.org ● IzPack Kurulum Sihirmazı - http://www.izforge.com

22 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

23 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ı http://www.jcp.org/

24 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

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

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

27 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

28 JVM İçin Yazılmış Diller http://grunge.cs.tu-berlin.de/~tolk/vmlanguages.html TCL LISP SCHEME Prolog WebL BASIC LOGO CLIPS COBOL Ada JudoScrpt BeanShell JavaScript Python Forth

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

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

31 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

32 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.

33 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

34 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

35 Dergiler ● JavaWorld http://www.javaworld.com ● Dot-Com Builder http://dcb.sun.com ● JavaPro http://www.fawcette.com/javapro ● Java Developer Journal http://www.sys-con.com/java

36 Geliştiricelere Özel ● Developerworks http://www.ibm.com/developer/java ● JGuru http://www.jguru.com ● OnJava http://www.onjava.com ● Developer Code Camps http://www.sun.com/developers/edu/camps/java

37 J2ME Kaynakları ● Resmi J2ME sitesi http://wireless.java.sun.com/ ● MicroJava Network http://microjava.com/ ● Kablosuz teknoloji haberleri http://wirelessnewsfactor.com/ ● anywhereyougo.com http://www.anywhereyougo.com/

38 Açık Kod, Shareware ● Jakarta http://jakarta.apache.org ● Source Forge http://sourceforge.net ● Alphaworks http://www.alphaworks.ibm.com ● JARS http://www.jars.com

39 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

40 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ı Http://tilde-hoschek.home.cern.ch/~hoschek/colt

41 BioJava ● Gen dizileri (sequence) işleme ● Standart veri dosyaları çözümleme ● CORBA ● DAS desteği ● AceDB ● Dinamik programlama http://www.biojava.org

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

43 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

44 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 http://www.foreks.com

45 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ı http://www.cs.columbia.edu/~sal/JAM/PROJECT

46 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 http://mars-sim.sourceforge.net/

47 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

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

49 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ı http://jakarta.apache.org/bcel

50 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 http://jakarta.apache.org/poi

51 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 http://www.eclipse.org/aspectj

52 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ı http://www.cs.waikato.ac.nz/~ml

53 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 http://protege.semanticweb.org/

54 IsaViz: A Visual Authoring Tool for RDF http://www.w3.org/2001/11/IsaViz/ Jena Semantic Web Toolkit http://www.hpl.hp.com/semweb/jena.htm

55 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

56 ETB (Engineer's Toolbox) ● Web bazlı servis modeli ● Rijid cisimler mekanigi ● Aşınma ve kırılma mekaniği ● Dinamik ● Sayısal Analiz http://www.engineerstoolbox.com/modules.html

57 Ayhan Alkan ayhan.alkan@sun.com http://www.sun.com.tr http://www.ayhanalkan.com


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

Benzer bir sunumlar


Google Reklamları