Kenan Sevindik

  • Ubuntu Kurulumları Hep Böyle Problemli mi Olacak?

    By Kenan Sevindik
    Birkaç senedir dizüstü bilgisayarlarımda ubuntu linux işletim sistemini kullanıyorum. Ubuntu’ya geçiş kararım bir akşam üstü dizüstü bilgisayarımı kapatmaya çalıştığımda Windows XP’nin dakikalar boyunca uğraşması sonucu aniden oluvermişti. O gün bu bugündür de bu işletim sistemini severek kullanıyorum. [Read More]
  • Matematik Nedir?

    By Kenan Sevindik
    Elime bir “discrete” matematik kitabı geçti. Discrete matematiğe üniversiteden bu yana hep ilgi duymuşumdur. Ancak matematiğin bu kolunu anlatmaya çalışan kitaplardan yana da bu güne kadar pek tatmin olmamışımdır. Sanırım Norman L. Biggs’in Discrete Mathematics kitabı bunu tersine çevirecek gibi. Kitabın giriş sayfasındaki şu ifadeleri yıllar önce bilinçli biçimde matamatik... [Read More]
  • Peki Apple Kimden Çalmış?

    By Kenan Sevindik
    Sene 95, o yaz Bill Gates’in büyük bir gürültü ile Windows 95’i tüm dünyaya tanıttığını daha dün gibi hatırlıyorum. Windows 95, 3.1 ile kıyaslandığında kesinlikle bir ilerlemeydi, ancak Windows 95 ile tanıştığımız pek çok yeniliğin aslında Apple ve Macintosh’da çok daha önce hayata geçirildiğini öğrendiğimizde bu hayranlık daha çok kandırılma... [Read More]
  • Neden JSF Değil?

    By Kenan Sevindik
    Son zamanlarda bana neden JSF’i terk ettiğimi sıkça soruyorlar. Aslında terk ettiğim sadece JSF değil, kurumsal web uygulamalarında doğrudan XML ve Javascript ile UI geliştirmeyi zorlayan her türlü UI teknolojisi. Kurumsal web uygulamalarını isteyen müşterilerimiz desktop da ne yapıyorlarsa aynısını web üzerinde de yapmak isterken, yazılım geliştiriler ise UI programlamayı... [Read More]
  • İnce Müşteri

    By Kenan Sevindik
    Son dönemde okuduğum kitaplardan birisi de Yakamoz Yayınları’ndan çıkan Steve Jobs’un hayat hikayesini anlatan bir kitap. Genel olarak çok hoşuma giden ve çeviri dilini de gayet iyi bulduğum bir eser olmasına rağmen, kitabın sonlarına doğru karşıma çıkan bir ifade teknik terimlerde yaygın biçimde kullanılan ve oldukça komik sonuçlar üreten “birebir... [Read More]
  • Peki Bizim Kullanıcı Arayüzlerimiz Nasıl?

    By Kenan Sevindik
    Resim şimdilerde Fransa’daki kazadan sonra uçuşları durdurulmuş Concorde’ların cockpit’inden bir görüntü. Sizin de bazen geliştirdiğiniz uygulamaların kullanıcı arayüzlerinin de bu cockpit kadar karmaşık olduğunu düşündüğünüz oluyor mu? Uygulama geliştirme süreci boyunca sürekli olarak aynı arayüzü kullanmaktan ötürü ortaya çıkan aşinalık, kullanıcı arayüzünün basit olduğu izlenimini verebiliyor. Ancak daha önce bu... [Read More]
  • Spring View Scope For JSF 2 Users

    By Kenan Sevindik
    In JSF 2, there are several new scopes introduced for managed beans, and one of them is view scope. As any developer who deals with JSF and Spring knows, it is much better to define your JSF managed beans in the Spring application context instead of dealing with the primitive... [Read More]
  • Gazi Üniversitesi'nin Teknoloji Günlerindeydik

    By Kenan Sevindik
    Geçen cuma günü Gelecex‘in organizatörlüğünde Gazi Üniversitesi’nde düzenlenen teknoloji günlerinde Ant Ivy SVN ve CruiseControl ile Yazılım Geliştirme Yaşam Döngüsü isimli bir sunum gerçekleştirdim. Sunumu isteyen arkadaşlar buradan erişebilirler. Bir dahaki etkinlikte görüşmek üzere…
  • Subversive mi Subclipse mi

    By Kenan Sevindik
    Uzun bir zamandır Eclipse üzerinde SVN ile ilgili işlemlerimi subversive plugini ile gerçekleştiriyordum. Subclipse yerine bu plugin’i tercih etmemin en önemli nedeni olarak sadece UI deneyiminin subclipse’e kısaysla daha hoş olması diyebilirim. Ancak subversive ile çalışırken beni en rahatsız eden durumlardan birisi svn ile komut satırından checkout edilen projelerin Eclipse... [Read More]
  • HQL ve Criteria Sorgularında FetchMode Farklılıkları

    By Kenan Sevindik
    Lazy tanımlanmış 1:M bir ilişkinizinin fetch tipini eager’a çektiğiniz vakit sorgu sonucu dönen kayıtlar arasında duplikasyon olduğunu tecrübe ettiğiniz oldu mu? Eğer sorgunuzda Criteria API’sini kullanmış iseniz bu durumla pek muhtemelen karşılaşmışsınızdır. Sorgunuzu HQL’e çevirdiğiniz takdirde sonuçlardaki duplikasyonların ortadan kalktığını görürsünüz. Peki Hibernate sorgularındaki bu farklılık neden ortaya çıkmaktadır? [Read More]
  • Sadece Ne Gerekiyorsa Onu Kullanın

    By Kenan Sevindik
    2004 yılının başlarında askerliğimi yaptığım yerde bizden bir yazılım geliştirmemizi istemişlerdi. İnternet bağlantısının bile çok sorunlu olduğu, hiyerarşinin ve bürokrasinin yoğun olduğu bir ortamda sıfırdan enterprise Java geliştirme ortamını toparlamak, değişik enterprise Java frameworklerini ve kütüphanelerini bir araya getirip uygulamayı geliştirmeye başlamak daha zor olacağı için, daha önce hiç proje... [Read More]
  • Nesnelerin Yaratılması ve OCP Prensibi

    By Kenan Sevindik
    Bir önceki yazımda CustomerOrder constructor’ı içerisinde nesnenin initialization’ı dışında ProjectElement ile 1:M parent-child ilişkinin kurulmasından bahsetmiştim. Ardından da exists metodunu ProjectElement’e eklemeye kalkarsak ne gibi bir problemle karşılaşırız diyerek yazıyı sonlandırmıştım. [Read More]
  • Çalışan ve İşveren Açısından Danışman

    By Kenan Sevindik
    Sanırım bizim sektörümüzde danışman terimi için herkesin kafasında farklı bir imaj beliriyor. Çalışanlar açısından danışman demek çoğu zaman akıl vererek para kazanmak anlamına geliyor. Danışmanlık yapmak elini taşın altına koymadan, siz söyleyeceksiniz başkaları yapacak gibi hayal ediliyor. İşverenler açısından ise danışman kendi bünyesindeki personele yaptıramadığı her türlü işi, her ne... [Read More]
  • Nesnelerin Yaratılması ve SRP Prensibi

    By Kenan Sevindik
    Geçen gün şu sıralar birlikte çalıştığım bir müşterimin projesinde şöyle bir durumla karşılaştım. ProjectElement ve CustomerOrder adında iki entity arasında 1:M parent-child ilişki söz konusuydu. ProjectElement’in tekilliğini businessKey ve client gibi iki değişken belirlerken, CustomerOrder’ın tekilliğini ise businessKey, client ve nesnenin ait olduğu projectElement’i belirliyordu. Başka bir ifade ile CustomerOrder... [Read More]
  • Java mı Yoksa .NET mi?

    By Kenan Sevindik
    Yada neden Java? Benzer sorularla sık sık karşılaşıyorum. Kişisel olarak hangi platforma yönelmeleri gerektiğini öğrenmek isteyen öğrenci ve yeni mezun arkadaşların yanı sıra, kurumsal olarak da hangi platforma yatırım yapmalarını öğrenmek isteyen yöneticilerle de sık sık konuşuyorum. Gerçekten cevaplanması zor bir soru ve herkes için geçerli tek bir cevabın da... [Read More]
  • Eclipse ve Kubuntu Arasında Kopyala-Yapıştır Problemi

    By Kenan Sevindik
    Uzun bir aradan sonra dizüstü bilgisayarımda Ubuntu dağıtımı ile Linux kullanmaya başladım. Genel olarak Ubuntu’dan oldukça memnun olmama rağmen geliştirme ortamım ile ilgili bazı problemlerle de karşı karşıya kalmadım değil. Problemlerin çoğu Eclipse ile Gnome ve Kubuntu desktop’ları arasında ortaya çıkıyor. Ubuntu’yu ilk kurduğumda Gnome desktop ile çalışmaya başladım. Aslında... [Read More]
  • Spring Security ile Aynı Kullanıcının Oturum Sayısını Yönetmek

    By Kenan Sevindik
    Spring Security kurumsal web uygulamaları için kapsamlı bir güvenlik framework’üdür. Kurumsal web uygulamalarında karşımıza çıkan pek çok kimliklendirme ve yetkilendirme ihtiyacına hazır bir çözümü içermektedir. Bu ihtiyaçlardan birisi de aynı kullanıcı ile aynı zamanda fakat farklı yerlerden yapılabilecek login sayısının denetlenmesidir. Spring Security bunun için sunduğu hazır yapıda iki farklı... [Read More]
  • Running Jetty Embedded Continued

    By Kenan Sevindik
    For some time ago, I had mentioned running Jetty embedded. This time, while I am still running it embedded, I need to set the “WebContent” path from inside the classpath of the application. It will reside next to my test class. As I don’t want to couple my test case... [Read More]
  • Biri Bizi Gozetliyor

    By Kenan Sevindik
    Bir süredir tasarım örüntüleri hakkında yazılar yayımlıyorum. Bazı arkadaşlar Java dilinde tasarım örüntülerinin gerçekleştirimi için ne tür hazır yapıların olduğunu merak ettiklerini belirtiyorlar. Gelen sorular doğrultusunda bu yazıda Observer örüntüsünün Java’daki karşılığından da bahsetmeye çalışacağım. GUI programlama yapanlar, özellikle awt ve Swing kullananlar bu örüntüyü bilerek veya bilmeyerek zaten uzun... [Read More]
  • Prototype Örüntüsü

    By Kenan Sevindik
    Hemen hepimizin projelerimizde sıklıkla Factory Method ve Builder örüntüleri ile karşılaşıyoruz. Zaman zaman da, özellikle belirli bir platforma veya konfigürasyona özgü nesne grubu oluşturmaya ihtiyaç duyulduğu durumlarda Abstract Factory örüntüsünü de kullanıyoruz. Ancak Prototype örüntüsü hakkında aynı şeyi söylemek zor. Özellikle Java ile uğraşan bir yazılımcı olarak bu örüntüyü neredeyse... [Read More]
  • Fractal Project

    By Kenan Sevindik
    Son zamanlarda fraktalların programlamaya uygulanması üzerine kafa yoruyorum. Daha önceki yazımda da bahsettiğim gibi fraktal model ile composite örüntü arasında bire bir örtüşme söz konusu. Bu konuyla ilgili yazılmış çizilmiş başka neler var diye biraz etrafta araştırma yapmak istedim. Karşıma açık kaynak kodlu middleware sistemler için bir konsorsiyum olan ow2... [Read More]
  • Fraktal ve Composite

    By Kenan Sevindik
    Geçenlerde okuduğum bir kitapta, fraktal örüntülerin aslında sağlam bir programlama modeli oluşturabileceğinden bahsediliyordu. Verilen örnekte ise composite bir component model üzerinden composite ürünlerin modellenmesi söz konusuydu. Gerçekten de composite tasarım örüntüsü fraktal kavramına birebir uymaktadır. Fraktal “parçanın içerisinde bütünün tanımlı olması” şeklinde ifade edilebilir. Sonsuza değin süregelen özyinelemeli bir tekrar... [Read More]
  • Decorator Tasarim Oruntusu

    By Kenan Sevindik
    Decorator tasarım örüntüsü ile aslında GOF’un kitabından önce tanıştım. Peter Van Der Linden’in Beyond Java 1.1 isimli bir kitabı vardı. O zamana kadar tam olarak anlamakta zorlandığım Java I/O paketinin mantığını bu kitap sayesinde bir çırpıda öğrenivermiştim. Aslında Decorator, GOF’da her nedense “yapısal örüntüler” kategorisinde gösterilmiş. Ancak kendisi bir nesnenin... [Read More]
  • Mecburen Mecburen...

    By Kenan Sevindik
    Bizim yaşımızdakiler iyi bilir, MFÖ’nün Mecburen isimli güzel bir parçası vardı. Şarkının nakarat bölümü de “mecburen mecburen mecburiyetten…” şeklinde uzayıp giderdi. Wirofon’un 0.1.0 sürümü de GPL lisanslı olarak açık kaynak kodlu olmuş. Ama hemen “artık Türkiye’de de firmalar ürünlerini açık kaynak kodlu yapmak için yarışa girdiler” diye düşünmeyin sakın. Olayın... [Read More]