Java Günlüğüm
Yazılım, Java, BT, azıcık felsefe, biraz mizah...
  • Udemy Eğitimleri
  • Temiz Kod
  • Tasarım Kalıpları
  • Hakkımda
  • Arşiv
RSS
02 Eylül 2010

Neden Nesne-Merkezli Programlama? I

Akin Java, Yazılım Mühendisliği fonksiyon, neden nesne, neden nesne-yönelimli programlama, nesne, nesne tabanlı, nesne-merkezli, nesne-tabanlı programlama, nesne-yönelimli, nesne-yönelimli programlama, object-oriented, prosedürel, sınıf ve nesne, sınıf ve nesne kavramı, yordam, yordamsal

Giriş

“Nesne-merkezli” (object-oriented) kavramını, BT dünyasında bulunan hemen herkes bir şekilde duymuştur. Zihinlerde bu kavram ile ilgili, genel olarak olumlu bir hava vardır. Yani farklı seviyelerde de olsa “nesne-merkezli” haberdarlığı, bilgisi ya da tecrübesi, kendi içinde daha ileri olma, daha rahat program yazabilme ya da daha rahat entegre edebilme vs. gibi üstünlükleri ifade eder. Javatürk gibi bir günlükte, nesne-merkezli olmanın bu kadar taraftarlığının yapıldığı halde bu kavramın neye karşılık geldiğinden çok fazla bahsedilmemesi, sahip olduğu üstün niteliklerinin değişik yazılarda üstü kapalı bir şekilde ifade edilmesine rağmen, bunların ikna edici örneklerle açıklanmaması çok da arzu ettiğim bir durum değildi tabi ki. Bir vesile ile zaman ayırıp, bu yazı serisi ile, nesne-merkezli olmanın ne anlama geldiğini, hem teorik hem de pratik örneklerle anlatmaya çalışacağım.

okumaya devam …

Toplam görüntülenme sayısı: 4142

53 Bunu beğendim 🙂
Tweet
Follow me
Tweet to @kaldiroglu
02 Eylül 2010

Java Dergisi’nin 2. Sayısı Çıktı

Akin Java Java Dergisi

Java Dergisi‘nin 2. sayısı çıktı. Java’da, nesneleri veri tabanında kalıcı kılmayı sağlayan persistence teknolojilerinin geniş bir şekilde ele alındığı bu sayıda, benim de “JPA Programlama” başlıklı bir yazım var. 3 yazıdan oluşacak olan dizinin ilk yazısı bu sayıda.

Dergiye eMecmua üzerinden de ulaşabilirsiniz.

Toplam görüntülenme sayısı: 1328

10 Bunu beğendim 🙂
Tweet
Follow me
Tweet to @kaldiroglu
31 Ağustos 2010

Oracle’da Sequence Oluşturmak

Akin Oracle Oracle, Oracle Se, sequence

Veri tabanlarına veri yazarken en sık karşılaşacağınız durumlardan birisi, anahtar alan olarak ifade ettiğiniz alanın, çakışmayacak şekilde ve hatta sıralı olarak oluşturulması. Bunu uygulamada sağlamak için tonla iş yapmanız lazım. Ya da anahtar alanınız TCKN gibi tekliği başkaları tarafından sağlanan bir bilgi tutmalı ki çakışma ya da sıralı olma problemi olmasın.

Veri tabanları bu durumlar için bazı çözümler sunar. Oracle’ın sequencei ya da MS SQL Server’ın Identity sütunu bu işe yarar. Aşağıda böyle bir sequence Oracle’da nasıl oluşturulur ve bir tablonun anahtar alanını otomatik ve sıralı olarak arttırmak amacıyla nasıl kullanılır hızlıca açıklanmıştır.

Önce aşağıdaki gibi bir ifade ile Oracle’da (bu arada ben Oracle XE kullanıyorum) bir sequence oluşturun:

