Programlama Öğrenmek İçin Ücretsiz Türkçe Kaynaklar

0
Programlama Öğrenmek İstiyorum
Programlama Öğrenmek İstiyorum

Programlama öğrenmek isteyenler için daha önce nereden başlamalıyım sorusuna cevap vermiştik. Sıra geldi programlama öğrenmek için ücretsiz Türkçe kaynaklar listemizi paylaşmaya. Listemizde programlama eğitiminin yanında sertifika da veren ücretsiz kaynaklar mevcut.

Microsoft Açık Akademi

Microsoft Türkiye’ nin ücretsiz programlama eğitimi veren servisi Açık Akademi‘de pek çok kategoride eğitim mevcut. Temel programlama seviyesinden, web uygulamalarına, mobilden masaüstü yazılımlarına pek çok kategoride eğitim içeriği halihazırda Açık Akademi’ de veriliyor. Microsoft bu ücretsiz eğitimleri (doğal olarak) kendi platformlarına yönelik veriyor. Örneğin mobil uygulama geliştirme eğitimi Windows Phone, web uygulamaları eğitimi Asp.net‘ e yönelik. Tahmin edebileceğiniz gibi bu eğitimlerin temelinde C# dili öğretiliyor. Eğitimlerin sonunda sanal testlere katılıyorsunuz. Belirli aralıklarla da Microsoft Türkiye ofisinde yapılan gerçek sınavlarda başarılı olanlara ücretsiz yazılımcı sertifikası veriliyor.

Başlangıç seviyesinden ileri seviyeye 30’dan fazla dersin bulunduğu Açık Akademi’ de programlama kütüphanesi, sanal sınıf eğitimleri de mevcut. Açık Akademi ile programlama öğrenmek için hiçbir ön koşul bulunmuyor, siteye üye olarak eğitimlere hemen başlayabilirsiniz.

Programlama Öğrenmek İçin Microsoft Açık Akademi
Programlama Öğrenmek İçin Microsoft Açık Akademi

Turkcell Geleceği Yazanlar

Turkcell Geleceği Yazanlar ile mobil uygulama geliştirme eğitimleri veriyor. Bir sosyal sorumluluk projesi olarak ortaya çıkan Geleceği Yazanlar, Türkiye’ de geliştirilen mobil uygulama sayısını ve kalitesini arttırmayı amaçlıyor. IOS, Android, Windows Phone platformlarına yönelik ücretsiz eğitimler bulunan sitede mobil oyunlar ve Turkcell’ in mobil servisleri ile ilgili eğitimler de mevcut.  Aldığınız eğitimlerin sonunda sanal sınavlara girip başarınızı değerlendirebiliyorsunuz. Ayrıca Turkcell belirli aralıklarla gerçek sınavlar yaparak başarılı olan öğrenenlere uygulama geliştirici sertifikası da veriyor.

Çeşitli etkinlikler yapılan Geleceği Yazanlar sitesinde pek çok gönüllü danışman öğrenenlere danışmanlık ediyor. Blog ve Soru-Cevap bölümleri de olan Turkcell Geleceği Yazanlar portalında eğitim almak için hiçbir ön koşul yok. Kayıt olup ücretsiz mobil uygulama eğitimi almaya başlayabilirsiniz.

Çizgi Tagem

Niyazi Saral önderliğinde 2007 yılından beri ücretsiz bilişim teknolojileri ve programlama eğitimleri veren Çizgi Tagem gönüllülerin desteklediği bir organizasyon. Gönüllü eğitmenlerin ve bağışçıların desteği ile programlama öğrenmek isteyen herkese hizmet veren Çizgi Tagem’ in ders içerikleri programlama ile sınırlı değil. Ağ teknolojileri, bilgisayar donanımı ve MS Office eğitimleri gibi birçok bilişim eğitimi Çizgi Tagem’ de ücretsiz veriliyor.

Programlama öğrenmek isteyenler için çok geniş bir yelpazede eğitimler veriliyor. C++, C#, Pyhton, Java ve Android programlama eğitimi halihazırda Çizgi Tagem’ de verilen eğitimler. Çizgi Tagem ayrıca sertifika programlarına da sahip, bir programlama dili öğrendiğinizde bunu belgeleyebileceğiniz sertifikayı da Çizgi Tagem ücretsiz sağlıyor.

Programlama Öğrenmek için Diğer Ücretsiz Türkçe Kaynaklar

Programlama öğrenmek için ücretsiz kaynaklar bunlarla sınırlı değil tabiki. Udemy.com’ da pek çok ücretsiz programlama dersi mevcut. Udemy dersleri genelde İngilizce olsa da Türkçe ve ücretsiz pek çok ders mevcut. Sanalkurs.net ve Webteders.com sitelerinde de programlama dili öğrenmek için dersler mevcut. Youtube da öğrenmek istediğiniz programlama dili ile ilgili aramalar yaparak da ücretsiz video derslere erişebilirsiniz.

Youtube’ da Türkçe programlama videoları oldukça yaygın. Hemen her dil ve teknoloji için yayınlanmış Türkçe programlama derslerini bulabilirsiniz. Ayrıca Şadi Hoca’ nın “Bilgisayar Kavramları” isimli kanalında ve Doğukan Güven Nomak‘ ın kendi ismi ile yayınladığı kanalında çeşitli tecrübeler paylaşılıyor.

Son olarak Twitter’ ı bir programlama öğrenme ortamı olarak kullanabilirsiniz. İlgi duyduğunu teknoloji yada programlama dili ile ilgili aramalar yaparak takip edebileceğiniz kişileri bulabilirsiniz. Bu sayede ortak ilgi alanlarına sahip olduğunuz ve muhtemelen sizden tecrübeli insanlarla etkileşime geçebilirsiniz.

Bonus: Türkçe Kaynaklar

TurkceKaynaklar.com‘ da programlama öğrenmek isteyenler için listelenmiş Türkçe kaynaklar mevcut. Bu sayfayı en güncel dersleri ve kaynakları takip edebilmeniz adına kesinlikle tavsiye ederim.

Programlama öğrenmek isteyenlere yardımcı olmasını ümit ettiğimiz listemizin sonuna geldik. Yeni kaynaklar buldukça listemizi güncelleyeceğiz. Önereceğiniz ücretsiz kaynaklar varsa yorum kısmından bize iletebilirsiniz.

T-SQL Komutları

1
T-SQL Komutları Kullanımı PDF
T-SQL Komutları Kullanımı PDF

Bu makalemizde T-SQL komutları ile sorgu yazmayı ve komutların kullanımını anlatacağız. Burada anlattığımız t-sql komutları PDF formatında sizinle paylaşacağız. Konu hakkında temel bilgiye sahip değilseniz T-SQL nedir başlıklı makalemizi de okumanızı tavsiye ederim.

Burada verdiğimiz T-SQL komutları ile çalışmak için SQL Server Management Studio kullanacağız. Daha önce anlattığımız SQL Server 2012 kurulumunu yaptıysanız, bilgisayarınızın programlar menüsünden Management Studio’ yu başlatıp komutları çalıştırabilirsiniz.

T-SQL komutlarını çalıştırmak için kendinize özgü, farklı veri tiplerine sahip bir veritabanı tasarlayıp çalışabilirsiniz. Yada Codeplex sayfasından ücretsiz indirebileceğiniz Northwind veritabanını da kullanabilirsiniz. Bu anlatımda biz Northwind veritabanını kullanacağız.

T-SQL komutları anlatımı için örnek veritabanı: Northwind
T-SQL komutları anlatımı için örnek veritabanı: Northwind

T-SQL Komutları

Tüm hazırlıklarımızı yaptığımıza göre artık komutları tanımaya ve kullanmaya başlayabiliriz. İçeriğimiz hakkında da kısaca bilgi vermek gerekirse, önce komutun ne işe yaradığını sonra söz dizimini (yazımını) en sonda bir örnek ve çözümünü her T-SQL komutu için vereceğiz.

T-SQL Select Komutu

Select komutu veritabanından veri seçmek için kullanılır. Sorgu sonucunda yanıt olarak bir tablo döner ve bu tabloya sonuç kümesi denir.

Söz dizimi: SELECT <sutunAdlari> FROM <tabloAdi>

Örnek: Ürünler tablosundan (Products) ürün isimlerini (ProductName) ve fiyatlarını (UnitPrice) getiren t-sql kodu.

Çözüm:  SELECT ProductName, UnitPrice FROM Products 

Select komutu ile kayıt seçerken tüm sütunları getirmek istediğimizde asteriks (*) karakterini  <sutunAdlari>  yerine kullanabiliriz. Örneğin  SELECT * FROM Products  yazdığımızda ürünler tablosundaki tüm sütunları getirmiş oluruz.

Yazdığımız T-SQL sorgularına belirli şartlar, kriterler ekleyebiliriz. Bunun için Where, Like, Between gibi çeşitli komutlar mevcuttur. Öncelikle bunları görmekte fayda var.

T-SQL Where Komutu

Where komutu sorgumuza bir koşul eklemek istediğimizde kullanabileceğimiz komuttur. Örneğin fiyatı 20$’ dan az olan ürünleri listelemek istersek Where şartını kullanmamız gerekir. Where komutu ile birlikte aşağıdaki matematiksel operatörler kullanılabilir.

  • = : Eşittir
  • <> : Eşit Değil
  • > : Büyüktür
  • < : Küçüktür
  • >= : Büyük Eşit
  • <= : Küçük Eşit

Söz dizimi :  SELECT <sutunAdi FROM <tabloAdi> WHERE <kosul>

Örnek : Ürünler tablosundan fiyatı 50$ üzerinde olan ürünleri getiren T-SQL komutları.

Çözüm:  SELECT * FROM Products WHERE UnitPrice>50

