İçeriğe atla

Language Integrated Query

Language Integrated Query (LINQ, "dil ile bütünleşik sorgu") .NET dillerine SQL benzeri sorgulama becerisi ekleyen bir Microsoft .NET Framework bileşenidir. "Link" diye okunur.

Koleksiyonlar için LINQ

Bir C# sayı dizisi içerisindeki "tek sayı" şartına uyanlar LINQ standart deyimleri ile şöyle elde edilebilir:

int[] sayilar = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0, 8 };
var tekSayilar =
    from sayi in sayilar
    where sayi % 2 == 1
    select sayi;

Özel amaçlı nesnelerden oluşan bir koleksiyon da aynı yapı ile sorgulanabilir:

List urunler = UrunListesiOlustur(); // faraza bir Urun koleksiyonu olusturur
var satilmisUrunler =
    from urun in urunler
    where urun.StoktaKalan == 0
    select urun;

LINQ sorguları sadece SQL benzeri sorgulama söz dizimi ile kullanılabilmekle kalmayıp, Fluent Interface söz dizimi ile de kullanılabilmektedir. Aşağıdaki iki örnek, sırayla yukarıdaki örneklerin yaptıkları ile aynı işleri yapmaktadır:

int[] sayilar = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0, 8 };
var tekSayilar =
    sayilar
    .Where(sayi => sayi % 2 == 1)
    .Select(sayi => sayi);
List urunler = UrunListesiOlustur(); // faraza bir Urun koleksiyonu olusturur
var satilmiUrunler =
    urunler
    .Where(urun => urun.StoktaKalan == 0)
    .Select(urun => urun);

Kaynakça

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">MySQL</span>

MySQL, altı milyondan fazla sistemde yüklü bulunan çoklu iş parçacıklı, çok kullanıcılı, hızlı ve sağlam bir veri tabanı yönetim sistemidir.

<span class="mw-page-title-main">Visual Basic</span>

Visual Basic, Microsoft tarafından, Basic programlama dili üzerinde geliştirilmiş, olay yönlendirmeli, üst seviye, nesne tabanlı ve görsel bir programlama dilidir. Öğrenilmesi de kullanılması da oldukça kolaydır.

Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli yüksek seviyeli bir programlama dilidir.

<span class="mw-page-title-main">PHP</span> bir programlama dili

PHP: Hypertext Preprocessor, internet için üretilmiş, sunucu taraflı, çok geniş kullanımlı, genel amaçlı, içerisine HTML gömülebilen betik ve programlama dilidir. İlk kez 1995 yılında Rasmus Lerdorf tarafından yaratılan PHP'nin geliştirilmesi bugün PHP topluluğu tarafından sürdürülmektedir. Ocak 2013 itibarıyla 244 milyondan fazla web sitesi PHP ile çalışırken 2.1 milyon web sunucusunda PHP kurulumu bulunmaktadır.

Hibernate, Java platformunda yazılmış bir ORM aracıdır. ORM, nesne odaklı dillerdeki nesnelerin, ilişkisel veri tabanlarındaki kayıtlara nasıl karşılık geldiğini yürüten bir teknolojidir. NHibernate adında .NET çatısı için yeniden yazılmış bir türevi bulunur.

SQL, verileri yönetmek ve tasarlamak için kullanılan bir dildir. SQL, kendi bir programlama dili olmamasına rağmen birçok kişi tarafından programlama dili olarak bilinir. SQL herhangi bir veri tabanı ortamında kullanılan bir alt dildir. SQL ile yalnızca veri tabanı üzerinde işlem yapılabilir; veritabanlarında bulunan sistemlere bilgi ekleme, bilgi değiştirme, bilgi çıkarma ve bilgi sorgulama için kullanılmaktadır. Özellikle de ilişkisel veritabanı sistemleri üzerinde yoğun olarak kullanılmaktadır. SQL'e özgü cümleler kullanarak veri tabanına kayıt eklenebilir, olan kayıtlar değiştirilebilir, silinebilir ve bu kayıtlardan listeler oluşturulabilir.

Kaynak Tanımlama Çerçevesi, metadata model olarak tasarlanmış bir World Wide Web Consortium (W3C) spesifikasyonu olmasına rağmen, çeşitli sözdizim biçemlerinde bilgi modellemek için kullanılan genel bir metoda dönüşmüştür.

