cial Icons

Unity JSon Deserialize

Platform Not Supported Exception 


merhabalar,

Unity Json serialize ve deserialize işlemleri için Newtonsoft.json kullanıyorsanız ve android'te deserialize işleminde notsupported hatası alıyorsanız sistemin runtime ve api levelinın aşağıdaki gibi olmasına dikkat edin.

(platformnotsupportedexception operation is not supported on this platform at newtonsoft..)

Rivebunk!

 Merhabalar,
bu yayında, 2 yıl süre ile işten arttırdığım zamanda geliştirdiğim Rivebunk' tan bahsedeceğim.

Telefon rotasyonuyla uçurabildiğimiz toplam 14 uçağımız bulunmakta. Gökyüzünde bulunmakta olan, altın para, gümüş para, altın çember ve gümüş çemberleri toplayarak para kazanabilmekte, aynı zamana gidebildiğimiz uzaklık kadarda ekstra para kazanarak hangarımızdaki uçaklarımızı satın alabilmekteyiz.
Rivebunk

Prefix fonksiyonu

Prefix 

     Merhaba, bugün string algoritmalarının temeli olan prefix fonksiyonu ile stringteki prefix leri bulmayı anlatacağım bu basit ve temel yöntemden sonra, uzun string text içinde kelime gruplarının hızlıca bulunmasını sağlayan algoritmalar'a geçeceğim. Buradaki notlar daha çok kendime notlar silsilesi olarak devam edecek hem de ihtiyaç duyan arkadaşlar için anlaşılır bir Türkçe kaynak oluşturmaya çalışacağım.

 




               Prefix fonksiyonu basitce bir string içinde soldan sağa arama yapıp prefix değerini bulmayı sağlamaktadır. Basitçe söylemek gerekirse 'aabcaabaa' gibi bir string için :

indisler          
0
1
2
3
4
5
6
7
8
Karakterler
a
a
b
c
a
a
b
a
a
Prefix değerleri 
0
1
0
0
1
2
3
1
2

String Algoritma Terimleri ve SubSequence

Terimler Ve SubSequence 

Merhabalar, Bugün string algoritma terimlerinden ve subsequence bulma metodunun nasıl yazılabileceğinden bahsedeceğim.

Yüksek lisanta gördüğüm bu terimleri paylaşarak hem bilmeyenleri bilgilendirmeyi hem de gerektiğinde kendimi tekrar etmeyi hedeflemekteyim.

Prefix

               Teorik tanımı ile  y=u.x.v olarak kabul ettiğimizde ve u' nun bir boş string olduğunu kabul edersek, x y'nin prefix'i olmuş olmakta. 

                Daha anlaşılır bir dille elimizde y , u, x ve v diye stringler var. stringler arasındaki .(nokta) çarpma anlamına gelmekte yani stringlerin yan yana koyarak birleştirilmesidir. Yani bu mantıkla "ali"."ata"="aliata"gibi. u stringini boş bir string kabul ettiğimize göre aslında y: x ve v nin birleşiminden oluşmakta  x'i "umut" v'yi "coşkun" kabul edersek y="umutcoşkun" olacak ve bu drumda "umut" y stringinin prefixi olacaktır. yani açıkcası stringin baştan  tüm kombinasyonları onun prefixi kabul edilir.y nin prefixleri: "u", "um","umu"..."umutcoskun".

Oracle/PLSQL Null Fonksiyonlar

NULL Fonksiyonlar

     
         Merhaba, bugün sizlere SQL Oracle dilinde null değerlerle ilgili fonksiyonlardan bahsedeceğim. Öncelikle null değerinin ne  anlama geldiğini hatırlayalım. Yazılım dilinde "null" hiçbir değeri olmayan, uzunluğu sıfır olarak kabul edilen bir kavramdır. "Null" değerler 0 veya boşluk değillerdir, çünkü 0 bir number olduğu gibi boşluk da bir char'dır. Bu yüzden çoğu yazılım dillerinde null değerlerle baş etmek için geliştirilmiş özel fonksiyonlar bulunmaktadır.


IS NULL/ IS NOT NULL 

