Ahmet Oğuz Koca

Sosyal olaylar.

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

 

 

 

 

 

Adblock eklentisi kullanan tarayıcıları nasıl engelleyebilirsiniz?

Geçen günlerde firefox için bir e-posta eklentisi aramak amacıyla mozilla'nın sitesine uğramak durumunda kalmıştım, sitedeki popüler eklentilere baktığımda web sitelerindeki reklam alanlarını engelleyen "adblock" eklentisinin nerdeyse haftada 800.000 kez indirildiğini görünce oldukça şaşırdım.

Konunun derinlemesine tartışılacak bir çok yönü olmakla birlikte herhangi bir polemiğe meydan vermemek amacıyla direkt çözüme geçmeyi doğru buluyorum.

Bu eklentiyi kullanan taayıcılara karşı alınacak en basit yöntem bütün sitenizi veya sitenizdeki istediğiniz bölümü, adblock eklentisi tarafından reklam olarak algılatmaktan geçiyor.
Bu yöntemle siteye giren bu eklentiye sahip tarayıcılar siteniz yerine boş içeriği görmek durumunda olacaklar

Gelelim yönteme;

Sitenizde body etiketinin hemen altına veya istediğiniz içeriğin görüntülendiği tag'in hemen üstüne bu div etiketini yapıştırsanız adblock o bölgeyi reklam zannederek engelleyecek.

<div class="ads">

</div>


Adblock'un gelecek versiyonlarında bu yöteme karşı önlem alınacak olsa bile programın kendi algoritmasından faydalanarak yeni yöntemler üretebilirsiniz.

 

Ubuntu'da host dosyası değişikliği ve DNS cache temizleme

Host dosyası ile yasaklanan sitelere girmek için "sudo gedit /etc/hosts" ile hosts dosyasını açıyoruz 127.0.0.1 [tab] websitesiadresi.com satırını ekliyoruz.

Dns cache'ini temizlemek için "sudo service nscd restart" komutunu kullanılıyoruz (Windows'taki "ipconfig /flushdns" komutunun linux versiyonu)

Not: Güncel youtube ip adresleri için bu adresteki host dosyasına bakabilirsiniz.