<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4745621070707162458</id><updated>2012-05-20T23:18:20.930-07:00</updated><category term='İlk Satırlar'/><category term='Staj'/><category term='Guncel ve Teknoloji'/><category term='Microsoft'/><category term='Android'/><category term='Iphone'/><category term='Gezegen'/><category term='Geyik ve Ben'/><category term='Linux'/><category term='Wireshark'/><title type='text'>Güngör Basa'nın Web Günlüğü</title><subtitle type='html'>Pardus, Ubuntu, Wireshark, Django</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/-/Gezegen'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/search/label/Gezegen'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/-/Gezegen/-/Gezegen?start-index=26&amp;max-results=25'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-4473716618505395048</id><published>2011-10-01T14:51:00.000-07:00</published><updated>2011-10-02T02:22:50.398-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><title type='text'>HTML5 Speech Input</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;div style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; margin-bottom: 8px; margin-left: 8px; margin-right: 8px; margin-top: 8px;"&gt;&lt;div style="color: black; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px;"&gt;Gecenin bir yarisida olmus olsa bu postu bloga yazmak istedim. Internette ufak tefek arastirmalar yaparken gozume carpan bir ozellikten bahsetmek istiyorum. Su anlik sadece Google Chrome destekliyor bu ozelligi (Eh zaten bu ozelligide Google Speech Api ye borcluyuz:) ama umarim ileride butun browserlar destekleyecek. HTML5 uzerinde hicbir zahmete girmeden ustelikte Turkce olarak speech recognition(konusma tanima) islemi yapabiliyoruz. Bu ozelligin Turkce olmasi inanilmaz derecede hosuma gitti dogrusu:) Neyse cok fazla laf kalabaligi yapmayayimda kodu vereyim:)&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: xx-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: xx-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: xx-small;"&gt;&lt;code&gt;&amp;lt;input type="text" size="60" name="input" x-webkit-speech /&amp;gt;&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: xx-small;"&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="color: black; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px;"&gt;&lt;/div&gt;&lt;div style="color: black; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px;"&gt;Eklemeniz gereken sadece bir satirlik kod:) Denemek istersenizde &lt;a href="http://gungorbasa.blogspot.com/p/html5-speech-input.html"&gt;bu&lt;/a&gt;&amp;nbsp;link emrinize amade:) Linkler duzenlendi arkadaslar:)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-4473716618505395048?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/4473716618505395048/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2011/10/html5-speech-input.html#comment-form' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/4473716618505395048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/4473716618505395048'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2011/10/html5-speech-input.html' title='HTML5 Speech Input'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-2882520771933459754</id><published>2011-05-10T10:03:00.000-07:00</published><updated>2011-05-10T10:15:58.157-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geyik ve Ben'/><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><title type='text'>Backtrack 5</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Ozellikle guvenlik uzmanlarinin ve hackerlarin en cok kullandigi linux tabanli open source isletim sistemi 10 Mayis 2011 de yani bugun cikiyor. Bu da Backtrack 5 icin hazirlanmis olan video. Full Screen izlenmesi tavsiye olunur:)&lt;br /&gt;&lt;br /&gt;&lt;iframe frameborder="0" height="225" src="http://player.vimeo.com/video/23347352?title=0&amp;amp;byline=0&amp;amp;portrait=0&amp;amp;color=ff9933" width="400"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;a href="http://vimeo.com/23347352"&gt;BackTrack 5&amp;nbsp; - Penetration Testing Distribution&lt;/a&gt; from &lt;a href="http://vimeo.com/offsec"&gt;Offensive Security&lt;/a&gt; on &lt;a href="http://vimeo.com/"&gt;Vimeo&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-2882520771933459754?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/2882520771933459754/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2011/05/backtrack-5.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/2882520771933459754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/2882520771933459754'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2011/05/backtrack-5.html' title='Backtrack 5'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-7186385383832028192</id><published>2011-02-09T13:27:00.000-08:00</published><updated>2011-02-09T13:45:37.026-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><category scheme='http://www.blogger.com/atom/ns#' term='Guncel ve Teknoloji'/><title type='text'>Speech Synthesis Algorithms(Konuşma Sentezleme Algoritmaları)</title><content type='html'>Merhaba arkadaşlar, uzun zamandır bloga yazı yazamıyordum ama dönüşüm muhteşem oldu bence:) Bugün sizlerle Text to Speech algoritmalarının nasıl çalıştığından ve eksik, hatalı yönlernden bahsedeceğiz.&amp;nbsp;Yazıyı okurken bazı cümlelerin biraz havada kaldığını düşünebilirsiniz. Örneğin "Kullandığımız Android uygulaması" falan gibi. Proje raporlarım üzerinden alıntı yaptığım için bu vb cümlelerle karşılaşabilirsiniz ama bu cümlelerin konumuzun anlaşılmasını etkilemeyeceğini düşündüğüm için tekrar düzenleme yoluna gitmedim.&amp;nbsp;&amp;nbsp;Daha fazla laf kalabalığı yapmayalım ve konumuza başlayalım...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Konusma Sentezleme(Speech Synthesis)&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Konuşma sentezleyici yazılı(text) bir veriyi alır ve bunun konuşma dilinde çıktısını verir. Ayrıca konuşma sentezleyici literatürde text to speech (TTL) olarakta bilinir.&lt;br /&gt;Yazılı bir metinden konuşma sentezlemenin ana adımları aşağıdaki gibidir&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1)Yapı Analizi(Structure Analysis):&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Yazılı metni işler ve paragrafların nerede başladığına, cümlelerin nerede başlayıp nerede bittiğine karar verir. Bir çok dilde noktalama işaretleri ve tarih formatları bu adımda kullanılır.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2)Metin Önişleme(Text pre-processing):&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;Dilin özel yapısına karşı girdi metni analiz edilir. İngilizce ‘de kısaltmalar, akronimler, tarihler, zamanlar, numaralar, para miktarları, e-mail adresleri ve diğer birçok veri türü için özel bir işleyiş gereklidir. Diğer diller de bu tür veriler için özel bir işleyişe ihtiyaç duyarlar ve birçok dil farklı özel gereksinimlere ihtiyaç duyar.&lt;br /&gt;&lt;br /&gt;İlk 2 adım sonrasında yazılı metni konuşma formatına çevirir. Aşağıdaki örnekler yazılı metin konuşma formatı arasındaki ilişkiyi gösterir.&lt;br /&gt;&lt;br /&gt;St. Mathews hospital is on Main St.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;“Saint Mathews hospital is on Main Street”&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Add $20 to account 55374.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;”Add twenty dollars to account five five, three seven four.”&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Leave at 5:30 on 5/15/99&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;“Leave at five thirty on May fifteenth nineteen ninety nine.”&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Diğer adımlar yukarıdaki çıktıları konuşmaya çevirmek içindir.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3)Yazılı Metinden Ses Birimine Çevirme(Text-to-phoneme conversion):&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Her bir kelimeyi ses birimlerine çevirir. Ses birimi(hece-phoneme) bir dildeki seslerin en basit birimidir. Amerikan İngilizcesinde yaklaşık 45 adet ünlü ünsüz dahil ses birimi bulunur. Örneğin, “times” sözcüğü 4 adet ses biriminden yararlanılarak seslendirilir(t ay m s). Farklı diller de farklı ses birimleri vardır.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4)Vezin (Ölçü) Analizi(Prosody Analysis):&lt;/strong&gt;&lt;br /&gt;Cümle yapısı süreci, kelime ve sesleri cümle için uygun vezni(aruz) bulmak için kullanılır. Vezin kelimeyi söylerken ağızdan çıkan seslerden ayrı olarak daha fazla konuşma özelliği içerir. Bunlar; ses perdesi(pitch or melody), zamanlama(timing or rhythm), duraksama(pausing), konuşma oranı(speaking rate), kelimeler üzerindeki vurgu ve diğer bir çok özellik. Doğru vezin doğru konuşma seslerini bulmak için ve doğru anlamı verebilmek için önemlidir.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5)Dalga Üretimi(Waveform Production):&lt;/strong&gt;&lt;br /&gt;Son olarak, fonem ve vezin bilgisi her bir cümle için ses dalgası üretmek için kullanılır. Fonem ve vezin bilgisinden ses dalgası üretmenin birçok yolu vardır. En güncel sistemler bunu iki yolla yaparlar. Bunlardan biri kayıtlı insan sesi parçalarını birleştirerek diğeriyse sinyal işleme tekniklerini kullanarak yapar.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Konuşma Sentezi Sınırlamaları&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Konuşma sentezleyiciler yukarıdaki adımları uygularken bazı hatalar yapabilirler ve insan kulağı bu hataları yakalamada çok başarılıdır. Geliştiriciler tarafından iyi geliştirilmiş bir konuşma sentezleyici bu tür hataları en aza indirebilir ve konuşma kalitesini artırabilir.&lt;br /&gt;&lt;br /&gt;Android in kullandığı Java konuşma Apisi(Java Speech API) ve java konuşma işaretleme dili (Java Speech Markup Language(JSML)) geliştiricilere konuşma kalitesini artırmak için birçok olanak sunar.&lt;br /&gt;&lt;br /&gt;Java sentez işaretleme dili(Java Synthesis Markup Language) girdi yazısının nasıl işaretleneceğini belirler. Özelliklerinden bazılarından kısaca bahsedelim:&lt;br /&gt;&lt;br /&gt;* Paragrafın ya da cümlenin işaretleme başlangıcını ve bitişini belirleme yeteneği.&lt;br /&gt;&lt;br /&gt;* Herhangi bir kelimenin telaffuzunu belirleme, sözcük veya cümle kısaltma ya da diğer özel, yazı ifade etme yeteneği&lt;br /&gt;&lt;br /&gt;* Vezin geliştirmek için aleni duraksama kontrolü, sınırlama, vurgulama, ses perdesi, konuşma oranı ve yükseklik.&lt;br /&gt;&lt;br /&gt;Bu saydığımız özellikler geliştirici ve kullanıcılara birazdan bahsedeceğimiz aşağıdaki gibi hataların üstesinden gelebilme olanağı verir. Şimdi hata kaynaklarını ve bu hata kaynaklarını nasıl minimize edeceğimizi inceleyelim.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1)Yapı Analizi(Structure Analyses):&lt;/strong&gt;Noktalama ve formatlama kesin olarak bir cümlenin ya da paragrafın nerede başlayıp nerede bittiğini gösteremeyebilir. Örneğin “U.S.A.” kısaltması yanlış çevrilerek bir cümle sonu olarak algılanabilir.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Çözüm:&lt;/strong&gt; JSML de paragraf ve cümlelerin açık biçimde işaretlenmesi bu tür yapısal hataları engelleyebilir.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2)Metin Önişleme(Text pre-processing):&lt;/strong&gt; Sentezleyicinin bütün cümle ve kelime kısaltmalarını bilmesinin ihtimali yoktur. Ayrıca bütün tarih ve zamanları da bilmesinin imkanı yoktur. Örneğin: 8/5 bizim yazımızda 5. Ayın 8’i kastedilirken 8/5 sonucunu okuyabilir ya da 1998 tarihi İngilizcede “nineteen nınety eight” olarak okunması gerekirken “one thousand nine hundred ninety eight” olarak okunabilir. Bu da anlam karmaşasına yol açabilir.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Çözüm:&lt;/strong&gt; JSML in SAYAS elementi yazı kısaltmaları için değişiklikler sunar.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3)Yazılı Metinden Ses Birimine Çevirme(Text-to-phoneme conversion):&lt;/strong&gt; Birçok sentezleyici yüz binlerce kelimeyi doğru olarak telaffuz eder fakat her zaman tahmin edilmesi gereken değişik ve olağandışı isim, şirket ismi vb. şeyler ya da yazılışları aynı ama okunuşları farklı sözcükler vardır ve bunların tahmin edilmesi büyük bir sorundur.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Çözüm:&lt;/strong&gt; JSML in SAYAS elementi alışılmadık sözler için fonetik telaffuz sağlar.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4)Vezin (Ölçü) Analizi(Prosody Analysis):&lt;/strong&gt; Bir cümleyi doğru olarak ifade edebilmek, doğru vurguyu yapabilmek, doğru ses perdesini tutturabilmek vb. şeyler için cümlenin anlamını anlamak gereklidir ve maalesef bilgisayarlar bunu yapamazlar.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Çözüm:&lt;/strong&gt; JSML in EMP, BREAK ve PROS elementleri yazı üzerinde vurguyu, duraksamayı vb işler için kullanılabilir.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5)Dalga Üretimi(Waveform Production):&lt;/strong&gt; Dudak, ağız, akciğer gibi insan sesinin özelliğini veren aparatlar olmadan ses sentezleyicisinden çıktı olarak çıkacak ses genellikle yapay(robotik) olur. Bu mekanik veya robotik ses insan sesinden kolaylıkla ayırt edilebilir. Bazı şartlar altında bu robotik ses tercih edilebilir fakat çoğu zaman sentezleyiciden gelen sesin daha kolay anlaşılabilir ve dinlenilebilir olduğu için insan sesine benzemesi tercih edilir.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Çözüm:&lt;/strong&gt; Maalesef Java Speech API ve JSML direk olarak bu konu hakkında pek bir şey yapamazlar.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Konuşma Sentezi Değerlendirmesi&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Konuşma sentezleyicilerin kilit noktaları sentezlenen sesin anlaşılabilirliği, kullanıcılar tarafından kabul görüşü ve çıkış kalitesidir. Konuşma sentezleyicilerin kalitesinin nasıl hesaplanacağının ve hangi faktörlerin çıktı kalitesine etki edeceğinin bilinmesi özellikle uygulama alanında önemlidir.&lt;br /&gt;&lt;br /&gt;İnsanlar neredeyse yaşam süreleri boyunca dinlerler ve konuşurlar. Bunun sonucunda da insan kulağı ve beyni sesler üzerine çok hassastır. Konuşma üzerindeki en ufak değişiklikleri, duygusal duruları, aksanları, konuşma problemlerini rahatlıkla algılayabilir. Fakat şu anki konuşma sentezleyicilerin konuşması bu ufak değişiklikleri ses ile iletemeyecek durumdadır. Bu yüzden dinleyiciler konuşma sentezleyiciden çıkan sesleri anlayabilmek için ekstra efor sarf etmelidirler. Yukarıda sayılan gibi bir çok nedenden dolayı yeni kullanıcılar konuşma sentezleyicilerle ilk tanıştıklarında kendilerini rahatsız ve tatmin olmamış hissederler.&lt;br /&gt;&lt;br /&gt;Geliştiriciler konuşma sentezleyicilerin kalitesinin değerlendirmesini yaparken 2 önemli faktör vardır. Anlaşılabilirlik ve doğallık. Anlaşılabilirlik sentezlenen konuşmanın kullanıcılar tarafından güvenli olarak anlaşılmasının göstergesidir. Doğallık ise sesin ne kadar insan sesine yaklaşabildiğiyle ve kullanıcılara bir insanla konuşuyormuş hissi vermesiyle alakalıdır.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-7186385383832028192?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/7186385383832028192/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2011/02/speech-synthesis-algorithmskonusma.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/7186385383832028192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/7186385383832028192'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2011/02/speech-synthesis-algorithmskonusma.html' title='Speech Synthesis Algorithms(Konuşma Sentezleme Algoritmaları)'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-4873953575726151132</id><published>2011-01-20T06:45:00.000-08:00</published><updated>2011-01-20T06:45:07.733-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><title type='text'>Eclipse ADT-Plugin Sorunu</title><content type='html'>Merhaba arkadaşlar. Bugünkü konumuz erişim sorunları arasında nasıl Android ADT-Plugini yükleyebiliriz olacak. Plugini yüklemek çok basit. İşe bu &lt;a href="http://dl.google.com/android/ADT-0.9.7.zip"&gt;plugini&lt;/a&gt; indirmekle başlayın. &amp;nbsp;Daha sonra Help-İnstall New Software yolunu izleyin ve gelen pencerede Archive butonuna tıklayın. İndirdiğiniz zip dosyasının bulunduğu yeri seçin ve onaylayın. Bundan sonra 2-3 ufak tıklamayla ADT-Plugininiz sizinle.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-4873953575726151132?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/4873953575726151132/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2011/01/eclipse-adt-plugin-sorunu.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/4873953575726151132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/4873953575726151132'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2011/01/eclipse-adt-plugin-sorunu.html' title='Eclipse ADT-Plugin Sorunu'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-6091369804781857253</id><published>2010-12-29T15:05:00.000-08:00</published><updated>2010-12-29T15:05:33.826-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><category scheme='http://www.blogger.com/atom/ns#' term='Guncel ve Teknoloji'/><title type='text'>Güvenli Kod Yazımı</title><content type='html'>Evet arkadaşlar uzun zamandır yazamıyordum. Bunun nedeni uzun zamandır projelerle uğraşıyor olmam. Bugün sizlerle projelerimi yaparken rapor olarak yazdığım nasıl güvenli kod yazılır adlı raporumu paylaşacağım. Verilen örnekler biraz .NET platformu üzerinden ama herkes için yararlı olacağını düşünüyorum.&lt;br /&gt;&lt;br /&gt;&lt;!--StartFragment--&gt;  &lt;br /&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana;"&gt;Güvenlik çok yönlü bir olaydır ve güvenlik riskleri her yerde olabilir. Belki kötü bir hata denetim kodu, belki çok geniş bir yetkilendirme, belki de server üzerinde hangi servislerin çalıştığının unutulması&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Bu liste böyle uzar gider ve yazımızın amacı da buradan çıkar Burada bizim amacımız en çok yapılan yazılım hatalarını incelemek ve bu hatalara karşı ne gibi önlemler alabileceğimizi öğrenmektir. Unutmayalım ki bunlar sadece güvenli kod yazabilmek için ilk adımlarımızdır. Bunların dışında yüzlerce farklı saldırı tekniği ve korunma metodu vardır. Bunların hepsini uygulasak dahi aklımızdan çıkarmamız gereken bir husus daha vardır. Asla güvenli kod yoktur. Çünkü saldırganlar her geçen gün saldırı tekniklerini değiştirmekte ve farklı saldırılarla sistemlerimize ve kodlarımıza saldırmaktadırlar.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana;"&gt; &lt;!--StartFragment--&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana;"&gt;Olası Güvenlik Riskleri&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana;"&gt;1)SQL Injection&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana;"&gt;SQL Injection hala daha görülebilecek en büyük açıklıklardan biridir. Kullanıcı verisine dayanan bir atak türüdür. Bu atak türü genellikle kod yazanların SQL Injectionı tam anlamıyla anlamadıkları için başlarına gelir. Peki nedir bu SQL injection. Bunu anlayabilmemiz için once SQL in ne olduğunu bilmemiz gerekir. SQL veritabanıyla anlaşmamızı ve verileri veritabanından çekip üzerlerinde işlem yapmamızı sağlayan bir dildir. Bir nevi biz insanların veritabanıyla konuşup anlaşma şeklidir. SQL Injectionı ise kullanıcının söylediği sözlerin veritabanına biraz değiştirilmiş şekliyle yansıtılması olarak tanımlarsak yanlış tanımlamış olmayız. Buna gore de veri tabanının bize vereceği değer değişecektir ki kötü niyetli son kullanıcılar bu yapıdan faydalanarak istenmeyen olaylara maruz bırakabilir bizi. SQL Injectionı biraz kavradıktan sonra bir tane gerçek örnek üzerinde durumu konuşalım.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana;"&gt;Aşağıdaki gibi bir SQL sorgumuz olsun&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana;"&gt;Select * from kullanıcılar where username=$uname AND password=$pass&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana;"&gt;$uname ve $pass kısımlarını kullanıcıdan alıyoruz. Burada eğer kullanıcı bize gerçek değerleri verip giriş yaparsa bunda hiçbir sorun yok. Ama eğer kullanıcı adı ve şifre yerine özel bir takım karakterler yazarak girişi sağlayabilirsek işte o anda yetkisiz olarak verilere ulaşabiliriz. Username ve pass için bir SQL injection denemesi yaparak neler olabileceğini inceleyelim. Eğer usename ya da pass yerine “OR” yazarsak yetkisiz olarak giriş yapabiliriz ve system içerisinde kullanıcı yetkilere gore gönlümüzce dolaşabilriz.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana;"&gt;Select * from kullanıcılar where uname =”OR”=” AND pass=”OR”=”&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: Verdana;"&gt;2)Cross Side Scripting&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana;"&gt;Cross Side Scripting kısaca, HTML ve Javascript yardımıyla bir sitede, siteye giren kullanıcıya tehlike arz edecek şekilde kod çalıştırmaya denir. Temel olarak kullanıcıların bilgilerini çalmayı amaçlar. Cross Side Scripting de SQL Injection gibi kullanıcı verilerine dayanan bir saldırı türüdür. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;3)Broken Authentication and Session Management&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Tam olarak güvenliği sağlanmamış ( örneğin md5 veya benzeri bir algoritma ile korunmamış) oturum nesnenleri ve çerezlerinin ele geçirilip kötü amaçlar için kullanılmasıdır. Organizasyonlar için önerilen şeyse developerlarına güçlü authentication ve session management control sağlamasıdır.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;4)Insecure Direct Object References&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Herhangi bir kontrol mekanızması olmadan kod içerisinden bir dosyanın include edilmesi, direk veritabanı erişim bilgilerinin saklanması ve çağrılması ve benzeri public fonksiyon erişimleri gibi hatalardır. Korunmak içinse indirect objeler kullanılmalı ve objelere erişim control altında tutulmalıdır.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;5)Cross Site Request Forgery (CSRF)&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;CSRF ataklarından bir sisteme login olmuş kullanıcı tekrardan login request göndermesi için zorlanır fakat bu sefer login requestindeki bilgileri istemciye değil saldırgana aittir.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Konuyu daha iyi anlayabilmek için yine bir banka örneği vererek açıklayalım. Saldırganın amacı banka hesabımızı boşaltmaktır. Bu amaç için bir web sitesi hazırlar ve bir resim içerisine bir kod aşağıdaki gibi bir kod gömer.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;b&gt;&lt;span style="color: #041351; font-family: Verdana; mso-bidi-font-family: Calibri;"&gt;&lt;imgsrc="&gt;&lt;/imgsrc="&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: #ab0000; font-family: Verdana; mso-bidi-font-family: Calibri;"&gt;http://example.com/transferFunds? amount=1500&amp;amp;destinationAccount=attackersAcct#&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color: #041351; font-family: Verdana; mso-bidi-font-family: Calibri;"&gt;“ width="0" height="0" /&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-font-weight: bold;"&gt;Eğer kullanıcı önce bankasında bir işlem yapıp daha sonar banka sayfasını kapatmadan bu siteye girip yukarıdaki imajın bulunduğu linke tıklarsa saldırgan kurbanın bilgisayarındaki cookie bilgilerinden yararlanarak amacına ulaşabilir.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;6)Security Misconfiguration&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Güvenlik ile ilgili tanımların zayıf, yanlış veya varsayılan olarak bırakılmasından kaynaklanan saldırılardır. Örneğin evinizdkei &lt;span style="color: #2c4e78;"&gt;ADSL&lt;/span&gt; modemleri şifrelerinin değiştirilmemesi gibi. Her cihazın default şifrelerine ( bunlara cisco, juniper vb güçlü cihazlar dahil) internetten 15 saniyede ulaşabilirsiniz.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;7)Insecure Cryptographic Storage&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Kriptolonamamış verilerin zayıf sunucularda korunması(maması). Günümüzde pek çok e-ticaret sitesi müşterilerinin bilgilerini şifrelemeden saklamaktadır. Kötü niyetli Host sahibi veya saldırgan bu bilgilere ulaşabilir. Korunmak için verytabanına kaydettiğimiz özellikle şifre gibi veriler kriptolanmış bir şekilde kaydedilmelidir.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;8)Failure to Restrict URL Access&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Erişimi kısıtlanmış sayfalara erişimlerin kontrol edilmemesidir, bu sayafalara erişen diğer sayfa ve modüllerin iyi bir şekilde izlenmemesi veya kodlama hataları vb.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Örneğin bir admin paneline bir kısıtlama koymadan link yardımıyla ulaşılabilyorsa bu çok büyük bir güvenlik riskidir.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;9)Insufficient Transport Layer Protection&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Uygulamalar genelde hassas mesajlar gönderilirken network trafiğini kriptolamayı başramayabilirler. Başarsalar bile zayıf algoritmalar vb şeylerle yaparlar. Burada eğer network trafiğini dinlemeyi başaran birileri varsa bizim network üzerinden ulaştırmaya çalıştığımız bütün bilgileri çalabilir.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Bu ataklardan korunmak için böyle hassas verilerimizi güçlü bir kriptolama işleminden sonra yollamalıyız.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 18.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;10)Unvalidated Redirects and Forwards&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Bir çok web uygulamasında ilk ve son veri kontrolü yapılmaksızın yönlendirmeler yapılmaktadır. Buna en güzel örnek yıllar önce alışveriş sitelerinde ödeme sayfasına geçmeden bir önceki sayfalarda fiyatlar ve miktalar değiştirilerek ödeme sayfasına yönlendirme işlemleri idi. Kısaca uygun bir kontrol yapılmadan saldırganın bizi pishing ya da malware sitesine yönlendirmesidir. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;Korunmak içinse yönlendirmelerden kaçınmalıyız. Eğer yapmak zorundaysak kullanıcılardan aldığımız veriler doğrultusunda yapmayınız.&lt;/span&gt;&lt;span style="font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana;"&gt;Kodlarımızı Daha Güvenli Yapabilmek İçin 7 Öneri&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana;"&gt;1)Asla Kullanıcı Girdisine Güvenme&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana;"&gt;Bu yazıyı okuyorsanız aklınızda kalması gereken en önemli şey budur. Asla kullanıcı girdisine güvenmeyin. Çünkü saldırıların büyük bir çoğunluğu bu taraftan gelir. Eğer dış dünyadan aldığımız her verinin doğru ve kötü niyetsiz olduğuna inanırsak ilk sorunumuz orada başlar. Çünkü saldırganlar tarafından kullanılan bir çok güvenlik açığı sunucuya kendi işlerine yarayacak kötü bir mesaj göndermle kırılır.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana;"&gt;Inputlara güvenmek ve bilgilerin doğru formda olduğuna koşulsuca inanmak buffer taşmasına, cross side scriptinge, SQL Injectiona ve bunun gibi bir çok soruna neden olabilir.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana;"&gt;2)Buffer Taşmalarından Korunun&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana;"&gt;Buffer taşması saldırganın programa programın beklediği değerden daha büyük bir değer vermesi&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;sonucunda değişkenin ayrılmış olan memory alanina sığmamasıdır. Ya da programlama yaparken ufak bir gözden kaçma sonrasında da oluşabilir. Programcı ne kadar tecrübeli olursa olsun bu hatalara dikkat etmelidir. Bir buffer taşması sonucu uzaya gönderilmiş olan bir uzay gemisi parçalanmıştır. Görüldüğü gibi küçük bir olaymış gibi gözüksede sonuçları çok büyük olabiliyor. Bu kadar büyük sorunlara yol açabilmesine ragmen genellikle buffer taşmasının çözümü oldukça basittir. Genelde biraz dikkatli olarak ve alınan değerlerin aralıklarını belirleyerek üstesinden gelinebilir.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana;"&gt;Bu olaylara mahal vermemek için yapılması gereken en önecelkli şey unsafe kodlara izin vermemektir.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana;"&gt;3)Cross-site Scriptlerden Korunun&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana;"&gt;Croos side scriptleri webe özel güvenlik açıklarından biridir. Aşağıdaki kod parçasına bakmak istersek;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana;"&gt;&lt;script language="c#"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;text-justify:inter-ideograph"&gt; &lt;span style="font-family:Verdana;color:blue"&gt;&lt;span style="mso-tab-count:1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Response.WriteLine(“Hello, ”+Request.QueryString(“name”));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;text-justify:inter-ideograph"&gt; &lt;span style="font-family:Verdana;color:blue"&gt;&lt;/script&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana;"&gt;Böyle masum gibi görünen bir kodun aslında saldırıya açık bir kod bloğudur. Normlde, kullanıcı bu tür bir koda aşağıdaki gibi bir URL ile birlikte ulaşırlar:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;a href="http://www.guvenlik.com/welcome.aspx?name=Michael"&gt;&lt;span style="font-family: Verdana;"&gt;http://www.guvenlik.com/welcome.aspx?name=Michael&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana;"&gt;C# yukarıdaki script kodundan aldığı verileri iyi formda ve sadece name değerinden başka bir şey almayacakmış gibi düşünür. Fakat saldırganlar bu kodu istismar ederler ve name değeri yerine tıpkı bir name değeriymiş gibi bir script girerler;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;a href="http://www.guvenlik.com/welcome.aspx?name=%3cscript%3ealert('hi"&gt;&lt;span style="font-family: Verdana;"&gt;http://www.guvenlik.com/welcome.aspx?name=&lt;script&gt;alert(‘hi&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Verdana"&gt;!’);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="text-align:justify;text-justify:inter-ideograph"&gt; &lt;span style="font-family:Verdana;color:blue"&gt;&lt;/script&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href="http://www.guvenlik.com/welcome.aspx?name=%3cscript%3ealert('hi"&gt;  &lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana;"&gt;Eğer yukarıdaki adresi adres çubuğuna girersek önümüze içeriğinde hi! Yazan bir dialog box ın çıktığını görürüz. Bu ne demek peki. Bu saldırganın bizim web sitemize istediği gibi müdahale edebilmesi anlamına geliyor. Belki böylesine zararsız bir kod için çok bir önemi olmayabilir fakat bir de olaya şu açıdan bakın. Bu web sitesinin bir bankanın web sitesi olduğunu ve yazılan scriptin internet şubesine giriş butonunu etkilediğini düşünelim.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/a&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_DX6DD-OfHPE/TRu9pQJm88I/AAAAAAAAAJw/A9UnLi6rRpo/s1600/Screen+shot+2010-12-22+at+21.36.08.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="191" src="http://1.bp.blogspot.com/_DX6DD-OfHPE/TRu9pQJm88I/AAAAAAAAAJw/A9UnLi6rRpo/s400/Screen+shot+2010-12-22+at+21.36.08.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana;"&gt;Kullanıcı giriş butonuna tıkladığı zaman aynı bankanın internet şubesi arayüzüne bağlanır gibi fakat saldırganın önceden hazırladığı bir web sitesine yönlendirir.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_DX6DD-OfHPE/TRu-KY_pvZI/AAAAAAAAAJ0/unawfHj7c5k/s1600/Screen+shot+2010-12-30+at+01.01.22.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="270" src="http://3.bp.blogspot.com/_DX6DD-OfHPE/TRu-KY_pvZI/AAAAAAAAAJ0/unawfHj7c5k/s400/Screen+shot+2010-12-30+at+01.01.22.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana;"&gt;Web sitesi tıpkı bankanın sitesine benzediğinden kullanıcılar çoğunlukla gerçek web sitesiyle arasındaki farkı anlayamazlar ve güvendikleri için bilgilerini girmeye başlarlar. Bunun sonucunda da girilen bilgiler saldırgan tarafından ele geçirilmiş olur. Elbette bankalarımızın güvenliği bunların çok daha üstünde güvenlik tedbirleri alınarak yapılıyor fakat bu örneks durumun vahammiyetini daha iyi kavrayabilmemiz içindi.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana;"&gt;Peki cross side scripting den kodumuzu nasıl koruyacağız. Bu olayın başımıza gelmesini engelleyebilmemiz için iki yöntem öneriliyor. İlki ve yazımızda da ilk olarak değindiğimiz konu olan asla kullanıcı girdisine güvenme ve girdinin ne içermesi gerektiğini katı bir şekilde belirle. Örneğin; bu işi gerçekleştirmek için regular expressionları kullanabiliriz. Regular expressionlarla kullanıcının girdisini kısıtlayarak bu işlemi yaparız. Aşağıdaki c# kodu bu işi nasıl yapabileceğimizi gösteriyor.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana;"&gt;Regex r=new Regex(@”^[\w]{1,40}$”);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana;"&gt;If(r.Match(strName).Success)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;//String Kısıtlara uyar&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana;"&gt;else&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana;"&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana;"&gt;&lt;span style="mso-tab-count: 1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;//String kısıtlara uymaz&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana;"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana;"&gt;Bu kodumuzda regular expressionları kullanarak stringimizin 1 ile 40 alfanumerik karakterler arasında kalmasını sağlıyoruz. Kullanıcının girdisini kontrol etmenin en güvenli yolu budur. Bu işlemi terstende uygulayabilirsiniz. Yani yasak karakterleri teker teker yasaklayarak. Fakat burada unutulmaması gereken bir husus var ki bu işlem yapılırken yapacağımız ufak bir dikkatsizlik saldırı yememize neden olabilir. Bu yüzden izin verilmeyen karakterleri yasaklamak yerine izin verilen karakter olup olmadığına bakmak daha güvenli bir yoldur.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana;"&gt;Bu saldırıları önlemenin ikinci yoluysa bu özel karakterleri daha güvenli karakterlerle değiştirme yöntemidir. Ama birinci yöntem kesinlikle daha güvenlidir.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana;"&gt;4)Asla sa İzniyle Hareket Etme&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana;"&gt;Şimdi de biraz SQL Injectionları inceleyelim. Bilindiği gibi birçok yazılım geliştirici kullanıcılardan değer alarak very tabanı üzerinde bu değerlerle birlikte işlem yaparlar.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="font-family: Verdana;"&gt;Aşağıdaki kodu biraz inceleyelim;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 16.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 16.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;void DoQuery(string Id) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 16.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SqlConnection sql=new SqlConnection(@"data source=localhost;" +"user id=sa;password=password;");&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 16.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sql.Open();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 16.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sqlstring= "SELECT hasshipped" +&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 16.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;" FROM shipping WHERE id='" + Id + "'";&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SqlCommand cmd = new SqlCommand(sqlstring,sql);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: #000058; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;Birçoğumuz yukarıdaki gibi bir kod yazmıştır muhtemelen. Fakat bize tanıdık gelen bu kod aslında o kadar da masum değil. 3 kusuru var bize tanıdık gelen bu kodun. İlk olarak, database e ulaşım system administrator(sa) hesabı kullanılarak yapılmaya çalışılmış. Sa hesabı için belirlenen mükemmel şifremiz password olarak belirlenmiş. Ama bunlara rağmen bu koddaki asıl sorun string birleştirme işlemi yaparak SQL statementı oluşturuyor olmasıdır. Bu durumda eğer kullanıcı Id değeri için 1001 yazarsa ve bu string işletilirse hiçbir sorun çıkmaz ve muhtemel olarak aşağıdaki gibi bir kod işletilir.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;SELECT hasshipped FROM shipping WHERE id = '1001'&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: #000058; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;Maalesefki saldırganlar bu kadar iyi niyetli değil. Id=1001 yazmak yerine aşağıdaki gibi bir kod işletmeyi deneyebilirler;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 16.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;SELECT hasshipped FROM &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 16.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;shipping WHERE id = '1001'&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;DROP table shipping -- ';&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: #000058; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;Yukarıdaki sorgu istediğimiz select işlemini yapıyor olmasına rağmen devamında gelen kodlar sayesinde shipping tablosunuda siliyoruz ki bu istemediğmiz bir olay. – operatorü sayesinde sonrasında gelen kodlar yorumlanmıyor. Biraz once sa olarak veri tabanına bağlanmıştık ve şimdide bir tablo sildik. Peki bu tür bir olay sadece select yetkisi verilmiş bir username ile veritabanına bağlanılmış olsaydı başımıza gelirmiydi. Cevap çok basit tabiki hayır. Bu yüzden veri tabanına bağlanırken dikkat edilmesi gereken en önemli konulardan biri veri tabanına asla system administrator yetkisiyle bağlanmamaktır.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: #000058; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;Peki nasıl SQL Injection yemekten koruyabilriz kodumuzu. Bunun için dinamik sql kodları kulanmak yerine stored procedure lar kullanmak en akıllıca olan yollardan biridir. Tabiki yine bir numaralı altın kuralımızı unutmayarak kullanıcı girdilerinin istediğimiz formatta olup olmadığını da control etmeliyiz. Örnek kod;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 16.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;Regex r = new Regex(@"^\d{4,10}$");&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 16.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;if (!r.Match(Id).Success)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 16.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;throw new Exception("Invalid ID");&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 16.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 16.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;SqlConnection sqlConn= new SqlConnection(strConn);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 16.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;string str="sp_HasShipped";&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 16.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;SqlCommand cmd = new SqlCommand(str,sqlConn);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: 16.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;cmd.CommandType = CommandType.StoredProcedure;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: blue; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;cmd.Parameters.Add("@ID",Id);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: #000058; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;Unutmayalımki cross-side scripting, buffer overruns ve SQL Injection ların hepsi kullanıcı girdisine güvenme sonrasında çıkmıştır. Bu yüzden altın kuralımızı her zaman hatırlamalıyız.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;b&gt;&lt;span style="color: #000058; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;5)Asla Kendi Ürettiğin Encryption Sistemini Kullanma&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: #000058; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;Eğer bir kriptolama işlemi yapıcaksanız asla kendi ürettiğiniz kripto algoritmasını uygulayarak yapmayın. Pek çok insan kendi ürettikleri kripto algoritmalarının kırılmasının çok zor olduğunu düşünerek bu tür bir yolu seçerler fakat yanıldıkları en büyük nokta kriptoladıkları kodların muhtemelen birkaç dakika içerisinde kırılabilecek düzeyde olmasıdır. Bu yüden c# dilinde kriptolama işlemi yapacaksak kripto kütüphanelerini kullanmamız daha iyi sonuçlar doğuracaktır.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;b&gt;&lt;span style="color: #000058; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;6)Least Privilage Prensibine Uyun&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: #000058; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;İşletim sistemleri ve common language runtime(C# kodumuzun makine diline çevirildiği yer) bir çok nedenden dolayı güvenlik prensiplerine sahiptir. Bunun da temel amacı kullanıcıların erişime yetkisi olmayan yerlerde verilere ulaşmalarını engellemek ve kötü niyetli kişilerin veriliremizle oynamasını engellemektir ve genellikle bunu serilization işlemlerini engelleyerek yaparlar. Güvenlik prensiplerini kodumuzu çevreleyen bir duvar şeklinde düşünebiliriz. Erişime izni olanları içeriye alır, izni olmayanları duvar dışında bırakır.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: #000058; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;Yukarıda söylediğim güvenlik prensipleri dışında bize düşen bazı görevler daha vardır. Burada asıl amaç hiçbir zaman gereğinden fazla yetkiyi vermemektir. Şöyle bir örnek düşünelim;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: #000058; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;Elimizde veritabanımızdaki verileri gösteren bir yapı olsun. Burada amacımızı gerçekleştirebilmemiz için bize sadece vritabanımızdan select yetkisi almış olan bir connection yetecektir. Çünkü tüm yapmak istediğimiz verileri veritabanından çekmektir. Eğer bir şekilde kötü niyetli bir kişi web sayfamızın diger açıklarından faydalanıp oynamalar yapmaya çalışıyorsa tek yapabileceği bizim kullanıcılara göstermiş olduğumuz verileri alabilmektir. Asla veriler üzerinde değişiklik yapamaz. Ama bu örneğimizde veritabanına erişim yetkimizi sadece select olarak değilde update ve delete de dahil olacak şekilde bir yetki vermiş olsaydık işte o zaman kötü niyetli saldırgan verilerimizi değiştirebilr ve bizim istediğimiz verilerimizi sergilememizi engeleyebilirdi. Hatta ve hatta daha ileriye giderek veritabanımızdaki verilerimizi silebilirdi bile. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: #000058; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;İşte yukarıdaki gibi durumlara maruz kalmamak için her zaman işlerimizi yapabileceğimiz en düşük yetki seviyesinde yapmalıyız. Her zaman least privilege ilkesine uymalıyız.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;b&gt;&lt;span style="color: #000058; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;7)Hata Denetimine Yeterli Önemi Ver&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: #000058; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;Bu yazıyı okuduğunuza gore kod yazma işine bir tarafından dahil olduğunuzu düşünüyorum. Hepimiz kod yazıyoruz öyle değil mi? Peki kaçımız bu yazdığımız kodların test kısmına gerekli önemi veriyoruz ya da error handling mekanizmalarını yeterince kullanıyoruz. Bu üzerinde genellikle yüzeysel olarak durduğumuz konulardan. Oysaki en az yukarıda konuştuğumuz durumlar kadar önemli bir durum bu. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: #000058; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;Test edilmeden kullanılan programlar genelde büyük güvenlik açıklarına sahiptirler. Bu güvenlik açıklarına maruz kalmamak için kodlarımızın test bölümüne yeterli önemi vermeliyiz. Elbetteki bütün şartlar için test edemeyiz fakat ne kadar çok test yaparsak ileride programımızın çökme olasılığı da o derecede iner. Ne kadar az test yaparsakta güvenliğin temel ilkelerinden olan sürdürülebilirliği sağlamamız da o derece zorlaşır. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: #000058; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;Bir de kodlarımızı yazarken error handling sağlayabilmemiz için gerekli yerlerde try-catch bloklarını koymaya özen göstermeliyiz. Olağan dışı oluşan durumlarda ya da olası olusabilecek hatalarda programımızın çökmesi ya da yanlış çalışması yerine bir uyarı mesajı vererek progamımızın güvenilirliğini artırmamızı sağlar.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span class="Apple-style-span" style="color: #000058;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;span style="color: #000058; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;Kaynaklar&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;a href="http://www.owasp.org/images/0/0f/OWASP_T10_-_2010_rc1.pdf"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;http://www.owasp.org/images/0/0f/OWASP_T10_-_2010_rc1.pdf&lt;/span&gt;&lt;/a&gt;&lt;span class="MsoHyperlink"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;a href="http://ferruh.mavituna.com/sql-injection-a-giris-ve-sql-injection-nedir-oku/"&gt;&lt;span style="font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;http://ferruh.mavituna.com/sql-injection-a-giris-ve-sql-injection-nedir-oku/&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #000058; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;a href="http://www.oracle.com/technetwork/java/seccodeguide-139067.html"&gt;&lt;span style="font-family: Verdana;"&gt;http://www.oracle.com/technetwork/java/seccodeguide-139067.html&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163518.aspx"&gt;&lt;span style="font-family: Verdana;"&gt;http://msdn.microsoft.com/en-us/magazine/cc163518.aspx&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;a href="http://msdn.microsoft.com/tr-tr/magazine/cc163310(en-us).aspx"&gt;&lt;span style="font-family: Verdana;"&gt;http://msdn.microsoft.com/tr-tr/magazine/cc163310(en-us).aspx&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;a href="http://msdn.microsoft.com/tr-tr/magazine/cc188938(en-us).aspx"&gt;&lt;span style="font-family: Verdana;"&gt;http://msdn.microsoft.com/tr-tr/magazine/cc188938(en-us).aspx&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"&gt;&lt;a href="https://www.securecoding.cert.org/confluence/display/seccode/Top+10+Secure+Coding+Practices"&gt;&lt;span style="font-family: Verdana;"&gt;https://www.securecoding.cert.org/confluence/display/seccode/Top+10+Secure+Coding+Practices&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #000058; font-family: Verdana; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;!--EndFragment--&gt;   &lt;br /&gt;&lt;!--EndFragment--&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-6091369804781857253?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/6091369804781857253/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2010/12/guvenli-kod-yazm.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/6091369804781857253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/6091369804781857253'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2010/12/guvenli-kod-yazm.html' title='Güvenli Kod Yazımı'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_DX6DD-OfHPE/TRu9pQJm88I/AAAAAAAAAJw/A9UnLi6rRpo/s72-c/Screen+shot+2010-12-22+at+21.36.08.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-7304771262079624348</id><published>2010-12-21T06:07:00.000-08:00</published><updated>2010-12-21T06:07:58.131-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geyik ve Ben'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><title type='text'>Google Chrome OS Kotu</title><content type='html'>Vallaha ben Richard Stallman`in yalancisiyim. Kendileri GNU foundation in kurucusu olmaktalar. Stallman`a gore Google Chrome OS ya da bu tur cloud mantigini kullanan uygulamalar, isletim sistemleri aslinda kullanicilarin iyiligi yonunde gorunselerde kullanicilar icin kotu durumlar soz konusu. Dosyalarimizin cloud uzerinde bulunmasinin dosya gizliligimizi tehlikeye attigini soyluyor. Ayrica dosylarimiz uzerindeki butun insiyatiflerimizde ayni zamanda service providerin eline gecmis bulunuyor. Iznimiz disinda bu dosyalari okuyabilir, degistirebilir, silebilir ya da baska makamlara servis edebilirler.&amp;nbsp;(Buradan sonrasi benim yorumum:)&amp;nbsp;Bana oyle geliyorki eskiden sadece kimlik bilgilerimiz sirketlerin degerlerine deger katarken artik kisisel dosyalarimizda zenginlik katacak.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-7304771262079624348?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/7304771262079624348/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2010/12/google-chrome-os-kotu.html#comment-form' title='5 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/7304771262079624348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/7304771262079624348'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2010/12/google-chrome-os-kotu.html' title='Google Chrome OS Kotu'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-8932015724756149896</id><published>2010-12-07T15:14:00.000-08:00</published><updated>2010-12-10T01:41:05.247-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><title type='text'>Droid Draw</title><content type='html'>Merhaba arkadaslar. Bugun sizlere Android programlama yaparken işinize yarayabılecek ufak bır programcıktan bahsedeceğim. Programın adı droid draw. Program bizlere kolaylıkla, sürükle bırak yontemiyle gui yapabilmemizi sağlıyor. Tüm yapmanız gereken ekranınızın nasıl göründüğünü ayarladıktan sonra Generate butonuna basmak ve uretılen kodu Main.xml dosyasının içerisine yapıştırmak:)&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_DX6DD-OfHPE/TP6_Ge44-8I/AAAAAAAAAJo/gcW4CtXaJwc/s1600/Screen+shot+2010-12-08+at+1.09.55+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://1.bp.blogspot.com/_DX6DD-OfHPE/TP6_Ge44-8I/AAAAAAAAAJo/gcW4CtXaJwc/s400/Screen+shot+2010-12-08+at+1.09.55+AM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Yukarıda da programın ekran görüntüsü bulunmaktadır. Programı indirmek için&amp;nbsp;&lt;a href="http://www.droiddraw.org/"&gt;web sitesine&lt;/a&gt; göz atabilirsiniz.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-8932015724756149896?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/8932015724756149896/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2010/12/droid-draw.html#comment-form' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/8932015724756149896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/8932015724756149896'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2010/12/droid-draw.html' title='Droid Draw'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_DX6DD-OfHPE/TP6_Ge44-8I/AAAAAAAAAJo/gcW4CtXaJwc/s72-c/Screen+shot+2010-12-08+at+1.09.55+AM.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-2103591654016035790</id><published>2010-11-20T14:58:00.000-08:00</published><updated>2010-11-20T14:58:44.702-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geyik ve Ben'/><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><category scheme='http://www.blogger.com/atom/ns#' term='Staj'/><title type='text'>Europass CV</title><content type='html'>Merhaba arkadaslar, bugun Daron hocanin tweetini okuduktan sonra acaba xml formatinda cv nasil yazilir diye merak ettim ve biraz olsun arastirdim. Bu arastirmalarim sirasinda AB ce ve dunya uzerinde kabul goren bir CV sistemi oldugunu gordum. Simdi sizlere bundan bahsedecegim. kariyer.net gibi sitelerde doldurdugumuz cv ler isverenlerce cok dikkate alinmayabiliyor maalesef(Bakiniz Daron Yondem`in tweeti) Iste bu yuzden kendi cv mizi yazmamiz gerekiyor. Bunun icinde dunyaca kabul gormus bir seyden yararlanmak guzel olur diye dusundum. Simdi siteden bir alinti yapiyorum:)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h1 class="stil5" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; color: #292727; font-family: tahoma, arial, helvetica, sans-serif; font-size: 12px; line-height: 12px;"&gt;Europass Özgeçmiş (CV)&lt;/h1&gt;&lt;h2 class="stil5" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; color: #292727; font-family: tahoma, arial, helvetica, sans-serif; font-size: 12px; line-height: 12px;"&gt;Nedir?&lt;/h2&gt;&lt;div align="justify" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; color: #292727; font-family: tahoma, arial, helvetica, sans-serif; font-size: 11px; line-height: 12px;"&gt;Europass'ı kullanmak isteyen herkes Europass Özgeçmişi doldurarak başlayabilir. Europass Özgeçmiş (CV) becerilerinizi ve yeterliliklerinizi görülür hale getirmenizi sağlar. Bu döküman ile kişisel bilgilerinizi, iş deneyimlerinizi, eğitim öğretim bilgilerinizi ve kişisel becerilerinizi belirli bir formatta oluşturabilirsiniz. Bu döküman formatı AB ülkelerinde de aynı olduğu için kendinizi işverenlere en etkin şekilde tanıtmanıza olanak sağlar.&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; color: #292727; font-family: tahoma, arial, helvetica, sans-serif; font-size: 11px; line-height: 12px;"&gt;Europass Özgeçmiş (CV) 2002 yılında çıkarılan Avrupa Özgeçmişinin (CV) yerini alır.&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; color: #292727; font-family: tahoma, arial, helvetica, sans-serif; font-size: 11px; line-height: 12px;"&gt;&lt;a href="http://www.europass.gov.tr/dokumanlar/ornekcv.pdf" style="color: #5f5c5c; text-decoration: none;" target="_blank"&gt;Tamamlanmış Türkçe Europass Özgeçmiş (CV) örneği için tıklayınız...&lt;/a&gt;&lt;/div&gt;&lt;h2 class="stil5" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; color: #292727; font-family: tahoma, arial, helvetica, sans-serif; font-size: 12px; line-height: 12px;"&gt;Europass CV'nin Kullanımı&lt;/h2&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; color: #292727; font-family: tahoma, arial, helvetica, sans-serif; font-size: 11px; line-height: 12px;"&gt;Europass Özgeçmişi (CV) kullanmak için üç seçeneğiniz vardır;&lt;/div&gt;&lt;h3 style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; color: #292727; font-family: tahoma, arial, helvetica, sans-serif; font-size: 11px; line-height: 12px;"&gt;&lt;br /&gt;&lt;/h3&gt;&lt;h3 style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; color: #292727; font-family: tahoma, arial, helvetica, sans-serif; font-size: 11px; line-height: 12px;"&gt;&lt;a class="stil5" href="https://europass.cedefop.europa.eu/instruments/cv/step0.do" style="color: #5f5c5c; font-size: 12px; text-decoration: none;" target="_blank"&gt;-Europass CV'nizi Online Olarak Oluşturun&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="justify" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; color: #292727; font-family: tahoma, arial, helvetica, sans-serif; font-size: 11px; line-height: 12px;"&gt;Yukarıdaki linke tıkladıktan sonra karşınıza çıkacak sayfada sağ üst köşeden dil seçeneğini yaptıktan sonra, gerekli talimatları takip ederek CV’nizi oluşturabilirsiniz. CV’nizin tamamlanmış halini daha sonra elektronik olarak (e-posta ile veya indirerek) edinebilirsiniz.&lt;/div&gt;&lt;h3 style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; color: #292727; font-family: tahoma, arial, helvetica, sans-serif; font-size: 11px; line-height: 12px;"&gt;&lt;br /&gt;&lt;/h3&gt;&lt;h3 style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; color: #292727; font-family: tahoma, arial, helvetica, sans-serif; font-size: 11px; line-height: 12px;"&gt;&lt;a class="stil5" href="http://europass.cedefop.europa.eu/europass/home/hornav/Downloads.csp" style="color: #5f5c5c; font-size: 12px; text-decoration: none;" target="_blank"&gt;-Europass CV belgelerini indirin&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="justify" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; color: #292727; font-family: tahoma, arial, helvetica, sans-serif; font-size: 11px; line-height: 12px;"&gt;(boş şablon, talimatlar,farklı dillerde doldurulmuş örnekler ve Europass kapak sayfası). Bu bilgileri daha sonra bilgisayarınızda CV’nizi oluştururken kullanacaksınız.&lt;/div&gt;&lt;div align="justify" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; color: #292727; font-family: tahoma, arial, helvetica, sans-serif; font-size: 11px; line-height: 12px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; color: #292727; font-family: tahoma, arial, helvetica, sans-serif; font-size: 11px; line-height: 12px;"&gt;&lt;a class="stil5" href="https://europass.cedefop.europa.eu/instruments/cv/xmlOpen.do" style="color: #5f5c5c; font-size: 12px; text-decoration: none;" target="_blank"&gt;-Europass CV'nizi Güncelleyin (XML/XML+PDF)&lt;/a&gt;&lt;/h3&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="justify" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; color: #292727; font-family: tahoma, arial, helvetica, sans-serif; font-size: 11px; line-height: 12px;"&gt;Eğer daha önceden CV'nizi yukardaki "Europass CV'nizi Online Olarak Oluşturun" linkinden oluşturmuş ve XML/XML+PDF formatlarında kayıt etmiş iseniz, bu CV'nizi ,bu linki kullanarak yükleyebilir ve verilerinizi güncelleyebilirsiniz.&lt;br /&gt;Kişisel verileriniz otomatik olarak sisteme girilecektir.&lt;/div&gt;&lt;div align="justify" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; color: #292727; font-family: tahoma, arial, helvetica, sans-serif; font-size: 11px; line-height: 12px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="justify" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; color: #292727; font-family: tahoma, arial, helvetica, sans-serif; font-size: 11px; line-height: 12px;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-collapse: separate; color: black; font-family: 'Times New Roman'; font-size: small; line-height: normal;"&gt;&lt;a href="http://europass.cedefop.europa.eu/europass/home/vernav/Europass+Documents/Europass+CV.csp"&gt;Europass CV link&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-2103591654016035790?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/2103591654016035790/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2010/11/europass-cv.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/2103591654016035790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/2103591654016035790'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2010/11/europass-cv.html' title='Europass CV'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-1976857694816302703</id><published>2010-11-17T07:20:00.000-08:00</published><updated>2010-11-17T07:21:58.381-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><title type='text'>Android-Read Sms</title><content type='html'>Merhaba arkadaslar. Bu aralar Android ile ilgilenmeye basladim. (Bitirme projem vesilesiyle) Ama hosuma gitmeye basladi. Ozellikle yazdiginiz uygulamayi kendi telefonunuzda calistirdiginiz ve kullanmaya basladiginiz zaman tadindan yenmiyor valla. Bu motivasyonlarla birlikte telefon hafizasindaki son mesaji ingilizce olarak seslendiren bir uygulama yaptim.(Bitirme projemin bir parcasi) Insallah ilerde sesli olarak sms alip gonderebileni yapicam. Ama simdilik sadece elimizde sms okuyani var. Bende simdi bu projemin kaynak kodunu sizlerle paylasmak istedim.&lt;br /&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Read.java&lt;/span&gt;&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;package sms.TextToSpeech;&lt;br /&gt;&lt;br /&gt;import java.sql.Date;&lt;br /&gt;import java.text.SimpleDateFormat;&lt;br /&gt;import java.util.Locale;&lt;br /&gt;&lt;br /&gt;import android.app.Activity;&lt;br /&gt;import android.database.Cursor;&lt;br /&gt;import android.graphics.Color;&lt;br /&gt;import android.net.Uri;&lt;br /&gt;import android.os.Bundle;&lt;br /&gt;import android.provider.SyncStateContract.Constants;&lt;br /&gt;import android.speech.tts.TextToSpeech;&lt;br /&gt;import android.speech.tts.TextToSpeech.OnInitListener;&lt;br /&gt;import android.util.Log;&lt;br /&gt;import android.view.View;&lt;br /&gt;import android.widget.Button;&lt;br /&gt;import android.widget.EditText;&lt;br /&gt;import android.widget.TextView;&lt;br /&gt;&lt;br /&gt;public class Read extends Activity implements OnInitListener{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/** Called when the activity is first created. */&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;private EditText et;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;private Button b;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;private String address;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;private String body;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;private String date;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;private TextToSpeech mTts;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;@Override&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;public void onCreate(Bundle savedInstanceState) {&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;super.onCreate(savedInstanceState);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setContentView(R.layout.main);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;b=(Button)findViewById(R.id.b);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;et=(EditText)findViewById(R.id.et);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;et.setEnabled(false);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;et.setClickable(false);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;et.setBackgroundColor(Color.WHITE);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Uri SmsUri=Uri.parse("content://sms/inbox");&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String[] projection=new String[]{"_id","address","body","date"};&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Cursor cursor=null;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cursor=getContentResolver().query(SmsUri,projection,null,null,null);//Bilgilerin nereden alinacagi belirlenir&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(cursor!=null&amp;amp;&amp;amp;cursor.moveToFirst()){ &amp;nbsp; &amp;nbsp;//Ilk mesaja konumlanir&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;int id=cursor.getInt(cursor.getColumnIndex("_id")); &amp;nbsp; &amp;nbsp;//Id sini alir&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;address=cursor.getString(cursor.getColumnIndex("address")); //hangi telefondan geldigini alir&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;body=cursor.getString(cursor.getColumnIndex("body")); //mesaj&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;date=cursor.getString(cursor.getColumnIndex("date")); //mesaj atilan tarih&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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;SimpleDateFormat formatter=new SimpleDateFormat("dd/MM/yyyy - HH:mm:ss");&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;date=formatter.format(new Date(Long.parseLong(date)));&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;et.setText(body);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;finally{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(cursor!=null){&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cursor.close();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;b.setOnClickListener(new View.OnClickListener() {&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@Override&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void onClick(View v) {&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// TODO Auto-generated method stub&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;onInit(1); &amp;nbsp; &amp;nbsp;//Click eventi olustugunda text to speech cagirilir&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;});&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mTts=new TextToSpeech(this,this);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//TTS=Text to Speech&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;@Override&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;public void onInit(int status) {&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// TODO Auto-generated method stub&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(b.isPressed()){&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Locale loc = new Locale("en", "",""); &amp;nbsp; &amp;nbsp;//TTS ayarlari&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(mTts.isLanguageAvailable(loc) &amp;gt;= TextToSpeech.LANG_AVAILABLE){&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mTts.setLanguage(loc); &amp;nbsp; &amp;nbsp;//Dil ayarlanir&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mTts.speak(et.getText().toString(), TextToSpeech.QUEUE_FLUSH, null);//Konusma islemi gerceklestirilir &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;protected void onDestroy() {//TTS destroy eder&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;super.onDestroy();&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mTts.shutdown(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;AndroidManifest.xml dosyasi iceriside &lt;application&gt; taginden once ya da &lt;/application&gt; taginden sonra asagidaki kodu eklemeyi unutmayiniz. Bu kod Android telefonumuz icerisinde sms okuyabilmemiz icin gerekli olan izini bize verir.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;uses-permission android:name="android.permission.READ_SMS" /&amp;gt;&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Main.xml&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;&lt;br /&gt;&amp;lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;android:orientation="vertical"&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;android:layout_height="fill_parent"&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;gt;&lt;br /&gt;&amp;lt;EditText &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;android:id="@+id/et"&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;android:layout_height="150px"&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;android:gravity="top"&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;Button&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;android:id="@+id/b"&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;android:layout_width="fill_parent"&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;android:layout_height="wrap_content"&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;android:text="Speak"&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/&amp;gt;&lt;br /&gt;&amp;lt;/LinearLayout&amp;gt;&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-1976857694816302703?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/1976857694816302703/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2010/11/read-sms.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/1976857694816302703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/1976857694816302703'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2010/11/read-sms.html' title='Android-Read Sms'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-7258286789641937447</id><published>2010-07-20T14:53:00.000-07:00</published><updated>2010-07-20T14:53:17.101-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><category scheme='http://www.blogger.com/atom/ns#' term='Guncel ve Teknoloji'/><title type='text'>Linuxa Kolay Gecis</title><content type='html'>Evet arkadaslar uzun bir aradan&amp;nbsp; sonra tekrar yeni yazimla karsinizdayim. Bu yazim daha cok windows kullanicilarina hitab ediyor diyebilirim. Ama aklinin bir kosesinde Linux olanlarina ya da Linux a alismak istiyorum diyenlerine. Bu yazimla birlikte ozgurluk deryasina bir adim daha yaklasacaklarina inaniyorum. Evet bu adim sizin icin kucuk fakat insanlik icin daha ozgurluk icin daha kucuk bir adim olacak. Cunku siz ve ben gibi kullanicilardan cok var. Ama unutulmamasi gereken sudur "Damlaya damlaya gol olur." Neyse giris kismini biraz fazla uzattim sanki:) Konumuza yavas yavas gecelim. Linuxa ilk gecisler ve alimak isteyenler icin Linux makinamizi windows makinamiz uzerine sanal makinayla kuracagiz bugun. Boylelikle bilgisayarimiza acemilikten dolayi gelebilecek butun riskleri ortadan kaldirmis olacagiz ve gonul rahatligiyla Linux makinamizda calisabilecegiz. Simdi windows bilgisayarimiza &lt;a href="http://download.virtualbox.org/virtualbox/3.2.6/VirtualBox-3.2.6-63112-Win.exe"&gt;VirtualBox&lt;/a&gt; sanallastirma programini indiriyoruz. Yaklasik 72mb bir program. Internet hiziniza gore 15dk lik bir bekleyisten sonra programi kurmaya basliyoruz.Kurulum islermi bittikten sonra yeni kullanicilara tavsiye edebilecegim &lt;a href="http://www.blogger.com/"&gt;Pardus&lt;/a&gt; un isosunu bilgisayarimiza indiriyoruz. Bu islemde bitince Pardus isosunu ister bir cd ye yazarak istersek Daemon Tools gibi bir programla sanal bir cdrom surucu yaratip oraya mount ederek aciyoruz. Bunun sonrasinda VirtualBox programimizi aciyoruz ve New e tikliyoruz.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_DX6DD-OfHPE/TEYOptK1VpI/AAAAAAAAAHc/-A_TYU7FWuo/s1600/as.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/_DX6DD-OfHPE/TEYOptK1VpI/AAAAAAAAAHc/-A_TYU7FWuo/s400/as.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;Ekranimiza yukaridaki gibi bir ekran geliyor. Bu ekranda next diyoruz ve virtual makinemiz icin bir ad seciyoruz. Operating System kismini Linux yaptiktan sonra Version kismini Other Versiona ayarliyoruz.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_DX6DD-OfHPE/TEYPOYwvByI/AAAAAAAAAHk/xSNjZ_Rv4fQ/s1600/2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/_DX6DD-OfHPE/TEYPOYwvByI/AAAAAAAAAHk/xSNjZ_Rv4fQ/s400/2.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;Next dedikten sonra karsimiza sanal makinemize ne kadar ram vermek istedigimizi soran bir ekran cikacak. Burada benim tavsiyem 512 mb tan az ram vermeyin; Ben sistemime gore 1gb lik ram verdim.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_DX6DD-OfHPE/TEYQAFns4SI/AAAAAAAAAHs/IzBDO4wzqxM/s1600/3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/_DX6DD-OfHPE/TEYQAFns4SI/AAAAAAAAAHs/IzBDO4wzqxM/s400/3.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Next diyoruz ve asagidaki gibi bi ekran karsiliyor bizi.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_DX6DD-OfHPE/TEYRmJcKAHI/AAAAAAAAAH0/orotyWebAJY/s1600/4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&amp;nbsp;&lt;img border="0" height="298" src="http://3.bp.blogspot.com/_DX6DD-OfHPE/TEYRmJcKAHI/AAAAAAAAAH0/orotyWebAJY/s400/4.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;Bu ekranda da next diyoruz ve karsimiza harddisk icin ayarlar geliyor. Bu ayarlarda istediginiz ayarlari yapabilirsiniz. Dynamic secerseniz harddisk verdiginiz kisita kadar dinamik olarak buyur. Fixed size secerseniz belirli bir boyut her zaman ayrilmis olur harddiskinizde. Secimimizi yapiyoruz ve next diyoruz. Diger ayarlamalarida harddiskimize gore yaptiktan sonra Finish butonuna tikliyoruz. Finishe tikladiktan sonra karsimiza asagidaki gibi bir ekran cikiyor.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_DX6DD-OfHPE/TEYShxR8CfI/AAAAAAAAAH8/q9uM2M6kSL0/s1600/5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="297" src="http://4.bp.blogspot.com/_DX6DD-OfHPE/TEYShxR8CfI/AAAAAAAAAH8/q9uM2M6kSL0/s400/5.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Start butonuna tikladiktan sonra isomuzun nerede oldugunu seciyoruz.Benim bilgisayarimda sanal olarak yarattigim Fsurucusunde.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_DX6DD-OfHPE/TEYTAU1XL_I/AAAAAAAAAIE/q5KWwdojmLA/s1600/6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&amp;nbsp;&lt;img border="0" height="343" src="http://1.bp.blogspot.com/_DX6DD-OfHPE/TEYTAU1XL_I/AAAAAAAAAIE/q5KWwdojmLA/s400/6.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;Next ve Finish dedikten sonra karsimiza cikan ekranda ilk secenegi secerek kuruluma basliyoruz. GPL metnini okuyup kabul ettikten sonra ileri seceneklerine tikliyoruz. Bilgisayarimizdaki klavye ayarlarini yapiyoruz. Ileri ye tiklayip saat dilimi ayarlarinida yaptiktan sonra kullanici ve parolasini belirliyoruz ve ileri tusuna tikliyoruz. Burada da yonetici parolamizi belirliyoruz. Ileri sekmesine tikladiktan sonra karsimiza disk bolumlerndirme ekrani geliyor. Burada sanal makinemiz sadece sanal harddiski gordugu icin otomatik secili bir hade ileri tusuna tikliyoruz. Onyukleyici seciminde onerilen kismi isaretliyoruz ve tekrar ileriye tikliyoruz. Ileriye tikladiktan sonra karsimiza gelen ekranda yapmis oldugumuz ayarlari kontrol ediyoruz. Istemedigimiz bir sey varsa geri donup tekrar yapiyoruz ve Kuruluma Basla diyoruz. Eger Pardus kurulumu hakkinda resimli bilgiye ihtiyaciniz olursa &lt;a href="http://wiki.pardus-linux.org/index.php/Nas%C4%B1l:Pardus_2009_Kurulumu"&gt;bu&lt;/a&gt; kaynaktan yararlanabilirsiniz. Herhangi bi sorunuz oldugunda gungorbasa@gmail.com adresine maillerinizi bekliyorum.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-7258286789641937447?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/7258286789641937447/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2010/07/linuxa-kolay-gecis.html#comment-form' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/7258286789641937447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/7258286789641937447'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2010/07/linuxa-kolay-gecis.html' title='Linuxa Kolay Gecis'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_DX6DD-OfHPE/TEYOptK1VpI/AAAAAAAAAHc/-A_TYU7FWuo/s72-c/as.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-3898630942767374316</id><published>2010-06-24T08:33:00.000-07:00</published><updated>2010-06-24T08:35:35.372-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><category scheme='http://www.blogger.com/atom/ns#' term='Guncel ve Teknoloji'/><title type='text'>Java Teknolojileri ve Programcilari Dernegi</title><content type='html'>&lt;script language="javascript" src="http://televidyon.com/kucuk-video-paylas/2612"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;Internette Linux ile ilgili seyleri arastirirken bir anda kndimi Java Teknolojileri ve Programcilari derneginde buldum. Siteyi cok fazla inceleyememis olmama ragmen acilis sayfasinda gelen video dikkatimi cekti ve cokta hosuma gitti. Dernek baskani Altuğ Bilgin Altıntaş la yapilan soylesiyi sizlerle paylasiyorum.&lt;br /&gt;Bu arada dernegin internet adresi:&lt;a href="http://www.jtpd.org/"&gt;http://www.jtpd.org/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-3898630942767374316?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/3898630942767374316/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2010/06/java-teknolojileri-ve-programcilari.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/3898630942767374316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/3898630942767374316'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2010/06/java-teknolojileri-ve-programcilari.html' title='Java Teknolojileri ve Programcilari Dernegi'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-38967634693865142</id><published>2010-06-24T07:30:00.000-07:00</published><updated>2010-06-24T07:30:54.280-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geyik ve Ben'/><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><category scheme='http://www.blogger.com/atom/ns#' term='Guncel ve Teknoloji'/><title type='text'>Sansure Karsi Ortak Deklarasyon</title><content type='html'>Türkiye’de 10 bine yakın internet sitesine uygulanan ve gittikçe genişleyen sansür uygulamalarına karşı, aralarında Linux Kullanıcıları Derneği’nin de bulunduğu 30 sivil toplum örgütü ortak deklarasyon yayımladı.&lt;br /&gt;&lt;br /&gt;Saat 12:00′da yayımlanan bildiride, uygulanan sansürün Anayasa’ya aykırı, orantısız ve keyfi olduğu savunularak bir an önce durdurulması istendi. Bildiride, sansüre baz olarak kullanılan 5651 sayılı muğlak ‘internet yasası’nın da kaldırılması talep edildi.&lt;br /&gt;&lt;br /&gt;Bildiri metninde, “çocukların zararlı içerikten korunması” niyetiyle uygulanan engellerin yetişkinlerin haklarını ihlal etmemesi ve çoğunluğun ahlaki değerlerini diğerlerine dayatma amacıyla kullanılmaması gerektiği belirtildi.&lt;br /&gt;&lt;br /&gt;Bildirinin tam metni şöyle:&lt;br /&gt;&lt;br /&gt;“Temel Hak ve Özgürlükler Engellenemez&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1. Internet kullanıcılarının düşünce özgürlüğü ve bilgiye erişim hakkı engellenemez.&lt;br /&gt;2. Türkiye’de bireylerin, kurumların, ve şirketlerin bilişim alt yapılarını istedikleri şekilde oluşturmaları ve istedikleri servislerden yararlanmaları engellenemez. Sansür ülke ekonomisine de kabul edilemez bir bedel yüklemektedir.&lt;br /&gt;&lt;br /&gt;Hukuka Aykırı, Ölçüsüz ve Keyfi İdari İşlem Demokratik Hukuk Devletinde Kabul Edilemez&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. 03 Haziran 2010 tarihinden beri Google servislerine uygulanan dolaylı sansür Anayasa’ya ve hukukun temel ilkelerine aykırıdır. BTK ve TİB tarafından alınan karar ve uygulama ölçüsüz ve tutarsız bir uygulamadır. Bu konuya ilişkin yapılan açıklamalarda, idarenin böyle bir yetkisinin olmadığı vurgulanmıştır. Nitekim, Ankara Cumhuriyet Başsavcılığı talebi ile Ankara 1. Sulh Ceza Mahkemesi tarafından 17.06.2010 tarihinde YouTube sitesine erişim sağlayan 44 IP adresini engelleme kararı daha önce yapılan işlemin yetki bakımından hukuka aykırı olduğunu ispatlanmıştır.&lt;br /&gt;4. 1. Sulh Ceza Mahkemesi’nin 17.06.2010 tarihinde verdiği ek karar, yetki sorununu çözmüş bulunmakla birlikte, kullanıcıların anayasal haklarını dikkate almadığı için yanlıştır ve en kısa sürede kaldırılması gerekir.&lt;br /&gt;&lt;br /&gt;Sansür Amaçlı Kullanılan 5651 Sayılı Kanun Kaldırılmalıdır&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5. Erişim engelleme hukuka aykırı içeriği engellemede yetersiz bir yöntemdir. Mevcut engelleme yöntem ve araçlarının hiçbiri hukuka aykırı olduğu veya çocuklar açısından uygun olmadığı iddia edilen içeriğe ulaşmayı engelleyecek etkili bir çözüm sunmamaktadır. Erişim engelleme ile iddia edilen suçu işleyenden ziyade tüm Internet kullanıcıları cezalandırılmaktadır. Eğer filtre kullanımı gerekli görülüyorsa, bu kullanım bireyler tarafından kendi kişisel bilgisayarları üzerinde gerçekleştirilmelidir.&lt;br /&gt;6. Ayrıca, engelleme kararları sadece hukuka aykırı olduğu iddia edilen içeriğe değil, bu sistemlerin tümünün çalıştığı tek bir alanın içeriğinde bulunan milyonlarca yasal sayfa ve dosyaya da erişimi imkânsız kılmaktadır. Bu nedenle, 5651 sayılı Kanun ve uygulaması, Anayasa’da öngörülen ve AİHM tarafından geliştirilen zorunluluk ve orantılılık testlerinin gereğini yerine getirememektedir.&lt;br /&gt;7. 5651 Sayılı Kanunun uygulanması sansürle aynı kapıya çıkmaktadır. Türkiye’de mahkeme kararları ve idari engellemelerle 5000’den fazla web sitesi şu anda erişime kapatılmış bulunmaktadır. Yüzlerce web sitesi de 5651 Sayılı Kanun’un kapsamı dışında engellenmiştir. Mevcut rejimin taşıdığı esasa ve usule dair eksiklikler ifadeyi sansürleyen ve susturan bir yapı oluşturmuştur. Kanun ve uygulamasının etkileri geniştir, yalnızca ifade özgürlüğünü değil, özel yaşamın gizliliğini ve adil yargılanma hakkını da ihlâl etmektedir. Demokratik bir toplumda sansürün bu ölçüde yaygınlaşması kabul edilemez.&lt;br /&gt;8. 5651 Sayılı Kanun Kaldırılmalıdır. 5651 Sayılı Kanun, çocukları hukuka aykırı ve zararlı İnternet içeriğinden korumak amacıyla hazırlanmıştır. Fakat benimsenen engelleme politikası, hükümetin çocukları koruma amacının çok ötesine geçmektedir. Uygulamada yaygın olarak görünen sonuç, hukuka aykırı olmayan içeriğin ve 03 Haziran 2010’dan itibaren Google şirketinin Türkiye’den milyonlarca kişi tarafından kullanılan 40’a yakın servisine yetişkinlerin erişiminin ve bu servislerin kullanılmasının yasaklanması olmuştur.&lt;br /&gt;&lt;br /&gt;Çocukların Zararlı İçerikten Korunması için Öngörülen Devlet Politikası Yetişkinleri Etkilememelidir&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;9. Hükümet, mevcut politikası yerine çocukları gerçekten zararlı İnternet içeriğinden korumak için yeni bir politikayı katılımcı bir şekilde geniş kamuoyu desteği (sivil toplum, akademi, ve özel sektör) ile geliştirmelidir. Ancak bu yeni yapılanma, çoğunluğun ahlaki değerlerini diğerlerine dayatacağı bir çalışma olmamalıdır. İnternet düzenlemesine ilişkin yeni politika, ifade özgürlüğüne ve yetişkinlerin her türlü İnternet içeriğine erişim ve tüketim haklarına saygı temelinde geliştirilmelidir. Bu ilkeleri içeren yeni politika, şeffaf, açık, katılımcı, ve çoğulcu bir yöntemle belirlenmeli ve hayata geçirilmelidir.&lt;br /&gt;10. Vatandaşların Anayasa’da güvence altına alınan temel hak ve özgürlüklerini korumak hükümetin ve idarenin asli görevidir. Bu güvencenin sağlanmaması halinde sorumluların istifa etmesi demokratik bir toplumun zorunlu sonucudur. Bu nedenle, yukarıda sayılan önlemleri en kısa sürede almamaları halinde gelişmelerden sorumlu Telekomünikasyon İletişim Başkanlığı İnternet Daire Başkanlığı Başkanı Sayın Osman Nihat Şen, Bilgi Teknolojileri ve İletişim Kurumu Başkanı Sayın Tayfun Acarer ve Ulaştırma Bakanı Sayın Binali Yıldırım’ın istifa etmesi acil bir zorunluluk haline gelecektir.&lt;br /&gt;&lt;br /&gt;Kaynak : Habertux (LKD, NTVMSNBC)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-38967634693865142?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/38967634693865142/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2010/06/sansure-karsi-ortak-deklarasyon.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/38967634693865142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/38967634693865142'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2010/06/sansure-karsi-ortak-deklarasyon.html' title='Sansure Karsi Ortak Deklarasyon'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-4449534689404849865</id><published>2010-06-20T09:30:00.000-07:00</published><updated>2010-06-20T09:30:42.804-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><title type='text'>Bazi Kullanisli Linux Komutlari</title><content type='html'>Internette linux komutlarina bakarken benim ilginc ve bir o kadar da fayali buldugum birkac komuta rasladim. Bu komutlarin isinize yarayabilecegine inaniyorum.&lt;br /&gt;&lt;br /&gt;CD yi Iso dosya formatina cevirip diske kaydetme &lt;br /&gt;dd if=/dev/cdrom of=/home/username/imaj.iso&lt;br /&gt;cdrom`un iso sunu /home/username/ klasorunun icerisinde olusturur&lt;br /&gt;&lt;br /&gt;Low Level Format atma&lt;br /&gt;cat /dev/zero/ /dev/hdx/&lt;br /&gt;&lt;br /&gt;ya da&lt;br /&gt;&lt;br /&gt;if=/dev/zero of=/dev/hdx/&lt;br /&gt;&lt;br /&gt;hdx harddiskimizin hangi bolumune format atacagimiza gore degiskenlik gosteriyor&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-4449534689404849865?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/4449534689404849865/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2010/06/bazi-kullanisli-linux-komutlari.html#comment-form' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/4449534689404849865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/4449534689404849865'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2010/06/bazi-kullanisli-linux-komutlari.html' title='Bazi Kullanisli Linux Komutlari'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-371748644825379334</id><published>2010-06-04T01:20:00.000-07:00</published><updated>2010-06-04T01:20:51.115-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geyik ve Ben'/><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><category scheme='http://www.blogger.com/atom/ns#' term='Guncel ve Teknoloji'/><title type='text'>Internete Sansure Hayir</title><content type='html'>Daha youtube sansurunun neden oldugunun tam sebepleri ortaya cikmadan simdiden pes dedirtecek bir gelisme daha ortaya cikti. Artik Google in da bazi sistemlerine erisemeyecegiz. Sansurunde bu kadarina pes dogrusu. Yapilanlar neden yapiliyor bilinmez ama internete sansur konusunda Cin`e cok guclu bir rakip oldugumuz kesin. Bizler internete sansur istemiyoruz. Eger sansur yapilmasi gereken bir durum varsa kullanicilar zaten kendi sansurlerini yaparlar. Bu sekilde iletisim ve erisim ozgurlugunun kisitlanmasina hic gerek yok...&lt;div&gt;Erisemeyeceginiz ya da erisirken gucluk yasayacaginiz bazi servisler...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #666666; font-family: Arial, Helvetica, sans-serif; font-size: 16px;"&gt;&lt;ul style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 16px; font-style: inherit; font-weight: inherit; list-style-image: initial; list-style-position: initial; list-style-type: none; margin-bottom: 15px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;&lt;li class="textBodyBlack" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; font-style: inherit; font-weight: normal; line-height: 19px; list-style-image: initial; list-style-position: outside; list-style-type: disc; margin-bottom: 0px; margin-left: 15px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;Google web sitesine erişimde sorun yaşanması&lt;/li&gt;&lt;li class="textBodyBlack" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; font-style: inherit; font-weight: normal; line-height: 19px; list-style-image: initial; list-style-position: outside; list-style-type: disc; margin-bottom: 0px; margin-left: 15px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;Reklam vb. analiz verisi için web sitelerinde Google Analytics, Google Maps gibi Google uygulamalarını kullanan portal veya web sitelerine erişimlerin yavaşlaması&lt;/li&gt;&lt;li class="textBodyBlack" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; font-style: inherit; font-weight: normal; line-height: 19px; list-style-image: initial; list-style-position: outside; list-style-type: disc; margin-bottom: 0px; margin-left: 15px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;Google Toolbar yüklü bilgisayarlarda bazı sitelere yavaş erişme&lt;/li&gt;&lt;li class="textBodyBlack" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; font-style: inherit; font-weight: normal; line-height: 19px; list-style-image: initial; list-style-position: outside; list-style-type: disc; margin-bottom: 0px; margin-left: 15px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;Web sitelerin dahilinde "google search" kullanan alan adlarına erişimde yavaşlama&lt;/li&gt;&lt;li class="textBodyBlack" style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; font-style: inherit; font-weight: normal; line-height: 19px; list-style-image: initial; list-style-position: outside; list-style-type: disc; margin-bottom: 0px; margin-left: 15px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"&gt;Google uygulamalarıyla entegre ya da Google Search'e dayalı birtakım uygulamaların etkilenmesi.&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-371748644825379334?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/371748644825379334/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2010/06/internete-sansure-hayir.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/371748644825379334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/371748644825379334'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2010/06/internete-sansure-hayir.html' title='Internete Sansure Hayir'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-3119963737345734199</id><published>2010-02-11T11:10:00.000-08:00</published><updated>2010-02-11T11:11:05.313-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><title type='text'>Pardus 2009.1+Windows7</title><content type='html'>Bilgisayarim da Pardus la windowsu beraber kullaniyorum. Bilgisayarim icin gelen Vista isletim sistemini Windows 7 ye yukseltmeye karar verdim ve bu baglamda bilgisayarima format attim. Windows 7 iyi bir sekilde yuklendi. Sira Pardus kurmaya geldi. Pardusu kurarken bir de ne goreyim Pardus icin ayirdigim bolumu gormuyordu bilgisayar. Sonra internetten biraz arastirdim ve baskalarindada ayni problemin oldugunu gordum. Bende bu problemi cozmek icin soyle bir yol izledim. Pardus cd sini takip Pardusu bolumleme yaparak yukluyoruz. Daha sonra Windows 7 cd sini takip windows icin ayirdigimiz yere windows7 mizi yukluyoruz. Bu islemler bittikten sonra windows grubu siliyor ve bilgisayar acilirken Pardusu gordugumuz ekrani goremiyoruz. Bu durumdada tekrar Pardus cd sini takiyoruz ve sanki tekrar Pardus yuklermis gibi devam ediyoruz. Pardus secenek ekrani geldiginde tamir et turunde bir secenek var. Onu seciyoruz. Bir sonraki ekranda Grubu duzelti secip islemimizi tamamliyoruz. Evet, artik bilgisayarimizda hem windows7 hemde Pardus var. Gule gule kullanin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-3119963737345734199?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/3119963737345734199/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2010/02/pardus-20091windows7.html#comment-form' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/3119963737345734199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/3119963737345734199'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2010/02/pardus-20091windows7.html' title='Pardus 2009.1+Windows7'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-6901241514116414108</id><published>2010-01-27T15:57:00.000-08:00</published><updated>2010-01-27T16:52:25.572-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><category scheme='http://www.blogger.com/atom/ns#' term='Guncel ve Teknoloji'/><title type='text'>IPad</title><content type='html'>Ipad, apple in tanitimini yaptigi tablet pc. Apple in sitesinde gordugum kadariyla 9.7 inch boyutunda bir ekrana sahip olan bir iphone a benziyor. Iphone gibi 3G ve wireless ozelligine sahip. Multi touch ozelligi var ve en begendigim ozelligiyse10 saate varan pil omru.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_DX6DD-OfHPE/S2DRoW3mxGI/AAAAAAAAAFE/06YZIx_upto/s1600-h/fsa.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="600" src="http://2.bp.blogspot.com/_DX6DD-OfHPE/S2DRoW3mxGI/AAAAAAAAAFE/06YZIx_upto/s640/fsa.jpg" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://2.bp.blogspot.com/_DX6DD-OfHPE/S2DRyte1i0I/AAAAAAAAAFU/DOsFx3QknL0/s1600-h/connect_20100127.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="420" src="http://2.bp.blogspot.com/_DX6DD-OfHPE/S2DRyte1i0I/AAAAAAAAAFU/DOsFx3QknL0/s640/connect_20100127.jpg" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Yukaridaki resimlere gore kendi dusuncem olarak mukemmel bir alet. Iphone gibi oyun oynayabilmekse bu boyutlara gore enfes bir ozellik...&lt;br /&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;Buda tanitim videosu&lt;br /&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;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: 10px; white-space: pre;"&gt;&lt;object height="340" width="560"&gt;&lt;param name="movie" value="http://www.youtube.com/v/9eVCFXxgn2M&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/9eVCFXxgn2M&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/span&gt;&lt;br /&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;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-6901241514116414108?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/6901241514116414108/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2010/01/ipad.html#comment-form' title='5 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/6901241514116414108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/6901241514116414108'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2010/01/ipad.html' title='IPad'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_DX6DD-OfHPE/S2DRoW3mxGI/AAAAAAAAAFE/06YZIx_upto/s72-c/fsa.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-1536570507562579732</id><published>2009-12-06T07:32:00.000-08:00</published><updated>2009-12-06T07:32:28.018-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><title type='text'>Netbeans</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_DX6DD-OfHPE/SxvOaKyE50I/AAAAAAAAAE4/lCnq2Aqn6No/s1600-h/772px-NetBeans_IDE_6.0_on_Linux.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_DX6DD-OfHPE/SxvOaKyE50I/AAAAAAAAAE4/lCnq2Aqn6No/s400/772px-NetBeans_IDE_6.0_on_Linux.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;NetBeans&lt;/b&gt;, &lt;a href="http://tr.wikipedia.org/wiki/Sun_Microsystems" title="Sun Microsystems"&gt;Sun Microsystems&lt;/a&gt; tarafından geliştirilen bir &lt;a href="http://tr.wikipedia.org/wiki/Java" title="Java"&gt;Java&lt;/a&gt; geliştirme ortamıdır (IDE) ve ücretsiz olarak dağıtılmaktadır. Özellikle kullanıcı arayüzü tasarımında sağladığı kolaylıklardan dolayı tercih edilmektedir. Eclipse kullanimii karisik bulanlar, eclipse kullanmak istemeyenler ve benim gibi JavaFX ogrenmek isteyenler icin ideal alternatiflerdendir. Sun sirketininde destegini aldigi icin oldukca iyidir. Bu kadarlik tanitimdan sonra yukleme islemine gecelim. Yuklemek icin linke(&lt;a href="http://netbeans.org/downloads/index.html"&gt;download&lt;/a&gt;) tiklayin. Istediginiz versiyonu secin ve download islemine baslayin. Download islemi bittikten sonra elimizde nurtopu gibi bir sh uzantili dosyamiz olacaktir:)&lt;br /&gt;&lt;br /&gt;Simdiyse konsolu acip .sh uzantili dosyamizin bulundugu dizine gidelim. Burada root olup;&lt;br /&gt;&lt;br /&gt;chmod +x dosyaadi.sh&lt;br /&gt;&lt;br /&gt;komutunu verdikten sonra dosyanin uzerine cift tiklamak suretiyle yukleme islemine baslayalim. Kurulum surecinde jdk nin pathini isteyecektir. Muhtemelen benimde basima geldigi gibi bu pathi bulamayacaktir. Burada siz bulabiliyorsaniz bulun yoksa benim gibi tekrar jdk yi indirmeye baslayin:) (JDK &lt;a href="http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/java_ee_sdk-5_08-jdk-6u17-linux.bin?BundledLineItemUUID=BA5IBe.pn_kAAAElX9QdaGN4&amp;amp;OrderID=o9hIBe.pol0AAAElUtQdaGN4&amp;amp;ProductID=0ThIBe.o8_cAAAEkoaFzXphj&amp;amp;FileName=/java_ee_sdk-5_08-jdk-6u17-linux.bin"&gt;Download&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Bu islemde bittikten sonra elimizde .bin uzantili bir dosya olacaktir. Bir onceki yazimizdanda yararlanarak bu dosyamizi yukleyelim. Eger yuklenecegi yeri degistirmezseniz muhtemelen home klasorunuze yuklenecektir.&lt;br /&gt;&lt;br /&gt;Simdi tekrar netbeans yukleme ekranina geri donelim. Burada JDK icin istedigi Path kismina biraz once JDK yi kurdugumuz klasoru secelim ve ileri tusuna baslim. Yukleme islemi bitene kadar bekleyelim ve iste bu kadar:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-1536570507562579732?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/1536570507562579732/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2009/12/netbeans.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/1536570507562579732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/1536570507562579732'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2009/12/netbeans.html' title='Netbeans'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_DX6DD-OfHPE/SxvOaKyE50I/AAAAAAAAAE4/lCnq2Aqn6No/s72-c/772px-NetBeans_IDE_6.0_on_Linux.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-2656379536121064389</id><published>2009-12-06T06:05:00.000-08:00</published><updated>2009-12-06T06:08:49.433-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><title type='text'>.bin Uzantili Dosya Yukleme</title><content type='html'>Pisi iyi bir paket yoneticisi olmasina ragmen bazen istedigimiz programlari barindiramiyabiliyor ve bilgisayarimiza bu tur programlari kurmaya calistigimizda cesitli dosya uzantilariyla karsi karsiya kaliyoruz. Iste bu uzantilardan biride .bin uzantili dosyalar. bin uzantili dosyalari yukleyebilmek icin dosya uzerinde sag tikliyoruz ve birlikte ac secenegini tikliyoruz. Daha sonra buradaki search kismina sh yaziyoruz ve uc birimde calistir secenegini isaretliyoruz. Bundan sonrasi&amp;nbsp; zaten cocuk oyuncagi:)&lt;br /&gt;&lt;br /&gt;Ya da&amp;nbsp; direkt olarak konsola giriyoruz. root olduktan sonra .bin uzantili dosyamizin bulundugu yere gidiyoruz. Burada;&lt;br /&gt;&lt;br /&gt;chmod +x aaa.bin&lt;br /&gt;./aaa&lt;br /&gt;&lt;br /&gt;komutlarini vererek yine uygulamamizi yukleyebiliriz:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-2656379536121064389?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/2656379536121064389/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2009/12/bin-uzantili-dosya-yukleme.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/2656379536121064389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/2656379536121064389'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2009/12/bin-uzantili-dosya-yukleme.html' title='.bin Uzantili Dosya Yukleme'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-948056543829985168</id><published>2009-11-30T08:05:00.000-08:00</published><updated>2009-11-30T08:05:51.931-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><title type='text'>Google Chrome OS</title><content type='html'>Google bir sure once amiral gemisi olan Google Chrome OS in uzeridneki ortuyu kaldirdi ve gelcekte bu isetim sisteminin neler yapabilecegi konsunda bize fikirler vermeye basladi.Linux cekirdegi uzerine yazilmis olan bu isletim sisteminin kodlarinin da acik olacagini duyurdu.Bu bizim icin buyuk br avantaj:)&lt;br /&gt;Bu arada bircok kisi Chrome OS hakkinda bircok yazi yazdi.Benim bu yazimi farkli kilacak sey butun bu yazilari toplu bir halde tek bir resimde birlestiriyor olmak.Iste resmimiz&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_DX6DD-OfHPE/SxPr1KmaeuI/AAAAAAAAAEw/wYSRimIvSAc/s1600/google-chrome-os-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_DX6DD-OfHPE/SxPr1KmaeuI/AAAAAAAAAEw/wYSRimIvSAc/s640/google-chrome-os-2.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Yazilarin ingilizce olmasi biraz dezavantaj gibi gelebilir fakat temel duzey bir ingilizce resimi cozmemize yetecektir:)&lt;br /&gt;&lt;br /&gt;Ingilizcem biraz daha iyi ve ben daha cok bilgi sahibi olmak istiyorum diyorsaniz sizi asagidaki videolari seyretmeye davet ediyorum.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Google Chrome Nedir?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/0QRO3gKj3qw&amp;amp;rel=0&amp;amp;color1=0x234900&amp;amp;color2=0x4e9e00&amp;amp;hl=en_GB&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/0QRO3gKj3qw&amp;amp;rel=0&amp;amp;color1=0x234900&amp;amp;color2=0x4e9e00&amp;amp;hl=en_GB&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Google Chrome Konsept Aciklamasi&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/hJ57xzo287U&amp;amp;rel=0&amp;amp;color1=0x234900&amp;amp;color2=0x4e9e00&amp;amp;hl=en_GB&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/hJ57xzo287U&amp;amp;rel=0&amp;amp;color1=0x234900&amp;amp;color2=0x4e9e00&amp;amp;hl=en_GB&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Google Chrome OS Guvenlik&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/A9WVmNfgjtQ&amp;amp;rel=0&amp;amp;color1=0x234900&amp;amp;color2=0x4e9e00&amp;amp;hl=en_GB&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/A9WVmNfgjtQ&amp;amp;rel=0&amp;amp;color1=0x234900&amp;amp;color2=0x4e9e00&amp;amp;hl=en_GB&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Yazi hazirlanirken http://linuxhelp.blogspot.com/ adresinden yararlanilmistir...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-948056543829985168?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/948056543829985168/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2009/11/google-chrome-os.html#comment-form' title='3 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/948056543829985168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/948056543829985168'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2009/11/google-chrome-os.html' title='Google Chrome OS'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_DX6DD-OfHPE/SxPr1KmaeuI/AAAAAAAAAEw/wYSRimIvSAc/s72-c/google-chrome-os-2.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-6217767320837976541</id><published>2009-10-19T10:21:00.000-07:00</published><updated>2009-10-19T10:21:29.108-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geyik ve Ben'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><title type='text'></title><content type='html'>Avrupa da iki kafadar KDE4 lu bir dizustu bilgisayari almis ve insanlara windows 7 diye tanitiyorlar ve bakin yorumlar nasil geliyor.Bir kez daha linux mu windows mu?&lt;br /&gt;&lt;br /&gt;&lt;object height="330" width="400"&gt;&lt;param name="movie" value="http://www.zdnet.com.au/video/embed/22470997"&gt;&lt;/param&gt;&lt;/param&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.zdnet.com.au/video/embed/22470997" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="330"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-6217767320837976541?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/6217767320837976541/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2009/10/avrupa-da-iki-kafadar-kde4-lu-bir.html#comment-form' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/6217767320837976541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/6217767320837976541'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2009/10/avrupa-da-iki-kafadar-kde4-lu-bir.html' title=''/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-6156140535294586672</id><published>2009-09-15T14:59:00.001-07:00</published><updated>2009-09-26T15:28:56.812-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><title type='text'>JDownloader</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Bu yazimda sizlere cok kullanisli bir downloader yoneticisi olan JDownloader'i tanitmak istiyorum.Rapidshare dan tutunda FileShare a kadar 10 larca download sitesi icin destek veren bir program.Linux icin bircok download yoneticisi olmasina ragmen benim favorim JDownloader.Sifreniz olsada olmasa da download mukemmel.Her ne kadar modem reset ozelligini ben kullanmayi basaramasamda programin asil ozelligi modeminizi tanitmayi basardiginizda downloadin bitmesine gore modeme reset atip yeni download icin bekleme suresini minimuma indirmesi.Simdi size bu mukemmel programi nasil yukleyebileceginizi anlatiyorum.&lt;br /&gt;Yuklemeye baslamadan once bilgisayarinizda Java yani JRE ve JDK yuklu olmali.Yuklu degilse bunlari paket menejeri kullanarak yukleyebilirsiniz.Daha sonra asagidaki linki kullanarak programi indirmeye baslayin.&lt;br /&gt;&lt;a href="http://212.117.163.148/jd.sh" target="_blank" title="JDownloader"&gt;Download&lt;/a&gt;&lt;br /&gt;Indirme islemi bittikten sonra konsolu aciyoruz.Burada su komutunu vererek root oluyoruz.Daha sonra indirdigimiz .sh uzantili dosyanin bulundugu yere gidiyoruz.Burada asagidaki komutlari girmek suretiyle islemlerimizi tamamliyoruz.&lt;br /&gt;chmod +x jd.sh&lt;br /&gt;start jd.sh&lt;br /&gt;Artik programimiz hazir.Eger son komuttan sonra programimiz acilmadiysa biraz sonra programin uzerine cift tiklayarak programimizi kullanmaya baslayabiliriz.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-6156140535294586672?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/6156140535294586672/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2009/09/jdownloader.html#comment-form' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/6156140535294586672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/6156140535294586672'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2009/09/jdownloader.html' title='JDownloader'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-2178602742087183944</id><published>2009-09-15T14:20:00.001-07:00</published><updated>2009-09-26T15:28:21.331-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><title type='text'>MySQL Sifresi Degistirme</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Bir Pardus 2009 kullanicisi olarak MySQL server vb. paketler bilgisayarima kurulu olarak geldi.Bu guzel bir sey.Fakat mysql komutlariyla is yapmamiz gerektiginde kendi acimdan soyleyeyim bir felaket durumuna geldi bu guzellik.Bende arastirdim ve sorunumun ilacini Pardus Wikide buldum.Buyuk ihtimalle bu komutlar butun linux dagitimlari icin calisacaktir.MySQL sifrenizi unuttuysaniz ya da hic bilmiyorsaniz iste simdi asagida yazdigim komutlar imdadiniza yetisecek.Oncelikle konsolu baslatiyoruz.Her ihtimale karsin "su" somutuyla yonetici girisi yapalim.Daha sonra asagidaki komutlari sirasiyla girelim:)&lt;br /&gt;&lt;span style="font-family: 'Courier New,courier';"&gt;service mysql_server stop&lt;/span&gt; &lt;br /&gt;parolasız mySQL sunucuya girmek için aşağıdaki komutu verin: &lt;br /&gt;&lt;span style="font-family: 'Courier New,courier';"&gt;mysqld_safe --skip-grant-tables &amp;amp;&amp;amp;&lt;/span&gt; &lt;br /&gt;sonra giriş: &lt;br /&gt;&lt;span style="font-family: 'Courier New,courier';"&gt;mysql -u root&lt;/span&gt; &lt;br /&gt;sırasıyla aşağıdaki komutları verin: &lt;br /&gt;&lt;span style="font-family: 'Courier New,courier';"&gt;use mysql;&lt;/span&gt; &lt;br /&gt;&lt;span style="font-family: 'Courier New,courier';"&gt;update user set password=PASSWORD("YENI_PAROLA") where User='root';&lt;/span&gt; &lt;br /&gt;&lt;span style="font-family: 'Courier New,courier';"&gt;flush privileges;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New,courier';"&gt;bu islemler sonucunda control+z komutuyla cikis yapalim.Iste yeni parolaniz hazir.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New,courier';"&gt;Kullanici adi=root&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New,courier';"&gt;Sifre=YENI_PAROLA&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New,courier';"&gt;Yukaridaki kodda YENI_PAROLA kismini degistirerek root parolanizi degistirebilirsiniz.&lt;/span&gt;&lt;br /&gt;&lt;a href="http://tr.pardus-wiki.org/NASIL:Unutulan_MySQL_root_parolas%C4%B1n%C4%B1_kurtarmak"&gt;&lt;span style="font-family: 'Courier New,courier';"&gt;http://tr.pardus-wiki.org/NASIL:Unutulan_MySQL_root_parolas%C4%B1n%C4%B1_kurtarmak&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-2178602742087183944?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/2178602742087183944/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2009/09/mysql-sifresi-degistirme.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/2178602742087183944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/2178602742087183944'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2009/09/mysql-sifresi-degistirme.html' title='MySQL Sifresi Degistirme'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-7654662991523386161</id><published>2009-09-03T17:03:00.000-07:00</published><updated>2009-09-26T15:27:29.360-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><title type='text'>Basit Mysql Kullanımı</title><content type='html'>Bu yazımızda sizlere basit mysql tanımlarını anlatacağım.Database yaratma, database silme, tabloları gösterme vb. basit işlemleri bu yazı sonrasında yapabiliyor duruma geleceksiniz.Mysql ve mysqldb gibi paketleri kurulu olarak kabul ediyoruz ve işimşize başlıyoruz.&lt;br /&gt;Konsolumuzu açıyoruz ve aşağıdaki komutu veriyoruz&lt;br /&gt;&lt;br /&gt;&lt;b&gt;mysql -h localhost -u user_name -p&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;user_name genellikle root olur.Bu komut verildikten sonra sizden mysql kurulumu sırasında verdiğiniz şifre istenecektir.Şifrenizi doğru bir şekilde girdikten sonra mysql e bağlanılıır.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;show databases;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Bu komut bütün database leri gösterir&lt;br /&gt;&lt;br /&gt;&lt;b&gt;use database_name;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Databaselerin kullanımı için girilen komuttur&lt;br /&gt;&lt;br /&gt;&lt;b&gt;show tables;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Use komutuyla kullanıma başlanan database in içerisindeki tabloları listeler&lt;br /&gt;&lt;br /&gt;&lt;b&gt;select * from table_name;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;table_name adındaki tabloyu tamamiyle listeler.Eğer sadece belli bir satıra göre listelemek istiyorsanız bu işlem için * işareti yerine sütunların başlıklarını yazmalısınız.Örneğin tablomuzda isim diye bir bölüm var.Biz sadece bu bölümü listelemek istersek aşağıdaki komutu kullanırız.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;select isim from table_name;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;En son olarakta database imizi silmeyi anlatmak istiyorum.Database i silmek için aşağıdaki komuttan yararlanılır.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;drop database database_name;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-7654662991523386161?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/7654662991523386161/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2009/09/basit-mysql-kullanm.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/7654662991523386161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/7654662991523386161'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2009/09/basit-mysql-kullanm.html' title='Basit Mysql Kullanımı'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-454971126099146875</id><published>2009-05-30T14:57:00.000-07:00</published><updated>2009-09-26T15:26:34.593-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geyik ve Ben'/><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><title type='text'>Murphy Kanunları</title><content type='html'>&lt;span style="font-family: -webkit-sans-serif; font-size: 13px; line-height: 19px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol style="line-height: 1.5em; list-style-image: none; margin: 0.3em 0px 0px 3.2em; padding: 0px;"&gt;&lt;li style="margin-bottom: 0.1em;"&gt;Bir şeyin ters gitme olasılığı varsa, ters gidecektir.&lt;br /&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.1em;"&gt;Bir şeyin birkaç şekilde ters gitme olasılığı varsa, hep en kötü sonuç doğuracak şekilde ters gidecektir.&lt;/li&gt;&lt;li style="margin-bottom: 0.1em;"&gt;Bir şeyin ters gidebileceği olasılıkları engelleseniz bile, anında yeni bir olasılık ortaya çıkacaktır.&lt;/li&gt;&lt;li style="margin-bottom: 0.1em;"&gt;Bir şeyin olma olasılığı, istenme olasılığı ile ters orantılıdır.&lt;/li&gt;&lt;li style="margin-bottom: 0.1em;"&gt;Er ya da geç olası en kötü koşullar zincirlemesi vuku bulacaktır.&lt;/li&gt;&lt;li style="margin-bottom: 0.1em;"&gt;Ne zaman bir şeyden vazgeçseniz, vazgeçtiğiniz o şey size geri gelir.&lt;/li&gt;&lt;li style="margin-bottom: 0.1em;"&gt;Olmuyorsa zorlayın, kırılırsa zaten değişmesi gerekirdi.&lt;/li&gt;&lt;li style="margin-bottom: 0.1em;"&gt;Ne kadar beklersen bekle istendiği zaman gelecektir.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Kaptan Murphy nin 1948 yılında yaptığı bir deney sırasında cihazları yanlış bağlayan bi arkadaş sonucunda çıkarmış kanunlar. :D&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-454971126099146875?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/454971126099146875/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2009/05/murphy-kanunlar.html#comment-form' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/454971126099146875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/454971126099146875'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2009/05/murphy-kanunlar.html' title='Murphy Kanunları'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4745621070707162458.post-7936332353852029519</id><published>2009-05-03T05:04:00.000-07:00</published><updated>2009-09-26T15:25:25.891-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Wireshark'/><category scheme='http://www.blogger.com/atom/ns#' term='Gezegen'/><title type='text'>Wireshark&amp;BitTorrent</title><content type='html'>&lt;div style="text-align: justify;"&gt;Evet arkadaşlar bugünkü konumuz wireshark ve torrent(Torrent trafiği desem daha doğru:).Öncelikle size torrentin çalışma prensibini anlattıktan sonra elimden geldiğince torrent trafiğini nasıl gözlemleyebileceğinizi anlatacağım.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;BitTorrent&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;BitTorrent hepimizin bildiği gibi dosya transferleri için düzenlenmiş olan protkollerden biridir. Doğasında peer to peer bulunan bu protokol kullanıcıları direk olarak birbirlerine bağlar ancak arada tracker diye adlandırılan aksiyonları koordine eden bir server vardır.Bu trackerın sadece bağlantıları kontrol etme yetkisi bulunur gönderilen ya da alınan dosyaların içeriği görmesine izin verilmez.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Wireshark Analizi:)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bir bakalım burada şu anlık neler yapabiliriz. Şimdilik sadece size anlatabileceğim torrent trafiğini görebilmek ve torrentin hangi adres ve program kullanılarak indirildiğini bulabilmektir.&lt;br /&gt;Öncelikle wireshark programımızı açalım ve paket yakalamaya başlayalım.Daha sonra indirmek istediğimiz torrenti indirmeye başlayalım.Bir anda ekranınızda bir sürü paket dolmaya başlayacaktır.Filter kısmına gidip bu paketleri nispetende olsa biraz indirebiliriz. Ayrıca bize lazım olan paketler torrent olanlar ne de olsa.Bu yüzden filter kısmına bittorrent yazıp apply düğmesine basalım.Artık sadece torrent trafiğini izliyoruz. Karşımıza hemen 4-5 satır boyunca handshaking işlemleri çıkıyor.Bilgisayar-Server arasındaki ve data nın alınacağı kişi arasındaki bağlantı sağlanıyor. Buradan sonra requestler ve pieces lar başlıyor.Bunlarda zaten data yı indirmeye başladığımızın alameti:).&lt;br /&gt;Eh biraz zaman geçtikten sonra dosyamız iniyor.Paket kalabalığını kaldırmak için stop düğmesine basıyoruz.Filter kısmına tcp yazıyoruz ve burada biraz arama zahmetine katlanarak info kısmında sso-service ile başlayan satırı buluyoruz. Şimdi bu satır üzerinde sağ tuş tıklayıp follow tcp stream yolunu izledikten sonra artık indirilen adres ve program da karşınızda.Şimdilik bu kadar bende bu protokol hakkında daha fazla şey öğrendikçe sizlere aktarmaya devam edeceğim.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;BitTorrent Filter's&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;table class="shaded" style="margin-left: 0px; margin-right: 0px; text-align: left;" summary=""&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;Field name&lt;br /&gt;&lt;/th&gt;&lt;th&gt;Type&lt;br /&gt;&lt;/th&gt;&lt;th&gt;Description&lt;br /&gt;&lt;/th&gt;&lt;th&gt;Versions&lt;br /&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.azureus_msg&lt;br /&gt;&lt;/td&gt;&lt;td&gt;None&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Azureus Message&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.bdict&lt;br /&gt;&lt;/td&gt;&lt;td&gt;None&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Dictionary&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.bdict.entry&lt;br /&gt;&lt;/td&gt;&lt;td&gt;None&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Entry&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.bint&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Signed 32-bit integer&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Integer&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.blist&lt;br /&gt;&lt;/td&gt;&lt;td&gt;None&lt;br /&gt;&lt;/td&gt;&lt;td&gt;List&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.bstr&lt;br /&gt;&lt;/td&gt;&lt;td&gt;String&lt;br /&gt;&lt;/td&gt;&lt;td&gt;String&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.bstr.length&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Unsigned 32-bit integer&lt;br /&gt;&lt;/td&gt;&lt;td&gt;String Length&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.info_hash&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Byte array&lt;br /&gt;&lt;/td&gt;&lt;td&gt;SHA1 Hash of info dictionary&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.jpc.addr&lt;br /&gt;&lt;/td&gt;&lt;td&gt;String&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Cache Address&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.jpc.addr.length&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Unsigned 32-bit integer&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Cache Address Length&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.jpc.port&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Unsigned 32-bit integer&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Port&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.jpc.session&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Unsigned 32-bit integer&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Session ID&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.length&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Unsigned 32-bit integer&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Field Length&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.msg&lt;br /&gt;&lt;/td&gt;&lt;td&gt;None&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Message&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.msg.aztype&lt;br /&gt;&lt;/td&gt;&lt;td&gt;String&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Message Type&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.msg.bitfield&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Byte array&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Bitfield data&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.msg.length&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Unsigned 32-bit integer&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Message Length&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.msg.prio&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Unsigned 8-bit integer&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Message Priority&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.msg.type&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Unsigned 8-bit integer&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Message Type&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.msg.typelen&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Unsigned 32-bit integer&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Message Type Length&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.peer_id&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Byte array&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Peer ID&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.piece.begin&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Unsigned 32-bit integer&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Begin offset of piece&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.piece.data&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Byte array&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Data in a piece&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.piece.index&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Unsigned 32-bit integer&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Piece index&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.piece.length&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Unsigned 32-bit integer&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Piece Length&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.protocol.name&lt;br /&gt;&lt;/td&gt;&lt;td&gt;String&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Protocol Name&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.protocol.name.length&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Unsigned 8-bit integer&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Protocol Name Length&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;bittorrent.reserved&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Byte array&lt;br /&gt;&lt;/td&gt;&lt;td&gt;Reserved Extension Bytes&lt;br /&gt;&lt;/td&gt;&lt;td&gt;0.99.0 to 1.0.7&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4745621070707162458-7936332353852029519?l=gungorbasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gungorbasa.blogspot.com/feeds/7936332353852029519/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://gungorbasa.blogspot.com/2009/05/wireshark.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/7936332353852029519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4745621070707162458/posts/default/7936332353852029519'/><link rel='alternate' type='text/html' href='http://gungorbasa.blogspot.com/2009/05/wireshark.html' title='Wireshark&amp;BitTorrent'/><author><name>Güngör Basa</name><uri>https://profiles.google.com/107355435880663253781</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-IiOAh3d9SrY/AAAAAAAAAAI/AAAAAAAAAMY/JUeeJr1ngYI/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry></feed>
