Netbeans’de Persistence Kullanımı ve önemli ipuçları


Java Netbeans Desktop Database App.
(Resim:1 Netbeans resmi sitesinden persistence uygulaması örneği)

Ücretsiz Java Program Geliştirme Ortamı olan Netbeans IDE’nin 6.0 ve üstü sürümlerinde masaüstü programlar için desteklediği Persistence teknolojisi sayesinde veritabanı programcılığının rahatlığının .NET ile boy ölçüşür düzeye geldiği bilinmektedir.
Ancak bu teknolojinin yeni olması itibari ile internette ingilizce kaynak bile bulmakta sıkıntı çekilmektedir.
Persistence teknolojisinin en temel kullanımı hakkında Netbans’ın resmi sitesindeki:
http://www.netbeans.org/kb/60/java/gui-db.html
adresli makale inclenebilir. Bu makalede varolan bir veritabanından CRUD uygulaması ya da CREATE,UPDATE,DELETE uygulamasının yani Türkçesi ile; Veri ekleme, Veri güncelleme, Veri Silme uygulamasının yapılışı anlatılmaktadır. Buna bir de listeleme özelliği eklemek gerekir nitekip program listeleme özelliğini de otomatik olarak oluşturuyor.
Buraya kadar sorun yok;
Ancak Netbeans’ta sözkonusu makalede geçen veritabanından ya da kendinzize ait özel veriabanından spesifik sorgulama yapmak istediğinizde sofistike sql sorgusu rahatlığında işi gerçekleştiremiyorsunuz.
Bunun için geçirdiğim iki uykuz geceden sonra ortaya çıkardığım metodu sizlerle paylaşayım:

Netbeans\'de persistence kullanımı

(Resim2: Suat ATAN tarafından yazılan bir uygulanada Netbeans IDE’nin Inspector ekranı)

Gerek Netbeans’ın Desktop Database Project seçeneği ile otomatikmen oluşturulan projelerinde gerekse sizin program içinde herhangi bir component’e sağ tıklayıp data bindirmek için “bind” ibaresini tıklamanızda ekran kesitinde görüldüğü gibi kırmızı ve yeşil şeritle işaretlediğim componentler ortaya çıkar. Bu componentleri sağ tıklayıp properties (özellikleri) incelenince sorgunun:

SELECT t FROM Teklıfler t

gibi ilginç ve sql’den bozma olduğu görülür. Bu sorguyu maalesef WHERE, ORDER BY gibi taglarla zenginleştiremezsiniz. Bunun için yapmanız gereken işlem biraz uzun,şöyle ki;
Spesifik hale getirmek istediğiniz query’i (bundan böyle kırmızı şeritle işraretli comonenti ifade için böyle diyeceğim) seçip yine sağ tıklayarak “customize code” diyeceksiniz. Daha sonra kod bloğuna örneğin şöyle bir sorgu ekleyebilirsiniz:

Orjinalinde parantez içinde geçen sorgu SELECT t FROM Teklıflerlıstesı t iken siz şöyle yazabilirsiniz:

