Kayıtlar

Java etiketine sahip yayınlar gösteriliyor

BACnet Nedir ve Java BACnet4J

Resim
Evet ilk tepki Iyyy isminde meymenet yok bunun dediniz... Sayfayı kapatmamanız için açılımını verelim o fena değil  "Building Automation Control" İşin aslına gelirsek söylencek çok şey var ama özetlemeye çalışacam. İşte karşınızda bina otomasyon kontrol ağlarının kralı diyebileceğimiz BacNet. Böyle daha iyi oldu :) Bu protokol otomasyon entegrasyonu ile beraber cihazlarımızın birbiriyle haberleşmesini sağlar. E şimdi IoT falan konuşuyoruz hiç de fena bir konu olmasa gerek bence. Siemens,Schneider Electric gibi birçok otomasyon firması bu protokolü kullanarak yayın yapan ve sahada buna göre çalışan endüstriyel cihazlar üretiyor.  List of automation protocols - Wikipedia   Vikipedia ya şu ansiklopedik bilgi de eklenmiş ; " İlk defa 1987 yılında ASHRAE (American Society of Heating, Refrigerating and Air-Conditioning Engineers) tarafından oluşturulmuş ve 1995 yılında standart olarak yayımlanmıştır." Bilgisayar Mühendisleri olarak bizler IP network altyapısıyla çalışmaya...

APACHE CASSANDRA - BAŞLANGIÇ 2 - Örnek Veritabanı Bağlantısı

Resim
           Cassandra ile başlangıcımızı yapalım. Download için http://cassandra.apache.org/download/ adresini kullanabilirsiniz. Cassandra 3 versiyonları için 1.8 kullanılırken 2 versiyonları için 1.7 kullanılır. Biz testimizde 2.2.6 versiyonunu kullanıyor olacağız.                        Download ettikten sonra unzip edip Cassandra yı başlatacağız. Bunun için bin klasörü altındaki cassandra.bat dosyasını çalıştırıyoruz. Sistem sorunsuz bir şekilde ayağa kalktıktan sonra aynı klasör altında cqlsh.bat dosyasını çalışıtırıp sql console una erişiyoruz. Bir önceki yazımızdaki örnekdatabase komutunu çalıştıralım.    CREATE KEYSPACE ornekdatabase WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1}; sonra  DESCRIBE keyspaces; komutuyla hali hazırdaki key spaceleri görebiliyoruz. Görüldüğü üzere bazı system keyspaceler...

CRAWLER4J ile Gittigidiyor Günün Fırsatları

Öncelikle projemizi indirebileceğiniz GitHub adresi; https://github.com/Gmotes/Crawler4jEasySearch Projemiz 2 sınıftan oluşuyor ve amacı Gittigidiyor sitesindeki günün fırsatı ürünlerini toparlamak. Controller ve Crawler sınıfları. Controller sınıfı ;         String crawlStorageFolder = "/crawler/testdata";         int numberOfCrawlers = 4;         CrawlConfig config = new CrawlConfig();         config.setCrawlStorageFolder(crawlStorageFolder);         config.setPolitenessDelay(1000);         PageFetcher pageFetcher = new PageFetcher(config);         RobotstxtConfig robotstxtConfig = new RobotstxtConfig();         RobotstxtServer robotstxtServer = new RobotstxtServer(robotstxtConfig, pageFetcher);         CrawlController controller = new CrawlController(config, pageFetcher, robotstxtServer);...

ELASTICSEARCH NEDİR ? JAVA İSTEMCİ İLE ELASTICSEARCH İŞLEMLERİ -2