Oracle/PLSQL 'de değerlerin null olup olmadığını test etmek için IS NULL ve IS NOT NULL expression'ları kullanılır. Oracle'da eşitlik operatorleriyle (=) bir değerin null olup olmadığı kontrol edilemez, sonuç unknown döner. Unknown dönen bir sonuç tablodan kayıt getirmez ama "False" ile aynı olmadığı için boolean sorgularda sorun yaratabilir. Bu yüzden IS NULL ile kontrol edilmesi daha garantidir. 


PLSQL Ayın Son İş Günü

PLSQL AYIN SON GÜNÜ

         
        Merhaba bu yazımda plsql ile ayın son iş gününü bulmaya çalışacağız. Aslında PLSQL'de ki LAST_DAY fonksiyonu bize ayın son gününü vermekte fakat sizin çalıştığınız iş yerinde de sizden "Ayın son günü hafta sonuna geliyorsa ayın son iş gününü alın Umut Bey" gibi bir istek geliyorsa bu durumda ne yapılması gerektiğini paylaşacağım.














PLSQL Over Partition

Over Partition


Merhabalar,
 Bugün plsql group by sorgusu içinden tek satırı DA almayı anlatacağım bir sorgu örneği paylaşacağım.

Örneğin sizin çalıştığınız şirkette de taksitle ödeme mantığı var ve nümerik alan yuvarlamasından dolayı son taksitin ilk taksite eşit olmaması durumu var ise (148,38 tl tutarlı bir ödemenin 12 taksit olduğu durum, taksit 12,365 ten 12,37 olur ve son taksit 12.31 olur ) taksitin belli miktarı ödendikten sonra yanlışlıkta tüm taksitleri bir schedule ile ödediğimizi varsayalım :D. Son 6 taksitin hepsini tek seferde ödediğimizi çok fazla veri olduğundan aslında bu 6 verinin toplamından en son az olan verinin de select ile alınması gerektiği bir durumu varsayalım.

Bilgisayar Mühendisliği Mülakat Soruları.

Java .Net, C# Genel Bilgisayar Mühendisliği Mülakat Soruları

Anahtar Kelimeler

Static
Metodunun, nesnenin veya değişkenin şahsına münhasır olduğunu gösterir. Hafızada ne kadar kullanılırsa kullanılsın hep tek kopya tutar.
Soru : Static nesneyi new diyerek mi ulaşırsınız?

Protected
Aynı paket içerisinden ve bu sınıfdan türemiş alt sınıflar tarafından erişilmeyi sağlayan erişim belirleyicisi. 

Friendly
Yalnızca aynı paket içerisinden erişilmeyi sağlayan erişim belirleyicisi.

Final
Final  olarak oluşturulmuş değişkenler : Değiştirilemez . Static ile beraber Constant olarak kullanılabilir
Final class :Extend edilemez
Final methods : Override edilemez

Ders9: ComboBox kullanımı

Merhaba arkadaşlar, bu paylaşımımda ToolBox bloğu içerisinde bulunan ComboBox ögesinin özelliklerini anlatacağım.

ComboBox itemlerden oluşan bir ögedir. Programlarımızda ComboBox’ın itemlerinin özelliklerinden yararlanırız. Bu özelliklere bir göz atalım:

  • ·         Add() ;
ComboBox içerisine item eklememizi sağlar.

  • ·         Text ;
ComboBox içerisinde seçilen, gösterilen itemi ifade eder.

  • ·         SelectedItem ;
ComboBox içerisinde seçili olan itemi object veri türünde geri döndürür.
·        

Ders8: Listbox özellikleri ve kullanımı


Merhaba arkadaşlar, bu paylaşımımda ToolBox’lar içerisinde kullandığımız Listbox ögesinin özelliklerini anlatacağım.

Listbox itemlerden oluşan bir ögedir. Listbox’a ekledğimiz herşey bir item olarak belirtilir. Her itemin bir index numarası bulunur. Dizilerden hatırlayacağımız gibi Listbox ta da ilk itemin indexi 0’dır.

Forma eklediğimiz bir listbox’ın adını Properties – Name kısmından lbList diye değiştirelim.

  • ·         lbList’imize item eklemek için add metodunu kullanıyoruz.

  

  • ·         lbList’ten item silmek için Remove(), Removeat(), Clear() metotlarını kullanıyoruz.

 

