Eğitim Teknolojileri Uzmanı, Eğitim Danışmanı, BTK Akademi Eğitmeni, Microsoft Açık Akademi, Vakademi Eğitmeni, Udemy Eğitmeni, Abaküs Kitap Yazarı, Python, C#, SQL Server, ADO.NET EF, WinForms, ASP.NET, Visual Studio, Amiga, Commodore 64
20 Aralık 2016 Salı
C# Başlangıç Dersleri için İki Kolay Alıştırma Sorusu
C# |
1) Klavyeden girilen ismi klavyeden girilen sayı kadar ekrana yazdıran program parçasını kodlayınız.
Console.Write("İsim Giriniz: ");
string isim = Console.ReadLine();
Console.WriteLine("Tekrar Adedi Giriniz: ");
int tekrarAdedi = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < tekrarAdedi; i++)
{
Console.WriteLine(isim);
}
Console.ReadKey();
2) Klavyeden girilen
değere kadar olan sayıların toplamını bulup ekrana yazdıran program parçasını
kodlayınız.
İkinci sorunun cevabını da belki yorum alanına yazmak isteyen bir gönüllü çıkar...
Labels:
Alıştırma Sorusu,
C# Algoritma,
C# Soru,
Sınav Sorusu
18 Aralık 2016 Pazar
KUYRUK RÜZGARI TÜRBÜLANSI - VORTEX NEDİR?
Uçaklar, aynı suda ilerleyen gemiler gibi arkalarında bozuk, farklı yönlere dağılan hava kütlesi yani girdaplar bırakırlar. Bunlara kuyruk rüzgarı türbülansı veya vorteks denir. Uçakların kanat ucundan geriye doğru yayılan ve aksi yönde dönen, düzensiz çalkantıları, arkadan gelen uçaklar için zaman zaman çok ciddi tehlikelere neden olabiliyor.
Yapılan ölçümlerde vortekslerin hızlarının saniyede 100 metreye kadar çıktığı da saptanmış durumda. Ağır uçakların ardından oluşan vortekslerin etkisi en az 2 dakika sürüyor. Bu süre bitmeden küçük uçakların yapacağı inişlerde kaza riski çok fazla. Arka arkaya iniş yapacak uçakların aralarındaki mesafe kule tarafından en az dört mil olarak ayarlanıyor.
Eğer önden ağır uçak iniyorsa bu mesafe en az 5-7 mile kadar çıkartılabiliyor. Hatta bu mesafe sonrasında birkaç dakika daha beklenerek türbülansın iyice dağılması sağlanıyor.
Kaynak: Sanal Pilot
Yapılan ölçümlerde vortekslerin hızlarının saniyede 100 metreye kadar çıktığı da saptanmış durumda. Ağır uçakların ardından oluşan vortekslerin etkisi en az 2 dakika sürüyor. Bu süre bitmeden küçük uçakların yapacağı inişlerde kaza riski çok fazla. Arka arkaya iniş yapacak uçakların aralarındaki mesafe kule tarafından en az dört mil olarak ayarlanıyor.
Eğer önden ağır uçak iniyorsa bu mesafe en az 5-7 mile kadar çıkartılabiliyor. Hatta bu mesafe sonrasında birkaç dakika daha beklenerek türbülansın iyice dağılması sağlanıyor.
Kaynak: Sanal Pilot
7 Aralık 2016 Çarşamba
25 Kasım 2016 Cuma
jQuery Animate Loop - Kod Örneği
jQuery Animate Loop Kod Öeneği:
Son adımdaki hide fonksiyonu callback olarak animasyon metodunu alıyor ve süreç tekrar başlıyor.
Labels:
jQuery,
jQuery Animate,
jQuery Animate Loop
23 Kasım 2016 Çarşamba
Algoritma Sınavı Soruları - 2/22 - Artık Yıl Hesaplama
SORU: Aşağıda verilen kurallara göre, kullanıcıdan yıl bilgisi alan ve alınan yılın artık yıl olup olmadığını ekranda görüntüleyen kodu yazınız.
Yıl Bilgisini Giriniz: 2015
2015 yılı artık yıl değildir.
Yıl Bilgisini Giriniz: 2016
2016 yılı artık yıldır.
- Yıl, 400'e tam bölünebiliyorsa artık yıldır.
- Yıl, 4'e tam bölünüp 100'e tam bölünemiyor ise artık yıldır.
Yıl Bilgisini Giriniz: 2015
2015 yılı artık yıl değildir.
Yıl Bilgisini Giriniz: 2016
2016 yılı artık yıldır.
Algoritma Sınavı Soruları - 1/22
SORU: Klavyeden dakika bazında alınan bir tam sayıyı; "gün:saat:dakika" formatında ekrana yazdırınız.
Beklenen Örnek Ekran Çıktısı:
Toplam Dakika Bilgisini Giriniz: 7420
7420 dakika, 5 gün 3 saat 40 dakika eder.
Beklenen Örnek Ekran Çıktısı:
Toplam Dakika Bilgisini Giriniz: 7420
7420 dakika, 5 gün 3 saat 40 dakika eder.
22 Kasım 2016 Salı
X Üniversitesi Y Meslek Yüksek Okulu Bilgisayar Teknolojileri ve Programcılığı Programı Internet Programcılığı Final Sınav Soruları
Eskilerimi düzenlerken 13 Ocak 2009 tarihli bir sınav soru kağıdı geçti elime.
SORU 1:
CSS kullanım amaçlarını,
Web Sayfasına kattığı avantajlarını ve
kodlanarak web sayfası içerisinde kullanımını bir örnek üzerinde gösteriniz.
25 puan
SORU 2:
Hazırlayacak olduğunuz bir form içerisinde;
Id'si isim olarak tanımlanmış bir giriş kutusu ve
Id'si kontrol olarak tanımlanmış vir checkbox mevcuttur.
İsim alanına bilgi girildikten sonra;
kontrol checkbox'ı seçildiği anda isim alanındaki bilgilerin tümünü
BÜYÜK HARFE çevirerek tekrar isim alanına yazdıran ve
işlem tamamlandı uyarısını veren Javascript ile ilgili tüm kodlamaları yazınız.
(Form Oluşturulacak)
25 puan
SORU 3:
ASP.NET teknolojisi kullanarak;
içerisinde kullanıcı adı, kullanıcı telefonu, kullanıcı bilgileri olan bir formda
kaydet butonuna basılınca, aynı isimli kullanıcı yok ise text dosyaya kayıt eden,
var ise uyarı mesajı vererek kayıt etmeyen kodlamayı
form yapısı ile birlikte oluşturunuz.
25 puan
SORU 4:
PHP ile bir hesap makinesi hazırlayınız.
25 puan
20 Kasım 2016 Pazar
Draw Your Game ile Kendi Oyununu Çizerek Yap
Web Site: https://www.draw-your-game.com/index.html
Google Play Market'ten indir:
https://play.google.com/store/apps/details?id=com.korrisoft.draw.your.game
Apple AppStore'dan indir:
https://apps.apple.com/tr/app/draw-your-game-2/id1254688623?l=tr
Diğer İçerikler:
https://www.youtube.com/watch?v=7FWXMfskxzI
https://www.youtube.com/watch?v=kNY5aWl-FkE
https://www.youtube.com/watch?v=oeF81ZsQwoQ
https://www.youtube.com/watch?v=LacN8W7OMMw
https://www.youtube.com/watch?v=pRNWwVAbdhM
2 Kasım 2016 Çarşamba
Microsoft SQL Server Express Sürümlerinin Veri Tabanı Boyutu Limitleri
Microsoft SQL Server Express sürümleri ücretsiz olarak kullanılabiliyor. Fakat, veri tabanı boyutu üzerinde bir sınır noktası var. Aşağıdaki listede SQL Server Express sürümlerinin limitlerini bulabilirsiniz.
- Microsoft SQL Server 2005 Express
- Microsoft SQL Server 2008 Express
sürümlerinde maksimum 4GB veri tabanı boyutu limiti var.
- Microsoft SQL Server 2008 R2 Express
- Microsoft SQL Server 2012 Express
- Microsoft SQL Server 2014 Express
- Microsoft SQL Server 2016 Express
sürümlerinde maksimum 10GB veri tabanı boyutu limiti var.
13 Ekim 2016 Perşembe
Scratch’te Kalem ile Pokemon Topu Çizelim Online Proje Eğitimimizi Yayına Aldık
Scratch’te Kalem ile Pokemon Topu Çizelim Online Proje Eğitimi
Scratch’te Kalem ile Pokemon Topu Çizelim online proje eğitimimize hoşgeldin.
Ben Ercan Bozkurt.
Scratch Görsel Programlama Dili ile çizimler yapacağımız bu online projemizde Scratch'te kalem ile çalışmayı, Scratch'te çizgiler çizmeyi, Scratch'te Kalemi Belli Bir Yöne Hareket Ettirme ve bu sayede çeşitli şekiller oluşturmayı öğreneceğiz.
Kendi çizimlerinizi oluşturmaya hazır mısınız
Hadi başlayalım.
11 Ekim 2016 Salı
Scratch ile Müzik Yapmayı Öğreniyoruz - Eğitimimizi Yayına Aldık
Scratch ile Müzik Yapmayı Öğreniyoruz
Scratch ile Müzik Yapmayı Öğreniyoruz online eğitimimize hoşgeldin. Scratch ile Müzik Yapmayı Öğreniyoruz projemizde önce nota bilgisini öğreneceğiz. Notaları öğrendikten sonra piyano ile “daha dün annemizin” parçasını çalmak için gerekli blokları birleştireceğiz ve müziğimizi oluşturacağız.
Sahnemize müzik temasına uygun bir dekor ekleyip müzik projemizi tamamlayacağız.
Hadi başlayalım.
7 Ekim 2016 Cuma
5 Ekim 2016 Çarşamba
Microsoft .NET Platformunda Programlama - Eğitimimizi Yayına Aldık
Microsoft .NET Platformunda Programlama Eğitimi
.NET platformu üzerinde tek bir dil kullanarak masaüstü, web ya da mobil uygulamalar geliştirebilirsiniz.
Bu Microsoft .Net Platformunda
Programlama online eğitimimizde .NET Platformu ve .NET Framework konularını
ele alacağız. .NET Dünyasında assembly kavramını
inceleyeceğiz ve Common
Intermediate Language (Ortak Ara Dil)’den
bahsedeceğiz.
Eğitim
içerisinde .NET
Framework sürümlerine değineceğiz ve çeşitli özelliklerin hangi sürümlerde
yer aldığını öğreneceğiz. .NET Framework mimarisini inceleyip, .NET’in sunduğu çözümleri dile getireceğiz.
.NET
Framework kurulumu ve kurulum öncesi
bilmemiz gerekenlere baktıktan sonra, .NET’in önemli bileşenlerini ele alıp Temel Sınıf Kütüphanesi ve C# dili hakkında bilgiler ile ilk bölümü bitireceğiz.
Assembly
kavramını ele alırken, CIL, MetaData, Manifest ve Kaynaklar hakkında bilgiler verip son konumuzda ortak ara
dilin yararlarını ve detaylarını anlatacağız.
29 Eylül 2016 Perşembe
Scratch ile Hayallerini Kodla! - Eğitimimizi Yayına Aldık
Scratch Temel Egitimi
Scratch Temel Eğitimine Hoşgeldin.
Bu video senin için hazırlandı ancak sen bu videoyu izlemeden hemen Scratch öğrenmeye hazır hissedip sonraki videoya geçmiş olabilirsin aslında istediğimiz de tam olarak bu :) Eğer bu videoyu izlemeyi seçtiysen; Scratch ile görsel programlama dünyasına girmene sadece 1 adım kaldı. Nasıl mı?
MIT Medya Laboratuarında geliştirilen Scratch, sürükle - bırak mantığı ile çalışan ve sana en kolay şekilde kodlama öğretecek olan görsel bir programlama ortamıdır. Scratch sayesinde hiç kod yazmaya gerek kalmadan sürükle bırak mantığıyla kodlama yapabilirsin. Bu sayede animasyonlar, etkileşimli hikayeler veçizgi filmler oluşturabilir, oyunlar yapabilirsin ve yaptığın her şeyi hem arkadaşlarınla hem de tüm dünyadaki her yaştan diğer scratch kullanıcıları ile paylaşabilirsin.
Scratch ile programlamaya başlamak için bir bilgisayar ya da tablet kullanman yeterli! Kodlama alanına sürükleyip bırakacağın kod blokları ile kendi programlarını inşaa edebileceğini zaten öğrendin. Bunun dışında Scratch dünyasında varolan mevcut uygulamalara katkıda bulunarak diğer uygulamaları da geliştirebilirsin. Bu eğitim setinde Scratch ile tanıştıktan hemen sonra bu ortamda neler yapabileceğini, web sitesine kayıt olmayı, online ve offline editör ile arayüze hakim olarak calismayi, projeler oluşturup kaydetmeyi, baskalarinin projelerine katkida bulunmayi ogreneceksin. Tabii ki tüm bunları öğrenirken Piko arkadaşlarını bekliyor ve kovalamaca projeleri ile tecrübe kazanıp diğer örnek uygulamalarla hayalinde canlandırdığın diğer projeleri hayata geçirebileceksin.
Hadi kodlamaya!
Scratch: Sayı Tahmin Oyunu Projesi
Sayı Tahmin Oyunu Nedir?
Sayı Tahmin Oyunu projemizde Anna, 1 ile 10 arasında rastgele bir sayı tutuyor ve bizden tuttuğu sayıyı tahmin ederek bulmamızı istiyor.
Sayı Tahmin Oyunu Nasıl Oynanır?
Oyunu başlatmak için yeşil bayrağa tıkla.
Anna sorduğunda, sahnenin alt kısmındaki alana tahminini gir.
Çocuklar için Kodlama dersinde kullandığımız projenin kodlarını incelemek için bu linki kullanarak sayı tahmin oyunu kodlama sayfasına ulaşabilirsiniz.
Sayı Tahmin Oyunu projemizde Anna, 1 ile 10 arasında rastgele bir sayı tutuyor ve bizden tuttuğu sayıyı tahmin ederek bulmamızı istiyor.
Sayı Tahmin Oyunu Nasıl Oynanır?
Oyunu başlatmak için yeşil bayrağa tıkla.
Anna sorduğunda, sahnenin alt kısmındaki alana tahminini gir.
Çocuklar için Kodlama dersinde kullandığımız projenin kodlarını incelemek için bu linki kullanarak sayı tahmin oyunu kodlama sayfasına ulaşabilirsiniz.
23 Eylül 2016 Cuma
Scratch: Pico Arkadaşlarını Bekliyor Projesi
Eğer yukarıdaki alanda oyun çalışmamış olursa, hata mesajı üzerindeki linke tıklayarak Flash Player'ı aktif hale getirebilirsiniz.
Proje Kodları:
Projeyi incelemek ve üzerinde değişiklikler gerçekleştirmek için bu linki kullanabilirsiniz.
Proje Kodları:
Projeyi incelemek ve üzerinde değişiklikler gerçekleştirmek için bu linki kullanabilirsiniz.
Scratch: DJ Kedicik ile Müzik Projesi
DJ Kedicik projesinde yeşil bayrak ile projeyi başlatıp; klavyeden Z,X,C,V,B,N tuşlarına basarak scratch sesleri çıkarabilirsiniz. Proje çalışmaya başladığında arkaplanda ritim sesi kesintisiz bir şekilde devam edecektir. Ayrıca boşluk tuşuna basarak kediciğimizin miyav sesi çıkartmasını sağlayabilirsiniz.
Bu proje ve bunun gibi daha birçok projeyi, Abaküs Yayınevinin Çocuklar için SCRATCH ile Programlama kitabında bulabilirsiniz.
Bu proje ve bunun gibi daha birçok projeyi, Abaküs Yayınevinin Çocuklar için SCRATCH ile Programlama kitabında bulabilirsiniz.
Labels:
DJ Scratch,
Scratch,
Scratch ile Müzik Yapalım
18 Eylül 2016 Pazar
SQL: Dinamik Sorgu Oluşturmak
Gelen bir soru üzerine olayın mantığının anlaşılabilmesi için hızlıca bir örnek hazırladım.
Örnekte iki tabloyu join etmek için bir stored procedure kullanılıyor. Parametre olarak iki tablonun adları ve join edilecek kolon adları veriliyor.
Örnekte iki tabloyu join etmek için bir stored procedure kullanılıyor. Parametre olarak iki tablonun adları ve join edilecek kolon adları veriliyor.
Labels:
Dinamik SQL,
Dynamic SQL,
SQL,
SQL Dinamik Join,
SQL Dinamik SP,
SQL Join
Çocuklarımıza Niçin Kodlama / Programlama Öğretelim Ki?
Bu yazıda; çevremde arkadaşlarım ile konuştuğum ve sosyal medyadan derlediğim notları bir araya toplamak istedim.
Günümüzde kodlamanın önemi büyük. Programlama dersi; yalnızca bilgisayar mühendisliği ya da yazılım mühendisliğinde değil tüm mühendislik dallarında ve matematik bölümünde de zorunlu olarak okutuluyor. Hatta genetik okuyan bir öğrencim olmuştu ve dersi geçmesine destek olması için algoritma ile kodlamaya giriş eğitimleri almıştı. Buna rağmen; üniversitede mühendislik dallarına gelene kadar geçen yıllar boyunca kodlamadan uzak bir şekilde büyümek yetişmek günümüz dünyasının ihtiyaçları karşısında hayata geç kalmak anlamına geliyor.
Programlama öğrenen kişi aslında bilgisayarla ve diğer cihazlarla konuşmayı öğreniyor. Programlama ile birlikte algoritma da öğrenen kişi; problem çözme tekniklerini ve sistematik bir şekilde düşünebilme yeteneklerini kazanıyor. Bu yeteneklerini kullanarak cihazlara çeşitli işlemleri nasıl yapacaklarını ve hangi durumda nasıl davranacaklarını söylüyor.
Hayatta her alanda problemlere farklı açılardan bakabilme, çözüm üretmek veya gereğinde alternatif çözümler üretmek için çok önemlidir. Kod yazmayı ve algoritma kurmayı öğrenen çocuğun bu yetenekleri de gelişir. Bir sorun için birden fazla çözüm üretip; gerektiğinde içlerinden en verimli olanı veya en kısa zamanda sonuca götüreni seçebilir. Alternatifler arasından o anki duruma en uygun seçeneği tercih etme konusunda yeteneklerini ve hızını artıran çocuğun karar alma ve doğru karar verme becerileri de gelişir.
Bill Gates, Mark Zuckerberg ve Steve Jobs gibi bilişim alanında isim yapmış insanların ortak özelliği hepsinin küçük yaşta programlama öğrenmiş ve kod yazmış olmaları.
Uzmanlar diyor ki;
Öncelikle; kim bu uzmanlar diyecek olursak, dünyanın birçok büyük firmasının kurucuları, ya da en meşhur programcıları, devlet başkanları ve teknoloji danışmanları diyebiliriz.
Bu uzmanlar diyor ki; herkes küçük yaşlardan itibaren programlama öğrenmelidir. Hemen Apple'dan rahmetli Steve Jobs'un söylediklerini hatırlayalım:
"Bence ülkede herkes bilgisayar programlamayı (kodlamayı) öğrenmeli. Bir bilgisayar dili öğrenmeli. Çünkü bu, insana nasıl düşüneceğini öğretir. Ben bilgisayar bilimini bir sosyal bilim olarak görüyorum. Bu herkesin öğrendiği bir şey olmalı"
Microsoft'tan Bill Gates, ilk programını 13 yaşında yazdı. (Üç Taş Oyunu) 15 yaşında ise BASIC dilinin yeni bir versiyonunu tasarladı. Facebook kurucusu Mark Zuckerberg de kod yazmayı çocuk yaşta öğrenenlerden. Mark kodlama yapmaya 9 yaşında başladı.
Programlama öğrenmek insana/çocuğumuza neler katar?
Scratch ile Çocuklar için Kodlamaya Giriş eğitim videolarına ücretsiz olarak aşağıdaki udemy linki üzerinden erişebilirsiniz.
https://www.udemy.com/scratch-ile-cocuklar-icin-kodlama/
http://www.yavrukanguru.com
Günümüzde kodlamanın önemi büyük. Programlama dersi; yalnızca bilgisayar mühendisliği ya da yazılım mühendisliğinde değil tüm mühendislik dallarında ve matematik bölümünde de zorunlu olarak okutuluyor. Hatta genetik okuyan bir öğrencim olmuştu ve dersi geçmesine destek olması için algoritma ile kodlamaya giriş eğitimleri almıştı. Buna rağmen; üniversitede mühendislik dallarına gelene kadar geçen yıllar boyunca kodlamadan uzak bir şekilde büyümek yetişmek günümüz dünyasının ihtiyaçları karşısında hayata geç kalmak anlamına geliyor.
Programlama öğrenen kişi aslında bilgisayarla ve diğer cihazlarla konuşmayı öğreniyor. Programlama ile birlikte algoritma da öğrenen kişi; problem çözme tekniklerini ve sistematik bir şekilde düşünebilme yeteneklerini kazanıyor. Bu yeteneklerini kullanarak cihazlara çeşitli işlemleri nasıl yapacaklarını ve hangi durumda nasıl davranacaklarını söylüyor.
Hayatta her alanda problemlere farklı açılardan bakabilme, çözüm üretmek veya gereğinde alternatif çözümler üretmek için çok önemlidir. Kod yazmayı ve algoritma kurmayı öğrenen çocuğun bu yetenekleri de gelişir. Bir sorun için birden fazla çözüm üretip; gerektiğinde içlerinden en verimli olanı veya en kısa zamanda sonuca götüreni seçebilir. Alternatifler arasından o anki duruma en uygun seçeneği tercih etme konusunda yeteneklerini ve hızını artıran çocuğun karar alma ve doğru karar verme becerileri de gelişir.
Bill Gates, Mark Zuckerberg ve Steve Jobs gibi bilişim alanında isim yapmış insanların ortak özelliği hepsinin küçük yaşta programlama öğrenmiş ve kod yazmış olmaları.
Uzmanlar diyor ki;
Öncelikle; kim bu uzmanlar diyecek olursak, dünyanın birçok büyük firmasının kurucuları, ya da en meşhur programcıları, devlet başkanları ve teknoloji danışmanları diyebiliriz.
Bu uzmanlar diyor ki; herkes küçük yaşlardan itibaren programlama öğrenmelidir. Hemen Apple'dan rahmetli Steve Jobs'un söylediklerini hatırlayalım:
"Bence ülkede herkes bilgisayar programlamayı (kodlamayı) öğrenmeli. Bir bilgisayar dili öğrenmeli. Çünkü bu, insana nasıl düşüneceğini öğretir. Ben bilgisayar bilimini bir sosyal bilim olarak görüyorum. Bu herkesin öğrendiği bir şey olmalı"
Microsoft'tan Bill Gates, ilk programını 13 yaşında yazdı. (Üç Taş Oyunu) 15 yaşında ise BASIC dilinin yeni bir versiyonunu tasarladı. Facebook kurucusu Mark Zuckerberg de kod yazmayı çocuk yaşta öğrenenlerden. Mark kodlama yapmaya 9 yaşında başladı.
Programlama öğrenmek insana/çocuğumuza neler katar?
- Problem Çözebilme Yeteneği,
- Sistematik Düşünme Yeteneği,
- Olaylar Arasındaki İlişkileri Görebilme Yeteneği,
- Çok Yönlü Düşünebilme Yeteneği,
- Yaratıcı Düşünebilme Yeteneği
Scratch ile Çocuklar için Kodlamaya Giriş eğitim videolarına ücretsiz olarak aşağıdaki udemy linki üzerinden erişebilirsiniz.
https://www.udemy.com/scratch-ile-cocuklar-icin-kodlama/
http://www.yavrukanguru.com
17 Eylül 2016 Cumartesi
SQL - Stored Procedure Tarafından Üretilen Sonuç Kümesini Başka Bir Tabloya Kaydetmek
Stored Procedure çalıştırıldığında elde edilen sonuç kümesi ile aynı yapıda bir tablomuz olduğunu varsayalım. Yoksa oluşturalım.
Sonrasında tek yapmamız gereken aşağıdaki gibi bir insert sorgusu yazmak;
INSERT INTO şema.HedefTablo
exec BizimProcedure @parametre1,@parametre2
NOT: Parametre almayan bir stored procedure de kullanabilirdik pek tabii ki.
Sonrasında tek yapmamız gereken aşağıdaki gibi bir insert sorgusu yazmak;
INSERT INTO şema.HedefTablo
exec BizimProcedure @parametre1,@parametre2
NOT: Parametre almayan bir stored procedure de kullanabilirdik pek tabii ki.
16 Eylül 2016 Cuma
SQL: Bir Tablonun Şemasını T-SQL ile Değiştirmek
SQL Server veri tabanları içerisinde tablolar oluştururken, tablomuzu dbo şeması ya da daha önceden tanımlanmış başka şemalar altında oluşturabiliriz. Bir tablo oluşturulduktan sonra, tabloyu başka bir şemanın altına alma ihtiyacımız olabilir.
Örneğin; Veri tabanına toplu veri girişi yaparken gelen verileri dbo şemasının altında oluşturulan tablolara aldığımızı düşünelim. Oluşturulan tablolar üzerinde gerekli düzenlemeleri yaptıktan ve veriyi istediğimiz hale getirdikten sonra; tablomuzu, yetkilendirme süreçleri önceden tanımlanmış bir şemanın altına taşımak isteyelim.
Aşağıdaki T-SQL sorgusu ile tablomuzu başka bir şema altına alabiliriz.
ALTER SCHEMA YeniHedefSchema TRANSFER MevcutKaynakSchema.TabloAdi
15 Eylül 2016 Perşembe
SQL Server'da Database Shrink ile Veri Tabanı Küçültme İşlemi
SQL Server'da Database Shrink ile Veri Tabanı Küçültme İşlemi
Shrink kelimesini Türkçe'ye küçültmek olarak çevirebiliriz.
Bir veri tabanı içerisindeki veri miktarı azalsa dahi, veri tabanının sabit diskte kapladığı alan azalmaz.
Mesela 3 GB boyutunda veri ile dolu olan bir veri tabanından 1 GB veri silecek olursak, veri tabanının sabit diskte kapladığı alan 2GB'a inmez. Diskte kaplanan alan halen 3 GB olacaktır.
Disk alanı kullanımını israf boyutundan çıkarıp normal boyutlara çekmek için shrink işlemi yapılabilir.
Veri tabanı shrink işlemini T-SQL ile yapabileceğimiz gibi SQL Server Management Studio içerisinde grafik arayüzü kullanarak da yapabiliriz. Örneğimizi T-SQL ile gerçekleştireceğiz.
Shrink işlemini veri tabanı için hem *.mdf *.ndf gibi data dosyalarında hem de *.ldf log dosyaları üzerinde tek komutla uygulamak istediğimizde aşağıdaki komutu kullanabiliriz. Örnekte işlemin Adventureworks veri tabanı üzerinde uygulandığı varsayılmıştır.
use AdventureWorks
GO
DBCC SHRINKDATABASE('AdventureWorks')
Eğer shrink işlemini veri tabanına ait tüm dosyalarda değil de sadece tek bir data dosyası üzerinde uygulamak istersek; kullanacağımız komut aşağıdaki gibi olacaktır. Dosya bazlı shrink işlemi yapmak için shrinkfile kullanırken ilk parametre olarak veri tabanı adını değil küçültmek istediğimiz dosyanın adını gireriz.
use AdventureWorks
GO
DBCC SHRINKFILE('AdventureWorks_Data',0,TRUNCATEONLY)
Benzer şekilde, sadece log dosyasını shrinklemek için shrinkfile komutu kullanılabilir.
use AdventureWorks
GO
DBCC SHRINKFILE('AdventureWorks_Log',0,TRUNCATEONLY)
Shrink kelimesini Türkçe'ye küçültmek olarak çevirebiliriz.
SQL Server: Database Shrink |
Mesela 3 GB boyutunda veri ile dolu olan bir veri tabanından 1 GB veri silecek olursak, veri tabanının sabit diskte kapladığı alan 2GB'a inmez. Diskte kaplanan alan halen 3 GB olacaktır.
Disk alanı kullanımını israf boyutundan çıkarıp normal boyutlara çekmek için shrink işlemi yapılabilir.
Veri tabanı shrink işlemini T-SQL ile yapabileceğimiz gibi SQL Server Management Studio içerisinde grafik arayüzü kullanarak da yapabiliriz. Örneğimizi T-SQL ile gerçekleştireceğiz.
Shrink işlemini veri tabanı için hem *.mdf *.ndf gibi data dosyalarında hem de *.ldf log dosyaları üzerinde tek komutla uygulamak istediğimizde aşağıdaki komutu kullanabiliriz. Örnekte işlemin Adventureworks veri tabanı üzerinde uygulandığı varsayılmıştır.
use AdventureWorks
GO
DBCC SHRINKDATABASE('AdventureWorks')
Eğer shrink işlemini veri tabanına ait tüm dosyalarda değil de sadece tek bir data dosyası üzerinde uygulamak istersek; kullanacağımız komut aşağıdaki gibi olacaktır. Dosya bazlı shrink işlemi yapmak için shrinkfile kullanırken ilk parametre olarak veri tabanı adını değil küçültmek istediğimiz dosyanın adını gireriz.
use AdventureWorks
GO
DBCC SHRINKFILE('AdventureWorks_Data',0,TRUNCATEONLY)
Benzer şekilde, sadece log dosyasını shrinklemek için shrinkfile komutu kullanılabilir.
use AdventureWorks
GO
DBCC SHRINKFILE('AdventureWorks_Log',0,TRUNCATEONLY)
SEO Notları: Alexa Nedir?
SEO Çalışmalarında Alexa Nedir?
Internet üzerindeki tüm web siteleri Alexa tarafından ziyaretçi bazlı seo kriterlerine göre değerlendirilir ve bir sıralama oluşturulur.
Alexa'nın bu hizmeti, arka planda manipüle edilebilir olduğu için birçok yerde güvenilir olarak kabul edilmez. Buna rağmen günümüzde halen az da olsa SEO'ya etkisi vardır.
1996 yılında bağımsız bir firma olarak kurulan Alexa, 1999 yılında Amazon tarafından satın alınmıştır.
Alexa Web Sitesi: http://www.alexa.com/
SEO Notları serisindeki diğer yazılara ulaşmak için tıklayınız.
Internet üzerindeki tüm web siteleri Alexa tarafından ziyaretçi bazlı seo kriterlerine göre değerlendirilir ve bir sıralama oluşturulur.
Alexa'nın bu hizmeti, arka planda manipüle edilebilir olduğu için birçok yerde güvenilir olarak kabul edilmez. Buna rağmen günümüzde halen az da olsa SEO'ya etkisi vardır.
1996 yılında bağımsız bir firma olarak kurulan Alexa, 1999 yılında Amazon tarafından satın alınmıştır.
Alexa Web Sitesi: http://www.alexa.com/
SEO Notları serisindeki diğer yazılara ulaşmak için tıklayınız.
SEO Notları: PageRank (PR) Nedir?
SEO Notları: PageRank (PR) Nedir?
PageRank, Google tarafından, web siteleri için yapılan bir değerlendirme ve derecelendirme sistemidir.
10 üzerinden derecelendirme yapılır. Senede 3-4 kez yapılan düzenlemeler sonrasında güncel değerler açıklanır.
Pagerank, Google aramalarında üst sıralara çıkma konusunda etkili değildir.
SEO Notları serisindeki diğer yazılara ulaşmak için tıklayınız.
PageRank, Google tarafından, web siteleri için yapılan bir değerlendirme ve derecelendirme sistemidir.
10 üzerinden derecelendirme yapılır. Senede 3-4 kez yapılan düzenlemeler sonrasında güncel değerler açıklanır.
Pagerank, Google aramalarında üst sıralara çıkma konusunda etkili değildir.
SEO Notları serisindeki diğer yazılara ulaşmak için tıklayınız.
Labels:
PageRank,
PageRank Nedir?,
PageRank SEO Etkisi,
PR,
PR'ın SEO'ya Etkisi,
SEO,
SEO Notları
SEO Notları: Google DeIndex Cezası
Google DeIndex Cezası
Google aramalarında üst sıralarda çıkmak için olması gereken etik seo yöntemleri dışında hem etik olmayan hem de bazı durumlarda yasal bile olmayan yöntemler kullananlar olabiliyor.
Google, bu tarz etik olmayan davranışlar sergileyen web sitelerini tespit ettiğinde filtre ya da deindex gibi çeşitli cezalandırma yöntemleri uygular.
Deindex cezası, bir web sitesinin ve bu siteye ait tüm sayfaların, arama motorundan tamamen silinmesi anlamına gelir. Bu ceza türü, arama motorları tarafından verilebilecek en büyük cezadır.
SEO Notları serisindeki diğer yazılara ulaşmak için tıklayınız.
Google aramalarında üst sıralarda çıkmak için olması gereken etik seo yöntemleri dışında hem etik olmayan hem de bazı durumlarda yasal bile olmayan yöntemler kullananlar olabiliyor.
Google, bu tarz etik olmayan davranışlar sergileyen web sitelerini tespit ettiğinde filtre ya da deindex gibi çeşitli cezalandırma yöntemleri uygular.
Deindex cezası, bir web sitesinin ve bu siteye ait tüm sayfaların, arama motorundan tamamen silinmesi anlamına gelir. Bu ceza türü, arama motorları tarafından verilebilecek en büyük cezadır.
SEO Notları serisindeki diğer yazılara ulaşmak için tıklayınız.
SEO Notları: Hacklink Nedir?
SEO Çalışmalarında Hacklink Nedir?
Bir web sitesinin sahibi ya da yetkilisinin izni veya bilgisi olmadan, siteyi hackleyerek kendi sitemize yönlenen linkler ekleme işlemine hacklink denir.
Bu tarz linkler genellikle web sitesinin ara yüzünde gözükmeyecek şekilde planlanır. Örneğin; beyaz arkaplan üzerinde beyaz renkli link. Verilen linkler kaynak kod tarafında yer aldığı için, sitede görülemese bile arama motoru tarafından doğal linkler olarak algılanır ve tavsiye edilen site olarak değerlendirilir.
Hacklink yapmanın çok sayıda yan etki ve sakıncası vardır. Öncelikle; yasalar gereği yapılan eylem suçtur ve hukuki sonuçları olabilir. Bunun haricinde; yaptığımız işlem, Google algoritmasını bir nevi kandırmak olduğu için, durum ortaya çıktığında Google tarafından cezalandırılarak arama sonuçları sıralamasında pozisyon kaybetmemize ve alt sıralara düşmemize sebep olacak bir işlemdir.
SEO Notları serisindeki diğer yazılara ulaşmak için tıklayınız.
Bir web sitesinin sahibi ya da yetkilisinin izni veya bilgisi olmadan, siteyi hackleyerek kendi sitemize yönlenen linkler ekleme işlemine hacklink denir.
Bu tarz linkler genellikle web sitesinin ara yüzünde gözükmeyecek şekilde planlanır. Örneğin; beyaz arkaplan üzerinde beyaz renkli link. Verilen linkler kaynak kod tarafında yer aldığı için, sitede görülemese bile arama motoru tarafından doğal linkler olarak algılanır ve tavsiye edilen site olarak değerlendirilir.
Hacklink yapmanın çok sayıda yan etki ve sakıncası vardır. Öncelikle; yasalar gereği yapılan eylem suçtur ve hukuki sonuçları olabilir. Bunun haricinde; yaptığımız işlem, Google algoritmasını bir nevi kandırmak olduğu için, durum ortaya çıktığında Google tarafından cezalandırılarak arama sonuçları sıralamasında pozisyon kaybetmemize ve alt sıralara düşmemize sebep olacak bir işlemdir.
SEO Notları serisindeki diğer yazılara ulaşmak için tıklayınız.
10 Eylül 2016 Cumartesi
SQL: Sunucudaki Tüm Veri Tabanları için Son Backup Alınan Tarihi Bulmak
Gece gece can sıkıntısı. Uyku tutmadı. Ufak tefek bir şeyler karalayayım dedim.
Veri ile çalışırken yedeklemenin önemi büyük. En son ne zaman yedek aldığınızı merak ettiniz mi hiç? Bir SQL Server Instance'ı içerisinde yer alan tüm veri tabanları için son yedek alma zamanını görmek istediğimde aşağıdaki sorguyu kullanıyorum.
Üzerinde çalışacağımız nesneleri tanıyalım:
select * from sys.sysdatabases
select * from msdb.dbo.backupset
Sunucudaki Tüm Veri Tabanları için Son Backup Alınan Tarihi Gösteren Sorgu:
Öğrenciden Soru: database_name bilgisi msdb.dbo.backupset içerisinde varsa neden join yapıyoruz ki? Sadece msdb.dbo.backupset üzerine bir sorgu atsak zaten aynı bilgiyi alamaz mıyız?
Cevap: Sunucuda daha önce backup'ı hiç alınmamış veri tabanları var ise, msdb.dbo.backupset içerisinde onlara ait hiç bilgi olmayacaktır. Yani join yapmadan tek tarafı sorgularsak, daha önce en az 1 defa backup'ı alınmış veri tabanlarının son yedekleme tarihlerini görürüz. join yaparak sorgu oluşturduğumuzda ise, hiç yedeklenmemiş veri tabanlarını bile yanlarında bir tarih olmadan görebiliriz. Bu sayede daha önce hiç yedeklenmemiş bir veri tabanını yedeklememiz gerektiğine karar verebiliriz. Aksi takdirde bu tarz veri tabanlarını sorgu sonucunda hiç görmeyeceğimiz için kolayca gözden kaçırmak mümkün olur.
Veri ile çalışırken yedeklemenin önemi büyük. En son ne zaman yedek aldığınızı merak ettiniz mi hiç? Bir SQL Server Instance'ı içerisinde yer alan tüm veri tabanları için son yedek alma zamanını görmek istediğimde aşağıdaki sorguyu kullanıyorum.
Üzerinde çalışacağımız nesneleri tanıyalım:
select * from sys.sysdatabases
select * from msdb.dbo.backupset
Sunucudaki Tüm Veri Tabanları için Son Backup Alınan Tarihi Gösteren Sorgu:
Öğrenciden Soru: database_name bilgisi msdb.dbo.backupset içerisinde varsa neden join yapıyoruz ki? Sadece msdb.dbo.backupset üzerine bir sorgu atsak zaten aynı bilgiyi alamaz mıyız?
Cevap: Sunucuda daha önce backup'ı hiç alınmamış veri tabanları var ise, msdb.dbo.backupset içerisinde onlara ait hiç bilgi olmayacaktır. Yani join yapmadan tek tarafı sorgularsak, daha önce en az 1 defa backup'ı alınmış veri tabanlarının son yedekleme tarihlerini görürüz. join yaparak sorgu oluşturduğumuzda ise, hiç yedeklenmemiş veri tabanlarını bile yanlarında bir tarih olmadan görebiliriz. Bu sayede daha önce hiç yedeklenmemiş bir veri tabanını yedeklememiz gerektiğine karar verebiliriz. Aksi takdirde bu tarz veri tabanlarını sorgu sonucunda hiç görmeyeceğimiz için kolayca gözden kaçırmak mümkün olur.
7 Eylül 2016 Çarşamba
Microservisleri Anlamak
Mikroservisler (Microservices)
6 Eylül 2016
Devnot TV'de Mikroservisler konusu üzerine konuştuk.
Microservices nedir? Avantajları ve zorlukları nelerdir?
Klasik SOA uygulamalarından ne gibi farklılıkları vardır?
Microservisleri Anlamak
20 Ağustos 2017
1 Eylül 2016 Perşembe
SEO Notları: Black Hat SEO Nedir?
Black Hat SEO Nedir?
Arama motoru açıkları, sıralama algoritması açıkları gibi çeşitli açıklardan yararlanarak hem etik olmayan hem de çoğu zaman yasal olmayan yollarla haksız bir şekilde sıralamada üst sıralara çıkmak için yapılan SEO işlemleri Black Hat SEO olarak adlandırılır.
SEO Notları serisindeki diğer yazılara ulaşmak için tıklayınız.
Arama motoru açıkları, sıralama algoritması açıkları gibi çeşitli açıklardan yararlanarak hem etik olmayan hem de çoğu zaman yasal olmayan yollarla haksız bir şekilde sıralamada üst sıralara çıkmak için yapılan SEO işlemleri Black Hat SEO olarak adlandırılır.
SEO Notları serisindeki diğer yazılara ulaşmak için tıklayınız.
Labels:
Black Hat SEO,
Black Hat SEO Nedir?,
SEO,
SEO Notları
29 Ağustos 2016 Pazartesi
Windows En Son Ne Zaman Restart Oldu?
wmic os get lastbootuptime
Yukarıdaki komutu, komut satırında çalıştırıp, Windows'un son Restart olduğunu zamanı görebilirsiniz.
6 ayda bir restart kullanan birisi olarak, ara sıra merak edip bakmak için kullandığım bir komut.
Yukarıdaki komutu, komut satırında çalıştırıp, Windows'un son Restart olduğunu zamanı görebilirsiniz.
6 ayda bir restart kullanan birisi olarak, ara sıra merak edip bakmak için kullandığım bir komut.
SQL: Sunucudaki Veri Tabanlarının Listesini Sorgu ile Çekmek
Bir SQL Server üzerindeki tüm veri tabanları için veri tabanı adı ve veri tabanı fiziksel dosya yolunu aşağıdaki sorgu ile elde edebilirsiniz.
SQL Server Management Studio İçerisinden Çalıştırılan Sorgu Tamamlandığında Uyarı Sesi Çıkartmak
SQL Server Management Studio ile sorgular çalıştırıyoruz ve kimi zaman bu sorguların sonuçlanması biraz zaman alabiliyor. Tabi bu sırada başka işlere odaklanıp bazen ilk işimize çok gecikmeli bir şekilde dönüş yapabiliyoruz.
Çözüm basit. Çalıştırdığımız sorgu tamamlandığında uyarı olarak ufak bir Beep sesi duymak bizi yeniden göreve çağıracaktır.
Tools menüsünden Options üzerine tıklayalım ve Seçeneklerin bulunduğu pencereyi açalım.
Bu pencerede Query Results başlığının altında yer alan SQL Server içerisindeki General üzerine tıklayalım ve açılan alanda "Play the Windows default beep when a query batch completes" seçeneğini işaretleyelim.
Artık; sorgular tamamlandığında Windows ayarlarımızdaki varsayılan beep sesini duyacağız. Çok dağınık çalışan birisi olarak benim çok işime yarayan bir özellik. Bugün bir arkadaşım ile konuşurken konusu açıldı ve bloguma da yazmaya karar verdim. Umarım sizlerin de işine yarayacaktır.
Çözüm basit. Çalıştırdığımız sorgu tamamlandığında uyarı olarak ufak bir Beep sesi duymak bizi yeniden göreve çağıracaktır.
Tools menüsünden Options üzerine tıklayalım ve Seçeneklerin bulunduğu pencereyi açalım.
Bu pencerede Query Results başlığının altında yer alan SQL Server içerisindeki General üzerine tıklayalım ve açılan alanda "Play the Windows default beep when a query batch completes" seçeneğini işaretleyelim.
Artık; sorgular tamamlandığında Windows ayarlarımızdaki varsayılan beep sesini duyacağız. Çok dağınık çalışan birisi olarak benim çok işime yarayan bir özellik. Bugün bir arkadaşım ile konuşurken konusu açıldı ve bloguma da yazmaya karar verdim. Umarım sizlerin de işine yarayacaktır.
28 Ağustos 2016 Pazar
25 Ağustos 2016 Perşembe
SQL: Tablodaki Kolon Adlarını Sorgu ile Çekmek
Bir öğrencimden gelen soru üzerine minik bir kod parçası paylaşıyorum.
23 Ağustos 2016 Salı
Sitokinin Nedir?
"Markete üzüm gelmiş. Kırmızı, iri, dipdiri şeyler. Erik gibiler maşallah! Nereden geliyor bunlar?
Şili'den.
Şili mi?
Evet!
Kaç gündür buradalar?
3-5 gün oldu.
Düşünün, Şili'nin bir köyünde topluyorlar bunları. Uzun yolculuklar sonunda bizim kasabaya kadar geliyor. Bir süre bizim manavda bekliyor. Alıyorsun eve getiriyorsun, evde de 3-5 gün daha, bana mısın demiyor. Hala kütür kütür. İyi ama, nasıl?
Şahane şeyler var, adına ilaç diyorlar. Üzümlere verilen bu ilaçlardan birinin etiketindeki faydaları sayalım mesela: Dane büyüklüğünü arttırır, Dane ağrılığını arttırır, Dane şeklini daha düzgün olarak değiştirir, Tam olgunlaşmadan daneye parlak sarı yeşil rengini verir, Dayanıklı ve dirençli kabuk sayesinde hasat ve hasat sonrası olabilecek yaralanmalar en aza iner, hastalıklara direnç katar, Kullanım dozu yükseldiğinde sofralık üzümlerde hasadı geciktirir. Raf ömrü uzar.
Nedir bu? Sitokinin. Büyüme hormonu.
Bakın şu şansa ki, sitokinin insanda da aynı işe yarıyor. Sonra anneler şikayet ediyorlar "ee benim çocuk erken kıllanıyor!" Bu dünya böyle hanım abla, sen üzümü alırken kıllanmazsan, çocuğun kıllanır."
14 Ağustos 2016 Pazar
Mobil Web Uygulamaları Geliştirirken Kullanabileceğimiz Kütüphaneler ve Frameworkler
Mobil web uygulamalarının daha hızlı, performanslı ve görsel olarak daha çekici hale gelmesi için çeşitli frameworklerden ve kütüphanelerden faydalanıyoruz. Bu kütüphaneler ve frameworkler sayesinde tarayıcılar arasındaki uyumsuzlukları da düşünmemize gerek kalmıyor.
Kütüphaneler ve Frameworkler için minik bir liste oluşturalım;
jQuery Mobile
jQT (jQTouch)
Sencha Touch
Dojo Mobile
App Framework
Bootstrap
Kendo UI
Top Coat
Ionic Framework
Lungo
Appcelerator Titanium
Kütüphaneler ve Frameworkler için minik bir liste oluşturalım;
jQuery Mobile
jQT (jQTouch)
Sencha Touch
Dojo Mobile
App Framework
Bootstrap
Kendo UI
Top Coat
Ionic Framework
Lungo
Appcelerator Titanium
13 Ağustos 2016 Cumartesi
Hybrid Mobil Uygulama Nedir? Nasıl Geliştirilir?
Hybrid uygulamalar; hem native (yerel) kodların hem de web kodlarının (HTML + CSS + JS) bir arada çalıştığı uygulamalardır. Bu tarz uygulamalar, aynı native uygulamalar gibi paketlenir. Bu uygulamalara ait web kodları, üzerinde yer aldığı platformun tarayıcısı içerisinde çalışır.
Genel olarak bir framework üzerinde çalışan hybrid uygulamaları geliştirmek için HTML, CSS ve Javascript kullanılır.
Hybrid uygulamalar geliştirirken kullanılan frameworkler, HTML kodlarının donanıma erişmesi yönündeki engelleri kaldırır. Bu işi, kendi bünyesinde barındırdığı native (yerel) kodlar sayesinde yapar. Bu yerel kodların tetiklenebilmesi için Framework tarafından Javascript API'leri sunulur.
Hybrid uygulama geliştirmek için kullanılabilecek frameworkler;
Genel olarak bir framework üzerinde çalışan hybrid uygulamaları geliştirmek için HTML, CSS ve Javascript kullanılır.
Hybrid uygulamalar geliştirirken kullanılan frameworkler, HTML kodlarının donanıma erişmesi yönündeki engelleri kaldırır. Bu işi, kendi bünyesinde barındırdığı native (yerel) kodlar sayesinde yapar. Bu yerel kodların tetiklenebilmesi için Framework tarafından Javascript API'leri sunulur.
Hybrid uygulama geliştirmek için kullanılabilecek frameworkler;
Bunların dışında da çeşitli ürün ve araçlar var. Fırsat buldukça buradaki listeyi genişleteceğim. Sizler de yorum alanına benzer ürünleri yazarbilirsiniz.
Mobil Platformlarda Native (Yerel) Uygulama mı? Mobil Web Uygulaması mı?
Native uygulama mı? Web uygulaması mı? Aslında bu sorunun kesin ve net bir cevabı yok. Geliştirmeyi planladığımız uygulamanın tipine ve ihtiyaçlarımıza göre, bu soruya verilecek cevap da değişecektir.
Geliştireceğimiz uygulama bir veri uygulaması ise, kullanıcıya veri sunmak dışında sınırlı seviyede kullanıcı etkileşimi gerektiriyorsa, donanıma erişme ihtiyacı yoksa ya da HTML5'in erişebileceği donanımlar işimizi görmeye yetiyorsa, bu durumda mobil web uygulaması geliştirmek işimizi görecektir. Hatta iyi bir tercih olacaktır. Çünkü; HTML5 kullanarak tek bir uygulama geliştireceğiz ve bunu birçok işletim sistemi üzerinde çalıştırabileceğiz.
Yoğun işlemci gücü gerektiren işlemler yapmamız gerekiyorsa ya da platforma özgü kaynaklar kullanmamız gereken bir durum söz konusu ise native (yerel) uygulama geliştirmek daha cazip hale gelebilir. Bu tarz bir durumda mobil web uygulaması geliştirmemiz zaten mümkün olmayacaktır. HTML uygulamaları ile platforma özel bazı kaynaklara erişilemiyor. Erişebildiğimiz özellikleri de aynı performansta kullanamayabiliyoruz.
İki yaklaşımın da artılarını ve eksilerini değerlendirebilmek adına birer liste oluşturalım.
Mobil Web Uygulamaları
Native (Yerel) Uygulamalar
Tüm bu bilgilerin ışığında, geliştirilecek uygulamada performans çok kritik ise, kullanılması gereken donanımlara HTML5 ile erişemiyorsak, grafik yoğun bir uygulama geliştireceksek native uygulama geliştirmek daha mantıklı. Bunun dışındaki durumlarda Mobil Web Uygulamaları geliştirmek; zaman, maliyet ve yukarıdaki listede yer alan diğer sebeplerden dolayı daha makul bir seçim olacaktır.
Aslında en güzeli; hem web hem de native uygulamaların yeteneklerini bir arada kullanmak olurdu. Bir sonraki yazıda konumuz; Hybrid Uygulamalar.
Geliştireceğimiz uygulama bir veri uygulaması ise, kullanıcıya veri sunmak dışında sınırlı seviyede kullanıcı etkileşimi gerektiriyorsa, donanıma erişme ihtiyacı yoksa ya da HTML5'in erişebileceği donanımlar işimizi görmeye yetiyorsa, bu durumda mobil web uygulaması geliştirmek işimizi görecektir. Hatta iyi bir tercih olacaktır. Çünkü; HTML5 kullanarak tek bir uygulama geliştireceğiz ve bunu birçok işletim sistemi üzerinde çalıştırabileceğiz.
Yoğun işlemci gücü gerektiren işlemler yapmamız gerekiyorsa ya da platforma özgü kaynaklar kullanmamız gereken bir durum söz konusu ise native (yerel) uygulama geliştirmek daha cazip hale gelebilir. Bu tarz bir durumda mobil web uygulaması geliştirmemiz zaten mümkün olmayacaktır. HTML uygulamaları ile platforma özel bazı kaynaklara erişilemiyor. Erişebildiğimiz özellikleri de aynı performansta kullanamayabiliyoruz.
İki yaklaşımın da artılarını ve eksilerini değerlendirebilmek adına birer liste oluşturalım.
Mobil Web Uygulamaları
- Tek bir uygulama geliştirip tüm platformlarda çalıştırabiliriz. (iOS, Android, Windows)
- Uygulamanın bakımı ve hata ayıklama daha kolaydır. Çünkü; tüm platformları hedefleyen tek bir kodumuz vardır.
- Uygulamanın güncellenmesi çok kolaydır.
- Arama motorlarından maksimum verim alırız.
- Uygulamamız tarayıcıda çalıştığı için native uygulamalara nispeten daha yavaştır.
- HTML5 standartları ile ilgili tarayıcılar arasında uyumsuzluklar olabilir. Uyumluluk ile ilgili raporlar http://mobilehtml5.org/ adresinden kontrol edilebilir.
- Yalnızca, hem HTML5 hem de üzerinde çalışılan tarayıcının aynı anda desteklediği donanımlara ulaşılabilir.
- Platformlar arasındaki bazı farklılıklar yüzünden uyuşmazlıklar ve tutarsızlıklar oluşabilir.
- Görsel tarafta yapılabilecek grafik işlemleri sınırlıdır ve performans pek yüksek değildir.
Native (Yerel) Uygulamalar
- Her platform için, ayrı ayrı uygulamalar geliştirmek gerekir.
- Bakım ve hata ayıklama süreci zorlayıcıdır. Çünkü; aynı değişikliği tüm platformlarda ve dillerde ayrı ayrı gerçekleştirmek gerekir.
- Uygulama mağazası üzerinden güncelleme süreçlerini yönetmek gerekir.
- Arama motorları uygulamanın mağaza sayfasını indexler fakat SEO tarafında içeriklerden faydalanmak mümkün değildir.
- Direkt olarak sistem üzerinde çalıştığı için tarayıcı uygulamalarına göre hızlıdır.
- Her platformun kendi dili ve her sistemin kendi API'leri (Uygulama Programlama Arayüzü) kullanıldığı için tutarsızlıklar yaşanmaz.
- Sistem üzerinde izin verilen tüm donanımlara ulaşılabilir.
- Her platform kendi içerisinde tutarlı şekilde çalışır. Sorun yaşanmaz ya da az yaşanır.
- Görsel işlemler ve grafik çizimleri için her platformda çok sayıda yardımcı kütüphane vardır ve yüksek performanslı bir şekilde kullanılırlar.
Tüm bu bilgilerin ışığında, geliştirilecek uygulamada performans çok kritik ise, kullanılması gereken donanımlara HTML5 ile erişemiyorsak, grafik yoğun bir uygulama geliştireceksek native uygulama geliştirmek daha mantıklı. Bunun dışındaki durumlarda Mobil Web Uygulamaları geliştirmek; zaman, maliyet ve yukarıdaki listede yer alan diğer sebeplerden dolayı daha makul bir seçim olacaktır.
Aslında en güzeli; hem web hem de native uygulamaların yeteneklerini bir arada kullanmak olurdu. Bir sonraki yazıda konumuz; Hybrid Uygulamalar.
HTML5 ve Mobil Dünya
Mobil platformlar için genellikle native uygulamalar yazılması tercih ediliyor. Bunun sebepleri platform sevdası, daha çok iş yapmış olup daha fazla tatmin olmak, prestij, tek bir proje geliştirip farklı marketlerin hedeflenebileceğini bilmemek veya başka sebepler olabilir. Neyse, biz konumuza dönelim.
HTML5 ile mobil platformları hedefleyen uygulamalar geliştirilebilir. Platforma özel native bir uygulama geliştirerek yapılabilecek bir çok iş artık HTML5 ile de gerçekleştirilebilir durumda.
HTML5 ile geliştirilen bir uygulama her platformda çalışacaktır. Örneğin; Android, iOS ve Windows. Pek tabii ki bunlar sadece birer örnek, HTML5 çalıştırabilecek platformlar bunlarla sınırlı değil. Birçok platformun kolayca hedeflenebilmesi HTML5 ile uygulama geliştirmeyi daha cazip hale getiriyor.
HTML5 ile geliştirilen bir uygulama yalnızca mobil uyumlu bir web sitesi olabileceği gibi, üzerinde yer aldığı platformun web tarayıcısı içerisinde çalışan, marketten indirilebilir bir uygulama da olabilir. Ayrıca uygulama katmanı HTML5 üzerine inşa edilmiş olan işletim sistemleri için de HTML5 uygulamaları geliştirilebilir. Örneğin; Tizen, Firefox OS, Ubuntu Touch.
Peki mobil için web uygulaması mı geliştirelim yoksa her platform için yerel (native) bir uygulama geliştirmeyi mi tercih edelim? Bu konuyu bir sonraki yazıda ele alacağım. (Aldım. http://ercanbozkurt.blogspot.com.tr/2016/08/mobil-platformlarda-native-uygulama-mi-web-uygulamasi-mi.html bağlantısını kullanarak yazıya ulaşabilirsiniz.
Peki ya seçmek zorunda değilsek? Hybrid Uygulamalar, bu noktada yolumuza ışık tutacak. Hybrid uygulamalar konusunda da bir yazı ele almayı düşünüyorum. (Bunu da aldım. http://ercanbozkurt.blogspot.com.tr/2016/08/hybrid-mobil-uygulama-nedir-nasl.html bağlantısından okuyabilirsiniz.)
Madem sıradaki yazılar için hedefleri yazıyoruz. Planın geri kalanından da bahsedelim. Mobil Web uygulamaları geliştirirken kullanabileceğimiz çeşitli kütüphaneler ve frameworkler var. Bunlar, uygulama geliştirme süreçlerini hem kısaltıyor, hem de kolaylaştırıyor. Bu konuda minik bir liste hazırlayacağım.
Hazırlamayı düşündüğüm diğer bir liste de HTML5 tabanlı işletim sistemleri listesi.
Son adımda da mobil uygulama geliştirmenin geleceği hakkında bir şeyler karalayacağım.
HTML5 ile mobil platformları hedefleyen uygulamalar geliştirilebilir. Platforma özel native bir uygulama geliştirerek yapılabilecek bir çok iş artık HTML5 ile de gerçekleştirilebilir durumda.
HTML5 ile geliştirilen bir uygulama her platformda çalışacaktır. Örneğin; Android, iOS ve Windows. Pek tabii ki bunlar sadece birer örnek, HTML5 çalıştırabilecek platformlar bunlarla sınırlı değil. Birçok platformun kolayca hedeflenebilmesi HTML5 ile uygulama geliştirmeyi daha cazip hale getiriyor.
HTML5 ile geliştirilen bir uygulama yalnızca mobil uyumlu bir web sitesi olabileceği gibi, üzerinde yer aldığı platformun web tarayıcısı içerisinde çalışan, marketten indirilebilir bir uygulama da olabilir. Ayrıca uygulama katmanı HTML5 üzerine inşa edilmiş olan işletim sistemleri için de HTML5 uygulamaları geliştirilebilir. Örneğin; Tizen, Firefox OS, Ubuntu Touch.
Peki mobil için web uygulaması mı geliştirelim yoksa her platform için yerel (native) bir uygulama geliştirmeyi mi tercih edelim? Bu konuyu bir sonraki yazıda ele alacağım. (Aldım. http://ercanbozkurt.blogspot.com.tr/2016/08/mobil-platformlarda-native-uygulama-mi-web-uygulamasi-mi.html bağlantısını kullanarak yazıya ulaşabilirsiniz.
Peki ya seçmek zorunda değilsek? Hybrid Uygulamalar, bu noktada yolumuza ışık tutacak. Hybrid uygulamalar konusunda da bir yazı ele almayı düşünüyorum. (Bunu da aldım. http://ercanbozkurt.blogspot.com.tr/2016/08/hybrid-mobil-uygulama-nedir-nasl.html bağlantısından okuyabilirsiniz.)
Madem sıradaki yazılar için hedefleri yazıyoruz. Planın geri kalanından da bahsedelim. Mobil Web uygulamaları geliştirirken kullanabileceğimiz çeşitli kütüphaneler ve frameworkler var. Bunlar, uygulama geliştirme süreçlerini hem kısaltıyor, hem de kolaylaştırıyor. Bu konuda minik bir liste hazırlayacağım.
Hazırlamayı düşündüğüm diğer bir liste de HTML5 tabanlı işletim sistemleri listesi.
Son adımda da mobil uygulama geliştirmenin geleceği hakkında bir şeyler karalayacağım.
Labels:
Firefox OS,
HTML5,
HTML5 Uygulama,
Mobil HTML5,
Native Uygulama,
Tizen,
Ubuntu
12 Ağustos 2016 Cuma
Java Dilinde Temel Veri Tiplerinin Alt ve Üst Sınırları
Java dilinde temel veri tiplerinin alt ve üst sınırlarını kod yoluyla kolayca öğrenebiliriz.
Labels:
Java Temel Veri Tipleri,
MAX_VALUE,
MIN_VALUE
CSS3: Oval Köşeler (Border Radius)
Örnek Kullanım:
border-radius: [Ovallik için kullanılacak değer];
PasteBin.com Alternatifleri
GitHub Gist: https://gist.github.com/
Ace: https://ace.c9.io Varlığını Şaban Ulutaş'tan öğrendiğim faydalı eser.
Pastie.org: http://pastie.org/
Debian Pastezone: http://paste.debian.net/
pastebin.ca: http://www.pastebin.ca/
ZeroBin: https://pastebin.aquilenet.fr/
Another Zero Bin: http://pastis.tristramg.eu/
Yet Another Zero Bin: http://paste.vinilox.eu/
CRYPTYCH: https://crypty.ch/
Chopapp
CodePad: http://codepad.org/
dpaste: https://dpaste.de/
hastebin: http://hastebin.com/
ideone: http://ideone.com/
Ace: https://ace.c9.io Varlığını Şaban Ulutaş'tan öğrendiğim faydalı eser.
Pastie.org: http://pastie.org/
Debian Pastezone: http://paste.debian.net/
pastebin.ca: http://www.pastebin.ca/
ZeroBin: https://pastebin.aquilenet.fr/
Another Zero Bin: http://pastis.tristramg.eu/
Yet Another Zero Bin: http://paste.vinilox.eu/
CRYPTYCH: https://crypty.ch/
Chopapp
CodePad: http://codepad.org/
dpaste: https://dpaste.de/
hastebin: http://hastebin.com/
ideone: http://ideone.com/
10 Ağustos 2016 Çarşamba
9 Ağustos 2016 Salı
Java Dilinde String Karşılaştırma
Java dilinde iki değişken üzerinde eşitlik denetlemek için karşılaştırma yapılırken, String veri tipinde çoğunlukla yanılgı yaşanmaktadır.
Java dilinde, String tipinden iki ayrı değişkeni == operatörü ile karşılaştırdığımızda, değerler aynı olmasına rağmen, sonucun false olması durumu sık yaşanan bir durumdur. (Özellikle de daha önce farklı bir dilde kod yazmış olup, sonradan Java diline geçiş yapan kişiler bu noktada yanılabilmekteler.)
Kafada Deli Sorular
== ile karşılaştırma yapmak kötü bir yöntem mi? Ne zaman == ile karşılaştırma yapılmalı? Ne zaman yapmamalıyız? .equals() metodunu kullanmak daha mı güvenli? Aralarındaki fark nedir?
== operatörünün bazen doğru çalıştığına şahit olabiliriz. Çünkü; Java platformunda bir String pool kullanılıyor ve mümkün olan durumlarda sık kullanılan Stringlerin hafıza referanslarının tekrar kullanılması sağlanıyor. Fakat; == operatörü, değerleri değil de nesnelerin aynı nesne olup olmadığını karşılaştırdığı için aynı değere sahip iki ayrı string false sonuç üretebilir. Bu yüzden == operatörü yerine .equals() metodunun kullanımı daha uygun olacaktır.
Kısacası amacımız nesnelere ait referansları karşılaştırmak ise == kullanabiliriz. Fakat çoğu zaman amaç değerleri karşılaştırmak olduğu için ihtiyacımızı .equals() metodunu kullanarak çözelim.
== Kullanımı
.equals() Kullanımı
Java dilinde, String tipinden iki ayrı değişkeni == operatörü ile karşılaştırdığımızda, değerler aynı olmasına rağmen, sonucun false olması durumu sık yaşanan bir durumdur. (Özellikle de daha önce farklı bir dilde kod yazmış olup, sonradan Java diline geçiş yapan kişiler bu noktada yanılabilmekteler.)
Kafada Deli Sorular
== ile karşılaştırma yapmak kötü bir yöntem mi? Ne zaman == ile karşılaştırma yapılmalı? Ne zaman yapmamalıyız? .equals() metodunu kullanmak daha mı güvenli? Aralarındaki fark nedir?
== operatörünün bazen doğru çalıştığına şahit olabiliriz. Çünkü; Java platformunda bir String pool kullanılıyor ve mümkün olan durumlarda sık kullanılan Stringlerin hafıza referanslarının tekrar kullanılması sağlanıyor. Fakat; == operatörü, değerleri değil de nesnelerin aynı nesne olup olmadığını karşılaştırdığı için aynı değere sahip iki ayrı string false sonuç üretebilir. Bu yüzden == operatörü yerine .equals() metodunun kullanımı daha uygun olacaktır.
Kısacası amacımız nesnelere ait referansları karşılaştırmak ise == kullanabiliriz. Fakat çoğu zaman amaç değerleri karşılaştırmak olduğu için ihtiyacımızı .equals() metodunu kullanarak çözelim.
== Kullanımı
.equals() Kullanımı
Java Runtime Environment must be available in order to run Eclipse (Hata Çözümü)
Eclipse'i ilk kez çalıştırmak istediğinizde aşağıdaki gibi bir hata alabilirsiniz.
A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. No Java virtual machine was found after searching the following locations:
C:\Program Files\Java\jre1.8.0_xx\bin
Eclipse çalıştırılacak olan bilgisayarda JRE ya da JDK yüklü olmalıdır. Aranan klasörde bulunamadılar gibi bir hata verilmiş.
Geliştirme yapacaksak tercihen JRE yerine JDK kurmak daha uygun olur.
Bu hata JRE hiç kurulmamış olduğu için ya da Eclipse normal çalışırken kurulan bir JRE güncel sürümünün uyumsuzluğu yüzünden de alınmış olabilir.
Normal zamanda çalışan Eclipse çalışmaz hale geldi ise ve biz JAVA_HOME tanımlamasının doğru olduğuna emin isek, JRE ya da JDK yı yeniden kurmak çözüm olacaktır.
Bu da çözüm olmaz ise; son çare Eclipse yeniden kurulur. (Böyle bir şeye gerek olmaz inşallah)
A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. No Java virtual machine was found after searching the following locations:
C:\Program Files\Java\jre1.8.0_xx\bin
Eclipse çalıştırılacak olan bilgisayarda JRE ya da JDK yüklü olmalıdır. Aranan klasörde bulunamadılar gibi bir hata verilmiş.
Geliştirme yapacaksak tercihen JRE yerine JDK kurmak daha uygun olur.
Bu hata JRE hiç kurulmamış olduğu için ya da Eclipse normal çalışırken kurulan bir JRE güncel sürümünün uyumsuzluğu yüzünden de alınmış olabilir.
Normal zamanda çalışan Eclipse çalışmaz hale geldi ise ve biz JAVA_HOME tanımlamasının doğru olduğuna emin isek, JRE ya da JDK yı yeniden kurmak çözüm olacaktır.
Bu da çözüm olmaz ise; son çare Eclipse yeniden kurulur. (Böyle bir şeye gerek olmaz inşallah)
Labels:
Eclipse,
Eclipse Hata,
Java,
Java Runtime Environment,
JDK,
JRE
8 Ağustos 2016 Pazartesi
Yavru Kanguru Çocuklarımıza Kodlama Öğretiyor
Çocuğunuz bilgisayar başında geçirdiği zamanı daha verimli hale getirsin, küçük yaşta kodlama becerisini edinsin istiyorsanız, bizimle iletişime geçin!
Birebir ders formatındaki eğitimimiz ile çocuklarımız kodlamayı öğrenerek birçok alanda öne çıkacaklar.
Çocuklarınıza bir gelecek verin ve kod yazmayı öğrenmelerini sağlayın!
27 Temmuz 2016 Çarşamba
Atanamayan Türkçe Öğretmeni :)
Öğrenci okulu sevmez,
öğretmen işini sevmeden yaptığında,
yaptığı (yapmaya çalıştığı) işi bilmediğinde,
öğrenmeye kapalı olduğunda.
Bu caps komedi olsun diye yapılmış olabilir ama canlılarını gerçek hayatta gördüğüm için paylaşmakta sakınca görmüyorum.
25 Temmuz 2016 Pazartesi
Kursa Giderek Yazılım Öğrenilir mi?
Biraz bir şeyler karaladım. Fırsat buldukça buna devam edeceğim.
A: Kursa Giderek Yazılım Öğrenilir mi?
E: Öğrenilmez.
A: Ama her şeyi öğreteceğiz diyorlar.
E: Her şeyden kasıtları ne?
A: Lazım olan her şeydir sanırım?
E: Boşver sen onların ne dediğini. Kaç saat bu kurs?
A: 240 saat diyorlar.
E: 240 derstir o. 40 dakikadan hesaplayınca da 160 saate falan gelir. Olmaz o iş.
A: 8 ay sürecekmiş ama, bu kursa gidersem öğrenemez miyim?
E: Kursa giderek yazılım öğrenilmez. Ama 8 ayda dünyalar öğrenilebilir. Bu işi meslek edinecek seviyede bilgi seviyesine ulaşılabilir.
A: Anlamadım. Hem öğrenilmez diyorsun, hem de meslek edinebilirsin diyorsun.
E: Sadece kursa gidip gelerek bir şey olmaz. Sonuçta sınıfta 160 hadi bilemedin 200 saat geçireceksin. 10 dünya gününden az bir zamana denk geliyor bu. Kursa gidip gelip sadece ders dinleyerek olmaz.
A: Peki nasıl olacak?
E: 8 ay boyunca kurs dışında günde en az 2-3 saat kendini geliştirirsen, uzun zamandır piyasada yazılımcı olarak çalışan adamlardan daha fazla şey öğrenebilirsin.
A: Şimdi, kursa gideyim mi? gitmiyim mi?
E: Başlangıç olarak gidilebilir ama beklentin yüksek olmasın?
A: Hangi kursa gideyim?
E: Bana mail at ya da sosyal medyadan ulaş nelere dikkat etmen gerektiği konusunda konuşalım.
A: Kursa Giderek Yazılım Öğrenilir mi?
E: Öğrenilmez.
A: Ama her şeyi öğreteceğiz diyorlar.
E: Her şeyden kasıtları ne?
A: Lazım olan her şeydir sanırım?
E: Boşver sen onların ne dediğini. Kaç saat bu kurs?
A: 240 saat diyorlar.
E: 240 derstir o. 40 dakikadan hesaplayınca da 160 saate falan gelir. Olmaz o iş.
A: 8 ay sürecekmiş ama, bu kursa gidersem öğrenemez miyim?
E: Kursa giderek yazılım öğrenilmez. Ama 8 ayda dünyalar öğrenilebilir. Bu işi meslek edinecek seviyede bilgi seviyesine ulaşılabilir.
A: Anlamadım. Hem öğrenilmez diyorsun, hem de meslek edinebilirsin diyorsun.
E: Sadece kursa gidip gelerek bir şey olmaz. Sonuçta sınıfta 160 hadi bilemedin 200 saat geçireceksin. 10 dünya gününden az bir zamana denk geliyor bu. Kursa gidip gelip sadece ders dinleyerek olmaz.
A: Peki nasıl olacak?
E: 8 ay boyunca kurs dışında günde en az 2-3 saat kendini geliştirirsen, uzun zamandır piyasada yazılımcı olarak çalışan adamlardan daha fazla şey öğrenebilirsin.
A: Şimdi, kursa gideyim mi? gitmiyim mi?
E: Başlangıç olarak gidilebilir ama beklentin yüksek olmasın?
A: Hangi kursa gideyim?
E: Bana mail at ya da sosyal medyadan ulaş nelere dikkat etmen gerektiği konusunda konuşalım.
Visual Studio 15 Nedir? Visual Studio 2015 Nedir?
Visual Studio 2015
Kod Adı: Dev14
Version: 14.0
Şu an aktif kullandığımız üründür. 2015 yılını isminde barındırır ve version numarası 14'tür.
Visual Studio 15
Halen geliştirilmekte olan bir sonraki Visual Studio sürümünün kod adıdır.
Preview 3 sürümü ile ilgili bilgileri aşağıdaki linkten takip edebilirsiniz.
https://www.visualstudio.com/en-us/news/releasenotes/vs15-relnotes
Visual Studio 15 Preview 3 indirmek ve denemek için aşağıdaki yazıda gerekli linki bulabilirsiniz.
http://ercanbozkurt.blogspot.com.tr/2016/07/visual-studio-enterprise-15-preview-3-indir.html
Visual Studio Enterprise "15" Preview 3 - Download
Visual Studio Enterprise "15" Preview 3 - Download
Bu sürüm için henüz destek yoktur.
Test amaçlı kullanınız.
Üretim için kullanılması tavsiye edilmez.
Ağağıdaki linkten indirebilirsiniz.
https://go.microsoft.com/fwlink/?LinkId=746567
Daha detaylı bilgi buradan alınabilir.
22 Temmuz 2016 Cuma
HTML5 Uygulamalarında Internet Bağlantı Durumunu Denetlemek
HTML5 uygulamalarında internet durumunu denetlemek bazı durumlarda önemli bir ihtiyaç haline gelebiliyor. Internet'e bağlı iken bağlantının bir anda kopması durumunda hata alabiliriz. Bağlantı kopması halinde istenmeyen durumlarla karşılaşmamak için bir javascript kütüphanesi ile denetim yapabiliriz.
http://krawczyk.io/heyoffline.js/
Yukarıda linki bulunan Heyoffline.js Javascript kütüphanesi ile HTML5 uygulamalarında internet bağlantı durumunu kolayca denetleyebiliriz.
.js dosyasını kod sayfamıza ekledikten sonra aşağıdaki kod bloğu iş görecektir.
new Heyoffline({
monitorFields: true,
elements: ['.monitoredFields']
});
http://krawczyk.io/heyoffline.js/
Yukarıda linki bulunan Heyoffline.js Javascript kütüphanesi ile HTML5 uygulamalarında internet bağlantı durumunu kolayca denetleyebiliriz.
.js dosyasını kod sayfamıza ekledikten sonra aşağıdaki kod bloğu iş görecektir.
new Heyoffline({
monitorFields: true,
elements: ['.monitoredFields']
});
18 Temmuz 2016 Pazartesi
Kaydol:
Kayıtlar (Atom)