Örnek: Ürünler tablosundan kategori numarası (CategoryID) 3 olan ürünleri getiren T-SQL komutları.

Çözüm :  SELECT * FROM Products WHERE CategoryID=3

Like Komutu

Like komutu Where şartı ile birlikte, veritabanında metinsel ifadeler aramak için kullanılır. Örneğin isminin ilk harfi ‘A’ olan ürünler yada isminde ‘box’ kelimesi geçen ürünleri listelemek istediğimizde Like komutu kullanılır. Like komutuna yazılacak koşul tek tırnaklar arasına yazılır. Like komutunun çeşitli kullanımları vardır, bunun için de çeşitli joker karakterler kullanılır. Aşağıda Like ile birlikte kullanılan joker karakterler ve kullanım amaçları listelenmiştir.

  • % : Herhangi uzunlukta karakterler
  • _ : Herhangi bir karakter
  • [] : Verilen aralıkta herhangi bir karakter
  • [^] : Verilen aralıkta olmayan herhangi bir karakter

Söz dizimiSELECT <sutunAdi> FROM <tabloAdi> WHERE <sutunAdi> LIKE <kosul>

Örnek: İsmi ‘T’ harfi ile başlayan ürünleri getiren T-SQL kodu.

Çözüm:  SELECT * FROM Products WHERE ProductName LIKE ‘T%’

Örnek: Birim miktarı (QuantityPerUnit) kutu (box) olan ürünleri getiren T-SQL kodu.

ÇözümSELECT * FROM Products WHERE QuantityPerUnit LIKE ‘%box%’

Örnek: Ürün ismi A,K,Z harflerinden biriyle başlayan ürünleri getiren T-SQL kodu.

ÇözümSELECT * FROM Products WHERE ProductName LIKE ‘[AKZ]%’

Örnek: İsminin son harfi F ile K harfleri arasında olan ürünleri getiren T-SQL kodu.

ÇözümSELECT * FROM Products WHERE ProductName LIKE ‘%[F-K]’

And ve Or Komutları

Where şartı ile birden çok şart koşmak için And ve Or mantıksal operatörleri kullanılır. And komutu ile birleştirilen tüm koşullara uyan kayıtlar işlenir. Or komutu ile birleştirilen koşullardan en az birine uyan kayıtlar işlenir. 2’den fazla koşul olması durumunda parantez kullanımı önceliği belirler.

Söz dizimiSELECT <sutunAdi> FROM <tabloAdi> WHERE <kosul1> OR <kosul2>

Örnek: Kategori numarası 3 yada fiyatı 100$ üzerinde olan ürünleri getiren T-SQL kodu.

Çözüm:  SELECT * FROM Products WHERE CategoryID=3 OR UnitPrice>100

Örnek: Kategori numarası 3 ve stok adeti (UnitsInStock) 20’den az olan ürünleri getiren T-SQL kodu.

ÇözümSELECT * FROM Products WHERE CategoryID=3 AND UnitsInStock<20

Between Komutu

Between komutu aralık kontrol etmek için kullanılır. Belirtilen 2 değerin aralığında olan kayıtlar listelenir. Bu değerler sayısal, metin ve tarih türünden olabilir.

Söz dizimi:  SELECT <sutunAdi> FROM <tabloAdi> WHERE <sutunAdi> <deger1> AND <deger2>

Örnek: Fiyatı 20 ile 30$ aralığında olan ürünleri listeleyen T-SQL komutları.

ÇözümSELECT * FROM Products WHERE UnitPrice BETWEEN 20 AND 30

In Komutu

In komutu ile verilen değerlerden herhangi birisi ile eşleşen kayıtları getirir. In komutu kullanımı Or komutu ile aynıdır.

Söz dizimiSELECT <sutunAdlari> FROM <tabloAdi> WHERE <sutunAdi> IN <deger1,deger2>

Örnek: Sipariş birimi (UnitsOnOrder) 40 ve 50 olan ürünleri getiren T-SQL kodu.

ÇözümSELECT * FROM Products WHERE UnitsOnOrder IN (40,50)

Is Null Komutu

Is Null komutu ile belirtilen alanda değer girilmemiş kayıtlar, Is Not Null komutu ile belirtilen sütunda değer girilmiş tüm kayıtlar listelenir.

Söz dizimi:  SELECT <sutunAdlari> FROM <tabloAdi> WHERE <sutunAdi> IS NULL

Örnek: Siparişler (Orders) tablosunda gönderi bölgesi (ShipRegion) belirtilmemiş kayıtları getiren T-SQL komutları.

ÇözümSELECT * FROM Orders WHERE ShipRegion IS NULL

Örnek: Siparişler tablosunda gönderi bölgesi belirtilmiş kayıtları getiren T-SQL komutları.

ÇözümSELECT * FROM Orders WHERE ShipRegion IS NOT NULL

T-SQL Delete Komutu

Veritabanından kayıt silmek için Delete komutu kullanılır. Delete komutu kullanılırken Where şartı kullanılmazsa tablodaki tüm kayıtlar silinir, bu sebeple kullanımına dikkat etmek ve Where şartını uygun koşmak gerekir.

Söz dizimi:  DELETE FROM <tabloAdi> WHERE <kosullar>

Örnek: Kategoriler (Categories) tablosundan numarası 8 olan kategoriyi silen T-SQL komutları.

ÇözümDELETE FROM Categories WHERE CategoryID=8

Örnek: Tedarikçiler (Suppliers) tablosunda yer alan Fransa merkezli firmaları silen T-SQL komutları.

ÇözümDELETE FROM Suppliers WHERE Country=’France’

T-SQL Update Komutu

Update komutu veritabanında kayıt güncellemek için kullanılan komuttur. Yazacağımız koşula bağlı olarak güncelleme kayıtlarda ve sütunlarda yapılabilir. Güncellenecek değerler”SET” deyimi ile birlikte yazılır.

Söz dizimiUPDATE <tabloAdi> SET <guncellenecekAlanlar> WHERE <kosullar>

Örnek: Ürünler tablosunda numarası 1 olan ürünün fiyatını 20$ olarak güncelleyen T-SQL kodu.

ÇözümUPDATE Products SET UnitPrice=20 WHERE ProductID=1

Örnek: Ürünler tablosunda numarası 1 olan ürünün stok adetini 15 ve kategori numarasını 2 olarak güncelleyen T-SQL kodu.

ÇözümUPDATE Products SET CategoryID=2, UnitsInStock=15 WHERE ProductID=1

T-SQL Insert Into Komutu

Insert komutu veritabanına yeni bir kayıt eklemek için kullanılır. Into deyimi ile kayıt eklenecek tablo, Values deyimi ile eklenecek bilgiler gönderilir. 2 farklı söz dizimi vardır.

Söz dizimi 1INSERT INTO <tabloAdi> VALUES (deger1,deger2,deger3,…)

Söz dizimi 2INSERT INTO <tabloAdi> (sutun1,sutun2,sutun3,…) VALUES (deger1,deger2,deger3,…)

Örnek: Eyaletler (Territories) tablosuna numarası 99999, açıklaması TeknologWeb ve bölge numarası 1 olan kaydı ekleyecek T-SQL komutları.

Çözüm 1INSERT INTO Territories VALUES (99999, ‘TeknologWeb’, 1)

Çözüm 2INSERT INTO Territories (TerritoryID,TerritoryDescription,RegionID) VALUES (99999, ‘TeknologWeb’, 1)

T-SQL komutları anlatımımız bu kadar. Bu anlatımın yer aldığı t-sql komutları pdf dosyasını indirmek için buraya tıklayabilirsiniz.

Wifi Bağlantı Sorunlarının Çözümü

0
Wifi Bağlantı Sorunlarının Çözümü
Wifi Bağlantı Sorunlarının Çözümü

Windows, Android ve iPhone cihazlarda yaşanan wifi bağlantı sorunlarının çözüm yollarını paylaşacağız. Bilgisayardaki wifi bağlantı sorunları ile cep telefonundaki bağlantı sorunları genelde farklı sebeplere dayanıyor ancak hepsini tek seferde paylaşacağız.

Bilgisayarlarda yaşanan bağlantı sorunlarının temelinde güvenlik önlemleri ve yazılımsal sorunlar var. Akıllı telefonlardaki wifi sorunları genellikle zayıf sinyal gücü ve pil tasarrufu özellikleri nedeniyle yaşanıyor.

Windows’ ta Wifi Sorunlarının Çözümü

Windows bilgisayarlarda wifi sorunları oldukça yaygındır ve aslında çeşitli sebeplerden kaynaklanır. Muhtemel sebepler arasında şifresiz bağlanılan ağların güvenlik duvarı tarafından güvensiz olarak algılanması var.

Benzer şekilde Kaspersky gibi antivirüs yazılımları da şifresiz ağları güvensiz olarak algılayıp bağlantıya engel olur. Antivürüs yazılımının bağlantınızı engelleyip engellemediğini kontrol etmek için ilgili firmanın yardım dökümanlarını inceleyebilirsiniz.

Windows güvenlik duvarının wifi bağlantısını engellediğini düşünüyorsanız Başlat menüsünü açıp “windows defender güvenlik merkezi” araması yaparak karşınıza gelen pencereden “güvenlik duvarı ve ağ koruması” menüsüne tıklayarak ilgili ekranı açabilirsiniz. Buradan “Ortak Ağ” bağlantısına tıklayıp açılan ekrandan “izin verilen uygulamalar listesindekiler de dahil gelen tüm bağlantıları engeller” seçeneğinin seçili olmadığını kontrol edebilirsiniz.

Android Wifi Bağlantı Sorunlarının Çözümü