Listbox’ın indexof() ve contains() özellikleri:

  • ·         indexof(), liste içerisinde aranan bir item eğer varsa geriye bulunduğu index numarasını döndüren, aranan item yoksa geriye -1 döndüren bir özelliktir.

 

Ders7: Rastgele Sayı ve Timer kullanımı

Rastgele(Random) Sayı Atama ve Timer kullanımı

C# Rastgele Sayı Üretme


Merhaba arkadaşlar, bu yazımda rastgele sayı üretme ve atama işlemlerini gerçekleştiren tanım ve metotları paylaşacağım.

Rastgele sayı üretme işlemi genellikle şans oyunlarında karşımıza çıkar. Buna çok yakın bir örnek olarak küçük bir program yardımıyla rastgele sayı atama işlemlerini birlikte gözden geçirelim.

Öncelikle rastgele sayı üretmek için Random sınıfı ve bu sınıfın özellikleri olan Next(), NextBytes(), NextDouble() metotları kullanılır.

Tanımlama işlemini bu şekilde yapabiliriz.
 

Örneğimizde şans oyunlarından LuckySeven adlı bir oyun oluşturalım.

Ders6.1 : Dizi Tanımlamaları

Dizi Tanımlamaları


          Diziler farklı farklı şekilde tanımlanabilmektedir.
istersek ilk tanım sırasında tanımlayabilir, istersek elemanlarını dinamik olarak sonradan belirleyebiliriz.
Aynı şekilde bir dizinin eleman sayısını tanımlama zamanında belirleyebileceğimiz gibi dinamik olarak bir hesap sonucu elde ettiğimiz sayı adeti kadar eleman barındıracak şekilde de tanımlayabiliriz.

public class Dersler {

    private static int[] array= new int[5]; 
    // ilk tanımlandığı yerde değer ataması yapılmayacaksa bu şekilde new lenmelidir.
    private static String[] arrayString = new String[5]; 
     // bir String dizisi yani "yazılar" alır.
    private static char[] charArray = new char[6];  
    // character dizisi yani 'a', 'b' gibi karakterlerle beslenir.

    private static int[] OkudugumKitaplar; 
    // ilk deger ataması yapıladı newlenmedi ise kullanırken dikkat edilmelidir.
 //  diziler istersek direkt değer ataması yapılarak da tanımlanabilir
 private static String[] dizimis1= {"ali","ata","bak"};
 
 private static String[] dizimis2= {"mahmut","rıfkı","niyazi"};
 
 private static String[] dizimis3= {"Türkiye","Yozgat","İstanbul"};
 
 private static String[] dizimis4= {"Sarıkaya","Sorgun","Şefaatli"};
 
 private static String[] dizimis5= {"Just","Little","Hope"};
 
 
 // bu da iki boyutlu basit bir dizi yani içinde diziler tutan bir dizi de diyebiliriz
 // içinde 5 adet dizi bulundurabilir
 // ve her bir dizi max 3 elemanlı olabilir
 private static String [][] IkiBoyutlu= new String[5][3];
 
