Ahmet Oğuz Koca

Sosyal olaylar.

Windows'ta belirli bir süre sonra bilgisayarınızın bir işlem yapmasını sağlama

Windows'ta belirli bir süre sonra bilgisayarınızın bir işlem yapmasını isterseniz timeout komutunu kullanabilirsiniz

örneğin müzik çalsın; (varsayılan müzik programını açar)

timeout -t 10 && "c:\users\aok\downloads\muzik.mp3"

Windows bilgisayarınızı otomatik olarak kapatmak

Windows'ta siz başında değilken bilgisayarınızı otomatik olarak kapatmak için şu komutu kullanabilirsiniz


shutdown -s -f -t 3600


* 3600 saniye cinsinden süre (1 saat verdim) 


* -f açık uygulama varsa zorla kapatıyor


* -s yerine -l yazarsanız çıkış yapıyor 

Limon kokusu, güneş ışığı ve biraz müzikle verimliliğinizi arttırabilir misiniz?

Dev infografik kaynağı pinterest'te yaptığım turlardan birinde rastladığım bir infografik hayli ilgimi çekince blog'umdan paylaşma gereği duydum. Burda bahsedilen birkaç basit yöntemle verimliliğinizi %200 kadar arttırmanız mümkün gözüküyor. Tabii taktiklerin çalışıp çalışmadığını anlamak adına bir gönüllü bulmak gerekiyordu :) haftaya sonuçları paylaşmayı planlıyorum.

1) Aynı zamanda bir tek işi yapıyor olun multitasking performansınızı %40 kadar düşürür.

2) 1,5 saatlik uyku kaybı %32 kadar uyanıklığınızı azaltır.

3) Sağlıklı beslenin kan şekerinizi aşırı yükseltecek ya da düşürecek besinlerden kaçının, iyi bir besin diyeti verimliliğinizi %20 kadar arttırabilir.

4) Sosyal medyadan uzak durun.

5) Çalışma alanınızda bitkilere yer verin zira bu havayı temizlediği gibi konsantrasyonunuzun yükselmesine de yardımcı oluyor. Bitkiler verimliliği %38, yaratıcılığı %45, refah ve esenliğinizi %47 arttırıyor.

6) Pomodoro tekniğini kullanın.

7) Güneş ışığı verimliliği %15 arttırırken hastalık zamanlarnı %25 azaltıyor. Güneş ışığı bulamazsanız bile ortamın ışıklandırılmasına dikkat edin.

8) Sakız çiğneyin, stresin %10 ve daha fazla azalmasına yardımcı oluyor.

9) Müzik dinlemek dopamin salgılamanıza ve moralinizin yükselmesine yardımcı oluyor.

10) Limon koklayın, ilginç ama limon koklamak iş yaparken hata yapma oranınızı %54 kadar düşürüyorumuş, limon sevmiyorsanız yasemin %33, lavanta %20 kullanabilirsiniz.




Bu arada etrafı yeşillendirmek adına bundan daha iyisini bulamadım :)

Facebook'un cache'lediği link içeriklerini düzeltmek

Facebook üzerinden bir linki paylaştığınızda veya like'ladığınızda facebook o linkin içeriğini alarak paylaşım metni olarak almakta ve bir kez bu işlemi yaptıktan sonra da sonucu daha sonraki kullanımlar için cache'lemekte.

Bu sebepten ötürü de ilgili linkin bulunduğu sayfada değişiklikler yapsanız bile facebook bu değişiklikleri hemen sonuçlara yansıtmamakta. Eğer böyle bir durumla karşılaşırsanız facebook'un open graph için hazırldığı debug tool'unu kullanarak link içeriklerinizi güncelleyebilirsiniz. Debug aracına burdan ulaşabilirsiniz. http://developers.facebook.com/tools/debug

 

 

 

TniyMCE kullanırken script ve link tag'lerini içeriğinize nasıl eklersiniz?

TinyMCE editörünü kullanırken içeriğinize script ve link tag'leri eklemeniz mümkün değil. Bu işlem güvenlik açıklarına sebep olmamak adına kapatılmış durumda. Eğer yönetim panelinde TinyMCE kullanıyorsanız bu etiketlerin kullanılmasına izin verebilrisiniz. Bunun için TinyMCE'yi init ettiğiniz bölüme (general options) şu iki ifadeyi giriniz. Böylelikle script ve link etiketlerini artık girebilirsiniz.