Android wifi bağlantı sorunlarının sebeplerinden birisi ekran kilidi devreye girdiğinde bağlantının kapanması. Bu cihazın şarj tüketimini azaltmak için Android sisteminin bir önlemi ve tabiki bu ayarı değiştirmek mümkün.

Cihazdan “Ayarlar > Wi-Fi > Gelişmiş Ayarlar” yolunu takip ederek “Uykuda Wi-Fi’ ı açık tut” seçeneğini bulunuz. Bu isimlendirmeler android sürümüne göre farklılaşabilir ama benzer isimlere sahiptir genelde. Bu seçeneği “Her Zaman” olarak ayarlayın. Bu kablosuz ağ bağlantısının sık sık kesilmesi sorununu çözecektir.

Wifi Bağlantı Sorunlarının Çözümü
Wifi Bağlantı Sorunlarının Çözümü

Ayrıca Wifi KYK gibi pek çok ağda proxy, dns ve vpn servisleri sorun yaşatmakta. Birde sorun çözümü ararken kullanıcılar genelde pek çok ayarı aslında olması gerekenden farklılaştırarak çözümü daha da zor hale getirebiliyor. Bu gibi durumlarda kablosuz ağ ayarlarını sıfırlamak pek çok soruna çözüm olmakta.

Android cihazlarda değişen wifi ayarlarını sıfırlamak için “Ayarlar > Gelişmiş Ayarlar > Yedekle ve Sıfırla > Ağ Ayarlarını Sıfırla” yolunu takip ederek açacağınız ekranda “ayarları sıfırla” düğmesine dokunarak ayarlarınızı varsayılan değerlere döndürebilirsiniz. Burada bir hatırlatma yapmakta fayda var, kayıtlı wifi şifrelerinin de silineceğini unutmayınız.

iPhone Wifi Bağlantı Sorunlarının Çözümü

iOS kullanıcıları her güncelleme sonrası oluşan wifi bağlantı sorunlarından oldukça müzdarip durumda. iPhone wifi sorununun çözümü için deneyebileceğiniz yöntem ağ ayarlarını sıfırlamak. Bunun için “Ayarlar > Genel > Sıfırla > Ağ Ayarlarını Sıfırla” yolunu takip ederek iPhone ağ ayarlarını sıfırlayabilirsiniz. Sıfırlama işleminden sonra telefonu yeniden başlatın. Bu işlemin kayıtlı wifi şifrelerini sileceğini hatırlatmış olalım.

Karşılaştığınız wifi sorunlarının çözümü hakkında başka yöntemler biliyorsanız yorumlar bölümünden iletebilirsiniz.

Akıllı Telefon Alırken Dikkat Edilmesi Gerekenler

0
Akıllı Telefon Alırken Dikkat Edilmesi Gereken 6 Konu (Tavsiyeler)
Akıllı Telefon Alırken Dikkat Edilmesi Gereken 6 Konu (Tavsiyeler)

Günümüzde sayıları ve model çeşitliliği hızla artan akıllı telefon piyasasında satın almak üzere bir modele karar vermek oldukça zor. Genel olarak fiyat / performans oranı bizlere bir fikir sağlasa da pek çok kullanıcı için yeterli değildir. Bu sebeple bu makalemizde akıllı telefon alırken dikkat edilmesi gerekenler listesi hazırladık. Yeni bir akıllı telefon almadan önce bu listeyi kontrol etmenizde fayda var.

1) Ekran Çözünürlüğü

Günümüzde akıllı telefon denince elbet aklımıza ilk olarak ekranın son derece teknolojik imkanlarla üretilmiş olması gerekir. Eğer akıllı cihazınızın ekran kalitesi ne kadar yüksek olursa cihazınız sizlere daha şık daha güzel bir görünüşü olacaktır.

Peki bir akıllı telefonunuzun ekran kalitesini nasıl anlayabiliriz.Günümüzde her telefonun PPI (inç paşına düşen piksel sayısı) vardır.Günümüzde son çıkan telefonlarda piksel sayısı ortalama 500-560 arası bir PPI’a tekabül ediyor.İyi bir telefon almak istiyorsanız 440 PPI’ı geçen bir telefon seçmeniz son derece önemlidir.

Şunu da söylemek istiyorum.Bazı akıllı telefon kullanıcıları yüksek değerlere sahip piksel yoğunluğunun telefonun şarj süresini ve batarya ömrünü tükettiğini söylüyor.Şimdiki Iphone,Samsung,LG gibi teknoloji firmarı piksel yoğunluğunu artırdı ve bunu tasarruflu bir şekilde yapmayı başardılar.Yani bu konu hakkında bir sıkıntınız olmasın.

2) Ekran Koruması ve Kasası

Günümüzde bütün akıllı telefon kullanıcılarının en büyük sorunlarından biri cihazın yere düşünce ekranlarında çatlamalar meydana gelmesi.Bu sorunun çözümü telefonun ekranın sağlamlığı.Sizlere çok önemli bir tavsiye vermek istiyorum.Telefon alırken ekranın gorilla glass teknolojisine sahip olmasına dikkat ediniz. Gorilla Glass ekranı düşmeye,darbeye karşı problemlerden korur.

Ayrıca Gorilla Glass’ın bir diğer büyük faydası telefonun çizilmeye karşı dayanıklı olmasıdır.Elbette yaşamımızda telefonumuz cebimizde demir para ve anahtarla beraber kalmıştır.Bu cisimler telefonun ekranını çizer.Gorilla Glass ise çizilmeye karşıdır.Bu koruma şu anda Samsung firmasının ürettiği amiral gemilerinde sık olarak bulunur.

Tabi bir diğer önemli şeyde cihazın kasası.Cihazınızın kasası ne kadar sağlam olursa telefunuz darbeye,düşmeye karşı çerçevelerde kırılma,bürkülme,yamulma olmaz.Tabi cihazın kasasının sağlam olması ekranın çatlamasına,kırılmasına karşı önemli bir avantajdır.Eğer cihazınızın kasası sağlam olmasını istiyorsanız kasası metal,aliminyum olması önemlidir.

3) Suya ve Toza Dayanıklılığı

Aramızda akıllı telefon kullanan kişilerden elbette bazılarının başına suya düşme,toz kaçma gibi büyük sıkıntılar gelmiştir.Ancak günümüz teknoloji bunun önlemini de almış. IP67 sertifikası telefonunuzu suya ve toza karşı korur. IP67 teknolojisine sahip cihazlar 1 metre altında 30 dakika boyunca sorunsuz çalışabilir.Sizlerde akıllı telefon alırken IP67 sertifikası olmasına dikkat ederek rahatça denize,plaja,hamama girebilir,rahatça kumsallarda eğlenebilirsiniz.

4) Batarya Ömrü

Batarya akıllı telefonun olmazsa olmazlarındandır.İyi bir batarya telefonunun ekranın açık kalma süresini uzun tutacaktır.Batarya pilinin kapasitesi çok önemlidir.Ama şunu asla unutmayın.Günümüzdeki bazı bataryalar 3000 mAh’ ı geçmektedir.Ama bu cihazların batarya kalitesi düşüktür.Ancak günümüz teknolojisi batarya kalitesini yükseltecek icatlar yapmayı başarmışlardır. Örneğin dünyaca ünlü firmaların kendilerine özgü batarya teknolojilerine sahiptir.Mesela Iphone’ larda Li-on teknolojisi kullanılır.Bu teknoloji telefonun batarya kalitesini ve telefonun batarya süresini yükseltmektedir.

5) Akıllı Telefonun Kamerası

Özel bir an, özçekim, sevdiğimiz birisiyle fotoğraf,ünlü biri ile çekilen hatıra fotoğrafı,işte bunların hepsini işleten bir özellik;kamera. Cihaz alırken elbette hepimiz fotoğrafın nasıl olacağını merak ederiz.Bunun için akıllı cihaz alırken cihazın 12 megapiksel ve üzeri olması çok önemlidir.

Ayrıca telefonun kamerasının full hd,4K fotoğraf ve video çekmeside önemli bir avantajdır.Bunu daha iyi araştırmanız için sosyal paylaşım sitelerinde bulunan istediğiniz cihazın incelemesini izleyerek karar verebilirsiniz. Ayrıca akıllı cihazların ön kamerasıda kaliteli olması önemlidir.

6) Ram ve Bellek Kapasiteleri

Son olarak en önemli özelliğe geçelim.Hani bizi yöneten beyin nasıl ise akıllı telefonlarında beyni RAM ve bellektir.RAM veri deposudur.RAM’i iyi olan bir cihazın en az 2GB RAM olması gerekir.Cihazın RAM’i ne kadar yüksek olursa telefonun işlevi o kadar yükselecektir.

Bellek ise telefonun ayrı bir beynidir.Bellek depolama kapasitesi demektir.Günümüz teknolojisinde 16 GB bellekten aşağı bir rakam bulunmamaktadır.Çünkü fotoğraf/video çekerken veya indirirken,uygulama indirirken bellek kapasitesi göze alınır.Yani bellek kapasitesi yüksek olan bir cihazın depolama kapasitesi de her zaman yüksek olur.

Daha önce Nokia Tuşlu Telefon Alırken Dikkat başlıklı yazımızda bazı uyarılarda bulunmuştuk. Yeni bir akıllı telefon satın almadan önce bu uyarıları da aklınızda bulundurmanız yararınıza olacaktır.

Yapay Zeka Nedir?

0
Yapay Zeka Nedir? (Yapay Zekanın Önemi ve Kötü Tarafları Nelerdir?)
Yapay Zeka Nedir? (Yapay Zekanın Önemi ve Kötü Tarafları Nelerdir?)

Makalemizin konusu yapay zeka nedir? Kısaca cevaplayacak olursak yapay zeka, canlı olmayan bir yazılım veya bir makinenin tıpkı canlılar gibi davranabilme becerisidir. Çeşitli canlıların hareketleri ve davranışları örnek alınarak ortaya çıkar ve makinelerin insanlar tarafından verilen komutları çözmek için daha rasyonel bir algoritma geliştirmesini sağlar.

