29 Aralık 2014 Pazartesi

Hava Alanı Bilet Rezervasyon Uygulaması


Malum, şirket işleri vs. arasında birde yazılım mühendisliği okuyorum.Dönem bitiminde Object Oriented Programming dersinden bir proje listesi verdiler; bende Java da Airline Reservation System projesini seçtim.3-4 gün birkaç saat ayırıp tamamladık verdik projeyi burada da paylaşayım dedim.Belki yeni başlayan arkadaşlara örnek kod olur.

Proje Tanımı : 

Develop an airline reservation system. Ideally, flight and customer data should be saved/retrieved
in/from separate files (***)

There will be two menus
Admins
a. Create Flight: Admins will be able to create flight from an airport to another airport on certain dates.
A flight might only operate on certain days of the week
b. Search Flight: Admins will be able to search flights by airport, date

Customers
a. Book Flight: Customers will be able to search and book a flight
b. Cancel a Reservation: Customers can cancel an already made reservation
c. List Flights and Reservations: Customer will be able to see past bookings and current reservations

Proje Ekran Görüntüsü 








Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.

21 Aralık 2014 Pazar

ASP.Net MVC ye Başlangıç


Son zamanlarda çok popüler olan MVC ye uzun zamandır geçiş yapamıyordum iş güç yoğunluğundan, ama tabi bunlar bahane, web forms da uzun yıllardır çalıştığım için kolayıma geliyordu sadece.Öte yandan sık sık ilgimi geçtiği için incelemeler ve araştırmalar yapmaktan da geri kalmıyordum.
Bizim şirkette de MVC ile uygulamalar geliştirilmeye başlanınca ve bende ara ara dahil olunca bu geliştirmelere dedim artık bir başlangıç yapalım.

MVC Ne Anlama Geliyor !
MVC temel olarak Model-View-Controller üçlüsünden oluşan bir yapıya sahip ve uygulamaları buna göre geliştiriyorsunuz.

Model-View-Controller ı biraz açalım :
Model : Uygulama üzerinde veri iletişiminden sorumlu iş katmanı olarak tanımlanabilirVerileri veritabanına gönderilmesi, veritabanından alınması, kontrollerden geçmesi gibi kısımlardan sorumludur.Verinin kullanıcıya nasıl iletileceği ile ilgili herhangi bir sorumluluğu yoktur.

View : Model katmanından alınan verileri kullanıcıya sunmak için kullanılan katmandır.Verilerin ne şekilde  alındığından haberi olmaksızın object olarak aldığı veriyi kullanıcıya iletir.

Controller : Kullanıcıdan alınan verileri işlemekten sorumlu katmandır.Kullanıcıdan aldığı verileri işleyerek veri tabanına iletilmek üzere Model katmanına ileten, view a ne şekilde veri iletileceğine karar veren katmandır.

Aşağıdaki şemada Model-View-Controller katmanlarının aralarındaki veri iletişimi görülmektedir.




View tarafında .aspx dosyasında aşağıdaki gibi c# kodu yazabilir ve html içerisinde kullanabiliriz.



<!-- Single statement blocks  -->
@{ var total = 7; }
@{ var myMessage = "Hello World"; }

<!-- Inline expressions -->
<p>The value of your account is: @total </p>
<p>The value of myMessage is: @myMessage</p>

<!-- Multi-statement block -->
@{
    var greeting = "Welcome to our site!";
    var weekDay = DateTime.Now.DayOfWeek;
    var greetingMessage = greeting + " Today is: " + weekDay;
}
<p>The greeting is: @greetingMessage</p>





Yukarıda gördüğümüz gibi  sayfa içerisinde kod bloğu açmak için @{ buraya kod geliyor} bloklarını kullanabiliriz.
Herhangi bir değişkeni sayfa içerisinde göstermek için değişken başına @ işareti koymamız gerekmektedir.

MVC ye genel bir giriş yapıp View ile ilgili birkaç bilgi verdikten sonra yazımızın sonuna geldik.Sonraki yazılarımda örnekler ile MVC ye devam edeceğim.

Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.

12 Aralık 2014 Cuma