ElasticSearch Java istemcisi için Maven kullanacağız. Pom.xml dosyamıza aşağıdaki eklentimizi yapıyoruz.              org.elasticsearch         elasticsearch         1.6.0     İlk örneğimiz bir Insert işlemi olsun. public class App { public static void main( String[] args )     {      Client client = new TransportClient()     .addTransportAddress(new InetSocketTransportAddress("localhost", 9300));     IndexResponse response = null;     try {       response = client.prepareIndex("twitter", "tweet", "3")           .setSource(XContentFactory.jsonBuilder()                   ...

ELASTICSEARCH NEDİR? JAVA İSTEMCİ İLE ELASTICSEARCH İŞLEMLERİ -1

Resim
ElasticSearch indexlenmiş metin aramaya dayalı çok miktarda veri ile çalışmak üzere tasarlanmış Java da geliştirilmiş lucene tabanlı bir platformdur. Restfull API ile sistemle konuşulabilinir. Veri saklama türü ise JSON dur. https://www.elastic.co/downloads adresinden ElasticSearch u indirebilirsiniz. Bu tarihteki versiyonunu kullanmak için Java 8 Update 20 ve üzeri versiyonları sitesinde tavsiye edilmektedir.( https://www.elastic.co/guide/en/elasticsearch/hadoop/current/requirements.html ) ElasticSearch u indirdiniz ekstra bir kuruluma gerek kalmadan portable kullanabiliyorsunuz. Windows için /bin klasörü içerisinden “elasticsearch.bat” ile run ettiğinizde uygulama ayağa kalkacaktır. Uygulama Restfull olduğu için browser üzerinden direk erişilebilinir olacak. http://localhost:9200 uygulamanın erişim adresi. Bu adresi browserdan çağırdığınızda aşağıdaki gibi çıktı alırsınız. Geri dönen veri tipi JSON olacaktır. Aslında hep JSON verisi dönüş olarak gelecek. {   "s...

ZK WEB ÇATISI İLE SPRING HIBERNATE KULLANIMLARI

      Daha önceki yazımızda Spring i yalın olarak ZK ile beraber ayağa kaldırmıştık. Şimdi ise Hibernate ile çalışan halini paylaşıyorum. https://github.com/Gmotes/ZKHibernate adresinden örnek kodu inceleyebilirsiniz.

ZK ÇATISI İLE SPRING ENTEGRASYONU

Resim
      ZK bildiğiniz üzere popular bir java web çatısıdır. http://www.zkoss.org/  adresinden erişebileceğiniz çatının CE versiyonu ücretsiz olarak kullanabiliyorsunuz.Bu versiyonu kullanarak geliştirme yapacağız. Bunun yanında PE,EE versiyonları da bulunmaktadır.       CE versiyonu sadece "VariableResolver" özelliği ile Spring entegrasyonu sağlar. (Diğer versiyonlarda Security vs. diğer entegrasyonlarda  yapılabilimektedir.) Bu şekilde Spring kabından ihtiyaç olan bean alınarak ZK görüntüsüne yansıtılabilinir.       ZK görüntüleri ".zul" uzantılı dosyalar ile tanımlanırlar. Bileşenler "http://www.zkoss.org/2005/zul" uzayına bağlı olarak çağrılırlar. Sürekle-Bırak desteği için Netbeans  7.1 versiyonunu indirip ZK CE 7.0 destekleyen REM dosyasını indiriyoruz. İlgili dosyayı linkten indirebilirsiniz. http://plugins.netbeans.org/plugin/52406/rem7-0-0ce         Bu şekilde Netbeans e ZK desteği sağl...

APACHE WICKET ILE HIBERNATE ve JQUERY ÖRNEĞİ

Resim
Merhaba Arkadaşlar, Bugün Apache Wicket çatısını kullanarak web arayüzümüzden CRUD işlemlerimizi yapabileceğimiz küçük bir kütüphane programı yapacağız. Veritabanı işlemlerimizi Hibernate kullanarak yapacağız.. Ayrıca browser üzerindeki client-side işlemlerimizi JQuery e yükleyeceğiz.. Dilerseniz başlayalım. IDE olarak ben Netbeans kullandım. Dolayısıyla veritabanı olarak Derby veritabanı bizim için yeterli olacaktır. Öncelikle Netbeans de wicket projemizi oluşturalım. Bu proje bize com.myapp.wicket paketinin altında Application,BasePage,HomePage,HeaderPanel,FooterPanel dosyalarını oluşturacak. Şimdilik dosyalarımıza dokunmayalım. Derby veritabanına bağlanalım ve tablomuzu oluşturalım. Kitaplar tablomuzda aşağıdaki alanlar olsun; id int ad varchar(50) yazar varchar(50) basimtarihi varchar(50) //String ifade kullandık. basimev varchar(100) aciklama varchar(200) bu alanları veritabanımızda oluşturuyoruz. Şimdi ise hibernate yönetimimizi oluşturalım. Projemizin ü...

APACHE WICKET JAVA ILE WEB PROGRAMLAMAYA YENI BIR YAKLASIM

Resim
Merhaba Arkadaşlar, Bugün web programlama dünyasında bence çok önemli bir mantık devrimi diyebileceğimiz java dünyasındaki Apache Wicket Framework unu konuşuyor olacağız.. Evet, Wicket nedir? ne değildir? bu sorular üzerinden konumuza giriş yapalım dilerseniz.. Wicket ler klasik önceki frameworklerimizden farklı olarak (JSF,Struts vs. gibi) aynı proje veya farklı proje olsun bilesenlerimizi bir sınıf altında saklanıp daha sonra tekrar kullanmamıza olanak tanıyan bir yapıda çalışıyor.. İş yönetimini bilesenlerin olusturulup saklandığı java sınıfları ve html sayfalarında gerçekleşmekte. İşte wicket java application tadında bize web application yapmamıza imkan veren bir yapı.. İsterseniz bir "Merhaba Dünya" diyelim.. :) Uygulamamızı netbeans de yapıyor olacağız. Bu yüzden wicket plugin i netbeans imize yüklenmiş olması gerekmekte. Dolayısıyla bu pluginin var olduğunu düşünerek bir wicket projesi açıyoruz.. Açılınca resimdeki gibi bir yapı karşımıza çıkıyor. Dikkat etti iseniz ...

JAVA DA RECURSIVE FONKSİYONLAR İLE ALT KATEGORİ İŞLEMLERİ

Resim
Merhaba arkadaşlar.. Örnek kod ve veritabanı örneğini veriyorum.. Kolay gelsin... Veritabanındaki durum: Kod tarafı:

JAVA ÖĞRENİYORUM -3 GUI AND EVENTS -1

Merhaba arkadaşlar, Bu dersimizde java'ya ciddi bir giriş yapacağız.. İşimiz artık elle tutulur göz ile görünür sonuçlar verecek... Evet, konumuz Graphical User Interface yani Grafiksel Kullanıcı Arayüzleri ve Events yani olaylar.. Bu kısmı biraz daha açalım; Grafiksel Arayüz derken kastımız, bir çok defa uygulama çalıştırırken kullandığımız butonlar(JButton),etiketler(JLabel),çerçeveler(JFrame) ve benzeri bileşenlerimiz.. Olaylar ise bu bileşenlerin üzerinde oluşturduğumuz etkilerin yakalanması ve tepki oluşturulması denebilir... Şimdi bahsettiğimiz bileşenleri nasıl kullanacaz kısmına gelelim.. Öncelikle mevcut durumu biraz daha somutlaştıralım..Kullandığımız uygulamalarımızı da hatırlarsak dikkatimizi çeken iki önemli husus var; 1-) Bir sürü eşyamız var farz edelim... Bu eşyaları bir arada tutmak adına yaptığımız iş boyutuna bir torba,bir oda veya bir apartman bir gibi taşıyıcıya koyarız.. Java da da benzer yapı ile karşı karşıyayız. Buna container diyoruz... 2-) Eşyalarımızı...

JAVA PERSISTENCE,HIBERNATE VE NETBEANS

Resim
Merhaba arkadaşlar, Bugün sizlerle temel bir hibernate örneği yapacağız.Bunun için kullanacağımız malzemeler ve ne işe yaradıkları.... Hibernate: Veritabanımızda yaptığımız CRUD(Olustur,Oku,Guncelle,Sil) işlemlerini bizi Database Layer ile muhattap etmeden orta katmanda yapabildiğimiz prensib olarak ise veritabınındaki tabloların karşılığı olarak Java POJO yani basit serilize edilmiş sınıflar ile işlem yapmamıza olanak tanıyan third party bir araçtır. Daha fazla bilgi için: Hibernate Netbeans: "The only ide you need" diyen baba ide miz... Persistence: Hibernate,TopLink,EclipseLink araçların çatısıdır.. Şimdi bir adet proje açıyoruz... açınca bir adet main sınıfımız geliverdi... Hep beraber hiç durmadan persistence.xml imizi ekliyelim... Projemizin üzerine gelip sağ tuş new diyoruz persistence unit ekliyoruz.. Persistence Library olarak hibernate ve bir adet veritabanı bağlantısı ayarlıyoruz.. Sonuc olarak yakışıklı bir persistence.xml imiz oldu.. ben bir adet mysql veritabanı...

JAVA ÖĞRENİYORUM -2

Merhaba arkadaşlar, İlk dersimizde beraber basit bir HelloWorld uygulaması yapmıştık.. İkinci dersimizde tam bir java sınıfı nasıl oluşturulur nelere dikkat edilmelidir. Bunlardan bahsedeceğiz.. Nesneye dayalı program dillerindeki tüm kurallar java dilinde de geçerlidir. Ancak birkaç ufak farklılık arz eder... Java sınıflarının çalışma prensibi biraz farklıdır.. Oluşturduğumuz java sınıfları bağlı oldukları veya extend ettikleri diyelim sınıflarını öncelikli olarak oluşturup akabinde kendilerini oluştururlar ve en önemli kural; hiç bir java sınıfı java object sınıfının bir örneği oluşturulmadan kendini oluşturamaz. Bu kısmı biraz daha açalım... public class Insan extends Canli { .............. ............ } bu kodda insan sınıfı canli sınıfını extend yani miras yolluyla tüm özelliklerini alıyor. Burda bu insan sınıfının çalışması için önce canli sınıfının bir örneği oluşturulmalıdır. public class Canli { ........................... ......................... .............. } canli sını...

JAVA ÖĞRENİYORUM -1

Resim
Merhaba arkadaşlar, Java öğrenmek isteyen arkadaşlarımız için bir kaç dersten oluşan bir seri yazmayı planlıyordum ne zamandır kısmet bu zamana imiş. Bu dersimizde artık miden bulandırıcı bir başlangıç olan :D consola "Merhaba Java Dünyası" yazacağız.. Ama öncelikle java neyin nesi kimin fesi bir bilgilendireyim.. Java wikipedia'da ki deyimi ile "Java , Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmış açık kodlu, nesneye yönelik, düzlemden bağımsız, yüksek verimli, çok işlevli, yüksek seviye, adım adım işletilen (interpreted) bir dildir ." Benim deyimim ile teknolojik bakımdan her türlü işinizi yapabileceğiniz nesneye dayalı bir programlama dilidir. Üç ana kısımdan oluşmuştur. 1-) JAVA SE (Standart Edition) 2-) JAVA EE (Enterprise Editon) 3-) JAVA ME (Micro Edition) Standart edition da sun tarafından standart olarak jdk dediğimiz kütüphane içerisinde bulunan sınıfların bütünüdür. Bu kütüphaneler vasıtası ile standalone ve w...

JAVA PERSISTENCE VE WEB

Merhaba arkadaşlar, Web artık uygulamalarımız için vazgeçilmez bir ortam haline geldi. Özel bir hattın kirası pahalı olduğu için bir çok işimizi Internet dediğimiz geniş network üzerinden hallediyoruz. Dolaysıyla web deki hızımız belirli (düşmez kalkmaz) bu durumda yeteri kadar yavaşlık çekdiğimiz bu durumda Veritabanı işlemleri de ayrıca bir yavaşlama unsuru olmamalı. Bu yüzden Persistence teknolojisi ile hızlıca işlemlerimizi halletmemiz yararımıza peki web projelerimizde persistence desteği nasıl sağlarız. Bunun için size iki çatı tavsiye edeceğim. 1-)Seam: JBoss'a ait olan bu çatı bize bir çok olanak sunmakta. Ajax destekli Richfaces komponentleri ve veritabanında persistence desteği gibi bir çok destek var. Başlangıç için; Seam' e Başlangıç 2-) Netbeans web with Jpa: Netbeans teknolojileri üzerinden web de JPA kullanımı. Tutorial aşağıdaki linkte. Netbeans JPA WEB Umarım faydalı olur. Saygılarımla.

TOMCAT ,CONNECTION POOL ,TÜRKÇE KARAKTER MACERAM

Merhaba arkadaşlar, Sizlerle çok az bulabildiğim yarım saati paylaşayım dedim..(Yarım saat ne kadar değerliymiş meğer.) Neyse sözü fazla uzatmadan konumuza getireyim. Arkadaşlar malumunuzun çağımız teknoloji çağı işler hızlı gitmek zorunda. Özellikle işlerin hızlı gittiği zamanlarda hayatımızın vazgeçilmezi olan veritabanlarına bağlanıyoruz. Ve o kadar işlem yığını oluyor ki istediğimiz performansı bulamıyor ve şikayetler alıp başını gidiyor. Peki pratik çözüm olarak ne yapabiliriz tabii ki "connection pool". Bu şekilde bir kere bağlanmak amacıyla kullandığımız connection kapatılmıyor tomcat tarafından muhafaza edilip tekrar kullanılması amacıyla havuza(pool) atılıyor. Böylece tekrar veritabanına gidip user password connection open falan olmadan veritabanına sanki direk erişim oluyormuş gibi hıza kavuşuyorsunuz. Neyse geri kalanı kendiminde referans aldığı linke havale edip geçiyorum. http://www.onjava.com/pub/a/onjava/2006/04/19/database-connection-pooling-with-tomcat.html İ...