extended_valid_elements : "script[src|type|language]",

extended_valid_elements : "link[href|rel]",

Nasıl mükemmel tweet atılır?

MarketingThink tarafından hazırlanmış bir grafiği Türke'ye çevirdim, deneyip sonuçlarını paylaşabilirseniz sevinirim. Ben de bu yazıyı tanıtırken deneyeceğim :)

 

[Çeviri]

Call to action: Okuyuculardan ne yapmalarını istediğinizi söyleyin. [RT] [yay] v.s.

Hashtag: Bir veya iki adet hashtag kullanarak sizi takip etmeyenlere ulaşma oranını arttırabilirsiniz.

Ton:  Resmi ağız yerine kendi ağzınızdan konuşun

Mesaj: Yazım kurallarına, noktlama işaretlerine uyun. Büyük harflerle yazmayın 

Kaynak: Mesajınızla ilgili bir kaynağa başvurun, makale, resim veya video olabilir.

Format: Manşet, soru ve istatistiki bir format daha iyi olur.

Link: Bit.ly daha fazla trafik alabiliyor.

Boşluk: En az 20 karakter boş bırakın ki RT edenler kendi yorumlarını ekleyebilsinler

 

Kaynak

BlogEngine 2.5 kurulumunda .cshtml hatası.

Bugün dotnetblogengine blog'umu 1.6 'dan 2.5'e taşıdıktan sonra yeni versiyondaki .cshtml uzantılı dosyalara erişmeye çalıştığımda IIS,  "HTTP Error 404.7 - Not Found" hatası veriyordu. Hatanın detayını iyi okumayıp bir çok mime ve isapi numarası denedikten sonra sorunun IIS 7.5'te varsayılan olarak .cshtml uzantılı dosyalara erişimin kapalı olduğunun aklıma gelmesi ve IIS'te gerekli ayarı yapmamın ardından problemim çözüldü. Benzer durumda olan arkadaşlar için yapılması gerekenleri paylaşayım istedim.

 

 

IIS'te ilgili sitenin detay bölümünden Request Filtering'i seçiyioruz

 

.cshtml dosyalarına getirilen kısıtlamayı "Remove ile kaldırıyoruz"

 

 

Not: MVC projelerinizde cshtml dosyalarını direkt erişime açmanız güvenlik sorunlarına sebep olabilir bundan dolayı bunu sunucu bazında değil sadece blogengine kurduğunuz websitesi için yapmalısınız.

Windows üzerinde node.js ile çalışma

 

Geçen ay Microsoft yazılım geliştirme bölümünün başkanı Scott Guthrie twitter’dan node.js takımı ile çalışmaya başladıklarını duyurmuştu. Node.js’in 0.5.2 versiyonu ile birlikte resmi sitede windows için çalıştırabilir uygulama (exe) dosyası yayınlandı. Buradan indirerek windows makinalarınızda node.js uygulamalarınızı çalıştırmaya başlayabilirsiniz.
 
Uygulama dosyasını indirdikten sonra basit bir 'hello world' uygulaması yazmak için şu adımları izleyebilirsiniz.
 
Öncelikle sunucu üzerinde belirli bir portu gelecek talepleri dinleyecek javascript kodumuzu yazıyoruz.
 
var http = require('http');
http
.createServer(function(req, res){
 res
.writeHead(200,{'Content-Type':'text/plain'});
 res
.end('Hello World\n');
}).listen(1337,"127.0.0.1");
console
.log('Server running at http://127.0.0.1:1337/');
 
Bu kodu server.js adıyla node.exe dosyasını indirdiğiniz dizine kaydedip daha sonra komut satırından

node.exe server.js

ile çalıştırıyoruz.
 
Daha sonra tarayıcınızdan yazdığımız kod ile gelen talepleri dinlemek istediğimiz porta talepte bulunuyoruz.

 

 

 

Node.js hakkında daha detaylı bilgi sahibi olmak ve daha spesifik uygulamalar yazmak için bu kaynaklara göz arabilirsiniz.
 
Node.js ücretsiz e-kitap => http://www.nodebeginner.org/
 
Node.js çeşitli uygulamalar => http://nodetuts.com/index.html

 

Veri tabanı tasarımı için 20 ipucu

1) Tutarlı ve iyi tanımlanmış tablo/sütun isimleri kullanın. ( Okul, Ogrenci, KursNO)