Yapay Zeka Çalışma Şekli

Yapay zekanın çalışma şekli canlılardan örnek alındığı için gelişmesi de canlı gibi olacaktır. Burada tıpkı insanlar ve hayvanlar gibi düşünme, öğrenme ve karar verme mekanizması hedeflenmiştir. Bu sayede insan gibi tembel olmayan bilgisayar ve makineler aynı zamanda kendini duraksamadan geliştirecek ve bu zamana kadar atılmış her bir teknoloji adımına göre onlarca kat hızlı bir şekilde kendini geliştirecektir.

Farkları

Unutmayalım ki yapay zeka yazılımla oluşturulmuş makine ve bilgisayarlar içindir buda demek oluyor ki bilgisayara her adım öğretildiği takdirde hata riski sıfıra yakın. Aynı zamanda insanların bizzat yapamayacağı görevleri yapay zeka sayesinde makinelere yaptırabiliriz. Örneğin: Okyanusların ve dünyanın en derin yerlerine keşif görevleri için yapay zeka algoritması kullanılmış robotlar gönderilebilir ve binlerce yıllık sırlar çözülebilir. Hatta uzayın umulmadık yerlerine bile keşif görevleri yapabilir ve yaşam olma ihtimali bulunan gezegenleri keşfedebilirler.

Önemi

Günümüz teknolojisinde yapay zekanın önemi henüz farkedilmemiş olabilir ama insanlığın soyunu bunun kurtaracağı düşünülüyor. Şöyle ki: Uzun yıllar sonra dünyada nüfusun arttığı ve kaynakların tükendiği bir zamanda yapay zeka ile çalışan ve düşünebilen uzay araçlarının galaksileri gezip yaşama elverişli bir gezegen bulduktan sonra oranın ortamına göre daha önce dondurulan ve gemiye yüklenen insanları bu şekilde gezegenlere taşıyabilir ve insan ırkı bütün evrene yayılabilir. Günümüzde ise tıp ve teknoloji alanındaki tüm bilinmezlerin perdesi kalkabilir ve insanoğlu çok büyük bir ilerlemeye imza atılabilir.

Zorlukları ve Kötü Tarafları

Yapay zeka muhtemelen en azından gelişme aşamasında çok maliyetli ve yapımı zor olacaktır. Bunun dışında bakımı ve tamiri de aynı şekilde zor olacaktır. Makineler veri depoladığında ise bunları tıpkı insan beyni gibi süzüp önemli ve önemsiz verileri anlaması zor olacaktır. Bunların yanı sıra kendi kendine öğrenebilen ve gelişebilen bir sistem olduğundan bir yandan insanların umudu bir yandan ise insanların kabusu olarak gözüküyor çünkü yapay zeka kendini geliştirdiğinde bunun nereye varabileceği henüz bilinmiyor ve insanların hayatını tehlikeye atabileceği de öngörülüyor.

Asp.net MVC Partial View Kullanımı

0

Makalemizin konusu Asp.net MVC Partial View kullanımı. Ayrıca Asp.net MVC RenderAction kullanımını örnek bir uygulama üzerinden anlatacağız. Asp.net MVC partial view kullanımı konusu ile ilgili olarak daha önce yayınladığımız Asp.net MVC Layout makalesini de incelemenizi tavsiye ederim.

Asp.net MVC Partial View kullanımı, büyük web projelerinde arayüzü yönetmek için başvurabileceğiniz yöntemlerden birisidir. Layout ile sayfaların genel iskeletini oluşturup daha optimal bir arayüz elde ederken, Partial View kullanımı ile arayüzü modüler bir hale getirebilirsiniz. Örneğin sitenizde yayınladığınız reklamları daha kolay bir şekilde diğer dosyalardan ve _Layout.cshtml dosyasından bağımsız bir şekilde yönetebilirsiniz.

Asp.net MVC Partial View Kullanım Örneği

Kısaca açıklamaya çalıştığımız ve örnek kullanım senaryolarından bahsettiğimiz partial viewı basit bir örnek üzerinden kodlayalım. Bunun için layout kullanımını anlattığımız makaledeki proje dosyası ile çalışacağız. Bu projedeki ana menüyü modüler bir hale getirmek için harici bir dosyaya taşıyıp Partial View oluşturalım ve RenderAction ile sayfada görüntüleyelim.

Öncelikle projemize PartialController isminde yeni bir controller ekleyelim. İsmi hiç önemli değil. Açılan dosyamızın “Index” metodunun adını “Menu” olarak değiştirelim geri döndürdüğü değeri PartialView olarak güncelleyelim. Daha sonra bu metod içerisinde sağ tıklayarak bu metoda bağlı view ekleyelim.

Daha önce menü kısmını _Layout sayfamıza yerleştirmiştik. Şimdi bu dosyayı açıp <div class="masthead"> ile başlayan üst kısmı kesip yerine @{Html.RenderAction("Menu", "Partial");} yazıyoruz. Yani menümüz burada görünecek, ama aslında “Menu” isimli view dosyasından gelecek. Bu view da aslında PartialController dosyasından geliyor. Kestiğimiz html kodlarını da Menu.cshtml dosyasına yapıştırıyoruz.

Bu aşamaya kadar yaptıklarımızdan PartialController.cs dosyamızın içeriği aşağıdaki gibi olacak.

public class PartialController : Controller
{
    public ActionResult Menu()
    {
        return PartialView();
    }
}

Menu.cshtml dosyamızın içeriği de aşağıdaki örnekteki gibi olacak.

<div class="masthead">
    <h1 class="display-4">Teknolog Web</h1>
    <nav class="navbar navbar-expand-md navbar-light bg-light rounded mb-3">
        ...
    </nav>
</div>

_Layout.cshtml dosyamızın içerik kısmı da aşağıdaki gibi.

<div class="container">
    @{Html.RenderAction("Menu", "Partial");}
    @RenderBody()
    <footer class="footer">
        <p>&copy; Teknolog Web 2017</p>
    </footer>
</div>

Asp.net MVC Partial View kullanımı hakkında söyleyeceklerimiz bu kadar. Partial View proje dosyasını indirmek için linke tıklayabilirsiniz. Konu hakkındaki soru ve karşılaştığınız sorunları aşağıdaki yorumlar bölümünden iletebilirsiniz.

Asp.net MVC Layout Kullanımı

0
Asp.net MVC Layout Kullanımı (Örnekle Asp.net MVC Layout Kullanımı)
Asp.net MVC Layout Kullanımı (Örnekle Asp.net MVC Layout Kullanımı)

Bu makalemizin konusu Asp.net MVC Layout kullanımı. Örnek proje üzerinden asp.net mvc layout nedir nasıl kullanılır konusunu anlatacağız. Layout kavramı asp.net mvc de arayüzü yönetmemizi kolaylaştıran bir özelliktir. Asp.net WebForms’ daki MasterPage sayfasının MVC’ deki karşılığı Layout sayfalarıdır.

Layout sayfalar, web uygulamamızdaki sayfaların iskeleti gibidir. Tüm sayfalarımızda yer alacak olan örneğin üst menü gibi, site logosu gibi kısımların (sürekli tekrar eden) tek bir yerden ve çok daha kolay yönetilmesini sağlar.

Asp.net MVC layout sayfaları, genelde HEAD tagları arasına yada sayfanın en altına yerleştirdiğimiz JS ve CSS dosyalarımızı da barındırır. Bu sayede web uygulamamızın kullandığı kaynaklarını yönetmek de oldukça basitleşmiş olur.

Örnek Asp.net MVC Layout Kullanımı

Mümkün olan en basit haliyle asp.net mvc layout kavramı nedir, ne işe yarar sorularını cevapladığımıza göre artık örnek uygulamamıza geçebiliriz.

İlk iş olarak Visual Studio’ da yeni bir Asp.net MVC uygulaması oluşturuyoruz. Web sitemize uygulayacağımız tasarıma ait CSS, JS ve görsel dosyaları eklemek için ana dizinde Content isminde bir klasör oluşturalım. Bu klasör içine kullanacağımız kaynakların hepsini kopyalayıp yapıştıralım. Dosyaları proje içeriğinde görebilmek için yapıştırma işlemini Solution Explorer penceresi üzerinden yapabilirsiniz.

Bu haliyle oluşturduğumuz uygulamanın içerisinde Controllers ve Views klasörleri boş olacaktır. Varsayılan ayarlar ile hızlıca örneğimizi geliştirmek için HOME adında bir MVC 5 Controller oluşturalım.

Oluşturduğumuz HomeController.cs dosyası içindeki Index metodunun üzerinde sağ tıklayıp Add View seçeneği ile Index sayfamıza ait View dosyasını ekleyelim. Bu işlemi yaparken Use _Layout seçeneğini seçip layout yapısını kullanacağımızı belirtmeyi unutmayalım.

Projemize temel olarak çalışabilecek bir HOME controller ve INDEX view sayfası eklemiş olduk. Bu aşamada VIEWS klasörünün içerisinde _ViewStart.cshtml dosyası ve SHARED klasörü içerisinde _Layout.cshtml dosyaları eklenmiş olmalı. Eğer yoksa _ViewStart.cshtml dosyasının içeriği aşağıdaki gibi olacak şekilde kendiniz oluşturabilirsiniz.

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

Artık orjinal tasarımımızın index.html dosyasını açıp içeriğini _Layout.cshtml dosyamıza uygulamaya başlayabiliriz. Unutmayalım, sitemizin tüm sayfalarında yer alacak kısımları layout içerisine ekleyeceğiz. Bu kısmı indirdiğiniz proje dosyasında işaretledim, karışıklık olursa index.html dosyasından kontrol edebilirsiniz.