teklıflıstesıQuery = mocawaPUEntityManager.createQuery(“SELECT t FROM Teklıflıstesı t WHERE t.teklıfno ='”+SECILEN_TEKLIF_NO_STRING+”‘”);

Bu sorgu vasıtasıyla sorgumuzu filitreliyoruz. Gördüğünüz gibi biraz uzun ve sorgu dış parametre kabul etmiyor. Bu yüzden sorgu stringini değişken hale getiriyoruz. Durun daha bitmedi:
Bu hali ile herhangi bir yerden SECILEN_TEKLIF_NO_STRING değişkenini alarak veri dökümünü yapmaya çalışırsanız sonuçta yine veri dönmez. Bunun nedeni ise veri döküm listesinin örneğin bir tabloya ya da combobox’a bindirme işleminin Netbeans’ın standart programı içinde initComponents() metodu içinde kalması ya da bir kereye mahsus program başında çalıştırılması işidir.
Bu derdi de aşmak için verilerin ilgili component’e bir daha bindirilmesi gerekir. Bunu sağşamak için ise Netbeans’ın initComponents() metodu altındaki standart veri bindirme kodlarını kopyalayıp, sorgu filtre parameteresi ortaya çıktıktan sonraki olayla tekrar tetiklemektir.
Yani mesela bir buton tıklamasında bu kodları butonun tıklanma metodu altına tekrar yapıştırmaktır.

Aşağıda bunun güncel bir örneği var: (Kendi programımdan)

private void BT_TEKLIF_DETAYMouseClicked(java.awt.event.MouseEvent evt) {
// FİLTRE PARAMETERESİNİ BİR TEXTFİELDDEN ALIP DEĞİŞKENİMİZE YÜKLEDİK
SECILEN_TEKLIF_NO_STRING=SECILEN_TEKLIF_NO.getText();

//SORGUYU ENTITY MANAGER ILE TEKRAR İŞLEDİK
mocawaPUEntityManager = javax.persistence.Persistence.createEntityManagerFactory(“mocawaPU”).createEntityManager();

teklıflıstesıQuery = mocawaPUEntityManager.createQuery(“SELECT t FROM Teklıflıstesı t WHERE t.teklıfno ='”+SECILEN_TEKLIF_NO_STRING+”‘”);
teklıflıstesıList = teklıflıstesıQuery.getResultList();

//ŞİMDİ SONUÇLARI TABLOYA YENİDEN İŞLİYORUZ
org.jdesktop.swingbinding.JTableBinding jTableBinding = org.jdesktop.swingbinding.SwingBindings.createJTableBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, teklıflıstesıList, TABLO2);
org.jdesktop.swingbinding.JTableBinding.ColumnBinding columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create(“${teklıfno}”));
columnBinding.setColumnName(“Teklıfno”);
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create(“${boy}”));
columnBinding.setColumnName(“Boy”);
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create(“${bırımfıyat}”));
columnBinding.setColumnName(“Bırımfıyat”);
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create(“${dalga}”));
columnBinding.setColumnName(“Dalga”);
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create(“${ebatSerıNo}”));
columnBinding.setColumnName(“Ebat Serı No”);
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create(“${en}”));
columnBinding.setColumnName(“En”);
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create(“${fıyatsafıaenı}”));
columnBinding.setColumnName(“Fıyatsafıaenı”);
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create(“${kalıte}”));
columnBinding.setColumnName(“Kalıte”);
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create(“${safıaboyu}”));
columnBinding.setColumnName(“Safıaboyu”);
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create(“${safıaenı}”));
columnBinding.setColumnName(“Safıaenı”);
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create(“${yukseklık}”));
columnBinding.setColumnName(“Yukseklık”);
columnBinding.setColumnClass(String.class);
bindingGroup.addBinding(jTableBinding);
jTableBinding.bind();

TEKLIF_DETAYLARI.setSize(600, 600);
TEKLIFLER_EKRANI.setVisible(false);
TEKLIF_DETAYLARI.setVisible(true);
TEKLIF_DETAYLARI.setTitle(“TEKLİF DETAYI: “+SECILI_FIRMA.getText());
}

Evet yukarıdan da anlaşılacağı üzere püf noktamız;

  1. Sorgumuzu yenilemek
  2. Ortaya çıkan sonuçları ilgili componentimize tekrar yüklemek
  3. Sorgularımızı alışılmış SQL tarzında değil, biraz daha özel bir formda string olarak kurmak

Değerli arkadaşlar;

Bu makalenin faydalı olacağına inanıyorum. Her türlü soru ve sorunlarınız için bana ulaşabilirsiniz.
Bu makaleyi de kaynak göstermek kaydı ile istediğiniz gibi kullanma hakkınız var.

Sevgi ve Java ile…

Reklamlar

Netbeans’de Persistence Kullanımı ve önemli ipuçları


Java Netbeans Desktop Database App.
(Resim:1 Netbeans resmi sitesinden persistence uygulaması örneği)

