diff options
Diffstat (limited to 'tr-tr')
| -rw-r--r-- | tr-tr/clojure-tr.html.markdown | 1 | ||||
| -rw-r--r-- | tr-tr/edn-tr.html.markdown | 157 | ||||
| -rw-r--r-- | tr-tr/sql-tr.html.markdown | 125 | 
3 files changed, 283 insertions, 0 deletions
| diff --git a/tr-tr/clojure-tr.html.markdown b/tr-tr/clojure-tr.html.markdown index 64970945..5ebe5ce6 100644 --- a/tr-tr/clojure-tr.html.markdown +++ b/tr-tr/clojure-tr.html.markdown @@ -4,6 +4,7 @@ lang: tr-tr  filename: learnclojure-tr.clj  contributors:      - ["Adam Bard", "http://adambard.com/"] +    - ["Seçkin KÜKRER", "https://leavenha.github.io"]  translators:      - ["Seçkin KÜKRER", "https://leavenha.github.io"]  --- diff --git a/tr-tr/edn-tr.html.markdown b/tr-tr/edn-tr.html.markdown new file mode 100644 index 00000000..9a2ac1ff --- /dev/null +++ b/tr-tr/edn-tr.html.markdown @@ -0,0 +1,157 @@ +--- +language: edn +filename: learnedn-tr.edn +lang: tr-tr +contributors: +  - ["Seçkin KÜKRER", "https://github.com/LeaveNhA"] +--- + +# Y = 20 Dakika. + +### Genişletilebilir Veri Notasyonu (EDN, Extensible Data Notation). + +### Okunuşu: (Türkçe: ey-di-en), (English: eed-n) + +### Kodlama Türü: UTF-8 + +EDN Clojure sözdiziminin bir alt kümesidir. Bu alt küme, amacı gereği kod barındırmaz. Ve kendisi bir tip sistemi değildir. Bir şeması da yoktur. En basit tabirle; Genişletilebilir Veri Notasyonu kabul edilebilir elemanların bir kümesidir. + +EDN elementleri, akışları ve dosyaları UTF-8 kullanılarak kodlanmalıdır. Üstelik, dökümanı çevreleyen işaretçiler de olmadığı için akış, dağıtık programlama mesaj arayüzü ve diğer dinamik sistemler için idealdir. + + +```clojure +; Yorumlar, yorumlarımız, noktalı virgül ile başlıyor. +;; Genellikle ikili olarak kullanılıyorlar. + +;; |--------------------------------| +;  |--------- Genel Yapısı ---------| +;; |--------------------------------| + +;; Boşluklar --whitespaces--, elementler için en yaygın ayıraçtır. +"Mustafa" "Kemal" "ATATÜRK" +;; Fakat okunuşu arttırdığı gerekçesiyle "," (virgüller --commas--) EDN yorumlayıcısı tarafından görmezden gelinir ve boşluk olarak nitelendirilir. +"Mustafa","Kemal","PAŞA" +;; Üstelik bu yenilikçi sözdizimsel kurala rağmen, {}, [] () gibi koleksiyon karakterlerini ayırmak için boşluğa ya da boşluğa çözümlenen virgüle ihtiyacınız yoktur. +[["MUSTAFA"] ["KEMAL"] [[{"ATA" "ATATÜRK"}]]] +;; Üst düzey vektör elemanlarını birbirinden ayıran boşlukları da kaldırabilirsiniz. +;; Fakat bu size, okunması zor bir vektör dışında hiç bir şey vermeyecektir. + +;; |--------------------------------| +;  |-------- Atomik Yapılar --------| +;; |--------------------------------| + +; Mantıksal Değerler +;; Mantıksal Doğru, çoğu teknolojide aynı gösterimi var. +true +;; Mantıksal Yanlış. +false + +; Karakter Katarları +;; Karakter katarları, --SADECE-- çift tırnak ile belirtilebilir. +"İzmirin dağlarında çiçekler açar!" +;; C, C++, Java v.b. gibi dillerin desteklediği kaçış sekanslarını da destekler. +"Altın güneş orda sırmalar saçar.\nBozulmuş düşmanlar yel gibi kaçar." +;; Kaçış sekansları için bknz: $!$ + +; Karakter Sabitleri +;; Karakter sabitleri önlerinde bir ters eğik çizgi ile temsil edilirler. +\T \Ü \R \K +;; Üstelik, belirli kaçıl sekanslarının da karşılığı Karakter Sabiti olarak var. +\newline \return + +; Anahtar Kelimeler +;; Anahtar Kelimeler, önlerinde bir ":" iki nokta --colon-- +:yımırta +:kaşar +:bıngıl + +; Semboller +;; Semboller tanımlayıcıları temsil etmek için kullanılır. +;; "/" karakteri, Sembol Sabitlerinde isim-uzayı ayıracı olarak kullanılıyor. +izmir/kızları +;; "mutfak" isim uzayındaki "ekmek-bıçağı" isimli sembole çözümlenir. + +banyo/fayans +parke +laminat + +; Sayısal Değerler +;; Tam Sayı sabiti. +1991 +;; Kayan Noktalı Sabiti. +19.67 + +; Listeler +;; Listeler, yukarıdaki temel tiplerin ardışıklanmasıdır. +(bomba :bomba nokta \c \o \m) + +; Vektörler +;; Vektörler bir bakıma Listelere benzeseler de, bir çok açıdan farklıdırlar. +;; Mesela Listenin aksine Vektörler, Rastgele Erişime imkan verir. +[[] "şimdi" "asker"] + +; Eşlemeler +;; Sıfır veya daha fazla Anahtar-Değer çifti kabul eder. +;; Not: Clojure Veri Yapıları Soyutlaması ile Eşlemeler de, teknik olarak ardışık olarak işlenebilir. +{:canı :neler-ister? + :uykuda "mevlam"} +;; Bu ve diğer tüm Veri Yapıları Homojendir, birbirilerini barındırabilir, kapsayabilir, içerebilirler. +;; Ayrıca okunurluk gibi farklı sebeplerle virgül kullanımında özgürsünüz. +{{:id_ "129u391824981237981237" :kim "BEN"}, göster!} + +; Kümeler +;; Kümeler eşsiz eleman barındıran bir yapıdır. +;; Matematikteki karşılığını veriyor dersek yanlış olmaz. +#{:sen 3 milyar 750 milyon} + +;; |--------------------------------| +;  |------ Etiketli Elemanlar ------| +;; |--------------------------------| + +;; EDN (Genişletilebilir Veri Notasyonu), # sembolü ile genişletilebilir. + +#benimuygulamam/bağlantı {:içerik "Y dakikada EDN Öğren" :url "https://learnxinyminutes.com/docs/tr-tr/edn-tr" :tıhlama-aksiyonu yırrttılll!} + +;; Ve bu yapıyı yorumlayacak bir de yapı gerekiyor. +(defn ->bağlantı [props] +  (str "<a href='" (:url props) "'" ">" +        (:içerik props) +        "</a>")) + +;; Bu örnekte yorumlayıcıya, basit bir fonksiyon veriyoruz. +;; `clojure.edn/read-string` aslında bir ayarlar Eşlemesi kabul ediyor. +;; (Bu tür fonksiyon genişlemeleri, Clojure ekosisteminde yaygındır.) + +(clojure.edn/read-string +  {:readers {'benimuygulamam/bağlantı ->bağlantı}} +  "#benimuygulamam/bağlantı {:içerik \"Y dakikada EDN Öğren\" :url \"https://learnxinyminutes.com/docs/tr-tr/edn-tr\" :tıhlama-aksiyonu yırrttılll!}") +;=> "<a href='https://learnxinyminutes.com/docs/tr-tr/edn-tr'>Y dakikada EDN Öğren</a>" + +;; |--------------------------------| +;  |--- Ön Tanımlı Genişletmeler ---| +;; |--------------------------------| + +; Tarih Etiketi +;; Bu etiket `inst` ön-ekinden sonra bir RFC-3339 formatında bir karakter katarı beklemektedir. +#inst "2013-10-21T14:50:00+00:00" ; => Formatlanmış bir şekilde: 21/10/2013 14:50:00 + +; UUID Etiketi +;; Bu etiket `uuid` ön-ekinden sonra bir UUID karşılığını karakter katarı olarak kabul eder. +#uuid "11k12fae-7d3c-11k0-a765-0010ckke6hgk" + +``` + +# Son Ek +Bu içerik, EDN'i tanıtmakta kısıtlı bir açıyla, özet bilgiler sunmaktadır. +Fakat, Clojure ve diğer Veri Odaklı dillerde, Verinin yolculuğunu anlamak için önemli bir rol oynamaktadır. +EDN'in var olan probleme çözümü ve artı/eksilerinin doğru şekilde kavranması mühimdir. +Ben bu dökümanı hazırlarken, EDN ve gerçek dünya kullanımını anlatan yoktu. Fakat ümidim, Clojure ve diğer teknolojiler üzerinde kullanımının artmasından sonra birinin bu ihtiyacı giderecek özgün kaynak çıkarmasıdır. + +Başarılar! + +# Referanslar + +- [EDN Formatı Standardı](https://github.com/edn-format/edn) +- [Gerçeklemeler](https://github.com/edn-format/edn/wiki/Implementations) +- [Etiketlenmiş Elementler](http://www.compoundtheory.com/clojure-edn-walkthrough/) +- [Clojure.Docs EDN İçeriği](https://clojuredocs.org/clojure.edn) diff --git a/tr-tr/sql-tr.html.markdown b/tr-tr/sql-tr.html.markdown new file mode 100644 index 00000000..54007d32 --- /dev/null +++ b/tr-tr/sql-tr.html.markdown @@ -0,0 +1,125 @@ +---
 +language: SQL
 +contributors:
 +  - ["Metin Yalçınkaya", "https://github.com/mtnylnky"]
 +lang: tr-tr
 +filename: learnsql-tr.sql
 +---
 +
 +
 +```sql
 +-- Yorumlar iki tire ile başlar
 +
 +-- KISITLAR
 +Not null -- Bir kolon asla boş olamaz
 +default -- Boş olan yerlere varsayılan bir değer atar
 +unique -- Bir kolondaki tüm değerlerin farklı olması kısıtlaması
 +primary key -- Bir tablodaki her veri için kimlik bilgisi niteliğindedir
 +check -- Bir kolondaki değerlerin belli bir kısıtlamayı sağlamasını sağlar
 +
 +-- Tablo oluşturulur
 +CREATE TABLE tablo1 ();
 +
 +-- Tabloyu içerisinde kolonlar ile oluşturma
 +CREATE TABLE tablo1(id INTEGER PRIMARY KEY NOT NULL UNIQUE, ad TEXT, soyad TEXT, yas INTEGER);
 +
 +-- TABLO varlığını kontrol eder
 +.table
 +
 +-- Veri tabanında olan bütün tabloları görüntüler.
 +.schema
 +
 +-- Satır ekle
 +INSERT INTO tablo1 ( ad, soyad) VALUES ("Deger1","Deger2");
 +
 +-- Veritabanında tablo üzerindeki verileri görüntüle 
 +-- Sadece 'ad' gibi sınırlı bir veri için
 +SELECT ad FROM tablo1;
 +-- Bütün veriler için
 +SELECT * FROM tablo1;
 +
 +-- Veri güncelleme
 +UPDATE tablo1 SET ad = "deger1-2"; WHERE name = "Deger1";
 +
 +-- Satır sil
 +DELETE FROM tablo1 WHERE id = 1;
 +DELETE FROM tablo1 WHERE ad = "Deger1" OR ad = "Deger2";
 +
 +-- Tabloya sonradan kolon ekleme
 +ALTER TABLE tablo1 ADD COLUMN email TEXT;
 +
 +-- Tablodaki kolon adı değiştirme
 +EXEC sp_rename ' tablo1.[ad]', Ad, 'COLUMN';
 +
 +-- Tablo adı değiştirme
 +ALTER TABLE table1 RENAME TO Table1;
 +
 +-- Tabloyu silme
 +DROP TABLE Table1;
 +
 +-- BİR TABLOYU BAŞKA TABLO KULLANARAK DOLDURMAK
 +INSERT INTO Tablo2 SELECT id,ad, soyad, email from Tablo1;
 +
 +-- LIKE KOMUTU
 +-- Belirli bir kritere göre arama yaparken kullanılır
 +-- Adı 'A' ile başlayan veriler
 +SELECT * FROM tablo1 WHERE adi LIKE "A%";
 +-- İçinde 'A' olan veriler
 +SELECT * FROM tablo1 WHERE adi LIKE "%A%";
 +
 +-- LIMIT KOMUTU
 +-- Gösterilen satır sayısını sınırlamak için
 +SELECT * FROM Tablo1 LIMIT 6;
 +-- Gösterilen satırları belirli bir noktadan başlamak üzere sınırlamak için
 +SELECT * FROM Tablo1 LIMIT 6 OFFSET 3;
 +
 +-- ORDER BY KOMUTU
 +-- Herhangi bir kolona göre gösterilen değerleri azalan veya artan şekilde sıralamak için
 +SELECT kolon FROM tablo1 WHERE yas ORDER BY column1, column2, .. columnN] [ASC | DESC];
 +SELECT * FROM Tablo1 ORDER BY yas ASC
 +SELECT * FROM Tablo1 ORDER BY yas DESC
 +
 +-- DISTINCT ANAHTAR SÖZCÜĞÜ
 +-- Bu anahtar sözcükle sadece farklı değerler gösterilir.
 +SELECT DISTINCT yas FROM tablo1;
 +
 +-- JOIN KOMUTU
 +-- CROSS JOIN
 +-- Cross join bir tablodaki her satırı ikinci tablodaki bir satır ile eşleştirmek için kulanılır.
 +-- Eğer birinci tabloda x satır ikinci tabloda y satır varsa sonuçta x*y satır olur.
 +SELECT ... FROM table1 CROSS JOIN table2 …
 +SELECT ad, yas FROM Tablo1 CROSS JOIN Tablo2;
 +
 +-- INNER JOIN
 +-- Inner join iki tablodaki ortak kolon değerlerini kullanarak bir sonuç üretir.
 +SELECT ... FROM table1 [INNER] JOIN table2 ON conditional_expression …
 +SELECT ad, yas FROM Tablo1 INNER JOIN Tablo2 ON Tablo1.ad = Tablo2.soyad;
 +
 +-- OUTER JOIN
 +-- Outer join iki tablodaki ortak kolon değerlerinin dışında kalanları kullanarak bir sonuç üretir.
 +SELECT isci_num, isim, dept FROM Tablo1 LEFT OUTER JOIN Tablo2 ON Tablo1.id = Tablo2.isci_num;
 +
 +-- ÇEKİRDEK FONKSİYONLAR
 +COUNT -- Sayma
 +AVG -- Ortalama
 +ABS -- Mutlak değer
 +SUM -- Toplam
 +RANDOM -- Rastgele
 +ROUND -- Yuvarlama
 +MAX -- Maksimim
 +MIN -- Minimum
 +UPPER -- Büyük Harf
 +LOWER -- Küçük Harf
 +LENGTH -- Uzunluk
 +CURRENT_TIMESTAMP -- Zaman
 +
 +SELECT max(yas) FROM Table1;
 +SELECT min(yas) FROM Table1;
 +SELECT avg(yas) FROM Table1;
 +SELECT * From Table1 WHERE yas ==18;
 +SELECT sum(yas) FROM Table1;
 +SELECT random() AS Random;
 +SELECT upper(ad) FROM Table1;
 +SELECT lower(ad) FROM Table1;
 +SELECT ad, length(ad) FROM Table1;
 +```
\ No newline at end of file | 
