<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Çağdaş&#039;ın Günlüğü &#187; GNU</title>
	<atom:link href="http://www.cagdastopcu.com/category/gnu/feed" rel="self" type="application/rss+xml" />
	<link>http://www.cagdastopcu.com</link>
	<description>THE GNU HARDWARE DEVELOPER</description>
	<lastBuildDate>Tue, 04 Oct 2011 14:50:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Linux BackTrack 5 Kitabı Çıktı</title>
		<link>http://www.cagdastopcu.com/linux-backtrack-5-kitabi-cikti.html</link>
		<comments>http://www.cagdastopcu.com/linux-backtrack-5-kitabi-cikti.html#comments</comments>
		<pubDate>Tue, 04 Oct 2011 14:50:51 +0000</pubDate>
		<dc:creator>cagdas</dc:creator>
				<category><![CDATA[GNU]]></category>
		<category><![CDATA[programlama]]></category>
		<category><![CDATA[backtrack]]></category>
		<category><![CDATA[güvenlik]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[inceleme]]></category>
		<category><![CDATA[kitap]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[metasploit]]></category>
		<category><![CDATA[nmap]]></category>
		<category><![CDATA[penetration]]></category>
		<category><![CDATA[test]]></category>

		<guid isPermaLink="false">http://www.cagdastopcu.com/?p=486</guid>
		<description><![CDATA[Kemal Demirez&#8217;in yeni kitabı Linux BackTrack 5 çıktı. Bugün aldım çok merak ettiğim konular var içerisinde. Fiyatı kitapçılarda 20 lira. Ancak yazarına ulaşarak incelemek için ücretsiz olarak temin eden ubuntu-tr kullanıcısı da var. Kitap daha çok nereden başlayacağını bilmeyen güvenlikle alakalı konuları merak eden insanlar için yazılmış. Bölüm bölüm içindekileri aktarmaya çalışacağım: 1- Tanımlar Güvenlik &#8230; </p><p><a class="more-link block-button" href="http://www.cagdastopcu.com/linux-backtrack-5-kitabi-cikti.html">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p><img class="alignnone" title="BackTrack Logo" src="http://upload.wikimedia.org/wikipedia/commons/0/09/Backtrack_logo.png" alt="" width="647" height="152" /></p>
<p>Kemal Demirez&#8217;in yeni kitabı Linux BackTrack 5 çıktı. Bugün aldım çok merak ettiğim konular var içerisinde. Fiyatı kitapçılarda 20 lira. Ancak yazarına ulaşarak incelemek için ücretsiz olarak temin eden ubuntu-tr kullanıcısı da var. Kitap daha çok nereden başlayacağını bilmeyen güvenlikle alakalı konuları merak eden insanlar için yazılmış.</p>
<p>Bölüm bölüm içindekileri aktarmaya çalışacağım:<br />
<strong><br />
1- Tanımlar</strong></p>
<p>Güvenlik ve internetle ilgili temel tanımlar var. Porttan Buffer Overflow&#8217;a kadar bir çok terim kısa kısa açıklanmış.</p>
<p><strong>2- BackTrack 5 Kurulumu</strong></p>
<p>Vmware üzerine kurulumu anlatılmış ve genel olarak BackTrack 5 dağıtımı hakkında bilgiler verilmiş.</p>
<p><strong>3- Linux Shell ve Konsol</strong></p>
<p>Basit shell komutları, genel olarak penetrasyon ve test methodları ile izlenen yollar anlatılmış.</p>
<p><strong>4- BackTrack Araçları<br />
</strong></p>
<p>En güzel bölüm bu sanırım. WireShark&#8217;tan Metasploit&#8217;e bir çok program giriş seviyesinde anlatılmış.</p>
<p><strong>5- Forensics</strong></p>
<p><strong>6- Raporlama Araçları</strong></p>
<p>Güvenlikle alakalı konuları merak edenler için güzel bir giriş kaynağı. Okudukça yorumlarımı paylaşacağım.</p>
<div class="shr-publisher-486"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom --><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.cagdastopcu.com/linux-backtrack-5-kitabi-cikti.html&via=cagdastopcucom&text=Linux BackTrack 5 Kitabı Çıktı&related=cagdastopcu.com:official twitter of cagdastopcu.com&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.cagdastopcu.com/linux-backtrack-5-kitabi-cikti.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Arm Cortex Programlama &#8211; 1</title>
		<link>http://www.cagdastopcu.com/arm-cortex-programlama-1.html</link>
		<comments>http://www.cagdastopcu.com/arm-cortex-programlama-1.html#comments</comments>
		<pubDate>Mon, 03 Oct 2011 15:01:23 +0000</pubDate>
		<dc:creator>cagdas</dc:creator>
				<category><![CDATA[elektronik]]></category>
		<category><![CDATA[GNU]]></category>
		<category><![CDATA[programlama]]></category>
		<category><![CDATA[Robotik]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[board]]></category>
		<category><![CDATA[cortex]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[freertos]]></category>
		<category><![CDATA[lpc1114]]></category>
		<category><![CDATA[lpcxpresso]]></category>
		<category><![CDATA[m0]]></category>
		<category><![CDATA[real time]]></category>
		<category><![CDATA[real time programming]]></category>
		<category><![CDATA[rtos]]></category>
		<category><![CDATA[task]]></category>
		<category><![CDATA[thread]]></category>

		<guid isPermaLink="false">http://www.cagdastopcu.com/?p=474</guid>
		<description><![CDATA[Arm Cortex M serisi ile maceram yeni başladı. Arm Cortex programlama hakkında öğrendiklerimi yazı dizisi halinde yayınlamayı düşünüyorum. Bu ilk yazım bir nevi hello world yazısı olacak. Taskler ve onların tanıtılıp yaratılması ile real time programlamaya giriş yapılacak. Kullandığım Araçlar: Kit (Donanım): LPC 1114 LPCXpresso kiti. Üzerinde Arm Cortex M0 var. Usb kablo ile enerjilenebiliyor &#8230; </p><p><a class="more-link block-button" href="http://www.cagdastopcu.com/arm-cortex-programlama-1.html">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p><a href="http://www.cagdastopcu.com/wp-content/uploads/2011/10/arm_cortex-m0_cagdas_topcu_design.jpg"><img class="size-medium wp-image-481 alignleft" title="arm_cortex-m0_cagdas_topcu_design" src="http://www.cagdastopcu.com/wp-content/uploads/2011/10/arm_cortex-m0_cagdas_topcu_design-300x267.jpg" alt="" width="300" height="267" /></a></p>
<p>Arm Cortex M serisi ile maceram yeni başladı. Arm Cortex programlama hakkında öğrendiklerimi yazı dizisi halinde yayınlamayı düşünüyorum. Bu ilk yazım bir nevi hello world yazısı olacak. Taskler ve onların tanıtılıp yaratılması ile real time programlamaya giriş yapılacak.</p>
<p><strong>Kullandığım Araçlar:</strong></p>
<p>Kit (Donanım): LPC 1114 LPCXpresso kiti. Üzerinde Arm Cortex M0 var. Usb kablo ile enerjilenebiliyor ve programlanabiliyor.</p>
<p>İşletim Sistemi: Ubuntu 11.04 Gnome Classic</p>
<p>LPCXpresso (IDE): Programları yazıp, derleyip kitimize yükleyebildiğimiz eclipse tabanlı IDE.</p>
<p>FreeRTOS: Küçük boyutlarda Real Time (gerçek zamanlı) işletim sistemi. LPC 1114 için oluşturulmuş hazır proje örneğini direkt atabiliyorsunuz kitinize.</p>
<p><strong>Başlamadan Önce Önemli Not:</strong> Yazdığınız kodları kitinize atmanız zaman alabilir veya atarken donmalar olabilir, bazen de haza verebilir. Bunun gibi şeylerle karşılaştığınızda LPCXpresso&#8217;yu kapatın. Cihanızın USB kablosunu ayırın ve LPCXpressoyu yeniden çalıştırıp yükleme işlemini tekrarlayın. Yılmayın kodunuzda hata olmadığı sürece tekrar deneyin. Üçüncü denemenizde muhtemelen olacaktır. FreeRTOS&#8217;u içine gömdüğünüz için biraz uzun sürüyor ve hata verebiliyor.</p>
<p>Gerçek Zamanlı sistemleri basitleştirmek için aynı anda bir çok işi yapabilme olarak düşünebiliriz. Daha düzgün bir tanımı için belki bir yazı daha yazabilirim. Böylece ufacık kitinizde bir program parçası sensörden veri okurken diğer bir program parçası da internetten gelebilecek istekleri bekler konumda tutulabilir. Bu program parçacıklarına Task diyoruz.</p>
<p><strong>Task / Thread Nedir, Neden Gereklidir?</strong></p>
<p>Task aslında programcıların bildiği threaddir. Ancak gömülü sistemlerde task terimi daha çok kullanılmaktadır. Task nedir sorusunun yanıtı aslında neden kullanılır sorusunun yanıtıdır. Diyelim iki sonsuz döngünüz var kodunuzun içinde ve çalıştırdınız. Programınız birinci döngüye girer ve döngüyü kırmadığınız sürece oradan çıkamaz. Ancak elimizde iki tane sonsuz döngü var ve biz bu iki işlemin de sürekli olarak yapılmasını istiyoruz! İşte burada thread / task kavramı ortaya giriyor. İki task oluşturuyoruz ve işlemcinin bu ikisini de yapabilmesini sağlıyoruz.</p>
<p><strong>FreeRTOS</strong></p>
<p>Kendi seçimim olmayan hazır örneği olduğu için başlangıçta kullanıp real sistemlerini öğrenmeyi hedeflediğim işletim sistemi. Open-Source ve küçük boyutlarda olması en büyük artısı ancak kullanım klavuzu 60 dolar. İnternette bulmama rağmen hiç de hoşnut değilim. 170 sayfalık kitapçığın 60 dolara satılması gereksiz. En azından sitede başlangıç için bir iki makale olmasını isterdim o da yok. En kısa zamanda linux tabanlı veya açık kaynaklı daha düzgün bir RT sistemine geçmeyi planlıyorum.</p>
<p>FreeRTOS&#8217;un en güzel yanı ise elimizde src/ dizininin altında bir main.c dosyası olması ve onunla istediğimiz gibi oynayabilmemiz. Ayrıca ayarlamalar için diğer kütüphane dosyalarında oynamalar yapmamız gerekecektir ileride ancak başlangıç için hiçbir ayar yapmadan kodunuzu yazabiliyorsunuz.</p>
<p><strong>Task / Thread Tanımlama</strong></p>
<p>Açıkçası çok kolay geldi. Generik bir pointerla void olarak fonksiyonumuzu tanımlamamız yeterli. Elbette içinde bir sonsuz döngü olması mantıklı. Yoksa neden task kullanalım <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Aşağıdaki kodda iki task oluşturduk. Bunun gibi bir çok taski kolayca oluşturabiliriz. Aşağıdaki kodda debug_puts fonksiyonu ile LPCXpresso&#8217;nun konsoluna hello world&#8217;umuzu yazdırmış oluyoruz.</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">void</span> vTaskDebuggerHeartbeat1<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span> <span style="color: #339933;">*</span>pvParameters<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		debug_puts<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Merhaba Dunya! &amp;gt;&amp;gt; Task1&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		vTaskDelay<span style="color: #009900;">&#40;</span>configTICK_RATE_HZ<span style="color: #339933;">*</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> vTaskDebuggerHeartbeat2<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span> <span style="color: #339933;">*</span>pvParameters<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		debug_puts<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Merhaba Dunya! &amp;gt;&amp;gt; Task2&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		vTaskDelay<span style="color: #009900;">&#40;</span>configTICK_RATE_HZ<span style="color: #339933;">*</span><span style="color: #0000dd;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><strong>Task / Thread Yaratma</strong></p>
<p>Sıra geldi tanıttığımız taskleri kullanmaya: bunun için C API&#8217;nin xTaskCreate() methodunu kullanıyoruz. Bu fonksiyonları tahmin edilebileceği gibi main methodunun içinde kullanmalıyız.</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">xTaskCreate<span style="color: #009900;">&#40;</span> vTaskDebuggerHeartbeat1<span style="color: #339933;">,</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">const</span> <span style="color: #993333;">signed</span> portCHAR <span style="color: #339933;">*</span> <span style="color: #993333;">const</span><span style="color: #009900;">&#41;</span><span style="color: #ff0000;">&quot;ping&quot;</span><span style="color: #339933;">,</span> configMINIMAL_STACK_SIZE<span style="color: #339933;">,</span>
			NULL<span style="color: #339933;">,</span> <span style="color: #0000dd;">3</span><span style="color: #339933;">,</span> NULL<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
xTaskCreate<span style="color: #009900;">&#40;</span> vTaskDebuggerHeartbeat2<span style="color: #339933;">,</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">const</span> <span style="color: #993333;">signed</span> portCHAR <span style="color: #339933;">*</span> <span style="color: #993333;">const</span><span style="color: #009900;">&#41;</span><span style="color: #ff0000;">&quot;ping1&quot;</span><span style="color: #339933;">,</span> configMINIMAL_STACK_SIZE<span style="color: #339933;">,</span>
			NULL<span style="color: #339933;">,</span> <span style="color: #0000dd;">3</span><span style="color: #339933;">,</span> NULL<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Ardından FreeRTOS Scheduler&#8217;ı başlatılır:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">vTaskStartScheduler<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Eğer tek bir işlemci vsadarsa, işlemci üzerinde anlık olarak sadece bir task çalışabilir. Ardından başka bir taske geçilir. Bu sebeple taskin iki durumundan sözedebiliriz: Running ve not running. Not running&#8217;de başka şeyler de var. Ama kolaylık olsun diye şimdilik böyle ayırdık. Not running kısmında taskin durumu kaydedilir ve resume olması beklenir. Aşağıdaki şekil daha açıklayıcı olabilir:</p>
<p>&nbsp;</p>
<div class="mceTemp mceIEcenter">
<dl id="attachment_475" class="wp-caption aligncenter" style="width: 310px;">
<dt class="wp-caption-dt"><a href="http://www.cagdastopcu.com/wp-content/uploads/2011/10/cagdas_task_life_cycle_embedded_free_rtos.png"><img class="size-medium wp-image-475" title="cagdas_task_life_cycle_embedded_free_rtos" src="http://www.cagdastopcu.com/wp-content/uploads/2011/10/cagdas_task_life_cycle_embedded_free_rtos-300x189.png" alt="" width="300" height="189" /></a></dt>
</dl>
</div>
<p>&nbsp;</p>
<p>Task geçişi not running kısmından running kısmına geçince “switching in” veya “swapped in” denilir. Tam tersi için ise “switched out” veya “swapped out” denilir. FreeRTOS Schedulerı bu switch in ve out işini yapan tek birimdir.</p>
<p><strong>Pragramın Çalıştırılması</strong></p>
<p>Eklediğimiz kısımlarla kodumuzu kaydediyoruz ve freertos projesine sağ tıklayıp run diyerek kodumuzu atıyoruz. Sonuç olarak LPCXpresso konsolunda aşağıdakine benzer bir çıktı aldım.</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">Merhaba Dunya<span style="color: #339933;">!</span> <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;&amp;</span>gt<span style="color: #339933;">;</span> Task1
Merhaba Dunya<span style="color: #339933;">!</span> <span style="color: #339933;">&gt;&gt;</span> Task2
Merhaba Dunya<span style="color: #339933;">!</span> <span style="color: #339933;">&gt;&gt;</span> Task1
Merhaba Dunya<span style="color: #339933;">!</span> <span style="color: #339933;">&gt;&gt;</span> Task2
Merhaba Dunya<span style="color: #339933;">!</span> <span style="color: #339933;">&gt;&gt;</span> Task1
Merhaba Dunya<span style="color: #339933;">!</span> <span style="color: #339933;">&gt;&gt;</span> Task2</pre></div></div>

<p><strong> Sonuç</strong></p>
<p>Başka bir programlama dilinde thread kavramına hakimseniz çok da zorlanıcağınızı düşünmüyorum. Çalışmalarıma devam edip yeni şeyler öğrendikçe buradan yazmaya devam edeceğim. Ayrıca RTOS için önerilere açığım. Kendi sistemim için herhangi bir RTOS&#8217;u nasıl uygun hale getireceğim konusunda bilgi ve tecrübe eksikliğim var. Yardımcı olabilicekler varsa buradan yazabilirlerse sevinirim.</p>
<div class="shr-publisher-474"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom --><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.cagdastopcu.com/arm-cortex-programlama-1.html&via=cagdastopcucom&text=Arm Cortex Programlama - 1&related=cagdastopcu.com:official twitter of cagdastopcu.com&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.cagdastopcu.com/arm-cortex-programlama-1.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Java ile Thread Kullanarak Socket Programlama</title>
		<link>http://www.cagdastopcu.com/java-ile-thread-kullanarak-socket-programlama.html</link>
		<comments>http://www.cagdastopcu.com/java-ile-thread-kullanarak-socket-programlama.html#comments</comments>
		<pubDate>Fri, 30 Sep 2011 13:32:42 +0000</pubDate>
		<dc:creator>cagdas</dc:creator>
				<category><![CDATA[GNU]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[programlama]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[socket]]></category>

		<guid isPermaLink="false">http://www.cagdastopcu.com/?p=469</guid>
		<description><![CDATA[Bu yazımda çok işlevsel olmasa da Android için telnet client&#8217;ı yazarken kullandığım echo server kodlarını anlatacağım. NIO paketini kullanmadığım için aslında çok da sağlıklı değil ve her bağlantı için ayrıca bir thread oluşturulmaktadır. Bu nedenle çok fazla yüklenmelere dayanamayacak bir server olacak bizimkisi. Önce Java&#8217;da socket işleri nasıl yürüyor ona bakalım. Javada ServerSocket ve Socket &#8230; </p><p><a class="more-link block-button" href="http://www.cagdastopcu.com/java-ile-thread-kullanarak-socket-programlama.html">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>Bu yazımda çok işlevsel olmasa da Android için telnet client&#8217;ı yazarken kullandığım echo server kodlarını anlatacağım. NIO paketini kullanmadığım için aslında çok da sağlıklı değil ve her bağlantı için ayrıca bir thread oluşturulmaktadır. Bu nedenle çok fazla yüklenmelere dayanamayacak bir server olacak bizimkisi.</p>
<p>Önce Java&#8217;da socket işleri nasıl yürüyor ona bakalım. Javada ServerSocket ve Socket olmak üzere kullanıma hazır iki socket türü var(Aslında LocalSocket de var). Server sürekli bekleme işini yaptığımız ve dışardan birisi bağlanırsa ona gereken cevabı verdirttiğimiz makinede sürekli çalışmak zorunda olan programımız. ServerSocket sınıfının constructoru ile hangi porttan bu server hizmetini vereceğimizi belirlememiz gerekiyor.</p>
<p><strong>Olay ise şundan ibaret:</strong></p>
<p>1- ServerSocket&#8217;imiz bir portu izler durur.</p>
<p>2- Client bir Socket yardımıyla bizim Server&#8217;ımızın portuna naber der.</p>
<p>3- ServerSocket bu bağlantıyı accept() static methoduyla aldıktan sonra bir socket oluşturur.</p>
<p>4- Bu oluşturulan socket ile haberleşirler. Ve mutlu son <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Neden Thread Kullanmalıyım?</strong></p>
<p>Çok basit! Server&#8217;a birden fazla client&#8217;ın bağlanabilmesi için bu yapılır. Client tarafından gelen verinin ne kadar sürede geleceği belli değildir. Bu sebeple o verilerin alınma işlemleri bir thread&#8217;ın run methodunun içine gömülür. Ardından serverda start() static methodu ile thread çalıştırılır.</p>
<p><strong>Server&#8217;ımızın Kodu:</strong></p>
<p>&nbsp;</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">com.cagdas.network</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.IOException</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.net.InetAddress</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.net.ServerSocket</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.net.Socket</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> EnterpriseEchoServer <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #008000; font-style: italic; font-weight: bold;">/**
	 * @param args
	 */</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003399;">ServerSocket</span> ss<span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
			ss <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">ServerSocket</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">23</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">InetAddress</span>.<span style="color: #006633;">getLocalHost</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot; hazir&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
				<span style="color: #003399;">Socket</span> s <span style="color: #339933;">=</span> ss.<span style="color: #006633;">accept</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>s.<span style="color: #006633;">getInetAddress</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getHostName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot; &quot;</span>
						<span style="color: #339933;">+</span> s.<span style="color: #006633;">getInetAddress</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getHostAddress</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot; baglandi&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">new</span> EESThreadPart<span style="color: #009900;">&#40;</span>s<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">// TODO Auto-generated catch block</span>
			e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #666666; font-style: italic;">// Telnet hizmeti</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Burada 23 numaralı telnet portunu seçtim. Kodda görüldüğü üzere s socketi serversocketinin accept metodu ile gelen isteği kabul edilip oluşturuluyor. getInetAdress() methodu ile bağlanan kişinin bilgileri HostName ve HostAdress gibi bilgileri alınabiliyor. Ardından s socketi thread&#8217;li kısma gönderiliyor.</p>
<p>&nbsp;</p>
<p><strong>Thread kullanılan Sınıf</strong></p>
<p>&nbsp;</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">com.cagdas.network</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.IOException</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.PrintStream</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.net.Socket</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.Scanner</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> EESThreadPart <span style="color: #000000; font-weight: bold;">extends</span> <span style="color: #003399;">Thread</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">Socket</span> s<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> EESThreadPart<span style="color: #009900;">&#40;</span><span style="color: #003399;">Socket</span> s<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">s</span> <span style="color: #339933;">=</span> s<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> run<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003399;">PrintStream</span> pr<span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
			pr <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">PrintStream</span><span style="color: #009900;">&#40;</span>s.<span style="color: #006633;">getOutputStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			Scanner sc <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Scanner<span style="color: #009900;">&#40;</span>s.<span style="color: #006633;">getInputStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			pr.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Server'a baglandiniz. Cikmak icin bye yazin.&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Client'a</span>
			<span style="color: #003399;">String</span> gelen<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// gonderiliyor</span>
			<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #666666; font-style: italic;">// sonsuz dongu</span>
				gelen <span style="color: #339933;">=</span> sc.<span style="color: #006633;">nextLine</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// client'dan geliyor</span>
				<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>gelen.<span style="color: #006633;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">equalsIgnoreCase</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;bye&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
					<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Client:&quot;</span> <span style="color: #339933;">+</span> gelen<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				pr.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Echo:&quot;</span> <span style="color: #339933;">+</span> gelen<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
			s.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>
					.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>s.<span style="color: #006633;">getInetAddress</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getHostName</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot; &quot;</span>
							<span style="color: #339933;">+</span> s.<span style="color: #006633;">getInetAddress</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getHostAddress</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
							<span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot; serverdan cikti!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #666666; font-style: italic;">// TODO Auto-generated catch block</span>
			e.<span style="color: #006633;">printStackTrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Burada PrintStream kullanılarak Client&#8217;a veri gönderilmiş ve ondan gelenler de Scanner yardımıyla sonsuz döngü içerisinde beklenmiştir. Bye yazıca client ile bağlantıyı sağlayan socket sonlandırılmakta.</p>
<p><strong>Server&#8217;ımızı Nasıl Deneriz?</strong></p>
<p>Telnet portunu (23) kullanmamızın bir nedeni vardı <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Herhangi bir telnet clientı ile programınız çalışıyorken denemelerinizi yapabilirsiniz. Mesela ubuntuda şöyle kullanılabilir:</p>
<p>cagdas@cagdas-K53SV:~$ telnet<br />
telnet&gt; open localhost<br />
Trying 127.0.0.1&#8230;<br />
Connected to localhost.<br />
Escape character is &#8216;^]&#8217;.<br />
Server&#8217;a baglandiniz. Cikmak icin bye yazin.</p>
<div class="shr-publisher-469"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom --><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.cagdastopcu.com/java-ile-thread-kullanarak-socket-programlama.html&via=cagdastopcucom&text=Java ile Thread Kullanarak Socket Programlama&related=cagdastopcu.com:official twitter of cagdastopcu.com&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.cagdastopcu.com/java-ile-thread-kullanarak-socket-programlama.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Android XML Uygulaması</title>
		<link>http://www.cagdastopcu.com/android-xml-uygulamasi.html</link>
		<comments>http://www.cagdastopcu.com/android-xml-uygulamasi.html#comments</comments>
		<pubDate>Sun, 03 Apr 2011 15:04:24 +0000</pubDate>
		<dc:creator>cagdas</dc:creator>
				<category><![CDATA[GNU]]></category>
		<category><![CDATA[programlama]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[izleme]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[parse]]></category>
		<category><![CDATA[parsing]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.cagdastopcu.com/?p=357</guid>
		<description><![CDATA[Android işletim sistemi üzerine çalışırken working with xml on android makalesine denk geldim. XML parsing üzerine yazılmış çok güzel bir yazı. Buradaki proje dosyasını indirip bazı geliştirmeler yaparak kısa sürede internetten xml dosyasını çekip bunun üzerinde işlemlerinizi yapabilirsiniz. XML parsing internet sitelerinde kullanılabileceği gibi bir endüstriyel otomasyon sistemlerinden verilerin anlık olarak android telefon üzerinden izlenmesini &#8230; </p><p><a class="more-link block-button" href="http://www.cagdastopcu.com/android-xml-uygulamasi.html">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>Android işletim sistemi üzerine çalışırken <a href="http://www.ibm.com/developerworks/opensource/library/x-android/index.html?ca=dgr-lnxw82Android-XML&amp;S_TACT=105AGX59&amp;S_CMP=grlnxw82">working with xml on android</a> makalesine denk geldim. XML parsing üzerine yazılmış çok güzel bir yazı. Buradaki proje dosyasını indirip bazı geliştirmeler yaparak kısa sürede internetten xml dosyasını çekip bunun üzerinde işlemlerinizi yapabilirsiniz. XML parsing internet sitelerinde kullanılabileceği gibi bir endüstriyel otomasyon sistemlerinden verilerin anlık olarak android telefon üzerinden izlenmesini de mümkün hale getiriyor. Yani uygulama alanı sınırsız bir konu =)</p>
<p>Projede FeedParserFactory.java ve string.xml dosyalarını değiştirerek hızlıca çalışıp çalışmadığını kontrol edebilirsiniz. Kendi sitemin /feed.xml dosyasını çektim ve aşağıdaki rss beslemesini elde ettim. Ayrıca konu başlıklarına tıklayarak sitenin kendisine bağlanmak da mümkün.</p>
<p><a href="http://www.ibm.com/developerworks/apps/download/index.jsp?contentid=398121&amp;filename=AndroidXml.zip&amp;method=http&amp;locale=worldwide">Android XML parsing apisini</a> indirip sizde xml işlemlerine başlayabilirsiniz.</p>
<p><a href="http://www.cagdastopcu.com/wp-content/uploads/2011/04/xmlonandroid.png"><img class="aligncenter size-medium wp-image-358" title="xmlonandroid" src="http://www.cagdastopcu.com/wp-content/uploads/2011/04/xmlonandroid-260x300.png" alt="" width="260" height="300" /></a></p>
<p>Basit bir şekilde renk ve tema değişikliğiyle biraz şeffaf, esc tuşuyla ana ekrana hızlıca geçilen daha kullanışlı bir hale getirebiliriz.</p>
<p>AndroidMainfest.xml dosyasında şu değişikliği yapmak lazım temayı değişirmek için:</p>
<blockquote><p>&lt;activity android:name=&#8221;.MessageList&#8221;<br />
android:label=&#8221;@string/app_name&#8221;<br />
android:theme=&#8221;@android:style/Theme.Dialog&#8221;&gt;</p></blockquote>
<p>Sonuç çok güzel <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://www.cagdastopcu.com/wp-content/uploads/2011/04/androidxml1.png"><img class="aligncenter size-medium wp-image-362" title="androidxml1" src="http://www.cagdastopcu.com/wp-content/uploads/2011/04/androidxml1-184x300.png" alt="" width="184" height="300" /></a></p>
<div class="shr-publisher-357"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom --><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.cagdastopcu.com/android-xml-uygulamasi.html&via=cagdastopcucom&text=Android XML Uygulaması&related=cagdastopcu.com:official twitter of cagdastopcu.com&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.cagdastopcu.com/android-xml-uygulamasi.html/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>İlk Android Programım</title>
		<link>http://www.cagdastopcu.com/ilk-android-programi.html</link>
		<comments>http://www.cagdastopcu.com/ilk-android-programi.html#comments</comments>
		<pubDate>Thu, 24 Mar 2011 22:51:35 +0000</pubDate>
		<dc:creator>cagdas</dc:creator>
				<category><![CDATA[GNU]]></category>
		<category><![CDATA[programlama]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[yazılım]]></category>

		<guid isPermaLink="false">http://www.cagdastopcu.com/?p=348</guid>
		<description><![CDATA[Sonunda ilk kodumu çalıştırmayı başardım. Google Android SDK ile gelen emulatör 15 dakikada açılıyor ve programlarımı çalıştıramıyordum. Biraz araştırınca bu sorunun herkeste olduğunu gördüm. Ardından bilgisayarımı yedekleyip formatı çaktım Daha hızlandı mı dersiniz? Eh 15 dakika olmasa da 5 dakikada açılıyor artık android oyuncağım. İşin püf noktası emulatörü sadece bir defa açıp uygulamaları modifiye ettikçe &#8230; </p><p><a class="more-link block-button" href="http://www.cagdastopcu.com/ilk-android-programi.html">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p><a href="http://www.cagdastopcu.com/wp-content/uploads/2011/03/ilkandroid.png"><img class="aligncenter size-medium wp-image-349" title="ilkandroid" src="http://www.cagdastopcu.com/wp-content/uploads/2011/03/ilkandroid-300x278.png" alt="Android İlk Projem" width="300" height="278" /></a></p>
<p>Sonunda ilk kodumu çalıştırmayı başardım. Google Android SDK ile gelen emulatör 15 dakikada açılıyor ve programlarımı çalıştıramıyordum. Biraz araştırınca bu sorunun herkeste olduğunu gördüm. Ardından bilgisayarımı yedekleyip formatı çaktım <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Daha hızlandı mı dersiniz? Eh 15 dakika olmasa da 5 dakikada açılıyor artık android oyuncağım. İşin püf noktası emulatörü sadece bir defa açıp uygulamaları modifiye ettikçe onda uygulamakmış. Eclipse&#8217;e o kadar da hakim olmamamdan kaynaklanan bir durum aslında bu. Projenin üzerine sağ tıklayıp run as android application&#8217;u tıklamamız yeterliymiş <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) top komutuyla aldığım çıktıda cpu %23 bellek de %16 çıktı. Bu da benim eski bilgisayarım için yeterli bir değer <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p>
<p>cagdas    20   0  403m 158m 7640 R   23 16.0   5:44.53 emulator</p>
<p>SDK&#8217;nın kurulumunda kullandığım belgeler:</p>
<p>http://www.helloandroid.com/tutorials/how-set-eclipse-android-sdk-ubuntu-linux-904910-updated</p>
<p>Hello World Programı:</p>
<p>http://developer.android.com/resources/tutorials/hello-world.html</p>
<p>Android Emulatörün Eclipse ile kullanımını anlatan güzel bir video:</p>
<p><object width="590" height="357"><param name="movie" value="http://www.youtube.com/v/SVZ1P35xgNQ?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/SVZ1P35xgNQ?version=3" type="application/x-shockwave-flash" width="590" height="357" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>&nbsp;</p>
<p>Devamında XML öğrenmem gerektiğini farkettim. XML ile şöyle bir arayüzü yapmamız bir iki dakikalık iş <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p>
<p><a href="http://www.cagdastopcu.com/wp-content/uploads/2011/03/deneme1.png"><img class="aligncenter size-medium wp-image-353" title="deneme1" src="http://www.cagdastopcu.com/wp-content/uploads/2011/03/deneme1-185x300.png" alt="android gui arayüz tasarımı xml" width="185" height="300" /></a></p>
<div class="shr-publisher-348"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom --><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.cagdastopcu.com/ilk-android-programi.html&via=cagdastopcucom&text=İlk Android Programım&related=cagdastopcu.com:official twitter of cagdastopcu.com&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.cagdastopcu.com/ilk-android-programi.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google Android SDK Tehlikelidir Yasaktır</title>
		<link>http://www.cagdastopcu.com/google-android-sdk-tehlikelidir-yasaktir.html</link>
		<comments>http://www.cagdastopcu.com/google-android-sdk-tehlikelidir-yasaktir.html#comments</comments>
		<pubDate>Tue, 22 Mar 2011 21:20:15 +0000</pubDate>
		<dc:creator>cagdas</dc:creator>
				<category><![CDATA[GNU]]></category>
		<category><![CDATA[programlama]]></category>

		<guid isPermaLink="false">http://www.cagdastopcu.com/?p=344</guid>
		<description><![CDATA[Saçmalık ancak Android&#8217;in sitesi birçok google hizmeti gibi yasaklanmış. Android için yazılım geliştirmede kullanılan SDK&#8217;yı ubuntuda kurmak istiyorsanız önce haysiyetsiz beyinciklerce yasaklanmış olan google sitelerini açıyoruz. Bunun için komut satırına sudo gedit /etc/hosts yazın ve çıkan dosyaya aşağıdakileri kopyalayıp kaydedin. Böylece rahatça sdk&#8217;nızı indirip programlamaya başlayabilirsiniz. 72.14.221.100 maps.google.com 72.14.221.100 earthserver.google.com 72.14.221.100 maps.gstatic.com 72.14.221.100 picasaweb.google.com 74.125.43.103 &#8230; </p><p><a class="more-link block-button" href="http://www.cagdastopcu.com/google-android-sdk-tehlikelidir-yasaktir.html">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>Saçmalık ancak Android&#8217;in sitesi birçok google hizmeti gibi yasaklanmış. Android için yazılım geliştirmede kullanılan SDK&#8217;yı ubuntuda kurmak istiyorsanız önce haysiyetsiz beyinciklerce yasaklanmış olan google sitelerini açıyoruz. Bunun için komut satırına</p>
<p>sudo gedit /etc/hosts</p>
<p>yazın ve çıkan dosyaya aşağıdakileri kopyalayıp kaydedin. Böylece rahatça sdk&#8217;nızı indirip programlamaya başlayabilirsiniz.</p>
<p><span id="more-344"></span></p>
<pre>72.14.221.100 maps.google.com
72.14.221.100 earthserver.google.com
72.14.221.100 maps.gstatic.com
72.14.221.100 picasaweb.google.com
74.125.43.103 docs.google.com
74.125.43.103 translate.google.com
74.125.43.103 code.google.com
74.125.43.103 pages.google.com
74.125.43.103 video.google.com
74.125.43.103 translate.google.com.tr
74.125.43.103 docs.google.com
74.125.43.103 sites.google.com
74.125.43.103 books.google.com
74.125.43.103 chrome.google.com
74.125.43.103 sketchup.google.com
74.125.43.103 froogle.google.com
74.125.43.103 labs.google.com
74.125.43.103 mars.google.com
74.125.43.103 moon.google.com
74.125.43.103 notebook.google.com
74.125.43.103 toolbar.google.com
74.125.43.103 browsersync.google.com
74.125.43.103 catalog.google.com
74.125.43.103 codesearch.google.com
74.125.43.103 dir.google.com
74.125.43.103 earth.google.com
74.125.43.103 groups.google.com.tr
74.125.43.103 shopping.google.com
74.125.43.103 sky.google.com
74.125.43.103 support.google.com
74.125.43.103 tools.google.com
74.125.43.103 wap.google.com
74.125.43.103 answers.google.com
74.125.43.103 google-analystics.com
74.125.43.103 clients2.google.com
74.125.43.103 https://dl-ssl.google.com/android/repository/repository.xml
74.125.43.103 youtube.com
74.125.43.103 www.youtube.com
74.125.43.103 docs.google.com
209.85.229.99 youtube.com
209.85.229.99 www.youtube.com
209.85.227.101 translate.google.com
209.85.227.105 maps.google.com
209.85.227.101 code.google.com
209.85.227.113 pages.google.com
209.85.227.100 video.google.com
209.85.227.138 docs.google.com
209.85.227.101 sites.google.com
209.85.227.100 books.google.com
209.85.227.101 chrome.google.com
209.85.227.113 sketchup.google.com
209.85.227.102 froogle.google.com
209.85.227.102 labs.google.com
209.85.227.102 mars.google.com
209.85.227.139 moon.google.com
209.85.227.113 notebook.google.com
209.85.227.101 toolbar.google.com
209.85.227.102 catalog.google.com
209.85.227.113 codesearch.google.com
209.85.227.113 dir.google.com
209.85.227.138 earth.google.com
209.85.227.139 groups.google.com
209.85.227.100 groups.google.com.tr
209.85.227.139 shopping.google.com
209.85.227.138 sky.google.com
209.85.227.139 support.google.com
209.85.227.139 tools.google.com
209.85.227.102 wap.google.com
209.85.227.100 answers.google.com
74.125.43.103 docs.google.com
74.125.43.103 translate.google.com
74.125.43.103 code.google.com
74.125.43.103 pages.google.com
74.125.43.103 video.google.com
74.125.43.103 translate.google.com.tr
74.125.43.103 docs.google.com
74.125.43.103 sites.google.com
74.125.43.103 books.google.com
74.125.43.103 chrome.google.com
74.125.43.103 sketchup.google.com
74.125.43.103 froogle.google.com
74.125.43.103 labs.google.com
74.125.43.103 mars.google.com
74.125.43.103 moon.google.com
74.125.43.103 notebook.google.com
74.125.43.103 toolbar.google.com
74.125.43.103 browsersync.google.com
74.125.43.103 catalog.google.com
74.125.43.103 codesearch.google.com
74.125.43.103 dir.google.com
74.125.43.103 earth.google.com
74.125.43.103 groups.google.com.tr
74.125.43.103 shopping.google.com
74.125.43.103 sky.google.com
74.125.43.103 support.google.com
74.125.43.103 tools.google.com
74.125.43.103 wap.google.com
74.125.43.103 answers.google.com
74.125.43.103 google-analystics.com
74.125.43.103 clients2.google.com
72.14.213.136 khm0.google.com
72.14.213.91 mt0.google.com
72.14.213.136 khm1.google.com
72.14.213.136 mt1.google.com
72.14.213.93 lh4.ggpht.com
74.125.53.139 gg.google.com
72.14.213.136 khm0.google.com
72.14.213.91 mt0.google.com
72.14.213.136 khm1.google.com
72.14.213.136 mt1.google.com
72.14.213.93 lh4.ggpht.com
74.125.53.139 gg.google.com
72.14.213.93 kh.google.com
72.14.213.103 maps.google.com
72.14.213.113 auth.keyhole.com
74.125.43.105 earth.google.com
209.85.229.99 www.youtube.com
209.85.229.99 youtube.com
209.85.229.99 www3.l.google.com
209.85.229.99 youtube-ui.l.google.com
209.85.229.99 ns1.google.com
209.85.229.99 ns2.google.com
209.85.229.99 ns3.google.com
209.85.229.99 ns4.google.com
209.85.229.99 uk.youtube.com
209.85.229.99 de.youtube.com
209.85.229.99 translate.google.com
209.85.229.99 suggestqueries.google.com
209.85.229.99 earth.google.com
209.85.229.99 books.google.com
209.85.229.99 code.google.com
209.85.229.99 code.l.google.com
209.85.229.99 dl.google.com
209.85.227.106 dl-ssl.google.com
74.125.93.121 developer.android.com</pre>
<p>&nbsp;</p>
<div class="shr-publisher-344"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom --><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.cagdastopcu.com/google-android-sdk-tehlikelidir-yasaktir.html&via=cagdastopcucom&text=Google Android SDK Tehlikelidir Yasaktır&related=cagdastopcu.com:official twitter of cagdastopcu.com&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.cagdastopcu.com/google-android-sdk-tehlikelidir-yasaktir.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ücretsiz Arm Cortex Geliştirme Kiti</title>
		<link>http://www.cagdastopcu.com/ucretsiz-arm-cortex-gelistirme-kiti.html</link>
		<comments>http://www.cagdastopcu.com/ucretsiz-arm-cortex-gelistirme-kiti.html#comments</comments>
		<pubDate>Tue, 15 Mar 2011 10:30:38 +0000</pubDate>
		<dc:creator>cagdas</dc:creator>
				<category><![CDATA[elektronik]]></category>
		<category><![CDATA[GNU]]></category>
		<category><![CDATA[Güç Elektroniği]]></category>
		<category><![CDATA[programlama]]></category>
		<category><![CDATA[Robotik]]></category>

		<guid isPermaLink="false">http://www.cagdastopcu.com/?p=340</guid>
		<description><![CDATA[Geçenlerde ücretsiz arm boardları var mı diye araştırırken hackaday&#8217;de karşıma ilginç bir ilan çıktı. İlana göre kendi 8-16 bitlik mikrodenetleyicimizi parçalayıp video veya fotoğrafını yollarsak Arm Cortex M0 işlemcili NXP firmasının ürettiği LPCXpresso kitlerinden yollayacaklardı. NXP philips firmasının elektronik eleman üreten firması bu arada. Türkiye&#8217;ye yollamazlar ama şansımı deneyeyim diye yolladım ben de kendi 16f628a &#8230; </p><p><a class="more-link block-button" href="http://www.cagdastopcu.com/ucretsiz-arm-cortex-gelistirme-kiti.html">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p><a href="http://www.cagdastopcu.com/wp-content/uploads/2011/03/board.jpg"><img class="aligncenter size-full wp-image-341" title="LPCXpresso board" src="http://www.cagdastopcu.com/wp-content/uploads/2011/03/board.jpg" alt="" width="480" height="436" /></a></p>
<p>Geçenlerde ücretsiz arm boardları var mı diye araştırırken <a href="http://hackaday.com/2011/02/19/free-as-in-free-beer-arm-kit/">hackaday&#8217;de</a> karşıma ilginç bir ilan çıktı. İlana göre kendi 8-16 bitlik mikrodenetleyicimizi parçalayıp video veya fotoğrafını yollarsak Arm Cortex M0 işlemcili NXP firmasının ürettiği <a href="http://ics.nxp.com/lpcxpresso/">LPCXpresso</a> kitlerinden yollayacaklardı. NXP philips firmasının elektronik eleman üreten firması bu arada.</p>
<p>Türkiye&#8217;ye yollamazlar ama şansımı deneyeyim diye yolladım ben de kendi 16f628a içeren fotoğrafımı ve vola şöyle bir mail döndüler dün gece:</p>
<p>Dear contributor,</p>
<p>Your video has been approved! We will send you a free LPCXpresso as soon as possible.</p>
<p>Kind regards,<br />
NXP Semiconductors</p>
<p>Forumlardan araştırdığım kadarıyla 20 gün içerisinde yollayacaklar kitimi. Hackaday.com sitesinde yüzlerce yorum yapılmış bu yarışmaya. Vandallıkla suçlayanlar bile olmuş ancak 2011 yılında hala 8-bitlik işlemcileri bize reva gören karaköy esnafının bu çılgınlıkta hiç mi suçu yok ha?  Karaköy pasajında her gidişimizde 50 liralık alışveriş yaptığımız bahadır abinin, bahadır abinin toptancısının hiç mi suçu yok sorarım sizlere <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  8 bitlik kullandığım en son alet tetrisimdi. Neden hala 8 bit diye kasıyorlar anlamıyorum. Daha pahalı da değil aslında 8 bitlik PIC&#8217;lere göre.. Arm Cortex&#8217;lerle, Armın geliştiricileri dünya 32-bit olsun bitsin artık bu çile dedi sanıyorum.</p>
<p>Yapacaklarımız çok kolay:</p>
<p><a href="http://www.nxp.com/campaigns/cortex-m0/index.php?sub=gallery">Ücretsiz LPCXpresso</a> sitesine girin, sağ tarafta get it for free butonu var ona tıklayın. Karşınıza gelen formu gerçek bilgilerinizle doldurun. Çünkü evinize buranın aracılığıyla yollayacaklar. İş mailinizi istese de ben kişisel gmailimi kullandım. Malum kişisel tarihim pek da iyiye gitmiyor, işsizlik açlık sefalet durumları. Ardından video veya fotoğraf gönderebileceğiniz bir bölüme geçeceksiniz. Burada upload ederken parçalama işlemini nasıl yaptığınızı da anlatmanız gerekiyor.</p>
<p>Eğer elime ulaşırsa LPCXpresso LPC1114 boardı yollayacaklar. Umut, heyecan, gözyaşı her şey var elbette ptt ile gelen ürünlerde.</p>
<p>Sabırsızlanıyorum <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<blockquote><p><strong>Edit: Sonunda geldi beleş boardım. Bu yazıyı 15 martta yazmıştım ve 6 mayısta elime geçti. Eve bir süredir uğramadığımdan hadi 3 mayısta gelmiş olsun. 50 gün sonra ulaştı elime arm cortex kiti. Dökümanlarını okuyup geliştirmeye başlayacağım. Mutlu son ancak insanın hevesi kırılıyor o kadar bekleyince <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </strong></p></blockquote>
<p>&nbsp;</p>
<div class="shr-publisher-340"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom --><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.cagdastopcu.com/ucretsiz-arm-cortex-gelistirme-kiti.html&via=cagdastopcucom&text=Ücretsiz Arm Cortex Geliştirme Kiti&related=cagdastopcu.com:official twitter of cagdastopcu.com&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.cagdastopcu.com/ucretsiz-arm-cortex-gelistirme-kiti.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Latex Türkçe Kullanımı</title>
		<link>http://www.cagdastopcu.com/latex-turkce-kullanimi.html</link>
		<comments>http://www.cagdastopcu.com/latex-turkce-kullanimi.html#comments</comments>
		<pubDate>Mon, 13 Dec 2010 08:37:59 +0000</pubDate>
		<dc:creator>cagdas</dc:creator>
				<category><![CDATA[bilim]]></category>
		<category><![CDATA[GNU]]></category>
		<category><![CDATA[programlama]]></category>
		<category><![CDATA[akademik]]></category>
		<category><![CDATA[kullanım]]></category>
		<category><![CDATA[kullanım notları]]></category>
		<category><![CDATA[latex]]></category>
		<category><![CDATA[türkçe]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.cagdastopcu.com/?p=315</guid>
		<description><![CDATA[akademik makalelerin yazımında kullanılan standartlaşmış bir dildir. Matematiksel gösterimleri ve yazımı akademik dergilerin standartlarına uygun yazmak için kullanabileceğimiz tek araçtır. Ubuntu kullanıyorsak aşağıdaki paketleri direkt synaptic paket yöneticisinden bulup indirelim. dblatex texlive-lang-other ardından aşağıdaki başlıkları ekleyelim dosyamıza ve deneme.tex diye kaydedelim. \documentclass[12pt]{article} \usepackage[english,turkish]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \selectlanguage{turkish} \begin{document} \section*{Denemeı} \large içüğşıöÜŞÇÖİ \begin{equation} \sqrt{\pi} \end{equation} \end{document} Bir &#8230; </p><p><a class="more-link block-button" href="http://www.cagdastopcu.com/latex-turkce-kullanimi.html">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p><img src='http://s.wordpress.com/latex.php?latex=%5CLaTeX&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='\LaTeX' title='\LaTeX' class='latex' /> akademik makalelerin yazımında kullanılan standartlaşmış bir dildir. Matematiksel gösterimleri ve yazımı akademik dergilerin standartlarına uygun yazmak için kullanabileceğimiz tek araçtır.</p>
<p>Ubuntu kullanıyorsak aşağıdaki paketleri direkt synaptic paket yöneticisinden bulup indirelim.</p>
<p>dblatex<br />
texlive-lang-other</p>
<p>ardından aşağıdaki başlıkları ekleyelim dosyamıza ve deneme.tex diye kaydedelim.</p>
<p>\documentclass[12pt]{article}<br />
\usepackage[english,turkish]{babel}<br />
\usepackage[utf8]{inputenc}<br />
\usepackage[T1]{fontenc}<br />
\selectlanguage{turkish}<br />
\begin{document}<br />
\section*{Denemeı}<br />
\large<br />
içüğşıöÜŞÇÖİ<br />
\begin{equation}<br />
\sqrt{\pi}<br />
\end{equation}</p>
<p>\end{document}</p>
<p>Bir terminal açın<br />
Kaydettiğimiz dosyanın olduğu konuma cd komutuyla geçin.<br />
Örneğin cd /home/cagdas/belgeler/texbelgeleri<br />
tex dosyamızı direkt pdf&#8217;e çevirmek için<br />
pdflatex deneme.tex<br />
yazmamız yeterli.</p>
<p>Eğer dvi formatında istiyorsak<br />
latex deneme.tex<br />
postscript olarak istiyorsak dvi&#8217;a dönüştürdüğümüz dosyayı<br />
dvips deneme.dvi ile postscript haline getirmiş oluruz.</p>
<div class="shr-publisher-315"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom --><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.cagdastopcu.com/latex-turkce-kullanimi.html&via=cagdastopcucom&text=Latex Türkçe Kullanımı&related=cagdastopcu.com:official twitter of cagdastopcu.com&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.cagdastopcu.com/latex-turkce-kullanimi.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Kullanım Notları</title>
		<link>http://www.cagdastopcu.com/mysql-kullanim-notlari.html</link>
		<comments>http://www.cagdastopcu.com/mysql-kullanim-notlari.html#comments</comments>
		<pubDate>Sun, 05 Dec 2010 11:32:45 +0000</pubDate>
		<dc:creator>cagdas</dc:creator>
				<category><![CDATA[GNU]]></category>
		<category><![CDATA[pragramlama]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[kod]]></category>
		<category><![CDATA[kullanım notları]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[notlar]]></category>
		<category><![CDATA[notları]]></category>
		<category><![CDATA[programlama]]></category>

		<guid isPermaLink="false">http://www.cagdastopcu.com/?p=307</guid>
		<description><![CDATA[C++ ve libmysqlclient kütüphanesi ile database uygulamalarına başladım. Buna başlamadan önce temel bir MySQL bilgisi gerekmektedir. MySQL tutorial&#8217;ını çalışırken kendime çıkardığım notlardır. Çok kapsamlı olmasa da ilk giriş dersi olabilir. mysql&#8217;i başlatma kod $ sudo /etc/init.d/mysql start kod$ mysql&#8217;e bağlanma kod $ mysql -u root -p kod $ Eğer kurulumu düzgün olmuşsa aşağıdaki gibi bir &#8230; </p><p><a class="more-link block-button" href="http://www.cagdastopcu.com/mysql-kullanim-notlari.html">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p><img class="alignleft" title="mysql tasarım" src="http://lh5.ggpht.com/_gVfZHGgf5LA/Sn9FwCWpCgI/AAAAAAAAAto/oTCPwV8WCI0/planet_mysql_voting2.jpg" alt="" width="333" height="259" /></p>
<p>C++ ve libmysqlclient kütüphanesi ile database uygulamalarına başladım. Buna başlamadan önce temel bir MySQL bilgisi gerekmektedir.</p>
<p>MySQL tutorial&#8217;ını çalışırken kendime çıkardığım notlardır. Çok kapsamlı olmasa da ilk giriş dersi olabilir.</p>
<div>mysql&#8217;i başlatma</div>
<div>kod $</div>
<div>sudo /etc/init.d/mysql start</div>
<div>kod$</div>
<div>mysql&#8217;e bağlanma</div>
<p>kod $</p>
<p>mysql -u root -p</p>
<p>kod $</p>
<p>Eğer kurulumu düzgün olmuşsa aşağıdaki gibi bir şey göreceğiz.</p>
<p>Enter password: Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 52Server version: 5.1.41-3ubuntu12.7 (Ubuntu)</p>
<p>Type &#8216;help;&#8217; or &#8216;\h&#8217; for help. Type &#8216;\c&#8217; to clear the current input statement.</p>
<p>mysql&gt;<br />
mysql db oluşturma<br />
kod mysql&gt;</p>
<p>CREATE DATABASE dbadi;</p>
<p>kod mysql&gt;</p>
<p>kullanılacak db&#8217;yi seçmek</p>
<p>kod mysql&gt;</p>
<p>USE dbadi;</p>
<p>kod mysql&gt;</p>
<p>kullanılacak db&#8217;yi mysql açılırken seçmek</p>
<p>kod $</p>
<p>mysql -h host -u user -p dbadi</p>
<p>kod $</p>
<p>örnek localhost ve root kullanıcısı için</p>
<p>kod $</p>
<p>mysql -h localhost -u root -p dbadi</p>
<p>kod $</p>
<p>Table&#8217;ları göstermek</p>
<p>kod mysql&gt;</p>
<p>SHOW TABLES;</p>
<p>kod mysql&gt;</p>
<p>bunun için USE komutu ile bir DB&#8217;yi seçmiş olmamız gerekiyor.eğer table yoksa</p>
<p>cikti mysql&gt;</p>
<p>mysql&gt; SHOW TABLES;Empty set (0.00 sec)</p>
<p>cikti mysql&gt;</p>
<p>sonucunu verir.</p>
<p>Table oluşturmak</p>
<p>kod mysql&gt;</p>
<p>CREATE TABLE tableadi (name VARCHAR(20), owner VARCHAR(20),species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);</p>
<p>kod mysql&gt;</p>
<p>burada tabloda tutulacak bilgiler de belirtilmiştir. VARCHAR uzunluğunubelirleyebildiğimiz karakter alanı açar. DATE ise tarih bilgisini saklamakiçindir.</p>
<p>oluşturduğumuz table&#8217;a bakmak</p>
<p>kod mysql&gt;</p>
<p>DESCRIBE tableadi;</p>
<p>kod mysql&gt;</p>
<p>Bu kod table&#8217;daki değişkenlerin türünü gösterir.</p>
<p>Tabloya veri göndermek</p>
<p>iki türlü yapılabilir:</p>
<p>a- Bir dosyadan veriyi almak</p>
<p>Dosyamıza verilerimizi sırasıyla tab ile boşluklar bırakarak yazıp txt uzantısıyla kaydediyoruz.<br />
örnek olarak</p>
<p>Badem	Cagdas	kopek	m	1996-06-06	/N</p>
<p>Arnould	Cagdas	kaplumbaga	m	1999-08-08	/N</p>
<p>Mavis	Abla	kus	m	1995-06-06	/N</p>
<p>Yesim	Abla	kus	m	1995-07-07	/N</p>
<p>Rocky	Cagdas	horoz	m	1993-04-04	1995-01-01</p>
<p>yazıp kaydettim.</p>
<p>Verileri istediğimiz tabloya şu şekilde göndeririz:</p>
<p>kod mysql&gt;</p>
<p>LOAD DATA LOCAL INFILE &#8216;/home/zanpakutou/dosyaadi.txt&#8217; INTO TABLE pet LINES TERMINATED BY &#8216;\n&#8217;;</p>
<p>kod mysql&gt;</p>
<p>burada dosyanın yerinin gösterimi önemli. Ben kullanıcı klasarümekaydetmiştim o yüzden bu şekilde yazdım.</p>
<p>b- komut satırından tek tek verilerin girilmesi<br />
kod mysql&gt;</p>
<p>INSERT INTO pet VALUES (&#8216;Minik&#8217;,'Cagdas&#8217;,'hamster&#8217;,'f&#8217;,&#8217;1999-03-30&#8242;,NULL);</p>
<p>kod mysql&gt;</p>
<p>Burada girdiğimiz NULL ve /N değerleri veri yok anlamında kullanılır.<br />
Tablodaki bütün verileri çekmek</p>
<p>kod mysql&gt;</p>
<p>SELECT * FROM tableadi;</p>
<p>kod mysql&gt;</p>
<p>+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;+</p>
<p>| name    | owner  | species    | sex  | birth      | death      |</p>
<p>+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;+</p>
<p>| Badem   | Cagdas | kopek      | m    | 1996-06-06 | 0000-00-00 |</p>
<p>| Arnould | Cagdas | kaplumbaga | m    | 1999-08-08 | 0000-00-00 |</p>
<p>| Mavis   | Abla   | kus        | m    | 1995-06-06 | 0000-00-00 |</p>
<p>| Yesim   | Abla   | kus        | m    | 1995-07-07 | 0000-00-00 |</p>
<p>| Rocky   | Cagdas | horoz      | m    | 1993-04-04 | 1995-01-01 |</p>
<p>+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;+</p>
<div>
<div>Tabloyu temizlemek</div>
<div>DELETE FROM pet;</div>
<div>Veriyi değiştirmek</div>
<div>kod mysql&gt;</div>
<div>UPDATE pet SET birth = &#8217;1999-04-21&#8242; WHERE name = &#8216;Arnould&#8217;;</div>
<div>kod mysql&gt;</div>
<div>Burada pet tablosunda name bölgesindeki Arnould isimli dizinin</div>
<div>birth bölgesi değiştirilmiştir. birth verisi tarih olarak tanımlı</div>
<div>olduğundan tarih şeklinde girdik veriyi.</div>
<div>Sıralı veri alma</div>
<div>kod mysql&gt;</div>
<div>SELECT Name,owner FROM pet ORDER BY Name;</div>
<div>kod mysql&gt;</div>
<div>Burada owner bölgesindeki verileri isimlerin sırasına göre beraber çektik.</div>
<div>Çıktısı şu şekilde olacaktır:</div>
<div>+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8211;+</div>
<div>| Name    | owner  |</div>
<div>+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8211;+</div>
<div>| Arnould | Cagdas |</div>
<div>| Badem   | Cagdas |</div>
<div>| Mavis   | Abla   |</div>
<div>| Rocky   | Cagdas |</div>
<div>| Yesim   | Abla   |</div>
<div>+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8211;+</div>
<div>5 rows in set (0.58 sec)</div>
<div>Latex Denemesi:</div>
<img src='http://s.wordpress.com/latex.php?latex=e%5E%7B%5Ci%20%5Cpi%7D%20%2B%201%20%3D%200&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='e^{\i \pi} + 1 = 0' title='e^{\i \pi} + 1 = 0' class='latex' />
<div><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; line-height: 18px; color: #333333;"></p>
<p></span></div>
</div>
<div class="shr-publisher-307"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom --><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.cagdastopcu.com/mysql-kullanim-notlari.html&via=cagdastopcucom&text=MySQL Kullanım Notları&related=cagdastopcu.com:official twitter of cagdastopcu.com&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.cagdastopcu.com/mysql-kullanim-notlari.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plazma Teorisi ve Simulasyon Grubunun Programlarının Kurulumu</title>
		<link>http://www.cagdastopcu.com/plazma-teorisi-ve-simulasyon-grubunun-programlarinin-kurulumu.html</link>
		<comments>http://www.cagdastopcu.com/plazma-teorisi-ve-simulasyon-grubunun-programlarinin-kurulumu.html#comments</comments>
		<pubDate>Wed, 24 Nov 2010 09:24:56 +0000</pubDate>
		<dc:creator>cagdas</dc:creator>
				<category><![CDATA[bilim]]></category>
		<category><![CDATA[Elektrik]]></category>
		<category><![CDATA[enerji]]></category>
		<category><![CDATA[fizik]]></category>
		<category><![CDATA[GNU]]></category>
		<category><![CDATA[programlama]]></category>
		<category><![CDATA[berkeley]]></category>
		<category><![CDATA[grup]]></category>
		<category><![CDATA[plasma]]></category>
		<category><![CDATA[plazma]]></category>
		<category><![CDATA[simulasyon]]></category>
		<category><![CDATA[simulation]]></category>
		<category><![CDATA[teorisi]]></category>
		<category><![CDATA[theory]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[X Plasma Device Planar 1-D]]></category>
		<category><![CDATA[xgrafix]]></category>
		<category><![CDATA[xpdp1]]></category>

		<guid isPermaLink="false">http://www.cagdastopcu.com/?p=301</guid>
		<description><![CDATA[Berkeleyde çalışmalarını sürdüren The Plasma Theory and Simulation Group tarafından üretilip açık kaynaklı olarak dağıtılan simulasyon programlarının ubuntu 10.04 linux dağıtımına kurulumunu yaptım. Grubun sitesinde bir çok program bulunmaktadır. Bunlardan xgrafix programı diğerlerini kullanabilmek için önceden kurulmalıdır. xgrafix linkinden son versiyonunu indiriniz. buradan indirdiğiniz xgrafix-2.70.2.tar.gz dosyasını aşağıdaki kodlar yardımıyla istediğiniz yere açın. Ben kendi kullanıcı &#8230; </p><p><a class="more-link block-button" href="http://www.cagdastopcu.com/plazma-teorisi-ve-simulasyon-grubunun-programlarinin-kurulumu.html">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p style="text-align: center;"><a href="http://www.cagdastopcu.com/wp-content/uploads/2010/11/plasma.jpg"><img class="aligncenter size-full wp-image-302" title="plasma" src="http://www.cagdastopcu.com/wp-content/uploads/2010/11/plasma.jpg" alt="" width="544" height="399" /></a></p>
<p>Berkeleyde çalışmalarını sürdüren <a href="http://ptsg.eecs.berkeley.edu/" target="_blank">The Plasma Theory and Simulation Group</a> tarafından üretilip açık kaynaklı olarak dağıtılan simulasyon programlarının ubuntu 10.04 linux dağıtımına kurulumunu yaptım.</p>
<p>Grubun sitesinde bir çok program bulunmaktadır. Bunlardan xgrafix programı diğerlerini kullanabilmek için önceden kurulmalıdır.</p>
<p><a href="http://ptsg.eecs.berkeley.edu/pub/codes/xgrafix/">xgrafix</a> linkinden son versiyonunu indiriniz.</p>
<p>buradan indirdiğiniz <a href="http://ptsg.eecs.berkeley.edu/pub/codes/xgrafix/xgrafix-2.70.2.tar.gz">xgrafix-2.70.2.tar.gz</a> dosyasını aşağıdaki kodlar yardımıyla istediğiniz yere açın. Ben kendi kullanıcı alanıma açtım.</p>
<p>gunzip xgrafix-2.70.2.tar.gz</p>
<p>tar xvf xgrafix-2.70.2.tar</p>
<p>Bunları yaparken gunzip yazıp ardından ilk bir iki harfini yazıp tab tuşuna basarsak dosyanın adını kendisi tamamlayacaktır.</p>
<p>Sıkıştırılmış dosyaları açtıktan sonra cd xgrafix komutuyla o klasörün içine girin.</p>
<p>./configure dediğimiz anda default ayarlarla konfigure etmiş oluruz. Bu komutu kullandıktan sonra sistem hata verebilir. Eğer aradığı dosyayı bulamıyorsa genelde dev paketlerinin kurulu olmamasındandır. Ben tcl ve tk paketlerinin dev eklentilerini de kurarak bu problemi aştım. Yalnız bu ubuntuda böyle. Diğer linux dağıtımlarında dev paketleri kendiliğinden gelebilir.</p>
<p>ardından make ve make install komutlarıyla programımızı kuruyoruz. make install komutunu kullanabilmek için root kullanıcı olmamız gerekiyor. Bunu da su komutu ve şifremizi girerek yapıyoruz.</p>
<p>Xgrafix programı plazma simulasyonları için grafik altyapısını sağlamaktadır. Kurulumu yaptıktan sonra test etmeye geldi sıra:</p>
<p>cd ctest komutu ile ctest klasörüne geçiyoruz ardından</p>
<p>./xtest komutu ile programımızı çalıştırıyoruz.</p>
<div id="_mcePaste">
<div id="_mcePaste">zanpakutou@dark-side:~/xgrafix/ctest$ ./xtest</div>
<div id="_mcePaste"></div>
<div id="_mcePaste">XGrafix version 2.70.2</div>
<div id="_mcePaste">(c) Copyright 1991-2010 The Regents of the University of California</div>
<div id="_mcePaste"></div>
<div id="_mcePaste">XGrafix is running on The X.Org Foundation version 10706000 of the X Window System, X11 R0</div>
<div id="_mcePaste">Display name &#8230;&#8230;&#8230;&#8230;.. :0.0</div>
<div id="_mcePaste">Display width &#8230;&#8230;&#8230;&#8230;. 1280</div>
<div id="_mcePaste">Display height &#8230;&#8230;&#8230;&#8230; 800</div>
<div id="_mcePaste">Color plane depth &#8230;&#8230;&#8230; 24</div>
</div>
<div></div>
<div>şeklinde bir çıktı verip arayüzümüz çalışmaya başlıyor.</div>
<div></div>
<div><a href="http://www.cagdastopcu.com/wp-content/uploads/2010/11/xgrafix.png"><img class="aligncenter size-full wp-image-303" title="xgrafix" src="http://www.cagdastopcu.com/wp-content/uploads/2010/11/xgrafix.png" alt="" width="410" height="310" /></a></div>
<p>Bunun ardından kullanacağımız simulasyon programını kuracağız. Ben örnek olarak XPDP1 yazılımını kurdum. Diğerlerinin kurrlumu da buna benzemektedir. XDPD1, X Plasma Device Planar 1-D&#8217;in kısaltmasıdır. Bu yazılımı şu linkten çekebilirsiniz: <a href="http://ptsg.eecs.berkeley.edu/pub/codes/xpdp1/" target="_blank">xpdp1</a></p>
<p>Buradan çekilen sıkıştırılmış dosya xgrafix&#8217;de kullanılan yöntemle açılabilir. Burada farklı olarak bazı değişiklikler yapmalıyız.</p>
<p>src klasörünün içindeki makefile dosyası açılıp aşağıdaki satır şu şekilde değiştirilmelidir</p>
<p>XGPATH = /home/kullanıcıadınız/xgrafix</p>
<p>Ardından aşağıdaki satırlar eklenmeli ve bu satırlara halihazırda benzeyen satırlar da başına # (diyez) konularak işlevsiz hale getirilmelidir.</p>
<p>CFLAGS= -O2 -I/usr/local/include -I$(XGPATH)/include -I$(XGPATH)/src -DPDP1PATH=\&#8221;$(HOME)/xpdp1/src\&#8221;</p>
<p>ve</p>
<p>LIBS = -L$(XGPATH) -L$(XGPATH)/lib -L$(XGPATH)/src -L/usr/local/lib -L/usr/X11R6/lib -lXGC250 -ltk -ltcl -lXpm -lX11 -lm -ldl</p>
<p>Buralarda hata verirse kodun mantığından siz de gerekli klasör yollarını ekleyebilirsiniz. Ben normal kurulum klavuzundan farklı olarak bu eklemeleri yaptım. Çalıştıktan sonra sorun yoktur <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Ardından yine root kullanıcı olup</p>
<p>make</p>
<p>komutunu cd src ile geçtiğimiz src klasöründe çalıştırın.</p>
<p>Büyük bir ihitimalle yine hata verecektir <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Mesela bende</p>
<p>/usr/bin/ld: cannot find -lXpm</p>
<div>hatasını vermişti. Bu sorunu libxpm-dev paketini kurarak çözdüm.</div>
<div></div>
<div>En sonunda programımızı aşağıdaki komutla test edebiliriz:</div>
<div></div>
<div>
<div>zanpakutou@dark-side:~$ &#8216;/home/zanpakutou/xpdp1/xpdp1&#8242; -i &#8216;/home/zanpakutou/xpdp1/inp/maxwello.inp&#8217;</div>
<div></div>
<div>Bunun ardından şu çıktıyı verdi ve programım çalıştı.</div>
<div></div>
<div>XPDP1 Version 4.11</div>
<div>Copyright (C) 1988-2002</div>
<div>Regents of the University of California</div>
<div>Plasma Theory and Simulation Group</div>
<div>University of California &#8211; Berkeley</div>
<div></div>
<div></div>
<div>Input file is &#8216;/home/zanpakutou/xpdp1/inp/maxwello.inp&#8217;</div>
<div></div>
<div>XGrafix version 2.70.2</div>
<div>(c) Copyright 1991-2010 The Regents of the University of California</div>
<div></div>
<div>XGrafix is running on The X.Org Foundation version 10706000 of the X Window System, X11 R0</div>
<div>Display name &#8230;&#8230;&#8230;&#8230;.. :0.0</div>
<div>Display width &#8230;&#8230;&#8230;&#8230;. 1280</div>
<div>Display height &#8230;&#8230;&#8230;&#8230; 800</div>
<div>Color plane depth &#8230;&#8230;&#8230; 24</div>
</div>
<div></div>
<div>Bu komutları yazmadan xpdp1 klasörünün içindeki xpdp1 dosyasını sürükleyip bırakıp ardından -i yazıp istediğimiz input dosyasını da inp klasörünün altında bulup sürükle bırak şeklinde komut satırına tanıttıktan sonra deneme programımız çalışmış olur. Bir sürü hata vermişti ben kurarken. Uykusuz bir halde çözmeye çalışmak can sıkıcıydı. Ama yılmayın hata kodlarını googleladıkça ve deneme yanılma yoluyla sorunlarınız çözülecektir. Buradan da sorabilirsiniz kafanıza takılan yerleri. Yardımcı olmaya çalışacağım.</div>
<div class="shr-publisher-301"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom --><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.cagdastopcu.com/plazma-teorisi-ve-simulasyon-grubunun-programlarinin-kurulumu.html&via=cagdastopcucom&text=Plazma Teorisi ve Simulasyon Grubunun Programlarının Kurulumu&related=cagdastopcu.com:official twitter of cagdastopcu.com&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.cagdastopcu.com/plazma-teorisi-ve-simulasyon-grubunun-programlarinin-kurulumu.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>USB&#8217;den BackTrack Linux Kurulumu</title>
		<link>http://www.cagdastopcu.com/usbden-backtrack-linux-kurulumu.html</link>
		<comments>http://www.cagdastopcu.com/usbden-backtrack-linux-kurulumu.html#comments</comments>
		<pubDate>Mon, 27 Sep 2010 17:36:26 +0000</pubDate>
		<dc:creator>cagdas</dc:creator>
				<category><![CDATA[GNU]]></category>
		<category><![CDATA[backtrack]]></category>
		<category><![CDATA[güvenlik]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[kurulum]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://www.cagdastopcu.com/?p=274</guid>
		<description><![CDATA[Merhaba uzun zamandır yazamadım günlüğüme. Geçenlerde eski toshiba notebookuma usb üzerinden kurulum yaptım. Hemen anlatıma geçmeden önce kuracağımız işletim sistemine ait ilk izlenimlerimi anlatayım: BackTrack Linux nedir? BackTrack Linux bir kısım offensive security seven insanın başlattığı eski bir linux dağıtımı projesidir. Diğer dağıtımlardan farkı bir çok hack aracını içinde barındırmasıdır. Videolardan izlediğime göre kolayca wpa &#8230; </p><p><a class="more-link block-button" href="http://www.cagdastopcu.com/usbden-backtrack-linux-kurulumu.html">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p><a href="http://www.cagdastopcu.com/wp-content/uploads/2010/09/backtrack1.png"><img class="aligncenter size-full wp-image-276" title="backtrack" src="http://www.cagdastopcu.com/wp-content/uploads/2010/09/backtrack1.png" alt="" width="450" height="358" /></a></p>
<p>Merhaba uzun zamandır yazamadım günlüğüme. Geçenlerde eski toshiba notebookuma usb üzerinden kurulum yaptım. Hemen anlatıma geçmeden önce kuracağımız işletim sistemine ait ilk izlenimlerimi anlatayım:</p>
<p><strong>BackTrack Linux nedir?</strong></p>
<p>BackTrack Linux bir kısım offensive security seven insanın başlattığı eski bir linux dağıtımı projesidir. Diğer dağıtımlardan farkı bir çok hack aracını içinde barındırmasıdır. Videolardan izlediğime göre kolayca wpa crackler yapılmaktadır. Onun dışında basit elemanlar da olsa reverse engineering için de yararlı sayılabilecek ideleri koymuşlar. Network analizinden exploit araçlarına herşeyi barındırıyor neredeyse. Ancak en güzel yanı (benim için) debianla birlikte ortaya çıkan ve ubuntuda da bulunan apt paket yöneticisini barındırması. Böylece ubuntuda kulalnılan birçok program burada da hemen kurulabilir şekilde elimizin altında. Sanırım bütün hepsi ve son versiyonları olmasa da birçok program mevcut. Ayrıca sıradan kullanıcı yazılımlarının da güvenlik testleri için kullanılabilinecek eklentileri de hazır olarak gelmektedir. Gerçi bu firefox&#8217;un her siteye sanki oradan saldırı gelebilirmiş gibi ön yargılı girmesine neden olsa ve biraz can sıksa da bilinçli bir kullanıcı olmanın ve ne kullandığını bilmenin keyfini yaşatıyor insana <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em><strong>Ben neden kuruyorum böyle tehlikeli ve eğlenceli bir oyuncağı?</strong></em></p>
<p>Aslında debian kuracaktım ancak debianın network installerı herhalde olabilecek en standart şey olan ethernet kartımı görmedi ve bir sinirle zaten indirmiş bulunduğum bt4r1 isomu yani BackTrack Linux 4 r1&#8242;i kurdum <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Kurulum:</strong></p>
<p>Burada anlattığım kurulum windows üzerinden bir BackTrack Live USB&#8217;nin hazırlanması ve ardından kurulmasıdır.</p>
<p>bash yorum ifadesi olan # işareti olan satırlar genelde kurulumla alakası olmayan saçma yorumlarımdır <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Bize ilk önce çalıştırılabilir bir iso lazım. Hemen kendi sitesine gidip buluyoruz.</p>
<p><a title="BackTrack downloads" href="http://www.backtrack-linux.org/downloads/" target="_blank">http://www.backtrack-linux.org/downloads/</a></p>
<p>Buradan istediğimiz iso çekilebilir. En üstte olan genelde son kararlı sürümdür. Onu indirin. Eğer sanal makineye kurmayacaksak wm için olan versiyonları indirmeye gerek yok.</p>
<p>#Ayrıca daha önceden normal isosunu Sun/Oracle VirtualBox sanal makinesine kurmaya çalıştım ve hüsrana uğradım.</p>
<p>Ardından kurulum-live usbsini oluşturmak için kullanacağımız basit programı Unebootin&#8217;i indirelim:</p>
<p><a title="unebootin download" href="http://unetbootin.sourceforge.net/" target="_blank">http://unetbootin.sourceforge.net/</a></p>
<p>Bize lazım olan 2 Gb&#8217;lık usb flash diskimizi usb soketine sokalım. Bilgisayarım&#8217;ın içindeki usb biriminin üzerine gelip sağ tık ile format sekmesini seçelim. Ardından FAT32 dosya sistemiyle biçimlendirelim. Biçimlendirme işlemi bittikten sonra indirdiğimiz unebootin programını çalıştıralım. Kurmak istediğimiz linuxu ve versiyonunu seçelim. Bizim için burada BackTrack ve BackTrack4 seçenekleri uygundur. Bu seçimden sonra isomuzu nereye kaydetmişsek onu browse seçeneği ile bulup seçelim. Kerneli ayrıca bildirmemize gerek yok çünkü farklı bir kernel kullanmak istemiyoruz ve hazır olarak isomuzun içinde zaten bir kernel var. Ardından işlemimizi başlatalım. İşlem bitince done der ve biter.</p>
<p>Artık BackTrack USB&#8217;miz hazırdır. Kurmak istediğimiz bilgisayara takalım ve bilgisayarı açalım. Bios yüklenirken boot menüsüne girelim ve oradan USB üzerinden boot ol seçeneğini seçelim. Eğer sorarsa kullanıcı adınız root ve şifreniz de toor. Masaüstüne geldiğiniz zaman install.sh adında bir dosya göreceksiniz. Onu tıklayarak harddiskinizden boot olabilecek bir işletim sisteminizin kurulumuna başlayacaktır. Kurulum kısmı çok eğlenceli her linux dağıtımında olduğu gibi ve bu kısımları okuyucuya bırakıyorum.</p>
<p>#İşin eğlencesi zaten eğer hiç kurmamışsanız bir linuxun kurulmasında <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>En sonunda sizden USB&#8217;yi çıkarıp yeniden başlatmanızı isteyecektir. Bunu yaptıktan sonra sistemimiz açılır. root/toor ikilisiyle yine kullanıcıadı/şifre kısmı doldurulur. Ardından wirelessınızla internete bağlanmak için en sol alttaki backtrack amblemi tıklanıp internet &gt;&gt; vicd network manager programı ile wireless ağınıza bağlanabilirsiniz.</p>
<p>Temel Gereksinim Ayarları:</p>
<p>Bunları burada anlatmayacağım ama ilk olarak root olmayan bir kullanıcı oluşturmamız gerekir. Neden yapmamız gerektiği ve nasıl yapılacağı aşağıdaki linkte çok güzel açıklanmıştır:</p>
<p><a title="BackTrack kullanıcı adı oluşturmak" href="http://www.backtrack-linux.org/forums/backtrack-howtos/1741-howto-create-unprivileged-non-root-user-backtrack.html" target="_blank" class="broken_link">root olmayan kullanıcı adı oluşturulması backtrack/forum</a></p>
<p>bunu yaptıktan sonra network ayarları da yapılmalıdır:</p>
<p><a title="BackTrack Network Ayarları" href="http://www.backtrack-linux.org/forums/backtrack-howtos/209-how-start-networking-backtrack.html" target="_blank" class="broken_link">BackTrack Network Ayarları</a></p>
<p>Bunları yaptıktan sonra gönül rahatlığıyla yeni işletim sisteminizi kullanabilirsiniz. Hata alıyorsanız kurulum sırasında sorabilirsiniz.</p>
<div class="shr-publisher-274"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom --><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.cagdastopcu.com/usbden-backtrack-linux-kurulumu.html&via=cagdastopcucom&text=USB'den BackTrack Linux Kurulumu&related=cagdastopcu.com:official twitter of cagdastopcu.com&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.cagdastopcu.com/usbden-backtrack-linux-kurulumu.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Python Kitabı</title>
		<link>http://www.cagdastopcu.com/python-kitabi.html</link>
		<comments>http://www.cagdastopcu.com/python-kitabi.html#comments</comments>
		<pubDate>Mon, 22 Feb 2010 12:56:19 +0000</pubDate>
		<dc:creator>cagdas</dc:creator>
				<category><![CDATA[GNU]]></category>
		<category><![CDATA[pragramlama]]></category>
		<category><![CDATA[çeviri]]></category>
		<category><![CDATA[kitap]]></category>
		<category><![CDATA[programlama]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.cagdastopcu.com/?p=259</guid>
		<description><![CDATA[How to Think Like a Computer Scientist serisinin python için yazılmış olan kitabının çevirisi yine bir bilgisayar bilimcisi olan Tahir Emre Kalaycı tarafından çevirilmiştir. Tazeciktir, dumanı üstündedir. Yazarın diğer bilgisayar bilimcisi arkadaşlarıyla hazırladıkları blogda yayınlamışlardır. Oldukça önemli olan bu kaynağın çevirisine çok sevindim. Keşke her sabah böyle mutluluk veren haberler alsam http://kodveus.blogspot.com/2010/02/bilgisayar-bilimcisi-gibi-dusunmek.html http://yzgrafik.ege.edu.tr/~tekrei/dersler/bbgd_p/ Tweet]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p style="text-align: center;"><a href="http://www.cis.upenn.edu/~lhuang3/cse399-python/images/snake-on-tree.png"><img class="aligncenter" title="python kitabı" src="http://www.cis.upenn.edu/~lhuang3/cse399-python/images/snake-on-tree.png" alt="" width="185" height="240" /></a></p>
<p>How to Think Like a Computer Scientist serisinin python için yazılmış olan kitabının çevirisi yine bir bilgisayar bilimcisi olan Tahir Emre Kalaycı tarafından çevirilmiştir. Tazeciktir, dumanı üstündedir. Yazarın diğer bilgisayar bilimcisi arkadaşlarıyla hazırladıkları blogda yayınlamışlardır. Oldukça önemli olan bu kaynağın çevirisine çok sevindim. Keşke her sabah böyle mutluluk veren haberler alsam <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://kodveus.blogspot.com/2010/02/bilgisayar-bilimcisi-gibi-dusunmek.html">http://kodveus.blogspot.com/2010/02/bilgisayar-bilimcisi-gibi-dusunmek.html</a></p>
<p><a href="http://yzgrafik.ege.edu.tr/~tekrei/dersler/bbgd_p/">http://yzgrafik.ege.edu.tr/~tekrei/dersler/bbgd_p/</a></p>
<div class="shr-publisher-259"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom --><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.cagdastopcu.com/python-kitabi.html&via=cagdastopcucom&text=Python Kitabı&related=cagdastopcu.com:official twitter of cagdastopcu.com&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.cagdastopcu.com/python-kitabi.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Driver Geliştirme ve Kernel Hack Dökümanları</title>
		<link>http://www.cagdastopcu.com/linux-driver-gelistirm-ve-kernel-hack-dokumanlari.html</link>
		<comments>http://www.cagdastopcu.com/linux-driver-gelistirm-ve-kernel-hack-dokumanlari.html#comments</comments>
		<pubDate>Sun, 10 Jan 2010 06:17:05 +0000</pubDate>
		<dc:creator>cagdas</dc:creator>
				<category><![CDATA[GNU]]></category>
		<category><![CDATA[pragramlama]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[döküman]]></category>
		<category><![CDATA[driver]]></category>
		<category><![CDATA[geliştirme]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[programlama]]></category>
		<category><![CDATA[sürücü]]></category>
		<category><![CDATA[yazılım]]></category>

		<guid isPermaLink="false">http://www.cagdastopcu.com/?p=246</guid>
		<description><![CDATA[Son günlerde sınavlarım ve kurslarım dolayısıyla pek vakit bulamasam da donanım driveri geliştirme üzerine işe yarayabilecek olan dökümanları yazmak istedim. Finallerimden sonra geri bu dökümanlara geri dönüp bazı örnek projeler geliştirmeye çalışacağım. USB cihazların sürücüleri oldukça güzel bir alan ve bununla ilgili Greg Kroah-Hartman&#8217;ın Writing a Simple USB Driver makalesi oldukça açıcı olmuş. USB&#8217; ye &#8230; </p><p><a class="more-link block-button" href="http://www.cagdastopcu.com/linux-driver-gelistirm-ve-kernel-hack-dokumanlari.html">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><div id="attachment_249" class="wp-caption alignright" style="width: 260px"><a href="http://www.cagdastopcu.com/wp-content/uploads/2010/01/imaginative-lego-clever-advertisement.jpg"><img class="size-full wp-image-249 " title="lego" src="http://www.cagdastopcu.com/wp-content/uploads/2010/01/imaginative-lego-clever-advertisement.jpg" alt="lego" width="250" height="242" /></a><p class="wp-caption-text">lego</p></div>
<p>Son günlerde sınavlarım ve kurslarım dolayısıyla pek vakit bulamasam da donanım driveri geliştirme üzerine işe yarayabilecek olan dökümanları yazmak istedim. Finallerimden sonra geri bu dökümanlara geri dönüp bazı örnek projeler geliştirmeye çalışacağım. USB cihazların sürücüleri oldukça güzel bir alan ve bununla ilgili Greg Kroah-Hartman&#8217;ın <a href="http://www.linuxjournal.com/article/7353">Writing a Simple USB Driver</a> makalesi oldukça açıcı olmuş. USB&#8217; ye bağlanabilen bir RGB ledinin kontrolü için driver örneğini çok güzel anlatmış. Dökümanların ve kod örnekleri için <a href="http://www.kernel.org/pub/linux/kernel/people/mochel/doc/">http://www.kernel.org/pub/linux/kernel/people/mochel/doc/</a> sitesine bakabilirsiniz bunun dışında bütün kernel.org daki kernel geliştiricilerinin listesine şurdan ulaşabilirsiniz :</p>
<p><a href="http://www.kernel.org/pub/linux/kernel/people/">http://www.kernel.org/pub/linux/kernel/people/</a></p>
<p>IBM Developerda daha önceden yayınlanmış yazı dizisi de giriş aşamasında oldukça faydalı olacaktır:</p>
<ol>
<li><a href="http://www.cagdastopcu.com/wp-content/uploads/2010/01/l-kernelhack1-pdf.pdf">Hacking the Linux 2.6 kernel, Part 1: Getting ready</a></li>
<li><a href="http://www.cagdastopcu.com/wp-content/uploads/2010/01/l-kernelhack2-pdf.pdf">Hacking the Linux 2.6 kernel, Part 2: Making your first hack</a></li>
</ol>
<p>Elimde hiç usb cihaz yok diye üzülüyordum. Hani gidip bir rgb led seti alsam hem parama hem zamanıma yazık olurdu ki zaten yapılmış bir projeyi yapmak eğlenceli gelmiyor pek. Evde aranırken usrobotics marka skype telefonunu buldum. Skype üzerinde kontrol yapabiliyordunuz hem de 1.1 mb&#8217;lık bir kurulum dosyasıyla. Linux desteklemiyor olması oldukça kötüydü. Ancak tuş takımının olması ve mikrofon hoparlör setiyle beraber bir de ışığının olması önümüzdeki günlerde projelerimde kullanabileceğim demek <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Bütün bunların dışında daha inceleme fırsatı bulamadığım Linux Driver Development Kit&#8217;ini en kısa zamanda ubuntumda deneyeceğim <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Onunda bağlantısını verelim:</p>
<p><a href="http://kernel.org/pub/linux/kernel/people/gregkh/ddk/">http://kernel.org/pub/linux/kernel/people/gregkh/ddk/</a></p>
<p>Bu yazı kendim için de kaynaklar kısmı olucak ve yeni dökümanlar buldukça buraya ekleyeceğim.</p>
<div class="shr-publisher-246"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom --><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.cagdastopcu.com/linux-driver-gelistirm-ve-kernel-hack-dokumanlari.html&via=cagdastopcucom&text=Linux Driver Geliştirme ve Kernel Hack Dökümanları&related=cagdastopcu.com:official twitter of cagdastopcu.com&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.cagdastopcu.com/linux-driver-gelistirm-ve-kernel-hack-dokumanlari.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Kernel Modül Programlama &#8211; Giriş</title>
		<link>http://www.cagdastopcu.com/kernel-modul-programlama-giris.html</link>
		<comments>http://www.cagdastopcu.com/kernel-modul-programlama-giris.html#comments</comments>
		<pubDate>Mon, 04 Jan 2010 02:22:05 +0000</pubDate>
		<dc:creator>cagdas</dc:creator>
				<category><![CDATA[GNU]]></category>
		<category><![CDATA[pragramlama]]></category>
		<category><![CDATA[compile]]></category>
		<category><![CDATA[derleme]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[makefile]]></category>
		<category><![CDATA[modül]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[programlama]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.cagdastopcu.com/?p=197</guid>
		<description><![CDATA[Kernel modülü programlamak sürekli korktuğum ancak merak ettiğim bir konuydu. Eğer mobile programlama yaparak yaşamımı devam ettireceksem bunu da öğrenmem gerekiyordu Java ME&#8217; nin yanında. Kernel işletim sisteminin çekirdeğidir ve Ubuntu dağıtımının (distro) kerneli Linux&#8217;tur. Kernel bütün programların trafiğini sağlar ve donanımla yazılım arasında bağ kurar. Basit bir kernel modülünü ekleyip çıkarmayı anlatıyorum bu yazımda. &#8230; </p><p><a class="more-link block-button" href="http://www.cagdastopcu.com/kernel-modul-programlama-giris.html">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><div id="attachment_198" class="wp-caption aligncenter" style="width: 577px"><a href="http://www.cagdastopcu.com/wp-content/uploads/2010/01/kernelhello1.png"><img class="size-full wp-image-198" title="kernel, hack, linux, ubuntu, modül, module, programlama" src="http://www.cagdastopcu.com/wp-content/uploads/2010/01/kernelhello1.png" alt="kernel ilk modülü programlama" width="567" height="348" /></a><p class="wp-caption-text">ilk kernel modülü programlama</p></div>
<p>Kernel modülü programlamak sürekli korktuğum ancak merak ettiğim bir konuydu. Eğer mobile programlama yaparak yaşamımı devam ettireceksem bunu da öğrenmem gerekiyordu Java ME&#8217; nin yanında. Kernel işletim sisteminin çekirdeğidir ve Ubuntu dağıtımının (distro) kerneli Linux&#8217;tur. Kernel bütün programların trafiğini sağlar ve donanımla yazılım arasında bağ kurar. Basit bir kernel modülünü ekleyip çıkarmayı anlatıyorum bu yazımda.</p>
<h3><strong>Kernel Modülü Nedir?</strong></h3>
<p>Kernel (isteyen çekirdek diyebilir ancak uzayın kernelından aklımda hep kernel olarak kalacaktır <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ) modülleri kernele ekleyip çıkarabildiğimiz kod parçalarıdır. Kernelin fonksiyonelliğini sistemi reboot etmeden, yani yeniden başlatmamıza gerek kalmadan modüller sayesinde geliştirebiliriz. Örnek olarak bir donanımın driverını gösterebiliriz, bu driverle kernelimiz sistem ve donanımımızın arasındaki bağlantıyı gerçekleştirebilecektir. Modülleri kullanmıyor olsaydık her fonksiyonelliği geliştirişimizde kernele eklenti yapmamız gerekecekti. Bu ise büyük kernele sahip sistemlerde her yeni geliştirmede kernelin yeniden derlenmesi ve sistemin reboot edilmesi gerçekten de kötü bir durumdur.</p>
<p><span id="more-197"></span></p>
<p>Kernelimizde kurulu olan modülleri <span style="color: #3366ff;">lsmod</span> komutuyla görebiliriz.</p>
<p><span style="color: #3366ff;">cagdas@cagdas:~$ lsmod<br />
Module                  Size  Used by<br />
msdos                  15744  0<br />
fat                    58272  1 msdos<br />
isofs                  39844  1<br />
udf                    87716  0 </span></p>
<p>gibi bir sürü kernel modülümüz görünecektir.</p>
<p>Eğer buradaki örnekler çalışmazsa büyük bir ihtimalle kernelinizin <span style="color: #3366ff;">CONFIG_MODVERSIONS</span> u aktif hale getirilmiştir. Eğer versiyon hataları alıyorsanız kernelinizdeki modversioning özelliğini off hale getirerek derlemeniz gerekmektedir.</p>
<p>Gelelim ilk kernel modülümüze. Elebette ki <span style="color: #3366ff;">&#8220;Hello World!&#8221;</span> uygulaması olucak. Başka türlü olsaydı şaşardım <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span style="color: #3366ff;">/*<br />
*  hello-1.c &#8211; The simplest kernel module.<br />
*/<br />
#include &lt;linux/module.h&gt;    /* Needed by all modules */<br />
#include &lt;linux/kernel.h&gt;    /* Needed for KERN_INFO */</span></p>
<p><span style="color: #3366ff;">int init_module(void)<br />
{<br />
printk(KERN_INFO &#8220;Hello world 1.\n&#8221;);</span></p>
<p><span style="color: #3366ff;">/*<br />
* A non 0 return means init_module failed; module can&#8217;t be loaded.<br />
*/<br />
return 0;<br />
}</span></p>
<p><span style="color: #3366ff;">void cleanup_module(void)<br />
{<br />
printk(KERN_INFO &#8220;Goodbye world 1.\n&#8221;);<br />
}</span></p>
<p>Kernel modülleri en az iki fonksiyondan oluşmaktadır. Bunlar başla ve bitir fonksiyonlarıdır. Genellikle <span style="color: #3366ff;">init_module()</span> başla ve <span style="color: #3366ff;">cleanup_module()</span> bitir (temizle) isimlendirmeleriyle kullanılırlar ancak kafamıza göre de isimler verebilirdik.</p>
<p>init_module() yapacağımız işi veya asıl fonksiyonu kernelin içine koyarak çağırmamızı veya kerneli denetlemizi sağlar. cleanup_module() kısmı ise init_module() ün yaptıklarını geri alarak modülümüzün güvenli bir şekilde kaldırılmasını sağlar.</p>
<p>linux/module.h kütüphanesi bütün kernel modüllerde kullanılır.</p>
<p>linux/kernel.h kütüphanesini ise printk() uyarısını kullanabilmek için çağırdık. Bu uyarı syslogd ve klogd programları çalışıyorsa /var/log/messages dosyasına çıktımızı loglamaya yarar.</p>
<p>Ardından Makefile&#8217;ımızı kodu koyduğumuz dizinin içine koyalım. Dosyanın adı <span style="color: #3366ff;">Makefile</span> olacak.</p>
<p><span style="color: #3366ff;">obj-m += hello-1.o</span></p>
<p>all:<br />
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules</p>
<p>clean:<br />
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean</p>
<p>make komutu ile modülümüzü derleyelim.</p>
<p><span style="color: #3366ff;">cagdas@cagdas:~/Belgeler$ make<br />
make -C /lib/modules/2.6.28-16-generic/build M=/home/cagdas/Belgeler modules<br />
make[1]:`/usr/src/linux-headers-2.6.28-16-generic&#8217; dizinine giriliyor<br />
CC [M]  /home/cagdas/Belgeler/hello-1.o<br />
Building modules, stage 2.<br />
MODPOST 1 modules<br />
CC      /home/cagdas/Belgeler/hello-1.mod.o<br />
LD [M]  /home/cagdas/Belgeler/hello-1.ko<br />
make[1]: `/usr/src/linux-headers-2.6.28-16-generic&#8217; dizininden çıkılıyor</span></p>
<p>Evet ilk kernel modülümüzü derledik. Ardından modinfo komudu ile kernel modülümüz hakkında bazı bilgilere erişebiliriz.</p>
<p><span style="color: #3366ff;">cagdas@cagdas:~/Belgeler$ modinfo hello-1.ko<br />
filename:       hello-1.ko<br />
srcversion:     140276773A3090F6F33891F<br />
depends:<br />
vermagic:       2.6.28-16-generic SMP mod_unload modversions 586 </span></p>
<p>Ve en sonunda kernelimizin içine modülümüzü koyalım. Bunun için root kullanıcı olmamız gerekiyor. <span style="color: #3366ff;">sudo -s -H</span> komutuyla bildiğiniz gibi root oluyoruz. <span style="color: #3366ff;">insmod ./hello-1.ko</span> ile kernelimize modülümüzü ekledik ve /var/log/messages logunun son satırlarına bakalım <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span style="color: #3366ff;">Jan  4 03:22:17 cagdas kernel: [37145.098506] hello_1: module license &#8216;unspecified&#8217; taints kernel.<br />
Jan  4 03:22:17 cagdas kernel: [37145.098594] Hello world 1.</span></p>
<p>Evet mutlu son <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Eğer modülümüzü kernelimizden silmek istiyorsak <span style="color: #3366ff;">rmmod hello-1</span> komutunu kullanacağız.</p>
<p>Not: Bu yazı dizisi <a href="http://tldp.org/LDP/lkmpg/2.6/html/index.html">The Linux Kernel Module Programming Guide</a> belgesinin soft hali olucaktır. Kernelin 2.4 ve 2.6 sürümünlerine uygundur. Kernelinizin versiyonunu uname -a komutuyla öğrenebilirsiniz.</p>
<p>C kodu:</p>
<p><a href="http://www.cagdastopcu.com/wp-content/uploads/2010/01/hello-1.c">hello-1.c</a></p>
<div class="shr-publisher-197"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom --><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.cagdastopcu.com/kernel-modul-programlama-giris.html&via=cagdastopcucom&text=Kernel Modül Programlama - Giriş&related=cagdastopcu.com:official twitter of cagdastopcu.com&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.cagdastopcu.com/kernel-modul-programlama-giris.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows Sucks Tu Kaka</title>
		<link>http://www.cagdastopcu.com/windows-sucks-tu-kak.html</link>
		<comments>http://www.cagdastopcu.com/windows-sucks-tu-kak.html#comments</comments>
		<pubDate>Sun, 03 Jan 2010 01:43:01 +0000</pubDate>
		<dc:creator>cagdas</dc:creator>
				<category><![CDATA[GNU]]></category>

		<guid isPermaLink="false">http://www.cagdastopcu.com/?p=180</guid>
		<description><![CDATA[Evet dünyanın en dandik programıydı. En kalitesiz en berbatıydı. Linux kullanımı yaygın olmadığı için ve yazılım tekelleri kendilerini dayattıkları için winfos kullanmak zorunda kaldım. XP kullanıyorum, hayır vistayı denemedim, hayır windows 7&#8242;yi de denemedim çünkü o kadar kötü yazılımlar ki bilgisayarım kaldırmaz Java ME ile ilgili bir kaç şeye bakmak için ubuntuma geri döndüğümde karşılaştığım &#8230; </p><p><a class="more-link block-button" href="http://www.cagdastopcu.com/windows-sucks-tu-kak.html">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p style="text-align: center;"><a href="http://www.cagdastopcu.com/wp-content/uploads/2010/01/dilbert.linux.gif"><img class="size-full wp-image-181 aligncenter" title="dilbert, linux, bill, gates" src="http://www.cagdastopcu.com/wp-content/uploads/2010/01/dilbert.linux.gif" alt="dilbert, linux, bill, gates" width="600" height="384" /></a></p>
<p>Evet dünyanın en dandik programıydı. En kalitesiz en berbatıydı. Linux kullanımı yaygın olmadığı için ve yazılım tekelleri kendilerini dayattıkları için winfos kullanmak zorunda kaldım. XP kullanıyorum, hayır vistayı denemedim, hayır windows 7&#8242;yi de denemedim çünkü o kadar kötü yazılımlar ki bilgisayarım kaldırmaz <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Java ME ile ilgili bir kaç şeye bakmak için ubuntuma geri döndüğümde karşılaştığım manzara muhteşemdi: sadece 10 Gb&#8217;lık disk alanına rağmen ultra süper hızlı bilgisayarım&#8230; Nerdeyse sabahtan geceye kadar, kullansam da kullanmasam da açık tuttum hiç ısınmadı. Fanın zorlandığını hiç hissetmedim. Netbeans, Glassfish, onlarca firefox penceresi, yüzlerce firefox tabı ve yine onlarca döküman-mini programlar açıktı. Windowsun en büyük sorunu ısınmaya engel olamamasıdır. Evet yanlış okumuyorsunuz yazılımsal bir hata bu <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Bilgisayarımda hiçbir problem yokmuş ki ubuntuda misler gibi çalıştı. Ancak saniyeler içinde ubuntumu (#!oh yeah, my ubuntu xD!!!) kapatıp dakikalar boyunca winfosun açılmasını bekledim ve açılır açılmaz alev alev yanan bir laptop. Beceriksizlikti bu. Becerememekti. Tam da Paul Graham&#8217;ın <a title="paul, graham, how, to, start, startup" href="http://paulgraham.com/start.html">How To Start A Startup</a> yazısında anlattığı büyüyen şirketin hantallaşıp değişme yetisini kaybetmesiydi. Evet değişemiyorlardı sadece özgür yazılımlardan ve yeni trend başarılı programlardan bir şeyler çırpıp kendi frankenstein&#8217;a dönmüş kodlarına eklemeye devam ediyorlardı. <strong>Startup</strong> ne ki yenilir mi demeyelim aşağıda startup kasışına dair bir fotoğraf <img src='http://www.cagdastopcu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Beş parası olmayıp da hacker olan insanların (MIT mezunu olm boru mu) kafalarındaki güzel fikilerini ne yapsam da paramdan para kazansam diye düşünen kapitalistlere anlatıp kendilerine fon bulmasıydı. Bir nevi arge fonu gibiydi. Ancak kapitalizmde işler o kadar tozpembe değil. Bildiğiniz köleliktir efendim. Günde 72 saat kafa mı patlatılır? İnsaf!</p>
<div id="attachment_182" class="wp-caption aligncenter" style="width: 458px"><a href="http://www.cagdastopcu.com/wp-content/uploads/2010/01/working-in-a-startup-small.jpg"><img class="size-full wp-image-182 " title="küçük, startup, şirket, çalışması, yazılım, information, technology," src="http://www.cagdastopcu.com/wp-content/uploads/2010/01/working-in-a-startup-small.jpg" alt="küçük, startup, şirket, çalışması, yazılım, information, technology," width="448" height="296" /></a><p class="wp-caption-text">startup kasışları</p></div>
<p>Winfosun en büyük sorunu kaynakları nasıl kullanması gerektiğini bilmemesiydi. Alt üstü chat programı olan windows live programı bir linux dağıtımından daha büyüktü ve tam bir alev kusan ejderhaydı. (8 bitlik işlemciye bile chat programı yazarım lan ben der linuxçu C canavarları o ayrı tabi) Yeni versiyonunu dayatması saçmalığını geçtim yeni gelen aptal versiyonunda wlcomm.exe diye bağlantıyla alakalı olduğunu tahmin ettiğim ve googleladığımda sadece hata verip duran bir program parçası olduğunu öğrenebildim. Şu anda bilgisayarımı yeni açtım sayılır doğru düzgün kimseyle de konuşmadım ancak 35 mb ram harcıyor kendileri. Muhteşem yani. Hatta şu  anda yine patlamak üzere sistemim. Yazarken zorlanıyorum. Hayır, ben nerde hata yaptım. Bütün paramı 4 çekirdekli bir bilgisayara mı yatırmalıydım? Çarçur etmek değil miydi bu?</p>
<h3>Kafamdaki neydi?</h3>
<p>Gidip bir masaüstü bilgisayar alacağım, ubuntudan son versiyon çıkar çıkmaz kurulum cdsini isteyeceğim (evet bedavaya getiriyorlar evime kadar). Masaüstünde windows 7 mi olur ne olur bilemem artık ama laptopumun çektiği eziyetleri bitireceğim. O kadar ısınıyor ki zavallı çok az ömrü kaldı bu zor şartlar altında.</p>
<div class="shr-publisher-180"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom --><div style="float: right; margin-left: 10px;"><a href="http://twitter.com/share?url=http://www.cagdastopcu.com/windows-sucks-tu-kak.html&via=cagdastopcucom&text=Windows Sucks Tu Kaka&related=cagdastopcu.com:official twitter of cagdastopcu.com&lang=en&count=horizontal" class="twitter-share-button">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.cagdastopcu.com/windows-sucks-tu-kak.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 1.113 seconds -->