Asp.net MVC Layout Kullanımı Örneği
Asp.net MVC Layout Kullanımı Örneği

Yukarıdaki görselde orjinal tasarımımızı görebilirsiniz. Mor renk ile işaretlenmiş alanlar _Layout.cshtml sayfasına, sarı bölgeyi içerik (değişecek) kısımı olarak Index.cshtml sayfasına yerleştireceğiz.

@RenderBody() Yerleşimi

Asp.net MVC layout sayfamızda değişken olacak, yani diğer sayfalardan gelecek olan içeriği sayfaya yerleştirmek için @RenderBody() kullanılır. Aşağıda ana hatlarıyla bir layout sayfasının içeriğini görebilirsiniz. Tam halini ekte paylaştığımız proje içerisinde görebilirsiniz.

<!DOCTYPE html>
<html lang="tr">
<head>
    <title></title>
</head>
<body>
    <nav>
        ...
    </nav>
        @RenderBody()
    <div>
        ...
    </div>
</body>
</html>

Ana hatlarıyla bir Index sayfasını da aşağıda bulabilirsiniz. Görüldüğü gibi temel olarak eklenmesi gereken herhangi bir C# yada Asp.net kodlamasına gerek bile yok.

<div>
    <h1>Merhaba, ben index sayfasından geliyorum<h1>
</div>

Asp.net MVC layout kullanımı kısaca bu şekilde. Konuyu daha iyi kavrayabilmeniz için hazırladığımız örnek proje ve dosyaları indirmek için buraya tıklayabilirsiniz. Layout kullanımı hakkında sormak istediklerinizi yada karşılaştığınız sorunları aşağıdaki yorumlar bölümünden iletebilirsiniz.

Asp.net MVC Area Kullanımı

4

Bu makalemizde Asp.net MVC area nedir, nerelerde kullanılır, mvc’ de area kullanımı hangi durumlarda gereklidir gibi soruları cevaplandıracağız.

Area İngilizce’ de alan, bölge anlamına gelir. Genel olarak MVC projelerimizde oluşturmak istediğimiz özel alanlar için area yapısı kullanılır. Örnek olarak MVC projesine admin paneli eklemek için area yapısı kullanılabilir. Ayrıca sitemize yada projemize sonradan ekleyeceğimiz özellikler içinde area yapısı kullanılabilir.

Asp.net MVC Area Nedir?

Asp.net MVC‘ de bilindiği üzere klasör yapısı sınırlayıcıdır. Model dosyaları için Models, Controller dosyaları için Controllers ve View dosyaları için Views klasörleri kullanılır. Bu yapı dışında projeye ihtiyaçlarımıza yönelik sayfalar eklemek mümkün değildir.

Asp.net Web Form uygulamasında proje dizini içerisinde yeni bir klasör oluşturup istediğimiz ismi verebilir ve klasör içerisindeki sayfalara web tarayıcıdan kolaca erişebilirdik. Bu yönüyle MVC uygulamaları web form uygulamalarında ayrılır.

Asp.net MVC’ de area yapısı bu eksikliği gidermek için kullanılır. Daha net bir örnekle açıklayacak olursak, geliştirdiğiniz web sitesinin içeriklerini yönetecek yönetici sayfalarını bir klasör altında toplamak gerekir ve bunun için area (admin paneli için URL: siteniz.com/admin) kullanmanız gerekir.

Asp.net MVC Area Özellikleri

Area, web projenizin içerisinde çalışan ve bağımsız özellikleri olabilecek bir yapıdadır. Projenin ana dizininde yer alan klasör yapısının benzeri oluşturacağınız her area içerisinde de olacaktır.

Örneğin Models, Controllers ve Views klasörleri eklediğiniz area içerisinde yer alacaktır. Ayrıca oluşturduğunuz her area içerisinde kendi web.config dosyası da yer alır. Buradaki web.config dosyası ile bu area için proje genelinden farklı ayarlar tanımlamak mümkündür.

Asp.net MVC Area Kullanımı

Asp.net MVC area kullanımı oldukça basittir. Solution Explorer‘ da proje isminin üzerinde sağ tıklayıp Add > Area… seçenekleri ile gelecek pencereden isim vererek yeni bir area oluşturmuş olursunuz.

Bundan sonra projenizin ana dizininde Areas isminde bir klasör yer alacaktır. Bu klasör içinde de isimlendirdiğiniz area yer alacak. Oluşturmuş olduğunuz area ve projenizin genel görünümü aşağıdaki görseldeki gibi olacaktır.

Asp.net MVC Area Kullanımı (Asp.net MVC Area Nedir ve Nasıl Kullanılır)
Asp.net MVC Area Kullanımı (Asp.net MVC Area Nedir ve Nasıl Kullanılır)

Görselde de görebileceğiniz adminAreaRegistiration.cs dosyası bu areanın tanım dosyasıdır. Dosyanın içeriğini açtığınızda aşağıdaki gibi bir kodlama görebilirsiniz. Buradan bu area’ nın route ayarlarını yapabilirsiniz.

public class adminAreaRegistration : AreaRegistration 
    {
        public override string AreaName 
        {
            get { return "admin"; }
        }
        public override void RegisterArea(AreaRegistrationContext context) 
        {
            context.MapRoute(
                "admin_default",
                "admin/{controller}/{action}/{id}",
                new { action = "Index", id = UrlParameter.Optional }
            );
        }
    }

Buradan sonra area içerisine bir controller ve buna bağlı bir index view sayfası ekleyerek tarayıcınızdan bu area ya sorunsuz erişebilirsiniz. Örneğin benim projemde localhost:55399/admin/home adresinde proje sorunsuz çalışıyor.

Asp.net MVC area kullanımı ve genel özellikleri hakkındaki paylaşacaklarımız bu kadar. Konu hakkındaki sorularınızı yada karşılaştığınız problemleri aşağıdaki yorumlar bölümünden iletebilirsiniz.

VueJS ve Asp.net MVC İlk Bakış

0
VueJS ve Asp.net MVC İlk Bakış
VueJS ve Asp.net MVC İlk Bakış

Bu makalede Javascript frameworklerinden Vue JS‘i kısaca tanıyıp, VueJS ve Asp.net MVC kullanarak örnek bir proje hazırlayacağız. Projeyi sayfanın altındaki linkten indirebilirsiniz.

Youtube’ da Fatih Acet’ in videoları sayesinde haberdar olduğum VueJS’ i yine aynı videolar sayesinde tanımaya başladım. Bu aşamada aklımdaki pek çok sorudan biri VueJS’ in Asp.net MVC ile nasıl çalışacağıydı. MVC’ de bizi zorlayan işleri Vuejs ile nasıl çözebiliriz sorusunun yanıtlarını henüz yeterince ilerleyemediğim (zaman darlığından) için veremeyeceğim. Ancak Asp.net MVC ile VueJS kullanımı için çok basit de olsa bir örnek paylaşmak istedim.

Kısaca VueJS

AngularJS’ e alternatif ve daha hafif (lightweight) bir framework olarak lanse ediliyor. Modüler bir yapısı var.

Yenilikçi bir component yapısı var. HTML, CSS ve Javascript kodlarınızı aynı dosya içinde (.vue uzantılı) yazmanıza olanak sağlıyor.

Çift yönlü veri bağlama (2 way data binding) mekanizmasına sahip. Bu özelliği ile MVC uygulamalarına MVVM yetenekleri kazandırabilir.

Örnek Proje

VueJS’ i kullanmaya başlamak için <head></head> tagları arasında VueJS’ i çağırmanız yeterli. VS ile yeni bir MVC projesi oluşturup Index.cshtml ile çalışmaya başlayabiliriz. Visual Studio kullanıcıları için server vb. gerekliliklerin kurulumu söz konusu olmadığı için bu kısmı hızlıca geçiyorum. Ancak Json işlemleri için Nuget paket yöneticisinden Newtonsoft.Json paketini kurmamız gerekiyor.

<head>
    <script src="https://unpkg.com/vue/dist/vue.js"></script>
    <title>VueJS + Asp.net MVC (TeknologWeb)</title>
</head>

Projede var olan bir Controller içinde sayfada görünecek olan verileri oluşturup ActionResult ile View’ a göndermemiz gerekiyor. Burada dikkat etmemiz gereken bir konu var, View’ a göndereğimiz verinin tipi dizi (array) yada nesne (object) olmalıdır. Bunun için Models kalsörü içinde Ogrenci ve Model isminde iki sınıf (class) oluşturdum. Yeni bir List içerisine Ogrenci tipinde verilerle doldurup Json Serialize ederek Model sınıfı içindeki Ogrencilerimiz özelliğine aktarıp View’ a gönderiyoruz. (Tüm bunları yaparken defalarca ne gerek var bunlara dediğim oldu.)

Sınıflarımız şöyle;

public class Ogrenci
{
    public string Adi { get; set; }
    public string Soyadi { get; set; }
    public int Sinifi { get; set; }
    public string Subesi { get; set; }
}
public class Model
{
    public string Ogrencilerimiz { get; set; }
}

HomeController içindeki Index Action’ ı şöyle;

public ActionResult Index()
{
    var ogrenciler = JsonConvert.SerializeObject(new List<Ogrenci>
    {
        new Ogrenci {Adi = "Alexander", Soyadi = "Oneal", Sinifi = 10, Subesi = "A"},
        new Ogrenci {Adi = "Castor", Soyadi = "Noble", Sinifi = 10, Subesi = "A"}
    });
    return View(new Model() {Ogrencilerimiz = ogrenciler});
}

