BizimAlem.com – Bir Sistemin Tasarlanış Hikayesi
BizimAlem.com 2001 ocak ayında başlamış olduğum bir web projesi. Amacım, Avrupa’da yaşayan 5 milyondan fazla Türk kökenli vatandaşımız için bir araya gelebilecekleri bir sanal ortam oluşturmaktı.
BizimAlem.com 2001 ocak ayında başlamış olduğum bir web projesi. Amacım, Avrupa’da yaşayan 5 milyondan fazla Türk kökenli vatandaşımız için bir araya gelebilecekleri bir sanal ortam oluşturmaktı.
3 ocak 2009 tarihinde Ankara Çankaya üniversitesinde CETURK tarafından düzenlenen Java teknolojileri seminerine konuşmacı olarak katıldım ve Apache Wicket framework hakkında bir sunum yaptım. Sunum dosyalarını aşağıdaki linkler üzerinden edinebilirsiniz. Sunumda kullandığım Power Point presentasyonu Wicket hakkında kaleme aldığım bir makale . EOF (End Of Fun) Özcan Acar
7.1.2009 tarihinden itibaren Stuttgart (Almanya) şehrinde bulunan Dekra firması için J2EE danışman (freelancer) olarak işe başladım. 6 aylık proje sözleşmesi imzaladım. Dekra mühendislik hizmetleri veren bir firma. Hizmet yelpazesi otomobil vizesinden, binalarda kullanılan asansörlerin kontrolüne kadar değişik alanları kapsıyor. Dekra Merkez binası (Stuttgart – Almanya) Dekra’nın büyüklüğü hakkında fikir edinebilmeniz için firma hakkında bazı bilgiler: […]
Doug Wallace, Isobel Raggett ve Joel Aufgang tarafından kaleme alınan bu kitap, Extreme Programming tekniklerinin bir web projesinde nasıl uygulanabileceğini, bir proje menajeri perspektifinden anlatmaktadır. Bilindiği üzere Extreme Programming (XP) server tarafında çalışan kodların implementasyonunu esnasında oluşturulmuş bir dizi yazılım tekniklerini ihtiva etmektedir. Bu sebepten dolayı XP bir web projesinin nasıl XP teknikleri kullanılarak implemente […]
Tüm okuyucularımızın yeni yılı kutlu olsun. Umarız yeni yıl ülkemize ve halkımıza bol sağlık, mutluluk, barış ve kazanç getirir.
3 ocak 2009 tarihinde Ankara Çankaya üniversitesinde CETURK tarafından düzenlenen Java teknolojileri seminerine konuşmacı olarak katılacağım. Apache Wicket framework hakkında bir sunum yapacağım. Bu konu hakkındaki yazımı http://www.kurumsaljava.com/2008/12/25/web-framework-gokyuzunde-yeni-bir-yildiz-wicket/ adresinden temin edebilirsiniz. Detaylar için tıklayın.
Web tabanlı programlar oluşturmak için kullanabileceğimiz Java tabanlı birçok web framework bulunmaktadır. Bunlardan en popüler olanları:
Bir işlemi yapabilmek için birden fazla yöntem (algoritma) mevcut olabilir. Yerine göre bir yöntem seçip, uygulamak için Strategy tasarım şablonu kullanılır. Her yöntem (algoritma) bir sınıf içinde implemente edilir. Bu yazıyı PDF olarak edinebilirsiniz. Konuyla İlgili Kitaplar
Iterator tasarım şablonu ile bir listede yer alan nesnelere sırayla, listenin yapısını ve çalışma tarzını bilmek zorunluluğumuz olmadan erişebilir ve bu nesneler üzerinde işlem yapabiliriz. UML diagramında Takim interface sınıfını implemente eden iki basketbol takımı yer almaktadır: Efes Pilsen ve Fenerbahçe Ülker Basketbol takımları. Ligde oynayan her takım için Takim interface sınıfını implemente eden bir […]
Büyük usta Robert Cecil Martin tarafından kaleme alınan Agile Software Development isimli kitapta çevik yazılım ile ilgili prensipler ve pratikler yer almaktadır. Özellikle tasarım prensiplerinin detaylı anlatım bulduğu kitabın, her yazılım mühendisi tarafından mutlaka okunması gereken bir kaynak kitap olarak görebiliriz. Kitabın içeriği özetle şu şekildedir: Çevik pratikler Extreme Programming’e giriş Planlama / Test / […]
XP projeleri test güdümlü (Test Driven Deevelopment =TDD) ilerler. Programcı, testlerin gerektirdiği sınıfları oluştururken tasarım kararları alır bu bunları uygular. Bu tasarım kararları kodun gelecekte ne oranda yeniliklere açık olduğunu belirler.
Yazılım sektörü yıllardan beri kan kaybediyor. Ama artık taze kan bulundu ve hastalığın tedavisi kolaylaştı. Çözüm çevik süreçler! Günümüze kadar uzanan süreçte yazılım sektöründe yapılan projeler nereye varacağı belli bile olmayan büyük maceralar haline gelmiştir. Bunun başlıca sebebi kullanılan yazılım yöntemlerinin gereksinimlere cevap verecek yapıda olmamasıdır. Çevik süreçler bu sorunu çözecek nitelikte. Bu bölümde yazılım […]
Birçok programın var olma nedeni veriler üzerinde işlem yapmak,verileri bilgibankalarında depolamak ve bu verileri tekrar edinmektir. Bu böyle olunca, verilerin program tarafından nasıl bilgibankalarına konulduğu ve tekrar edinildiği önem kazanmaktadır. Data Access Objects (DAO) tasarım şablonu ile, kullanılan veritabanına erişim ve veri depolama-edinme işlemi daha soyutlaştırılarak, diğer katmanların veritabanına olan bağımlılıkları azaltılır. DAO ile diğer […]
Yazılım sürecinde oluşturulan sistemin kalite kontrolü yazılım testleri ile yapılır. Bu bölümde yazılım testlerin nasıl hazırlandığını yakından inceleyeceğiz. Bir sonraki bölümünde yer alan test güdümlü yazılımı (Test Driven Development – TDD) uygulayabilmek için yazılım test konseptlerinin bilinmesi gerekmektedir. Java tabanlı sistemlerde testler JUnit çatısı kullanılarak hazırlanır. Değişik türde yazılım testleri oluşturmak mümkündür. Bunlar: Birim testleri […]
Facebook gibi, aynı anda binlerce insanın kullandığı web platformlarının temel sıkıntısı kullanılan kaynakların (hardware, software) yetersiz kalmasıdır. Kullanıcı sayısı arttıkça sistem kaynaklarının da artırılması gerekmektedir. Bu genelde bilgibankası için yeni server sistemlerini takviyesiyle gerçekleşir ya da mevcut server sistemlerinin hafıza (ram) alanlarının genişletilmesiyle. Kullanıcı sayısı çoğu platformlarda her gün arttığı için, kaynak kapasitenin artırılması da […]
Bazı şartlar altında bir sınıftan sadece bir nesnenin oluşturulması ve oluşturulan bu nesnenin tüm sistemde kullanılması gerekebilir. Örneğin bilgibankası için bir connection pool (bilgibankası bağlantı havuzu) sadece bir defa oluşturulmalı ve kullanılmalıdır. Bu durumda Singleton tasarım şablonu kullanılarak, bir sınıftan sadece bir nesnenin oluşturulması sağlanabilir. Bu yazıyı PDF olarak edinebilirsiniz. Konuyla İlgili Kitaplar […]
Sürekli entegrasyon (Continuous Integration = CI) kod üzerinde yapılan her değişikliğin ardından, tüm sistemin çalışır durumda olduğunu, yapılan değişikliğin sistemin bazı bölümlerinde kırılmalara yol açmadığını tespit etmek için kullanılan yöntemdir. Kırılmaları tespit edebilmek için testlere (JUnit) ihtiyaç duyulmaktadır. Bu testler, yapılan değişikliğin neticesi olarak yeni bir yapı (build) hazırlandıktan sonra otomatik olarak çalıştırılır. Yapılan değişiklik […]
Günümüzde kurumsal projelerin büyük bir bölümü geleneksel yazılım metotları ile gerçekleştirilmektedir. Müşteri gereksinimleri en son detayına kadar kağıda döküldükten sonra, programcılar dokumente edilen gereksinimler doğrultusunda yazılımı gerçekleştirmektedirler. Eğer proje bütçesi yeterli ise, yazılım süreci sona erdikten sonra testler hazırlanarak, yazılım sistemi test edilmektedir. çoğu zaman hiçbir unit testin yapılmadığı sistemlerin firmalar tarafından kritik iş […]
En popüler çevik süreçlerden ( Agile Process) birisi XP olarak bilinen Extreme Programming’dir. Kent Beck ve arkadaşları tarafından 1996 yılında Chrysler firmasında yapılan bir proje bünyesinde oluşan XP, ihtiva ettiği basit ama bir o kadar etkili yöntemlerle yazılım sektöründe yeni bir rüzgarın esmesini sağlamıştır. XP ile oluşturulan çevik süreçte müşteri ve gereksinimleri merkezi bir rol […]