 public static  void main(String[] args) {
  // TODO Auto-generated method stub


 int ilkGunOkudugumKitap =74;
 
 int ikinciGunOkudugumKitap=16;
 
 int toplamOkudugumKitap= ilkGunOkudugumKitap + ikinciGunOkudugumKitap;
 
 
 OkudugumKitaplar = new int[toplamOkudugumKitap];
       // dizi tanımlamasını sonradan bulabileceğiniz bir sayi ile tanımlayabilirsiniz 
 // örnekteki gibi bir hesap yapıp sonra o kadar eleman barındıran 
        //bir dizi tutabilirsiniz.
 

Ders6: Diziler

Diziler


Diziler aynı tipteki değerlerin bir arada taşınmasını sağlayan programlama ögeleridir. Örneğin dizinin 1. elemanı int tipindeyse 5. eleman string olamaz kesinlikle int tipli olmalıdır.(Farklı tipli elemanları bir arada taşıyan list ögeleri ilerleyen paylaşımlarda olacaktır.)

Diziler, elemanlarına isimleriyle değil indeks numaralarıyla erişim sağlar. Dizinin ilk elemanının indeks numarasının 0 olduğunu unutmamak gerekir.

Dizi tanımlama


Dizi değişkenleri tanımlama değişken tanımlama ile aynıdır. Örneğin string türünden kişiler dizisini şu şekilde tanımlayabiliriz à string[] kisiler;

Dizilerde en önemli kurallardan biri de dizinin eleman sayısı belirtilmese dahi önceden bilinmelidir. Örneğin 5 elemanlı bir kisiler dizisini tanımlarsak à string[] kisiler = new kisiler[5];

Ufak bir form uygulama örneğiyle yukarıda bahsettiğimiz dizileri pratiğe dökelim:
C# arayüzünde Toolbox kısmında kullanabileceğimiz ögeler bulunmaktadır. Bu ögeleri paylaşımlarımda sırasıyla kullanarak anlatacağım. Çok elemanlı bir dizinin elemanlarını gösterebilmek için en basit olarak ListBox ögesini kullanabiliriz.

Bu uygulamamızda 5 elemanlı kisiler dizisi oluşturularak bir tuşa basıldığında ögeleri listede gösteren bir örnek olsun

Öncelikle arayüzünü oluşturalım
Form sayfamızda sol tarafta bulunan Toolbox’tan(yoksa üst bardan View-ToolBox tıklayarak da açabilrisiniz ) bir tane buton ve ListBox’ı çift tıklama veya sürükle bırak şeklinde sayfamıza ekleyebiliriz.

Ders5: Döngü yapıları

Döngü yapıları


         Belirli bir koşul gerçekleştiği sürece istenilen işlemleri gerçekleştiren yapıları döngü olarak adlandırıyoruz. Döngü yapısı oluşturmak için C#’da while, do while ve for döngüleri kullanılmaktadır.  Ancak bu yapılara ek olarak foreach yapısı da bulunmaktadır. Foreach döngü yapısını daha sonraki paylaşımlarımda anlatacağım.

while:

Belirli bir koşul gerçekleştiği sürece blok içerisindeki işlemleri gerçekleştiren döngü yapısıdır.
            while (koşul)
            {
                deyim1;
                deyim2;
                .
                .
                .
            }

En basit örnekten başlarsak;
0’dan 5’e kadar sayıları sıralayan program
            int i=0;
            while (i<5)
            {
                i++;
                Console.WriteLine( i);

               
            }

do while:

yukarıda anlattığım while döngüsünden farkı yapılmasını istediğimiz deyimleri koşul ifadesinden önce yazıyoruz. Yani koşula bakılmaksızın deyimlerimizin en 1 kere çalışması sağlanacaktır.
            do
            {
                deyim1;
                deyim2;
                .
                .

            } while (ifade);

Ufak bir örnek de do while döngüsü için verelim.

Bu örneğimiz:


Ders 5 : SQL'de Sorgu Nasıl Yapılır?

SQL'de Sorgu Nasıl Yapılır


                Merhaba, bu yazıda sql'de nasıl sorgu yapıldığını basit bir örnekle göstereceğim.

  SELECT İfadesi 


  Sql'de genel bir sorgu yapmak için " SELECT*FROM tablo adı "  ifadesi kullanılır.
  SELECT ifadesine "*" işareti eklenerek tüm sütunları seçmiş oluruz.Yani sorgu yapılırken tüm sütunlar incelenir.


  Örnekte görüldüğü gibi herhangi bir kısıt veya şart belirtmediğimiz için sorgunun sonucu olarak bize tablonun tamamını gösterdi.Peki tablonun tamamını değil de istediğimiz satır veya sütunları göstermek istersek ne yapmalıyız?

Ders4 : Switch - case yapısı ve dört işlem

Switch - case yapısı ve dört işlem örneği


Switch – case :


Bir önceki paylaşımımda sizlere if koşul ifadelerinin kullanımından bahsetmiştim. Bu yazımda ise    if – elseif - else bloğuyla aynı mantıkla çalışan yazılımcının isteğine göre farklı yerlerde kullanabileceği switch – case koşul ifadesini bir örnekle anlatacağım.

Örneğimizi önce if – elseif – else koşul ifadelerini kullanarak yazacağım daha sonra aynı işlemi gerçekleştiren switch – case ifadesini yazacağım.

Programımızda kullanıcıdan girmesini istediğimiz iki sayının ekranda görülen işlem tiplerinden birini seçmesiyle o işlemi bu sayılara uygulayan bir örnek oluşturacağız.


if – elseif- else kullanımı:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
            tekrar: // 1,2,3,4 seçimlerinden farklı bir seçim yapılırsa program buraya tekrar dönecek.
            //yapacağımız işlemlerin sonuçlarını tanımlıyoruz.
            int carpma = 0, toplam = 0, cikarma = 0; float bolme = 0; 

            //bölme işlemi sonucu kesirli sayı çıkma ihtimaline karşılık float tanımlıyoruz.
            Console.WriteLine("1.sayi giriniz: ");
            int a = int.Parse(Console.ReadLine());
            Console.WriteLine("2.sayi giriniz: ");
            int b = int.Parse(Console.ReadLine());

            Console.WriteLine("ISLEM MENUSU");
            Console.WriteLine("1) toplama");
            Console.WriteLine("2) cikarma");
            Console.WriteLine("3) carpma");
            Console.WriteLine("4) bolme");

            Console.WriteLine("seciminiz: ");
            string secim = Console.ReadLine();
           
            if (secim == "1")

            {
                toplam = a + b;
                Console.WriteLine("toplam sonucu: " + toplam);
                 Console.WriteLine("{0} + {1} = {2}", a, b, toplam);  //işlemler bu şekilde şablon yöntemiyle de yazılabilir. 
            }
            else if (secim == "2" && a > b) //pozitif sonuçlar elde etmek amaçlı büyük sayı kontrolü yapıyoruz.
            {
                cikarma = a - b;
                Console.WriteLine("cikarma sonucu: " + cikarma);
            }
            else if (secim == "2" && a < b)
            {
                cikarma = b - a;
                Console.WriteLine("cikarma sonucu: " + cikarma);
            }
            else if (secim == "3")
            {
                carpma = a * b;
                Console.WriteLine("capma sonucu: " + carpma);
            }
            else if (secim == "4" && a > b)
            {
                bolme = (float)a / b;
                Console.WriteLine("bolme sonucu: " + bolme);
            }
            
            else if (secim == "4" && a < b)
            {
                bolme = (float)b / a;
                Console.WriteLine("bolme sonucu: " + bolme);

            }
            else
                goto tekrar;
            Console.ReadKey();



Ders 4 : SQL'de Tabloya Veri Girişi

SQL'de Tabloya Veri Girişi Nasıl Yapılır?


            Merhaba bu yazıda oluşturduğumuz tabloya 2 farklı yoldan veri girişi yapmayı göstereceğim.Önce bana göre daha kolay olan elle veri girişi yapmayı göstereceğim.

       Elle Veri Girişi

          Elle veri girişi yapmak için aşağıdaki gibi "Tables" sekmesinden oluşturduğumuz tabloyu bulup sağ tıklıyoruz ve "Edit Top 200 Rows" seçeneğini tıklıyoruz. Daha sonra açılan pencerede isteğe göre veri girişini yapıyoruz.



Ders 3 : SQL'de Sütun Ekleme ve Primary Key

SQL'de Sütun Ekleme ve Primary Key


             Merhaba, bu yazıda tabloya sütun eklemeyi ve "primary key" in  ne olduğundan bahsedeceğim.Tabloya aşağıdaki gibi elle sütun adı girişi yapılıp yan taraftaki gibi veri tipi düzenlenebilir.


Ders 2 : SQL'de Tablo Oluşturma

SQL'de Tablo Oluşturma 


            Merhaba, bu yazıda sql'de tablo oluşturmayı göstereceğim.Tablo oluşturmak için "Tables" sekmesine sağ tıklayarak sırasıyla "new" ve "table.." diyoruz.


Ders 1:MSSQL'e Giriş ve Veritabanı Oluşturma

  MS SQL'e Giriş ve SQL'de Veritabanı Oluşturma


      Merhaba, burada MSSQL  ile veritabanı oluşturma ve veritabanı üzerinde sorgular yapmayı göstereceğim.

      Öncelikle ms sql'i kurduğunuzu varsayarak bir Servera bağlanıyoruz. Bende MSSQL Server 2014 kurulu, kurulum sırasında belirlediğim Server otomatik olarak çıkıyor. Connect'e basarak bağlanıyoruz.