<span class="mw-page-title-main">Microsoft SQL Server</span>

Microsoft SQL Server, Microsoft tarafından geliştirilen ve yönetilen bir ilişkisel veritabanı yönetim sistemidir. SQL Server, büyük ve karmaşık veritabanlarını depolamak, yönetmek, sorgulamak ve işlemek için kullanılan bir yazılım ürünüdür. Veri depolama, veri güvenliği, yedekleme, geri yükleme, veri entegrasyonu, analiz ve raporlama gibi çeşitli veritabanı yönetimi işlevlerini destekler.

Microsoft Visual Studio, Microsoft tarafından geliştirilen bir tümleşik geliştirme ortamıdır (IDE). Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework ve Microsoft Silverlight tarafından desteklenen tüm platformlar için yönetilen kod ile birlikte yerel kod ve Windows Forms uygulamaları, web siteleri, web uygulamaları ve web servisleri ile birlikte konsol ve grafiksel kullanıcı arayüzü uygulamaları geliştirmek için kullanılır.

Java platformu dillerinden olan BeanShell, kendi sözdiziminin yanı sıra Java programlama dili sözdiziminin büyük bir bölümünü desteklemesi nedeniyle, Java programlama dilinin komut kabuğu olarak da görülebilir. BeanShell'in bu özelliği, küçük Java kod parçalarının denenmesinde ve Java platformu için yazılmış sınıf dosyalarının yüklenip, birim sınamalarının yapılmasında, düzenle-derle-çalıştır döngüsünü kısaltması sayesinde, büyük kolaylık sağlar.

Nesne yönelimli programlama dillerinde arayüz, değişik sınıflardan nesnelerin kategorize edilmesini sağlayan bir soyut tür çeşitidir. Tanımlanmakta olan kategorinin birbirleriyle alakasız sınıfları ortak bir çatı altında toplaması nedeniyle, arayüz tanımları, soyut sınıfların aksine, listeledikleri iletilerin gerçekleştirim ayrıntısı olan herhangi bir bilgi içeremezler. Dolayısıyla, bir arayüz tanımı iletilere karşılık gelen bir altyordam gövdesi veya altalan tanımı içeremez. Bir başka açıdan bakarsak, arayüz tanımında yer alan programlama öğelerinin zaman içinde değişme olasılığı düşük öğeler olması gerekir. Buna göre, arayüz tanımları gerçekleştirimci ile kullanıcının paylaştığı ve sabit olma özelliği bulunan altyordam imzaları ile simgesel sabit tanımlarını barındırabilir.

MongoDB (“humongous”); MongoDB Inc. tarafından ölçeklenebilir, doküman tabanlı, C++ ile geliştirilmiş açık kaynak, NoSQL veritabanı uygulamasıdır. MongoDB, verileri JSON benzeri bir veri biçimi olan BSON tabanlı dokümanlarda saklamaktadır, anlamsal alanları dokümandan dokümana değişir ve veri yapısı zaman içinde değiştirilebilir. Belge modeli, uygulamanızın kodundaki nesnelerle eşleştirilir, böylece verilerin kullanımı kolaylaşır. Geçici sorgular, dizin oluşturmak için ve gerçek zamanlı verilerinize erişmek ve analiz etmek için güçlü yollar sağlar. MongoDB, özellikle hız gerektiren ve geleneksel ilişkisel veritabanlarının (RDBMS) hantal ve yavaş kaldığı yapılarda kullanılmaktadır. MongoDB, dağıtılmış bir veritabanı yapısına sahiptir, bu nedenle yüksek erişilebilirlik, yatayda ve dikeyde ölçeklendirme yapılabilmektedir. MongoDB, GNU Affero Genel Kamu Lisansı uyarınca yayınlanan ücretsiz ve açık kaynaktır.

<span class="mw-page-title-main">SQL enjeksiyonu</span>