Abstract Singleton Design Pattern


Geçenlerde bir projem için Singleton tasarım deseni hazırlamam gerekiyordu fakat singleton benim için tam da yeterli olmayacaktı.Çünkü proje oldukça büyük ve her an onlarca nesne örneği oluşturan ve aynı nesne örneğini farklı şekillerde oluşturan bir projeydi.Aynı nesne örneği farklı şekillerde farklı contructor lar ile oluşturulduğundan Singleton Design Pattern tek başıma işimi görmeyecekti.

Bunun üzerine işe koyuldum ve biraz araştırma birazda çalışma sonrası Factory Singleton Design Pattern kullanarak problemimi kalıcı ve etkili bir şekilde çözmüş oldum.

Factory Singleton Design Pattern ımın kodları aşağıdaki gibi :

   public static class SingletonFactory
    {
        private static readonly IDictionary<Type, object> instances;

        static DBBaseSingletonFactory()
        {
            instances = new Dictionary<Type, object>();
        }

        public static T Create<T>(params object[] args)
        {
            Type instanceType = typeof(T);

            T instance;

            if (instances.ContainsKey(instanceType))
            {
                instance = (T)instances[instanceType];
            }
            else
            {
                instance = (T)Activator.CreateInstance(instanceType, args);

                instances.Add(instanceType, instance);
            }

            return instance;

        }//End method

    }



Örnek Kullanımı aşağıdaki gibi oluyor.
Aşağıdaki örnekte veri katmanındaki DBProduct nesnesi oluşturuluyor.

 DBProduct menu = SingletonFactory.Create<DBProduct>();





Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.

18 Temmuz 2014 Cuma

AN Yazılım Yeni Logomuz


       AN Yazılım geçtiğimiz hafta 2.yılını doldurdu.Geçen bu 2 yıl içerisinde bizimle çalışan tüm arkadaşlarımız bizimle aynı özveri ve sahiplenme iç güdüsüyle hareket ederek AN Yazılım ın günden güne standartların da üzerinde ilerleyen bir firmasında büyük rol oynadılar.
      Kuruluş itibari ile bir startup mantığıyla ilerleyen AN Yazılım uzun süre mobil bir ekip ile aynı ortamda olmadan da ne kadar güzel işler başarılabileceğini kanıtladı.Elbette buna kullanılan proje yönetim sistemleri, ortak saatlerde yapılan video lu konferans uygulamaları gibi bir çok teknoloji ürünlerinin büyük katkısı oldu.
AN Yazılım bugün yerleşmiş modern büyük bir ofise ve içerisinde enerjik, yaratıcı, tamamen kendine has orjinal kişilikler barındıran güçlü bir ekibe sahip.
 
 
 
 
 
 
 
 
 
  
 
 
Web
Mobil
E-Ticaret Sistemleri



AN Yazılım
Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.

13 Temmuz 2014 Pazar

Eclipse'e Var Olan Android Uygulama Projesini Eklemek


Bir bilgisayar da eclipse üzerinde geliştirdiğiniz projenizi başka bir bilgisayar a eklemek istediğinizde Sırasıyla aşağıdaki adımları izlemeniz yeterlidir.

1.Menü Seçimleri : File -> İmport
2.Gelen ekranda yapılacak seçimler : Android -> Existing Android Code Into Workspace seçimleri
3."Root Directory" bölümünde "Browse" projenizi dosyas üzerinden seçin.
4."Finish " i tıklayın.
5.Eğer proje dosyalarınızı görebileceğiniz "Navigator" açık değil ise sırasıyla menü den "Window->Show View->Navigator" ü seçmeniz yeterlidir.Sol bölümde proje ve dosyalarını görebilirsiniz.



Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.

10 Temmuz 2014 Perşembe

c# Object To Json Converting


C# da çalışırken HttpPost ile json verisi göndermemiz gereken durumlarda projedeki nesneleri json formatında veriye dönüştürmemiz ve json veri formatında post etmemiz gerekir.Bunun için aşağıdaki metodu kullanmanız faydalı olabilir tek tek uğraşmamak için, yada sonrasında ihtiyacınıza uygun bir şekilde modifiye etmek için fikir verebilir.

