Bir konu ile ilgili webde araştırma yaparken bu video ile karşılaştım:
Haritalarda ülkelerin boyutlarının ve yerlerinin psikolojik etkisinin olduğuna ben de katılıyorum.
Peter, Mercator ve diğer haritalar hakkında bazı bilgileri http://odtmaps.com/behind_the_maps/peters_maps/peters-map-guide.asp, http://www.theguardian.com/global/gallery/2009/apr/17/world-maps-mercator-goode-robinson-peters-hammer#/?picture=346092543&index=4 ve http://www.businessinsider.com/mercator-projection-v-gall-peters-projection-2013-12 sitelerinden bilgi edindim.
Anladığım kadarıyla Merkator haritası okyanusta gemi seyahati yapmak için daha uygunken (düz çizgiler sağlaması nedeniyle) Peter haritası ülkelerin yüzey alanlarını karşılaştırmak için uygun.
Mercator haritası:

Peter haritası:

İki haritayı üst üste koyarsak farkı daha iyi görebiliyoruz:

Haritalarda kuzeyin neden yukarıda gösterildiği ayrıca bir taştışma konusu. Kuzeyin yukarıda güneyin aşağıda gösterilmesinin “iyi” ve “kötü” kavramlarınıyla ilişkilenen düalist bir dünya görüşünün oluşturulmasına yardımcı olduğu yönünde tartışmalar var. Bu konuda bu ve bu siteyi faydalı buldum.
Apollo 17’nin çektiği bir fotograf sanki bu tartişmalara nispet yapıyor:

Bu videodaki ispatı çok beğendim:
İnsana gövenme;
Makineye güvenme;
Kime güvenecegiz???
(İ. ESER)
SELECT ile dönen liste 3 parçaya ayrılabilir.
– Süzme işlemi (WHERE alt cümlesi ile yapılabilen)
– Sıralama işlemi (ORDER BY alt cümlesi ile yapılabilen)
– Geri dönen liste üzerinde yapılan işlemler (GROUP BY, HAVING, MAX, SUM, COUNT, MIN….vs.)
Bir SELECT cümlesi yazalım
SELECT Price
FROM Customer
WHERE Price < 100
AND Price > 50
Bu cmleyi Price’a göre gruplandiralim:
SELECT Count(*), Price
FROM Customer
WHERE Price < 100
AND Price > 50
GROUP BY Price
Sonuçta Price bilgisi 100 ile 50 arasında olan Customer listesine düşük seviyeli liste diyelim. Bu düşük seviyeli listenin üzerine GRUOP BY ve COUNT işlemleri uygulandıktan sonra ortaya çıkan yeni listeye ise sonuç listesi adını verelim.
Bu bilgiler ışığında GROUP BY alt cümlesinin tanımı:
– Cümleden sonra parametre olarak belirtilen alanın veya alanların değerine göre düşük seviyeli listeyi parçalara ayırır, belirtilen alanın veya alanların kaç farklı değeri var ise o kadar düşük seviyeli liste oluşturur.
COUNT(*), MIN, MAX, AVERAGE gibi fonksiyonların nasıl çalıştıklarını anlamak için:
– Tüm bu fonksiyonlar, düşük seviyeli listenin tamamı üzerine çalışır. Eğer düşük seviyeli liste GRUOP BY ile bölünmüş ise, her bir parça için ayrı ayrı çalışırlar.
Yani son SQL cümlesinde yer alan Count(*) işlemi her Price değeri için bölünmüş olan düşük seviyeli listenin herbir parçası için çalışır. Ve ortaya sonuç listesi olarak, her parçanın içerisinde yer alan kayıt sayısı ve her parçanın ayıraçı konumundaki Price bilgisi çıkar. Örnek;
Count(*) - Price
5 60
7 70
... vb.
Örnek uygulama:;
SELECT Count(*), Price, Name
FROM Customer
WHERE Price < 100
AND Price > 50
GROUP BY Price
Yukarıki sorgu neden hata vermektedir:
Şimdi öncelikle düşük seviyeli listenin ne olduğunu bulalım;
– Price bilgisi 100 ile 50 arasında olan Customer bilgileri.. Id, Price, Name…vs.. vs.. Bu listeye ‘A’ listesi diyelim.
‘GRUOP BY’ işlemi olduğuna göre, elimizdeki düşük seviyeli ‘A’ listesi Price bilgisinin değerlerine göre bölümlere ayrılmıştır. Örnek olarak Price bilgisi 5 farklı değere sahip olsun elimizdeki ‘A’ listesi ‘A1, A2, A3, A4, A5′ şeklinde küçük listelere ayrılır.
Daha sonra COUNT(*) işlemi ile bu her bir küçük listenin adet bilgisi ile Price ve Name bilgisi sonuç listesine verilmiştir. Peki burada ki gariplik ne, neden hata veriyor. Sorun şu A listesinden A1′e geçiş sırasında her bir Price’a karşılık ‘n’ adet Name bilgisi oluşmuştur bu nedenle sonuç listesi oluşturulurken, Count bilgisi hesaplanmış, Price bilgisi tek olduğu için alınmış fakat hangi Name bilgisinin kullanılacağına karar verilememiştir.
Düşük Seviyeli Liste’nin son hali..
Id |
Price |
Name |
1 |
60 |
Test60-1 |
2 |
60 |
Test60-2 |
3 |
70 |
Test70-1 |
4 |
70 |
Test70-2 |
5 |
80 |
Test80-1 |
6 |
90 |
Test90-1 |
‘Group By’ uygulandıktan sonraki düşük seviyeli listenin hali;
Price |
Alt Kümeler |
60 |
Id |
Name |
1 |
Test60-1 |
2 |
Test60-2 |
|
70 |
Id |
Name |
1 |
Test70-1 |
2 |
Test70-2 |
|
80 |
|
90 |
|
İşte bu da son ipucu; SQL programlama dilinde herhangi bir liste oluşturabilmek için bir kademe altta yer alan listenin elemanları direkt olarak kullanılabilir ya da fonksiyonlar yardımı ile alt listelere ulaşılıp, toplam, en küçük, en büyük, ortalama.. vb. değerler elde edilebilir.
Bu yazı “http://esiyo.net/select-gruop-by-having/110” adresinden alınmış/özetlenmiştir.
Pinaapple
http://www.troyhunt.com/2013/04/the-beginners-guide-to-breaking-website.html
http://hakinthebox.blogspot.com.au/2012/06/you-just-cant-trust-wireless-covertly.html
ve yönetilir usb
http://hakshop.myshopify.com/collections/gadgets/products/usb-rubber-ducky
ve Abel&cain ile Firesheep
Aşağıdaki linkte çok ilginç bir yarışmadan sorular ve fikirler var.
Tavsiye ederim:
http://www.security.pandoraninkutusu.net/dunyayi-kurtaran-hacker-yarismasi-2012/