RSS
 

Archive for the ‘Genel’ Category

SpringOne 2GX – KeyNote

27 Oct

Uzun süredir beklediğim SpringOne 2GX ilk gunü geride kaldı. Katılımın yüksek olacağı bir etkinliğe benziyor. Bugün gerçekleştirilen “Keynote” çok kalabalıktı .Bu kadar kalabalık olacağını tahmin etmemiştim.

“Keynote” bir hosgeldiniz ve etkinlik kapsamında hangi konuların islenecegi bilgisinin verildiği bir toplantiydi.
20111026-203326.jpg
SpringOne ilk süprizini Keynote da öğrendik. Rod Johnson kolunu kırmış olması ve doktorunun uçma yasağı nedeniyle etkinliğe katılamamasiydi. Ben SpringOne ilk kez katılıyorum ama ben bile etkinliğin Rod olmadan başladığını hatırlamıyorum. Bu Rod un katılmadığı ilk etkinlik olacak. Bunun yaninda Graeme Rocher soğuk algınlığı almış herhalde, sesi çok kötüydü.

Etkinlik kapsamında başlıca islenilecek konular: Spring data, grails, bulut mimariler. Özellikle bulut mimariler bu etkinliğin en önemli konularını içeriyor. Heroku, cloudfoundry, appfog etkinliğe sponsor olmuşlar.

 
No Comments

Posted in Genel

 

SpringOne 2GX ve Chicago

25 Oct

24 Ekim de başlayıp 28 Ekim tarihleri arasında sürecek olan SpringOne 2GX katılmak üzere Chicago ya geldim. Açıkcası Amerika gibi bir ülkeye gelmek bir nebzede olsa insanı geriyor. Bilmediğin bir yer oluşu, gerek yemek gerekse yasam tarzının farklılığı, dil gibi konularda dusunuyorsun. Bütün bunları düşünürken süren 11 saatlik uzun bir uçak yolculugu ise ayrı bir zorluk.

İlk geldiğim gün hiçbir yeri tanimayisimdan dolayı zorluk çektim elbette. O ilk gunün ardından ise sehri tanımaya başlayınca anladım ki çok da farklı bir yer değil burası. Tam tersine İstanbul da sahip olamadığımız o kadar çok güzellikleri var ki burada; kesinlikle görülmesi gereken yerlerden bir yer diye düşünüyorum. Su anda Lake Front adını verdikleri Michigan Lake yanında, Sturbucks’tan aldığım kahvemi yudumlarken yazıyorum bu yazıyı. Burada hemen hemen her yerde wi-fi noktası bulmak mümkün. Public alanların dısında At&t gibi firmaların sundukları güzel wifi noktaları var hızı ise oldukça güzel.
Continue reading “SpringOne 2GX ve Chicago” »

 
No Comments

Posted in Genel

 

Fabrika Yöntemi Tasarımm Deseni ( Factory Method )

09 Aug

Tasarım desenleri hakkında giriş mahiyetindeki yazıma buradan ulaşabilirsiniz. Bu tasarım desenlerinden yaratım desenleri grubundaki ücüncü desen fabrika tasarım desenidir ( Factory Method)

Fabrika yöntemi tasarım deseni,birçok framework yaygın bir şekilde kullanılan bir tasarım desenidir. Bu tasarım deseninde, parelel seviyedeki nesnelerin hangisinin oluşmasını gerektiğini karar veren bir fabrika metodunu ifade eder. Yani aynı arayüz ( interface) gerçekleştiren paralel sınıfların hangisinin gerçekleşmesini sağlayan bir nesne sayesinde bu ilşemi gerçekleştirebiliriz.

Continue reading “Fabrika Yöntemi Tasarımm Deseni ( Factory Method )” »

 

Groovy ve Grails Kurulumu

05 Aug

Grrovy Nedir?

Groovy JVM çalışan bir dinamik bir scripting dildir. Groovy bünyesinde, python, ruby, perl ve smaltalk programlama dillerinden özellikler içerdiği gibi, java kütüphanelerini kullanması, Groovy’ye oldukça önemli artı katmaktadır. Groovy, yazılan bir kodu direkt JVM bytecode çevirir.