Bu metodumuz verilen class ın adını, tüm property isimlerini ver property value larını çekiyor ve json formatında string veri olarak geriye döndürüyor.


      private string ConvertDataToJsonFormat<T>(T obj)

        {

            Type objType = obj.GetType();

            IList<PropertyInfo> properties = new List<PropertyInfo>(objType.GetProperties());

 

            string jsonData = "{\"" + objType.Name + "\":{";

 

            string singleDataFormat = "\"{0}\":\"{1}\"";

            int index = 0;

            foreach (PropertyInfo prop in properties)

            {

                if (index > 0)

                    jsonData += ",";

                else

                    index++;

 

                jsonData += string.Format(singleDataFormat, prop.Name, prop.GetValue(obj, null));

 

            }//End Foreach

 

            jsonData += "}}";

 

            return jsonData;

        }//End Class



Bu metod temel olarak ihtiyaçlarınızı çözecektir.Fakat daha kapsamlı işlemler ile json veri formatı elde etmek istiyorsanız Newtonsoft.Json dll ini indirmenizi tavsiye edebilirim.İçerisinde object to json, linq to Json gibi güzel özellikler bulabilirsiniz.Aşağıdaki linkten kullandığınız .Net versiyonuna göre indirme yapabilir, dökümanlara ulaşabilirsiniz.

https://json.codeplex.com/
Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.

26 Haziran 2014 Perşembe

Asp.Net IIS 7 "HTTP Hatası 404.2 – bulunamadı"


Bu hata durumunda IIS e girip, "ISAPI and CGI Restriction" (Türkçe için "ISAPI ve CGI Kısıtlamaları") bölümüne girip kullandığınız asp.net framework versiyonu için "İzin Ver" demeniz yeterlidir.
Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.

25 Haziran 2014 Çarşamba

İnsanlara Değer Vermek Demişken


Kendine yeni bir yol çizebilmek için, 
Bazı insanların üstünü çizmek zorundasın.
Layık OLmayan Kimseye Dil Dökme, 
Kendini Boş Yere Rezil Edersin... 
 
Ve bazı insanlar gelince, 
Ve bazı insanlar gidince güzel.
Kimse hayatınızdan gitmesin diye uğraşmayın.
Nasıl gitmek isteyen bir bahane buluyorsa, 
Yanınızda olmak isteyen de, 
Bunun bir yolunu mutlaka bulacaktır.
 
Yani hiç kimseye hak ettiğinden fazla değer verme;
ya onu kaybedersin, ya da kendini mahvedersin.
Onun için insanlara hak ettikleri kadar değil taşıyabilecekleri kadar değer vereceksin.
 
Çünkü; verdiğin değerin karşılığını görmüyorsan,
Gördüğün değeri ver ki; herkes yerini bilsin…
 
O yüzden;
 
Geldiğin zaman boşluk dolduran değil, 
Gittiğin zaman yeri doldurulamayan ol.
 
Anonim
Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.

24 Mayıs 2014 Cumartesi

Plesk Panel - IIS Log Dosyasını Silme



IIS tarafında istatistik ve loglama dosyaları ile ilgili gerekli alan kısıtlamaları yapılmadığında bazen bu log dosyası 5-10 GB yada daha fazla bile olabilir ve sunucuda ekstra çok fazla yer kaplar.Ve bu dosyayı tespit edip silmek istediğinizde de silinmez malesef.

Normalde C:\inetpub\logs\LogFiles\W3SVC2\u_extend1.log dosya yolunda bulunan bu dosya ilgili servisler tarafından kullanıldığı için silinemez.Bu dosyayı silebilmek için aşağıdaki adımları izlemeniz yeterlidir.

  1. IIS Admin ve World Wide Web Publishing servislerini durdurulur
  2. Dosya silinir.
  3. Servisler tekrar başlatılır.
 
Umarım işinize yarar.
 
 
 
 
Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.

18 Mayıs 2014 Pazar

C# konsol uygulamasında progress gösterimi