Ücretsiz Java Program Geliştirme Ortamı olan Netbeans IDE’nin 6.0 ve üstü sürümlerinde masaüstü programlar için desteklediği Persistence teknolojisi sayesinde veritabanı programcılığının rahatlığının .NET ile boy ölçüşür düzeye geldiği bilinmektedir.
Ancak bu teknolojinin yeni olması itibari ile internette ingilizce kaynak bile bulmakta sıkıntı çekilmektedir.
Persistence teknolojisinin en temel kullanımı hakkında Netbans’ın resmi sitesindeki:
http://www.netbeans.org/kb/60/java/gui-db.html
adresli makale inclenebilir. Bu makalede varolan bir veritabanından CRUD uygulaması ya da CREATE,UPDATE,DELETE uygulamasının yani Türkçesi ile; Veri ekleme, Veri güncelleme, Veri Silme uygulamasının yapılışı anlatılmaktadır. Buna bir de listeleme özelliği eklemek gerekir nitekip program listeleme özelliğini de otomatik olarak oluşturuyor.
Buraya kadar sorun yok;
Ancak Netbeans’ta sözkonusu makalede geçen veritabanından ya da kendinzize ait özel veriabanından spesifik sorgulama yapmak istediğinizde sofistike sql sorgusu rahatlığında işi gerçekleştiremiyorsunuz.
Bunun için geçirdiğim iki uykuz geceden sonra ortaya çıkardığım metodu sizlerle paylaşayım:

Netbeans'de persistence kullanımı

(Resim2: Suat ATAN tarafından yazılan bir uygulanada Netbeans IDE’nin Inspector ekranı)

Gerek Netbeans’ın Desktop Database Project seçeneği ile otomatikmen oluşturulan projelerinde gerekse sizin program içinde herhangi bir component’e sağ tıklayıp data bindirmek için “bind” ibaresini tıklamanızda ekran kesitinde görüldüğü gibi kırmızı ve yeşil şeritle işaretlediğim componentler ortaya çıkar. Bu componentleri sağ tıklayıp properties (özellikleri) incelenince sorgunun:

SELECT t FROM Teklıfler t

gibi ilginç ve sql’den bozma olduğu görülür. Bu sorguyu maalesef WHERE, ORDER BY gibi taglarla zenginleştiremezsiniz. Bunun için yapmanız gereken işlem biraz uzun,şöyle ki;
Spesifik hale getirmek istediğiniz query’i (bundan böyle kırmızı şeritle işraretli comonenti ifade için böyle diyeceğim) seçip yine sağ tıklayarak “customize code” diyeceksiniz. Daha sonra kod bloğuna örneğin şöyle bir sorgu ekleyebilirsiniz:

Orjinalinde parantez içinde geçen sorgu SELECT t FROM Teklıflerlıstesı t iken siz şöyle yazabilirsiniz:

teklıflıstesıQuery = mocawaPUEntityManager.createQuery(“SELECT t FROM Teklıflıstesı t WHERE t.teklıfno =’”+SECILEN_TEKLIF_NO_STRING+“’”);

Bu sorgu vasıtasıyla sorgumuzu filitreliyoruz. Gördüğünüz gibi biraz uzun ve sorgu dış parametre kabul etmiyor. Bu yüzden sorgu stringini değişken hale getiriyoruz. Durun daha bitmedi:
Bu hali ile herhangi bir yerden SECILEN_TEKLIF_NO_STRING değişkenini alarak veri dökümünü yapmaya çalışırsanız sonuçta yine veri dönmez. Bunun nedeni ise veri döküm listesinin örneğin bir tabloya ya da combobox’a bindirme işleminin Netbeans’ın standart programı içinde initComponents() metodu içinde kalması ya da bir kereye mahsus program başında çalıştırılması işidir.
Bu derdi de aşmak için verilerin ilgili component’e bir daha bindirilmesi gerekir. Bunu sağşamak için ise Netbeans’ın initComponents() metodu altındaki standart veri bindirme kodlarını kopyalayıp, sorgu filtre parameteresi ortaya çıktıktan sonraki olayla tekrar tetiklemektir.
Yani mesela bir buton tıklamasında bu kodları butonun tıklanma metodu altına tekrar yapıştırmaktır.

Aşağıda bunun güncel bir örneği var: (Kendi programımdan)