Veriyi View’ a gönderdik, artık View içinde bu veriyi yakalayıp VueJS ile sayfaya yazabiliriz. Gönderdiğimiz veriyi Json.parse metodundan geçirerek window.veriler nesnesine aktarıyoruz ki Vue ile verilere erişebilelim.

window.veriler = JSON.parse('@Html.Raw(Model.Ogrencilerimiz)')

Body etiketi içinde Vue’ nun etkin olacağı yerde bir HTML elemanına id ataması yapmamız gerekiyor. Bu Vue’ dan gönderdiğimiz verinin sayfanın neresinde görüneceğini belirtmemiz için gerekli.

<div id="ilk"></div>

Bu basit örneğimizin VueJS kodlarını yazabiliriz. Script tagları arasında Vue’ dan yeni bir örnek alıp, el:’#ilk’ tanımlamasıyla bu Vue kodlarının etkin olacağı elementi tanımlıyoruz. data: {veri: window.veriler} tanımlaması ile parse ettiğimiz veriyi Vue’ nun veri kaynağına taşıyoruz. Buraya kadar yazdığımız js kodlarımız aşağıdaki gibi olmalı.

<script>
    window.veriler = JSON.parse('@Html.Raw(Model.Ogrencilerimiz)'),
    new Vue({
        el: '#ilk',
        data: { veri: window.veriler}
    });
</script>

Artık bir çok satır ve sütundan oluşan veriyi sayfada gösterebiliriz. Bunun için C# benzeri bir foreach yapısını yani “v-for” kullanıyoruz. Bunun gösterimi için basitçe bir <ul><li> yapısıda kullanılabilir, daha düzenli olması adına tablo yapısıda kullanılabilir. Örneğini aşağıda göreceğiniz v-for’ un tablo içerisindeki kullanımı örnek proje içerisinde bulabilirsiniz. Bu işleri <div id=”ilk”></div> etiketleri arasında yapmamız gerektiğini unutmayalım.

<ul>
    <li v-for="ogr in veri">{{ogr.Adi}} {{ogr.Soyadi}} - {{ogr.Sinifi}}/{{ogr.Subesi}}</li>
</ul>

Index.cshtml dosyasının tam hali söyle olmalı;

<html>
<head>
    <script src="https://unpkg.com/vue/dist/vue.js"></script>
    <title>VueJS + Asp.net MVC (TeknologWeb)</title>
</head>
<body>
    <div id="ilk">
        <ul>
            <li v-for="ogr in veri">{{ogr.Adi}} {{ogr.Soyadi}} - {{ogr.Sinifi}}/{{ogr.Subesi}}</li>
        </ul>
    </div>
    <script>
        window.veriler = JSON.parse('@Html.Raw(Model.Ogrencilerimiz)'),
        new Vue({
            el: '#ilk',
            data: {veri: window.veriler }
        });
    </script>
</body>
</html>

Bu haliyle çok basit bir örneği tamamlamış olduk. Örnek projeyi indirmek için buraya tıklayabilirsiniz. VueJS ile ilgili daha fazla bilgi almak ve öğrenmek için Fatih Acet’ in VueJS eğitim videolarını ve VueJS resmi sitesini kullanabilirsiniz.

Asp.net Repeater Kullanımı

1
Asp.net Repeater Kullanımı (Örnek Detaylı Kullanım ile Asp.net Repeater)
Asp.net Repeater Kullanımı (Örnek Detaylı Kullanım ile Asp.net Repeater)

Makalemizin konusu asp.net repeater kullanımı. Asp.net veri gösterim araçlarından olan repeater kontrolünün kullanımı oldukça yaygındır. Esnek yapısı, ihtiyaca göre geliştirilebilen görünümü ile veri gösterim ihtiyacını karşılayan bir kontroldür.

Konumuzun devamında asp.net repeater kontrolünün şablon (template) yapısı, olayları (events) ve detaylı bir kullanım örneğine yer vereceğiz. Öncelikle repeater kontrolünü tanıyalım.

Asp.net Repeater Şablonları (Template)

Repeater kontrolünün verileri organize ve anlamlı bir şekilde göstermek üzere tasarlanmış 5 adet şablonu mevcuttur. Şablon isimlerine ve açıklamalarına aşağıdan ulaşabilirsiniz.

ItemTemplate: Repeater için olmazsa olmaz şablondur. Gösterilecek veriler bu şablon içerisine yerleştirilir. Diğer şablonların kullanımı zorunlu değilken ItemTemplate tek zorunlu şablondur.

AlternatingItemTemplate: Verilerin gösterimi sırasında alternatif vurgulama özellikleri kullanılacağı durumda bu şablon kullanılır. Kullanımı ItemTemplate ile aynıdır, genelde CSS sınıfı ile görünüm zenginliği kazandırılır.

HeaderTemplate: Verilerin başlığının yer aldığı ve 1 kez gösterilen kısımdır. Örneğin verileriniz tablo biçiminde gösterilecekse HeaderTemplate içerisinde başlıklar yer alabilir.

FooterTemplate: Repeater’ ın en altında veri listeleme işlemi tamamlandıktan sonra yer alacak öğeler için kullanılır.

SeparatorTemplate : Gösterilen verilerin birbirinden ayrılması ve okunaklı bir şekilde gösterimi için kullanılır. CSS özellikleri yaygın olarak kullanıldığı için bu şablonu kullanmaya gerek kalmıyor.

Asp.net Repeater Kontrolünün Olayları (Events)

Repeater kontrolünün pek çok olayı (events) vardır ancak en çok ihtiyaç duyulan ve kullanılan 2 olay aşağıdaki gibidir.

OnItemCommand: Repeater içinde yer alan bir butona tıklanması gibi olayları karşılar. Bu sayede repeater ile gösterdiğimiz bir bilgiyi düzenleme yada silme butonuna tıkladığımızda sadece o veri üzerinde işlemler yapmamıza olanak sağlar.

OnItemDataBound: Repeater kontrolüne veri kaynağının bağlanması olayını karşılar. Bu aşamada gösterilecek veri içeriğini değiştirme, verileri farklı kontroller ile gösterme gibi senaryolarda kullanılır.

Asp.net Repeater Kullanımı

Aşağıda asp.net repeater kullanımını bir tablo biçimi ile örneklendirdik. HeaderTemplate içinde HTML biçiminde tablo ve başlıkları yazdık. ItemTemplate ve AlternatingItemTemplate içinde verilerin göstermini CSS ile biçim farklılığı oluşturacak şekilde gösterdik. FooterTemplate içerisinde de HTML tablo etiketini kapattık.

<asp:Repeater ID="rptOrnek" runat="server" OnItemCommand="rptOrnek_ItemCommand">
<HeaderTemplate>
    <table class="table table-striped table-hover ">
        <thead>
	   <tr class="warning">
	      <th>Numarası</th>
	      <th>Adı Soyadı</th>
	      <th>Sınıfı / Şubesi</th>
	      <th>Doğum Tarihi</th>
	      <th>Sil</th>
	   </tr>
        </thead>
        <tbody>
</HeaderTemplate>
<ItemTemplate>
    <tr class="active">
        <td><%# Eval("Numarasi") %></td>
        <td><%# Eval("Adi") %> <%# Eval("Soyadi") %></td>
        <td><%# Eval("Sinifi") %> / <%# Eval("Subesi") %></td>
        <td><%# Eval("DogumTarihi") %></td>
        <td><asp:LinkButton ID="lnkSil" runat="server" CssClass="btn btn-xs btn-danger" CommandArgument='<%# Eval("Id") %>' CommandName="sil" Text="Sil"></asp:LinkButton></td>
    </tr>
</ItemTemplate>
<AlternatingItemTemplate>
    <tr class="info">
        <td><%# Eval("Numarasi") %></td>
        <td><%# Eval("Adi") %> <%# Eval("Soyadi") %></td>
        <td><%# Eval("Sinifi") %> / <%# Eval("Subesi") %></td>
        <td><%# Eval("DogumTarihi") %></td>
        <td><asp:LinkButton ID="lnkSil" runat="server" CssClass="btn btn-xs btn-danger" CommandArgument='<%# Eval("Id") %>' CommandName="sil" Text="Sil"></asp:LinkButton></td>
    </tr>
</AlternatingItemTemplate>
<FooterTemplate>
        </tbody>
    </table> 
</FooterTemplate>
</asp:Repeater>

Aşağıda c# tarafında veriyi çektiğimiz ve repeater a bağladığımız kodlar mevcut. Burada ayrıca repeater içerisine yerleştirdiğimiz “sil” butonunu çalıştıracak olan OnItemCommand olayının kullanımını da görebilirsiniz.

protected void Page_Load(object sender, EventArgs e)
{
	SqlConnection baglanti = new SqlConnection("Data Source=.;Initial Catalog=RepeaterDB;Integrated Security=True");
	SqlCommand komut = new SqlCommand("SELECT * FROM Ogrenciler",baglanti);
	baglanti.Open();
	SqlDataReader dr = komut.ExecuteReader();
	if (dr != null)
	{
	   rptOrnek.DataSource = dr;
	   rptOrnek.DataBind();
	}
	dr.Close();
	baglanti.Close();
	baglanti.Dispose();
}

protected void rptOrnek_ItemCommand(object source, RepeaterCommandEventArgs e)
{
	if(e.CommandName.ToString() == "sil")
	{
	   //silme işlemleri burada yapılır 
	}
	else if(e.CommandName.ToString() == "duzenle")
	{
	   //düzenleme işlemleri burada yapılır
	}
}

Repeater içerisine koyduğumuz butona CommandArgument özelliği ile bu butonun hangi satırda işlem yaptığı verisini, CommandName özelliği ile de bu butonun yapacağı işlem türünü belirttik. CS dosyasında da CommandName özelliğine göre bu işlemleri gerçekleştirdik. Böylece repeater içerisinde buton kullanımına da yer vermiş olduk.