Konsol uygulaması geliştirirken bazen windows ve web uygulamalarında olduğu gibi progress bar kullanmamız gerekebilir.Böyle durumlar için kendim için yaptığım basit bir metodu paylaşmak istedim.

Metod kısaca parametre olarak verdiğiniz saniye kadar ekranda bir, iki ve üç nokta  görünmesini sağlıyor.Umarım faydalı olur.

private static void GetProgress(int progressSecond)
{
 
int sleepSecond = 5;

int cursorLeft = Console.CursorLeft;

int sleepTime = 500;

for (int i = 0; i < (sleepSecond / 2); i++)

{
 
 
Console.SetCursorPosition(cursorLeft, Console.CursorTop);

Console.Write(".");

Thread.Sleep(sleepTime);

Console.SetCursorPosition(cursorLeft, Console.CursorTop);

Console.Write(" ");

Console.SetCursorPosition(cursorLeft, Console.CursorTop);

Console.Write("..");

Thread.Sleep(sleepTime);

Console.SetCursorPosition(cursorLeft, Console.CursorTop);

Console.Write(" ");

Console.SetCursorPosition(cursorLeft, Console.CursorTop);

Console.Write("...");

Thread.Sleep(sleepTime);

Console.SetCursorPosition(cursorLeft, Console.CursorTop);

Console.Write(" ");

Thread.Sleep(sleepTime);

}

}
 
Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.

26 Nisan 2014 Cumartesi

Kitapbu.org Etkinlikleri


Uzun zamandır git gide büyümekte olan kitapbu.org Sosyal Sorumluluk peojemiz ile bu gün İzmir Kitap fuarı ve "İzmir Üniversitesi İnternet Haftası" etkinliğinde olacağız.

Tüm kitap severler davetlimizdir.

Adres için detaylı bilgi almak isteyenler kitapbu.org facebook ve twitter hesaplarından bizim ile iletişime geçebilirler.
Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.

25 Nisan 2014 Cuma

Biraz Wing Chun


Uzun zamandır ilgilendiğim bir savaş sanatı olan Wing Chun, başladığım günden beri hayatıma huzur, sakinlik, daha sağlıklı bir yaşam ve daha önce hiç tatmadığım bir özgüven duygusu getirdi.

Önceleri boks, aikido ve kick boks  üzerine bir spor yapmayı düşünürken sonraları keşfettiğim ve incelediğimde içerisinde çok farklı bir felsefe ile bir yaşam tarzı barındıran ve tüm bu sporlar daki teknikleri de içerisinde barındıran bir savaş sanatı olarak tanıdım Wing Chun'u.

Wing Chun dan magazinsel olarak bahsetmek gerekirse herkesin büyük usta olarak tanıdığı Bruce Lee nin yaptığı ilk dövüş sanatıdır.
Bruce Lee, Wing Chun u tüm dünya ya tanıtan  Si fu IP Man in öğrencisi olarak başladığı bu yolculukta ilk olarak Wing Chun eğitimi alıp, sonrasında birkaç dövüş sanatı üzerine de eğitim alıp kendi dövüş sanatını oluşturmuştur.Bu sanat içerisinde de birçok Wing Chun tekniği görmek mümkündür.

Öncelikle Wing Chun dövüş sanatını herkes öğrenebilir.Özellikle zayıf, kısa boylu ve kadınlar için en ideal dövüş sanatıdır.Bu dövüş sanatını ilk çıkaran kişi nin bir bayan olması da zaten bunun bir göstergesi.Burada ağırlık rakibinin enerjisini kullanarak saldırı olduğu ve kavga etmek yerine direk kalıcı hasar verip tehtid den kurtulmak üzerine teknikler olduğu için ne kadar güçlü olduğunuz da çok önemli değildir.


Bruce Lee 'nin Wing Chun teknikleri içeren bir videosu :




İzmir de Wing Chun eğitimi alabileceğiniz bir salon arayışınız olur ise aşağıdaki siteden bilgi alabilirsiniz :
http://wingtsun-izmir.com/
Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.

18 Nisan 2014 Cuma

Bir Mühendisle Sevgili Olmak İçin 15 Neden