Eclipse, NetBeans ve Intellij Idea da geliştirilmiş eklentiler sayesinde groovy geliştirebilirsiniz.

Groovy hakkında daha detaylı bilgi için http://groovy.codehaus.org/ bakabilirsiniz.

Grails Nedir?

Grails, groovy programlama dilinde yazılmış, bir web catısıdr ( web framework). Grails ilk başlarda bilindiği gibi “Groovy on Rails” dir. Yani bir nevi “Ruby On Rails” in, Groovy ile gerçekleştirilmiş halidir.

Java yazılımcıların sürekli kullanmak durumunda kaldığı xml ayar dosyaları grails de yoktur. Grails, ayar işlemlerini, groovy dosyalar üzerinde yazmanızı ister.

Ruby On Rails‘de olduğu gibi, geliştirme, test ve ürün ortamlarını için farklı ayar imkanları sunması oldukça güzel bir özelliktir. Grails için yazılan bir çok eklentin bulunmaktadır ( bu sayı gün geçtikçe artıyor).

Grails hakkında daha detaylı bilgi için http://www.grails.org/ bakabilirsiniz.

Groovy ve grails hakkında yüzeysel bilgi verdikten sonra, kurulumlarını ve kullanıma hazır hale gelmeleri için yapılması gerekenlere bir göz atalım.

Continue reading “Groovy ve Grails Kurulumu” »

 
Comments Off

Posted in Genel

 

COTS (Ticari Kullanıma Hazır – Commercial Off The Shelf)

03 Aug

Abstract. Son günlerde farkına varılan ve kritik öneme sahip yazılım sorunu hata ve hata yakalamadır. Hata yakalama bir diğer adla ayrıksı durum yakalama, program çalışma esnasında ortaya çıkan yada çıkma ihitmaline karşı önceden öngörülen durumları içerir. Bu sadece programlar için değil işletim sistemleri içinde önemli bir durum olarak karşımıza çımaktadır.

Ayrıca son günlerde yazılım sektörünün gelişmisindn dolayı yaılımları bağımlılığı artmıştır. Yazılımın sistemden bağımsızlığını sağlamak amacıyla ve hata ayıklama da kullanılmak için COTS diye bir mekanizma geliştirilmiştir.

Continue reading “COTS (Ticari Kullanıma Hazır – Commercial Off The Shelf)” »

 
No Comments

Posted in Genel

 

Ubuntu Oracle Kurulumu ve İlk Ayarı

01 Aug

Oracle veritabanı Ubuntu kurulumu iki adımda yapabilrisiniz.

Oracle İndirme Sayfasından İndirmek