Basit bir anlatımla repeater kullanımı bu şekilde. Konu ile ilgili soru veya sorunlarınızı aşağıdaki yorumlar bölümünden iletebilirsiniz.

Asp.net ile RSS Oluşturma

0
Asp.net ile RSS Oluşturma (XmlTextWriter ile Dinamik RSS Oluşturma)
Asp.net ile RSS Oluşturma (XmlTextWriter ile Dinamik RSS Oluşturma)

Bu makalemizde Asp.net ile RSS oluşturma konusuna değineceğiz. RSS oluşturma işlemi için herhangi bir hazır araç kullanmadan XmlTextWriter kütüphanesi ile oluşturcağız. Kısaca RSS hakkında bilgi verdikten sonra asp.net projemizin kodlarını paylaşacağız.

RSS, blog ve internet sitelerinin güncel içeriklerini kullanıcıların takip etmesi için geliştirilmiş bir XML temelli bir standarttır. RSS yayınları, RSS okuyucu diye adlandırılan programlar tarafından okunur ve kullanıcıya daha okunaklı bir arayüz ile istedikleri anda bu içeriği görüntüleme imkanı verir. Bir çok sürümü olmasına karşın en yaygın kullanılan sürümü 1.0 sürümüdür. Ancak biz son sürümü olan 2.0 sürümünü baz alarak RSS oluşturacağız.

RSS, XML tabanlıdır ve çeşitli etiketlere sahiptir. Şu linkte yer alan 2.0 sürümü standartlarındaki temel etiketleri kullanacağız. Daha önce paylaştığımız asp.net sitemap oluşturma başlıklı makalemizde paylaştığımız ve açıklamasını yaptığımız kodlarımızda bir kaç değişiklik ile RSS oluşturacağız.

Asp.net RSS Oluşturma

Web projemizin içerisine yeni bir web form ekleyerek .aspx uzantılı sayfayı geldiği gibi boş bırakın. Ayrıca projenizde MasterPage yapısı kullanıyorsanız RSS için açtığını formun Master sayfasından bağımsız olmasına dikkat edin.

Sayfamızın .aspx.cs uzantılı (code behind) dosyasını açarak aşağıdaki rss oluşturma kodlarını Page_Load metodu içerisine yerleştirin.

Response.ContentType = "text/xml";
XmlTextWriter feed = new XmlTextWriter(Response.OutputStream, Encoding.UTF8);//xmltext nesnemizden bir örnek türettik.
feed.WriteStartDocument();//xml dosyamızı yazmaya başladık.
feed.WriteStartElement("rss");
feed.WriteAttributeString("version", "2.0");
feed.WriteStartElement("channel");
feed.WriteElementString("title", "Teknolog Web");
feed.WriteElementString("link", "http://localhost:64406/");
feed.WriteElementString("description", "Teknolog Web eğitim teknolojileri, programlama ve web tasarım blogudur.");
string baglantiCumlesi = WebConfigurationManager.ConnectionStrings["ConStr"].ToString();
SqlConnection baglan = new SqlConnection(baglantiCumlesi);
SqlCommand listeleKomutu = new SqlCommand("SELECT * FROM Sayfalar", baglan);
baglan.Open();
SqlDataReader listele = listeleKomutu.ExecuteReader();
//veritabanından DataReader nesnesine aldığımız verilerle döngü içerisinde her bir sayfamızın verilerini rss feed listesine ekliyoruz.
while (listele.Read())
{
    feed.WriteStartElement("item");
    feed.WriteElementString("title", listele[1].ToString());
    feed.WriteElementString("link", "http://localhost:64406/sayfa.aspx?id=" + listele[0].ToString());
    feed.WriteElementString("description", listele[1].ToString());
    feed.WriteElementString("pubDate", listele[3].ToString());
    feed.WriteElementString("guid", listele[0].ToString());
    feed.WriteEndElement();
}
baglan.Close();
listeleKomutu.Dispose();
baglan.Dispose();
feed.WriteEndElement();
feed.WriteEndDocument();
feed.Flush();
feed.Close();
Response.End();

Her RSS sayfası <rss>  etiketi ile başlar ve bu etiket için geçerli bir versiyon numarası belirtilmelidir. Bundan sonra <channel>  etiketi gelir. Bu etiket rss kaynağı olan sitemiz yada blogumuz hakkında başlık, açıklama ve adres gibi temel bilgileri barındırır.

Asp.net ile rss oluşturma makalemiz bu kadar. Konu ile ilgili soru veya sorunlarınız için aşağıdaki yorumlar bölümünü kullanabilirsiniz.

Asp.net ile Dinamik Sitemap Oluşturma

0
Asp.net ile Dinamik Sitemap Oluşturma (XmlTextWriter ve Veritabanından)
Asp.net ile Dinamik Sitemap Oluşturma (XmlTextWriter ve Veritabanından)

Merhaba bu makalemizde asp.net ile dinamik sitemap oluşturacağız. Sitemap oluşturma için herhangi bir hazır nesne kullanmadan standart asp.net ve C# kodlama ile XML çıktısı oluşturacağız.

Bildiğiniz gibi seo odaklı bir site için site haritaları olmazsa olmaz bir kriterdir. Arama motorlarının sitemizde yayınladığımız dinamik içerikleri dizinlerine eklemesi için oluşturulmuş XML tabanlı dosyalar sayesinde içeriğimizi Google ve Yandex gibi arama motorlarına doğrudan iletebiliyoruz.

Temel Sitemap Etiketleri

Sitemap oluştururken birtakım protokollere uygun etiketler (biçimler) kullanmamız gerekir. Bunun sebebi tüm sitelerin içeriklerinin tüm arama motorlarınca anlaşılabilir olmasını sağlamak için belirlenmiş kriterlerdir. Ayrıca içeriğin türüne göre (video, resim, makale) bu etiketler de çeşitlenmektedir. Konu ile ilgili daha fazla bilgi için sitemaps.org sayfasını ziyaret edebilirsiniz.

Biz örneğimizde standart bir makale içeriğine uygun olacak şekilde haritamızı hazırlayacağız. Bunun için <url>  düğümü içinde loc, lastmod, priority, changefreq etiketlerini kullanacağız.

Url etiketi site haritamızda yer alan her sayfamız için kapsayıcı elementtir ve içerisine yukarıda saydığımız etiketleri alacak şekilde yazılır. loc etiketi içeriğimizin tam adresini barındırır. lastmod içeriğimizin son güncellenme tarihi bilgisini tutar.

priority, gönderdiğimiz urller içerisinden bazılarına öncelik vermek istediğimizde kullandığımız etikettir. 0.0 ile 1.0 aralığında değer alır. Örneğin site haritasında ana sayfamızı 1, blog yazılarımızı 0.5 olarak önceliklendirebiliriz.

changefreq etiketi ise içeriğimizin taranma sıklığını belirtir. Yani içeriğimizin güncellenme durumunda yeniden taranması için bir süre belirtebiliyoruz.

Ayrıca site haritasının XML yapında bulunması gereken bazı temel etiketler de vardır ki bunlar site haritasının olmazsa olmazıdır. Arama motorları tarafından kabul edilen bir site haritası oluşturmak için aşağıdaki bildirimlerin bulunması zorunludur.

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 
http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd">

Asp.net ile Sitemap Oluşturma

Gelelim bu XML yapısını asp.net ile oluşturmaya. Asp.net C# ile XML oluşturma işlemleri için mevcut olan XmlTextWriter sınıfını kullanacağız. Bu sınıf içerisinde programatik olarak ihtiyaç duyacağımız tüm XML nesnelerini oluşturabileceğimiz bir yapı sunuyor.

Asp.net ile sitemap oluşturmak için projemize bir adet (aspx uzantılı) web form ekliyoruz. Formun görünüm tarafında yani aspx uzantılı dosyasında bir işlem yapmayacağız, burası olduğu gibi kalsın. İşlemlerimizi aspx.cs uzantılı dosyada C# kodları ile gerçekleştireceğiz.

Aşağıdaki kodlama ile xml site haritamızın oluşturmuş oluyoruz. Kodlama ile ilgili daha fazla bilgi için hemen her satırda yer alan açıklamaları okuyabilirsiniz.