private void BT_TEKLIF_DETAYMouseClicked(java.awt.event.MouseEvent evt) {
// FİLTRE PARAMETERESİNİ BİR TEXTFİELDDEN ALIP DEĞİŞKENİMİZE YÜKLEDİK
SECILEN_TEKLIF_NO_STRING=SECILEN_TEKLIF_NO.getText();

//SORGUYU ENTITY MANAGER ILE TEKRAR İŞLEDİK
mocawaPUEntityManager = javax.persistence.Persistence.createEntityManagerFactory(“mocawaPU”).createEntityManager();

teklıflıstesıQuery = mocawaPUEntityManager.createQuery(“SELECT t FROM Teklıflıstesı t WHERE t.teklıfno =’”+SECILEN_TEKLIF_NO_STRING+“’”);
teklıflıstesıList = teklıflıstesıQuery.getResultList();

//ŞİMDİ SONUÇLARI TABLOYA YENİDEN İŞLİYORUZ
org.jdesktop.swingbinding.JTableBinding jTableBinding = org.jdesktop.swingbinding.SwingBindings.createJTableBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, teklıflıstesıList, TABLO2);
org.jdesktop.swingbinding.JTableBinding.ColumnBinding columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create(“${teklıfno}”));
columnBinding.setColumnName(“Teklıfno”);
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create(“${boy}”));
columnBinding.setColumnName(“Boy”);
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create(“${bırımfıyat}”));
columnBinding.setColumnName(“Bırımfıyat”);
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create(“${dalga}”));
columnBinding.setColumnName(“Dalga”);
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create(“${ebatSerıNo}”));
columnBinding.setColumnName(“Ebat Serı No”);
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create(“${en}”));
columnBinding.setColumnName(“En”);
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create(“${fıyatsafıaenı}”));
columnBinding.setColumnName(“Fıyatsafıaenı”);
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create(“${kalıte}”));
columnBinding.setColumnName(“Kalıte”);
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create(“${safıaboyu}”));
columnBinding.setColumnName(“Safıaboyu”);
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create(“${safıaenı}”));
columnBinding.setColumnName(“Safıaenı”);
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create(“${yukseklık}”));
columnBinding.setColumnName(“Yukseklık”);
columnBinding.setColumnClass(String.class);
bindingGroup.addBinding(jTableBinding);
jTableBinding.bind();

TEKLIF_DETAYLARI.setSize(600, 600);
TEKLIFLER_EKRANI.setVisible(false);
TEKLIF_DETAYLARI.setVisible(true);
TEKLIF_DETAYLARI.setTitle(“TEKLİF DETAYI: ”+SECILI_FIRMA.getText());
}

Evet yukarıdan da anlaşılacağı üzere püf noktamız;

  1. Sorgumuzu yenilemek
  2. Ortaya çıkan sonuçları ilgili componentimize tekrar yüklemek
  3. Sorgularımızı alışılmış SQL tarzında değil, biraz daha özel bir formda string olarak kurmak

Değerli arkadaşlar;

Bu makalenin faydalı olacağına inanıyorum. Her türlü soru ve sorunlarınız için bana ulaşabilirsiniz.
Bu makaleyi de kaynak göstermek kaydı ile istediğiniz gibi kullanma hakkınız var.

Sevgi ve Java ile…

Marquee Tag’ıyla kayan yazı oluşturma


HTML kodlarından Marquee tagı ile web siteniz içinde sağdan sola ve yukarıdan aşağıya ters ve düz yönlerden kayan yazılar oluşturabilirsiniz. Marquee tag’ına ait parameterler ile yazı akış hızı, yönü ve diğer bir çok özelliği ayarlamanız mümkündür. Benim şahsen yukarıdan aşağıya duyuru ilanları için kullandığım ve en ideal olarak düşündüğüm tag aşağıda:

(Bu kodun çalışan örneğini: www.suatatan.com anasayfasındaki duyurular bölümünde görebilirsiniz.)

 <marquee align=”texttop” behavior=scroll direction=up  scrollamount=1 scrolldelay=30 onMouseOver=’this.stop()’ onMouseOut=’this.start()’> Duyurularınız….Yeni Web sitemiz yayında,Bu kodları kullanmak serbettir ancak bu kodların da içinde olduğu makaleyi çalan ve isimsiz yayınlayanlar kodun sahibi suat atan tarafından sitelerine yapılcak her türlü müeyyideyi peşinen kabul etmiş sayılır. İsim ile yayınlamak serbettir.<marquee>

 

Kodlarımız içindeki iki detayı açıklamakta fayda var.

