<?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>Onur Semih Sevim</title>
	<atom:link href="http://www.blog.onursemihsevim.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.blog.onursemihsevim.com</link>
	<description>Kişisel Sayfa</description>
	<lastBuildDate>Sun, 04 Jul 2010 15:46:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>GWT &#8211; Google Web Toolkit</title>
		<link>http://www.blog.onursemihsevim.com/2010/07/04/gwt-google-web-toolkit/</link>
		<comments>http://www.blog.onursemihsevim.com/2010/07/04/gwt-google-web-toolkit/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 15:43:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[google web toolkit]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.blog.onursemihsevim.com/?p=231</guid>
		<description><![CDATA[Eğer ki java ile uygulama geliştirmeyi seviyor ve bir web uygulaması geliştirme kararı aldıysanız Google Web Toolkit&#8217; e bir göz atmadan işe koyulmayın derim. GWT daha önceden swing veya awt kullananların çabuk ayak uydurabileceği ; yalnızca java kodu yazarak web üzerinde bir masaüstü uygulaması gibi  event based çalışan uygulamalar geliştirmek için kolay ve kullanışlı [...]]]></description>
			<content:encoded><![CDATA[<p>Eğer ki java ile uygulama geliştirmeyi seviyor ve bir web uygulaması geliştirme kararı aldıysanız Google Web Toolkit&#8217; e bir göz atmadan işe koyulmayın derim. GWT daha önceden swing veya awt kullananların çabuk ayak uydurabileceği ; yalnızca java kodu yazarak web üzerinde bir masaüstü uygulaması gibi  event based çalışan uygulamalar geliştirmek için kolay ve kullanışlı bir platform sunan bir framework. Client ve Server arasındaki haberleşmeyi ise kendisine ait bir interface implementasyonuyla ajax mantığında asenkron çalışan rpc(Remote Procedure Call)&#8217; lerle sağlamaktadır. GWT hakkında daha detaylı bilgiye sahip olabilmek için <a href="http://code.google.com/intl/tr-TR/webtoolkit/" > burayı</a> ziyaret edebilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.onursemihsevim.com/2010/07/04/gwt-google-web-toolkit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python&#8217;da PIL ile İmaj Karşılaştırma</title>
		<link>http://www.blog.onursemihsevim.com/2010/01/24/pythonda-pil-ile-imaj-karsilastirma/</link>
		<comments>http://www.blog.onursemihsevim.com/2010/01/24/pythonda-pil-ile-imaj-karsilastirma/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 11:43:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Image Compare]]></category>
		<category><![CDATA[PIL]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Python Image Library]]></category>
		<category><![CDATA[PythonWın]]></category>
		<category><![CDATA[Read Image Pixels]]></category>
		<category><![CDATA[Search image in image]]></category>

		<guid isPermaLink="false">http://www.blog.onursemihsevim.com/?p=164</guid>
		<description><![CDATA[Python ve  Python Imaging Library (PIL)  kullanarak kaynak bir resmin üzerinde bulunan referans noktaların kaynak resim üzerinde hangi noktalarda geçtiği sorusunu cevaplayan ufak bir script yazmaya çalıştım ve bunu ilgilenen arkadaşlarla paylaşmaya karar verdim.
Öncelikle Python&#8217; u nerede nasıl yazabilirim ? sorusunu cevaplayarak işe başlayalım. Bu konuda hızlı bir başlangıç yapmanız için sizlere  Active Python [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Python ve  Python Imaging Library (PIL)  kullanarak kaynak bir resmin üzerinde bulunan referans noktaların kaynak resim üzerinde hangi noktalarda geçtiği sorusunu cevaplayan ufak bir script yazmaya çalıştım ve bunu ilgilenen arkadaşlarla paylaşmaya karar verdim.</p>
<p style="text-align: justify;">Öncelikle Python&#8217; u nerede nasıl yazabilirim ? sorusunu cevaplayarak işe başlayalım. Bu konuda hızlı bir başlangıç yapmanız için sizlere <a href="https://www.activestate.com/activepython/downloads/"> Active Python</a> ürününü indirmenizi ve bilgisayara kurmanızı öneriyorum.Kurulumdan sonra resimdeki şekilde yeni bir Python Script dosyası açarak ilgili kodları yazmaya başlayabiliriz.</p>
<p><img class="alignnone size-full wp-image-165" title="newPython" src="http://www.blog.onursemihsevim.com/wp-content/uploads/2010/01/newPython.JPG" alt="newPython" width="515" height="626" /></p>
<p>Fakat yazınının başında da bahsettiğimiz gibi bu uygulamada( PIL)  Python imaj kütüphanesinide kütüphanelerimize eklememiz gerekmektedir bunu yapmak ise Active Pythonun kurulumu kadar kolaydır.<a href="http://www.pythonware.com/products/pil/">Buradan</a> az önce kurduğunuz ActivePython versiyonunuza ve işletim sisteminize uygun olan PIL versiyonunu bilgisayarınıza indirip kurulumu gerçekleştiriniz.Artık bahsettiğimiz uygulamaya başlamaya hazırız<span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; font-size: small;"><span style="line-height: 18px; white-space: pre;">.</span></span></p>
<table border="0" width="410">
<tbody>
<tr>
<td>İlk önce kaynak resmini<br />
<img class="alignnone size-full wp-image-166" style="justify" title="1ney" src="http://www.blog.onursemihsevim.com/wp-content/uploads/2010/01/1ney.gif" alt="1ney" width="430" height="404" /></td>
</tr>
</tbody>
</table>
<p>ve bu kaynak resim içinde arayacağımız referans imajımızı:</p>
<table border="0" width="100">
<tbody>
<tr>
<td><img class="alignnone size-full wp-image-167" title="referans" src="http://www.blog.onursemihsevim.com/wp-content/uploads/2010/01/referans.gif" alt="referans" width="3" height="3" /></td>
</tr>
</tbody>
</table>
<p>sizlere vererek işe başlıyorum.<br />
Artık referans imajını kaynak imajın içinde arayan ve karşılaştığı pixelleri bize döndüren kodu yazabiliriz.</p>
<p><a href="http://www.blog.onursemihsevim.com/wp-content/uploads/2010/01/imagePIL1.py">İndir</a> linkinden ilgili kodu bilgisayarlarınıza indirebilirsiniz.</p>
<pre style="text-align: justify;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: 19px; white-space: normal; font-size: 13px;">Kaynak resmimiz içerisinde referans resmimizin içerdiği n*k büyüklüğündeki pixel blokları halinde dönerek birebir uyuşan noktaları ekrana yazıdırıyoruz. Yazdığımız bu scripti örneğin odev.py şeklinde kaydettikten sonra PythonWin Editor den üst toolbarda bulunan run (Koşan adam ikonu : ) ) butonuna bastıktan sonra karşımıza çıkan formdan browse ederek script dosyasını seçip ok butonuna bastıktan sonra yazdığımız scripti çalıştırmış oluyoruz.</span>

<span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: small;"><span style="line-height: 19px; white-space: normal;"><img class="alignnone size-full wp-image-197" title="runScript" src="http://www.blog.onursemihsevim.com/wp-content/uploads/2010/01/runScript.JPG" alt="runScript" width="512" height="613" /></span></span></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.onursemihsevim.com/2010/01/24/pythonda-pil-ile-imaj-karsilastirma/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Php Manşet Haber Slider</title>
		<link>http://www.blog.onursemihsevim.com/2009/11/14/php-manset-haber-slider/</link>
		<comments>http://www.blog.onursemihsevim.com/2009/11/14/php-manset-haber-slider/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 23:53:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[Haber Slider]]></category>
		<category><![CDATA[Image Slider]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[News Slider]]></category>
		<category><![CDATA[Php Slider]]></category>
		<category><![CDATA[Slider]]></category>

		<guid isPermaLink="false">http://www.blog.onursemihsevim.com/?p=146</guid>
		<description><![CDATA[
Resimde gördüğümüz gibi bir resimli manşet haberi gereci yapmak için ilk olarak vermiş olduğum php kodunda olduğu gibi ilgili bilgileri veritabanından yada manuel olarak html etiketlerinde karşılık gelen alanlara yerleştiriyoruz.


&#60;?PHP
$sql =  &#34;SELECT title, img_src, ID, link FROM haberler&#34;;

$arr = selectQuery($sql);
if(is_array($arr)) {
?&#62;
&#60;div&#62;

&#60;?PHP
$i = 1;
foreach($arr as $var) {
$title = $var[0];
$img_src = $var[1];
$ID = $var[2];
$link = $var[3];
if($title != [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-147" title="news-slider" src="http://www.blog.onursemihsevim.com/wp-content/uploads/2009/11/news-slider.png" alt="news-slider" width="650" /><br />
Resimde gördüğümüz gibi bir resimli manşet haberi gereci yapmak için ilk olarak vermiş olduğum php kodunda olduğu gibi ilgili bilgileri veritabanından yada manuel olarak html etiketlerinde karşılık gelen alanlara yerleştiriyoruz.</p>
<p><span id="more-146"></span></p>
<pre class="brush: php;">
&lt;?PHP
$sql =  &quot;SELECT title, img_src, ID, link FROM haberler&quot;;

$arr = selectQuery($sql);
if(is_array($arr)) {
?&gt;
&lt;div&gt;

&lt;?PHP
$i = 1;
foreach($arr as $var) {
$title = $var[0];
$img_src = $var[1];
$ID = $var[2];
$link = $var[3];
if($title != NULL &amp;&amp; strlen($title) &gt; 0) {

?&gt;
&lt;div id=&quot;img_&lt;?PHP echo &quot;$i&quot; ?&gt;&quot; style=&quot;display: none;&quot;&gt;
&lt;a href=&quot;#&quot;&gt;
&lt;img border=&quot;0&quot; width=&quot;350&quot; height=&quot;190&quot; src=&quot;&lt;?PHP echo &quot;$img_src&quot; ?&gt;&quot; &gt;
&lt;div&gt;

&lt;/div&gt;
&lt;div&gt;    &lt;a href= &quot;#s&quot;&gt;&lt;?php echo &quot;$title&quot; ?&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;?PHP
$i++;
}
}
?&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;?PHP
$i = 1;
foreach($arr as $var) {
$title = $var[0];
$img_src = $var[1];
$ID = $var[2];
if($title != NULL &amp;&amp; strlen($title) &gt; 0) {

?&gt;
&lt;li&gt;
&lt;a href=&quot;#&lt;?PHP echo &quot;$ID&quot; ?&gt;&quot; onmouseover=&quot;return changePicture(&lt;?PHP echo &quot;$i&quot; ?&gt;);&quot;&gt;
&lt;img border=&quot;0&quot; width=&quot;50&quot; height=&quot;40&quot; src=&quot;&lt;?PHP echo &quot;$img_src&quot; ?&gt;&quot;&gt;
&lt;span&gt;&lt;?PHP echo &quot;$title&quot; ?&gt;&lt;/span&gt;
&lt;/a&gt;
&lt;/li&gt;

&lt;?PHP
$i++;
}
}
?&gt;
&lt;/ul&gt;
&lt;/div&gt;

&lt;?PHP
echo &quot;&lt;script&gt;changePicture(1);&lt;/script&gt;&quot;;
}
}
?&gt;
</pre>
<p>Daha sonra silderımıza şekilini verecek olan style dosyasını aşağıda olduğu gibi oluşturuyoruz ve manşet haberleri çağıracağımız sayfanın head etiketleri arasına yerleştiriyoruz.</p>
<pre class="brush: css; auto-links: false; class-name: myclass; collapse: false; first-line: 1; gutter: true; highlight: [1,2,3]; html-script: false; light: false; ruler: false; smart-tabs: true; tab-size: 4; toolbar: true;">

.transparent {
background:#000000 none repeat scroll 0 0;

height:30px;
margin-top:160px;
opacity:0.7;
position:absolute;
width:355px;
}
.transparent_title {

margin-top:170px;
position:absolute;
z-index:99;
font-family: Arial, Helvetica, sans-serif;
font-size:15px;
font-weight:bold;
}

.manset_pictures {
margin-left:5px;
margin-top:5px;
width:355px;
float:left;
}

* html .manset_pictures {
width:355px;
float:left;
}

.manset_pictures img {
height:190px;
width:355px;
float:left;
}

* html .manset_thumbnails{ float:right;   height: 203px;    width: 200px; z-index: 3; position:absolute;  margin-top:3px;}
.manset_thumbnails{ float:right;  margin-right:3px; margin-top:3px; height: 200px;    width: 200px; z-index: 3; font-family: Arial, Helvetica, sans-serif;}
.manset_thumbnails  li a:link, .manset_thumbnails li a:visited {padding: 5px 2px 4px 2px; display:block; background:black;  height:38px; border-bottom:1px solid #1b1b1b; font-weight: bold; }
.manset_thumbnails li a:hover, .manset_thumbnails li a:active  {padding: 5px 2px 4px 2px;  background:#FDE341; text-decoration:none; color:#000;}
.manset_thumbnails  li a:link.last, .manset_thumbnails li a:visited.last {padding: 5px 2px 4px 2px; display:block; background:black;  height:50px; border-bottom:none;}
.manset_thumbnails li a:hover.last, .manset_thumbnails li a:active.last  { background:#3e0203; text-decoration:none;}
.manset_thumbnails  li a:link.selected, .manset_thumbnails li a:visited.selected {background:#3e0203;}

.manset_thumbnails  li a:link.selected, .manset_thumbnails li a:visited.selected {
background:#3e0203;
}
.manset_thumbnails li a:link img, .manset_thumbnails li a:visited img {padding: 2px 2px 2px 7px;  margin:-3px 8px 0 0px; float:left;}
.manset_thumbnails li a:link.selected img, .manset_thumbnails li a:visited.selected img {}

.manset_thumbnails li  a:hover  img, .manset_thumbnails li a:active  img { text-decoration:none;}
</pre>
<p>Son iş olarakta resimler üzerinde dinamik olarak gezmemizi sağlayacak olan javascript fonksiyonunu manşet haberler sayfamızın head etiketleri arasına ekliyoruz.</p>
<pre class="brush: js;">
previousItem=-1;

function changePicture(idx)
{
if(previousItem!= -1)
{

document.getElementById(&quot;img_&quot; + previousItem).style.display = 'none';

}

document.getElementById(&quot;img_&quot; + idx).style.display = 'block';
previousItem=idx;

return false;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.onursemihsevim.com/2009/11/14/php-manset-haber-slider/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>C ile SMTP ve POP3 Uygulaması</title>
		<link>http://www.blog.onursemihsevim.com/2009/10/27/c-ile-smtp-ve-pop3-uygulamasi/</link>
		<comments>http://www.blog.onursemihsevim.com/2009/10/27/c-ile-smtp-ve-pop3-uygulamasi/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 10:21:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[C ile Mail]]></category>
		<category><![CDATA[C ile POP3]]></category>
		<category><![CDATA[Email]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[POP]]></category>
		<category><![CDATA[POP3]]></category>
		<category><![CDATA[SMTP]]></category>

		<guid isPermaLink="false">http://www.blog.onursemihsevim.com/?p=39</guid>
		<description><![CDATA[Porto üniversitesinde öğrenciyken yapmış olduğum; C programlama diliyle basit manada maillerinizi okuyup,silme ve yeni bir mail gönderme işlemlerini gerçekleştiren uygulamanın kodları aşağıdaki gibidir. Tabi böyle bir uygulamayı yapabilmek için smtp ve pop3 gibi protokollerin nasıl kullanılacağı hakkında bir takım araştırmalar yapıp bunlar ile socket üzerinden nasıl haberleşirim sorusunun cevaplarını bu kod vasıtasıyla öğrenmiştim.



#include &#60;stdio.h&#62;
#include &#60;sys/types.h&#62;
#include [...]]]></description>
			<content:encoded><![CDATA[<p>Porto üniversitesinde öğrenciyken yapmış olduğum; C programlama diliyle basit manada maillerinizi okuyup,silme ve yeni bir mail gönderme işlemlerini gerçekleştiren uygulamanın kodları aşağıdaki gibidir. Tabi böyle bir uygulamayı yapabilmek için smtp ve pop3 gibi protokollerin nasıl kullanılacağı hakkında bir takım araştırmalar yapıp bunlar ile socket üzerinden nasıl haberleşirim sorusunun cevaplarını bu kod vasıtasıyla öğrenmiştim.</p>
<p><span id="more-39"></span></p>
<pre class="brush: c;">

#include &lt;stdio.h&gt;
#include &lt;sys/types.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;netinet/in.h&gt;
#include &lt;arpa/inet.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;unistd.h&gt;
#include &lt;signal.h&gt;
#include &lt;netdb.h&gt;
#include &lt;strings.h&gt;
#include &lt;string.h&gt;
#include &lt;netinet/tcp.h&gt;

//#define SERVER_PORT 110
//#define SERVER_ADDR &quot;193.136.28.29&quot;

int	sockfd,contBuf;
char	buf[1000],msg[40];
int 	i = 0;
int 	port = 1234;
struct	sockaddr_in serv_addr;
struct 	hostent * host;

char 	c;
char 	emailfrom[40],emailto[40], emailmsg[1000],emailno[4];
char 	hostname[40],port_char[10],userid[25],userpass[25];
int	bytes;

void talkTelnet(char msgInput[50])
{

strcpy(msg,msgInput);
strncat(msg,&quot;\r\n&quot;,5);
printf(&quot;C:[%s]\n&quot;,msg);
write(sockfd, msg, strlen(msg));
contBuf = recv(sockfd, buf, 1000, 0);
buf[contBuf]='\0';
printf(&quot;S:[%s]\n&quot;,buf);

}

void pop3func()
{

getchar();

printf(&quot;Enter your user_id\n&quot;);
c = getchar();

for(i=0;c != '\n';i++)
{
userid[i] = c;
c = getchar();
}
if(i &gt; 0)
userid[i] = '\0';

printf(&quot;Enter your user_pass\n&quot;);
c = getchar();

for(i=0;c != '\n';i++)
{
userpass[i] = c;
c = getchar();
}
if(i &gt; 0)
userpass[i] = '\0';

//reading first msg from server
contBuf = recv(sockfd, buf, 1000, 0);
buf[contBuf]='\0';
printf(&quot;S:FIRST MSG RECEIVED [%s]\n&quot;,buf);
/*user*/
strcpy(msg,&quot;user &quot;);
strncat(msg,userid,strlen(userid));
talkTelnet(msg);
//password
strcpy(msg,&quot;pass &quot;);
strncat(msg,userpass,strlen(userpass));
talkTelnet(msg);
//stat
talkTelnet(&quot;stat&quot;);
//get mail list

while(c!='m')
{
//get mail list
talkTelnet(&quot;list&quot;);

//get Mail by number
printf(&quot;Enter the number of the mail which u wanna read\n&quot;);
c = getchar();

for(i=0;c != '\n';i++)
{
emailno[i] = c;
c = getchar();
}
if(i &gt; 0)
emailno[i] = '\0';

strcpy(msg,&quot;retr &quot;);
strncat(msg,emailno,strlen(emailno));
talkTelnet(msg);

//Delete Mail or Read new one
printf(&quot;For Delete Press d\n&quot;);
printf(&quot;For new Mail enter the number\n&quot;);
printf(&quot;For Main Menu press m\n&quot;);
c=getchar();
if(c=='d')
{
strcpy(msg,&quot;dele &quot;);
strncat(msg,emailno,strlen(emailno));
talkTelnet(msg);

}

}

menu();

}

void sendMail(char emailfrom[40],char emailto[40],char emailmsg[1000])
{
//reading first msg from server
contBuf = recv(sockfd, buf, 1000, 0);
buf[contBuf]='\0';
printf(&quot;S:FIRST MSG RECEIVED [%s]\n&quot;,buf);

/*send a string to the server*/
strcpy(msg,&quot;helo fe.up.pt\r\n&quot;);
printf(&quot;C:[%s]\n&quot;,msg);
write(sockfd, msg, strlen(msg));
//reading 2nd msg from server
contBuf = recv(sockfd, buf, 1000, 0);
buf[contBuf]='\0';
printf(&quot;S:[%s]\n&quot;,buf);
//mail from info
strcpy(msg,&quot;MAIL FROM:&lt;&quot;);
strncat(msg,emailfrom,strlen(emailfrom));
strncat(msg,&quot;&gt;\r\n&quot;,3);
write(sockfd, msg, strlen(msg));
printf(&quot;C:[%s]\n&quot;,msg);
contBuf = recv(sockfd, buf, 1000, 0);
buf[contBuf]='\0';
printf(&quot;S:[%s]\n&quot;,buf);
//receipt to info
strcpy(msg,&quot;RCPT TO:&lt;&quot;);
strncat(msg,emailto,strlen(emailto));
strncat(msg,&quot;&gt;\r\n&quot;,3);
write(sockfd, msg, strlen(msg));
printf(&quot;C:[%s]\n&quot;,msg);
contBuf = recv(sockfd, buf, 1000, 0);
buf[contBuf]='\0';
printf(&quot;S:[%s]\n&quot;,buf);
//data
strcpy(msg,&quot;DATA\r\n&quot;);
write(sockfd, msg, strlen(msg));
printf(&quot;C:[%s]\n&quot;,msg);
contBuf = recv(sockfd, buf, 1000, 0);
buf[contBuf]='\0';
printf(&quot;S:[%s]\n&quot;,buf);
//emailmessage
strcpy(msg,emailmsg);
strcat(msg,&quot;\r\n.\r\n&quot;);
write(sockfd, msg, strlen(msg));
printf(&quot;C:[%s]\n&quot;,msg);
contBuf = recv(sockfd, buf, 1000, 0);
buf[contBuf]='\0';
printf(&quot;S:[%s]\n&quot;,buf);

}

void mimeMessage(char emailmsg[1000])
{

strcpy(msg,&quot;MIME-version: 1.0\n&quot;);
strcat(msg,&quot;Content-type: multipart/mixed; boundary='frontier'\n&quot;);
strcat(msg,&quot;--frontier\nContent-type: text/plain&quot;);
strcat(msg,emailmsg);
strcat(msg,&quot;\r\n.\r\n&quot;);
write(sockfd, msg, strlen(msg));
printf(&quot;C:[%s]\n&quot;,msg);
contBuf = recv(sockfd, buf, 1000, 0);
buf[contBuf]='\0';
printf(&quot;S:[%s]\n&quot;,buf);
}

void menu()
{
char key;
do{
printf(&quot;For Sending a Mail Press 1 \n&quot;);
printf(&quot;For Reading your Mails Press 2\n&quot;);
printf(&quot;For Exit Press 3\n&quot;);
key=getchar();
switch(key){
case '1':
{

getchar();
printf(&quot;please enter your mail adress\n&quot;);
c = getchar();

for(i=0;c != '\n';i++)
{
emailfrom[i] = c;
c = getchar();
}
if(i &gt; 0)
emailfrom[i] = '\0';

printf(&quot;please enter your friend mail adress\n&quot;);

c = getchar();
for(i=0;c != '\n';i++)
{
emailto[i] = c;
c = getchar();
}

if(i &gt; 0)
emailto[i] = '\0';

printf(&quot;please enter your message\n&quot;);

c = getchar();
for(i=0;c != '\n';i++)
{
emailmsg[i] = c;
c = getchar();
}
if(i &gt; 0)
emailmsg[i] = '\0';

sendMail(emailfrom,emailto,emailmsg);

}
case '2':
pop3func();
case '3':
exit(1);
}
}while(key!=3);

}
int main(int argc, char** argv){

// Girdileri Al
printf(&quot;please enter port number\n&quot;);

c = getchar();
for(i=0;c != '\n';i++)
{
port_char[i] = c;
c = getchar();
}
if(i &gt; 0)
{
port_char[i] = '\0';
port = atoi(port_char);
}

printf(&quot;port: %d\n&quot;,port);
printf(&quot;please enter hostname name(max 40 character)\n&quot;);

c = getchar();

for(i=0;c != '\n';i++)
{
hostname[i] = c;
c = getchar();
}
if(i &gt; 0)
hostname[i] = '\0';

printf(&quot;host: %s\n&quot;,hostname);

//// End of getting inputs
/*server address handling*/

host = gethostbyname(hostname); // host adindan server adresi cikar
serv_addr.sin_family = host-&gt;h_addrtype;
memcpy((char *) &amp;serv_addr.sin_addr.s_addr, host-&gt;h_addr_list[0],host-&gt;h_length);
serv_addr.sin_port = htons(port);
memset(serv_addr.sin_zero,0,8);

/*open an TCP socket*/
if ((sockfd = socket(AF_INET,SOCK_STREAM,0)) &lt; 0) {
perror(&quot;socket()&quot;);
exit(0);
}
/*connect to the server*/
if(connect(sockfd,
(struct sockaddr *)&amp;serv_addr,
sizeof(serv_addr)) &lt; 0){
perror(&quot;connect()&quot;);
exit(0);
}
printf (&quot;C:CONNECTED TO SERVER!\n&quot;);

menu();

close(sockfd);
exit(0);
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.onursemihsevim.com/2009/10/27/c-ile-smtp-ve-pop3-uygulamasi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Açılım Fiyaskosu&#8230;</title>
		<link>http://www.blog.onursemihsevim.com/2009/10/24/acilim-fiyaskosu/</link>
		<comments>http://www.blog.onursemihsevim.com/2009/10/24/acilim-fiyaskosu/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 09:37:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[Abdullah Öcalan]]></category>
		<category><![CDATA[Açılımi Fiyasko]]></category>
		<category><![CDATA[Habur]]></category>
		<category><![CDATA[Kürt Açılımı]]></category>
		<category><![CDATA[Mobil Mahkeme]]></category>
		<category><![CDATA[Pkk]]></category>

		<guid isPermaLink="false">http://www.blog.onursemihsevim.com/?p=137</guid>
		<description><![CDATA[Bugün 19 / 10 / 2009 ve bu tarih Türkiye adına büyük bir rezalet olarak yerini alacak tarih sayfalarında. Daha düne kadar ergenekon terör örgütünün yakınından geçen herkesi terörist diye içeri alan adalet, bugün dağdan inen, üstüne basa basa ben pkk&#8217;lıyım , Abdullah Öcalan&#8217; ın isteği üzerine demoktratik açılım sürecini desteklemeye buradayım ve yaptıklarımdan hiçbir [...]]]></description>
			<content:encoded><![CDATA[<p>Bugün 19 / 10 / 2009 ve bu tarih Türkiye adına büyük bir rezalet olarak yerini alacak tarih sayfalarında. Daha düne kadar ergenekon terör örgütünün yakınından geçen herkesi terörist diye içeri alan adalet, bugün dağdan inen, üstüne basa basa ben pkk&#8217;lıyım , Abdullah Öcalan&#8217; ın isteği üzerine demoktratik açılım sürecini desteklemeye buradayım ve yaptıklarımdan hiçbir şekilde pişman değilim gibi söylemlerde bulunan militanları; kurulan mobil mahkemeyle serbest bıraktı. Bu nasıl tutarsız bir hukuk sistemidir ki Silivri&#8217; de başka, Habur&#8217; da başka işler. Başbakanın Diyarbakır&#8217;da mutluluk tablosu diye belirttiği; provakatif şovlar, bu ülkenin insanlarını dahada başkalaştırır, taraflaştırır. Hem sevgili iktidar sen nasıl vereceksin bu yanlışın hesabını bu vatan uğruna gazi olmuş, şehit düşmüş ve onlar gibi vatanını seven tüm vatan evlatlarına; herşeyden öte Allah&#8217;a&#8230; </p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.onursemihsevim.com/2009/10/24/acilim-fiyaskosu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Joomla&#8217; da Kullanıcıları Taşımak</title>
		<link>http://www.blog.onursemihsevim.com/2009/09/21/joomla-da-kullanicilari-tasimak/</link>
		<comments>http://www.blog.onursemihsevim.com/2009/09/21/joomla-da-kullanicilari-tasimak/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 10:20:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[joomla]]></category>
		<category><![CDATA[jos_core_acl_aro]]></category>
		<category><![CDATA[jos_core_acl_groups_aro_map]]></category>
		<category><![CDATA[jos_users]]></category>
		<category><![CDATA[kullanıcı]]></category>
		<category><![CDATA[kullanıcı taşımak]]></category>

		<guid isPermaLink="false">http://www.blog.onursemihsevim.com/?p=133</guid>
		<description><![CDATA[Joomla&#8217; da  kullanıcı kayıtları jos_users,  jos_core_acl_aro, jos_core_acl_groups_aro_map tabloları arasında ilişkisel olarak tutulurlar. Eğerki kurduğunuz sistem üzerinde community builder bileşeninide kullanıyorsanız ek olarak jos_comprofiler tablosuda bu ilişkisel tabloların arasına katılır. Kullanıcı kayıtlarınızı aşağıda göstermiş olduğum yolu takip ederek yeni sisteminize taşıyabilirsiniz.


&#60;?php

$link = mysql_connect('localhost', 'root', 'qweasdzxc');
if (!$link) {
die('Bağlanamadı: ' . mysql_error());
}

// foo'yu geçerli veritabanı yap
$db_selected = mysql_select_db('chefs', [...]]]></description>
			<content:encoded><![CDATA[<p>Joomla&#8217; da  kullanıcı kayıtları jos_users,  jos_core_acl_aro, jos_core_acl_groups_aro_map tabloları arasında ilişkisel olarak tutulurlar. Eğerki kurduğunuz sistem üzerinde community builder bileşeninide kullanıyorsanız ek olarak jos_comprofiler tablosuda bu ilişkisel tabloların arasına katılır. Kullanıcı kayıtlarınızı aşağıda göstermiş olduğum yolu takip ederek yeni sisteminize taşıyabilirsiniz.</p>
<p><span id="more-133"></span></p>
<pre class="brush: php;">
&lt;?php

$link = mysql_connect('localhost', 'root', 'qweasdzxc');
if (!$link) {
die('Bağlanamadı: ' . mysql_error());
}

// foo'yu geçerli veritabanı yap
$db_selected = mysql_select_db('chefs', $link);
if (!$db_selected) {
die ('foo kullanılamaz : ' . mysql_error());
}

&lt;?php
$sql = &quot;SELECT name,username,email,password FROM `jos_users` limit 1&quot;;
$result = mysql_query($sql);

if (!$result) {
die('Invalid query: ' . mysql_error());
}
$i=0;

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {

mysql_query(&quot;INSERT INTO `jos_users` (`name`, `username`, `email`, `password`, `usertype`, `block`, `sendEmail`, `gid`, `registerDate`, `lastvisitDate`, `activation`, `params`) VALUES
('&quot;+$row[0]+&quot;', '&quot;+trim($row[1])+&quot;', '&quot;+trim($row[2])+&quot;', md5('&quot;+trim($row[3])+&quot;'), 'Registered', 0, 1, 18, '2009-02-05 16:40:45', '2009-03-14 17:02:32', '', )&quot;;
echo &quot;user&quot;;
mysql_query(&quot;INSERT INTO `jos_core_acl_aro` ( `section_value`, `value`, `order_value`, `name`, `hidden`)
VALUES ( 'users', (Select max(id) from jos_users), 0, (Select name from jos_users Order by id desc limit 1),0)&quot;);
echo &quot;acl_aro&quot;;

mysql_query(&quot;INSERT INTO `jos_core_acl_groups_aro_map` (`group_id`, `section_value`, `aro_id`) VALUES
(18, '', (Select max(`id`) from jos_core_acl_aro))&quot;);
echo &quot;aro_map&quot;;

mysql_query(&quot;INSERT INTO `jos_comprofiler`
(`id`, `user_id`, `hits`, `message_last_sent`,`message_number_sent`, `avatarapproved`, `approved`, `confirmed`, `lastupdatedate`, `registeripaddr`, `cbactivation`, `banned`,  `acceptedterms`) VALUES( (select max(`id`) from jos_users),(select max(`id`) from jos_users), 1,'0000-00-00 00:00:00', 0, 1, 1, 1, '2009-03-06 14:28:27', '127.0.0.1', '', 0, 1)&quot;);
echo &quot;profiller&quot;;

}
?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.onursemihsevim.com/2009/09/21/joomla-da-kullanicilari-tasimak/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>İçimiz Çok Acıdı</title>
		<link>http://www.blog.onursemihsevim.com/2009/09/18/icimiz-cok-acidi/</link>
		<comments>http://www.blog.onursemihsevim.com/2009/09/18/icimiz-cok-acidi/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 06:08:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[İstanbul]]></category>
		<category><![CDATA[İstanbul'da Sel]]></category>
		<category><![CDATA[Kültür Başkenti]]></category>
		<category><![CDATA[Sel]]></category>
		<category><![CDATA[Yağma]]></category>

		<guid isPermaLink="false">http://www.blog.onursemihsevim.com/?p=118</guid>
		<description><![CDATA[
İşte buyrun alın size avrupa kültür başkenti. Bu güzel şehri ne kadar daha mahvedeceğiz, bu sınırı ne kadar daha zorlayabileceğiz sorusunun cevabını inanın yıllardır arıyorum. Yıllarca İstanbul&#8217; un orta yerine edip, sonra temizlemek için milyonlarca lira harcayan zihniyetti görmek için çok uzağa gitmenize gerek yok , Pierre Lotti tepesinden aşağıya Haliç&#8217; e doğru bakmanız kafi.
Yağmur; [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-120" title="istanbulSel" src="http://www.blog.onursemihsevim.com/wp-content/uploads/2009/09/istanbulSel1.jpg" alt="istanbulSel" width="650"  /></p>
<p style="text-align: justify;">İşte buyrun alın size avrupa kültür başkenti. Bu güzel şehri ne kadar daha mahvedeceğiz, bu sınırı ne kadar daha zorlayabileceğiz sorusunun cevabını inanın yıllardır arıyorum. Yıllarca İstanbul&#8217; un orta yerine edip, sonra temizlemek için milyonlarca lira harcayan zihniyetti görmek için çok uzağa gitmenize gerek yok , Pierre Lotti tepesinden aşağıya Haliç&#8217; e doğru bakmanız kafi.</p>
<p style="text-align: justify;">Yağmur; tabiattan , yaradandan  gelen bir durum, buna hiçbir  isyanım yok tabi ki, fakat bunun bir doğal afete dönüşmesinin faturasını yaradana çıkarmak, çaresizlik mavalları okumak hiçbir yetkili ağıza yakışmadı. Bu felaketin yıllardır süregelen çarpık kentleşmenin , alt yapısızlığın ,tedbirsizliğin ve kötü belediyeciliğin sonucu olduğunu görmek için alim olmaya gerek yok fakat geçmişi yargılayarak zaman kaybetmenin ve sadece muhalif tavırlarda kalan ve sonucunda hiçbir çözüme ulaşılmamış bir ağız dalaşından ötürü gitmemenin ise hiç bir anlamı yok&#8230; Bize artık icraat gerek, yıllardır verilen vaatlere çok doydu bu bünyeler.</p>
<p style="text-align: justify;">Bu felaketten ağır yaralar alan ve canlarını,yıllarını,emeklerini  kaybeden vatandaşlarımızın acılarını çok içten paylaşıyorum.<img class="alignright size-medium wp-image-123" title="istanbulYagma" src="http://www.blog.onursemihsevim.com/wp-content/uploads/2009/09/istanbulYagma-300x266.jpg" alt="istanbulYagma" width="168" height="149" /> Aynı duygusal yoğunluğun tiskintiye dönüşmüş haliyle insanların maduriyetinden, düşkünlüğünden,kötü gününden yararlanan yağmacı böcek sürüsü, insan onurundan yoksun yaratıklara beddualarımı buradan iletmeyi bir vatandaşlık borcu biliyorum. Ben nacizane, tepkimi buradan bu şekilde paylaşmak ve vicdanımı rahatlatmak istiyor ve herkesi duyarlılığa davet ediyorum.Bu ülke bizim, bu halk bizim sahip çıkalım, farkında olalım.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.onursemihsevim.com/2009/09/18/icimiz-cok-acidi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bir Yeni İş , Bir Yeni Sayfa</title>
		<link>http://www.blog.onursemihsevim.com/2009/09/13/bir-yeni-is-ve-bir-yeni-sayfa/</link>
		<comments>http://www.blog.onursemihsevim.com/2009/09/13/bir-yeni-is-ve-bir-yeni-sayfa/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 09:38:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[yeni bir iş]]></category>

		<guid isPermaLink="false">http://www.blog.onursemihsevim.com/?p=114</guid>
		<description><![CDATA[Okulun bitmesinin bir ay ardından kendimi acm-software firmasının bünyesinde buldum ve buradan dış kaynak olarak yurtiçi kargoya geçtim. Sabah erken kalkmak, iş ortamına alışmak vs. derken farkettim ki epiyce bir zamandır birşeyler karalayıp yazamamışım. Java geliştiricisi olarak girdiğim işte cybersoft&#8217;un bir ürünü olan aurora framework&#8217;ü öğrenmek ve onun altyapısını kullanan uygulamalar geliştirmeye çalışarak neredeyse bir [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Okulun bitmesinin bir ay ardından kendimi acm-software firmasının bünyesinde buldum ve buradan dış kaynak olarak yurtiçi kargoya geçtim. Sabah erken kalkmak, iş ortamına alışmak vs. derken farkettim ki epiyce bir zamandır birşeyler karalayıp yazamamışım. Java geliştiricisi olarak girdiğim işte cybersoft&#8217;un bir ürünü olan aurora framework&#8217;ü öğrenmek ve onun altyapısını kullanan uygulamalar geliştirmeye çalışarak neredeyse bir buçuk ayı tamamlamışım. Şimdilik hayata dair herşey yolunda gidiyor gibi gözüküyor, ileriki planlarımın alt yapısını oluşturabilmek için gerekli zemini yavaş yavaş hazırlamaya başladım ve ölmeden önce yapılacaklar listesi için gerekli finansal ihtiyaçlarımı karşılayacak birikimler yapmaya başladım.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.onursemihsevim.com/2009/09/13/bir-yeni-is-ve-bir-yeni-sayfa/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>openSUSE 10.2` de Oracle 11g Kurulumu</title>
		<link>http://www.blog.onursemihsevim.com/2009/08/01/opensuse-10-2-de-oracle-11g-kurulumu/</link>
		<comments>http://www.blog.onursemihsevim.com/2009/08/01/opensuse-10-2-de-oracle-11g-kurulumu/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 07:36:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Suse]]></category>
		<category><![CDATA[Open Suse 10.2]]></category>
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.blog.onursemihsevim.com/?p=95</guid>
		<description><![CDATA[
Eğer ki openSUSE üzerine Oracle veri tabanı kurmak istiyorsanız ve henüz openSUSE&#8217; nin kurulumunu gerçekleştirmemişseniz öncelikle kurulum aşamasında işletim sistemini C/C++ Development seçeneğini seçerek kurmamız işimizi bi hayli kolaylaştıracaktır hayır zaten daha önceden kurulu bir işletim sistemi üzerine Oracle kurmak istiyorsanız.Oracle kurulumuna başlamadan önce ilk olarak gcc &#8211;version kodunu terminal ekranına yazarak kurulum aşamasında ihtiyacımız olan C/C++ [...]]]></description>
			<content:encoded><![CDATA[<p><img title="enterprise_manager_database_console_10g" src="http://www.blog.onursemihsevim.com/wp-content/uploads/2009/08/enterprise_manager_database_console_10g.jpg" alt="enterprise_manager_database_console_10g" width="650"  /></p>
<p style="text-align: justify;">Eğer ki openSUSE üzerine Oracle veri tabanı kurmak istiyorsanız ve henüz openSUSE&#8217; nin kurulumunu gerçekleştirmemişseniz öncelikle kurulum aşamasında işletim sistemini C/C++ Development seçeneğini seçerek kurmamız işimizi bi hayli kolaylaştıracaktır hayır zaten daha önceden kurulu bir işletim sistemi üzerine Oracle kurmak istiyorsanız.Oracle kurulumuna başlamadan önce ilk olarak<strong> gcc &#8211;version </strong>kodunu terminal ekranına yazarak kurulum aşamasında ihtiyacımız olan C/C++ kütüphanelerinin sistemde bulunup bulunmadığının kontrolünü yapıyoruz.Yok ise manuel olarak yada <strong>YAST </strong>yardımıyla bu ve ileride gerekebilecek tüm paketlerin kurulumunu gerçekleştiriyoruz.</p>
<p style="text-align: justify;">İkinci önemli adımız ise Oracle 11 g yi kurmak için gerekli olan <strong>oracle </strong>kullanıcısını oluşturarak başlıyor. Bu kullanıcıyı oluşturabilmek için ise <a href="http://ftp.novell.com/partners/oracle/sles-10/orarun.rpm"><strong>orarun</strong></a> paketini indirip çalıştırmamız ve daha sonra <strong>YAST </strong>üzerinden bu kullanıcıya ait gerekli değişiklikleri yaparak devam ediyoruz.Kurulum aşamasında bazı kütüphanelerin eksik olduğu uyarılarını alırsanız ki muhtemelen alacaksınızdır bunları yine <strong>YAST </strong>üzerinden <strong>software management</strong> aracını kullanarak sistemimize yükleyebiliriz.</p>
<p style="text-align: justify;">Bu tarz gereksinimleri hallettikten sonra tek  işimiz oracle installer dosyasının çalıştırmaya kalıyor ve bu esnada adım adım ilerlerken eğer ki hafıza yetersizliği gibi bir sorunla karşılaşırsanız yeni bir <strong><a href="http://www.togaware.com/linux/survivor/Swap.html">swap alanı</a></strong> ekleyerek bu sorununda üstesinden gelebilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.onursemihsevim.com/2009/08/01/opensuse-10-2-de-oracle-11g-kurulumu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle ADF</title>
		<link>http://www.blog.onursemihsevim.com/2009/07/18/oracle-adf/</link>
		<comments>http://www.blog.onursemihsevim.com/2009/07/18/oracle-adf/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 08:29:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[ADF]]></category>
		<category><![CDATA[JDeveloper]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[service oriented]]></category>

		<guid isPermaLink="false">http://www.blog.onursemihsevim.com/?p=91</guid>
		<description><![CDATA[ADF oracle&#8217; a ait olan JDeveloper ile birlikte gelen ve günden güne gelişmekte olan bir framework.Aslında bu framework&#8217; ün amacı wizard kullanımıyla kolayca EE uygulamalar geliştirmemizi sağlamak fakat ADF ile yeni tanışanlara bıraktığı izlenim fazla kırılgan  ve hataları yakalamanın güç olduğudur ama aksine zaman içinde mimarisi hakkında taşlar yerli yerine oturtulduğu zaman hızlı bir biçimde [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">ADF oracle&#8217; a ait olan JDeveloper ile birlikte gelen ve günden güne gelişmekte olan bir framework.Aslında bu framework&#8217; ün amacı wizard kullanımıyla kolayca EE uygulamalar geliştirmemizi sağlamak fakat ADF ile yeni tanışanlara bıraktığı izlenim fazla kırılgan  ve hataları yakalamanın güç olduğudur ama aksine zaman içinde mimarisi hakkında taşlar yerli yerine oturtulduğu zaman hızlı bir biçimde uygulama geliştirmek mümkün olacaktır.</p>
<p style="text-align: justify;">ADF ve mimarisi hakkında biraz daha konuşcak olursak ; ADF model-view-controller  mimarisi üzerine kurulmuş ve service oriented bir frameworktür. Yani model katmanımızda yer alan iş mantığından ihtiyaçlarımıza göre oluşturduğumuz iş servislerini kullanarak uygulamamızı geliştirmemizi sağlayan bir mimariden oluşmaktadır ve tabiki ADF üzerindeki en önemli nokta ise database driven olmasıdır yani veri tabanında oluşturulan ilişkilerin doğru kurulması ve foreign ve master key bağlantılarının en doğru şekilde yapılması uygulamanın istenilen ihtiyaçlara cevap vermesi noktasında en önemli etkendir.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blog.onursemihsevim.com/2009/07/18/oracle-adf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