Mühendislik fakültelerinde kızların azınlığını bilmeyen yoktur. Bu durum ise ne yazık ki mühendis erkekler sapıktır, abazadır gibi önyargıları da beraberinde getirir. Fakat durum tabi ki böyle değil. Üniversiteli kızların bu önyargılardan kurtarabileceğini umduğum, ''Neden bir mühendisle sevgili olayım ki?'' sorusuna cevap niteliğinde 15 maddelik listeyi görmek istermisiniz ?




1 - Biri mücadele mi dedi ?

Mühendisler aşırı mücadelecidir . Sizin için sonuna kadar mücadele edip sizi kaybetmemek için elinden geleni yapacaktır .






2 - Aileniz ilişkinizi onaylayacaktır

İyi bir maaşa kim hayır demez ki . Aileniz helal süt emmiş bir mühendisi kabul edecektir.







3 - Yemek

Üniversite yıllarında tecrübe ettiği yemek kıtlığı, mühendisimizin yemeğin güzelliği veya çirkinliği konusunda şikayet etmeğeceğinin teminatı niteliğindedir. Yediği envai çeşit makarnadan sonra her yemeği kabullenecektir. Lakin mühendisimizin öğrenci evindeyken alıştığı şeyleri bırakması biraz zor olabilir.








4 - Yeni bir şey mi aldınız ?

Yeni bir ürün aldınız ve nasıl kurulacağını bilmiyor musunuz? Merak etmeyin sevgiliniz küçük bir araştırma sonucunda ürünün tüm detaylarını öğrenecek ve kurulumunu yapacaktır.








5 - Zaman

Öğrencilik döneminde herşeye zaman bulabilen mühendisimiz, biraz son dakikacı da olsa sizinle birlikteyken herşeye kolaylıkla zaman ayıracaktır.







6 - Matematik

KPSS'ye hazırlanacaksınız fakat matematiğiniz çok mu kötü? Bırakın problemlerinizi sevgiliniz çözsün, size gerekli matematik yardımı yapsın.







7 - Kalem isteyen ?

Yanınızda sürekli kalem bulunduran biri bulunacak. Ceplerinde bulamazsa kulağının arkasına bakmayı ihmal etmeyin.







8 - Uzun geceler

Öğrencilik yıllarında derslerin yoğunluğu yüzünden sürekli sabahlayan mühendisler, uzun gecelere alışıktır.







9 - Çocuklar

Büyük ihtimalle zeki bir çocuğunuz olacaktır. Sonuçta babası mühendis :)






10 - Ayar

Mühendisimiz evdeki dvd player, fırın, buzdolabı vb. bilimum aletin saatini usanmadan ayarlayacak, size kolaylık sağlacaktır.







11 - İskambil oyunlarına alışın

Öğrencilik dönemini batak, king, pişti gibi kağıt oyunlarıyla geçiren mühendisimiz size de tüm iskambil oyunlarını öğretecektir. Bu sayede iskambil kağıtlarının fal bakmaktan başka işlere de yaradığını öğrenebilirsiniz.








12 - Eviniz

Eğer bir inşaat mühendisiyle evlenecek olursanız, evinizin yapısal dayanıklılığıyla ilgili kafanızda hiç soru işareti olmayacaktır.







13 - Bilgisayarınız ne alemde?

Bİlgisayarınızda virüs mü var? Program yükleyemiyor musunuz? Bırakın sevgiliniz sizin için bunları halletsin.







14 - Tamirciye gerek yok

Tuvaletiniz mi akıtıyor? Musluk mu bozuldu? Hiç düşünmeyin mühendis sevgiliniz akışkanlar mekaniği dersi aldı. Sizin için halledecektir.







15 - Tartışmalarınız

Mühendisimiz olaylara mantıksal yaklaşımıyla size tartışmanızın objektif bir analizini yaparak sinirinizi kolaylıkla geçirebilir. Fakat ne yazık ki bunun her zaman uzun süreli olacığının garantisi veremeyiz.










Kaynak : http://www.listebaz.com/bir-muhendisle-cikmak-icin-15-neden
Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.