<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:gd="http://schemas.google.com/g/2005" xmlns:georss="http://www.georss.org/georss" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-7054041153557986201</atom:id><lastBuildDate>Wed, 06 Nov 2024 03:00:14 +0000</lastBuildDate><category>yazılım</category><category>fotoğraf-grafik</category><category>sosyal</category><category>müzik</category><category>Dr. Deming</category><category>yeme-içme</category><category>yemek</category><title>CNR BSRN</title><description></description><link>http://basarancaner.blogspot.com/</link><managingEditor>noreply@blogger.com (Caner BAŞARAN)</managingEditor><generator>Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><language>en-us</language><itunes:explicit>no</itunes:explicit><itunes:subtitle/><itunes:owner><itunes:email>noreply@blogger.com</itunes:email></itunes:owner><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-2428321189934034746</guid><pubDate>Fri, 27 Feb 2015 16:59:00 +0000</pubDate><atom:updated>2015-02-27T19:00:05.718+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">yazılım</category><title>golang ikilileri niye bu kadar büyük? nasıl küçültürüm?</title><description>&lt;a href="http://golang.org/" target="_blank"&gt;Go&lt;/a&gt;(golang) ile "&lt;a href="http://play.golang.org/p/w9F8pC5Ys4" target="_blank"&gt;Merhaba Dünya&lt;/a&gt;" dedin ve derlediğinde(&amp;nbsp;&lt;i&gt;go build hello.go&amp;nbsp;&lt;/i&gt;) gözlerini inanamadın. 1.8Mb içinde acaba ne var dedin.&lt;br /&gt;
&lt;br /&gt;
Hata ayıklama bilgileri olmadan derle &lt;i&gt;go build -ldflags "-s" hello.go &lt;/i&gt;yarı yarıya düştü bak 0.9Mb.&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Hala düşünüyorsun ne var bunun içinde? &lt;i&gt;&lt;a href="http://golang.org/pkg/fmt/" target="_blank"&gt;fmt&lt;/a&gt;&lt;/i&gt; paketi birçok özelliği olan büyük bir paket. Sadece ekrana yazı basacağım diyorsan, &lt;i&gt;fmt &lt;/i&gt;yi kaldır. &lt;i&gt;fmt.Println&lt;/i&gt; yerine yerleşik fonksiyonlardan,&amp;nbsp;&lt;a href="http://golang.org/pkg/builtin/#println" target="_blank"&gt;&lt;i&gt;println&lt;/i&gt;&lt;/a&gt;&amp;nbsp;kullan. 0.25Mb oldu bak.&lt;br /&gt;
&lt;br /&gt;
Sıkıştır&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;7z -&amp;gt; 0.075Mb&lt;/li&gt;
&lt;li&gt;UPX ve goupx&amp;nbsp;-&amp;gt; 0.1Mb&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;a href="http://upx.sourceforge.net/" target="_blank"&gt;UPX&lt;/a&gt;, ikili çalıştıralabilir dosyalarını sıkıştırıyor. Kurulumu &lt;i&gt;sudo apt-get install upx-ucl&lt;/i&gt;&lt;/div&gt;
&lt;a href="https://github.com/pwaller/goupx" target="_blank"&gt;goupx&lt;/a&gt;, golang fixi&amp;nbsp;&lt;i&gt;GOPATH=${PWD}/env go get github.com/pwaller/goupx/&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;go build -ldflags "-s" hello.go&lt;/i&gt;&lt;br /&gt;
cd env/bin/&lt;br /&gt;
./goupx hello&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://basarancaner.blogspot.com/2015/02/golang-ikilileri-niye-bu-kadar-buyuk.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-2107265692839553276</guid><pubDate>Wed, 01 Oct 2014 22:51:00 +0000</pubDate><atom:updated>2016-02-24T01:54:41.310+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">sosyal</category><title>Doğa için ufak kendimde yaptığım değişiklikler - 2</title><description>taşındı &lt;a href="https://canerbasaran.github.io/blog/surdurulebilir-yasam-icin-yaptigim-degisiklikler.html"&gt;tıkla&lt;/a&gt;</description><link>http://basarancaner.blogspot.com/2014/10/doga-icin-ufak-kendimde-yaptgm.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-4885097088265810001</guid><pubDate>Fri, 25 Jul 2014 15:41:00 +0000</pubDate><atom:updated>2014-07-25T18:41:37.303+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">yazılım</category><title>Bazı bazı regexler</title><description>^([0-7][0-9]|8[0-1])[A-Z]{1,3}\d{2,5}$ (Türkiye Taşıt Plaka tanıma)</description><link>http://basarancaner.blogspot.com/2014/07/bazi-bazi-regexler.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-8940656439147675746</guid><pubDate>Sat, 21 Jun 2014 19:51:00 +0000</pubDate><atom:updated>2016-01-09T06:29:31.865+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">müzik</category><title>Ağız Kopuzuna Hızlı Başlangıç</title><description>taşındı &lt;a href="https://canerbasaran.github.io/blog/agiz-kopuzuna-hizli-baslangic.html"&gt;tıkla&lt;/a&gt;</description><link>http://basarancaner.blogspot.com/2014/06/agz-kopuzuna-hzl-baslangc.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-936336740854652073</guid><pubDate>Tue, 29 Apr 2014 16:52:00 +0000</pubDate><atom:updated>2016-01-11T01:05:39.000+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">sosyal</category><title>Tükenmeden Tüketmek, Köle Olmadan Üretmek</title><description>taşındı &lt;a href="https://canerbasaran.github.io/blog/tukenmeden-tuketmek-kole-olmadan-uretmek.html"&gt;tıkla&lt;/a&gt;</description><link>http://basarancaner.blogspot.com/2014/04/tukenmeden-tuketmek-kole-olmadan-uretmek.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-8760389055210745983</guid><pubDate>Tue, 18 Feb 2014 17:56:00 +0000</pubDate><atom:updated>2014-06-21T19:11:55.669+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">sosyal</category><title>T. İş Bankası Sms Gönderimi İptali</title><description>&lt;a href="https://www.isbank.com.tr/internet/yardim/yardimyenisite/Yardim.aspx" target="_blank"&gt;https://www.isbank.com.tr/internet/yardim/yardimyenisite/Yardim.aspx&lt;/a&gt; girilir. Aşağıda "Bir sorunum/itirazım var" işaretlenir. İletişim bilgileriniz girilir ve&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;"İletmek istediğiniz mesajınız:" kısmına "Bankanıza ait fırsat, tanıtım vb. gibi konularda kesinlikle SMS almak istemiyorum." yazılır. Ortalama 2 gün içinde aşağıdaki gibi geri döneceklerdir. &lt;br /&gt;
&lt;br /&gt;
"T. İş Bankası kampanya duyurularının sms olarak gönderimi talebiniz üzerine engellendi.&lt;br /&gt;
&lt;br /&gt;
Bugüne dek bildirimlerimize vakit ayırdığınız için teşekkür ederiz.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Saygılarımızla,&lt;br /&gt;
&lt;br /&gt;
TÜRKİYE İŞ BANKASI A.Ş.&lt;br /&gt;
Müşteri İlişkileri Birimi "</description><link>http://basarancaner.blogspot.com/2014/02/t-is-bankas-sms-gonderimi-iptali.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-2856554772317234601</guid><pubDate>Thu, 17 Oct 2013 12:32:00 +0000</pubDate><atom:updated>2016-01-11T01:05:26.723+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">müzik</category><title>Taş Plak Kumpanyası</title><description>taşındı &lt;a href="https://canerbasaran.github.io/blog/tas-plak-kumpanyasi.html"&gt;tıkla&lt;/a&gt;</description><link>http://basarancaner.blogspot.com/2013/10/tas-plak-kumpanyas.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-1838094618525525270</guid><pubDate>Wed, 09 Oct 2013 21:20:00 +0000</pubDate><atom:updated>2015-07-19T19:48:19.478+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">fotoğraf-grafik</category><title>Olgun Kokulu Kitaplar 7. Sahaf Festivalinde</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMdCnqerZxDqv_fCvTCdOXvzAKAJEaYi-e2YwE7_znVlLSiLhC_5l4xy87_LPfPNDhv1FEesXWY8VvfVwLXrlwcC6RSQazPzski0B0HT6pF6eHP2EOh9zEAztS74DhsgaYUg-BE5wydmQ/s1600/DSC_1589.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMdCnqerZxDqv_fCvTCdOXvzAKAJEaYi-e2YwE7_znVlLSiLhC_5l4xy87_LPfPNDhv1FEesXWY8VvfVwLXrlwcC6RSQazPzski0B0HT6pF6eHP2EOh9zEAztS74DhsgaYUg-BE5wydmQ/s1600/DSC_1589.JPG" width="400" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
30 Eylül - 19 Ekim 2013 11:00 - 22:00 Tepebaşı (TRT yanı, Pera Müzesi dibi :)&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Çayınızı, çorbanızı için, kitap severler ile sohbet edin. Sahaflar ile tanışın. Hiçbir yerde bulamadığınız kitaplara ulaşın.&lt;/div&gt;
&lt;br /&gt;</description><link>http://basarancaner.blogspot.com/2013/10/olgun-kokulu-kitaplar-7-sahaf.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMdCnqerZxDqv_fCvTCdOXvzAKAJEaYi-e2YwE7_znVlLSiLhC_5l4xy87_LPfPNDhv1FEesXWY8VvfVwLXrlwcC6RSQazPzski0B0HT6pF6eHP2EOh9zEAztS74DhsgaYUg-BE5wydmQ/s72-c/DSC_1589.JPG" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-8145593238434272563</guid><pubDate>Mon, 29 Jul 2013 22:34:00 +0000</pubDate><atom:updated>2015-07-19T19:48:41.670+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">fotoğraf-grafik</category><title>Fotoğraf Kurs Belgesi</title><description>&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV3fDU9Qw7gdcLnHZvdnpjn375nzbki008CkXhxSymD5-4WgUF6WWgWzwQEulOmy35jLZ-elN2SlZ_m_s1ZOVJCS3ToCQHDunXnb_-bo5jWYxr8DY_YEt-9Fq3YUmXTqYT_ailWA1tkKE/s1600/foto_kurs_belge.png" imageanchor="1"&gt;&lt;img border="0" height="280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV3fDU9Qw7gdcLnHZvdnpjn375nzbki008CkXhxSymD5-4WgUF6WWgWzwQEulOmy35jLZ-elN2SlZ_m_s1ZOVJCS3ToCQHDunXnb_-bo5jWYxr8DY_YEt-9Fq3YUmXTqYT_ailWA1tkKE/s1600/foto_kurs_belge.png" width="400" /&gt;&amp;nbsp;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Bir derneğin kursu için hazırladığım bir belge (sertifika).&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;Belki birisinin işine yarar. Film karesi &lt;a href="http://openclipart.org/detail/20354/film-strip-by-rg1024-20354" target="_blank"&gt;burdan&lt;/a&gt; kullanıldı. &lt;a href="http://inkscape.org/" target="_blank"&gt;Inkscape&lt;/a&gt; (özgür vektörel çizim yazılımı) ile rahatlıkla istediğiniz değişikleri&amp;nbsp; yapabilirsiniz. Telif: &lt;a href="http://tr.wikipedia.org/wiki/Kamu_mal%C4%B1" target="_blank"&gt;Kamu Malı&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://openclipart.org/people/basaran.caner/foto_kurs_belge.svg" target="_blank"&gt;İndir&lt;/a&gt; (sağ tıkla farklı kaydet)</description><link>http://basarancaner.blogspot.com/2013/07/fotograf-kurs-belgesi.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiV3fDU9Qw7gdcLnHZvdnpjn375nzbki008CkXhxSymD5-4WgUF6WWgWzwQEulOmy35jLZ-elN2SlZ_m_s1ZOVJCS3ToCQHDunXnb_-bo5jWYxr8DY_YEt-9Fq3YUmXTqYT_ailWA1tkKE/s72-c/foto_kurs_belge.png" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-8364857831611056267</guid><pubDate>Wed, 24 Jul 2013 22:30:00 +0000</pubDate><atom:updated>2016-02-24T01:54:57.011+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">sosyal</category><title>Doğa için ufak kendimde yaptığım değişiklikler - 1</title><description>taşındı &lt;a href="https://canerbasaran.github.io/blog/surdurulebilir-yasam-icin-yaptigim-degisiklikler.html"&gt;tıkla&lt;/a&gt;</description><link>http://basarancaner.blogspot.com/2013/07/doga-icin-ufak-kendimde-yaptgm.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-3144236555378900882</guid><pubDate>Sat, 06 Jul 2013 13:23:00 +0000</pubDate><atom:updated>2015-07-19T19:49:05.956+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">yazılım</category><title>Tor üzerinde istemediğiniz ülkelerin çıkış düğümlerini yasaklama</title><description>Prism programı başlaması ile ABD, &lt;a href="https://www.torproject.org/" target="_blank"&gt;TOR&lt;/a&gt; çıkış düğümlerinin (exit-node) ağ trafiğini kaydettiği söylentisi ortaya çıktı. &lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;Tor Browser Bundle klasörünün içinde Data -&amp;gt; Tor -&amp;gt; torrc dosyasının sonuna şu iki satırı ekleyin ve değişiklikleri kaydedin. Ayarların geçerli olması için kapatıp açın.&lt;br /&gt;
&lt;br /&gt;
ExcludeNodes {us}, {au}, {de}, {ca}, {at}, {il}, {nz}, {cn}, {hk}, {in}, {it}, {fr}, {tr}, {gb}&lt;br /&gt;
Böylece ABD, vb. ülkelerin düğümlerine bağlantı yapılmaz. </description><link>http://basarancaner.blogspot.com/2013/07/tor-uzerinde-istemediginiz-ulkelerin.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-6618037140415179236</guid><pubDate>Sat, 12 Jan 2013 22:34:00 +0000</pubDate><atom:updated>2016-01-07T05:03:11.173+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">fotoğraf-grafik</category><title>Fyre, kaotik fonksiyonlarla sanat üretimi</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;/div&gt;
&lt;a href="https://canerbasaran.github.io/grafik.html"&gt;https://canerbasaran.github.io/grafik.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://basarancaner.blogspot.com/2013/01/fyre-kaotik-fonksiyonlarla-sanat-uretimi.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-4933416044267584907</guid><pubDate>Sun, 09 Dec 2012 17:26:00 +0000</pubDate><atom:updated>2014-06-21T19:20:45.491+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">yazılım</category><title>Yazılımcı kafasıyla birşey seçmek</title><description>Seçmek artık zor geliyor. Rasgele seçmek için algoritma yardıma koşuyor :) iyi ki varsın.&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Örneğin yemek yiyeceğim, mönü önüme koyulunca yine sıkılıyorum. Eğer dışarda isem; caddeden geçen otomobillerin plakaları, dükkan tabelaları v.b. , içerde ve tek başıma değilsem; rasgele bir sayı söylemelerini (random.randint) istiyorum. Mönüdeki yemek sayısı ile modluyorum (%)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://basarancaner.blogspot.com/2012/12/yazlmc-kafasyla-birsey-secmek.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-4959091806208669439</guid><pubDate>Fri, 09 Dec 2011 16:32:00 +0000</pubDate><atom:updated>2014-06-21T19:02:58.012+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">yazılım</category><title>Bottle minicik python web anaçatısı</title><description>&lt;a href="http://bottlepy.org/" target="_blank"&gt;Bottle&lt;/a&gt; hafif, basit, hızlı ve küçücük bir python web anaçatısı. Python(standart kütüphane) dışında bir bağımlılığı yok. Sadece bir dosyadan oluşmakta (&lt;a href="https://raw.github.com/defnull/bottle/master/bottle.py" target="_blank"&gt;yaklaşık 100kb&lt;/a&gt;)&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
Merak edenler sitesine girer bakar :) sadece ağız sulandırma görevimizi yapalım.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;
from bottle import route, run&lt;br /&gt;
&lt;br /&gt;
@route('/')&lt;br /&gt;
@route('/:isim')&lt;br /&gt;
def index(isim='osman'):&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return '&lt;b&gt;Merhaba %s!&lt;/b&gt;' % isim&lt;br /&gt;
&lt;br /&gt;
run(host='localhost', port=8080)&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;çıktı:&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
http://localhost:8080/&amp;nbsp; &lt;i&gt;girildiğinde&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Merhaba osman! &lt;/b&gt;&lt;i&gt;göreceksiniz&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
http://localhost:8080/Caner&amp;nbsp; &lt;i&gt;girildiğinde&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Merhaba Caner!&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ayrıca: &lt;br /&gt;
Ağ bağlantısından paylaşılan bir tane dosyayı kopyalamak, bazen sizi çileden çıkarmış olabilir. Tabi ufak bi ftp ya da başka bir çözümde olabilir.&lt;br /&gt;
&lt;br /&gt;
Neyse sadede gelelim. Forkladığım basit bir web uygulaması var. &lt;a href="https://github.com/CanerBasaran/dirShare" target="_blank"&gt;dirShare&lt;/a&gt;&lt;br /&gt;
python /verbabaistediğindizini&amp;nbsp; işlem tamam. http://ArkadaşınIPsi:8080 ulaş dosyalara :)</description><link>http://basarancaner.blogspot.com/2011/12/bottle-hafif-basit-hzl-ve-kucucuk-bir.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-2240167757493060526</guid><pubDate>Thu, 20 Oct 2011 23:03:00 +0000</pubDate><atom:updated>2014-06-21T19:03:20.880+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">yazılım</category><title>Consistent hashing</title><description>Consistent hashing, özel bir hashing türüdür. Bu yöntem, slot ekleme veya çıkarma durumunda, diğer slotların key mapping lerini önemli ölçüde değişmemesini sağlar. Buna rağmen geleneksel hash table, dizi içerisindeki bir tek değerin değişmesi ile tüm key lerin remapping yapılması gerekir.&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
Consistent hashing, ortalama olarak K/n kadar remapping gerekir. (K-&amp;gt;Key sayısı, n-&amp;gt;Slot sayısı) İnternet kullanımının artması ile gün geçtikçe önem derecesi artmaktadır.&lt;br /&gt;
&lt;br /&gt;
David Karger tarafından MIT de kullanmak için tasarlandı.[1]&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk1UXNiNoqrl95_s3NniqReyEkYn-nVRxJJQSoFg11yBCbshTlgus64eWQNNdgG_hSJQFJ-qOxK8Pvxy_D78bY_mL9wTuNWrixKe5UHGvLkWhorD-Il-sGpefB3Ft6fK7y7ElZ1YiMPlqL/s400/consistent_hashing_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk1UXNiNoqrl95_s3NniqReyEkYn-nVRxJJQSoFg11yBCbshTlgus64eWQNNdgG_hSJQFJ-qOxK8Pvxy_D78bY_mL9wTuNWrixKe5UHGvLkWhorD-Il-sGpefB3Ft6fK7y7ElZ1YiMPlqL/s400/consistent_hashing_1.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Resimdeki çember üzerindeki mavi noktalar(1,2,3,4) nesneler, kırmızı noktalar önbelleklerdir.&lt;br /&gt;
&lt;br /&gt;
Çember üzerinde, saat yönünde&amp;nbsp; dönerek hangi nesnenin hangi önbelleğe denk geldiğini bulabiliriz.&lt;br /&gt;
1. ve 4. nesneler A önbelleği, 2. nesne B önbelleği, 3. nesne C önbelleğindedir.&lt;br /&gt;
Eğer C önbelleği kaldırılırsa, 3. nesne A önbelleğinde yer alır ve diğer tüm nesnelerin mapping i değişmez.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2w7fc2KEeCYgAb7HNWIeO5XjjOA8WkK6Lv_QISQ7SudcgoAUgvkNG_u_hcQMNqW2odCmJRzKbXbk_29RHrGNym6I5QevOXOV-oB5tWTlNAS_OfwksWM_HI-JzJypAkx4rqGLwQOLKyCwz/s400/consistent_hashing_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2w7fc2KEeCYgAb7HNWIeO5XjjOA8WkK6Lv_QISQ7SudcgoAUgvkNG_u_hcQMNqW2odCmJRzKbXbk_29RHrGNym6I5QevOXOV-oB5tWTlNAS_OfwksWM_HI-JzJypAkx4rqGLwQOLKyCwz/s400/consistent_hashing_2.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Eğer D önbelleği eklenirse, 3. ve 4. nesneler D önbelleğinde, 1. nesne A önbelleğinde. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consistent hashing basit bir python implementasyonu&lt;br /&gt;
&lt;br /&gt;
import md5&lt;br /&gt;
&lt;br /&gt;
class HashRing(object):&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; def __init__(self, nodes=None, replicas=3):&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.replicas = replicas&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.ring = dict()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; self._sorted_keys = []&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if nodes:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for node in nodes:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.add_node(node)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; def add_node(self, node):&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for i in xrange(0, self.replicas):&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; key = self.gen_key('%s:%s' % (node, i))&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.ring[key] = node&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; self._sorted_keys.append(key)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; self._sorted_keys.sort()&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; def remove_node(self, node):&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for i in xrange(0, self.replicas):&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; key = self.gen_key('%s:%s' % (node, i))&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; del self.ring[key]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; self._sorted_keys.remove(key)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; def get_node(self, string_key):&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return self.get_node_pos(string_key)[0]&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; def get_node_pos(self, string_key):&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if not self.ring:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return None, None&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; key = self.gen_key(string_key)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nodes = self._sorted_keys&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for i in xrange(0, len(nodes)):&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; node = nodes[i]&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if key &amp;lt;= node:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return self.ring[node], i&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return self.ring[nodes[0]], 0&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; def get_nodes(self, string_key):&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if not self.ring:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; yield None, None&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; node, pos = self.get_node_pos(string_key)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for key in self._sorted_keys[pos:]:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; yield self.ring[key]&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while True:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for key in self._sorted_keys:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; yield self.ring[key]&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; def gen_key(self, key):&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m = md5.new()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; m.update(key)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return long(m.hexdigest(), 16)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kullanımı&lt;br /&gt;
&lt;br /&gt;
import HashRing&lt;br /&gt;
&lt;br /&gt;
memcache_servers = ['192.168.0.246:11212',&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '192.168.0.247:11212',&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '192.168.0.249:11212']&lt;br /&gt;
ring = HashRing(memcache_servers)&lt;br /&gt;
server = ring.get_node('my_key')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[1]http://www.akamai.com/dl/technical_publications/ConsistenHashingandRandomTreesDistributedCachingprotocolsforrelievingHotSpotsontheworldwideweb.pdf&lt;br /&gt;
http://en.wikipedia.org/wiki/Consistent_hashing&lt;br /&gt;
http://www.lexemetech.com/2007/11/consistent-hashing.html&lt;br /&gt;
http://amix.dk/blog/post/19367</description><link>http://basarancaner.blogspot.com/2011/10/consistent-hashing.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgk1UXNiNoqrl95_s3NniqReyEkYn-nVRxJJQSoFg11yBCbshTlgus64eWQNNdgG_hSJQFJ-qOxK8Pvxy_D78bY_mL9wTuNWrixKe5UHGvLkWhorD-Il-sGpefB3Ft6fK7y7ElZ1YiMPlqL/s72-c/consistent_hashing_1.png" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-4798443282881112868</guid><pubDate>Thu, 20 Oct 2011 13:51:00 +0000</pubDate><atom:updated>2014-06-21T19:03:44.915+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">yazılım</category><title>UTF-8</title><description>&lt;b&gt;Nedir?&lt;/b&gt;&lt;br /&gt;
UTF-8 8-bitlik bir Unicode* dönüşüm biçimidir. 0-127 arası ASCII* harici karakterler, 1-6 byte uzunluğunda diziler olarak kodlanır. Bu da ek olarak veri sığa kullanımı demektir.&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
UTF-8, unicode karakter setlerinin en geçerli olanı. Dünyadaki bütün alfabelerin bütün karakterlerine bu sette yer alır. 
Karakter seti karışıklığına yol açmadan, hepsini bir arada kullanmayı 
mümkün kılar.&lt;br /&gt;
&lt;br /&gt;
Joseph Becker’in 29 Ağustos 1988 tarihinde yazdığı &lt;i&gt;Unicode 88&lt;/i&gt; 
başlıklı makale, unicode hakkındaki ilk taslak metin olması bakımından 
önem taşır. Becker bu makalede neden unicode gibi bir sisteme ihtiyaç 
duyulduğunu, ascii’nin İngilizce dışındaki dillere ait karakterleri 
göstermekteki yetersizliğini ve herkesin ihtiyacına cevap verebilecek 
bir sistemin nasıl ortaya çıkarılabileceğini anlatır. Bu makaleye &lt;a class="reference external" href="http://unicode.org/history/unicode88.pdf"&gt;http://unicode.org/history/unicode88.pdf&lt;/a&gt; adresinden ulaşabilirsiniz.&lt;br /&gt;
&lt;br /&gt;
Unicode 2.0’dan itibaren 16-bit sınırlaması kaldırılmıştır.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; a = unicode("&lt;cite&gt;Kâğıt", "utf-8")&amp;nbsp;&amp;nbsp; # yada a = u&lt;/cite&gt;"&lt;cite&gt;Kâğıt"&lt;/cite&gt; &lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; b = "&lt;cite&gt;Kâğıt"&lt;/cite&gt;&lt;br /&gt;
&lt;cite&gt;&amp;gt;&amp;gt;&amp;gt; &lt;/cite&gt;&lt;br /&gt;
&lt;cite&gt;&amp;gt;&amp;gt;&amp;gt; a&lt;/cite&gt;&lt;br /&gt;
&lt;cite&gt;&lt;/cite&gt;&lt;cite&gt;u'K\xe2\u011f\u0131t'&lt;/cite&gt;&lt;br /&gt;
&lt;cite&gt;&amp;gt;&amp;gt;&amp;gt; len(a)&lt;/cite&gt;&lt;br /&gt;
&lt;cite&gt;5&lt;/cite&gt;&lt;br /&gt;
&lt;cite&gt;&amp;gt;&amp;gt;&amp;gt; type(a)&lt;/cite&gt;&lt;br /&gt;
&lt;cite&gt;type 'unicode'&lt;/cite&gt;&lt;br /&gt;
&lt;cite&gt;&amp;gt;&amp;gt;&amp;gt; b&lt;/cite&gt;&lt;br /&gt;
&lt;cite&gt;'K\xc3\xa2\xc4\x9f\xc4\xb1t'&lt;/cite&gt;&lt;cite&gt;&lt;br /&gt;&lt;/cite&gt;&lt;br /&gt;
&lt;cite&gt;&amp;gt;&amp;gt;&amp;gt; len(b)&lt;/cite&gt;&lt;br /&gt;
&lt;cite&gt;8&lt;/cite&gt;&lt;br /&gt;
&lt;cite&gt;&amp;gt;&amp;gt;&amp;gt; type(b)&lt;/cite&gt;&lt;br /&gt;
&lt;cite&gt;type 'str'&lt;/cite&gt;&lt;br /&gt;
&lt;cite&gt;&lt;br /&gt;&lt;/cite&gt;
&lt;br /&gt;
&lt;b&gt;Yorum&lt;/b&gt;&lt;br /&gt;
Yüzyıllardır süren asimilasyon dünyadaki birçok dili yok etmiştir. Bu şekilde devam ederse, gelecekte ASCII bize yetebilecektir :( Çok dilli, çok renkli dünyalar dileği ile...&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: xx-small;"&gt;*unicode” ise Türkçe’ye özgü harflerle birlikte dünya üzerindeki pek çok
 dile ait harfleri de tanıyabilen karakter kodlama biçimlerini içeren, 
gelişmiş bir sistemdir.&lt;/span&gt; &lt;br /&gt;
&lt;span style="font-size: xx-small;"&gt;*“ascii”, Türkçe’ye özgü “ş”, “ç”, “ö”, “ğ”, “ü” ve “ı” gibi harfleri tanımayan bir karakter kodlama biçimidir. 7-bitlik bir karakter kümesidir.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: xx-small;"&gt;http://www.evanjones.ca/python-utf8.html&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: xx-small;"&gt;http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: xx-small;"&gt;http://tr.wikipedia.org/wiki/UTF-8&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: xx-small;"&gt;http://opereysin.com/edebi-hezeyanlar/825-utf-8-ve-kizilderili-asimilasyonu/&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: xx-small;"&gt;http://www.istihza.com/py2/unicode.html&amp;nbsp;&lt;/span&gt;</description><link>http://basarancaner.blogspot.com/2011/10/utf-8.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author><enclosure length="2919113" type="application/pdf" url="http://unicode.org/history/unicode88.pdf"/><itunes:explicit/><itunes:subtitle>Nedir? UTF-8 8-bitlik bir Unicode* dönüşüm biçimidir. 0-127 arası ASCII* harici karakterler, 1-6 byte uzunluğunda diziler olarak kodlanır. Bu da ek olarak veri sığa kullanımı demektir. UTF-8, unicode karakter setlerinin en geçerli olanı. Dünyadaki bütün alfabelerin bütün karakterlerine bu sette yer alır. Karakter seti karışıklığına yol açmadan, hepsini bir arada kullanmayı mümkün kılar. Joseph Becker’in 29 Ağustos 1988 tarihinde yazdığı Unicode 88 başlıklı makale, unicode hakkındaki ilk taslak metin olması bakımından önem taşır. Becker bu makalede neden unicode gibi bir sisteme ihtiyaç duyulduğunu, ascii’nin İngilizce dışındaki dillere ait karakterleri göstermekteki yetersizliğini ve herkesin ihtiyacına cevap verebilecek bir sistemin nasıl ortaya çıkarılabileceğini anlatır. Bu makaleye http://unicode.org/history/unicode88.pdf adresinden ulaşabilirsiniz. Unicode 2.0’dan itibaren 16-bit sınırlaması kaldırılmıştır. &amp;gt;&amp;gt;&amp;gt; a = unicode("Kâğıt", "utf-8")&amp;nbsp;&amp;nbsp; # yada a = u"Kâğıt" &amp;gt;&amp;gt;&amp;gt; b = "Kâğıt" &amp;gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; a u'K\xe2\u011f\u0131t' &amp;gt;&amp;gt;&amp;gt; len(a) 5 &amp;gt;&amp;gt;&amp;gt; type(a) type 'unicode' &amp;gt;&amp;gt;&amp;gt; b 'K\xc3\xa2\xc4\x9f\xc4\xb1t' &amp;gt;&amp;gt;&amp;gt; len(b) 8 &amp;gt;&amp;gt;&amp;gt; type(b) type 'str' Yorum Yüzyıllardır süren asimilasyon dünyadaki birçok dili yok etmiştir. Bu şekilde devam ederse, gelecekte ASCII bize yetebilecektir :( Çok dilli, çok renkli dünyalar dileği ile... *unicode” ise Türkçe’ye özgü harflerle birlikte dünya üzerindeki pek çok dile ait harfleri de tanıyabilen karakter kodlama biçimlerini içeren, gelişmiş bir sistemdir. *“ascii”, Türkçe’ye özgü “ş”, “ç”, “ö”, “ğ”, “ü” ve “ı” gibi harfleri tanımayan bir karakter kodlama biçimidir. 7-bitlik bir karakter kümesidir. http://www.evanjones.ca/python-utf8.html http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 http://tr.wikipedia.org/wiki/UTF-8 http://opereysin.com/edebi-hezeyanlar/825-utf-8-ve-kizilderili-asimilasyonu/ http://www.istihza.com/py2/unicode.html&amp;nbsp;</itunes:subtitle><itunes:author>noreply@blogger.com (Caner BAŞARAN)</itunes:author><itunes:summary>Nedir? UTF-8 8-bitlik bir Unicode* dönüşüm biçimidir. 0-127 arası ASCII* harici karakterler, 1-6 byte uzunluğunda diziler olarak kodlanır. Bu da ek olarak veri sığa kullanımı demektir. UTF-8, unicode karakter setlerinin en geçerli olanı. Dünyadaki bütün alfabelerin bütün karakterlerine bu sette yer alır. Karakter seti karışıklığına yol açmadan, hepsini bir arada kullanmayı mümkün kılar. Joseph Becker’in 29 Ağustos 1988 tarihinde yazdığı Unicode 88 başlıklı makale, unicode hakkındaki ilk taslak metin olması bakımından önem taşır. Becker bu makalede neden unicode gibi bir sisteme ihtiyaç duyulduğunu, ascii’nin İngilizce dışındaki dillere ait karakterleri göstermekteki yetersizliğini ve herkesin ihtiyacına cevap verebilecek bir sistemin nasıl ortaya çıkarılabileceğini anlatır. Bu makaleye http://unicode.org/history/unicode88.pdf adresinden ulaşabilirsiniz. Unicode 2.0’dan itibaren 16-bit sınırlaması kaldırılmıştır. &amp;gt;&amp;gt;&amp;gt; a = unicode("Kâğıt", "utf-8")&amp;nbsp;&amp;nbsp; # yada a = u"Kâğıt" &amp;gt;&amp;gt;&amp;gt; b = "Kâğıt" &amp;gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt;&amp;gt; a u'K\xe2\u011f\u0131t' &amp;gt;&amp;gt;&amp;gt; len(a) 5 &amp;gt;&amp;gt;&amp;gt; type(a) type 'unicode' &amp;gt;&amp;gt;&amp;gt; b 'K\xc3\xa2\xc4\x9f\xc4\xb1t' &amp;gt;&amp;gt;&amp;gt; len(b) 8 &amp;gt;&amp;gt;&amp;gt; type(b) type 'str' Yorum Yüzyıllardır süren asimilasyon dünyadaki birçok dili yok etmiştir. Bu şekilde devam ederse, gelecekte ASCII bize yetebilecektir :( Çok dilli, çok renkli dünyalar dileği ile... *unicode” ise Türkçe’ye özgü harflerle birlikte dünya üzerindeki pek çok dile ait harfleri de tanıyabilen karakter kodlama biçimlerini içeren, gelişmiş bir sistemdir. *“ascii”, Türkçe’ye özgü “ş”, “ç”, “ö”, “ğ”, “ü” ve “ı” gibi harfleri tanımayan bir karakter kodlama biçimidir. 7-bitlik bir karakter kümesidir. http://www.evanjones.ca/python-utf8.html http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 http://tr.wikipedia.org/wiki/UTF-8 http://opereysin.com/edebi-hezeyanlar/825-utf-8-ve-kizilderili-asimilasyonu/ http://www.istihza.com/py2/unicode.html&amp;nbsp;</itunes:summary><itunes:keywords>yazılım</itunes:keywords></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-5637599115445491974</guid><pubDate>Thu, 20 Oct 2011 11:48:00 +0000</pubDate><atom:updated>2015-11-26T22:34:38.146+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">yazılım</category><title>MapReduce</title><description>&lt;b&gt;MapReduce nedir?&lt;/b&gt;&lt;br /&gt;
Büyük veri setleri ile yapılacak işlemlerin birden fazla iş birimine dağıtılmasını (Distributed computing)
 sağlayan bir yöntemdir. Her ne kadar Google ile bu yöntem ismi eşlense de, 1960'lı yılların tasarım kalıbıdır(design pattern). &lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCX55Xkh8mCofmBS2O1wIZlw1MKicx8u5wKeOHlHyqf3oYczeNj0chJNk27eP2I2x6II_Mz-eg0xCKIsnxAxBsGtvFJKeJyHna44PWP8GjiC71MSWCnAOSFhypHSATv3u1lbtJqDpLOD8/s1600/map-reduce.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="402" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCX55Xkh8mCofmBS2O1wIZlw1MKicx8u5wKeOHlHyqf3oYczeNj0chJNk27eP2I2x6II_Mz-eg0xCKIsnxAxBsGtvFJKeJyHna44PWP8GjiC71MSWCnAOSFhypHSATv3u1lbtJqDpLOD8/s640/map-reduce.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
 &lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Genel İşleyiş&lt;/b&gt;&lt;br /&gt;
1. Öncelikle input partitioning yöntemiyle alınan veriler, 16-64 mb büyüklügünde parçalara ayrılır.&lt;br /&gt;
2. Bu parçaların her biri master a gönderilir.&lt;br /&gt;
3. Master aldığı verileri mapper lara ya da reducer lara göndermekle yükümlüdür.&lt;br /&gt;
4. Mapperler input olarak key,value alırlar ve output larını key, 
intermediate value şeklinde intermediate alana gönderirler. Böylece aynı
 key e sahip veriler gruplanmış olur.&lt;br /&gt;
5. Master intermediate alandaki verileri boş olan reducer lara gönderir.&lt;br /&gt;
6. Reducer lar intermediate key, value şeklinde aldıkları input u, key, list(values) şeklinde output dosyalarına yazar.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Artıları&lt;/b&gt; &lt;br /&gt;
&lt;i&gt;Performans&lt;/i&gt; - doğrusal(linear) problemlerde&lt;br /&gt;
&lt;i&gt;Hata toleransı&lt;/i&gt; - hata veya arıza oluştuğunda, iş parçacığını diğer birimlere aktarabilme&lt;br /&gt;
&lt;i&gt;Maliyet&lt;/i&gt; - zaman olarak fırsat maliyeti&lt;br /&gt;
&lt;i&gt;Sahiplik - &lt;/i&gt;Amazon'un&lt;i&gt; &lt;/i&gt;EC2 (dağııtmlı işlemci) ve S3 (dağıtımlı depolama)&lt;i&gt; &lt;/i&gt;gibi kiralanabilir clould servisler&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Yorum&lt;/b&gt;&lt;br /&gt;
Mapper ve reducer ların problemlerini master tolere ediyor. Fakat master de oluşabilecek fiziksel problemleri tolere edebilecek ek bir yedek master ın sistem kararlığını daha iyileyeceğini düşünüyorum. - felaket tellalı :)&lt;br /&gt;
&lt;br /&gt;
Hadoop - &lt;a href="http://hadoop.apache.org/"&gt;http://hadoop.apache.org/&lt;/a&gt;&lt;br /&gt;
OctoPy - &lt;a href="http://code.google.com/p/octopy"&gt;http://code.google.com/p/octopy &lt;/a&gt;&lt;br /&gt;
Disco - &lt;a href="http://discoproject.org/"&gt;http://discoproject.org/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Amazon'un hadoop çiftliklerinden işlem gücü satın alarak amazon s3'te yer alan veri yığınında mapreduce algoritmaları çalıştırabilirsiniz. &lt;a href="http://aws.amazon.com/elasticmapreduce/%20"&gt;http://aws.amazon.com/elasticmapreduce/ &lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Python ile de Amazon Elastic MapReduce'ın kullanımı &lt;a href="http://aws.amazon.com/articles/2294"&gt;http://aws.amazon.com/articles/2294&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: xx-small;"&gt;http://code.google.com/intl/tr-TR/edu/parallel/mapreduce-tutorial.html&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: xx-small;"&gt;http://labs.google.com/papers/mapreduce-osdi04-slides/index.html &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: xx-small;"&gt;http://www.serdarb.com/nosql/map-reduce-nedir&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: xx-small;"&gt;http://cookingthecode.com/a44_Mapreduce-nedir,-nasil-calisir_&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: xx-small;"&gt;http://www.eksisozluk.com/show.asp?t=mapreduce&lt;/span&gt;&lt;span style="font-size: xx-small;"&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: xx-small;"&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: xx-small;"&gt; &lt;/span&gt;</description><link>http://basarancaner.blogspot.com/2011/10/mapreduce.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCX55Xkh8mCofmBS2O1wIZlw1MKicx8u5wKeOHlHyqf3oYczeNj0chJNk27eP2I2x6II_Mz-eg0xCKIsnxAxBsGtvFJKeJyHna44PWP8GjiC71MSWCnAOSFhypHSATv3u1lbtJqDpLOD8/s72-c/map-reduce.png" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-4423930574679372093</guid><pubDate>Fri, 30 Sep 2011 14:47:00 +0000</pubDate><atom:updated>2015-07-19T19:50:53.589+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">fotoğraf-grafik</category><title>Çam fıstığı zamanı</title><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA8I8_Zhw10Y1V1unTcyNWeWceAhhfd78dGu1y3ml6WQr7sUiaEEgxGCOALZ0OJ1h-nQjujsbZ-JNeD9g2QypMrEtESZu74rDb_uSJy9RPlBCtUzmhJHpRnVrnGc_FItqun6Kh1TIzC3A/s1600/cam-fistigi-topladim-canerbasaran.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA8I8_Zhw10Y1V1unTcyNWeWceAhhfd78dGu1y3ml6WQr7sUiaEEgxGCOALZ0OJ1h-nQjujsbZ-JNeD9g2QypMrEtESZu74rDb_uSJy9RPlBCtUzmhJHpRnVrnGc_FItqun6Kh1TIzC3A/s1600/cam-fistigi-topladim-canerbasaran.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Çam fıstığı, besin değeri yüksek fıstık çamının kozalaklarından çıkarılan bir besin. 20 yıldan sonra ancak kozalak yapabiliyor, fıstık çamları.&lt;/div&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Aslında şu küçük tanelerin ne olduklarını bu yaşıma kadar bilmiyordum.&amp;nbsp;Teyzemin teklifi ile çam fıstığı toplamaya gittik. Keyifli, bir o kadar da yorucu idi. Çünkü uzun süre,&amp;nbsp;sürekli eğilip kalmanız, bacaklarınızı yormakta ve biraz da başınız dönmekte. Çam ağaçlarının altında bulunmak, nefesimi açtı. (alerjisi&amp;nbsp;olanlar hariç)&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Çam fıstığı ile yapılan çaya, Bergama/Kozak'ta cilveli çay denilmekteymiş :) Bu çayın lezzeti başka hiçbir çayın lezzetine benzemez, diyorlar.&amp;nbsp;Fıstıkları kabuğundan çıkardıktan sonra deneyeceğim.&amp;nbsp;&lt;/div&gt;
</description><link>http://basarancaner.blogspot.com/2011/09/cam-fstg-zaman.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA8I8_Zhw10Y1V1unTcyNWeWceAhhfd78dGu1y3ml6WQr7sUiaEEgxGCOALZ0OJ1h-nQjujsbZ-JNeD9g2QypMrEtESZu74rDb_uSJy9RPlBCtUzmhJHpRnVrnGc_FItqun6Kh1TIzC3A/s72-c/cam-fistigi-topladim-canerbasaran.JPG" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-5466502183633534885</guid><pubDate>Sat, 07 May 2011 08:03:00 +0000</pubDate><atom:updated>2014-06-21T19:04:56.275+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">yazılım</category><title>UCI to Arff (csvtoarff) UCI makine öğrenmesi veri setlerinin weka arff formatına çevirilmesi</title><description>Veri madenciliği dersinde yapmam gereken uygulamada, csv veri setinin weka arff dönüşümü gerekiyordu. Belki işinize yarar, bir örnek ile anlatıyorum.&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://archive.ics.uci.edu/ml/machine-learning-databases/iris/" target="_blank"&gt;iris&lt;/a&gt; veri setinin bulunduğu sayfadan iris.data indir.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://slavnik.fe.uni-lj.si/markot/csv2arff/csv2arff.php" target="_blank"&gt;csv2arff&lt;/a&gt;&amp;nbsp;web uygulaması ile indirdiğin iris.data yükle.&lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Dönüştürmek istediğin sütunları seç ya da bütün sütunlar seç (check all)&lt;/li&gt;
&lt;li&gt;İlgili sütunların türlerine göre (örnek: 5.1&amp;nbsp;3.5&amp;nbsp;1.4&amp;nbsp;0.2) numeric (sayısal) ya da (örnek: Iris-setosa) nominal (sembolik) olarak seç ve gönder&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
El ile yapacağın saatlerce işlem (veri setinin boyutuna bağlı), bir dakikanı bile almadı :)&lt;/div&gt;
</description><link>http://basarancaner.blogspot.com/2011/05/uci-to-arff-csvtoarff-uci-makine.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-8850310755150986953</guid><pubDate>Sun, 20 Feb 2011 20:19:00 +0000</pubDate><atom:updated>2014-06-21T22:14:08.694+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">sosyal</category><title>Robin Hood Tax - Robin Hood Vergisi</title><description>&lt;a href="http://tr.wikipedia.org/wiki/Anamalc%C4%B1l%C4%B1k" target="_blank"&gt;Anamalcılık&lt;/a&gt;, kan kaybediyor. Mal ve hizmet alanların olmadığı bir anamalcılık sistemi, doğal olarak çöker. Bu çöküşün yavaşlaması ya da durdurulması için en az gelir gruplarında yaşayan, temel ihtiyaçlarını karşılamakta güçlük çekenlere destek olunmalıdır. Robin Hood Vergisi, tüm bankacılık hareketlerine % 0,05'lik bir vergi koymanın fakirliği çözmede çok büyük katkısının olacağı vurguluyor.&lt;br /&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="295" src="http://www.youtube.com/embed/M18_Yi9hVm4?fs=1" width="480"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="295" src="http://www.youtube.com/embed/qYtNwmXKIvM?fs=1" width="480"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="295" src="http://www.youtube.com/embed/c6EuPTFfaVA?fs=1" width="480"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen="" frameborder="0" height="295" src="http://www.youtube.com/embed/Kfvqk-_0d08?fs=1" width="480"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kaynaklar:&lt;br /&gt;
&lt;a href="http://robinhoodtax.org/" target="_blank"&gt;http://robinhoodtax.org/&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.turkishtime.org/tr/content.asp?PID=%7BD2CEAD3F-F69E-4CBC-92FB-228A4C05DC25%7D" target="_blank"&gt;http://www.turkishtime.org/tr/content.asp?PID={D2CEAD3F-F69E-4CBC-92FB-228A4C05DC25}&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.duruk.gen.tr/2010/03/robin-hood-nasreddin-hocaya-kars.html" target="_blank"&gt;http://www.duruk.gen.tr/2010/03/robin-hood-nasreddin-hocaya-kars.html &lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.finansgundem.com/haber/Finansta-bir-cagin-sonu/21882" target="_blank"&gt;http://www.finansgundem.com/haber/Finansta-bir-cagin-sonu/21882&lt;/a&gt;</description><link>http://basarancaner.blogspot.com/2011/02/robin-hood-tax-robin-hood-vergisi.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://img.youtube.com/vi/M18_Yi9hVm4/default.jpg" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-4519306777446763087</guid><pubDate>Thu, 06 Jan 2011 11:39:00 +0000</pubDate><atom:updated>2016-01-08T02:09:13.378+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">yazılım</category><title>Rastgele T.C. kimlik no üretici</title><description>taşındı &lt;a href="https://canerbasaran.github.io/yazilim/rastgele-tc-kimlik-no-uretici.html"&gt;tıkla&lt;/a&gt;</description><link>http://basarancaner.blogspot.com/2011/01/rastgele-tc-kimlik-no-uretici.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-3701051419163448670</guid><pubDate>Thu, 30 Dec 2010 23:57:00 +0000</pubDate><atom:updated>2014-06-21T22:15:08.865+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">müzik</category><title>Grooveshark'dan dinlediklerini Wireshark ile kaydet</title><description>Pardus'unuzda eğer Wireshark yüklü değilse, Uygulama Çalıştırıcı Menüsü &amp;gt; Sistem &amp;gt;Paket Yöneticisi &amp;gt; Wireshark&lt;br /&gt;
ya da kısaca Alt+F2 &amp;gt; Yakuake &amp;gt; sudo pisi it wireshark &lt;br /&gt;
&lt;br /&gt;
1. Wireshark çalıştır, Capture menüsü &amp;gt; Options. Açılan pencerede Interface, internete girdiğiniz ağ kartını seçiniz. Capture Filter, port 80 girin ve Start.&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
2. Wireshark'ın  üst bölümünde Filter 'e, http.content_type == "audio/mpeg" girin ve Apply tuşlayın.&lt;br /&gt;
&lt;br /&gt;
3. Grooveshark'dan artık şarkılarınızı dinlemeye başlayabilirsiniz. Dinlediğiniz şarkı bittikten sonra Wireshark'ta&lt;br /&gt;
&lt;br /&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS_yYhiaTiwbLTWm5dHCLq4yIDegTHUwQKUXios0RG6d2fxWtdAIWSOEylBjXymGFRJ3bgww5wG0kdv3htNlnMp6TG_xZ4-LrDXQ9tKTGht_iSOwS9ohO1nZTEVJL8VFRC_eRtvAcvbHQ/s1600/1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS_yYhiaTiwbLTWm5dHCLq4yIDegTHUwQKUXios0RG6d2fxWtdAIWSOEylBjXymGFRJ3bgww5wG0kdv3htNlnMp6TG_xZ4-LrDXQ9tKTGht_iSOwS9ohO1nZTEVJL8VFRC_eRtvAcvbHQ/s1600/1.jpg" /&gt;&lt;/a&gt; solda gördüğünüz gibi sağ tıklayıp "Follow TCP Stream" tıklıyoruz. Ve son olarak kaydediyoruz.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNFS8qHtdLBSQ2pRDMpSprfHvZV1X1PeSthS-Z3SjfyHAxvt287FgO5z8FYJTPFvq6j-bvT9QOXL9ZUo05LA1SjgSLUYLAOakJXzJ1KNzbSgoS0m6pS24TxwpaHzWedOOpat1pnj-mjQg/s1600/2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNFS8qHtdLBSQ2pRDMpSprfHvZV1X1PeSthS-Z3SjfyHAxvt287FgO5z8FYJTPFvq6j-bvT9QOXL9ZUo05LA1SjgSLUYLAOakJXzJ1KNzbSgoS0m6pS24TxwpaHzWedOOpat1pnj-mjQg/s1600/2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;
</description><link>http://basarancaner.blogspot.com/2010/12/groovesharkdan-dinlediklerini-wireshark.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS_yYhiaTiwbLTWm5dHCLq4yIDegTHUwQKUXios0RG6d2fxWtdAIWSOEylBjXymGFRJ3bgww5wG0kdv3htNlnMp6TG_xZ4-LrDXQ9tKTGht_iSOwS9ohO1nZTEVJL8VFRC_eRtvAcvbHQ/s72-c/1.jpg" width="72"/></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-77401584880949813</guid><pubDate>Tue, 28 Dec 2010 08:30:00 +0000</pubDate><atom:updated>2014-06-21T19:18:10.818+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">yazılım</category><title>Çukurova Üniversitesi tezleri indirme</title><description>Yazılmış tezler içinde rasgele dolaşmak, kurcalamak istiyordum. Çukurova Üniversitesi tezlerini bu dizinde "http://library.cu.edu.tr/tezler/" tutmakta ama dizin listeleme engeli var.&lt;br /&gt;
&lt;blockquote&gt;
import os&lt;br /&gt;
&lt;br /&gt;
for i in range(4861,8197):&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; os.system("wget http://library.cu.edu.tr/tezler/%s.pdf" % i)&lt;/blockquote&gt;
&lt;br /&gt;
5GiB lık arşiv sabit diskimde :) artık dilediğim gibi...</description><link>http://basarancaner.blogspot.com/2010/12/yazlms-tezler-icinde-rasgele-dolasmak.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-1014147198507193255</guid><pubDate>Tue, 21 Dec 2010 14:31:00 +0000</pubDate><atom:updated>2016-01-09T02:57:59.566+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Dr. Deming</category><title>Dr. Deming'in kalite anlayışı</title><description>taşındı &lt;a href="https://canerbasaran.github.io/blog/dr-deming-kalite-anlayisi.html"&gt;tıkla&lt;/a&gt;</description><link>http://basarancaner.blogspot.com/2010/12/dr-demingin-kalite-anlays.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7054041153557986201.post-2259366414364404877</guid><pubDate>Sat, 02 Oct 2010 04:49:00 +0000</pubDate><atom:updated>2016-01-07T05:01:51.121+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">fotoğraf-grafik</category><title>Alchemy ile ilk denemem</title><description>&lt;a href="https://canerbasaran.github.io/grafik.html"&gt;https://canerbasaran.github.io/grafik.html&lt;/a&gt;</description><link>http://basarancaner.blogspot.com/2010/10/alchemy-ile-ilk-denemem.html</link><author>noreply@blogger.com (Caner BAŞARAN)</author></item></channel></rss>