2) Tablo isimleri için çoğul isimler kullanmayın ( Ogrenci/Ogrenciler Student/Students) Tablolar zaten varlık koleksiyonlarını içerirler çoğul kullanmanıza gerek yoktur.

3) Tablo isimlerinde boşluk karakteri kullanmayın. Eğer kullanırsanız veritabanı sunucusu tipine göre sorgularınızda köşeli parantez, süslü parantez gibi ekstra ifadeler kullanmak zorunda kalabilirsiniz bu da kodlama sırasında hatalar yapmanıza sebep olabilir.

4) Tablo isimlendirirken gereksiz ön ek ve son eklerden kaçının (tblOgrenci, OgrenciTbl, OgrenciTablosu)

5) Şifre alanlarını kriptolayarak saklayın. (MD5, SHA1, bazı alanlar için base64 v.s.)

6) Bütün tablolarınıza sayı değeri barındıran bir kimlik sütunu bulundurun (Id alanı). Başlangıçta lazım olmasa bile ilerde lazım olma ihtimali yüksektir. Ayrıca bazı ORM araçlarının tablo üzerinde işlem yapmak için benzersiz bir ‘id’ alanına ihtiyaç duyduğunu aklınızda bulundurun.

7) Index oluşturmak için sayı (integer) tipli alanları tercih edin. Karakter (char/varchar) seçmeniz performans problemlerine neden olabilir.

8) Mantıksal (boolean) veri tipi için ‘bit’ tanımlaması kullanın. Karakter veya sayı kullanmanız gereksiz alan tüketimine sebep olur ayrıca bu alanlar için ‘Is’ öneki kullanabilirsiniz (İngilizce).

9) Veri tabanı için yetkilendirme sistemi kullanın, her kullanıcıya ‘yönetici’ admin rolü vermeyin.

10) Gerekmedikçe tablonuzdaki bütün sütunları seçen, ‘select *’ sorgusundan uzak durun. Sorgunuzda sadece gerekli sütunları isteyin.

11) Uygulamanız büyüdükçe ORM araçları kullanmaya yönelmeseniz. Başlangıçta performans kaybına neden olsa da ince ayar yaparak problemlerin üstesinden gelebilirsiniz.

12) Büyük ölçekli ve fazla kullanılmayan tabloları performans arttırmak amac��yla farklı disklerde tutmaya çalışın.

13) Büyük, hassas ve kritik önemi olan veritabanlarınız için yedekleme ve data güvenlik sistemleri kullanın (failover clustering, auto backups, replications)

14) Data bütünlüğünü sağlamak amacıyla alan kısıtlamalarını kullanın bütün denetleme işini uygulamanıza bırakmayın.

15) Varlık yapınızı, tablo ilişkilerinizi dokümente edin. Kullandığınız tetikleyicilerde (trigger) ve saklı prosedürlerde (stored procedures) yorum satırları ile yaptıklarınızı anlatın.

16) Büyük tablolar üzerinde çok kullandığınız sorgular için indexlemeye gidin. Analiz araçları hangi alanlarda indexlemeye gitmeniz gerektiği konusunda size yardımcı olabilir. Büyük çapta sonuç döndüren sorgular için ‘clustered index’ler, tekil sonuç döndürenler için ise ‘non-clustered’ indexler genellikle daha iyidir.

17) Veritabanı sunucusu ile web sunucusunu (uygulama sunucusu) farklı fiziksel makinalarda tutmaya çalışın. Bu hem performası (farklı cpu ve disk alanı kullanımından dolayı) artırır hem de daha fazla güvenlik sağlar (hack ataklarına karşı)

18) Sık kullanılan tablolarda resim (image) alanına yer vermeniz performans problemlerine sebep olabilir. Bu alanları farklı tablolarda tutmaya çalışın.

19) Gerektiğinde performansı arttırmak için normalizasyon (http://tr.wikipedia.org/wiki/Normalizasyon) yapmalısınız. Normalizasyonun az ya da çok olması performans problemlerine sebep olabilir.

20) Veritabanı modelleme ve tasarımı için daha fazla zaman ayırın. Eğer ayırmazsanız bu sizi bakım işlemleri sırasında aşırı vakit harcamak ve tablolarınızı yeniden dizayn etmek zorunda bırakabilir Orjinal Makale

 

 

Orjinal Makale 

 

20 Database Design Best Practices

 

http://codebalance.blogspot.com/2011/07/20-database-design-best-practices.html