onMouseOver=’this.stop()’ :tagı ile fare imlecinin kayan yazımız üzerine geldiği zaman yazının durmasını , onMouseOut=’this.start()’   :tagı ile ise fare imlecinin yazıdan çıktıktan sonra yazının kendi halinde akışına devam etmesini sağlamak için koyduk. Bunlar standart javascript parameterleridir.
scrolldelay:     parametresi yazının akış hızını belirlerken
scrollamount: parametresi yazının birim zamandaki akış miktarını ayarlar

Bu kodları kullanırken parameterlerle oynayarak değişiklikleri daha güzel inceleyebilirsiniz.

Bu arada marquee tag’ı yazı akışı için kullanılsa da ingilizcedeki karşılığı büyük çadır ya da otağ demektir…

Marquee Tag’ıyla kayan yazı oluşturma


HTML kodlarından Marquee tagı ile web siteniz içinde sağdan sola ve yukarıdan aşağıya ters ve düz yönlerden kayan yazılar oluşturabilirsiniz. Marquee tag’ına ait parameterler ile yazı akış hızı, yönü ve diğer bir çok özelliği ayarlamanız mümkündür. Benim şahsen yukarıdan aşağıya duyuru ilanları için kullandığım ve en ideal olarak düşündüğüm tag aşağıda:

(Bu kodun çalışan örneğini: www.suatatan.com anasayfasındaki duyurular bölümünde görebilirsiniz.)

  Duyurularınız….Yeni Web sitemiz yayında,Bu kodları kullanmak serbettir ancak bu kodların da içinde olduğu makaleyi çalan ve isimsiz yayınlayanlar kodun sahibi suat atan tarafından sitelerine yapılcak her türlü müeyyideyi peşinen kabul etmiş sayılır. İsim ile yayınlamak serbettir.

 

Kodlarımız içindeki iki detayı açıklamakta fayda var.

onMouseOver=‘this.stop()’ :tagı ile fare imlecinin kayan yazımız üzerine geldiği zaman yazının durmasını , onMouseOut=’this.start()’   :tagı ile ise fare imlecinin yazıdan çıktıktan sonra yazının kendi halinde akışına devam etmesini sağlamak için koyduk. Bunlar standart javascript parameterleridir.
scrolldelay:     parametresi yazının akış hızını belirlerken
scrollamount: parametresi yazının birim zamandaki akış miktarını ayarlar

Bu kodları kullanırken parameterlerle oynayarak değişiklikleri daha güzel inceleyebilirsiniz.

Bu arada marquee tag’ı yazı akışı için kullanılsa da ingilizcedeki karşılığı büyük çadır ya da otağ demektir…

Samet Ağaoğlu Kimdir?


Menderes Döneminde Başbakan Yardımcılığı yapmıştır.

Samet AĞAOĞLU (Fotoğraf: Başbakanlık Arşivi)

Doğum yeri ve tarihi: KAFKASYA – 1909,

Hukuk Fakültesi – Fransızca – Hukuk – Serbest Avukat – IX, X, XI inci Dönem Manisa Milletvekili – Devlet Bakanı ve Başbakan Yardımcısı., Çalışma, İşletmeler, Sanayi, Devlet Bakanı – Evli, 3 Çocuk.

Ölümü:6.8.1982

Samet Ağaoğlu Kimdir?


Menderes Döneminde Başbakan Yardımcılığı yapmıştır.

Samet AĞAOĞLU (Fotoğraf: Başbakanlık Arşivi)

Doğum yeri ve tarihi: KAFKASYA – 1909,

Hukuk Fakültesi – Fransızca – Hukuk – Serbest Avukat – IX, X, XI inci Dönem Manisa Milletvekili – Devlet Bakanı ve Başbakan Yardımcısı., Çalışma, İşletmeler, Sanayi, Devlet Bakanı – Evli, 3 Çocuk.

Ölümü:6.8.1982

Demokrasi bir sayı rejimi midir?


Menderes iktidarında Başbakan Yardımcılığı yapmış olan Samet Ağaoğlu’nu şunu söylediği söylenir: (İktibas: Faroz AHMAD, Demokrasi Sürecinde Türkiye-HİL Yayınevi)

Demokrasi bir sayı rejimidir. Bu rejimde yığınlar ne isterse o olur. Biz iktidar mesulleri sıfatıyle bir avuç aydının tenkidine ve gürültüsüne değil, halk yığınlarının isteklerine uymak zorundayız.