Response.ContentType = "text/xml";
XmlTextWriter map = new XmlTextWriter(Response.OutputStream, Encoding.UTF8);//xmltext nesnemizden bir örnek türettik.
map.WriteStartDocument();//xml dosyamızı yazmaya başladık.
map.WriteStartElement("urlset");//Root elementimiz olan url etiketimiz ile aşağıdaki sitemap bildirimlerini ilk satıra yerleşirdik. 
map.WriteAttributeString("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9");
map.WriteAttributeString("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
map.WriteAttributeString("xsi:schemaLocation", "http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd");
map.WriteStartElement("url");//site haritasının içinde yer alacak ilk urlimiz projemizin ana sayfası, bunun için aşağıdaki etiketleri tek sefere mahsus ekledik.
map.WriteElementString("loc", "http://localhost:64406/");
map.WriteElementString("lastmod", DateTime.Now.ToString("yyyy-MM-dd"));
map.WriteElementString("changefreq", "daily");
map.WriteElementString("priority", "1");
map.WriteEndElement();
//haritamızın dinamik kısmına geldik. Veritabanından sayfalarımızın bilgilerini çekiyoruz.
string baglantiCumlesi = WebConfigurationManager.ConnectionStrings["ConStr"].ToString();
SqlConnection baglan = new SqlConnection(baglantiCumlesi);
SqlCommand listeleKomutu = new SqlCommand("SELECT * FROM Sayfalar", baglan);
baglan.Open();
SqlDataReader listele = listeleKomutu.ExecuteReader();
//veritabanından DataReader nesnesine aldığımız verilerle döngü içerisinde her bir sayfamızın verilerini siteharitasına ekliyoruz.
while (listele.Read())
{
    map.WriteStartElement("url");
    map.WriteElementString("loc", "http://localhost:64406/sayfa.aspx?id=" + listele[0].ToString());
    map.WriteElementString("lastmod", listele[3].ToString());
    map.WriteElementString("priority", "0.5");
    map.WriteElementString("changefreq", "monthly");
    map.WriteEndElement();
}
baglan.Close();
listeleKomutu.Dispose();
baglan.Dispose();
map.WriteEndElement();
map.WriteEndDocument();
map.Flush();
map.Close();
Response.End();

Yukarıdaki kodları sitemap olarak kullanacağımız sayfanın Page_Load metodu içerisinde çağırdığınızda site haritanız oluşacaktır. Sonucu görmek için projenizi çalıştırıp deneyebilirsiniz.

Temel veritabanı işlemleri dışında sadece XmlTextWriter nesnesini kullanarak asp.net site haritası oluşturmuş olduk. Konu ile ilgili soru ve sorunlarınızı aşağıdaki yorumlar bölümünden iletebilirsiniz.

Asp.net Roxy Fileman Kurulumu

0
Asp.net Roxy Fileman Kurulumu (TinyMCE Entegrasyonu ile Birlikte)
Asp.net Roxy Fileman Kurulumu (TinyMCE Entegrasyonu ile Birlikte)

Bu makalemizde asp.net projemize dosya yönetim eklentisi Roxy Fileman kurulumu yapacağız. Ayrıca Roxy Fileman eklentisinin projemizdeki mevcut TinyMCE editörü ile bağlantısını yapacağız. Dosya yükleme eklentileri için kritik öneme sahip olan güvenlik ayarlarına da kısaca değineceğiz.

Dosya yükleme eklentilerini doğrudan web projelerinize fotoğraf, pdf vb. dosyalar yüklemek üzere de kullanabilirsiniz. Ancak biz metin editörü içerisinde fotoğraf yükleme özelliği için kullanacağız. Bir önceki makalede TinyMCE editörü kurulumunu anlatmıştık. Şimdi kaldığımız yerden devam ederek asp.net projemizde Roxy Fileman kurulumu ve ayarlarını yapacağız.

Roxy Fileman eklentisinin .net versiyonunu kendi sitesinden indirerek başlayalım. İndirdiğimiz zip uzantılı dosya içindeki fileman isimli klasörü tinymce/plugins  klasörü içerisine kopyalıyoruz. Buradan sonra bir takım ayarlamalar yapmamız gerekecek.

Roxy Fileman Kurulumu

Sayfamızdaki <head></head> tagları arasına aşağıdaki <script>  kodlarını ekliyoruz. Burada TinyMCE editörüne fileman eklentisini tanıtmış oluyoruz.

<script type="text/javascript">
    tinymce.init({
        selector: 'textarea', language: 'tr', skin: 'charcoal', width: 800, height: 400,
        plugins: ['advlist autolink lists link image charmap print preview hr anchor pagebreak searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking save table contextmenu directionality emoticons template paste textcolor colorpicker textpattern imagetools codesample toc link image'],
        image_advtab: true,
        toolbar1: 'undo redo | insert | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
        toolbar2: 'print preview media | forecolor backcolor emoticons | codesample', file_browser_callback: RoxyFileBrowser
    });
    function RoxyFileBrowser(field_name, url, type, win) {
        var roxyFileman = 'scripts/tinymce/plugins/fileman/index.html';
        if (roxyFileman.indexOf("?") < 0) {     
            roxyFileman += "?type=" + type;   
        }
        else {
            roxyFileman += "&type=" + type;
        }
        roxyFileman += '&input=' + field_name + '&value=' + win.document.getElementById(field_name).value;
        if(tinyMCE.activeEditor.settings.language){
            roxyFileman += '&langCode=' + tinyMCE.activeEditor.settings.language;
        }
        tinyMCE.activeEditor.windowManager.open({
            file: roxyFileman,
            title: 'Roxy Fileman',
            width: 800, 
            height: 600,
            resizable: "yes",
            plugins: "media",
            inline: "yes",
            close_previous: "no"  
        }, {     window: win,     input: field_name    });
        return false; 
    }
</script>

4. satırda TinyMCE editörünün kullanacağı eklentileri tanımlıyoruz. Bunların bir çoğu varsayılan eklentiler, ancak biz ekleme yapacağımız için tekrar belirtmemiz gerek. 6 ve 7. satırlarda da editörün araç çubuğunda görünecek özellikleri belirtiyoruz. Bunlar içinden image ve link isimli olanlar Roxy Fileman eklentisi için gerekli olanlar.

Asp.net Roxy Fileman Kurulumu ve TinyMCE Entegrasyonu
Asp.net Roxy Fileman Kurulumu ve TinyMCE Entegrasyonu

RoxyFileBrowser  isimli fonksiyon ile de dosya yükleme eklentimizin özelliklerini belirtiyoruz. Buradaki roxyFileman isimli değişkenin tuttuğu index.html dosya adresinin projenizdeki konumunun doğru olduğuna emin olunuz.

Fileman Güvenlik Ayarları

Fileman eklentisine yetkisiz erişimlerin önüne geçmek için güvenlik ayarı yapmamız gerekli. fileman klasörü içinde web.config dosyasına authorization bildirimi ekleyerek sağlayabiliriz. Buradaki amaç sitemizin yönetim paneline erişirken sağladığımız doğrulama yöntemini fileman eklentisine de kazandırmak.

<authorization>
   <deny users="?" /> 
</authorization>

Yukarıdaki bildirim sizde hataya sebep olabilir, siz bunun için kendi kullandığınız bildirimi ekleyiniz. Roxy Fileman kurulumu ve TinyMCE entegrasyonunu yapmış olduk. Konu ile ilgili sormak istediklerinizi aşağıdaki yorumlar bölümünden iletebilirsiniz.

Asp.net TinyMCE Editör Kurulumu

2
Asp.net TinyMCE Editör Kurulumu
Asp.net TinyMCE Editör Kurulumu - Demo

Merhabalar, bu makalemizde asp.net projelerimize TinyMCE editörü kurulumu yapacağız. Kurulum için gerekli ayarları ve TinyMCE editör özelleştirmeleri ile Türkçe dil özelliği ekleyeceğiz.

Bilmeyenler için TinyMCE, görsel metin editörüdür. Web uygulamalarında yayınlanan içeriklerin eklenmesinde sağladığı görsel arayüz ile kolaylık sağlar. Ayrıca editör ekranındaki içeriğin görüntüsü kullanıcıların göreceğine oldukça yakın özelliklerdedir. TinyMCE editörü hakkında daha fazla bilgi almak için buraya tıklayabilirsiniz.

Nuget ile TinyMCE Kurulumu

TinyMCE editörünü asp.net projenize dahil etmek için Nuget paket yöneticisini kullanabilirsiniz. Nuget Solution’ da TinyMCE diye arama yaptığınızda karşınıza gelecektir. Nuget konsolda ise Install-Package TinyMCE  komutu ile kurulum yapabilirsiniz.

Projenize kendiniz dahil etmek isterseniz de resmi sitesinden indirdiğiniz tinymce isimli klasörü proje dizinine (veya istediğiniz bir alt klasöre) kopyalayabilirsiniz.

TinyMCE editörü kullanmak istediğiniz sayfanın <head></head>  kodları arasına tinymce.min.js dosyasını çağırın. Script tagları arasında editorun özellikleri yer alacak, şimdilik minimal özelliklerde. Projenizde Master Page yapısı kullanıyorsanız bu kodları Master‘ a değil içerik sayfanızın head content placeholder‘ ı içerisine ekleyin.

<script src="scripts/tinymce/tinymce.min.js"></script>
<script type="text/javascript">
    tinymce.init({ selector: 'textarea'});
</script>

Şimdi tek yapmamız gereken sayfamıza editörun görüneceği yere bir adet TextBox eklemek.

TinyMCE Türkçe Dil Ayarları

Sayfamıza editörü ekledik ancak, gördüğümüz arayüz Türkçe değil. TinyMCE editörünü Türkçe yapmak için şuradaki dil sayfasından Türkçe dil paketini indirip, içindeki tr.js isimli dosyayı tinymce klasörü içindeki langs klasörüne kopyalıyoruz. Sonrada <script></script>  tagları arasındaki kısıma language: ‘tr’ özelliğini eklemeniz yeterli olacaktır.

TinyMCE Editör Tasarım Değiştirme

TinyMCE editörü tasarım değiştirmenize ve kendinize özgü bir tasarımla kullanmanıza da olanak veriyor. Skin denilen bu yapı ile metin editörünü istediğiniz gibi değiştirebiliyorsunuz. Bunun için bir skin oluşturma sayfası bile var. Bu sayfadan kendinize özgü bir görünüm oluşturup bunu projelerinizde kullanmak üzere indirebilirsiniz.

Skin özelliği bir klasör içerisindeki dosyalardan oluşur ve bunu tinymce klasörü içindeki skins klasörü içine kopyalamanız gerekir. Skin adını ayarlarımıza ekledikten sonraki head tagları içindeki kodlamamız aşağıdaki gibi olacak.

<script type="text/javascript">
    tinymce.init({ selector: 'textarea', language: 'tr', skin: 'charcoal' });
</script>

Asp.net TinyMCE kurulumu ve özelleştirmeleri anlatımımız bu kadar. Konu ile ilgili soru veya sorunlarınızı aşağıdaki yorumlar bölümünden iletebilirsiniz.

100BeğenenlerBeğen
100TakipçilerTakip Et
124TakipçilerTakip Et
100TakipçilerTakip Et
100AboneAbone Ol