[cc lang=”sql”]
CREATE SEQUENCE BILLIDSEQUENCE START WITH 1 INCREMENT BY 1
[/cc]

Koddan da anlaşılacağı üzere 1’den başlayıp 1’er artan bir sequence oluşturduk.

Şimdi de BILL tablosuna yazılan her kayıt için bu sequenceden bir sonraki değeri almalıyız. Bu da Oracle’da trigger denen tetikleyicilerle yapılır. Aşağıdaki kod da böyle bir tetikleyici oluşturuyor:

[cc lang=”sql”]
CREATE OR REPLACE TRIGGER BILLIDINSERT

BEFORE INSERT ON BILL FOR EACH ROW
BEGIN
SELECT BILLIDSEQUENCE.NEXTVAL INTO:NEW.NO

FROM DUAL;
END;
[/cc]

Yukarıdaki gibi bir tetikleyici sadece tabloya yeni bir değer girerken değil, farklı olaylarla da çalışabilir şekilde oluşturulabilir. Ben sadece anahtar alan üretmede kullandım böyle bir tetikleyiciyi.

Bu arada çok sık karşılaşılan bir problemi de ifade edeyim. Oracle tablolarıki sütun adlarında “DATE” gibi Oracle’ın anahtar kelimelerinden birini kullanırsanız, daha önce hatayla karşılaşmasanız dahi tetikleyici oluşturuken karşılaşabilirsiniz. Bu durumda en iyi çözüm sütun ismini değiştirmek olacaktır.


Toplam görüntülenme sayısı: 2086

14 Bunu beğendim 🙂
Tweet
Follow me
Tweet to @kaldiroglu
30 Ağustos 2010

John Backus

Akin Yazılım Mühendisliği BNF, derleyici, Fortran, John Backus

Hiç merak ettiniz mi ilk derleyici neydi ve kim yazmıştı? İlk yüksek seviyeli dilin Fortran olduğunu daha önceki bir yazımızda ifade etmiştik. Dolayısıyla da ilk derleyici Fortran için yazılmıştı. Bu derleyici, o zamanlar bir IBM çalışanı olan John Backus liderliğindeki küçük bir grup tarafından 1954 yılında geliştirilmeye başlanmıştı. Amaçları, makina kodu üretecek bir çevirici yazmaktı. Backus’un daha sonra söylediğine göre projeyi 6 ayda bitirmeyi planlamışlardı ama 1955’de başlayan proje ancak 1957’de bitti (demek ki yazılım projelerinin ilk planlandığından 2-3 kat daha fazla zaman alması yeni değil 🙂 ) ve ilk derleyici, bir Fortran derleyicisi olarak çıkmış oldu.

Backus, aslında 1949 yılında Matematik’te master derecesini almış ve sonrasında IBM’de çalışmaya başlamış birisi. Fortran projesi öncesinde, makina kodunu yazmayı kolaylaştıran ve adına Speedcoding denen bir başka dili de geliştirmiş. Aslında Speedcoding bir dilden ziyade kayan noktalı (floating point) sayılar için 4 işlem ile bazı matematiksel fonksiyonları makina dilinde daha yüksek bir notasyonla yazmayı sağlıyordu. Backus’a göre makina dilinde 2 haftada yazılabilen bir program, Speedcoding ile bir kaç saatte yazılabiliyordu.

Ayrıca Backus, Backus-Naur formu denen ve dillerin söz dizimlerini (syntax) ifade eden bir notasyonu da geliştirmiştir. Kısaca BNF denen bu form dillerin gramerleri ve derleyiciler için önemlidir.

2007 yılında ölen Backus hakkında ayrıntılı bilgiye buradan ve Wikipedia‘dan ulaşabilirsiniz.

Toplam görüntülenme sayısı: 1145

8 Bunu beğendim 🙂
Tweet
Follow me
Tweet to @kaldiroglu
«< 65 66 67 68 69 >»

Günlüğüme Hoşgeldiniz