Oracle indirme sayfasınandan (http://www.oracle.com/technetwork/database/express-edition/downloads/102xelinsoft-102048.html) Oracle Database 10g Express Edition (Universal) veritabanının .deb uzantı versiyonunu indirin. (Eğer .rpm versiyonunu indirirseniz, alien komutu kullanarak .rpm versiyonunu .deb uzantılı dosyaya cevirebilirsiniz. Detaylı bilgi buraya tıklayınız). Daha sonra ise kurulum işlemini grafiksel arayüz ortamında çift tıklayarak yapabilirsiniz.

Oracle Repository Kullanmak

Konsole penceresinden veya Software Source arayüzünu kullanarak aşağıdaki repository paketini /etc/apt/source.list dosyasına ekleyiniz.

deb http://oss.oracle.com/debian unstable main non-free

daha sonra aşağıdaki komutları çalıştırın.


# wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle  -O- | sudo apt-key add -
# apt-get update
# apt-get install oracle-xe

Oracle İlk Ayarı

Eğer daha önce windows ortamında oracle kurulum yaptıysanız, size sorulan sorular kurulum sırasında sorulmadığında şaşırmış olabilirsiniz. √áünkü henüz kurulum daha bitmedi.

Continue reading “Ubuntu Oracle Kurulumu ve İlk Ayarı” »

 
1 Comment

Posted in Genel

 

Yapıcı Tasarım Deseni (Builder Design Pattern)

31 Jul

Tasarım desenleri hakkında giriş mahiyetindeki yazıma buradan ulaşabilirsiniz. Bu tasarım desenlerinden yaratım desenleri grubundaki ikinci desen yapıcı tasarım desenidir (Builder Design Pattern).

Yapıcı tasarım deseni, nesnelerin yapıcı metotlarını soyutlamak suretiyle gerçekleştirilmilerin farklı şekilde vekalet edilmesine sağlar. Peki bu nasıl olmaktadır, bunu bir örnekle pekiştirelim. Örneğin kahve yapıyorsunuz, kahve bildiğiniz gibi her ülkede farklı yapılır. Türkiye’de kahve küçük fincanda, genellikle şekerli olurken,- Brezilyadaki kahve aynı şekilde servis edilmez. Daha sonra yazılarımda göreceğiniz gibi Yapıcı tasarım modeli fabrika tasarım modeline benzer. Hatta soyut fabrika tasarım modeli ile de aynı şekilde yapabilirsiniz. Ancak bazı farklar vardır. Mesela yapıcı tasarım modelinde product dediğimiz nesnelerimiz soyut olmaz, bu nesnelerin farklı olmasını soyutlanmış yapıcı nesneler sağlar.
Continue reading “Yapıcı Tasarım Deseni (Builder Design Pattern)” »

 
1 Comment

Posted in Genel

 

Soyut Fabrika Tasarım Deseni (Abstract Factory)

31 Jul

Tasarım desenleri hakkında giriş mahiyetindeki yazıma buradan ulaşabilirsiniz. Bu tasarım desenlerinden ilki olan soyut fabrika tasarım deseni (Abstract Factory) bu yazımızda genel olarak göreceğiz.

Soyut fabrika tasarım deseninin amacı, farklı ürün ailelerin için uygulanması söz konusu olduğu durumlarda tercih edilir. Mesela yazdığınız uygulamanın hem macos hem de windows platformunda çalışması sözkonusu olduğu durumlarda UI nasıl oluşması gerektiğini soyutlandırarak daha hızlı adapte edebileceğiniz bir yapı geliştirebilirsiniz.

Şekilde de görebileceğiniz gibi Application, hangi platformda çalıştığını bilmez, Application sadece GUIFactory arayüzünden uygulanmış bir nesne geelcektir. Burada hem macos için hem de windows için birer tane factory ve birer tane de Button nesneleri geliştirmeniz gerekir ancak asıl Application nesneniz işletim sistemine göre dallanmayacak ve daha sade bir yapıda olacaktır.

Bunu başka bir örnekle pekiştirelim. Diyelim ki kullanıcıların adres bilgilerini tutmakta için bir sınıfınız var. Farkettiniz ki Türkiye için ülke kodu “tr_TR” kullanmanız gerekirken, ABD için “us_US” kullanmanız gerekiyor. Bunu nasıl tutardınız? Hangi koşulda Türkiye için, hangi koşulda ABD için sonuc dönmeniz gerekiyor? Bunu çözmeniz için nesneye yapıcı metoduna parametre göndrerek yapabilirsiniz.
Continue reading “Soyut Fabrika Tasarım Deseni (Abstract Factory)” »

 
1 Comment

Posted in Genel

 

Tasarım Desenleri (Design Pattern)

31 Jul

Yazılım geliştirmse süreciyle uğraşıyorsanız, özellikle nesneye dayalı programlama (Object Oriented Programming)- ile uğraşıyorsanız mutlaka görmüşsünüzdür. Peki tam olarak nedir tasarım desenleri?

Tasarım desenleri (Design Patterns), bir yazılımın değişik durumlarda nasıl davranabileceğine ışık tutan şablondur. Herhangi bir programa dili bağımlı değildir. Projenizde oluşabilecek durumlar karşısında nasıl bir çözüm bulmanız gerektiği konusunda size ışık tutar. Özellikle daha önce sizin karşılaştığınız sorunların benzerleri için geliştirildiğinden size yardımcı olacaktır. Geliştirdiğiniz uygulama nasıl bir yapıda olduğu, ileride yeni özelliklerin eklenebileceği, farklı platformlarda çalışabilmesi… gibi yeni gelecek özelliklere çok hızlı adapte olabilmek için size bazı şablonlar sunar. Bu sayede, tüm uygulamayı yeniden yazmanız gerek kalmaz.

Örneğin, Scala programlama dili için kullanılacak bir IDE yazıyorsunuz, yazdığınız IDE nin şu an sadece linux ortamı için düşündünüz; ama çok fazla istek oldu ve bu uygulamanızı hem MACOS hem de windows platformunda implemente etmek durumunda kalırsanız, ne kadar kod yazmanız gerekiyor? Yoksa tüm uygulamayı sıfırdan yazmanız ( hatta 3 farklı proje olarak) mı gerekecek?

İşte bu ve buna benzer sorunları çözebilmeniz için, tasarım desenleri size bazı şablonlar sunar. Bu şablonlardan hangisinin sizin ihtiyacınıza göre olduğuna sizin karar vermeniz gerekecek.

Genel olarak tasarım modelleri 3 kategoride değerlendirilir:

Yaratım Desenleri:

Yapısal Desenler:

  • Uyumlayıcı(Adapter)
  • Köprü (Bridge)
  • Bileşik(Composite)
  • Dekoratör (Decorator)
  • Vitrin(Facade)
  • Sineksiklet(Flyweight)
  • Vekil(Proxy)

Davranış Desenleri:

  • Sorumluluk Zinciri (Chain of Responsibility)
  • Komut(Command)
  • Yorumlayıcı(Interpreter)
  • Yineleyeyici(Iterator)
  • Arabulucu(Mediator)
  • Yadigar(Memenoto)
  • Gözlemci(Observe)
  • Durum(State)
  • Strateji (Strategy)
  • Kalıp Yordamı (Template method)
  • Ziyaretçi(Visitor)

Bu desenleri sırasıyla yazılarımda anlatacağım.

Tasarım desenleri hakkındaki örnek uygulamaları http://github.com/rayyildiz/DesignPatterns adresinden ulaşabilirsiniz.

 
1 Comment

Posted in Genel

 

NoSQL Giriş ve MongoDB

08 May

NoSQL, isminden de anlaşılabileceği gibi SQL kullanılmadığı veritabanlarına verilen genel bir isimdir. Genelde ORM ile karıştırılmaktadır. NoSQL, işişkisel veritabanlarına (RDMS) alternatif bir tekniktir.

ilişkisel bir veritabanında (RDMS), tablolar oluşturur, tabloları birbirleriyle ilişki kurarak, join, kartezyen gibi SQL cümlecikleriyle kullanırız. Bunun birçok faydası vardır. Hatta yazılım geliştirirken, SQL den kaçınmak maksadıyla, ORM aracları geliştirilmiştir. Bu sayede, veritabanında yer alan tablolara, nesne gözüyle bakılabilmiş, OOP mantığıyla üzerinde işlem yapılabilmiştir.

NoSQL ise böyle birşey değildir. ORM araçları, sizin bir nesneye set ettiğiniz değerleri, SQL cevirerek, sizin SQL ile uğraşmanızı engellemiş olurlar. NoSQL veritabanları dağıtık bir mimari ile oluşturulmuş olup, yarının teknolojisi olarak görülmektedirler. Google’ın BigTable, Amazon’un Dynamo, Facebook’un Cassandra bu tür birer veritabanlarıdır.Bu üç veritabanı da PB boyutunda veri tutmak için geliştirilmiştir. Ben bunlardan konfigurasyon acısından daha kolay yapılan döküman tabanlı bir veritabanı hakkında bilgi vereceğim: MongoDB.

Continue reading “NoSQL Giriş ve MongoDB” »

 
4 Comments

Posted in Genel