SQL enjeksiyonu, veri tabanına dayalı uygulamalara saldırmak için kullanılan bir atak tekniğidir; burada saldırgan SQL dili özelliklerinden faydalanarak standart uygulama ekranındaki ilgili alana yeni SQL ifadelerini ekler.. SQL enjeksiyonu, uygulamaların yazılımları içindeki bir güvenlik açığından faydalanır, örneğin, uygulamanın kullanıcı giriş bilgileri beklediği kısma SQL ifadeleri gömülür, eğer gelen verinin içeriği uygulama içerisinde filtrelenmiyorsa veya hatalı şekilde filtreleniyorsa, uygulamanın, içine gömülmüş olan kodla beraber hiçbir hata vermeden çalıştığı görülür. SQL enjeksiyonu, çoğunlukla web siteleri için kullanılan bir saldırı türü olarak bilinse de SQL veri tabanına dayalı tüm uygulamalarda gerçeklenebilir.

İlişkisel veritabanı, 1970 yılında Edgar Frank Codd tarafından önerildiği gibi, organizasyonu ilişkisel veri modeline dayanan bir dijital veritabanıdır. İlişkisel veritabanlarını korumak için kullanılan çeşitli yazılım sistemleri bir ilişkisel veritabanı yönetim sistemi (RDBMS) olarak bilinir. Neredeyse tüm ilişkisel veritabanı sistemleri, sorgulama ve veritabanının bakımı için dil olarak SQL(Structured Query Language) kullanmaktadırlar.

<span class="mw-page-title-main">HeidiSQL</span>

HeidiSQL; MySQL'in yanı sıra Microsoft SQL Server ve PostgreSQL için ücretsiz ve açık kaynaklı bir istemcidir. Kullanıcılar HeidiSQL ile veritabanlarını yönetmek için, bir oturum oluşturarak kabul edilebilir kimlik bilgileri olan bir yerel veya uzak MySQL sunucusuna giriş yapmalıdır. Bu oturumda kullanıcılar MySQL veritabanlarını bağlı MySQL sunucusu içinde yönetebilir ve bittiğinde sunucudan bağlantısını kesebilir. Özellik kümesi, en yaygın ve gelişmiş veritabanı, tablo ve veri kaydı işlemleri için yeterlidir, ancak bir SQL veritabanı önündeki tam işlevselliğe doğru aktif olarak gelişmeye devam etmektedir.

<span class="mw-page-title-main">Sorgulama dilleri</span>

Sorgulama dilleri, bilgisayar dilleri kategorisinde yer alan, veritabanlarında ve bilgi sistemlerinde veri sorgulaması için kullanılan dillerdir.

OpenCog, açık kaynaklı yapay zeka çerçevesi oluşturmayı amaçlayan projedir. OpenCog Prime, tüm sistemin ortaya çıkan bir olgusu olarak insana eşdeğer yapay genel zekayı (AGI) ortaya çıkarmak için tasarlanmış bir dizi etkileşimli bileşeni tanımlayan, robot ve sanal somutlaşmış bilişe yönelik mimaridir.

Bilgisayar biliminde, bildirimsel programlama bir programlama paradigmasıdır. —bilgisayar programlarının yapısını ve öğelerini oluşturma stili— bir hesaplamanın mantığını kontrol akışını tanımlamadan ifade eder.

Kod enjeksiyonu, geçersiz verilerin işlenmesinden kaynaklanan bilgisayar hatasından yararlanmadır. Enjeksiyon, saldırgan tarafından savunmasız bir bilgisayar programına kod enjekte etmek ve yürütmenin seyrini değiştirmek için kullanılır. Başarılı kod eklemenin sonucu felaket olabilir. Örneğin, bilgisayar virüslerinin ya da solucanların yayılmasına izin verilebilir.

<span class="mw-page-title-main">GraphQL</span>

GraphQL, API'ler için açık kaynaklı bir veri sorgulama ve işleme dili ve bu sorguları yerine getirmek için yazılmış uygulamalardır. GraphQL, 2012'de Facebook tarafından dahili olarak geliştirildi ve 2015'te herkese açık olarak yayınlandı. GraphQL projesi 7 Kasım 2018'de, Facebook'tan kâr amacı gütmeyen Linux Vakfı bünyesindeki yeni kurulan GraphQL Vakfı'na devredildi. 2012'den bu yana GraphQL'in yükselişi, GraphQL'in yaratıcısı Lee Byron tarafından belirlenen benimseme zaman çizelgesini yakından takip etti. Byron'ın amacı, GraphQL'yi web platformlarında her yerde mevcut hale getirmektir.