Bu günlükte, Yazılım Mühendisliği, Bilgi Teknolojileri, Java, kişisel gelişim ve zaman zaman da diğer konulardaki düşüncelerimi sizlerle paylaşacağım. Umarım beğenir ve hoşça vakit geçirirsiniz.

Her türlü düşüncenizi, yorum olsun, beğeni ya da eleştiri olsun, bana iletmenizi rica ediyorum sizden. Ayrıca bana akin@javaturk.org adresinden ya da Twitter'dan ulaşabilirsiniz. Videolarıma da buradan ulaşabilirsiniz.

Teşekkür ederim.

Akın Kaldıroğlu

Rahat Okumak İçin

A Decrease font size. A Reset font size. A Increase font size.

Sosyal Medya

  • Twitter
  • Facebook
  • LinkedIn
  • Youtube

Son Twitlerim

→ Takip Etmek İçin

Abone Olun

Emalinizi girerek yazılardan haberdar olun.
Loading

Son Yazılarım

  • Udemy Eğitimlerim Üzerine
  • (başlıksız)
  • Clean Code / Temiz Kod Eğitimi Udemy’de
  • Java ile Nesne-Merkezli Programlamaya Giriş Eğitimi Udemy’de
  • Selsoft Video Eğitimleri
  • Spring ile Kurumsal Yazılım Geliştirme
  • Corona Günlerinde Design Patterns
  • Corona Günlerinde Java
  • JDK 10 ve “var” Özelliği
  • Onur Özcan
  • Analist ve İş Bilgisi
  • Farklı Dillerin Bakış Açısıyla Nesne-Merkezli Programlama
  • Java Nedir?
  • Bilgi Teknolojilerinde Yetenek Yönetimi – II: Tanımlar ve Eleştiriler – I
  • Alelade Hikayeler – II: Bir Başka Performans Problemi

Popüler Yazılar ve Sayfalar

  • Java’ya Nasıl Başlarım? Java’yı Nasıl Öğrenirim? – I
  • Nasıl Yazılımcı Olalım? – II: Hangi Bölümü Okuyalım?
  • Oracle’ın Java SE Sertifikaları: OCA, OCP ve OCM
  • Java Kurulumu ve İlk Programımız
  • İş Analisti İş Tanımı
  • Java Tutorial ya da Kendi Kendine Java Öğren
  • Nasıl Yazılımcı Olalım? – I: Üniversiteli mi Alaylı mı?
  • Tasarım Kalıpları
  • Java’ya Nasıl Başlarım? Java’yı Nasıl Öğrenirim?
  • UML Nedir?

Yazı Kategorileri

Yazı Takvimi

Haziran 2025
P S Ç P C C P
 1
2345678
9101112131415
16171819202122
23242526272829
30  
« May    

Yazı Arşivi

Blogroll

  • Binnur Kurt'un Günlüğü
  • Ender'in Java Blogu
  • Erdem Seherler
  • Kızımın Günlüğü
  • Kurumsal Java
  • Levent Karagöl
  • Levent'in Java Blogu
  • Mert Can Akkan’s java tips,options, news…
  • Yaşar Safkan
  • Yasin Saygılı
  • Yazı Dünyası

Yazı Etiketleri

analiz Bilmek C Desen design pattern EJB Eğitim Fortran Hibernate Java Java'ya nasil baslarim Java dersleri Java EE Java Persistence API Java SE Java Sertifika Java Öğren Java öğreniyorum Java öğrenmek JPA Kalıp Kurumsal Java nesne nesne-merkezli No Silver Bullet object object-oriented Oracle Java Certifications pattern performans programlama programlama dilleri programlama nedir sertifika singleton tasarım tasarım deseni tasarım desenleri tasarım şablonu yazılım yazılım geliştirme Yazılım Mühendisliği yazılımın doğası yazılımın zorlukları Şablon

↑

© Java Günlüğüm 2025
Powered by WordPress • Themify WordPress Themes
 

Yorumlar Yükleniyor...