Günümüzde AKPARTİ iktidarında da, esasen Samet AĞAOĞLU’nun demokrasi tanımına uygun gücünü olarak tabanının çokluğundan alan bir parti olması ve gerçekte dokusu ne olursa olsun bir halk yığını partisi görünümünden ötürü, AKPARTİ söylem ve icraatları ile “bir avuç aydın” olarak bilinen insanlar arasındaki çatlağın da aslında yeni bir şey olmadığı ve Cumuriyetin ilanından sonraki ilk gerçek çok partili yaşamda da var olduğu anlaşılıyor. Şaşırmamak gerek… Nitekim demokrasi Türk siyasasında birbirinden uzaklaşmış tabiri caizse avam ve havasın farklılıklarını her zaman dışa vurduğu gibi, avamın da çokluğunu hep ortaya çıkarmıştır.

Demokrasi bir sayı rejimi midir?


Menderes iktidarında Başbakan Yardımcılığı yapmış olan Samet Ağaoğlu’nu şunu söylediği söylenir: (İktibas: Faroz AHMAD, Demokrasi Sürecinde Türkiye-HİL Yayınevi)

Demokrasi bir sayı rejimidir. Bu rejimde yığınlar ne isterse o olur. Biz iktidar mesulleri sıfatıyle bir avuç aydının tenkidine ve gürültüsüne değil, halk yığınlarının isteklerine uymak zorundayız.

Günümüzde AKPARTİ iktidarında da, esasen Samet AĞAOĞLU’nun demokrasi tanımına uygun gücünü olarak tabanının çokluğundan alan bir parti olması ve gerçekte dokusu ne olursa olsun bir halk yığını partisi görünümünden ötürü, AKPARTİ söylem ve icraatları ile “bir avuç aydın” olarak bilinen insanlar arasındaki çatlağın da aslında yeni bir şey olmadığı ve Cumuriyetin ilanından sonraki ilk gerçek çok partili yaşamda da var olduğu anlaşılıyor. Şaşırmamak gerek… Nitekim demokrasi Türk siyasasında birbirinden uzaklaşmış tabiri caizse avam ve havasın farklılıklarını her zaman dışa vurduğu gibi, avamın da çokluğunu hep ortaya çıkarmıştır.

Teneke Kola İçerken Dikkat…


Teneke Kutu

Doç.Dr. Osman Genç
Pamukkale Üniversitesi Tıp Fakültesi Fizyoloji Anabilim Dalı
Kınıklı Denizli Tıp Laboratuarı
Fordwerke’den tıbbi haber

Kısa süre önce bir kadın son derece önemsenmeyen bir sebepten dolayı hayatını kaybetmiştir.

SEBEP!…..

Hayatını kaybeden kadın Genfer Gölü’nde piknikteyken, bir kutu içeceği (Fanta, Kola vs.) kutusundan içti. Pazartesi günü Lozan’daki CHUV’ye sevk edildi ve Çarşamba günü vefat etti. Otopsi sonucu Leptospiroz fulgurante’den öldüğü anlaşıldı. Tekneye bardak götürmemişti ve içeceği direkt kutudan içmişti. Kutular kontrol edildiğinde, kutularda fare urini (idrarı) bulunduğu, yani Leptospiras ile kirlendiği ortaya çıktı.

Muhtemelen kadın, kutunun ÜSTÜNÜ TEMİZLEMEDEN AĞZINA GÖTÜRÜP İÇMİŞTİ… Kutunun üstüne Fare urini bulaşmış ve kurumuş, ki bu zehirli maddeler içermektedir, bu da Leptosiproz’u ortaya çıkaran Leptospiras içerir.

Bu kutular fare bulunan depolarda muhafaza edilir ve temizlenmeden Pazar’a sürülür. Kutular satın alındıktan sonra buzdolabına konulmadan önce bulaşık deterjanı ile özenle temizlenmeli. İspanya’da İNMETRO tarafından yapılan bir araştırma sonucunda, kutular tuvaletlerden daha da fazla kirlidir!!!

WordPress.com'da ücretsiz bir web sitesi ya da blog oluşturun.

Yukarı ↑