"Yazılım Geliştirme" Hakkında Yazılar

Refactoring Nedir?

Blogumda genelde lisans dönemindeki arkadaşlarıma, kardeşlerime hitap ettiğim için bu yazımda da sizlere çok işinize yarayacak bir kavramdan bahsedeceğim. Refactoring. Bir çoğunuz duydunuz, duymayanlarınızda aslında bir şekilde bunu yapıyorlar fakat bu yazının amacı konuyu tam anlamıyla öğrenmek ve kafanızda (büyük ihtimalle) dağınık halde bulunan bilgileri toplayıp bütünleştirmek olacak. Ayrıca belki hiç bilmediğiniz ve denemediğiniz bazı teknikler de öğrenmiş olacaksınız. Tekniklerin hepsine bu yazıda değinemeyebilirim fakat en azından bir giriş olur diye düşünüyorum.

Bir tanım yapmak gerekirse;

Refactoring; yazılımı daha basit, daha anlaşılır, değiştirmesi daha kolay bir hale getirmek amacıyla iç yapısında yapılan ve yazılımın dış davranışını etkilemeyen değişikliklerdir.

Bu tanım üzerinde biraz durabiliriz. Öncelikle amaç belirtilmiş; yazılımı daha basit ve anlaşılır bir hale getirmek, değişmesi kolay yani flexible yapmak. Daha sonra bu amaca ulaşmak için ne yapmamız gerektiği söylenmiş; yazılımın iç yapısını değiştirmek. En sonda da önemli bir şart belirtilmiş; yazılımın dış davranışını etkilememek.

ORM ve JPA Kavramları

Önceki yazılarda Java‘dan ve Object Oriented Programlamadan yeterince bahsedildiğini düşünüyorum. Bu konularda örnek uygulamalar geliştirdikçe etkinliğiniz artacaktır. Önemli olan kavramları ve mantıklarını iyi oturtmuş olmak. Buraya kadar olan bilgiler belki lisans eğitiminizde işinize yarayacaktır ancak daha sonrası için kesinlikle yetersiz. Bu yüzden daha advance konulara giriş yapmak gerektiğini düşündüm. Bu yazıda Object Relational Mapping‘den bahsediyor olacağız. JPA‘nın nasıl oluştuğuna ve ne işe yaradığına değineceğiz. Bundan sonraki yazılarda da Java için en populer ORM uygulaması olan Hibernate üzerinden gitmeyi planlıyorum. Umarım yararlı olacaktır.

Java – Object Oriented Kavramı IV

Yazılım Tasarım Prensipleri özellikle büyük projelerde gerçekten önem arz ediyor. Proje boyunca en çok üzerinde durulması ve düşünülmesi gereken noktanın burası olduğunu yaşayarak anlamış bulunuyorum. Yazılım tasarımı derken kastettiğimiz ekranların tasarımı gibi birşey değil. Class hiyerarşisi, db yapısı, kullanılacak frameworkler ve bunların entegrasyonu, kullanılacak tasarım şablonları (design patterns) ve bunların uyumu gibi konuları kapsayan bir tasarımdan bahsediyorum. Burada dikkat edilecek pek çok nokta var. Ancak en temel ve objektif olanları yazılım tasarım prensipleri ismini haketmiş ve burada onlardan bahsedeceğiz.

Bu prensipleri üstad Robert Martin’in “Agile Software Development: Principles, Patterns, and Practices” isimli kitabında bulabilirsiniz. Bu fikirlerin ilk olarak toplandığı kitaptır ve çok değerlidir. Bu kitaba göre yazılımınızı tasarlarken 3 şeyden kaçının;

Android Uygulamaları I : Android Projesi Oluşturma

Bu yazımda Android projesini Eclipse IDE‘si üzerinde oluşturmayı öğrenerek Android programlamaya giriş yapmış olacağız.

Bir önceki yazımda android ortam kurulumunun nasıl gerçekleştirileceğini anlatmıştım. Gerekli uygulama ortamının hazır olduğunu varsayarak proje için kollarımızı sıvayabiliriz.

Yeni bir Android projesi oluşturmak için izlenecek yol şu şekildedir;

  •  eclipse. exe çalıştırılır ve  File -> New -> Other  yolu izlenir. Daha sonra  Android klasörü altında Android Application Project seçeneğini seçiyoruz ve Next diyoruz.

proje1

Android Ortam Kurulumu

Android ile ilgili genel bir bilgi verdikten sonra  Android platformunda uygulama geliştirmek isteyenler için ortam kurulumunu anlatmaya çalışacağım.

Mobil cihaz kavramı son yıllarda bilişim sektöründe hızla gelişmekte. Bu gelişim donanımsal olduğu kadar yazılımsal olarak da ilerlemektedir. Bu yazılımlardan birini de Android oluşturuyor. Android, mobil cihazlar için geliştirilmiş, Linux tabanlı, açık kaynak kodu destekleyen bir işletim sistemi olmasının yanısıra Android işletim sisteminin uygulama katmanı  java diliyle  geliştirilmiştir.

Java platformdan bağımsız nesneye dayalı bir programlama dilidir. Javanın platformdan bağımsız çalışmasını sağlayan yapıyı da java sanal makinesi oluşturuyor. Android uygulamalarımızı geliştirebilmek için java sanal makinesini kurmamız gerekir. Bunun için java sanal makinesini içeren JDK ‘mızı sistemimize kurmalıyız. Javanın işleyişi ve genel yapısı ile ilgili bilgiye Java Programlama Diline Giriş adlı makaleden ulaşabilirsiniz.

Şimdi Android kurulumu için gerekli dosyalarımızı belirtelim..