Change “ConnectionSetting”

Kisi2 Kisi’den türetilerek ConnectionSetting değiştirilebilir oldu.

    [ConnectionSetting("DBConnectionString1")]
    public class Kisi 
    {
        //işlemler
    }

    [ConnectionSetting("DBConnectionString2")]
    private class Kisi2 : Kisi
    {
        //boş olabilir
    }


Var , Object , Dynamic farkı

Var : Kısaca Compiler’ın (Derleyicinin) bizim yerimize doğru veri tipi atamasını sağlıyor. Veri tipini bilmediğimiz bir değeri Var değişkenine atadığımız zaman arka planda kendisi o veri tipine dönüşüyor. Örneğin string bir veriyi var değişkenine atadığınız zaman var değişkenin üzerinde string üzerinde kullandığınız metodları ve işlemleri yapabiliyorsunuz. Kısaca Var bir Object değil int string yazmaya üşenenler ve diller arası,databaseler arası entegrasyonda veri tipi uyuşmazlığını gidermek için kullanılabilir .

Object ise kendi başına bir tür diğer bütün türler Object’den türetilmiştir. Dolayısıyla Object türünede hertürlü atamayı yapabilirsiniz.”Var” da ki gibi String methodları kullanabilmek için unboxing yapmanız gerekiyor.

Object adi="Kadir";  //boxing
String adi2=(string) adi; //unboxing

Object : Tip dönüşümlerinde oluşan hatalar derleme esnasında kontrol edilir.
Dynamic –> Tip dönüşümlerinde oluşan hatalar derleme esnasında herhangi bir kontrol yapılmadığı için hata üretilmez. Ancak çalışma zamanında (Runtime) kontrol edilir ve hata varsa  RuntimeBinderException  hatasını fırlatır.

dynamic Marka= 1;
dynamic Model= 20;
MarkaModel(Ad, Soyad);

// Yukarıdaki örneği derleyebilirsiniz ancak çalışma zamanında hata verir. //Object ile tanımlasaydık proje çalışmadan önce daha derleme zamanında bizi uyarırdı.

View’a model eklemek ve kullanmak

View’a model eklemek için cshtml ilk satıra “@model NameSpace+Models+Modelİsmi” şeklinde tanımlama yapıyoruz. Model içerisindeki değerlere ulaşmak için @models.DersAdi şeklinde ulaşabiliyoruz. (@model Dersnotlari.Models.Ogrenci)

list için (@model List<Dersnotlari.Models.Ogrenci>)

model1.png

model2.png

Viewbag

Viewbag : Controller’ dan view’ e veri taşımak için kullanılır.

Controller içinde ilgili viewın action metodu içersinde Viewbag.(isim)=değişken ataması yapılır.

İlgili View içerisindeki div tagları arasına @Viewbag.(isim) ile değişkenin değeri viewa basılır.

İÇGÜDÜLER ÖNEMLİ

İÇGÜDÜLER ÖNEMLİ
Peki ne yapmak lazım. Karar verilecek konu zorlaştığında ilk başvurmamız gereken “içgüdülerimiz”dir.

“Current Biology” adlı haftalık yayınlanan bilimsel bir dergide yer alan bir araştırmada kişilerin bazı durumlarda anlık olarak verdikleri kararların daha isabetli olduğu vurgulanıyor. Araştırmada denekler bir bilgisayar ekranı karşısına oturtulmuş ve ekranda gösterilen 650 sembol içinden farklı olanı seçmeleri istenmiş. Hemen yanıt vermeye zorlanan deneklerin neredeyse tamamı farklı objeyi ilk seferinde tespit ederken zaman tanınan deneklerden hiçbiri doğruyu bulamamış.

University College London’dan Dr. Li Zhaoping, “İnsanların doğru karar vermeleri için zamana ve dikkatli düşünmeye ihtiyaçları olduğu söylenir ama bu her zaman işe yaramaz” diyor. Zhaoping’e göre benliğimiz yani bilincimiz aktif olduğunda alt benlikten yani iç güdülerimizden gelen uyarıları engeller. Yani bir konu üzerinde fazlaca düşünmek, ölçüp tartmak iç güdülerimizi devre dışı bırakır. Mesela evden çıkarken muslukları kapattığınızdan ilk anda eminsinizdir ancak düşündükçe şüpheye düşer ve kontrol ihtiyacı hissedersiniz. İşte bu yüzden tatile giderken evimizi 50 defa kontrol ederiz.

Native code vs Managed code

Native code is the code whose memory is not “managed”, as in, memory isn’t freed for you (C++’ delete and C’s free, for instance), no reference counting, no garbage collection. Managed code, you guessed it, is the code whose memory is free and allocated for you, garbage collection and other goodies.

Mixed code is when you have managed code that calls onto an unmanaged layer. Normally, when you have a pure unmanaged C++ DLL and you call it from .NET using P/invoke.

—————————————————————————–

Native code is compiled to work directly with the OS. Managed code however, is precompiled (bytecode in Java-speak) but is then processed by the Just In Time Compiler to native code at runtime. Managed code has the interesting side effect of having the potential of running on different operating systems, because the machine code is not created until the VM actually uses it. This way, you are able to run .NET apps on Windows and also run them on Linux or Mac that have the Mono runtime installed. The portability is not as clean currently as Java is (because of Microsoft’s naturally closed architecture), but the concept remains.

If you are running an unmanaged app, the code has been compiled to run for the designated OS/Hardware. Any portability to another OS/instruction set is lost and must be recompiled to execute.

—————————————————————————–

Native code is written in the “native” machine language of the computer that it is running on and is executed directly by the processor.

Managed code is written in a special language that requires another program to run (i.e. manage) it. This other program is often called an interpreter as it interprets the special language.

C and C++ programs are native.

Java and C# (and all .NET languages for that matter) are managed.

Managed C++ is a special form of C++ that runs in the .NET interpreter.

A mixed program is a program that uses code that is both native and managed.

—————————————————————————–

Code that runs under the control of the common language runtime (CLR) is known as managed code. Code that does not run under the CLR is known as native code.

 

RJ45

Üzerinde 8 adet metal bağlantı noktası bulunan konnektör. Telefon bağlantılarında kullanılan ve RJ11 olarak isimlendirilen konnektörün daha büyüğüdür. RJ45 Jack’ına kablo takılırken belirli bir standart vardır. Bu standartlar T568A ve T568B olarak adlandırılır. Bir ağ üzerinde kablolama yaparken bunlardan birisi tercih edilir.

Activity LED – flashes when network data is being transmitted through the port

Link LED – lights when the unit is connected to a network