<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-13993498</id><updated>2012-02-07T00:21:45.573+02:00</updated><title type='text'>TeknoTurk Tech Corner</title><subtitle type='html'>News about .Net ve Software Industry. Happenings in tech industry. Asp.Net, C# and SQL Server related news, tips and advice.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://teknoturk.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>79</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-13993498.post-6116633964801462636</id><published>2011-06-26T07:49:00.001+03:00</published><updated>2011-07-08T07:50:50.304+03:00</updated><title type='text'>My Ten Takeaways About Social Media For Startups</title><content type='html'>&lt;p class="MsoNormal" style="text-indent:.5in"&gt;After spending about 5 years learning and applying new techniques about search engine optimization and marketing, I thought I should do this post about my learnings about my new interest; social media marketing. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="mso-tab-count:1"&gt;                &lt;/span&gt;Since social media became an internal part of the search engine optimization efforts for every business, I had to read and learn more about this new trend. After talking a lot about social media during our “Platforms Clouds and Networks” class, I thought “Why don’t I do a post that might help a few colleagues with their social media campaigns for their startups?” &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="mso-tab-count:1"&gt;                &lt;/span&gt;I am going to try to keep this short and sweet while touching the most important aspects where I have made the most mistakes when I first started. There is a ton more that I can write about but it would take forever to finish it then. This post is targeting the small businesses / individuals who are just starting their social media presence;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpFirst" style="margin-left:72.3pt;mso-add-space: auto;text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;span style="mso-fareast-font-family:Cambria;mso-fareast-theme-font:major-latin; mso-bidi-font-family:Cambria;mso-bidi-theme-font:major-latin"&gt;&lt;span style="mso-list:Ignore"&gt;1.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Search Engines heavily consider your social media presence these days. If you have a business with an online presence, you HAVE TO have a twitter account / Facebook fan page for your business and post relevant content through these platforms to create a following and to gain search engine rankings.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.3pt;mso-add-space: auto;text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;span style="mso-fareast-font-family:Cambria;mso-fareast-theme-font:major-latin; mso-bidi-font-family:Cambria;mso-bidi-theme-font:major-latin"&gt;&lt;span style="mso-list:Ignore"&gt;2.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Make sure to list your twitter handle and add a Facebook fan page plug-in on your business’ web page so you can convert your website visitors to a loyal follower of your developing social community. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.3pt;mso-add-space: auto;text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;span style="mso-fareast-font-family:Cambria;mso-fareast-theme-font:major-latin; mso-bidi-font-family:Cambria;mso-bidi-theme-font:major-latin"&gt;&lt;span style="mso-list:Ignore"&gt;3.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Make sure to add a Facebook “Like” button to your web page. (Preferably visible on every page). Major search engines consider how many likes your website gets in their search engine ranking algorithms these days. You also get the wonderful benefit of showing up on your liker’s Facebook news feed when you post relevant stuff on your Facebook fan page. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.3pt;mso-add-space: auto;text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;span style="mso-fareast-font-family:Cambria;mso-fareast-theme-font:major-latin; mso-bidi-font-family:Cambria;mso-bidi-theme-font:major-latin"&gt;&lt;span style="mso-list:Ignore"&gt;4.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Make sure to include your blog ON your domain rather than starting a new blog outside your domain. If your blog posts are interesting, people are likely to link to your blog posts, which will help your search engine rankings. You want your business website to benefit from this link juice. If you have your blog at an external site, your business will not benefit from these links. So, try to stick to a blog strategy that includes your blog on your domain somewhere such as &lt;b style="mso-bidi-font-weight:normal"&gt;yourbusiness.com/blog &lt;/b&gt;rather than something like&lt;b style="mso-bidi-font-weight:normal"&gt; XYZ.blogspot.com &lt;/b&gt;or&lt;b style="mso-bidi-font-weight:normal"&gt; yourbusinessblog.com&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.3pt;mso-add-space: auto;text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;span style="mso-fareast-font-family:Cambria;mso-fareast-theme-font:major-latin; mso-bidi-font-family:Cambria;mso-bidi-theme-font:major-latin"&gt;&lt;span style="mso-list:Ignore"&gt;5.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;When you blog about something or start a new section/page on your website, make sure to tweet or do a Facebook fan page post about this with a link to the relevant page/blog post. Links on social media get indexed really fast; therefore you can start to get visitors to these pages quicker from search engines. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.3pt;mso-add-space: auto;text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;span style="mso-fareast-font-family:Cambria;mso-fareast-theme-font:major-latin; mso-bidi-font-family:Cambria;mso-bidi-theme-font:major-latin"&gt;&lt;span style="mso-list:Ignore"&gt;6.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Make sure to make it easy to share content on your website via twitter, Facebook, email etc. I have had great success with &lt;a href="http://www.addthis.com/"&gt;www.addthis.com&lt;/a&gt; plug-in on our websites which allows you to get reports on sharing statistics as well.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.3pt;mso-add-space: auto;text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;span style="mso-fareast-font-family:Cambria;mso-fareast-theme-font:major-latin; mso-bidi-font-family:Cambria;mso-bidi-theme-font:major-latin"&gt;&lt;span style="mso-list:Ignore"&gt;7.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Keep your Facebook and twitter accounts active. Post relevant industry news, share interesting things about your company, write “How to” articles where you have expertise on, provide data that can be useful for other people. Most importantly, engage with other people in the community through the social networks as well. Delegate this duty to an internal person that you define who is passionate about this if you can’t manage this on your own. Never outsource this task to an external party. They don’t know your company as well as someone that is working for you! You will never have sincere conversations with your customers and prospects on these platforms otherwise. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.3pt;mso-add-space: auto;text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;span style="mso-fareast-font-family:Cambria;mso-fareast-theme-font:major-latin; mso-bidi-font-family:Cambria;mso-bidi-theme-font:major-latin"&gt;&lt;span style="mso-list:Ignore"&gt;8.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Make sure to describe your service/product in your Twitter profile / Facebook fan page description. Include relevant keywords you are targeting. Make sure to link to your business’ home page. The link and the keyword rich description about your service gets considered in search engine ranking algorithms.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.3pt;mso-add-space: auto;text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;span style="mso-fareast-font-family:Cambria;mso-fareast-theme-font:major-latin; mso-bidi-font-family:Cambria;mso-bidi-theme-font:major-latin"&gt;&lt;span style="mso-list:Ignore"&gt;9.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Make sure to come up with creative ways to encourage people to retweet on Twitter or share your content on Facebook. This will help broaden your following. One example that has worked for us was a contest where we asked people to tweet something with the business’ twitter handle along with a message for Valentine’s Day where we have awarded 4 couples a Valentine’s Day dinner who tweeted a message with our twitter handle in it. &lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;The twitter handle for the business gained 400+ new followers that day. &lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;Similar contests on Facebook can also easily be held. You have to watch out for Facebook guidelines though since Facebook has stricter rules about Fan pages. For example, you cannot incentivize people to sign up as a fan to a Fan Page. For more guidelines: &lt;a href="http://www.facebook.com/terms_pages.php"&gt;http://www.facebook.com/terms_pages.php&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpLast" style="margin-left:72.3pt;mso-add-space:auto; text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;span style="mso-fareast-font-family:Cambria;mso-fareast-theme-font:major-latin; mso-bidi-font-family:Cambria;mso-bidi-theme-font:major-latin"&gt;&lt;span style="mso-list:Ignore"&gt;10.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;As a final note, don’t forget to LISTEN to your customers. If they feel ignored, they will ignore you. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-6116633964801462636?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/6116633964801462636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/6116633964801462636'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2011/06/my-ten-takeaways-about-social-media-for.html' title='My Ten Takeaways About Social Media For Startups'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-727539715075511866</id><published>2011-06-26T06:33:00.004+03:00</published><updated>2011-06-26T06:43:23.275+03:00</updated><title type='text'>What has RIM been up to?</title><content type='html'>&lt;p class="MsoNormal" style="text-indent:.5in"&gt;I have been very skeptical about RIM’s future lately. This is partly because I am an Apple fan, and partly because I could not understand the value proposition of RIM anymore in this fiercely competitive marketplace of smart phone makers. Apple had become a design expert wowing every customer with each update, Nokia – Microsoft alliance is a somewhat smart move to stay relevant, PALM is dead, and Android is increasing its market share by trying to partner with multiple vendors. Now the question is “What has been RIM up to?” I haven’t heard anything that made me interested in this company or its offerings during the last 5 years? I didn’t shock me that they announced layoffs after earnings being down 12 percent compared to the previous quarter. &lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent:.5in"&gt;Let’s face it, Blackberry smart phones have not evolved as far as their hardware goes even close to an Iphone or the latest android devices. &lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;Having a full keyboard is great, but the phone itself stayed boring for the last 5-10 years. The article also mentions their slowness in getting new smart phones out the door. If you cannot stay innovative in this industry, you cannot stay relevant anymore. Gone are the days where if you had the smallest cell phone, you would be popular. Now people want a full platform with support for things such as easy integration with social media, HD capability, multiple interface support such as HDMI &amp;amp; USB 3.0, expanded functions through a rich community following and an application store. I feel like RIM has been late in the game in all of these aspects.&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent:.5in"&gt;I understand the mentality behind their sales approach. They have focused on enterprises and relied on bulk sales, but now even the IT departments of these enterprises are adapting the more popular Exchange active sync, iOS and Android now and are less inclined to handle support for yet another platform to support such as the &lt;i style="mso-bidi-font-style: normal"&gt;Blackberry Enterprise Server&lt;/i&gt;. I cannot imagine the profitability in this business sector to be too high. The hardware sales margins have been razor thin since the last 10 years. There is no differentiator either. So it feels to me like they are beating a dead horse. &lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent:.5in"&gt;The RIM Playbook also has not really taken off due to the much more hyped Ipad 2 release and their late entry into the market. &lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent:.5in"&gt;In summary, the Blackberry audience has simply moved on!&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="mso-tab-count:1"&gt;                &lt;/span&gt;Now let’s talk about what I think RIM should do;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpFirst" style="margin-left:72.3pt;mso-add-space: auto;text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;I think the &lt;i style="mso-bidi-font-style:normal"&gt;Blackberry App World&lt;/i&gt; needs to be heavily promoted. Most blackberry owners that I know do not take advantage of the app store. In a world where the money is in value added services such as software now, they have to take better advantage of this opportunity while their market share is still relevant.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.3pt;mso-add-space: auto;text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;They HAVE TO come up with an exceptionally well designed phone that is actually attractive to the younger crowd. Keyboard is irrelevant to a lot of the users, so they can test out a new design from scratch.&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.3pt;mso-add-space: auto;text-indent:-.25in;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;If they happen to fail on delivering on the above promises during the next couple years, I think a Microsoft – RIM merger might be inevitable. This could create a strong third player after Apple and Android. It is all about a numbers game. They can take advantage of the network effect by delivering value added services to increase their revenue from application sales. Things such as BBM became totally irrelevant in today’s world due to the ever increasing popularity of alternative mobile software applications that are platform independent. (Ex: Whatsapp messenger service, Skype etc.)&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpLast" style="margin-left:72.3pt;mso-add-space:auto"&gt;&lt;o:p&gt; &lt;/o:p&gt;Source: &lt;a href="http://news.cnet.com/8301-31021_3-20071715-260/rim-misses-on-revenue-announces-layoffs/"&gt;http://news.cnet.com/8301-31021_3-20071715-260/rim-misses-on-revenue-announces-layoffs/&lt;/a&gt;&lt;/p&gt;  &lt;!--EndFragment--&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-727539715075511866?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/727539715075511866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/727539715075511866'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2011/06/what-has-been-rim-up-to.html' title='What has RIM been up to?'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-113937494195089264</id><published>2006-02-08T06:57:00.000+02:00</published><updated>2006-02-08T07:03:18.613+02:00</updated><title type='text'>64 Bit AntiVirus Programlari</title><content type='html'>Eğer 64 Bitlik bir işlemciye ve Windows XP Professional x64 Edition işletim sistemine geçiş yaptıysanız ve de 64 bit destekleyen bir virüs temizleme programı bulamadıysanız opsiyonlarınızı aşsağıda listeledim;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Not:&lt;/span&gt; Symantec ve Mcafee firmaları 64 bitlik antivirüs programları üzerinde halen çalışmalarını sürdürüyorlar.&lt;br /&gt;&lt;br /&gt;1-) NOD 32 Virus Scanner (64 Bit OS destekli)&lt;br /&gt;&lt;a href="http://www.nod32.com/home/home.htm"&gt;&lt;span style="color:#ff0000;"&gt;&lt;/span&gt;&lt;span style="TEXT-DECORATION: none;font-size:85%;color:#ff0000;"  &gt;http://www.nod32.com/home/home.htm&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;2-) Avast Antivirus (64 Bit OS destekli ve Home Edition'u ücretsiz)&lt;br /&gt;&lt;a href="http://www.avast.com/"&gt;&lt;span style="TEXT-DECORATION: none;font-size:85%;color:#ff0000;"  &gt;http://www.avast.com/&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-113937494195089264?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/113937494195089264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/113937494195089264'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2006/02/64-bit-antivirus-programlari.html' title='64 Bit AntiVirus Programlari'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-113927430013170430</id><published>2006-02-07T03:03:00.000+02:00</published><updated>2006-02-07T03:05:00.153+02:00</updated><title type='text'>SQL Server 2005 ve Visual Studio 2005 Beta Problemi</title><content type='html'>Dün yeni laptopuma unutup önce Visual Studio 2005'ı daha sonra da SQL Server 2005'i yüklemeye kalkışınca sorunlar çıktı... (Normalde SQL Server 2005'i önce yükleyip sonra Visual Studio 2005'i yüklemek caizdir :P&lt;br /&gt;&lt;br /&gt;Elimdeki iki sürüm de Community Technology Preview'larıydı bu ürünlerin. Sonra biraz araştırma yaptım konuyla ilgili ve sizlede paylaşayım dedim.&lt;br /&gt;&lt;br /&gt;Eğer bilgisayarınızda Visual Studio 2005'in beta veya CTP sürümü yüklü ise öncelikle .Net Framework 2.0'un beta sürümü olmasından kaynaklanan bir hata mesajı çıkıyor SQL Server 2005'i install etmeye kalkıştığınızda.&lt;br /&gt;&lt;br /&gt;"Sql 2005 has detected beta versions.....bla bla bla" tarzında bi mesajla karşı karşıya kalırsanız çözümünüz aşsağıdaki linkte. Microsoft bu iş için bir beta removal tool çıkartmiş...&lt;br /&gt;&lt;br /&gt;Bilgisayarınızda Visual Studio 2005 ile ilgili neyin betası kaldı ise remove ediyor. Sizde kıvranmaktan kurtuluyorsunuz...&lt;br /&gt;Benim işimi gayet güzel gördü... Umarım size de yardımı dokunur...&lt;br /&gt;&lt;br /&gt;Visual Studio 2005 Beta Removal Tool&lt;br /&gt;&lt;a title="http://go.microsoft.com/fwlink/?LinkID=" href="http://go.microsoft.com/fwlink/?LinkID=47598" target="_blank"&gt;&lt;span style="color:#ff0000;text-decoration:none"&gt;http://go.microsoft.com/fwlink/?LinkID=47598&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-113927430013170430?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/113927430013170430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/113927430013170430'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2006/02/sql-server-2005-ve-visual-studio-2005.html' title='SQL Server 2005 ve Visual Studio 2005 Beta Problemi'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-113465779338895460</id><published>2005-12-15T16:41:00.000+02:00</published><updated>2005-12-15T16:43:13.403+02:00</updated><title type='text'>Web 2.0 Nedir?</title><content type='html'>Her yerde çok bilmiş bir kısım kullanıcılar "Web 2.0" denen konsepti insanlara kabul ettirmeye çalışıp duruyorlar. Nedir kardeşim değişen şey? HTML aynı, Javascript aynı, XML aynı... Sanki yeni birşey mı icat edildiki daha yeni bilgisayar ve internet kullanımını kavrayan insanların kafasını daha da karıştırıyorsunuz?&lt;br /&gt;&lt;br /&gt;Web 2.0 adı altında empoze edilmek istenen şeyleri size ben sıralayım da kendiniz karar verin neyin ne olduğuna...&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;1)&lt;/span&gt; Kullanıcı tecrübesi Ajax (Asyncronous Javascript and XML) kullanılarak bazı web aplikasyonlarında arttırıldı.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;2)&lt;/span&gt; Web servisleri kullanılarak kullanıcıların istedikleri bilgiyi ayıklayıp, sadece kendilerine gerekli olan kısma kolayca ulaşmaları sağlandı.(En popüler servis RSS(Really Simple Syndication)&lt;br /&gt;&lt;br /&gt;Bu ikisinden öte, diğer uygulamalar bunların sayesinde gerçekleştirilen şeyler zaten... Katrina sırasında  kaybolanların yerini çok çabuk şekilde belirtmek için kullandığı bir web servisi... Google'in ajax kullanarak cıkardığı ürünler... Microsoft'un Asp.Net 2.0 kullanarak son kullanıcıya sayfada istedikleri nesneyi istedikleri yere koymalarına izin vermesi gibi özellikler Web 2.0 şeklinde yutturulmaya çalışılıyor...&lt;br /&gt;&lt;br /&gt;Lütfen yapmayın... Web bir program değil, dil değil... Her geçen gün tabiki yenilikler oluyor internet dünyasında...Bunlara bir versiyon numarası atayarak haber kalabalığı yaratmanın anlamı yok...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-113465779338895460?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/113465779338895460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/113465779338895460'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/12/web-20-nedir.html' title='Web 2.0 Nedir?'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-113451026210600977</id><published>2005-12-13T23:42:00.000+02:00</published><updated>2005-12-14T16:36:24.203+02:00</updated><title type='text'>Struct ve Class Farkları</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/Csharp_struct.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/3068/1252/320/Csharp_struct.jpg" border="0" /&gt;&lt;/a&gt; C# ile tanıtılan özelliklerden biri de STRUCT objesi. Struct'ı, class'ın biraz kırpılmış hali olarak düşünebilirsiniz.&lt;br /&gt;&lt;br /&gt;Ne zaman struct kullanmalı?&lt;br /&gt;Eğer bir grup birbiriyle alakalı veriyi bir arada saklayabilmek istiyorsanız, struct kullanmanız için ne duruyosunuz ki hala?.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Örnek Struct Yaratımı&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;struct Ogrenci&lt;br /&gt;{&lt;br /&gt;private string Isim;&lt;br /&gt;private string Adres;&lt;br /&gt;private string Sehir;&lt;br /&gt;private int Telefon;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Kod içerisinde Struct Kullanımı&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;Ogrenci A = new Ogrenci; //Ogrenci structimizdan yeni bir instance yaratiyoruz&lt;br /&gt;A.Isim = "Ahmet";&lt;br /&gt;A.Telefon = 3251800;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Ne zaman class yerine struct kullanalım?&lt;br /&gt;Struct'lar value-type(değer tipli) objelerdir. Class'lar ise (reference type)referans tipi objelerdir.&lt;br /&gt;Struct olarak tanımladığınız objeler belleğin stack kısmında saklanırlar. Class objeleri ise belleğin heap kısmında saklanır.&lt;br /&gt;&lt;br /&gt;Veriyi stackta saklamanın heap'te saklamaya göre ne avantajı var ona bakalım; Stack'tan veri çağırmak, heap'ten veri çağırmaya göre çok daha hızlıdir. Bu yüzden struct kullanımının hız açısından bir avantajı söz konusu.&lt;br /&gt;&lt;br /&gt;Structların bir dezavantajı ise, bir struct objesi, bir diğer struct objesine assign edildiğinde(atandığında), aynı verinin, stack üzerinde 2 adet kopyası bulunacak ve veri çağrılırken performans düşüşüne sebep olacaktır.&lt;br /&gt;&lt;br /&gt;Class kullanımında ise objenin bir kopyası yerine, sadece ona ait bir referans stack'te saklanır, ve 2 kere aynı verinin saklanması önlenmiş olur.&lt;br /&gt;&lt;br /&gt;Structlar inheritance desteklemezler. Ancak class kullanarak ise inheritance'dan faydalanabilirsiniz.&lt;br /&gt;&lt;br /&gt;C# veya VB.Net dilleri ile Struct kullanırken constructor kullanabilirsiniz. Construct kullanımı aynı class'lardaki şekilde yapılıyor. Tek farkı, herhangi bir arguman içermeyen boş constructor kullanımına struct'larda izin yok.&lt;br /&gt;&lt;br /&gt;Bunlardan yola çıkarak gerekli durumlarda .Net programlarinizda struct'mi class'mi kullanacağınıza karar verebilirsiniz.&lt;br /&gt;&lt;br /&gt;Unutmadan... "Struct ve Class farkları nelerdir?" sorusu bir mülakatta karşınıza çıkarsa şaşırmayın, çok geyik'te olsa .Net programcılığıyla ilgili giriş seviyesi pozisyonlar için yapılan başvurulardaki mülakatlarda sık sorulan sorulardan biri...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-113451026210600977?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/113451026210600977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/113451026210600977'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/12/struct-ve-class-farklar.html' title='Struct ve Class Farkları'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-113200142103817092</id><published>2005-11-15T22:27:00.000+02:00</published><updated>2005-11-15T06:34:42.946+02:00</updated><title type='text'>SQL Server 2000 Kaynak Kitaplari</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/sqlserver.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" height="154" alt="" src="http://photos1.blogger.com/blogger/3068/1252/320/sqlserver.jpg" width="232" border="0" /&gt;&lt;/a&gt; SQL Server 2000 üzerine şimdiye kadar birçok makale yazdım. Bu konuda artık kendini oldukça ilerletmiş biri olarak sizlerle de yararlı bulduğum ve de kullandığım kaynakları paylaşmak istedim.&lt;br /&gt;&lt;br /&gt;SQL Server 2005 piyasaya çıkmış olsada şu anda üzerinde çalıştığım bütün projeler henüz SQL Server 2000 üzerine kurulu. Herhalde bir süre daha böyle devam edecek. O yüzden SQL Server 2000'i temel olarak öğrenmenizin hiç bir zararı yok. SQL Server 2000 ile SQL Server 2005 arasındaki farklar ise giriş seviyesi ve orta seviyedeki kullanıcılar için çok büyük değişiklikler içermiyor.&lt;br /&gt;&lt;br /&gt;SQL Server 2000 ile ilgili kitaplardan başlıyayım önce;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Kalen Delaney - Inside SQL Server 2000&lt;/span&gt; (Tam kapsamlı SQL Server 2000 kitabı)&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Ken Henderson - The Guru's Guide to Transact SQL&lt;/span&gt; (Transact SQL ile ilgili - ileri düzey kullanıcılar için)&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Chaffin/Knight/Robinson - Professional SQL Server 2000 DTS&lt;/span&gt; ( SQL Server 2000 ile Data Transformation Servislerini kullanıcak olan yazılımcılar için kapsamlı bir kaynak)&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Itzik Ben-Gan - Advanced Transact SQL for SQL Server 2000&lt;/span&gt; (En kral Transact SQL Querylerini ben yazmalıyım diyenler için)&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Neil Pike - SQL Server, Common Problems-Tested Solutions&lt;/span&gt; ( Bilgisayarını SQL yüzünden tokatlayan, döven ve bilimum problem de hemen gözünden yaş gelenler için)&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Fernando G.Guerrero, Carlos Eduardo Rojas - Microsoft SQL Server 2000 Programming By Example&lt;/span&gt; ( "SQL Server 2000 örnekleri olan bir kitap yokmu? Ben öyle daha iyi öğreniyorum" diyenler için)&lt;br /&gt;&lt;br /&gt;Türkçe kaynağın yokmu diye düşünüyorsanız ve bu endüstride bir kariyer yapmayı planlıyorsanız, bence ilk olarak en azından okuduğunuzu anlayacak bir seviyede ingilizceye sahip olmak için elinizden geleni yapmalısınız.&lt;br /&gt;&lt;br /&gt;Bir kaynak bir dilden bir diğer dile çevrildiği zaman değerini oldukça yitiriyor. Ayrıca kendinizi türkçe bir kaynağın çıkmasını beklemek gibi bir olaydan da kurtarmış olursunuz.&lt;br /&gt;&lt;br /&gt;SQL Server Web kaynakları&lt;br /&gt; &lt;a target="_blank" href="http://www.microsoft.com/sql" target="_blank"&gt;&lt;span style="color:#ff0000;text-decoration:none;"&gt;www.microsoft.com/sql&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;SQL Server için newsgrubu&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;msnews.microsoft.com&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-113200142103817092?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/113200142103817092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/113200142103817092'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/11/sql-server-2000-kaynak-kitaplari.html' title='SQL Server 2000 Kaynak Kitaplari'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-113164211647214222</id><published>2005-11-10T18:51:00.000+02:00</published><updated>2005-11-10T19:01:56.876+02:00</updated><title type='text'>Microsoft Windows Live ve Office Live</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/windows_live.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 162px; CURSOR: hand; HEIGHT: 35px; TEXT-ALIGN: center" height="43" alt="" src="http://photos1.blogger.com/blogger/3068/1252/320/windows_live.gif" width="169" border="0" /&gt;&lt;/a&gt;Microsoft, Yahoo ve Google'in web üzerindeki ağırlığına cevap olarak bir grup yeni ürünü piyasaya sürdü. Windows Live, Office Live, Windows Live Mail, Windows Live Messenger ve Windows Live Safety Center bunların başlıcaları.&lt;br /&gt;&lt;br /&gt;İnternet'in hayatımıza yoğun olarak girmesiyle artık yazılım firmaları da internet servis ve applikasyonlari pazarındaki paylarını yükseltmeye yönelik atılımlar yapıyorlar.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;Windows Live&lt;/span&gt;, Microsoft'un internet tabanlı portal tarzı kişisel ihtiyaçları tek merkezden karşılamaya yönelik tasarladığı bir merkezden oluşuyor.&lt;br /&gt;&lt;br /&gt;Windows Live servisleri, RSS ve Asynchronous Javascript and XML (AJAX) teknolojileri kullanılarak tasarlanmış. Bu şekilde Google'in da daha önceki ürünlerinde amaçladığı gibi, kullanıcının en kısa sürede istediği bilgiye ulaşabilmesi amaçlanmış.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;Windows Live Mail&lt;/span&gt;, şu anda test aşamasında olan ve de limitli sayıda kullanıcıya sunulan Ajax tabanlı bir mail servisi. Şu anki Hotmail'e göre işlemleri çok daha hızlı gerçekleştirebiliyor ve kullanıcı arabirimi cok daha basite indirgenmiş. Windows Live Mail, Microsoft'un Gmail'e karşı attığı geç ama önemli bir adim.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;Windows Live Messenger&lt;/span&gt;, kullanıcıların birbiriyle instant messenger aracılığıyla mesajlaşmasını, dosya ve resim paylaşabilmesini, PC tabanlı sesli görüşme yapabilmesini sağlıyor...&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;Windows Live Safety Center&lt;/span&gt; ise kullanıcıların bilgisayarlarını internet üzerinden virüs ve diğer zararlı trojanlara karşı tarayıp temizleyebilecekleri bir web sayfası olacak.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;Windows Live Favourites &lt;/span&gt;, beğendiğiniz web sayfalarının listesine her zaman internet olan herhangi bir noktadan ulaşabilmenizi sağlıyor.&lt;br /&gt;&lt;br /&gt;Windows Live içerisindeki çoğu ürün kullanıcılara ücretsiz olarak sunulacak ve reklamlar ile desteklenecek. Aynı zamanda abone tabanlı servisler de minimal bir ücret karşılığında sunulacak.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;Office Live&lt;/span&gt;, küçük ve orta büyüklükteki şirketlerin masraflarını minimum'a indirerek internetin sağladığı birlikte çalışma ortamından işletmeleri faydalandırmayı amaçlıyor. Office Live, birkaç değişik paket halinde 2006'nin başlarında beta olarak kullanıcılara davetiye yöntemiyle sunulacak.&lt;br /&gt;&lt;br /&gt;Microsoft Windows Live servisleri için&lt;br /&gt;&lt;a href="http://www.live.com" target="_blank"&gt;&lt;span style="TEXT-DECORATION: none;color:#ff0000;" &gt;www.live.com&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Microsoft Office Live için&lt;br /&gt;&lt;a href="http://www.officelive.com/" target="_blank"&gt;&lt;span style="TEXT-DECORATION: none;color:#ff0000;" &gt;www.officelive.com&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-113164211647214222?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/113164211647214222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/113164211647214222'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/11/microsoft-windows-live-ve-office-live.html' title='Microsoft Windows Live ve Office Live'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-113086154921744164</id><published>2005-11-01T17:53:00.000+02:00</published><updated>2005-11-01T18:12:29.233+02:00</updated><title type='text'>Yeni Jenerasyon Microsoft Sertifika Programları</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/Microsoft_Certification.1.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/3068/1252/400/Microsoft_Certification.0.gif" border="0" /&gt;&lt;/a&gt;Microsoft'un 2006 senesinin başında uygulamaya sokacağı yeni sertifika programları, IT alanında çalışan kişilerin daha spesifik özelliklerini ve hedefledikleri kariyeri açığa çıkartmaya yönelik olarak tasarlanmış.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Microsoft Certified Technology Specialist (MCTS)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;En spesifik sertifika programi olan bu program, microsoft certified professional'in biraz makyajlanmış hali. Bu sertifika genellikle 1 ile 3 arası sınav almayı gerektirecek ve bir Microsoft teknolojisi üzerine yoğunlaşacak. (Örnek: SQL Server 2005)&lt;br /&gt;&lt;br /&gt;Şu anda 5 adet Microsoft Certified Technology Specialist programı mevcut;&lt;br /&gt;Microsoft Certified Technology Specialist: .Net Framework 2.0 Web Applıcations&lt;br /&gt;Microsoft Certified Technology Specialist: .Net Framework 2.0 Windows Applıcations&lt;br /&gt;Microsoft Certified Technology Specialist: .Net Framework 2.0 Distributed Applications&lt;br /&gt;Microsoft Certified Technology Specialist: SQL Server 2005&lt;br /&gt;Microsoft Certified Technology Specialist: Biztalk Server 2006&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Microsoft Certified IT Professional (MCIT) ve Microsoft Certified Professional Developer (MCPD)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bu sertifika programları, kişinin daha kapsamlı bir bilgiye sahip olduğunu bildiren ve IT alanındaki profesyonellere yönelik. MCTS'e ek olarak gerekli yetenekler; dizayn, proje yönetimi, planlama vs..Bu sertifikalar da yine 1 ile 3 sınav arasi gerektirecek, ancak Microsoft certified Technology serisi sınavlardan önceden bazılarının alınmış olması gerekecek.&lt;br /&gt;&lt;br /&gt;Microsoft Certified IT Professional bölümünde 3 alt bölüm mevcut;&lt;br /&gt;&lt;br /&gt;Microsoft Certified IT Professional: Database Developer&lt;br /&gt;Microsoft Certified IT Professional: Database Administrator&lt;br /&gt;Microsoft Certified IT Professional: Business Intelligence Developer&lt;br /&gt;&lt;br /&gt;Microsoft Certified Professional developer bölümünde ise yine 3 alt bölüm mevcut;&lt;br /&gt;&lt;br /&gt;Microsoft Certified Professional Developer: Web Developer&lt;br /&gt;Microsoft Certified Professional Developer: Windows Developer&lt;br /&gt;Microsoft Certified Professional Developer: Enterprise Applications Developer&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Microsoft Certified Architect&lt;/span&gt;&lt;br /&gt;IT endüstrisindeki yüksek teknoloji uzmanlarını hedefleyen bu program ise en az 10 senelik yüksek IT endüstrisi tecrübesi ve en az 3 sene IT mimarisi ile ilgili bir pozisyonda rol almış olmayı gerektirecek. Değerlendirilecek kişilerin yüksek teknik ve yönetim bilgi ve tecrübesine sahip olması gerekiyor. Sertifikalı IT mimarisi uzmanları tarafından kurulmuş olan bir inceleme komitesinin kararı sonucunda kişinin gerekli özellikleri taşıyıp taşımadığına karar veriliyor. Bu sertifika programı, kişinin bir Microsoft Certified Architect danışmanı ile yakın çalışmasını gerektiriyor.&lt;br /&gt;&lt;br /&gt;---------------&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Not:&lt;/span&gt; Microsoft şu andaki MCAD .Net ve MCSD .Net sertifika sahipleri için Microsoft Certified Professional Developer sertifika programlarına geçiş opsiyonları sunacak. Aynı zamanda şu andaki MCAD.Net ve MCSD.Net sertifikaları da geçerliliğini korumaya devam edecek. MCPD'ye upgrade etmek için yükseltme sınavları ise 2006 yılının başı veya ortası gibi sunulacak.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-113086154921744164?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/113086154921744164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/113086154921744164'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/11/yeni-jenerasyon-microsoft-sertifika.html' title='Yeni Jenerasyon Microsoft Sertifika Programları'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-113044680171151103</id><published>2005-10-28T01:45:00.000+03:00</published><updated>2005-10-29T01:06:55.913+03:00</updated><title type='text'>Birden Fazla Validation Control Kullanilan Sayfalarda Yasanan Problemler</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/Validation.0.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/3068/1252/320/Validation.0.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/Validation.gif"&gt;&lt;/a&gt;&lt;br /&gt;ASP.Net aplikasyonlarınızda 1 den fazla required field validator kullandiğiniz sayfalarda istemediğiniz zamanlarda devreye girdikleri olmuştur.&lt;br /&gt;Validation kontrollerinizin istemediğiniz zamanlarda devreye girmesini önlemenin çeşitli yöntemleri bulunuyor;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;1. Yöntem&lt;/span&gt; (Sadece bazı durumlarda geçerli)&lt;br /&gt;&lt;br /&gt;Validatör kontrolünüzü istenmeyen durumda programın mantık gidişatına göre Asp.Net aplikasyonunuzun codebehind bölümünde validatör kontrolünüzü Enable/Disable ederek istediğiniz zaman aktif, istediğiniz zaman inaktif duruma getirebilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Ör:&lt;/span&gt; &lt;span style="color:#000099;"&gt;validasyonKontrolum.Enabled = False&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Aspx sayfanızın içinde validatıon'a sebep olan button'u bulup onun attributelarından &lt;span style="color:#ff0000;"&gt;CausesValidation = False&lt;/span&gt; yapabilirsiniz. Bu şekilde o buton artık validation'a sebep olmayacaktir. Eğer o butonun validasyonuna ihtiyacınız var ancak yanlış zamanda fire ediyor ise 2. maddeyi okuyun.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;2. Yöntem&lt;/span&gt; (Daha komplike durumlar için geçerli - İlk yöntem sorununuzu çözmüyorsa burayı mutlaka okuyun)&lt;br /&gt;&lt;br /&gt;Sayfanızda yukarıdaki resimdeki gibi 2 adet textbox ve bunlara ait validatorlarınız ve 2 adet ayrı ayrı işlere yarayan butonunuz bulunsun. (Or: Resimde 1. si Update, 2.si Upload )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Problem:&lt;/span&gt;&lt;br /&gt;Bu butonlardan herhangi birine tıkladığınızda requiredfieldvalidatorlarınızdan ikisi birden aktif oluyor .&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Çözüm:&lt;/span&gt;&lt;br /&gt;Required filed validatorları sadece istediğimiz zaman aktif hale getirmek için opsiyonumuz bu requiredfieldvalidatorların server tarafında çalışmasını sağlamak. Onu da şu şekilde yapacağız;&lt;br /&gt;&lt;br /&gt;Öncelikle benim resimdeki örneğime göre hem Update hemde Upload düğmelerim için &lt;span style="color:#ff0000;"&gt;CausesValidatıon=False&lt;/span&gt; yapıyorum. Daha sonra UpdateButtonuna tıkladığımda çağrılacak olan fonksiyona giderek aşsağıdaki satırları ekliyorum.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Private Sub ValidasyonaSebepOlucakButton_Click( hedehodezirtpirt)&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;ValidatorunuzunIsmi.Validate()&lt;br /&gt;&lt;/span&gt;If &lt;span style="color:#ff0000;"&gt;ValidatorunuzunIsmi.IsValid = True&lt;/span&gt; Then&lt;br /&gt;''Butonun yapmasi gereken islemlere devam et&lt;br /&gt;End If&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Validate()&lt;/span&gt; fonksiyonu validation kontrolünüzü aktif hale getiriyor.&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;IsValid()&lt;/span&gt; ise validasyonun sonucunu size True/False seklinde belirtiyor . Bu property'i kullanarak programınızın mantıksal olarak nasıl ilerlemesini istediğinizi belirleyebilirsiniz.&lt;br /&gt;&lt;br /&gt;Umarım sorununuzu çözmeye yardımcı olur. Bu arada ASP.Net 2.0 ile gelen "Validation Groups" özelliği bu sorunu kökünden halletmiş olacak.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-113044680171151103?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/113044680171151103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/113044680171151103'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/10/birden-fazla-validation-control.html' title='Birden Fazla Validation Control Kullanilan Sayfalarda Yasanan Problemler'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-113042848547377599</id><published>2005-10-27T18:46:00.000+03:00</published><updated>2005-10-27T20:24:05.276+03:00</updated><title type='text'>MultiLine Textboxlarda MaxLength Sorunu</title><content type='html'>Asp.Net ile kullandığınız Multiline TextBox'larınız için MaxLength attribüte'unu kullanarak girilecek karakter sayısını limitlemek istiyorsanız farketmişsinizdir ki ASP.Net Multiline Textbox'lar için bu attribüte'ı kullanarak karakter limitlemeyi desteklemiyor. Bende çözüm olarak textbox'a girilecek karakter sayısını limitleyecek bir Javascript örneği yazayım dedim. Yazdığım örnek sizin limit olarak koyduğunuz karakter numarasına geldiğinizde backspace yapıyor kısaca.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt; language="javascript"&gt;&lt;br /&gt;function textSayaci(field, maximumlimit)&lt;br /&gt;{if (field.value.length &gt; maximumlimit)&lt;br /&gt;{&lt;br /&gt;field.value = field.value.substring(0, maximumlimit);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt; /script &gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Eklemeniz gereken bir diğer bölüm ise, Asp.Net aplikasyonunuzun codebehind kısmının Page Load bölümünde en tepeye aşşağıdaki satırları eklemek. Böylece textbox kontrolümüze 2 adet yeni attribüte eklemiş olacağız. &lt;span style="color:#3333ff;"&gt;TextBoxKontrolunuzunIdsi&lt;/span&gt; yazan yere kontrolünüzün ID'sini girin, &lt;span style="color:#3333ff;"&gt;limitrakam&lt;/span&gt; yerine de limit olarak istediginiz karakter sayısını girin.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;TextBoxKontrolunuzunIdsi.Attributes.Add("onKeyDown", "textCounter(this,limitrakam);")&lt;br /&gt;TextBoxKontrolunuzIdsi.Attributes.Add("onKeyUp", "textCounter(this,limitrakam);")&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Yukarıdaki kod örneğini herhangi bir textbox için girilecek karakter sayısını Javascript ile limitlemek için de kullanabilirsiniz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-113042848547377599?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/113042848547377599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/113042848547377599'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/10/multiline-textboxlarda-maxlength.html' title='MultiLine Textboxlarda MaxLength Sorunu'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112992342311941446</id><published>2005-10-21T22:29:00.000+03:00</published><updated>2005-10-21T22:37:03.126+03:00</updated><title type='text'>SQL Server - Indexlerde FillFactor Kullanimi</title><content type='html'>Sql Server verilerimiz page(sayfa) adı verilen 8KB lik bölümler halinde harddiskimizde yer edinir. Page density(sayfa yoğunluğu), Fill Factor ile doğru orantilidir.&lt;br /&gt;&lt;br /&gt;Saniyede 100 input/output işlemi yapabilen bir disk üzerinde çalıştığımızı farzedelim.&lt;br /&gt;&lt;br /&gt;Veritabanımızda 100,000 satır içeren bir tablomuz bulunsun. Eğer database sayfalarımız(page'ler) çok boş olduğu takdirde, örneğin 1 sayfada 1 değer bulunsun;&lt;br /&gt;&lt;br /&gt;1 değer/sayfa ==&gt; 100000 sayfamız bulunmakta&lt;br /&gt;100000/ 100 (io/saniye) = 1000 saniye (Bize query sonuçlarlarının geri dönerken harcıyacağı zaman) &lt;br /&gt;&lt;br /&gt;Gördüğümüz gibi, sayfaların çok boş olması veritabanı performansı açısından çok kötü sonuçlar doğurabiliyor.  Peki FillFactor'u(sayfa doluluğunu) nasıl ve neye göre ayarlamalıyız?&lt;br /&gt;&lt;br /&gt;Fillfactor, index yaratım esnasında SQL Server 2000 database sayfalarınızın ne kadar dolu olmasını istediğinizi belirttiğiniz bölümdür.  Sadece ve sadece index yaratım esnasında belirtilebilir. Geçerli değerler 1 ile 100 % arasındadır.&lt;br /&gt;&lt;br /&gt;Fill Factor değerini seçerken SQL Server tablonuza ne kadar yeni değer girileceğini göz önünde bulundurmalısınız. Eğer tablonuz sadece read only bir tablo olacaksa, fill factoru 100 e olabildiğince yakın yapın. Eğer tablonuza yüklü miktarda yeni veri girişi yapılacaksa, bu değeri daha düşük tutmanız mantıklı olacaktir. Aksi takdirde database performansını arttırmaya çalışayım derken sayfa bölünmelerine sebep olarak büyük performans düşüşüne sebep olabilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;      Fill Factor Kullanımı&lt;/span&gt;&lt;br /&gt;CREATE CLUSTERED INDEX urunler_inx&lt;br /&gt;ON urunler(urunId, kategoriId)&lt;br /&gt;WITH FILLFACTOR = 50&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112992342311941446?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112992342311941446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112992342311941446'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/10/sql-server-indexlerde-fillfactor.html' title='SQL Server - Indexlerde FillFactor Kullanimi'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112975209118016240</id><published>2005-10-20T22:58:00.000+03:00</published><updated>2005-10-21T23:33:46.030+03:00</updated><title type='text'>SQL Server 2000 - Index Kullanim Ipuclari</title><content type='html'>&lt;span style="color:#ff0000;"&gt;1-&lt;/span&gt; Sql Server kullanırken foreign keylerinizde mutlaka index kullanın, çünkü foreign keylerinizi mutlaka bir başka bir table ile join yaparken ve where clause içeren query içerisinde kullanacaksınızdır.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;2-&lt;/span&gt; Sıkça WHERE clause, GROUP BY ve ORDER BY içerisinde kullandığınız sütunlar için mutlaka index kullanın.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;3-&lt;/span&gt; Üzerinde belirli bir aralık için arama yapılan sütunlar için mutlaka index kullanın.(Ör: 10/10/2005 - 1/1/2006 arasindaki verileri aradiginiz bir sütun gibi)&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;4-&lt;/span&gt; Üzerinde Aggregate fonksiyon(Max, Min gibi) kullanılan sütunlar için index kullanın.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;5-&lt;/span&gt; Birden fazla sütun üzerinde yaratacağınız multi sütunlu indexler için hangi sütunun önce gelmesi gerektiğine karar verirken;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Bir WHERE clause tarafından kullanılması daha olası olan sütunu birinci yapın.&lt;/li&gt;&lt;li&gt;Eğer 2 sütununda bir Where clause içerisinde kullanılma ihtimali yüksek ise, daha seçici olan (daha fazla değişik değerler içeren - yada DISTINCT kullandığınızda size daha çok sonuç veren)sütunu birinci yapın Çok küçük(az veri içeren) tabloları indexlemeyin. Sadece daha fazla yüke sebep olursunuz. &lt;/li&gt;&lt;li&gt;Birbirinden farklı değer pek içermeyen tabloları indexlemeyin, extra yüke sebep olmaktan başka bir faydası olmaz . (Ör: Sadece cinsiyet sütunu içeren bir tablosu - Veriler ancak Kadın/Erkek olabilir) &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="color:#ff0000;"&gt;6-&lt;/span&gt; SQL Server tablonuz için Clustered Index seçerken clustered index sütununun kısa, ve değişken olmayan bir değer olmasına özen gösterin. &lt;/p&gt;&lt;p&gt;&lt;span style="color:#ff0000;"&gt;7-&lt;/span&gt; Fillfactor kullanımını öğrenin ve SQL Server tablonuzun kullanılacağı şekile göre uygulayın. &lt;/p&gt;&lt;p&gt;Fillfactor kullanımını ile ilgili makalem &lt;a href="http://teknoturk.blogspot.com/2005/10/sql-server-indexlerde-fillfactor.html"&gt;&lt;span style="color:#ff0000;text-decoration:none;"&gt;burada!&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112975209118016240?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112975209118016240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112975209118016240'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/10/sql-server-2000-index-kullanim.html' title='SQL Server 2000 - Index Kullanim Ipuclari'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112934964022528681</id><published>2005-10-15T07:08:00.000+03:00</published><updated>2005-10-15T07:14:00.236+03:00</updated><title type='text'>Database Performans ve Tuning Islemleri</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/sqltuning.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 146px; CURSOR: hand; HEIGHT: 150px; TEXT-ALIGN: center" height="169" alt="" src="http://photos1.blogger.com/blogger/3068/1252/320/sqltuning.jpg" width="225" border="0" /&gt;&lt;/a&gt; Bu ara optimizasyon konusunda destek verdiğim 3 milyon satırlık SQL Server database tablosu içeren bir proje ile ilgili tecrübelerimi paylaşıym biraz...&lt;br /&gt;&lt;br /&gt;Öncelikle, herhangi bir SQL Server 2000 database üzerinde purge(temizlik) işlemleri yaptiktan sonra veritabanınızın eski performansında çalışmasını istiyorsanız ve veritabanınız üzerindeki tablolarda indexleriniz bulunuyorsa öncelikle takip etmeniz adımlar;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;1-&lt;/span&gt; Database indexlerinizi yeniden yaratın (DBCC REINDEX komutu ile)&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;2-&lt;/span&gt; DBCC CONTIG komutu ile index ve tablo fragmantasyonu (bölünmesi) olup olmadığını mutlaka kontrol edin.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;DBCC SHOWCONTIG Kullanımı:&lt;/span&gt;&lt;br /&gt;En basit kullanım şekli query analyzerda aşsağıdaki gibidir;(Daha fazlası için SQL Server Query Analyzerdan Online Books bölümüne bakın)&lt;br /&gt;&lt;br /&gt;DBCC SHOWCONTIG (TabloAdı)&lt;br /&gt;&lt;br /&gt;Bu komut size liste halinde birçok veri geri verecektir. Şimdi bu komutun bize geri vereceği bilgilerin ne anlama geldiğine bakalım.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Pages Scanned:&lt;/span&gt; (Taranılmış Sayfa Sayısı) Eğer veritabanınızda yaklasik olarak ne kadar satır bulunduğunu biliyorsanız, bu bölümde size ne kadar page(sayfa) verileceğini tahmin etmeniz mümkün.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Extents Scanned:&lt;/span&gt; Tranılmış sayfa sayınızı alıp 8 e böldüğünüzde, elinize geçen rakamı en yakın rakama yuvarlayın ve Extents Scanned bölümünde elinize geçmesi gereken rakamı bulmuş olacaksınız. Eğer DBCC SHOWCONTIG tarafından size verilen rakam sizin hesapladığınızdan yüksek çıkıyorsa database/tablonuzda fragmentation(bölünme) var demektir. Aradaki fark çok büyükse, mutlaka makalenin sonundaki açıklayacağım adımları uygulayın.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Extent Switches:&lt;/span&gt; Bu rakam Extents Scanned bölümdeki rakamdan 1 rakam küçük olmalıdır. Rakamlar arasındaki yüksek fark, database/tablonuzda bir veri fragmantasyonu olduğunu gösterir.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Avg Pages per Extent:&lt;/span&gt; Pages Scanned / Extents Scanned e eşittir ve doğal olarak 8'e eşit olmalıdır. 8'den küçük rakamlar database/tablo fragmantasyonu olduğunu gösterir.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Scan Density:&lt;/span&gt; (En önemli bölümlerden biri) Bu bölümde DBCC CONTIG tarafından size gösterilen deger, yüzde 100'e olabildiğince yakın olmalıdır. Düşük değerler veritabanınızın/tablonun fragmantasyona uğradığını gösterir.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Logical Scan Fragmentation:&lt;/span&gt; Veritabanınızdaki olması gerektiği yerde bulunmayan page'lerin oranını gösterir.Yüzde 0 ile yüzde 10 arasında olmalıdır. Yüzde 10'un üzerinde ise, veritabanınız/tablonuz fragmentation'a uğramış demektir.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Extent Scan Fragmentation:&lt;/span&gt; Veritabanınızdaki alanlar arasındaki boşlukların yüzdesini gösterir. Yüzdelik değer 0 olmalıdır. Daha yüksek yüzde değerleri, databaseinizin/tablonuzun fragmentation'a uğradığını gösterir.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Avg. Bytes Free per Page:&lt;/span&gt; Sayfalardaki ortalama boş alanı gösterir. Yüksek rakamlar database'inizin/tablonuzun fragmantasyona uğradığını gösterir.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Avg Page Density:&lt;/span&gt; 1/Avg Bytes Free Per page . Yukarıdaki değerin yüzdelik şekilde belirtilmiş halidir. Düşük yüzdeler database/tablonun fragmentasyonuna işarettir.&lt;br /&gt;&lt;br /&gt;Database Fragmentation (Bölünmeleri) İçin Çözümler&lt;br /&gt;1. Indexlerinizi Drop ederek tekrar yaratabilirsiniz.2. İndexlerinizi Recreate komutunun DROP EXISTING özelliğini kullanarak tekrar yaratabilirsiniz.3. DBCC DBREINDEX komutunu kullanabilirsiniz.4. DBCC INDEXDEFRAG komutunu kullanarak indexlerinizi defragment(birleştirmek) edebilirsiniz.&lt;br /&gt;&lt;br /&gt;Eğer veritabanınız üzerinde o sırada işlemler yapılıyorsa, indexi drop etme(atma) opsiyonunu seçerseniz yeni indexi çok çabuk şekilde yaratmalısınız yoksa veritabanınız indexsiz şekilde çok verimsiz çalışabilir.&lt;br /&gt;&lt;br /&gt;DBCC DBREINDEX komutu çalışırken durdurulduğu takdirde, bütün defragmentasyon kaybedilir ve yeniden defragment komunutunu çalıştırmanız gerekir.&lt;br /&gt;&lt;br /&gt;DBCC INDEXDEFRAG komutu, veritabanınız üzerinde en az yükü yaratacak opsiyondur. O anda gerçekleşen SELECT tarzı indexi kullanan komutlarla herhangi bir çakışmaya sebep olmaz. Ancak sonuçları yeni bir index oluşturmak kadar verimli olmayabilir. Çünkü bu komut indexleri düzene sokmak için diğer yukarıdaki methodlar gibi yeni sayfalar yaratmaz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112934964022528681?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112934964022528681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112934964022528681'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/10/database-performans-ve-tuning.html' title='Database Performans ve Tuning Islemleri'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112921239757672701</id><published>2005-10-13T16:40:00.000+03:00</published><updated>2005-10-13T17:06:37.613+03:00</updated><title type='text'>Inner Join ve Outer Join Farklari</title><content type='html'>Sanırım bu aralar en çok aldığım sorulardan biri de "INNER JOIN ve OUTER JOIN farkı nedir?" oldu. SQL Server da inner join ve outer join kullanımı ile ilgili ayrıntılı bi makale yazayım dedim.&lt;br /&gt;&lt;br /&gt;Örnek olarak Müşteriler vede Siparişler olmak üzere iki adet relational(ilişkili) tablomuz bulunsun.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;INNER JOIN Kullanımı:&lt;/span&gt;&lt;br /&gt;Bize sadece herhangi bir siparişi bulunan müşterileri gösterecektir.&lt;br /&gt;Ne Zaman Kullanmak isteyebiliriz?&lt;br /&gt;Örneğin her müşteri tarafından yapılan sipariş miktarını görmek istediğinizde yada sadece sipariş vermiş olan müşterileri görmek istediğinizde vs...&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Örnek:&lt;/span&gt;&lt;br /&gt;Select Musteriler.*, Siparisler.*&lt;br /&gt;FROM Musteriler INNER JOIN Siparisler ON Musteriler.MusteriID = Siparisler.MusteriID&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;OUTER JOIN Kullanımı:&lt;br /&gt;&lt;/span&gt;Bize siparişi olsun olmasın bütün Siparişleri yada müşterileri görme imkanı sağlar.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;a)Left Outer Join:&lt;/span&gt;&lt;br /&gt;Aşşağıdaki şekilde kullanıldığında, LEFT OUTER JOİN kelimesinin solundaki Tablo(Müşteriler) belirleyici tablodur ve bu kullanım bir siparişi bulunsun bulunmasın bütün müşteriler listeleyecektir. Herhangi bir müşterinin eğer hiç siparişi bulunmuyorsa, sipariş bölümdeki veriler NULL olarak görünecektir.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Örnek:&lt;/span&gt;&lt;br /&gt;SELECT Musteriler.*, Siparisler.*&lt;br /&gt;FROM Musteriler LEFT OUTER JOIN Siparisler ON Musteriler.MusteriID = Siparisler.MusteriID&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;b)Right Outer Join:&lt;br /&gt;&lt;/span&gt;Aşşağıdaki şekilde kullanıldığında, RIGHT OUTER JOİN kelimesinin sağındaki Tablo(Siparişler) belirleyici tablodur ve bu kullanım bir müşteriye ait olsun olmasın bütün siparişleri gösterecektir. Herhangi bir siparişin sahibi bir müşteri bulunmuyorsa, müşteriye ait bilgiler NULL olarak görüntülenecektir.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Örnek:&lt;/span&gt;&lt;br /&gt;SELECT Musteriler.*, Siparisler.*&lt;br /&gt;FROM Musteriler RIGHT OUTER JOIN Siparisler ON Musteriler.MusteriID = Siparisler.MusteriID&lt;br /&gt;&lt;br /&gt;Özetlemek gerekirse, Inner JOIN sadece ve sadece iki tablodaki ilişiği bulunan satırları listelerken OUTER JOIN, sahibi bulunmayan satırları da listeleyecektir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112921239757672701?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112921239757672701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112921239757672701'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/10/inner-join-ve-outer-join-farklari.html' title='Inner Join ve Outer Join Farklari'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112673022474507949</id><published>2005-09-15T01:35:00.000+03:00</published><updated>2005-09-14T23:40:57.613+03:00</updated><title type='text'>ASP.Net ve SQL Server Tabanli Ucretsiz Forum</title><content type='html'>SQL Server tabanlı bir ASP.Net forumu yaratmak gibi bir niyetiniz var ise YetAnotherForum açık kaynak kodlu ve GPL lisansına sahip oldukça güzel ve ücretsiz bir çözüm sunuyor. Bedava forum modülünün bütün kaynak kodunu indirerek forumunuzu oluşturmaya başlayabilirsiniz...&lt;br /&gt;&lt;br /&gt;Aynı zamanda DotNetNuke kullanıyorsanız, YetAnotherForum'u DotNetNuke'e kolayca entegre edebiliyorsunuz.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#ff0000;"&gt;&lt;strong&gt;YetAnotherForum Download&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;a target="_blank" href="http://yetanotherforum.net/"&gt;&lt;span style="font-size:85%;color:#000000;text-decoration:none;"&gt;http://yetanotherforum.net/&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112673022474507949?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112673022474507949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112673022474507949'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/09/aspnet-ve-sql-server-tabanli-ucretsiz.html' title='ASP.Net ve SQL Server Tabanli Ucretsiz Forum'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112672955035119769</id><published>2005-09-15T01:19:00.000+03:00</published><updated>2005-10-20T18:51:19.653+03:00</updated><title type='text'>ASP.Net ile URL Icerisinde Parametre Gondermek</title><content type='html'>&lt;span style="color:#ff0000;"&gt;&lt;span style="color:#000000;"&gt;Sayfalara bazen session variable ile veri göndermek yerine URL içerisinde parametre göndermek çok daha kolay olabiliyor;&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:#ff0000;"&gt;               Request.QueryString Kullanimi&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Örnek:&lt;/span&gt; http://www.orneksayfa.com/webaplikasyonu/goruntule.aspx?ID=5&amp;Isim=Mehmet&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;/span&gt;&lt;br /&gt;Kodunuz içerisinde buradaki parameterelere ulaşabilmek için;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;C#&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;int ID = Convert.ToInt32(Request.QueryString["ID"]);&lt;br /&gt;int Isim = Convert.ToString(Request.QueryString["Isim"]);&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;VB.Net&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Dim ID as Integer = Convert.ToInt32(Request.QueryString("ID"));&lt;br /&gt;Dim Isim as String = Convert.ToString(Request.QueryString(Isim"));&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112672955035119769?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112672955035119769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112672955035119769'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/09/aspnet-ile-url-icerisinde-parametre.html' title='ASP.Net ile URL Icerisinde Parametre Gondermek'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112646953425821303</id><published>2005-09-12T13:39:00.000+03:00</published><updated>2005-09-13T21:53:27.426+03:00</updated><title type='text'>Ucretsiz .Net 2.0 Beta Hosting Hizmeti</title><content type='html'>Önceki makalelerimde .Net 2.0 ile yazılım geliştirmek isteyen arkadaşlar için Microsoft'un sunduğu ücretsiz eğitim imkanlarından bahsetmiştim. Eğer yazdığınız aplikasyonları test etmek için ücretsiz bir hosting hizmeti arıyorsanız HostBasket adlı firma ücretsiz olarak .Net 2.0 Beta Hosting hizmeti sunuyor.&lt;br /&gt;&lt;br /&gt;Ücretsiz hosting hizmeti ASP.Net 2.0 official olarak çıkıncaya kadar(8 Kasım 2005'tı sanırım şu anda belirtilen tarih) devam edecek. Sizden herhangi bir kredi kartı vs. talep etmeyen bulabildiğim tek firma buydu. Başka bilgisi olan arkadaşlar varsa yorum olarak yazarlarsa diğer arkadaşlarda bundan faydalanabilir.&lt;br /&gt;&lt;br /&gt;HostBasket'taki .Net 2.0 Beta Hosting hizmeti şunları içeriyor;&lt;br /&gt;50 MB alan&lt;br /&gt;10 MB SQL Server database alanı&lt;br /&gt;3 GB aylık transfer&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.hostbasket.com/dotnet2.shtml"&gt;&lt;span style="font-size:85%;color:#ff0000;"&gt;&lt;strong&gt;http://www.hostbasket.com/dotnet2.shtml&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;ASP.Net 2.0 Beta Ücretsiz Hosting Hizmeti&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112646953425821303?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112646953425821303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112646953425821303'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/09/ucretsiz-net-20-beta-hosting-hizmeti.html' title='Ucretsiz .Net 2.0 Beta Hosting Hizmeti'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112646850083866114</id><published>2005-09-12T01:44:00.000+03:00</published><updated>2005-09-11T22:56:43.520+03:00</updated><title type='text'>.Net ile Regular Expression Kullanimi</title><content type='html'>&lt;span style="color:#ff0000;"&gt;Regular Expression Nedir?&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;Regular expression kullanımı .Net aplikasyonlarınızda istediğiniz belirli text fieldlere(kutucuklara) kullanıcılarınızın girebileceği değerleri istenilen şekilde limitleyebilmenizi sağlar.&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;Örneğin posta kodu 5 haneli numerik bir değer olacak. Yada telefon numarası 0-XXX-XXXXXXX şeklinde olacak şeklinde istediğiniz hemen hemen her türlü regular expression'u .Net aplikasyonlarınıza entegre ederek kullanıcılarınızdan temiz ve istediğiniz şekilde veriler gelmesini sağlayabilirsiniz. &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;Basit bir örnek olarak son kullanıcı tarafından girilecek posta kodunun numerik bir değer olup olmadığının kontrol etmek için VB.Net ve C# ile bir regular expression yazalım. &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;VB.Net&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;Imports System.Text.RegularExpressions&lt;br /&gt;Dim sRegExModeli As String = "^\d+$"&lt;br /&gt;Dim sKontrolEdilecekText As String = txtPostaKodu.Text&lt;br /&gt;If Not RegEx.IsMatch(sKontrolEdilecekText, sRegExModeli) Then&lt;br /&gt;epValidation.SetError(ctrl, "Posta kodu icin lutfen numerik bir deger giriniz.")&lt;br /&gt;End If&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;C#&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000099;"&gt;using System.Text.RegularExpressions;&lt;br /&gt;string sRegExModeli = @"^\d+$";&lt;br /&gt;string sKontrolEdilecekText = txtPostaKodu.Text&lt;br /&gt;If (!Regex.IsMatch(sKontrolEdilecekText, sRegExModeli))&lt;br /&gt;{&lt;br /&gt;epValidation.SetError(ctrl, "Posta kodu icin lutfen bir deger giriniz.")&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Yazdığımız Regular Expression'u inceleyelim;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;^&lt;/span&gt; işareti model kıyaslama işleminin son kullanıcının gireceği ilk karakter ile başlayacağını bildirir.&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;\d&lt;/span&gt; Bir numerik değerler beklendigini bildirir(0-9)&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;+&lt;/span&gt; işareti bir önce girilen değerin bir veya birden fazla kez bulunabileceğini belirtir. (örneğimize göre birden fazla kez girilecek numerik bir değer bekliyoruz)&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;$&lt;/span&gt; işareti model kıyaslama işleminin son kullanıcının gireceği son karakter ile son bulacağını bildirir.&lt;br /&gt;&lt;br /&gt;.Net Framework ile gelen Regular Expressions class'ındaki &lt;span style="color:#ff0000;"&gt;IsMatch&lt;/span&gt; methodu eğer belirttiğiniz text ile model birbirine uyuyor ise True değeri geri verecektir. Aksi takdirde False return eder.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Not:&lt;/span&gt; C# kodumuzdaki RegExModelini declare ederken kullandığımız &lt;span style="color:#ff0000;"&gt;@&lt;/span&gt; işareti C#'ın escape karakterleri işlemeye çalışmasını önlemek içindi.&lt;br /&gt;&lt;br /&gt;Bu makale Regular Expression kullanımına giriş niteliğinde bilgiler içermekteydi. İleriki bir makalede biraz daha komplike bir regular expression yazarak farklı kontrol nitelikleri ekleyeceğiz...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112646850083866114?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112646850083866114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112646850083866114'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/09/net-ile-regular-expression-kullanimi.html' title='.Net ile Regular Expression Kullanimi'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112636282858501897</id><published>2005-09-10T17:26:00.000+03:00</published><updated>2005-09-10T17:35:08.996+03:00</updated><title type='text'>ADO.Net Performans Ipuclari</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/ado.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/ado.jpg" border="0" /&gt;&lt;/a&gt; ADO.Net'i yoğun olarak kullandığınız .Net aplikasyonlarınızda performansınızı artırmaya yarayacak bir kaç önemli noktaya:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;1- Database bağlantılarınızı olabildiğince geç açıp erken kapayın&lt;/span&gt;&lt;br /&gt;Database bağlantılarınızı gerçekten gerekli olduğu noktaya gelince açın ve işiniz bittiğinde mutlaka hemen kapayın.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;2- Gereksiz objelerden kurtulun&lt;/span&gt;&lt;br /&gt;Dispose ve Close methodlarına izin verilen objelerde işiniz bittiği zaman mutlaka bu methodları kullanarak kullanmadığınız objelerden kurtulun ve kaynakların gereksiz kullanımını önleyin.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;3- Database'e gidiş gelişleri azaltın&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;/span&gt;Eğer 3 veya 4 adet SQL queryniz varsa, bunları batch sql queryleri olarak bir stored procedure içerisinde kullanın ve database'e gidiş gelişleri azaltın. Database'den tek bir sonuç almak için ExecuteScalar methodunu kullanın.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;4- Database'den sadece size gerçekten gerekli olan verileri çağırın. &lt;/span&gt;&lt;br /&gt;.Net aplikasyonunuzun calışması için size gerekli olacak verilere bakarak sadece onları çağırın, bu şekilde bandwith kullanımını da azaltmış olacaksınız(Hosting firmaniz size bir bandwith limiti koyuyorsa bu ipucunu kesinlikle dikkate alın).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112636282858501897?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112636282858501897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112636282858501897'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/09/adonet-performans-ipuclari.html' title='ADO.Net Performans Ipuclari'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112614560569655965</id><published>2005-09-08T05:08:00.000+03:00</published><updated>2005-09-13T21:56:33.553+03:00</updated><title type='text'>SQL Server Raporlama Servisleri</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/sql_server.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 165px; CURSOR: hand; HEIGHT: 124px; TEXT-ALIGN: center" height="124" alt="" src="http://photos1.blogger.com/blogger/3068/1252/320/sql_server.gif" width="160" border="0" /&gt;&lt;/a&gt; Üzerinde çalıştığım son proje için SQL Server Reporting Services(Raporlama Servisleri) kullanmam gerekiyordu. Bir kaç kaynak araştırırken karşıma Türkçe ve özenle hazırlanmış kapsamlı bir Reporting Services materyalı çıktı. Volkan Evrim adlı arkadaşımız yazdığı makalelerle SQL Server Raporlama Servislerinin nasıl kullanıldığını açıklamış.(Link makalenin sonunda)&lt;br /&gt;&lt;br /&gt;Reporting Services Nedir?Reporting Services(Raporlama Servisleri), veritabanınıza girilen bilgileri kullanarak istenilen şekilde bilgilerinizi filtreleyip düzenleyerek her türlü bilgiyi rapor haline getirmenize yarar. Bu şekilde herhangi bir veritabanında (SQL Server, Oracle vb.) bulunan bilgilerinizi anlamlı bir şekilde organize ederek raporlar sayesinde bilgilerinizi analiz etmenizi, veya çıktılar almanızı, bilgilerinizi pdf, html veya başka formatlarda raporlar halinde saklayabilmenizi, isterseniz e-mail yolu ile istenilen kişilere gönderebilmenizi sağlar.&lt;br /&gt;&lt;br /&gt;Reporting Services kullanımı için Volkan arkadaşımızın hazırlamış olduğu ayrıntılı makalelerden faydalanarak raporlar hazırlamaya başlayabilirsiniz...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.verivizyon.com/detail.asp?cid=206"&gt;&lt;span style="TEXT-DECORATION: none;font-size:85%;color:#ff0000;"  &gt;&lt;strong&gt;http://www.verivizyon.com/detail.asp?cid=206&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;Volkan arkadaşımızın Reporting Services makaleleri&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112614560569655965?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112614560569655965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112614560569655965'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/09/sql-server-raporlama-servisleri.html' title='SQL Server Raporlama Servisleri'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112605930876835113</id><published>2005-09-07T05:10:00.000+03:00</published><updated>2005-09-13T21:59:23.396+03:00</updated><title type='text'>Microsoft E-Learning Isinde Oldukca Ciddi</title><content type='html'>Microsoft'un Visual Studio 2005 için hazırladığı training sitesinde biraz gezinirken gördümki Microsoft bu e-learning işini oldukça ciddiye alıyor.&lt;br /&gt;&lt;br /&gt;Sitelerinde şu anda sundukları 90 günlük Visual Studio 2005 ile ASP.Net 2.0 eğitimi oldukça kapsamlı. Gördüğüm en güzel özellik ise, içerisinde labaratuar çalışmaları bile yapabiliyorsunuz. Bilgisayarınızda Visual Studio 2005 yüklü olmasına gerek bile olmadan.... Microsoft, sadece bu iş için hazırlamış olduğu Visual Studio 2005 Beta 2 yüklü Virtual PC'leri bu training esnasında istediğiniz şekilde kullanmanıza izin veriyor.&lt;br /&gt;&lt;br /&gt;Örneğin bir dersi bitiriyorsunuz ve arkasından öğrendiklerinizi uygulamak için virtual pc'ye bağlanıp oturup size verilen örnek bir yazılım spesifikasyonuna göre istenilen ufak program örneğini ASP.Net 2.0 ile geliştiriyorsunuz. Bir yandan .Net 2.0 ile database manipulasyonu nasıl yapılır öğrenirken bir yandan da vay canına, Microsoft neler yapmış bizim için diye düşünüyorsunuz...&lt;br /&gt;&lt;br /&gt;Bence bu imkanı değerlendirin... Programlama ile ilgili kitapları okumaktan sıkılanlar için birebir... Hemde şu anda zaten Türkiye'de ASP.Net üzerine henüz yazılı bir kaynak olduğunu sanmıyorum... Aynı şekilde SQL Server 2005 training'ine de kesinlikle bir bakmanızı öneririm... Linkler aşsağıda...&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="https://www.microsoftelearning.com/visualstudio2005/"&gt;&lt;span style="font-size:85%;color:#ff0000;"&gt;&lt;strong&gt;https://www.microsoftelearning.com/visualstudio2005/&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;Visual Studio .Net 2005 /Asp.Net 2.0 Training&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a target="_blank" href="https://www.microsoftelearning.com/sqlserver2005/"&gt;&lt;span style="font-size:85%;color:#ff0000;"&gt;&lt;strong&gt;https://www.microsoftelearning.com/sqlserver2005/&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;Sql Server 2005 Training&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112605930876835113?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112605930876835113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112605930876835113'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/09/microsoft-e-learning-isinde-oldukca.html' title='Microsoft E-Learning Isinde Oldukca Ciddi'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112589383366596331</id><published>2005-09-05T07:07:00.000+03:00</published><updated>2005-09-13T22:01:30.120+03:00</updated><title type='text'>Database Guvenligi - Salting Nedir?</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/encrypt_hashing_salting.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 130px; CURSOR: hand; HEIGHT: 135px; TEXT-ALIGN: center" height="139" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/encrypt_hashing_salting.jpg" width="216" border="0" /&gt;&lt;/a&gt; &lt;span style="color:#000000;"&gt;Önceki makalede açıkladığımız hashing kullanımı her ne kadar passwordleri saklamak için güvenlik sağlasa da bu bilgiler hala sözlük yardımıyla yapılan saldırılara(dictionary attack) karşı kormasız durumdadırlar. &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;Dictionary attack'lerde saldırıyı yapan kişi passwordünüzü bir sözlükteki bütün kelimeleri bir software yardımıyla kullanarak deneme/yanılma yolu ile bulmaya çalışır. Sözlük yardımıyla yapılan saldırılardan son kullanıcılarınızı korumak için password seçerken belirli rakam ve harf kombinasyonları kullanmalarını mecburi tutabilirsiniz. &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;Ekstra koruma olarak password başına veya sonuna hash edilmeden önce rastgele bir grup byte ekleyebilirsiniz. Bu eklenen byte'lara salt denir. Bu salt değerini password ile beraber database üzerinde saklarız. &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;Salt değeri yaratmanın pek çok yolu bulunmakta. Bunlardan en çok kullanılanı bir GUID değeri yaratmak. &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;GUID nedir? &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;Guid, (Globally Unique Id) dünyada eşi bulunmayan 16 bytelik hexadecimal formatında yazılan bir değerdir. Teknik olarak daha önceden yarattığınız bir GUID değeri ile tekrar karşılaşmanız mümkün değil. .Net Framework size Guid değerleri yaratabilmeniz için bir class vermekte. &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#000000;"&gt;VB.Net ve C# ile nasıl bir GUID değeri yaratacağımıza bakalım...&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;VB.Net&lt;br /&gt;&lt;/span&gt;Public Function SaltDegeriYarat() As String&lt;br /&gt;Dim GuidDegeri As System.Guid = System.Guid.NewGuid()&lt;br /&gt;Return GuidDegeri.ToString()&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;C#&lt;/span&gt;&lt;br /&gt;public statix String SaltDegeriYarat()&lt;br /&gt;{&lt;br /&gt;System.Guid GuidDegeri = System.Guid.NewGuid();&lt;br /&gt;return GuidValue.ToString();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Hashing Nedir?&lt;br /&gt;&lt;/span&gt;&lt;a href="http://teknoturk.blogspot.com/2005/09/hashing-kullanimi.html" target="_blank"&gt;&lt;span style="TEXT-DECORATION: none;font-size:85%;color:#ff0000;"  &gt;&lt;strong&gt;http://teknoturk.blogspot.com/2005/09/hashing-kullanimi.html&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112589383366596331?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112589383366596331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112589383366596331'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/09/database-guvenligi-salting-nedir.html' title='Database Guvenligi - Salting Nedir?'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112589106287591931</id><published>2005-09-05T06:21:00.000+03:00</published><updated>2005-09-13T22:02:39.566+03:00</updated><title type='text'>Hashing Kullanimi</title><content type='html'>&lt;a href="http://teknoturk.blogspot.com/2005/09/database-uzerinde-guvenli-olarak.html"&gt;&lt;span style="color:#ff0000;"&gt;En son makale&lt;/span&gt;&lt;/a&gt;de database üzerinde veri saklarken hash yardımıyla .Net aplikasyonlarımızda hassas bilgilerimizi nasıl encrypt edebileceğimizi anlatmıştım. Bu makalede ise ufak bir örnekle hem VB.Net hem C# dilleri ile .Net Framework'u kullanarak nasıl hashing olayını uygulayabileceğimize bakacağız.&lt;br /&gt;&lt;br /&gt;SHA1 önceki makalede de belirttiğimiz gibi .Net framework ile birlikte gelen bir hashing algoritması. Kullanımını ise aşsağıdaki şekilde örneklendirdim;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;VB.NET&lt;/span&gt;&lt;br /&gt;Imports System.Security.Cryptography&lt;br /&gt;Public Function HashDegeriniHesapla(ByVal hashEdilecekText As String) As String&lt;br /&gt;Dim SHA1 As SHA1CryptoServiceProvide = New SHA1CryptoServiceProvider&lt;br /&gt;Dim byteDegeri As Byte() = System.Text.Encoding.UTF8.GetBytes(hashEdilecekText)&lt;br /&gt;Dim hashDegeri as Byte() = SHA1.ComputeHash(byteValue)&lt;br /&gt;SHA1.Clear()&lt;br /&gt;Return Convert.ToBase64String(hashDegeri)&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;C#&lt;/span&gt;&lt;br /&gt;using System.Security.Cryptography;&lt;br /&gt;public static String HashDegeriniHesapla(string hashEdilecekText)&lt;br /&gt;{&lt;br /&gt;SHA1CryptoServiceProvider SHA1 = new SHA1CryptoServiceProvider();&lt;br /&gt;byte[] byteDegeri = System.Text.Encoding.UTF8.GetBytes(hashEdilecekText);&lt;br /&gt;byte[] hashDegeri = SHA1.ComputeHash(byteDegeri);&lt;br /&gt;SHA1.Clear();&lt;br /&gt;return Convert.ToBase64String(hashDegeri);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://teknoturk.blogspot.com/2005/09/database-uzerinde-guvenli-olarak.html"&gt;&lt;span style="font-size:85%;color:#ff0000;"&gt;&lt;strong&gt;http://teknoturk.blogspot.com/2005/09/database-uzerinde-guvenli-olarak.html&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;"Hashing Nedir?" gibi sorularınıza yanıt için konu ile ilgili tanıtım makalesine yukarıdaki link'ten ulaşabilirsiniz.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112589106287591931?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112589106287591931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112589106287591931'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/09/hashing-kullanimi.html' title='Hashing Kullanimi'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112577956982097049</id><published>2005-09-03T23:28:00.000+03:00</published><updated>2005-09-03T23:32:49.826+03:00</updated><title type='text'>Database Uzerinde Guvenli Olarak Password Saklamak - Hashing Nedir?</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/hashing.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 152px; CURSOR: hand; HEIGHT: 83px; TEXT-ALIGN: center" height="86" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/hashing.gif" width="159" border="0" /&gt;&lt;/a&gt;Bu makalede veritabanımızda saklayacağımız kullanıcı adı ve password gibi hassas bilgileri nasıl daha güvenli şekilde saklayabileceğimizi anlatacağım.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Hash Nedir?&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;Hash&lt;/strong&gt;, bir bilginin(örnek: password, kredi karti no'su) tanınamaz hale getirilmiş halidir. Bir bilginin hash edilmiş halinden orjinal haline dönüştürülmesi için hash algoritmaları .Net ile birlikte size verilmiş haldedir.&lt;br /&gt;&lt;br /&gt;Herhangi bir kullanıcı bir password seçtiği zaman o password hash edilerek eşi olmayan bir hash değeri şeklinde(Ör: W6ph5Mm5Pz8GgiULbPgzG37mj9g=) saklanıyor ve o kullanıcı örneğin bir mail sistemine login olmak istediğinde girdiği orjinal password tekrar hash edilerek veritabanı üzerindeki hash edilmiş değer ile kıyaslanıyor. Bu şekilde veritabanındaki bilgiler birinin eline geçmiş olsa bile hash edilmiş olan değerler bir anlam ifade etmediğinden herhangi bir tehdit önlenmiş oluyor.&lt;br /&gt;&lt;br /&gt;Hash edilmiş bir değer unhash edilemez. Bu yüzden orjinal passwordu hash edilmiş olan değerden geri getirmek mümkün değildir. Hotmail, Yahoo vs gibi sistemlerde passwordunuzu unuttuğunuz zaman sizden yeni bir password seçmenizi istemelerinin sebebi de budur. Bu yüzden hashing kullanıldığında son kullanıcı passwordunu unutursa tek çözüm o kullanıcıya yeni bir password atamaktır.&lt;br /&gt;&lt;br /&gt;.Net Framework üzerindeki System.Security.Cryptography library'si içerisinde bir grup hashing ile ilgili class bulunuyor.&lt;br /&gt;&lt;br /&gt;Konu çok uzun olduğundan bir kaç makaleye bölmeye karar verdim... Bir dahaki makalede SHA1 hashing algoritması ilenasıl bir passwordun hash edilebileceğini örnekle anlatacağım...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112577956982097049?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112577956982097049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112577956982097049'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/09/database-uzerinde-guvenli-olarak.html' title='Database Uzerinde Guvenli Olarak Password Saklamak - Hashing Nedir?'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112568670321714310</id><published>2005-09-02T21:42:00.000+03:00</published><updated>2005-09-13T22:06:51.063+03:00</updated><title type='text'>Ucretsiz Visual Studio.Net 2005 ve SQL Server 2005 Egitimi</title><content type='html'>Microsoft Kasım'da piyasaya süreceği 2 yeni ürünü olan Visual Studio.Net 2005 ve SQL Server 2005 için 90 günlük ücretsiz eğitimlerini web sitesinden sunuyor.&lt;br /&gt;&lt;br /&gt;Ücretsiz olarak ASP.Net 2.0 , SQL Server 2005 ve Visual Studio Team System ürünleri için online eğitim video ve presentasyonlarına ulaşmak isterseniz aşsağıdaki adreslere mutlaka bir bakın derim.&lt;br /&gt;&lt;br /&gt;Visual Studio .Net 2005 /Asp.Net 2.0 - Bedava Eğitim Videoları Için&lt;br /&gt;&lt;a href="https://www.microsoftelearning.com/visualstudio2005/" target="_blank"&gt;&lt;span style="color:#ff0000;text-decoration:none;"&gt;https://www.microsoftelearning.com/visualstudio2005/&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Sql Server 2005 - Bedava Eğitim Videoları Için&lt;br /&gt;&lt;a href="https://www.microsoftelearning.com/sqlserver2005/" target="_blank"&gt;&lt;span style="color:#ff0000;text-decoration:none;"&gt;https://www.microsoftelearning.com/sqlserver2005/&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112568670321714310?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112568670321714310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112568670321714310'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/09/ucretsiz-visual-studionet-2005-ve-sql.html' title='Ucretsiz Visual Studio.Net 2005 ve SQL Server 2005 Egitimi'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112554561624181701</id><published>2005-09-01T06:30:00.000+03:00</published><updated>2005-09-01T06:35:39.270+03:00</updated><title type='text'>Oracle ve Sql Server Arasinda Kayboldum</title><content type='html'>Bi kaç gündür blog'umu update edemiyorum çünkü işyerinde pek rahat vermiyolar. Bana verdikleri .Net projesinde o kadar çok business kuralı varki artık kafayı yemek üzereyim sanırım. Basit bi elektronik form hazırlayacağımı sanmıştım ki, çok yanılmışım.&lt;br /&gt;&lt;br /&gt;Anlayamadığım şey ise bazı şirketlerin nasıl herşeyi arapsaçı gibi yapabildiği. 2 farklı database var zaten ihtiyacım bilgilerin yarısı birinde yarısı ötekinde ve biri Oracle diğeri SQL server sinir oldum bi oraya bi buraya bakmaktan.&lt;br /&gt;&lt;br /&gt;Kod zaten VB.Net, hala bazen C# syntax'ından VB.Net syntax'ine geçerken bazı şeylerin değişikliğinden dolayı bi bakmak zorunda kalıyorum referans bi kitaba. Ama çok da aslında zorlanmadım açıkçası ilk başlarda... Şimdi tıkır tıkır yazıyorum bilingual developer olarak :)&lt;br /&gt;&lt;br /&gt;Bu arada az kalsın baya büyük bi şirket için .Net 2.0 ve SQL Server 2005 kullanırak yapılacak bi projeye veriliyordum son anda manager'im yok demiş sinir oldum. Şu anda üzerinde çalıştığım diğer proje yüzünden olmadı. Sanırım bu şu anda üzerinde çalıştığım projenin sahibi petrol şirketinden daha bana en az 3 ay kurtuluş yok...Ama güzel bi yanı, benzin fiyatı artacağı zaman ilk benim haberim oluyor :) Katrina olayından sonraki gün meydana gelen 20 cent'lık artıştan haberimiz ilk bizim olmuştu.&lt;br /&gt;&lt;br /&gt;Neyse uzatmiym... Bi dahaki makalede Database security(guvenlik) için Hashing(heşing, söylemesi bile zevkli) olayını işliycem...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112554561624181701?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112554561624181701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112554561624181701'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/09/oracle-ve-sql-server-arasinda.html' title='Oracle ve Sql Server Arasinda Kayboldum'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112525053375527601</id><published>2005-08-28T20:28:00.000+03:00</published><updated>2005-08-28T20:35:33.760+03:00</updated><title type='text'>C# ile XML Commentleri Kullanmak</title><content type='html'>Kodunuzu çok düzgün bir şekilde anlaşılır hale getirmek istiyorsanız C# dilini kullanan arkadaşlar için çok yararlı bir yöntem olan XML commentler yaratalım...&lt;br /&gt;&lt;br /&gt;XML comment'ler(açıklamalar) class, delegate, field, event, property ve method düzeyinde açıklamalar girmenize izin veriyor.&lt;br /&gt;&lt;br /&gt;XML comment'ler eklemek için, C# kodunuzda açıklama girmek istediğiniz ögenin bir satır üstüne giderek &lt;span style="color:#3333ff;"&gt;///&lt;/span&gt; yazın. 3. slash işaretini koyduğunuzda XML comment'ler bölümü otomatik olarak belirecektir;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;/// &lt;&gt;&lt;br /&gt;///&lt;br /&gt;/// &lt; /summary &gt;&lt;br /&gt;/// &lt; name="parametre1"&gt; &lt; /param &gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Örneğin class'ınız için summary bölümüne bir açıklama girebilirsiniz. Param elementi ise parametrenin ismini sizin yazdığınız method'dan alıyor ve oraya bir attribute olarak ekliyor. Daha sonra siz methodunuza ait parametreniz için de bir açıklama girebiliyorsunuz. Bir method için minimal bir XML açıklaması aşsağıdaki gibi olmalı;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;/// &lt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;/// Bu method Butun kontroller'i loop ederek&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;/// Textbox'larimin degerlerini kontrol edecek&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;/// &lt;/summary&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;/// &lt; name=""&gt; Form veya kontrol.&lt; /param &gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;private void TextboxKontrolu(Control parametre1)&lt;br /&gt; &lt;/span&gt;&lt;br /&gt;XML commenting aracı bunlardan hariç başka elementler kullanmanıza da izin vermekte. Örneğin;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Example:&lt;/span&gt; Methodun veya bir öğenin nasıl kullanılacağına dair bilgiler girmenizi sağlar.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Exception:&lt;/span&gt; Methodunuzda hangi istisna durumların oluşabileceğini belirtmenize yarar.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Returns:&lt;/span&gt; Methodunuzun geri vereceği değeri belirtmenize yarar.&lt;br /&gt;&lt;br /&gt;C# XML açıklamaları konusunda daha fazla bilgi için Visual Studio Help'deki "XML Documentation tütorial" başlığına da bir bakmanızı öneririm...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112525053375527601?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112525053375527601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112525053375527601'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/08/c-ile-xml-commentleri-kullanmak.html' title='C# ile XML Commentleri Kullanmak'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112510886100378890</id><published>2005-08-27T04:43:00.000+03:00</published><updated>2005-08-27T05:14:21.066+03:00</updated><title type='text'>.Net - Region Kullanimi ve Faydalari</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/dotnet21.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 70px; CURSOR: hand; HEIGHT: 57px; TEXT-ALIGN: center" height="70" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/dotnet21.gif" width="89" border="0" /&gt;&lt;/a&gt; &lt;span style="color:#ff0000;"&gt;Region Nedir?&lt;/span&gt;&lt;br /&gt;.Net programları için kod yazarken büyük ihtimalle "Windows Form Designer generated code" şeklindeki bölümlere rastlamışsınızdır. Bu sekmeli kod bölümlerine Region denir. Bütün kodunuz için regionlar yaratarak&lt;br /&gt;&lt;br /&gt;.Net aplikasyonunuz için yazdığınız bütün kodu tek seferde görmeyi sağlayabilirsiniz. Sadece size o anda gerekli olan kod regionlarını(bölgelerini) açık tutmak spesifik bölümlere konsantre olmanıza gerçektende yardımcı oluyor. Aynı şekilde sizden başka kodunuza bakacak olacak kişilerin de kodunuzu kolayca anlamalarını sağlayabilirsiniz.&lt;br /&gt;&lt;br /&gt;Kodunuzdan bir bölümü aşsağıdaki şekilde region içerisine alabilirsiniz; &lt;span style="color:#ff0000;"&gt;VB.Net&lt;/span&gt;&lt;br /&gt;#Region "Hesaplama Kodlarım"&lt;br /&gt;' bu bölümde kodlar yer alacak&lt;br /&gt;#End Region&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;C#&lt;/span&gt;&lt;br /&gt;#region Hesaplama Kodlarım&lt;br /&gt;// bu bölümde kodlar yer alacak&lt;br /&gt;#endregion&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/Region1.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" height="354" alt="" src="http://photos1.blogger.com/blogger/3068/1252/320/Region1.gif" width="367" border="0" /&gt;&lt;/a&gt;.Net kodunuzun içerisinde istediğiniz kadar region kullanabilirsiniz. Aynı şekilde region içerisinde region kullanarak sekmeli hale de getirebilirsiniz. Örneğin Private metodlar için bir region yaratip, her bir private metod için içerisinde ayrı bir region yaratmak güzel bir kullanım olabilir.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Not:&lt;/span&gt; Kod içerisinde arama yaparken o anda kapalı olan kod bölgeleri içerisinde de arama yapmak istiyorsanız "Search Hidden" kütücüğünü Find bölümünde işaretlemeyi unutmayın. Aksi takdirde Find(Arama) opearasyonu kapalı regionlar içerisine bakmayacaktir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112510886100378890?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112510886100378890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112510886100378890'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/08/net-region-kullanimi-ve-faydalari.html' title='.Net - Region Kullanimi ve Faydalari'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112510109583924800</id><published>2005-08-27T02:52:00.000+03:00</published><updated>2005-08-27T03:13:06.080+03:00</updated><title type='text'>String mi yoksa StringBuilder mi Kullanmali?</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/dotnet1.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 102px; CURSOR: hand; HEIGHT: 49px; TEXT-ALIGN: center" height="48" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/dotnet1.gif" width="115" border="0" /&gt;&lt;/a&gt;Özellikle SQL querylerini yazarken StringBuilder kullanımına alıştıktan sonra StringBuilder'ı her yerde kullanmaya başlamıştım. Şimdi çalıştığım yerde çoğu insanın string kullandığını görünce kafamda soru işaretleri oluştu ve StringBuilder ve string kullanımının farkına bi baktım. Sizlerle de paylaşayım...&lt;br /&gt;&lt;br /&gt;Stringler değişken değiller. Bir kez tanımlandıktan sonra tekrar değiştirilemiyorlar. Bu yüzden siz yarattığınız bir string'e aşsağıdaki şekilde olduğiu gibi başka bir string eklemek istediğinizde, yeni bir string yaratılarak eklemek istediğiniz string orjinal string'in üzerine ekleniyor. İlk yarattığınız string ise .Net Framework vasıtasıyla garbage collection'a ugrayarak yok ediliyor.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;VB.Net&lt;/span&gt;&lt;br /&gt;Dim sMesaj as String = "Bu kitabi"&lt;br /&gt;sMesaj &amp;= sKullaniciAdi&lt;br /&gt;sMesaj &amp;amp;= " satin aldi. "&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;C#&lt;/span&gt;&lt;br /&gt;string sMesaj = "Bu kitabi" ;&lt;br /&gt;sMesaj += sKullaniciAdi ;&lt;br /&gt;sMesaj += " satin aldi " ;&lt;br /&gt;&lt;br /&gt;String birleştirme işlemi .Net üzerinde optimize edilmiş bu yüzden ufak miktardakı(önerilen limiti belirteceğim) birleştirme işlemleri performansı olumsuz yönde etkilemiyor. .Net aplikasyonlarınızda string birleştirme işleminin performansa yan etkileri esas olarak çok fazla string birleştirme işlemini gerçekleştirmek istediğinizde ortaya çıkıyor.&lt;br /&gt;&lt;br /&gt;Yukarıdaki örnekler için performans'a çok önemli bir olumsuz etki yok. Ancak string birleştirme işlemi için önerilan limit 5. Daha fazlasına ihtiyacınız var ise StringBuilder class'ını kullanmanız uygun.&lt;br /&gt;&lt;br /&gt;Aynı şekilde yukarıdaki kodu aşsağıda belirtilen şekilde tek bir ifadede yazmış olsaydınız string birleştirme işlemi bir seferde yapılmış olacaktı ve performansa herhangi bir negatif etkisi olmayacaktı;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;VB.Net&lt;/span&gt;&lt;br /&gt;Dim sMesaj as String = "Bu kitabi" &amp; sKullaniciAdi &amp;amp; " satin aldi. "&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;C#&lt;/span&gt;&lt;br /&gt;string sMesaj = "Bu kitabi" + sKullaniciAdi + " satin aldi. " ;&lt;br /&gt;&lt;br /&gt;Ancak her zaman yukarıdaki gibi string birlestirme yapmak kod okunurluğu açısından pek pratik sonuçlar vermeyebiliyor.&lt;br /&gt;&lt;br /&gt;String birleştirme işlemleri için eğer 5 ve üzeri sayıdaki string'i birleştirmemiz söz konusu ise .Net aplikasyonlarımızda StringBuilder class'ını kullanmamız performans açısından daha avantajlı. Nedeni ise StringBuilder class'ının string benzeri, üzerinde değişiklik yapılabilen objeler yaratması. String'iniz üzerinde gerekli bütün değişiklikleri yaptıktan sonra StringBuilder objenizin değerini belirteceğiniz string değerine dönüştürebilirsiniz. Aşşağıda StringBuilder class'ını nasıl kullanabileceğinizi gösterdim;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;VB.Net&lt;/span&gt;&lt;br /&gt;Imports System.Text&lt;br /&gt;Dim sbMesaj As StringBuilder&lt;br /&gt;sbMesaj = New StringBuilder("Bu kitabi ")&lt;br /&gt;sbMesaj.Append(sKullaniciAdi)&lt;br /&gt;sbMesaj.Append(" satin aldi.")&lt;br /&gt;Dim sMesaj As String = sbMesaj.ToString&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;C#&lt;/span&gt;&lt;br /&gt;using System.Text&lt;br /&gt;StringBuilder sbMesaj = new StringBuilder("Bu kitabi ");&lt;br /&gt;sbMesaj.Append(sKullaniciAdi);&lt;br /&gt;sbMesaj.Append(" satin aldi.");&lt;br /&gt;string sMesaj = sbMesaj.ToString();&lt;br /&gt;&lt;br /&gt;Kodunuzda bir çok string birleştirme işlemi gerekli gibi gözüküyorsa daha iyi bir performans için StringBuilder class'ını kullanmayı tercih edin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112510109583924800?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112510109583924800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112510109583924800'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/08/string-mi-yoksa-stringbuilder-mi.html' title='String mi yoksa StringBuilder mi Kullanmali?'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112497855319624260</id><published>2005-08-25T16:59:00.000+03:00</published><updated>2005-08-25T17:02:33.206+03:00</updated><title type='text'>.Net Ipuclari - Conditional Operatorler</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/Net.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 92px; CURSOR: hand; HEIGHT: 54px; TEXT-ALIGN: center" height="83" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/Net.jpg" width="128" border="0" /&gt;&lt;/a&gt;Mantıksal operatörler olan And ve Or bildiğimiz gibi .Net aplikasyonlarimizda Boolean değerlerini kıyaslamak için kullanılır ve sonuç olarakta yine bir boolean değeri bize geri verirler.&lt;br /&gt;&lt;br /&gt;Size göstermek istediğim, ufak bir değişiklikle kod performansınızı nasıl arttırabileceğiniz ve belkide tam olarak nedenini bilmediğiniz ama kullanmakta olduğunuz &amp; veya &amp;amp;&amp; , veya gibi işaretlerin boolean kıyaslamalarda birbirinden farkının ne olduğu.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;VB.Net Syntax&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;x AndAlso y&lt;/span&gt; --&gt; her zaman x'in boolean değerine bakar ve y'nin boolean değerine sadece x'in boolean değeri true ise bakar. (VB.Net)&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;x OrElse y&lt;/span&gt; --&gt; her zaman x'in boolean değerine bakar ve y'nin boolean değerine sadece x'in boolean değeri false ise bakar. (VB.Net)&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;C# Syntax&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;x &amp;amp;&amp; y&lt;/span&gt; --&gt; her zaman x'in boolean değerine bakar ve y'nin boolean değerine sadece x'in boolean değeri true ise bakar.(C#)&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;x &amp;amp; y&lt;/span&gt; --&gt; her zaman x'in boolean değerine bakar ve y'nin boolean değerine sadece x'in boolean değeri false ise bakar. (C#)&lt;br /&gt;&lt;br /&gt;&amp;&amp;amp; (C#) ve AndAlso (VB.Net) tarzı operatörlere kısa devre(&lt;span style="color:#ff0000;"&gt;short-circuiting&lt;/span&gt;) operatörler denir. Ve 2. boolean statement'ini sadece ilk statement true boolean değeri verirse kontrol edilir, aksi takdirde 2. boolean statement'a bakmaya zaman harcanmaz.&lt;br /&gt;&lt;br /&gt;Mümkün olduğunca short-circuiting operatörler kullanmanız yazdığınız .Net aplikasyonlarınızdaki işlem süresinden(execution time) tasarruf etmenizi sağlayarak performansınızı arttıracaktir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112497855319624260?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112497855319624260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112497855319624260'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/08/net-ipuclari-conditional-operatorler.html' title='.Net Ipuclari - Conditional Operatorler'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112481693359799556</id><published>2005-08-23T20:05:00.000+03:00</published><updated>2005-09-13T22:08:28.223+03:00</updated><title type='text'>Microsoft TechEd 2005 Presentasyonlari Burada</title><content type='html'>Microsoft'un TechEd 2005 seminerlerini kaçırdım diye üzülmeyin... Hepsine internetten ulaşabilip seminerlerdeki prezentasyonları &lt;a href="http://msdn.microsoft.com/asp.net/community/events/teched2005/default.aspx" target="_blank"&gt;&lt;span style="color:#ff0000;text-decoration:none;"&gt;buradan&lt;/span&gt;&lt;/a&gt; izleyebiliyorsunuz.&lt;br /&gt;&lt;br /&gt;Benim ilgimi çekenler seminerler şunlardı;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;WEB320 ASP.Net&lt;/span&gt; - Asp.Net 1.x aplikasyonlarınızı Asp.Net 2.0'a geçirmek için teknikler ve en iyi yöntemler.&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;WEB323 ve WEB324 ASP.Net 2.0&lt;/span&gt; - ASP.Net 2.0'a Genel Bakış&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;WEB325 ASP.Net 2.0&lt;/span&gt; - ASP.Net 2.0 ile Data Centric(veritabanına dayalı) Web Aplikasyonları Yaratmak&lt;br /&gt;&lt;br /&gt;Bunlardan hariç daha pek çok presentasyona ve kod örneklerine ulaşabiliyorsunuz. Visual Studio 2005 ve ASP.Net 2.0 , IIS 6.0, Web Application Security ve Visual Studio Team System ile ilgilenen yazılımcı arkadaşlara bakmalarını öneririm. Malum, buradaki bilgiler bu işin membasından geliyor... :)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/asp.net/community/events/teched2005/default.aspx" target="_blank"&gt;&lt;span style="TEXT-DECORATION: none;font-size:85%;color:#ff0000;"  &gt;Microsoft TechEd Presentasyonlari&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;Presentasyonlarin hepside cok guzel hazirlanmis.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112481693359799556?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112481693359799556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112481693359799556'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/08/microsoft-teched-2005-presentasyonlari.html' title='Microsoft TechEd 2005 Presentasyonlari Burada'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112474467038431439</id><published>2005-08-22T23:55:00.000+03:00</published><updated>2005-08-23T00:06:29.640+03:00</updated><title type='text'>ASP.NET 2.0 - Database Connection String'i Korumak</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/quickstart.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/quickstart.gif" border="0" /&gt;&lt;/a&gt;Ana kural, Asp.Net 2.0 aplikasyonlarınızda database bağlantı bilgilerinizi(Ör: &lt;span style="color:#ff0000;"&gt;"Server=192.168.0.16;Database=pubs;User ID=sa;Password=asdasd;Trusted_Connection=False"&lt;/span&gt; ) Web.config dosyasının içerisinde &lt;span style="color:#3366ff;"&gt;connectionStrings&lt;/span&gt; &lt;span style="color:#3366ff;"&gt;&lt;connectionstrings&gt;&lt;/span&gt;bölümünde saklamaktır. Sonrasında ise veritabanı bilgilerinizi daha fazla güvenlik altına almak için bu bölümü encrypt edebilirsiniz.&lt;br /&gt;&lt;br /&gt;ConnectionStrings bölümünü encrypt etmek için Programs(Programlar)-&gt;Run(Calistir)-&gt; &lt;span style="color:#ff0000;"&gt;aspnet regiis -pe "connectionStrings" -app "/MachineDPAPI" -prov "DataProtectionConfigurationProvider" &lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;-pe&lt;/span&gt; attribute'ı hangi konfigürasyon satırının encrypt edileceğini bildirir&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;-app&lt;/span&gt; attribute'ı web aplikasyonunuzun sanal dizinini bildirir.&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#ff0000;"&gt;-prov&lt;/span&gt; attribute'ı veri korumasını sağlayan modülün adının bildirir (Tek bir server da host edilen web aplikasyonları için örnekte verdiğim sağlayıcıyı kullanmanız yeterli olacaktır.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112474467038431439?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112474467038431439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112474467038431439'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/08/aspnet-20-database-connection-stringi.html' title='ASP.NET 2.0 - Database Connection String&apos;i Korumak'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112466535847324536</id><published>2005-08-22T01:57:00.000+03:00</published><updated>2005-09-13T22:09:32.006+03:00</updated><title type='text'>SQL Server - Referential Integrity Meselesi - 2</title><content type='html'>Bir &lt;a href="http://teknoturk.blogspot.com/2005/08/sql-server-referential-integrity.html" target="_blank"&gt;&lt;span style="color:#ff0000;text-decoration:none;"&gt;önceki makalede &lt;/span&gt;&lt;/a&gt;Referential Integrity'nin ne olduğunu ve SQL Server'in Referential Integrity konusu hakkında nasıl bir tutum izlediğini özetlemiştik. Bu devam niteliği taşıyan makalede ise bu konuya kod örneğiyle bakacağız.&lt;br /&gt;&lt;br /&gt;SiparişAyrıntıları tablosunu yaratırken kullanacağımız SQL syntax'ında şu şekilde Siparişler tablosunu referans göstereceğiz.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;CREATE TABLE SiparisAyrintilari(SiparisID int PRIMARY KEY CONSTRAINT FK SiparisAyrintilari Siparisler FOREİGN KEY REFERENCES Siparisler (SiparisID) ON DELETE no action ON UPDATE CASCADE, Ayrintilar varchar(100))&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;br /&gt;&lt;/span&gt;SQL Server 2000, veri modifikasyonu işlemleri esnasında kullanıcının veriyi değiştirmesini engellemek yerine bazı farklı seçenekler de sunmaktadır.&lt;br /&gt;UPDATE VE DELETE işlemleri için 4 çeşit değişik eylem opsiyonu bulunmakta. Bunlar;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;NO ACTION&lt;/span&gt; (Modifikasyonu engerller)&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;CASCADE&lt;/span&gt; (Referens gösteren tablodaki bütün ilişkili değerleri de modifiye eder. Silme işlemi de dahil)&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;SET DEFAULT&lt;/span&gt; (Modifikasyona izin verir ancak referans gösteren tablodaki bütün foreign key değelerini bir default değere eşitler.)&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;SET NULL&lt;/span&gt; (Modifikasyona izin verir ancak referans gösteren tablodaki bütün foreign key değelerini NULL'a eşitler.)&lt;br /&gt;&lt;br /&gt;Örneğin Siparisler tablosundan herhangi bir siparişin silinmesi durumunda SiparisAyrıntıları tablosundan da o siparişle ilgili herşeyin silinmesini sağlayabilirsiniz. Bu yapmak için Sipariş Ayrtınları Tablosunda DELETE opsiyonu üzerinde CASCADE opsiyonunu aktif hale getirmeniz gerekir. Bu şekilde Siparişler tablosundaki verileri herhangi bir veri kısıtlamasına(data constraint) sebep olmadan silebilirsiniz.&lt;br /&gt;&lt;br /&gt;Not: Bu işlemler sadece referans gösterilmiş olan tablo üzerinde yapılacak olan değişiklikler için geçerlidir. Referans gösteren tablo üzerinde yapacağınız değişiklikler için tek bir opsiyonunuz var o da foreign key sütununa girilecek verinin referans gösterilmiş olan tablodaki değerlerle denk olması. Aksi takdirde SQL Server yapılmak istenen değişikliğe izin vermeyecektir.&lt;br /&gt;&lt;br /&gt;Foreign Key Constraint'ini ihlal etmeye kalkıştığınızda göreceğiniz hata mesajlarından bazı örnekler;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;INSERT Denemesi Örneği Hata Mesajı;&lt;br /&gt;&lt;/span&gt;INSERT statement conflıcted with COLUMN FOREIGN KEYconstraint 'FK SiparisAyrintilari Siparisler SiparisID'. The conflict occurred indatabase 'pubs', table 'Siparisler', column 'SiparisID'.&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;DELETE Denemesi Örneği Hata Mesajı;&lt;br /&gt;&lt;/span&gt;DELETE statement conflicted with COLUMN REFERENCE constraint'FK SiparisAyrintilari Siparisler SiparisID'. The conflict occurred in database 'pubs', table 'SiparisAyrintilari', column 'SiparisID'.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://teknoturk.blogspot.com/2005/08/sql-server-referential-integrity.html" target="_blank"&gt;&lt;span style="TEXT-DECORATION: none;font-size:85%;color:#ff0000;"  &gt;Önceki Referential Integrity makalesi &lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#000000;"&gt;Önceki makaleden baslamanizi oneririm...&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112466535847324536?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112466535847324536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112466535847324536'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/08/sql-server-referential-integrity_22.html' title='SQL Server - Referential Integrity Meselesi - 2'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112447205334967710</id><published>2005-08-19T20:18:00.000+03:00</published><updated>2005-08-19T20:48:31.756+03:00</updated><title type='text'>SQL Server - Referential Integrity Meselesi</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/sql2.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/sql2.gif" border="0" /&gt;&lt;/a&gt;Relational database'lerde tablolar arasındaki mantiksal ağları kurmak ve uygulamaya koymak temel gereksinimler arasındadır. Bu tür mantıksal bağlara sahip veriler için bu veri referantial integrity'e(bütünlüğü bulunan-tam) sahip veri deniyor.&lt;br /&gt;&lt;br /&gt;Peki Referantial Integrity nedir?&lt;br /&gt;Bir tablo başka bir tablo tarafından referans olarak gösterilebilir ve bu durumda referans gösteren tablodaki değerler referans gösterilen tablodaki verilerle eşit olmak zorundadır. Bazen bu tür ilişkiye parent-child(aile-çocuk) ilişkisi denir.&lt;br /&gt;&lt;br /&gt;SQL Server referantial integrity sizin belirleyeceğiniz foreign key'ler aracılığıyla otomatik olarak aktif hale getirebilir.&lt;br /&gt;&lt;br /&gt;Örneğin Siparisler ve SiparisAyrintilari şeklinde 2 adet birbiriyle ilişki halinde olan tablomuz bulunsun. Siparişler tablosunda SiparişID'si Primary Key olacak ve her siparişi bu key'e bakarak ayrıştırabilmemizi sağlayacaktir. (Not: Primary Key'ler eşsiz(unique) olmak zorundadır.)&lt;br /&gt;SiparişAyrıntıları tablomuzdada SipairsID'si bulunacak ancak bu sütün bu tabloda Foreign Key olarak Siparişler tablosunu referans olarak gösterecek ve Siparişler tablosundaki değerlerle eşleştirme sağlayacak. Bu örnekte Siparişler tablosu Referans gösterilen, SiparişAyrıntıları tablosu ise referans gösterendir.&lt;br /&gt;&lt;br /&gt;Eğer Siparişler ve SiparişAyrıntıları tabloları arasında bir foreign key constraint oluşturursanız, SQL Server bu iki tabloda yapılan her modifikasyonu inceleyerek bu tablolardan birinin tablolar arasındaki ilişkiyi bozup bozmadığına bakacaktir.&lt;br /&gt;&lt;br /&gt;Örneğin, Siparişler tablosundan bir siparişi silmeye kalkışırsanız ve de silinmeye calışılan siparişe ait SiparişID'si hala SiparişAyrıntıları tablosunda bulunuyorsa, silme işlemi referential integrity constraint'e sebep olacaktir. Siparişler tablosunda SiparişID'si sütununda yapılan bir değişiklik SiparişAyrıntıları tablosunda değiştirilmezse yine bir ihlal şeklinde değerlendirilecektir. SQL Server SiparişAyrıntıları tablosuna yapılan bütün yeni girişleri kontrol ederek SiprisID'sinin Siparişler tablosunda da bulunduğunu kontrol eder.&lt;br /&gt;&lt;br /&gt;Gelecek makalede kod örnekleriyle ayrıntılı olarak bu konunun devamını işleyeceğim...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112447205334967710?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112447205334967710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112447205334967710'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/08/sql-server-referential-integrity.html' title='SQL Server - Referential Integrity Meselesi'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112438180594229667</id><published>2005-08-18T19:11:00.000+03:00</published><updated>2005-08-18T19:24:00.136+03:00</updated><title type='text'>SQL - Problem ve Cozumu</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/SQL1.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" height="58" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/SQL1.gif" width="80" border="0" /&gt;&lt;/a&gt;Dün bi proje için ASP.Net ile yazdığım bir web aplikasyonu için Datagrid hazırlıyordum. DataGrid'e girilecek raporlar için her ayın örneğin 30 veya 31 inden sonra yeni giriş yapılmasını engellemem gerekiyordu. SQL Server veritabanında Transact SQL kullanarak bunu nasıl yaparız bi bakalım...&lt;br /&gt;&lt;br /&gt;Örneğin kullanıcın girdiği ilk entry için GünId değeri 1 olacaktir. Önceki bir &lt;a target="_blank" href="http://teknoturk.blogspot.com/2005/08/sql-server-veritabani-ipuclari-2.html"&gt;makale&lt;/a&gt;'de en üstteki değeri nasıl seçebileceğinizi yazmıştım. (Örnek: &lt;span style="color:#ff0000;"&gt;SELECT TOP 1 * FROM OrnekTablo&lt;/span&gt; - bize en üstteki değeri verecektir).&lt;br /&gt;&lt;br /&gt;Peki ya SQL ile o tablodaki en alttaki değeri almak istiyorsak? (SELECT BOTTOM diye birşey yok merak ettiyseniz.) Bana lazım olan örneğin en son girilen GunId'si 31 ise onu almaktı. Şu şekilde gerçekleştirdim...&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;SELECT TOP 1 DayId FROM OrnekTablo&lt;/span&gt; &lt;span style="color:#3366ff;"&gt;ORDER BY DESC&lt;/span&gt;&lt;br /&gt;Böylece liste tersten sıralanmış olarak verilecek ve doğal olarakta en üstteki 1. değer en son girilen değer olmuş olacak(31'inci gün mesela). (@@identity değerini kullanmak işinizi görüyorusa onu da kullanabilirsiniz.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112438180594229667?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112438180594229667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112438180594229667'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/08/sql-problem-ve-cozumu.html' title='SQL - Problem ve Cozumu'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112421776322022368</id><published>2005-08-16T21:26:00.000+03:00</published><updated>2005-08-16T21:42:43.226+03:00</updated><title type='text'>Ucretsiz Database Hosting Hizmeti</title><content type='html'>Eğer şu andaki hosting firmanız size database opsiyonlarını ücretsiz sunamıyorsa veya biraz MYSQL üzerinde alıştırmalar yaparak veritabanı ile programlamayı öğrenmek istiyorsanız artık yanlız değilsiniz.&lt;br /&gt;&lt;br /&gt;Bedava database hosting hizmetine &lt;a target="_blank" href="http://www.freesql.org"&gt;&lt;span style="color:#ff0000;"&gt;FreeSQL.Org&lt;/span&gt; &lt;/a&gt;adresinden basvuru formunu doldurarak ulaşabilirsiniz.&lt;br /&gt;&lt;br /&gt;Site yakında Oracle, Sybase, DB2 gibi veritabanı hosting hizmetlerini de bedava sunmaya başlamayı hedefliyor.&lt;br /&gt;&lt;br /&gt;Biraz SQL öğrenmek ve database tabanlı .Net uygulamaları geliştirip test edebilmek için bulunmaz fırsat bence...&lt;br /&gt;&lt;br /&gt;Adres:&lt;br /&gt;&lt;a target="_blank" href="http://www.freesql.org"&gt;&lt;span style="color:#ff0000;"&gt;www.freesql.org&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112421776322022368?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112421776322022368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112421776322022368'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/08/ucretsiz-database-hosting-hizmeti.html' title='Ucretsiz Database Hosting Hizmeti'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112419953035206244</id><published>2005-08-16T16:36:00.000+03:00</published><updated>2005-08-16T21:46:56.006+03:00</updated><title type='text'>2006 Yilinda Piyasada Olacak Islemciler</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/intel_amd.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 86px; CURSOR: hand; HEIGHT: 71px; TEXT-ALIGN: center" height="125" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/intel_amd.gif" width="160" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Intel Xeon DP(Dempsey) (1. Çeyrek)&lt;/span&gt;&lt;br /&gt;Çift çekirdekli masaüstü ve server işlemcisi. (65 nanometre yöntemi kullanılmış) 2,066 MHZlik front side bus hızına sahip! ve 2 adet, 2 megabytelik L2 cache bellek içerecek.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Intel Xeon MP (Paxville) (1. Çeyrek)&lt;br /&gt;&lt;/span&gt;Çift çekirdekli Desktop ve server işlecisi. (90 nanometre yöntemi kullanılmış). Her çekirdek 1,066 Mhz'lik front side bus'a sahip.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Intel Pentium M (Yonah) (1. Çeyrek)&lt;/span&gt;&lt;br /&gt;İlk çift çekirdekli mobil işlemci (Benim favorim olucak bu) 65 nm'lık yöntem kullanılmış. 667 Mhzlik front side bus içeriyor ve 2 MB'lik L2 Cache bellege sahip.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Intel Pentium D 9xx (Presler)(2. Çeyrek)&lt;/span&gt;&lt;br /&gt;65 nm'lık yöntemle üretilmiş, 2 adet 2 MB'lik L2 cache bellek içeriyor. 2 çekirdek sadece kendilerine ayrılmış olan 800 MHZ'lik front side bus üzerinden bilgi alış verişi yapacak.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Intel Sossaman (2. Çeyrek)&lt;/span&gt;&lt;br /&gt;Çift çekirdekli mobil işlemci teknolojisi üzerine kurulmuş. Mainframelere göre daha hesaplı çözüm olan Blade Server'lar için uygun bir çözüm opsiyonu olarak piyasaya sürülecek.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;AMD Athlon 64 FX (Windsor) (2. Çeyrek)&lt;/span&gt;&lt;br /&gt;90 nm teknolojisi üzerine kurulmuş. DDR2 667 desteği ve 2 megabyte lik L2 cache bellek içerecek.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;AMD Athlon XP-M (Trinidad) (3. Çeyrek)&lt;/span&gt;&lt;br /&gt;Laptoplar için AMD'den çift çekirdekli bir mobil işlemci. DDR2 667 bellek desteği içerecek.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;AMD Taylor (3. Çeyrek)&lt;/span&gt;&lt;br /&gt;AMD'den hafif ve ince laptoplar için DD2 667 bellek desteği olan çift çekirdekli mobil işlemci.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Intel Conroe (4. Çeyrek)&lt;/span&gt;&lt;br /&gt;Çift çekirdekli ve 64 bit mimarisini destekleyen desktop işlemcisi.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Intel Merom (4. Çeyrek)&lt;/span&gt;&lt;br /&gt;Çift çekirdekli 65nm teknolojisi üzerine kurulu mobil işlemci. Yonah teknolojisinin takipçisi olarak gözüküyor. Yonah'tan farklı olarak bu işlemci ile genişletilmiş bellek desteği sunulacakmış .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112419953035206244?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112419953035206244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112419953035206244'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/08/2006-yilinda-piyasada-olacak.html' title='2006 Yilinda Piyasada Olacak Islemciler'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112390654849050901</id><published>2005-08-13T07:03:00.000+03:00</published><updated>2005-08-13T07:15:48.496+03:00</updated><title type='text'>Microsoft'tan Yeni Sertifika Programlari</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/MCAD_MCSD.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/MCAD_MCSD.jpg" border="0" /&gt;&lt;/a&gt; Microsoft yazılımcılara ve veritabanı yöneticilerine yönelik sertifika programlarını Visual Studio 2005 ve SQL Server 2005'in Kasım ayında piyasaya girmesiyle yenilemeye hazırlanıyor.&lt;br /&gt;&lt;br /&gt;Yeni değişiklikler programları 3'er ayrı kategoriye bölecekmiş.&lt;br /&gt;&lt;br /&gt;Visual Studio .Net 2005 için yazılımcılar Web, Windows veya distributed ortamda uzmanlıklarını kanıtlayacak sertifikalara sahip olabilecekler.&lt;br /&gt;&lt;br /&gt;SQL Server 2005 için ise, veritabanı uzmanları Database Administrator, Database Developer veya Business Intelligence Developer başlıkları altında 3 ayrı kategoride uzmanlıklarını kanıtlayacak sertifikalara sahip olabilecekler.&lt;br /&gt;&lt;br /&gt;Sertifika sınavlarında herhangi bir fiyat değişikliği yapılmayacakmış. Microsoft'un SQL Server 2005 ve Visual Studio 2005 için düzenlenen yeni sertifika programlarıyla ilgili daha fazla açıklamayı sonbaharda bu ürünler piyasaya sürülmeden yapması bekleniyormuş.&lt;br /&gt;&lt;br /&gt;MCAD .Net veya MCSD .Net sertifikalarına hazırlanan arkadaşlar varsa bence biraz işleri hızlandırmaları iyi olabilir. Sonra sınavları sonlandırmaya felan kalkabilirler yeni sınavlar piyasaya girince...&lt;br /&gt;&lt;br /&gt;Eğer henüz MCAD veya MCSD için hiç bir sınava girmediyseniz ancak hevesiniz var ise, hemen yeni bir beta sürümü Visual Studio edinmenizi ve C# veya VB.Net ile ASP.Net 2.0 ve öğrenmenizi ve hiç .Net framework 1.x üzerine zaman harcamamanızı öneririm... Her zaman teknolojiyi yakından takip etmeye devam edin...&lt;br /&gt;&lt;br /&gt;Visual Studio 2005'i download veya sipariş etmek için;&lt;br /&gt;&lt;a href="http://lab.msdn.microsoft.com/vs2005/get/"&gt;&lt;span style="color:#ff0000;"&gt;http://lab.msdn.microsoft.com/vs2005/get/&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112390654849050901?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112390654849050901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112390654849050901'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/08/microsofttan-yeni-sertifika.html' title='Microsoft&apos;tan Yeni Sertifika Programlari'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112377458483741795</id><published>2005-08-11T18:32:00.000+03:00</published><updated>2005-08-12T16:53:33.310+03:00</updated><title type='text'>AJAX Destegi Geliyor</title><content type='html'>Microsoft AJAX teknolojisinin sağladıklarının önemini farketmekte geç kalmamış ve Atlas kod adlı bir programlama aracı üretiyormuş şu anda. Atlas, Visual Studio .Net kullanıcılarının Ajax kullanarak aplikasyonlar üretmelerini sağlıyacak.&lt;br /&gt;&lt;br /&gt;Ajax'ın en önemli özelliği web sayfalarının arka planda dinamik olarak yenilenmesine izin vermesi ve kullanıcılara yeni bilgileri çok kısa sürede sayfayı yenilemeye gerek kalmadan aktarabilmesi. Web ile alakalı şirketler AJAX kullanarak müşterilerine sunabileceklerinin ötesine gitmeyi amaçlıyor.&lt;br /&gt;&lt;br /&gt;Ajax, web tabanlı yazılımların sanki kullanıcının kendi bilgisayarında çalışıyormuşcasına isteklere çabuk cevap verebilmesini sağlıyor.&lt;br /&gt;&lt;br /&gt;Yahoo'nun satın aldığı fotoğraf paylaşım sitesi Flickr da web sitelerinin büyük bir bölümünü Macromedia Flash kullanımını bırakıp AJAX teknolojisi kullanımına geçmiş.Aynı zamanda&lt;br /&gt;&lt;br /&gt;Yahoo, mail servisinde de önemli değişiklikler hazırlıyor. En büyük rakiplerinden olan Gmail'in hızına yetişebilmek için Oddpost Inc. adlı Ajax e-mail çözümleri üreten firmayı bünyesine katarak mail servisini geliştirmeye çalışıyor.&lt;br /&gt;&lt;br /&gt;Diğer bir büyük şirket ise ünlü uçak rezervasyon şirketi Sabre holding. Onlarda web aplikasyonlarının yanıt süresini dakikalardan milisaniyelere düşürebilmek için Ajax teknolojisini şu anda yazılımları üzerinde test ediyor.&lt;br /&gt;&lt;br /&gt;Ajax'in içerdiği teknolojiler Javascript, Dynamic HTML, ve XMLHttpRequest. Şu anda piyasada AJAX ile bir web yazılımı üretmeye yönelik herhangi bir araç bulunmaması web yazılımcıların hızını kesen etkenlerden. Ancak Microsoft gibi firmaların önünü açmasıyla eminim ileriki günlerde çok daha fazla AJAX tabanlı yazılım piyasada göreceğiz.&lt;br /&gt;&lt;br /&gt;Google, kendi çalışanları için kendi ürettikleri bir AJAX programlama aracı kullanıyormuş...&lt;br /&gt;&lt;br /&gt;Ajax örnekleri arıyorsanız;&lt;br /&gt;&lt;a target="_blank" href="http://www.clearnova.com/ajax/index.html"&gt;&lt;span style="color:#ff0000;"&gt;http://www.clearnova.com/ajax/index.html&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Önceki AJAX ile ilgili makaleyi okumak için.&lt;br /&gt;&lt;a target="_blank" href="http://teknoturk.blogspot.com/2005/07/ajax-nedir-ne-deildir.html"&gt;&lt;span style="color:#ff0000;"&gt;http://teknoturk.blogspot.com/2005/07/ajax-nedir-ne-deildir.html&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112377458483741795?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112377458483741795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112377458483741795'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/08/ajax-destegi-geliyor.html' title='AJAX Destegi Geliyor'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112368743328230863</id><published>2005-08-10T18:19:00.000+03:00</published><updated>2005-08-10T18:23:53.286+03:00</updated><title type='text'>Kod Guvenligi</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/codeassure_wb.gif"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/codeassure_header.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/codeassure_header.gif" border="0" /&gt;&lt;/a&gt; Yazılım dünyasında uğraş veriyorsanız ve yazdığınız kodun ne kadar güvenli olduğunu merak ediyorsanız artık yazdığınız koddaki güvenlik açıklarını tespit etmenize yarayacak çözümler var.&lt;br /&gt;Secure Software adlı bir firmanın CodeAssure ürünü adlı kodunuzu otomatik olarak güvenlik açıkları için test ediyor.&lt;br /&gt;&lt;br /&gt;Programın 2 modülü var;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;CodeAssure WorkBench&lt;/span&gt;&lt;br /&gt;Otomatik olarak kodunuzdaki güvenlik açıklarını bulmanıza yarayan modül.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;CodeAssure Integrator&lt;/span&gt;&lt;br /&gt;Kodunuzdaki savunma açıklarının testini build etme, test etme ve de kalite kontrol işlemleriyle birleştiriyor.&lt;br /&gt;&lt;br /&gt;CodeAssure, C++, C# ve Java gibi programlama dilleriyle beraber çalışıyor ve hem Windows hemde Linux ortamını destekliyor.&lt;br /&gt;&lt;br /&gt;Bu arada, Microsoft'taki dedikodulara göre Visual Studio 2005 ile bu ürüne benzer bir ürün olan Dev-İnspect ve Secure Objects adlı iki ürün entegre olarak gelecek ve .Net Framework tabanlı yazılım üreten programcıların daha güvenli kod üretebilmeleri sağlanacak.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112368743328230863?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112368743328230863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112368743328230863'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/08/kod-guvenligi.html' title='Kod Guvenligi'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112352909120618048</id><published>2005-08-08T22:23:00.000+03:00</published><updated>2005-08-08T22:25:16.753+03:00</updated><title type='text'>Session State ve ViewState</title><content type='html'>Başlangıç seviyesindeki ASP.net programcılarının büyük ihtimalle kafasını kurcalayan en büyük sorulardan biri de ne zaman Session State ne zaman View State kullanmaları gerektiğidir.&lt;br /&gt;&lt;br /&gt;Bu konuya en efektif şekilde nasıl yaklaşılması gerektiğine bakalım;&lt;br /&gt;&lt;br /&gt;Büyük boyuttaki veri konteynerleri için(Ör:datagrid) her zaman ViewState kullanmaktan kaçının. Çünkü ViewState kullanımı sayfa boyutunuzu şişirecek ve de size server'dan geri gönderilen cevabın ulaşma süresini uzatacaktir.&lt;br /&gt;&lt;br /&gt;Önemli bilgileri saklamak istediğinizde ViewState kullanımından kaçının ve Session State'i tercih edin. Her ne kadar ViewState'te saklanan veriler opsiyonel olarak encrypt edilebilse de verilerinizin en güvenli hali kullanıcıların makinalarına ulaşmamış halidir. Bu yüzden Session State çok daha güvenli bir çözüm sunar.&lt;br /&gt;&lt;br /&gt;Çoğu obje ViewState için serialize edilmemiştir ve de büyük boyutlarda ViewState'lere yol açarak sayfalarınızın performansını düşürebilir. (Ör: ViewState içerisinde DataSet saklamak )&lt;br /&gt;&lt;br /&gt;Sayfa boyutlarını çok şişirmeyeceğinden emin olduğunuz veri tipleri için (Or: herhangi bir string, bir değişken, array vs.) ViewState kullanmayı tercih edebilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;ViewState nedir?&lt;/span&gt;&lt;br /&gt;Viewstate, herhangi bir asp.net sayfanızda postback'ler arasında kaybetmek istemediğiniz verileri saklamanıza yarayan bir asp.net konteyneridir.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Session State Nedir?&lt;/span&gt;&lt;br /&gt;Session, herhangi bir kulanıcının web aplıasyonunuzla interaktif olarak iletişim halinde kaldığı süreçtir. Session State'i ise, bu süreç süresince, içerisinde veri saklayabileceğiniz bir konteyner gibi düşünebilirsiniz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112352909120618048?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112352909120618048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112352909120618048'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/08/session-state-ve-viewstate.html' title='Session State ve ViewState'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112329152461098352</id><published>2005-08-06T01:19:00.000+03:00</published><updated>2005-08-06T07:14:44.193+03:00</updated><title type='text'>Asp.NET Sayfalarinizi Hizlandirin</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/aspnet.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/aspnet.gif" border="0" /&gt;&lt;/a&gt;Asp.Net sayfalarınızı bir çok şekilde şimdikinden daha hızlı hale getirmeniz mümkün.&lt;br /&gt;&lt;br /&gt;Başlıca yapılabilecekleri sıralamak gerekirse;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Gereksiz PostBack'leri temizleyin.&lt;/span&gt;&lt;br /&gt;Zamanınız olursa ve javaşcript'e hakimseniz AJAX konusunu bir inceleyin(postbackleri elimine etmenize yarıyor).&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Outputları Cache'de saklamayı öğrenin.&lt;/span&gt;&lt;br /&gt;Asp.Net sayfalarınızda çaching kullanmanız gereksiz server trafiğini ve sayfa işlemlerini engelleyecektir.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Statik bilgiler için gereksiz yere Asp.Net Web Kontrolü kullanımından kaçının.&lt;/span&gt;&lt;br /&gt;HTML kullanın, o ne güne duruyor?&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;ViewState'lerin boyutlarını limitleyin.&lt;/span&gt;&lt;br /&gt;Eğer ViewState kullanmıyorsanız tamamiyle kapatin.Özellikle Datağridler, Repeaterlar, DataList ve Gridviewler çok büyük boyuta ulaşabiliyor.)&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Kullandığınız grafikleri optimize edin.&lt;/span&gt;&lt;br /&gt;Biraz photoshop bilmek zarar getirmez :)&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Table yerine CSS kullanın.&lt;br /&gt;&lt;/span&gt;Sayfa düzenini ayarlamak için tablelar kullanmak yerine CSS kullanın, sayfalarınız çok daha çabuk yüklenecektir.&lt;br /&gt;&lt;br /&gt;Sayfalarınızda meydana gelebilecek olağan dışı performans artışından sorumluluk kabul etmiyorum :)&lt;br /&gt;&lt;br /&gt;AJAX konusu için eski makaleye&lt;span style="color:#ff0000;"&gt; &lt;/span&gt;&lt;a href="http://teknoturk.blogspot.com/2005/07/ajax-nedir-ne-deildir.html" target="_blank"&gt;&lt;span style="color:#ff0000;"&gt;buradan &lt;/span&gt;&lt;/a&gt;bakabilirsiniz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112329152461098352?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112329152461098352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112329152461098352'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/08/aspnet-sayfalarinizi-hizlandirin.html' title='Asp.NET Sayfalarinizi Hizlandirin'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112329540684644868</id><published>2005-08-06T01:00:00.000+03:00</published><updated>2005-08-06T07:13:42.236+03:00</updated><title type='text'>AJAX Teknolojisinin Gelecegi</title><content type='html'>Google'ın birçok ürününde kullanmasıyla popülaritesi oldukça artan AJAX teknolojisi bugünlerde ileri seviye yazılımcılar tarafından büyük oranda benimsenmeye başladı.&lt;br /&gt;&lt;br /&gt;Ortada bulunan sorun ise son kullanıcının elindeki bazı browserların halen AJAX'in dayandığı XmlHttp'yi desteklememesi. Bu yüzden eski browser'lar AJAX teknolojisi kullanan web aplikasyonlarının avantajlarından yoksun kalıyorlar.&lt;br /&gt;&lt;br /&gt;Bir diğer sorun ise Internet Explorer'in AJAX'a ActiveX aracılığıyla destek vermesi ki, bazı kullanıcılar güvenliklerini sağlama almak için bu özelliği browserlarında kapalı tutuyorlar.&lt;br /&gt;Ajax'in postback'e gerek kalmadan sayfadaki verileri yenileyebilmesi gibi pek çok güzel özelliği bulunmasına rağmen önündeki engeller henüz birincil web teknolojisi olmasını engelleyecek gibi gözüküyor.&lt;br /&gt;&lt;br /&gt;AJAX, son kullanıcı tarafından kullanışlı arabirim sunması sebebiyle çok benimsenmiş durumda.(Ör: Gmail, Google Maps, Outlook Web Access vs.)&lt;br /&gt;&lt;br /&gt;Sonuç olarak önündeki browser engelleri aşıldığı takdirde kısa sürede daha büyük bir oranda yazılımcı tarafından benimseneceğine şüphe yok.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;AJAX Nedir?&lt;/span&gt;&lt;br /&gt;&lt;a href="http://teknoturk.blogspot.com/2005/07/ajax-nedir-ne-deildir.html" target="_blank"&gt;&lt;span style="color:#ff0000;"&gt;Buradan&lt;/span&gt;&lt;/a&gt; önceki AJAX ile ilgili makaleyi okuyun.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112329540684644868?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112329540684644868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112329540684644868'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/08/ajax-teknolojisinin-gelecegi.html' title='AJAX Teknolojisinin Gelecegi'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112325160329353082</id><published>2005-08-05T17:15:00.000+03:00</published><updated>2005-08-05T17:23:17.953+03:00</updated><title type='text'>Gelecekte Multithreading</title><content type='html'>Moore Yasalarına göre sistem kapasiteleri her 18 ayda bir ikiye katlanıyor. Ancak artık CPU performansını saat hızını arttırarak yükseltmek pek etkili gözükmüyor. Ayrıca 3GHZ'den sonra saat hızını arttırmak işlemcide çok fazla ısınmaya sebep oluyor.&lt;br /&gt;CPU hızını arttırmak isimizi görmediğine göre, yeni yöntem birden fazla işlemcinin hızından faydalanarak performans arttırmak veya multithreading'den faydalanmak.&lt;br /&gt;Sanırım multithreaded aplikasyon'lar üretebilmeyi öğrenmekte fayda var. Çünkü gelecek dual çöre işlemciler ve multithreaded aplikasyonlar üzerine kurulu gibi gözüküyor.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Thread nedir?&lt;/span&gt;&lt;br /&gt;Thread, "thread of execution" (iş parçağının aldığı süre) birbirlerine paralel çalışabilen bir komut dizisidir. Thread, bir programın kendini aynı anda çalışan birden fazla parçaya bölerek bu işe uygun bir işlemcinin bu özellikten istifade ederek işlemleri daha kisa sürede gerçekleştirebilmesini sağlar. (Örneğin bir thread'de grafik işlemlerini yaparken, diğer bir thread'de gerekli program hesaplamalarını yapması gibi)&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;Parallel processing nedir?&lt;/span&gt;&lt;br /&gt;Bir problem parçalara bölünüyor ve birden fazla işlemcinin bölünen parçalar üzerinde çalışıp, sonunda sonucu birleştirmesi sağlanıyor.&lt;br /&gt;&lt;br /&gt;C# ile multithreading üzerine birçok makale ve kaynaklar bulabileceğiniz site;&lt;br /&gt;&lt;a href="http://www.c-sharpcorner.com/Multithreading.asp" target="_blank"&gt;&lt;span style="color:#ff0000;"&gt;http://www.c-sharpcorner.com/Multithreading.asp&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;VB.Net ile multithreaded programlamaya giriş;&lt;br /&gt;&lt;a target="_blank" href="http://www.startvbdotnet.com/threading/default.aspx"&gt;&lt;span style="color:#ff0000;"&gt;http://www.startvbdotnet.com/threading/default.aspx&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112325160329353082?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112325160329353082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112325160329353082'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/08/gelecekte-multithreading.html' title='Gelecekte Multithreading'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112316784452122131</id><published>2005-08-04T18:03:00.000+03:00</published><updated>2005-08-04T20:07:15.000+03:00</updated><title type='text'>Programlama Dillerinin Tarihi</title><content type='html'>Bugün biraz internette gezinirken bilgisayar dillerinin tarihiyle ilgili bir sayfaya rastladim.&lt;br /&gt;&lt;br /&gt;Kocaman bir şema üzerinde aklınıza gelebilecek bütün programlama dillerinin(C, C++,C#,VB, Perl, Fortran...) hangi dillerden türediğini ve ne zaman ortaya çıktığını görebiliyorsunuz. Ben bir çıktısını asacam bi yere, çok hoşuma gitti...&lt;br /&gt;&lt;br /&gt;Şemaya ulaşmak için;&lt;br /&gt;&lt;a target="_blank" href="http://www.levenez.com/lang/history.html"&gt;&lt;span style="font-size:85%;color:#ff0000;"&gt;http://www.levenez.com/lang/history.html&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#ff0000;"&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112316784452122131?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112316784452122131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112316784452122131'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/08/programlama-dillerinin-tarihi.html' title='Programlama Dillerinin Tarihi'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112316290176014497</id><published>2005-08-04T16:40:00.000+03:00</published><updated>2005-08-04T16:41:41.766+03:00</updated><title type='text'>Avalon ve Indigo</title><content type='html'>Microsoft, Longhorn için hazırladığı yazılım geliştirme platformalarının 2 anahtar bölümü olan Avalon ve Indigo'nun pre-beta versiyonlarını çıkardı.&lt;br /&gt;&lt;br /&gt;Hem Avalon hemde Indigo şu anda Microsoft Visual Studio 2005 Beta 2 ve .Net Framework 2.0 Beta 2 tarafından destekleniyor.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;color:#ff0000;"&gt;Avalon nedir?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Avalon bir kullanici arabirimi sunum altsistemi. Longhorndaki 3 boyutlu kullanıcı arabirimi'nın tabani. Yeni bir grafik motoru ve managed-code iskeleti içeriyor. Online video ev Microsoft'un yeni Metro teknolojisi gibi yeni özellikler içeriyor. (Metro, PDF'e XML tabanlı bir alternatif.)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#ff0000;"&gt;Indigo nedir?&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Microsoft'un yeni mesajlaşma iskelet yapısı. Amacı service-oriented ve distributed mimarileri desteklemek.&lt;br /&gt; &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112316290176014497?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112316290176014497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112316290176014497'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/08/avalon-ve-indigo.html' title='Avalon ve Indigo'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112304537052047706</id><published>2005-08-03T07:58:00.000+03:00</published><updated>2005-08-03T22:44:15.173+03:00</updated><title type='text'>Internet Explorer 7 Neler Getiriyor?</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/Internet_Explorer_7.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 69px; CURSOR: hand; HEIGHT: 65px; TEXT-ALIGN: center" height="80" alt="Internet Explorer 7" src="http://photos1.blogger.com/blogger/3068/1252/200/Internet_Explorer_7.jpg" width="96" border="0" /&gt;&lt;/a&gt;Windows Vista'nin beta 1 sürümü bu ay MSDN aboneliği olanlara test için sunuldu. Windows Vista ile beraber gelen Internet Explorer 7'nin yeni özellikleri ise başlıca şunlar;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Firefoxtaki gibi tabbed browsing özelliği&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Google, Aol Search, Ask Jeeves, MSN Search ve Yahoo için toolbar arama kutucukları.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Otomatik olarak herhangi bir web sayfasını printer kağıdına sığdırabilme özelliği (Shrink-to-fit printing)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Kullanıcının önemli bilgilerini korumak üzere geliştirilmiş yeni güvenlik özellikleri&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Internet Explorer 7, Windows XP(Service Pack 2) yüklü makinalara kurulabilecek. &lt;/p&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#ff0000;"&gt;Firefox nedir?&lt;/span&gt; &lt;/span&gt;&lt;span style="font-size:85%;"&gt;Firefox, Internet Explorer'a rakip açık kaynak kodlu bir browser'dir. Ağustos 2005 itibari ile yaklaşık dünyada yüzde 15'lık kullanıcı oranına sahip. Web developer'ların tercih etmesinin en onemli nedeni ise Internet Explorer'ın es geçtiği ufak tag hatalarında bile kullanıcıyı hata vererek uyarması. &lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112304537052047706?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112304537052047706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112304537052047706'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/08/internet-explorer-7-neler-getiriyor.html' title='Internet Explorer 7 Neler Getiriyor?'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112299720438503813</id><published>2005-08-02T18:32:00.000+03:00</published><updated>2005-08-02T18:47:20.333+03:00</updated><title type='text'>SQL Server - Veritabani Ipuclari -2</title><content type='html'>Büyük veritabanlarıyla çalışan arkadaşlar için yararlı olabileceğini düşündüğüm, aynı zamanda giriş seviyesinde bir programcının da uygulayabileceği çok yararlı bulduğum bir SQL Server ipucunu paylaşmak istedim.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;"SELECT * FROM OrnekTablo"&lt;/em&gt; şeklindeki kullanımı hepimizi biliyoruz. Örneğin içerisinde çok fazla kayıt bulunan bir tablodan seçim yapacaksınız ve sadece belirli sayıda kayıdın görüntülenmesini istiyorsanız;&lt;br /&gt;&lt;br /&gt;--------------&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#cc0000;"&gt;&lt;span style="color:#ff0000;"&gt;SET ROWCOUNT 10&lt;br /&gt;SELECT * FROM dbo.OrnekTablo&lt;br /&gt;WHERE KategoriID = 5&lt;br /&gt;ORDER BY Fiyat&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;--------------&lt;br /&gt;Yukarıdaki örnek size sadece şeçilen tablodan belirlenen özelliklere göre 10 adet kayıt gösterilecektir.&lt;br /&gt;--------------&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff0000;"&gt;&lt;strong&gt;SELECT TOP 10&lt;br /&gt;SiparisID, MusteriID, CalisanID, SiparisTarihi&lt;br /&gt;FROM dbo.Siparisler&lt;br /&gt;WHERE CalisanID = 5&lt;br /&gt;ORDER BY SiparisTarihi&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;--------------&lt;br /&gt;Bu örnek ise Select statementinizin içerisinde kaç adet sonuç çağırmak istediğinizi başka bir şekilde belirtebilmenizi sağlıyor.(RowCount'tan tek farkı sadece SQL Server 7.0 ve yukarısı tarafından desteklenmesi)&lt;br /&gt;&lt;br /&gt;--------------&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;SELECT TOP 10 PERCENT&lt;br /&gt;SiparisID, MusteriID, CalisanID, SiparisTarihi&lt;br /&gt;FROM dbo.Siparisler&lt;br /&gt;WHERE CalisanID = 5&lt;br /&gt;ORDER BY SiparisTarihi&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;---------------&lt;br /&gt;Bu örnekte ise query sonuçlarının sadece yüzde 10'luk bir kısmı size gösterilecektir.&lt;br /&gt;&lt;br /&gt;SQL ile veritabanı programlama'yı öğrenen arkadaşlara umarım faydalı olur...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112299720438503813?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112299720438503813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112299720438503813'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/08/sql-server-veritabani-ipuclari-2.html' title='SQL Server - Veritabani Ipuclari -2'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112270338027762466</id><published>2005-07-30T09:01:00.000+03:00</published><updated>2005-07-30T09:03:39.290+03:00</updated><title type='text'>Asp.Net 2.0 Ogrenin</title><content type='html'>Bu aralar herkes Asp.Net 2.0 için henüz yeterli bir kaynak olmadığından yakınıyordu, bende hem kendi merakımı gidermek hemde Asp.Net 2.0 öğrenmek isteyenler için güzel bir kitap tavsiyesinde bulunabilmek için biraz araştırma yaptım. Karşıma çıkan en iyi kitap Wei-Meng Lee'nın "&lt;strong&gt;Asp.Net 2.0 A Developer's Notebook&lt;/strong&gt;".&lt;br /&gt;&lt;br /&gt;Kitap Asp.Net teki bütün yeni objeleri tek tek inceleyerek örnekleriyle size öğretiyor ve de gayet yalın bir dille yazılmış.&lt;br /&gt;&lt;br /&gt;Eğer Visual Studio 2005'in ücretsiz sunulan beta sürümüne sizde sahip iseniz bu kitapla beraber kullanarak bütün yeni Asp.Net objelerinin nasıl kullanıldığını kolaylıkla öğrenebilirsiniz.&lt;br /&gt;Visual Studio 2005 Beta 2 sürümünü ücretsiz sipariş etmek için:&lt;br /&gt;&lt;a href="http://www.microsoft.com/emea/msdn/betaexperience/enxu/order.aspx" target="_blank"&gt;http://www.microsoft.com/emea/msdn/betaexperience/enxu/order.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112270338027762466?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112270338027762466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112270338027762466'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/aspnet-20-ogrenin.html' title='Asp.Net 2.0 Ogrenin'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112258438132129160</id><published>2005-07-28T23:41:00.000+03:00</published><updated>2005-07-29T18:57:42.686+03:00</updated><title type='text'>AJAX ve .NET Entegrasyonu</title><content type='html'>Önceki makalelerimden birinde AJAX'ın (Asynchronous JavaScript with XmlHttpRequest) ne olduğunu ve kullanıldığı yerleri incelemiştik. Bu konu ilgimi çekmeye devam ediyor ve size C# ve VB.Net örnekleri içeren ve de bedava bir AJAX library'si içeren, .Net projelerinize entegre edebileceğiniz bir kaynak buldum. Hem .Net 1.x hemde .Net 2.0 için farklı versiyonları mevcut.&lt;br /&gt;&lt;br /&gt;Ayrıca kullanıcı kitapçığını da ihmal etmemişler. Şimdiye kadar karşıma çıkan en iyi AJAX kaynağı doğrusu.&lt;br /&gt;&lt;br /&gt;Not: Javascript ve XML ile aranız yoksa şimdilik AJAX olayına girişmeye pek kalkışmayın derim.&lt;br /&gt;&lt;br /&gt;Siteye &lt;a href="http://ajax.schwarz-interactive.de/csharpsample/default.aspx" target="_blank"&gt;buradan&lt;/a&gt; ulaşabilirsiniz.&lt;br /&gt;Önceki AJAX ile ilgili makaleme de &lt;a href="http://teknoturk.blogspot.com/2005/07/ajax-nedir-ne-deildir.html" target="_blank"&gt;buradan&lt;/a&gt; ulaşabilirsiniz.&lt;br /&gt;Javascript Ögrenin --&gt; &lt;a href="http://www.w3schools.com/js/default.asp" target="_blank" &gt;Öğreniym&lt;/a&gt;&lt;br /&gt;Xml Ögrenin --&gt; &lt;a href="http://www.w3schools.com/xml/default.asp" target="_blank"&gt;Öğreniym&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112258438132129160?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112258438132129160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112258438132129160'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/ajax-ve-net-entegrasyonu.html' title='AJAX ve .NET Entegrasyonu'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112252809236253574</id><published>2005-07-28T06:16:00.000+03:00</published><updated>2005-07-28T08:21:32.386+03:00</updated><title type='text'>.NET 2.0 Neler Getiriyor?</title><content type='html'>Şu bir gerçekki .Net 1.x versiyonları benim hayatımı değiştirdi. Session kullanımı, gelişmiş cache özellikleri, ve bunun gibi bir çok özellik hepimizin hayatını kolaylaştırdı.&lt;br /&gt;&lt;br /&gt;Peki .Net 2.0(Whidbey) programcılar için ne gibi yenilikler getiriyor?&lt;br /&gt;&lt;br /&gt;1. SQL Server ile CLR(Common Language Runtime) entegrasyonu&lt;br /&gt;&lt;br /&gt;2. Yeni Validation kontrolleri, validation grupları&lt;br /&gt;&lt;br /&gt;3. Çok daha gelişmiş cache özellikleri&lt;br /&gt;&lt;br /&gt;4. 50'den fazla yeni kontrol (ör: GridView, DetailsView..)&lt;br /&gt;&lt;br /&gt;5. Elle kod yazmaktansa çoğu kısmı mouse clickleriyle konfigüre edilebilen kontroller.&lt;br /&gt;&lt;br /&gt;6. Kod gelistirme ortamınızı kişiselleştirme yöntemleri.&lt;br /&gt;&lt;br /&gt;7. Yazılımcıların hayatını kolaylaştıracak yeni theme'lar.&lt;br /&gt;&lt;br /&gt;8. Web yazılımcıları için yeni gelişmiş web sitesi kontrolleri.&lt;br /&gt;&lt;br /&gt;9. Ve tabiki favori programlama dillerinin yeni versiyonları C# 2.0 ve Asp.NET 2.0 (Anonim method yazma vs. gibi birçok yeni güzel özellik...)&lt;br /&gt;&lt;br /&gt;Bence yazılım dünyasına yeni giren ve programlama öğrenmek isteyen arkadaşlar için .NET 2.0 çok güzel bir başlangıç noktası teşkil ediyor...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112252809236253574?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112252809236253574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112252809236253574'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/net-20-neler-getiriyor.html' title='.NET 2.0 Neler Getiriyor?'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112238683190856316</id><published>2005-07-26T17:02:00.000+03:00</published><updated>2005-07-29T18:59:13.663+03:00</updated><title type='text'>Google Code Jam 2005'e Katilin!</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/codejamLogo1.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/codejamLogo1.gif" border="0" /&gt;&lt;/a&gt;Kod yazma yeteneğinize güveniyormusunuz? Ben çok iyi programcıyım mı diyorsunuz? İşte size fırsat... Google dünya çapındaki en iyi programcılar için düzenlediği yarışmayla toplam 155,000$ ödül dağıtıyor ve bu yarışma belki de kendinizi göstererek Google'da çalışma hakkı kazanabilmek için bir fırsat.&lt;br /&gt;&lt;br /&gt;Yarışmaya 4 ayrı programlama dili kategorisinde katılınabiliyor. &lt;strong&gt;Java, C++, C# ve VB&lt;/strong&gt;.&lt;br /&gt;TopCoder Competition Arena adında bir java applet indiriyorsunuz ve bu applet sizin yarışmaya katılacağınız ortam oluyor. Problemleri okuyup kod çözümleri üretiyorsunuz, kodunuzu compile edip test ediyorsunuz ve sonuçları göndererek puan kazanmaya çalışıyorsunuz. Bu Java appleti yarışma gününden önce indirerek örnek problemler üzerinde egzersiz yapabilirsiniz.&lt;br /&gt;&lt;br /&gt;Kod aşamasında sanal odalarda yarışmacılar 10'arlı gruplara ayrılıp hepsine gittikçe zorlaşan aynı problem grupları sunuluyor. En kısa sürede en başarılı çözümü üretmek size en çok puanı kazandırıyor.&lt;br /&gt;&lt;br /&gt;2. aşamada diğer yarışmacıların kodunu inceleyip onların kodunu kırmaya çalışıyorsunuz. Amaç sonuçların tatmin edici olmadığını kanıtlayabilmek. Başarılı bir şekilde başka programcıların kodunun yeterli olmadığını kanıtlarsanız puan kazanıyorsunuz, kanıtlayamazsanız puan kaybediyorsunuz.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Kayıt için 19 Ağustos son gün&lt;/strong&gt;. Limitsiz sayıda yarışmacı ön elemeye katılabiliyor. 22 Ağustos'ta ön eleme gerçekleşiyor. İlk eleme sonunda 500 kişi 29 Ağustosta yapılacak 1. round'a kalacak. 2. Round Eylül 1'de. Son kalan 100 kişi final için Californiadaki Googleplex'e davet ediliyor ve ilk 100'e giren herkese para ödülleri var.&lt;br /&gt;&lt;br /&gt;Ayrıntılı bilgi ve kayıt işlemi için; &lt;a href="http://www.topcoder.com/pl/?module=Static&amp;d1=google05&amp;amp;d2=overview" target="_blank"&gt;http://www.topcoder.com/pl/?module=Static&amp;d1=google05&amp;amp;d2=overview&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112238683190856316?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112238683190856316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112238683190856316'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/google-code-jam-2005e-katilin.html' title='Google Code Jam 2005&apos;e Katilin!'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112230023648539451</id><published>2005-07-25T17:00:00.000+03:00</published><updated>2005-07-25T17:03:56.490+03:00</updated><title type='text'>Windows Vista</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/Windows_Vista.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/Windows_Vista.gif" border="0" /&gt;&lt;/a&gt;Mircosoft'un 2006 yılında piyasaya çıkacak olan LongHorn kod adlı işletim sisteminin ismi "Windows Vista" olarak açıklandı.&lt;br /&gt;&lt;br /&gt;LongHorn kulağa daha bi hoş geliyordu sanki...&lt;br /&gt;&lt;br /&gt;Yeni işletim sisteminin en büyük özelliği, yeni 3 boyutlu kullanıcı arabirimi olacak. Bunun yanında google'ınki gibi bir masaüstü arama motoru ve sanal klasörler gibi özellikler de Windows Vista ile beraber gelecek.&lt;br /&gt;&lt;br /&gt;Windows Vista'nin Beta 1 sürümü Ağustos 2005'te IT sektöründeki bir çok insanın beğenisine sunulacakmış, ama gerçek sürümde olacak bütün özellikleri henüz içermeyecekmis.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112230023648539451?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112230023648539451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112230023648539451'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/windows-vista.html' title='Windows Vista'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112222924930689031</id><published>2005-07-24T21:12:00.000+03:00</published><updated>2005-07-29T18:59:49.720+03:00</updated><title type='text'>C#'dan Sonra Simdide F#</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/F#.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/F%23.gif" border="0" /&gt;&lt;/a&gt;F#, .Net platformunun potansiyelini ortaya çıkarmak için planlanmış olan bir araştırma projesinin ürünü. Amaç ise ML tipi bir scripting dili olan F#'ın .Net framework üzerinde kullanımının kullanışlı olduğunu göstermek.&lt;br /&gt;&lt;br /&gt;Şu an için Microsoft veya herhangi bir başka firma tarafından F#'ın C# gibi ticari amaçla kullanılması ve piyasaya sürülmesi düşünülmüyormuş. Halen devam eden araştırmalar, F# dilinin tüm komüniteye açık şekilde daha iyi bir şekle gelmesini amaçlıyormuş ve de Microsoft araştırma merkezi üniversitelerle bu programlama dili hakkında ortak çalışmalar yürütüyormuş.&lt;br /&gt;&lt;br /&gt;F# hakkında daha fazla bilgi almak isterseniz aşsağıdaki linkten F# kitapçığına ulaşabilir ve öğrenmeye başlayabilirsiniz.&lt;br /&gt;&lt;a href="http://research.microsoft.com/projects/ilx/fsharp-manual/default.aspx" target="_blank"&gt;http://research.microsoft.com/projects/ilx/fsharp-manual/default.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;F# compilerını da &lt;a href="http://research.microsoft.com/projects/ilx/fsharp-release.aspx"&gt;buradan&lt;/a&gt; indirebilirsiniz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112222924930689031?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112222924930689031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112222924930689031'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/cdan-sonra-simdide-f.html' title='C#&apos;dan Sonra Simdide F#'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112205527085699160</id><published>2005-07-22T21:00:00.000+03:00</published><updated>2005-07-28T23:15:10.486+03:00</updated><title type='text'>SQL Server- Veritabani Performans Ipuclari-1</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/SQL.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" height="48" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/SQL.gif" width="134" border="0" /&gt;&lt;/a&gt;Veritabanı performansınızı arttırmak için birçok yöntem var. Bunlardan şimdiye kadar kullandıklarımı ve etkisini gördüklerimi sizinle paylaşayım dedim.&lt;br /&gt;&lt;br /&gt;1- Veritabanınızdaki tabloları kesinlikle dizayn aşamasında normalize edin. Eğer nasıl yapıldığını bilmiyorsanız goole da bir araştırın. Hatta belki de ben bir makale de onun için yazayım :) .&lt;br /&gt;&lt;br /&gt;2- SELECT * tarzı syntax kullanımından mümkün olduğunca kaçının. Daha spesifik olun. Sadece ama sadece ihtiyacınız olan sütunları veritabanından çağırın. Gereksiz bellek kullanımından ve de bandwith kullanımından kurtulmuş olacaksınız.&lt;br /&gt;&lt;br /&gt;3- Veritabanınızı parametreli şekilde query etmeye özen gösterin. Örneğin " ' " işareti gibi karakterler kullandığınızda ortaya çıkan hata mesajlarından kurtulmuş olursunuz. İzin verilmeyen karakterleri kullanmanız parametreli queryler ile mümkün.&lt;br /&gt;&lt;br /&gt;Bu metodları uygularsanız yüksek performans için güzel bir başlangıç yapmış olursunuz...Devamı tabiki gelecek...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112205527085699160?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112205527085699160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112205527085699160'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/sql-server-veritabani-performans.html' title='SQL Server- Veritabani Performans Ipuclari-1'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112205509818787151</id><published>2005-07-22T20:52:00.000+03:00</published><updated>2005-07-22T20:58:18.193+03:00</updated><title type='text'>CSS - Tek Objeye 2 Class Birden Atamak</title><content type='html'>Şimdiye kadar bir HTML etiketine yanlızca tek bir class tayin edebiliriz sanıyordum. Ama öğrendim ki CSS'te bir HTML etiketine birden fazla class tayin etmemize de izin veriliyormuş.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Ör&lt;/strong&gt;: &lt; class="class1 class2"&gt; ... &lt; /p&gt;&lt;br /&gt;&lt;strong&gt;Not&lt;/strong&gt;: &lt; işaretlerinden sonraki boşlukları siz kapatın. (Blogger engelliyor.)&lt;br /&gt;&lt;br /&gt;2 class kullanırken tek yapmanız gereken classları belirttiğiniz yerde araya bir boşluk koymak. Böylece 2 class içerisindeki kuralları birden kullanabilirsiniz. Eğer 2 class içerisinde çakışan kurallar varsa, altta olan class'in kuralları öncelik kazanacak, üsttekinin pabucu dama atılacak.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112205509818787151?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112205509818787151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112205509818787151'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/css-tek-objeye-2-class-birden-atamak.html' title='CSS - Tek Objeye 2 Class Birden Atamak'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112197087099954028</id><published>2005-07-21T21:32:00.000+03:00</published><updated>2005-07-28T23:23:38.310+03:00</updated><title type='text'>.Net - Sikca Sorulan Sorular</title><content type='html'>.Net'e yeni mi giriş yaptınız? Artık bende bir .Net'e göz atmalıyım diyen bir Java programcısımısınız? Buyrun size kafanızdaki sorulara cevaplar&lt;br /&gt;&lt;br /&gt;1) .Net Platformunun avantajları neler?&lt;br /&gt;Hızlı, kolay , düzgün bir yazılım platformunda çalışma imkanı.&lt;br /&gt;&lt;br /&gt;2) Hangi dilleri kullanarak .Net aplikasyonları geliştirebilirim?&lt;br /&gt;Visual Basic.Net, Visual C#, Visual J#&lt;br /&gt;&lt;br /&gt;3) Ben Java programcısıyim. .Net'e geçmem zor olurmu?&lt;br /&gt;Hayır. Objeye dayalı programlama yapmış herhangi biri için .Net ile programlama sorun olmayacaktir.&lt;br /&gt;&lt;br /&gt;4) Nerden .Net ile ilgili kaynak bulup öğrenmeye başlayabilirim?&lt;br /&gt;&lt;a href="http://msdn.microsoft.com"&gt;http://msdn.microsoft.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gotdotnet.com"&gt;http://www.gotdotnet.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;5) Asp.Net ile veritabanı programcılığına girmek istiyorum ama SQL server gibi paralı bir ürüne erişimim yok, daha ucuz veya bedava bir çözüm varmi?&lt;br /&gt;Evet. Sql Server'in ücretsiz sürümünü indirebilirsiniz.&lt;br /&gt;&lt;a href="http://www.asp.net/MSDE/default.aspx"&gt;www.asp.net/MSDE/default.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;6) Ücretsiz bir Asp.Net editörü bulmak mümkünmü?&lt;br /&gt;Evet. Microsoftun bedava dağıtılan Web Matrix editörünü kullanabilirsiniz. İndirmek için ;&lt;br /&gt;&lt;a href="http://www.asp.net/webmatrix/default.aspx?tabındex=4&amp;tabid=46"&gt;http://www.asp.net/webmatrix/default.aspx?tabındex=4&amp;amp;tabid=46&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112197087099954028?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112197087099954028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112197087099954028'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/net-sikca-sorulan-sorular.html' title='.Net - Sikca Sorulan Sorular'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112196893177324156</id><published>2005-07-21T20:53:00.000+03:00</published><updated>2005-07-21T21:02:11.780+03:00</updated><title type='text'>SQL Server 2005 ve Visual Studio 2005</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/SQL2005.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 99px; CURSOR: hand; HEIGHT: 85px; TEXT-ALIGN: center" height="59" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/SQL2005.jpg" width="137" border="0" /&gt;&lt;/a&gt;SQL Server 2005 ve Visual Studio 2005 çıkış tarihleri açıklanmış. 7 Kasım 2005 tarihi itibariyle iki ürün de piyasada olucak. Sanırım bize düşen de artık o tarihten sonraki yeni başlanılacak projelerde yeni ürünleri kullanmak.&lt;br /&gt;&lt;br /&gt;Umarım kodumuzu yeni platforma geçirmek Mircosoft yetkililerinin söyledikleri kadar kolay olur. Yoksa bi ton baş ağrısı bizi bekliyor...&lt;br /&gt;&lt;br /&gt;Biztalk Server 2006 da yine aynı tarihte piyasaya çıkıyormuş. İşe başlamadan önce adından başka birşey bilmediğim bu ürünün de önemini entregrasyon projelerinde yeterince anladim.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112196893177324156?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112196893177324156'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112196893177324156'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/sql-server-2005-ve-visual-studio-2005.html' title='SQL Server 2005 ve Visual Studio 2005'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112171440061812680</id><published>2005-07-18T22:16:00.000+03:00</published><updated>2005-07-18T22:20:00.626+03:00</updated><title type='text'>ASP.Net - UserControl'daki Dropdownlist'te Selected Item Sorunu</title><content type='html'>Bugün karşıma çıkan bir sorun da herhangi bir ASP.Net user control'da kullandığım dropdown list'in selected item (seçili öge) özelliğini kullanmak istediğim zaman "Object referance not set to an instance" hata mesajını almamdi. Biraz araştırdıktan sonra çözümün çok da zor olmadığını gördüm. Sizde kolaylıkla aşsağıda belirtilen şekilde kullanarak problemi çözebilirsiniz.&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;UserControl kontrol1 = ((UserControl)(FinControl("beyan ettiginiz user kontrolunuzun ID'si")));&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;DropDownList ddl = ((DropDownList)(kontrol1.FindControl(" beyaz ettiginiz user kontrolun icindeki dropdownlist'in ID'si")));&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Response.Write(ddl.SelectedItem.Value);&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;Bu şekilde seçili ögenin değerine ulaşabilirsiniz...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112171440061812680?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112171440061812680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112171440061812680'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/aspnet-usercontroldaki-dropdownlistte.html' title='ASP.Net - UserControl&apos;daki Dropdownlist&apos;te Selected Item Sorunu'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112170033195446548</id><published>2005-07-18T18:18:00.000+03:00</published><updated>2005-07-18T20:04:46.923+03:00</updated><title type='text'>Fortune'dan Bir Makale</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/fortune1.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" height="27" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/fortune1.gif" width="160" border="0" /&gt;&lt;/a&gt;Fortune dergisinin takipçisi olarak bu ayki sayıda gördüğüm bir haberi paylaşmak istedim. Son sayısında tüm dünyadaki ülkelerin en büyük firmalarının listesini yapacaklarını söylemişlerdi ve bende merak edip bir Türkiye'ninkine baktım. Sonuç olarak karşıma sadece 1 tane firma çıktı. Acaba Fortune dergisi araştırmada bir hatamı yapmış yoksa Koç Holding gerçektende bu kadar iyi bir seyir mi sergiliyor merak konusu...&lt;br /&gt;&lt;br /&gt;İsterdik ki başı çeken firmalar Amerikadaki gibi çoğunluğu teknoloji ile direk alakalı firmalar olsun ama o günleri de göreceğiz umarım...&lt;br /&gt;&lt;br /&gt;Diğer ülkelerdeki firmaların listesini de Fortune dergisinin web sayfasından görebilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Country&lt;/strong&gt; Turkey&lt;br /&gt;&lt;strong&gt;Company&lt;/strong&gt; Koc Holding&lt;br /&gt;&lt;strong&gt;Rank 1&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Revenues ($ millions)&lt;/strong&gt; 15,578.8&lt;br /&gt;&lt;strong&gt;City&lt;/strong&gt; Istanbul&lt;br /&gt;&lt;br /&gt;Kaynak: &lt;a href="http://www.fortune.com"&gt;www.fortune.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112170033195446548?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112170033195446548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112170033195446548'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/fortunedan-bir-makale.html' title='Fortune&apos;dan Bir Makale'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112145231861034150</id><published>2005-07-15T21:22:00.000+03:00</published><updated>2005-07-28T23:23:06.380+03:00</updated><title type='text'>Veri Cakismalari (Data Concurrency)</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/concurrency.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 87px; CURSOR: hand; HEIGHT: 85px; TEXT-ALIGN: center" height="85" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/concurrency.jpg" width="129" border="0" /&gt;&lt;/a&gt;Sanırım "2 kullanıcı aynı anda bir bilgi üzerinde değişiklik yapmaya kalkarsa ne olur?" sorusunu en az bir kaç kez duymuşsunuzdur. 2 kullanıcı aynı anda bir bilgi üzerinde değişiklik yapmak istediğinde önceden belirlenmiş bazı kurallarla bir kullanıcının değiştirdiği bilgilerin diğer bir kullanıcıyı olumsuz yönde etkilemesi, önlenmesi gereken bir durumdur.&lt;br /&gt;&lt;br /&gt;Örneğin 2 emlakçı bir dairenin fiyatını ve bazı diğer özelliklerini aynı anda web applikasyonları aracılığıyla değiştirmek istiyor olsun. A emlakçısının değiştirdiği bilgiler B emlakçısı tarafından henüz bilinmiyor olduğundan B emlakçısı istikrarsız veriler üzerinde değişiklik yapıyor olacaktir. Bu tip sorunlara getirilecek olan çözüm, veriler üzerine kilit(Lock) koymaktır. Bu şekilde 2 aplikasyonun veya kullanıcının aynı anda aynı verileri değiştirmesi engellenebilir.&lt;br /&gt;&lt;br /&gt;3 çeşit değişik yöntemle veri çakışmaları engellenebilir;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Pesimist Çakışma Kontrolü (Optimistic Concurrency Control):&lt;/strong&gt;&lt;br /&gt;Bu yöntemde, üzerinde değişiklik yapılmak istenen bir veri dizisi, bu diziye ulaşılıp veritabanında gerekli değişiklik tamamlanana kadar geçen süreçte diğer kullanıcılara bu veri dizisine erişemez.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Optimist çakışma kontrolu (Optimistic concurrency control):&lt;/strong&gt;&lt;br /&gt;Bu yöntemde, üzerinde değişiklik yapılan veri dizisi sadece değişiklik yapıldığı anda diğer kullanıcılara erişilmez olarak gözükür. Değişiklik yapılmak istendiğinde veritabanındaki veriler kontrol edilerek bundan önce herhangi bir değişiklik yapılıp yapılmadığına bakılır. O verinin üzerinde zaten değişiklik yapılmışsa değişiklik işlemi çakışma kurallarını ihlal etmiş sayılıp engellenir.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Son Gülen İyi Güler Metodu (Last in wins!):&lt;/strong&gt;&lt;br /&gt;Son giren diyemedim, kulağa garip geliyordu, böyle bi uydurma yapıym bari dedim :). Bu metod'da, bir veri dizisi diğer kullanıcılara yine sadece değişiklik esnasında erişilmez olur. Ancak, bu yöntemde veritabanındaki en son girilen verilerle sizinkinin kıyaslanması gibi bir durum yoktur. Bu yüzden başka bir kullanıcın girdiği veriler siz en son gelmiş iseniz sizin verilerinizle değiştirilecektir.&lt;br /&gt;&lt;br /&gt;ADO.Net ve Visual Studio.Net, optimist çakışma kontrol yöntemini kullanır.&lt;br /&gt;Bu konu bence gayet önemli bi konu ve devamı gelecek...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112145231861034150?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112145231861034150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112145231861034150'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/veri-cakismalari-data-concurrency.html' title='Veri Cakismalari (Data Concurrency)'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112143905417625279</id><published>2005-07-15T17:48:00.000+03:00</published><updated>2005-07-28T23:22:44.113+03:00</updated><title type='text'>XML Nedir? Ne Amacla Kullanilir?</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/XML.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 149px; CURSOR: hand; HEIGHT: 47px; TEXT-ALIGN: center" height="60" alt="" src="http://photos1.blogger.com/blogger/3068/1252/320/XML.gif" width="168" border="0" /&gt;&lt;/a&gt;XML bir çeşit veri formatıdır ve değişik aplikasyonların içerisindeki verileri okuyup aynı zamanda içerisine veri yazılabilmesini sağlar.&lt;br /&gt;&lt;br /&gt;XML dosylarının içerisinde veriler ve verilerin yapısını belirten bilgiler bulunur.&lt;br /&gt;&lt;br /&gt;XML, herhangi bir işletim sistemine, protokole, firmaya veya platforma bağlı değildir.&lt;br /&gt;&lt;br /&gt;XML dosyaları herhangi bir program tarafından kullanılabilir. İstenilen her türlü işletim sistemine aktarılabilir, her türlü protokolden transfer edilebilir.&lt;br /&gt;&lt;br /&gt;XML, programcılara tag'ler açısından istenilen her türlü özgürlüğü verir. HTML gibi önceden belirlenmiş olan tagler yoktur.&lt;br /&gt;&lt;br /&gt;XML'in ortaya çıkışındaki başlıca nedenler;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;İnternet kullanımı ve değişik protokoller arası dosya transferlerinin önem kazanması.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Kolay okunabilir ve anlaşılabilir bir veri formatına ihtiyaç duyulması.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Komplike sistem entegrasyonlarının pahalıya mal oluşu ve ortaya çıkan uyumsuzluklar.&lt;br /&gt;&lt;br /&gt;XML'in iş dünyasında kullanım amaçları başlıca;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Dosyalara daha kolay erişim sağlamak.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Özel dosyaları okumakta kullanılan programlarla gelen ekstra masrafları azaltmak.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Daha temiz program ve sistem integrasyonu sağlayabilmek.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;XML'in ücretsiz olmasından faydalanarak maliyeti azaltmak.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Değişik protokoller arasında kolayca transfer edilebilen bir dosya mimarisinden faydalanmak.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112143905417625279?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112143905417625279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112143905417625279'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/xml-nedir-ne-amacla-kullanilir.html' title='XML Nedir? Ne Amacla Kullanilir?'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112127775207202364</id><published>2005-07-13T20:52:00.000+03:00</published><updated>2005-07-28T23:22:20.466+03:00</updated><title type='text'>ASP.Net Sayfalarini Cache'de Saklamak</title><content type='html'>Asp.Net, web aplikasyonlarınızda kullandığınız dinamik sayfalarda, serverdan gönderilen verilerin tamamının cache'de saklanmasına izin veriyor. Web aplikasyonlarınızın performansını arttırmak için kullanabileceğiniz bu yöntemi biraz daha inceleyelim;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt; %@ OutputCache Duration="60" VaryByParam="None" % &gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Yukarıdaki satırı .aspx dosyanıza eklediğinizde sayfa 60 saniye boyunca cache'de tutulacaktır. Bu süreç içerisinde aynı sayfa için kullanılan verilerin cache memory'den çağrılarak web server üzerindeki yükün azalmasını sağlayabilirsiniz.&lt;br /&gt;&lt;br /&gt;Not: @OutputCache direktifini kullandığınızda &lt;strong&gt;Duration&lt;/strong&gt; ve &lt;strong&gt;VaryByParam&lt;/strong&gt; parametrelerinin kullanımı mecburidir. Aksi takdirde sayfa hata verir.&lt;br /&gt;&lt;br /&gt;Cache tekniğini kullanarak çok sık ziyaret edilen sayfalarınızda Web serverınızın işlem hacmini(requests/sec) büyük oranda arttırabilirsiniz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112127775207202364?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112127775207202364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112127775207202364'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/aspnet-sayfalarini-cachede-saklamak.html' title='ASP.Net Sayfalarini Cache&apos;de Saklamak'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112118148274806010</id><published>2005-07-12T18:11:00.000+03:00</published><updated>2005-07-13T00:00:29.513+03:00</updated><title type='text'>AJAX Nedir? Ne Değildir?</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/Ajax.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 92px; CURSOR: hand; HEIGHT: 87px; TEXT-ALIGN: center" height="109" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/Ajax.jpg" width="166" border="0" /&gt;&lt;/a&gt;Ajax, web aplikasyonları için yeni bir yaklaşımdır ve &lt;strong&gt;Asynchronous JavaScript and XML&lt;/strong&gt;'in kısaltmasıdır. Herhangi bir çamaşır suyuyla uzaktan yakından alakası yoktur, olmayacaktir.&lt;br /&gt;&lt;br /&gt;Doğru kullanıldığı zaman ASP.Net ve diğer server tabanlı teknolojilerden çok daha hızlı kullanıcının isteklerine cevap verebilen daha interaktif çözümler bu yeni yaklaşım sayesinde üretilebilmektedir.&lt;br /&gt;&lt;br /&gt;AJAX kullanılan Asp.Net tarzı web aplikasyonlarında server'a form gönderme ve cevap bekleme kısmı tamamen ortadan kaldırılmış. Asp.Net tarzı server tabanlı web aplikasyonlarında server kullanıcı tarafından gönderilen isteklere her kullanıcı bir istek gönderdiğinde cevap vermek zorunda olduğundan yazılımın cevap verme hızı web serverin hızıyla doğru orantılıydı. Web serverın hızlı cevap veremediği zamanlarda da kullanıcının web aplikasyonundan aldığı verim büyük oranlarda düşebiliyordu.&lt;br /&gt;&lt;br /&gt;AJAX kullanımında browserla web server arasındaki veri alışverişi dramatik oranda azaltılıyor ve aynı zamanda da web server'in işlem gücü bu tür işlemler için kullanılmamış oluyor.&lt;br /&gt;&lt;br /&gt;Düşününce benim de aklıma nasıl yapıldığını düşündüğüm bir çok program özelliği geldi. Örneğin &lt;a href="http://maps.google.com" target="_blank"&gt;Google Maps&lt;/a&gt;'teki zoom özelliği(sayfa reload gerektirmiyor), &lt;a href="http://www.google.com/webhp?complete=1&amp;hl=en" target="_blank"&gt;Google Suggest&lt;/a&gt;'te siz keyboardunuzla birşeyler girdikçe sayfayı refresh etmeden yeni önerilerin size sunulması ve bunun gibi bir çok örnek...&lt;br /&gt;&lt;br /&gt;Ajax aşsağıdaki teknolojilerin bir araya getirilmesiyle oluşmuş;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Javascript&lt;/li&gt;&lt;li&gt;XHTML ve CSS'in ortak kullanımı &lt;/li&gt;&lt;li&gt;Document Object Model kullanarak dinamik sayfa gösterimi ve interaktif kullanıcı arabirimi. &lt;/li&gt;&lt;li&gt;XML ve XSLT kullanılarak veri alim/gönderimi ve manipulasyonu &lt;/li&gt;&lt;li&gt;XMLHttpRequest kullanılarak yapılan asenkron veri alımı &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;AJAX'la yazılmış web aplikasyon örnekleri nelerdir?&lt;br /&gt;&lt;a href="http://www.a9.com" target="_blank"&gt;A9&lt;/a&gt;(Amazon), &lt;a href="http://www.flickr.com" target="_blank"&gt;Flickr&lt;/a&gt;, &lt;a href="http://www.gmail.com" target="_blank"&gt;Gmail&lt;/a&gt;, &lt;a href="http://www.orkut.com" target="_blank"&gt;Orkut&lt;/a&gt;, &lt;a href="http://maps.google.com" target="_blank"&gt;Google Maps &lt;/a&gt;, &lt;a href="http://groups-beta.google.com" target="_blank"&gt;Google Groups&lt;/a&gt;, &lt;a href="http://www.google.com/webhp?complete=1&amp;amp;hl=en" target="_blank"&gt;Google Suggest&lt;/a&gt;... (Google, Ajax mimarisinin en büyük destekçilerinden)&lt;br /&gt;&lt;br /&gt;Güzel bişeymiş bu AJAX, nerden indiririz bunu?&lt;br /&gt;AJAX indirilebilecek bir paket, elle tutulur veya gözle görülür birşey değildir. AJAX, yeni bir yazılım mimarisi yaklaşımıdır. &lt;/p&gt;&lt;p&gt;AJAX hakkında daha fazla bilgi için &lt;a href="http://en.wikipedia.org/wiki/AJAX"&gt;tıklayın&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112118148274806010?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112118148274806010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112118148274806010'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/ajax-nedir-ne-deildir.html' title='AJAX Nedir? Ne Değildir?'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112117784726589623</id><published>2005-07-12T17:09:00.000+03:00</published><updated>2005-07-28T23:21:20.996+03:00</updated><title type='text'>ASP.Net Performans Ipuclari - 1</title><content type='html'>&lt;strong&gt;1-&lt;/strong&gt; Eğer Asp.Net aplikasyonlarınızda Session State kullanmıyorsanız, bu özelliği kapatmanız performansınızı olumlu yönde etkileyecektir. ASP.Net Session State'leri siz kapatmazsanız Asp.Net onu otomatik olarak kullanılıyor farzedecektir.&lt;br /&gt;Session State de neymiş?&lt;br /&gt;Session State sayfanızdaki istediğiniz bilgileri saklayarak sonradan kullanmanızı sağlar.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Web.Config Dosyası Değişikliği&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;&lt; sqlconnectionstring="data source=127.0.0.1; Trusted Connection=no" stateconnectionstring="tcpip=127.0.0.1:42424" mode="Off" cookieless="false" timeout="20"&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2-&lt;/strong&gt; Web.Config dosyasındaki debug parametresini debugging işlemleriniz bittiğinde(programınız sunuma hazır olduğunda) değiştirmeniz dosya boyutunuzu biraz küçültecek ve işlem performansında artış sağlayacaktir.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Web.Config Dosyası Değişikliği&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt; debug="false" defaultlanguage="c#"&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3-&lt;/strong&gt; Programınızın en son halini build ederken(sunuma hazır hale getirirken) Release modunu seçin. &lt;strong&gt;Solution Properties&lt;/strong&gt;teki &lt;strong&gt;Active Config&lt;/strong&gt; opsiyonunu Debug modundan&lt;strong&gt; Release&lt;/strong&gt; Moduna çevirin. Böylece Asp.Net aplikasyonlarınızda, debug modunda yaratılan ve ekstra yük yaratan PDB dosyalarından(debug bilgilerini tutar) kurtulmuş olacaksınız.&lt;br /&gt;&lt;br /&gt;Devamı gelecek...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112117784726589623?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112117784726589623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112117784726589623'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/aspnet-performans-ipuclari-1.html' title='ASP.Net Performans Ipuclari - 1'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112105204132854836</id><published>2005-07-11T06:17:00.000+03:00</published><updated>2005-07-28T23:20:57.266+03:00</updated><title type='text'>Data Type'larini Donusturmek(Implicit vs Explicit Conversion)</title><content type='html'>Hem VB.Net hem C# olsun, .Net ile gelen 2 dilde de daha küçük içeriğe sahip bir degiskeni daha büyük içeriği olan bir veri tipine dönüşümlerde ekstra kod yazılmasına gerek kalmadan veri otomatik olarak .Net Framework tarafından istenilen yeni veri tipine çevrilir. (Ör: short int'ten long int'e çevirmek.)&lt;br /&gt;&lt;br /&gt;Diğer yandan herhangi bir degiskeni büyük içeriğe sahip bir veri tipinden küçük içeriğe sahip bir veri tipine dönüştürmek istediğiniz zaman, olası veri kaybına sebep olunabileceğinden kodunuz içerisinde bir çeviri yapmak istediğinizi belirtmek zorundasınız, yoksa compiler hata verecektir. (Ör: long int'ten short int'e çevirmek.)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;VB:&lt;/strong&gt;&lt;br /&gt;Dim i As Int16&lt;br /&gt;Dim j As Int32&lt;br /&gt;j = 7&lt;br /&gt;i = CType(j, Int16)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;C#:&lt;/strong&gt;&lt;br /&gt;Int16 i;&lt;br /&gt;Int32 j;&lt;br /&gt;j = 7;&lt;br /&gt;i = (Int16)j;&lt;br /&gt;&lt;br /&gt;Bir diğer yandan herhangi birbiriyle alakasız 2 veri tipini birbirine dönüştürürken de aynı şekilde kodunuz içerisinde açık olarak neyi neye çevirmek istediğinizi belirtmek zorundasınız.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;VB.Net:&lt;/strong&gt;&lt;br /&gt;Dim x As Int32&lt;br /&gt;txtUserName.Text = x.ToString&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;C#:&lt;/strong&gt;&lt;br /&gt;int x = 7;&lt;br /&gt;txtUserName.Text = x.ToString();&lt;br /&gt;&lt;br /&gt;VB.Net default olarak sizin için bütün veri tipleri çevrimlerini otomatik olarak gerçekleştirmeye çalışacaktir. Ancak her zaman için kodunuz içinde kendiniz belirtmeniz, ilerde doğabilecek hataları önlemenize faydalı olacaktir.&lt;br /&gt;&lt;br /&gt;Eğer VB.Net in bu veri tiplerini otomatik çevirme özelliğini kapatmak isterseniz VB kod sayfalarınızın en üstüne;&lt;br /&gt;&lt;em&gt;Option Strict On&lt;/em&gt;&lt;br /&gt;kodunu girebilirsiniz. Aynı şekilde eğer tüm projeniz için Option Strict özelliğini aktif hale getirmek isterseniz &lt;strong&gt;Project Properties&lt;/strong&gt; Menüsunden &lt;strong&gt;Build&lt;/strong&gt; kısmına giderek &lt;strong&gt;Option Strict&lt;/strong&gt; özelliğini &lt;strong&gt;On &lt;/strong&gt;yapabilir ve tek tek dosyalar için bu özelliği açıp kapamaktan kurtulup zaman kazanabilirsiniz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112105204132854836?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112105204132854836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112105204132854836'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/data-typelarini-donusturmekimplicit-vs.html' title='Data Type&apos;larini Donusturmek(Implicit vs Explicit Conversion)'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112102985105025630</id><published>2005-07-11T00:05:00.000+03:00</published><updated>2005-07-28T23:20:30.296+03:00</updated><title type='text'>Visual Studio Ipuclari - 1</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/ipucu.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 72px; CURSOR: hand; HEIGHT: 49px; TEXT-ALIGN: center" height="101" alt="" src="http://photos1.blogger.com/blogger/3068/1252/320/ipucu.gif" width="187" border="0" /&gt;&lt;/a&gt; Bundan sonra aklıma geldikçe faydasını gördüğüm ve göze pek de ilk etapta çarpmayan Visual Studio (.NET 2003 versiyonu) ipuçlarını da burada paylaşacağım.&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;Sayfa Kodunu 2 Pencerede Görüntülemek(Window Split)&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Bazen kodunuzdaki 2 bölümü aynı anda görmek isteyebilirsiniz. Örneğin 2 tane birbiriyle alakalı fonksiyonun kodunu aynı anda görmek veya 2 tane farklı fonksiyonu karşılaştırmak için buna ihtiyaç duyduğunuz olmuştur. Eminim çoğumuz scrollbarda bir yukarı bir aşsağı gidip gelmekten pek hoşlanmıyordur.&lt;br /&gt;&lt;br /&gt;Visual Studio da ekranı 2 ye bölerek aynı sayfanın kodunu ekranın üst ve alt bölümlerinde bölünmüş olarak incelemenize izin veren bir özellik var. Aktif hale getirmek için &lt;strong&gt;Window&lt;/strong&gt; menüsünden &lt;strong&gt;Split&lt;/strong&gt;'i seçmeniz yeterli...Tekrar eski haline getirmek için ise split bar'a 2 kez tıklayabilir veya Window menüsüne tekrar giderek &lt;strong&gt;remove split&lt;/strong&gt;'i seçebilirsiniz.&lt;br /&gt;&lt;br /&gt;Aynı şekilde tam sayfa olarak o sayfanın kodunu yeni bir pencerede görüntülemek isterseniz yine &lt;strong&gt;Window&lt;/strong&gt; menüsünden &lt;strong&gt;New Window&lt;/strong&gt; opsiyonunu seçebilirsiniz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112102985105025630?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112102985105025630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112102985105025630'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/visual-studio-ipuclari-1.html' title='Visual Studio Ipuclari - 1'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112083090891614675</id><published>2005-07-08T16:39:00.000+03:00</published><updated>2005-07-28T23:20:09.566+03:00</updated><title type='text'>Fonksiyon ne kadar zamanda gerceklesti?</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/codeclock.gif"&gt;&lt;/a&gt;Yazdığınız kodun performansına önem veriyorsanız ve programınızdaki herhangi bi operasyonun ne kadar zamanda gerçekleştiğini bilmek istiyorsanız bunu ufak bi metodla görebilir ve şüphe ettiğiniz performansı etkileyen problemleri kolayca analiz edebilirsiniz ;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Örnek Class ve Method: (C#)&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;public class GecenZaman&lt;br /&gt;{&lt;br /&gt;private GecenZaman()&lt;br /&gt;{}&lt;br /&gt;public static DateTime BaslangicZamani;&lt;br /&gt;public static DateTime BitisZamani;&lt;br /&gt;public static TimeSpan GecenZamaniBul()&lt;br /&gt;{&lt;br /&gt;TimeSpan gecenZaman = EndTime.Subtract(BaslangicZamani);&lt;br /&gt;return gecenZaman;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Kullanim: Bir Button Click ile kullandim&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;private void button1_Click(object sender, System.EventArgs e)&lt;br /&gt;{&lt;br /&gt;//Baslangic Zamanini su anki zamana bakarak aliyoruz&lt;br /&gt;GecenZaman.StartTime = DateTime.Now;&lt;br /&gt;for (long i = 0; i &lt; endtime =" DateTime.Now;"&gt;&lt;br /&gt;{&lt;br /&gt;// Burada ne kadar surdugunu merak ettiginiz bir islem yapin.&lt;br /&gt;}&lt;br /&gt;GecenZaman.EndTime = DateTime.Now;&lt;br /&gt;//Gecen Zamani bir mesaj kutusunda goruntuluyoruz&lt;br /&gt;MessageBox.Show(GecenZaman.GecenZamaniBul().ToString());&lt;br /&gt;}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112083090891614675?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112083090891614675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112083090891614675'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/fonksiyon-ne-kadar-zamanda-gerceklesti.html' title='Fonksiyon ne kadar zamanda gerceklesti?'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112078482097218310</id><published>2005-07-08T04:05:00.000+03:00</published><updated>2005-07-28T23:19:49.696+03:00</updated><title type='text'>Ornek Program Kodu Arama Motoru</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/logo_big.gif"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/3068/1252/320/logo_big.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Eğer bir arama motoru olsaydı ve program kodlarını içerisinde kolayca arayabilseydik, google kadar da efektif sonuçlar verseydi diye düşünüyorsanız &lt;a href="http://www.koders.com/"&gt;http://www.koders.com/&lt;/a&gt; sitesine kesinlikle uğramanızı öneririm.&lt;br /&gt;&lt;br /&gt;Dünyanın her köşesinden milyonlarca kişi tarafından yazılmış ve açık kaynak kodlu projelerden aktarılmış olan program kodları kullanıma sunulmuş. Arama motoru ile hem kategorilere göre, hemde girilen arama kelimelerine göre arama yapabiliyorsunuz.&lt;br /&gt;&lt;br /&gt;Hemen hemen aklınıza gelen bütün programlama dilleri(C#, C++, ASP, VB.Net, SQL, Javascript ...) ile yazılmış kodlar veritabanlarında mevcut.&lt;br /&gt;&lt;br /&gt;Böyle güzel kaynaklar buldukça paylaşmaya devam edeceğim.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112078482097218310?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112078482097218310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112078482097218310'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/ornek-program-kodu-arama-motoru.html' title='Ornek Program Kodu Arama Motoru'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112068418921446713</id><published>2005-07-07T00:07:00.000+03:00</published><updated>2005-07-28T23:19:29.600+03:00</updated><title type='text'>Sitenizin Ziyaretcilerini Kaybetmenizde Baslica Sebepler</title><content type='html'>1- Mouse'in sağ tuş clicklemesini engellemek.&lt;br /&gt;(Kullanıcı istedikten sonra bir yolunu bulup zaten bunun üstesinden gelebilir.)&lt;br /&gt;&lt;br /&gt;2- Sayfa açılışında müzik çalmak...&lt;br /&gt;(Midi, mp3, hepside aynı soyun ürünüdür . Sitenizi yavaşlatip, ziyaretçilerinizi çileden çıkartmaktan başka bir işe yaramazlar.)&lt;br /&gt;&lt;br /&gt;3- Ziyaretçilerinizin çok yüksek çözünürlük kullandığını farzetmek ve siteyi ona göre hazırlamak. Onların site içerisinde birşeyler okuyabilmek için devamlı sayfayı scroll etmelerine sebep olmak.&lt;br /&gt;(Bilinen en büyük tasarım hatalarındandır. 1024x768 destekleyen monitörlere ve ekran kartlarına hala herkes sahip değil!, olmak zorunda da değiller.)&lt;br /&gt;&lt;br /&gt;4- Site açılışında popup pencereler açılması...&lt;br /&gt;&lt;br /&gt;5- Sitede optimize edilmemiş bir ton grafik kullanmak.&lt;br /&gt;(Tümü photoshop ile yapılmış siteler bile görür olduk artık. Photoshop web dizayn programı değildir, olmayacaktır da!)&lt;br /&gt;&lt;br /&gt;6- Kötü bir arka plan rengi seçmek ve textin okunmasını zorlaştırmak. Sanırım daha akla gelmeyen bir çok şey vardır bunun gibi...&lt;br /&gt;&lt;br /&gt;İnsanları yukardakilerden vazgeçirene kadar söylemekten bir web kullanıcısı olarak benim de görevim sanırım.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112068418921446713?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112068418921446713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112068418921446713'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/sitenizin-ziyaretcilerini.html' title='Sitenizin Ziyaretcilerini Kaybetmenizde Baslica Sebepler'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112051653041330473</id><published>2005-07-05T01:34:00.000+03:00</published><updated>2006-02-27T17:34:22.966+02:00</updated><title type='text'>Kendinizi Bedava Sertifikalandirin</title><content type='html'>Eğer IT alanındaki spesifik konularda kendinizi ücretsiz olarak sertifikalandırmak istiyorsanız, Brainbench adlı Amerikan firması birçok konuda ücretsiz olarak kendinizi test ederek sertifikalanmanızı sağlıyor. İlgilenirseniz aşşağıdaki adresten testlere ve diğer kaynaklara ulaşabilirsiniz.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://brainbench.com/xml/bb/common/testcenter/freetests.xml" target="_blank"&gt;&lt;span style="TEXT-DECORATION: none; test-size: small; font-size:78%;color:#ff0000;"  &gt;http://brainbench.com/xml/bb/common/testcenter/freetests.xml&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Ücretsiz olan konular arasında Windows 95, 98, XP, Windows 2003, HTML, CSS, Java, Oracle 10g, Access, Network güvenliği vs. gibi konuların yanı sıra, ingilizce kelime dağarcığı, matematik temel bilgiler, ve kişilik testi gibi ilginç konular hakkında da bedava testler bulunmakta.&lt;br /&gt;&lt;br /&gt;Şirket aynı zamanda yazılım ve her türlü IT sektörü ile ilgili konularda ücretli sertifika programları da sunuyor.&lt;br /&gt;&lt;br /&gt;Kişilik testi ve zeka testi gibi testler içeren bir diğer güzel site ise;&lt;br /&gt;&lt;a href="http://www.queendom.com/"&gt;&lt;span style="TEXT-DECORATION: none; text-size: smallcolor:#ff0000;" &gt;http://www.queendom.com/&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112051653041330473?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112051653041330473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112051653041330473'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/kendinizi-bedava-sertifikalandirin.html' title='Kendinizi Bedava Sertifikalandirin'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112040770539300487</id><published>2005-07-03T19:18:00.000+03:00</published><updated>2005-07-28T23:18:35.310+03:00</updated><title type='text'>Cascading Style Sheets - Inline'mi External'mi?</title><content type='html'>Sanırım artık CSS'in avantajlarını bilmeyen kalmadı. Bu aralar düşündüğüm bir konu ise sitelere ve web aplikasyonlarına uygularken CSS'i kullanabileceğiniz bir çok yöntem. İnline style kullanmakmı yoksa external style sheets mi? Class seviyesinde kullanımmı, yoksa ID'lere göre atama yapmak mı? Sanırım bu soruları herkes en az bir kez kendi kendine sormuştur. O yüzden ufak bir özetle ne tür bir yol izlenerek daha efektif sonuçlar elde edilebileceğini özetlemek istedim.&lt;br /&gt;&lt;br /&gt;Dışardan bağlanılan style sheet'ler her zaman daha kullanışlı gözüküyor. Site çapında değişiklik yapacağınız zaman internal style sheetler büyük zaman kayıplarına sebep olabilir. 500 sayfalık bir bir siteniz olduğunu düşünün... Her sayfada ayrı ayrı taglere CSS uygulamış olsaydınız işiniz ne kadar zor olurdu bir düşünün. Bütün sayfaların kodunu tek tek değiştirmek zorunda kalacaktınız.Oysa external style sheet kullanarak tek bir dosyada yapacağınız değişiklikle bütün sayfalarınızın görüntüsünü bir kaç dakika içerisinde değiştirebilirsiniz.&lt;br /&gt;&lt;br /&gt;External style sheet kullanmanın bir diğer avantajı da CSS dosyasının sadece 1 kez okunarak cache edilerek saklanması ve de sayfalarınızda ekstra yük yaratmayarak daha hızlı yüklenmesini sağlaması.CSS'i kısaca yazdığınız programlarla kıyaslarsanız, kullanılması gerektiği şekil, size kodunuzu tekrar kullanılmayı sağlıyacağı şeklidir. 1 kez yazın ve sitenizin her yerinde kullanın.&lt;br /&gt;&lt;br /&gt;External style sheets kullanımının düzenli web sayfaları ve web aplikasyonları yaratılmasında bir diğer önemli avantajı da, program kodu, dizayn kodu ve de CSS kodunuzun birbirinden ayrı tutulmasıdır. Web sitenizde veya aplikasyonlarınızda size çok zaman kazandıracağından ve de daha kolay şekilde aradığınızı bulmanızı sağlıyacağından şüpheniz olmasın.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112040770539300487?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112040770539300487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112040770539300487'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/cascading-style-sheets-inlinemi.html' title='Cascading Style Sheets - Inline&apos;mi External&apos;mi?'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112025163757568609</id><published>2005-07-01T23:55:00.000+03:00</published><updated>2006-02-27T22:35:19.436+02:00</updated><title type='text'>Visual Studio 2005 Baslangic Kitleri</title><content type='html'>Visual Studio 2005 ile neler yapabileceğinizi merak ediyorsanız vede örnek programlar ve applikasyonlar üzerinde biraz kurcalama yapmak istiyorsanız Microsoft, yazılımcılar için hazırlanmış değişik özelliklerdeki örnek kitleri Msdn üzerinde paylaşıma sunmuş. Windows Forms, Web Forms, XML ve SQL Server 2005 gibi ürünleri utilize eden değişik ve ilginç örneklere aşşağıdaki linkten ulaşabilirsiniz;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lab.msdn.microsoft.com/vs2005/downloads/starterkits/" target="_blank"&gt;&lt;span style="font-size:85%;text-decoration:none;color:#ff0000;"&gt;http://lab.msdn.microsoft.com/vs2005/downloads/starterkits/&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112025163757568609?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112025163757568609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112025163757568609'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/07/visual-studio-2005-baslangic-kitleri.html' title='Visual Studio 2005 Baslangic Kitleri'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112016467152805340</id><published>2005-06-30T23:42:00.000+03:00</published><updated>2005-07-28T23:17:40.010+03:00</updated><title type='text'>Asp.Net Web Aplikasyonlariniz Icin Grafikler</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/free_icons_1001.gif"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/free_icons_1001.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/free_icons_1152.gif"&gt;&lt;img style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/free_icons_1152.gif" border="0" /&gt;&lt;/a&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/3068/1252/200/free_icons_1042.gif" border="0" /&gt;&lt;br /&gt;&lt;a href="http://www.eggheadcafe.com/free_graphics_icons/internal/free_clipart.asp?q=4&amp;start=1"&gt;EggHeadCafe.com&lt;/a&gt; programcılar için yararlı olabilecek birçok ikon, grafik ve clip art dosyasını web sitelerinde ücretsiz olarak sunuyor.&lt;br /&gt;&lt;br /&gt;Grafiklerin hepsi transparan arka plana sahip, böylece istediğiniz grafik programıyla üzerinde oynamalar yapabilirsiniz. Sizin de grafik konusu uzmanlık alanınız değil ise, güzel bir kaynak olarak bookmarklarınız arasında bulunsun derim.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.eggheadcafe.com/free_graphics_icons/internal/free_clipart.asp?q=4&amp;amp;start=1"&gt;Siteye Buradan Ulasabilirsiniz.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112016467152805340?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112016467152805340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112016467152805340'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/06/aspnet-web-aplikasyonlariniz-icin.html' title='Asp.Net Web Aplikasyonlariniz Icin Grafikler'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112015930781843193</id><published>2005-06-30T22:18:00.000+03:00</published><updated>2005-07-28T23:17:05.590+03:00</updated><title type='text'>SQL Saldirilarini Onleme Yollari</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/sqlinjection.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 171px; CURSOR: hand; HEIGHT: 47px; TEXT-ALIGN: center" height="74" alt="" src="http://photos1.blogger.com/blogger/3068/1252/320/sqlinjection.jpg" width="241" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;SQL enjeksiyon saldırıları olarak bilinen saldırı türü, SQL komutlarını kullanarak saldırganların aplikasyonunuzdaki input field'lara(Ör:kullanıcı adı ve parola girilen kısımlar) eklemeler yaparak SQL ifadelerinizde oynamalar yapılmasını ve veritabanınıza gönderdiğiniz veya veritabanından size geri gelen SQL ifadelerini değiştirilmesi şeklinde gelişir.&lt;br /&gt;&lt;br /&gt;Genel olarak bir web programcısının bu tür saldırıları engelleyebilmek için ilk olarak aşşağıdaki yöntemleri uygulaması gerekir;&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Dinamik sql ifadeleri kullanmak yerine parametreli sql ifadeleri yada stored procedure kullanmak.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;İnput field'ler için(Ör:kullanıcı adı ve parola girilen kısımlar) girilebilen karakter sayısını mutlaka gerekli olan miktara limitleyin. (Maxlength attribute'ını kullanarak.)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Kullanıcı tarafından girilen karakterleri test edin ve uygun olmayan karakterlere izin vermeyin(Örneğin: ' ,- , vs). RegularExpressionValidator'ı kullanarak bunu uygulayabilirsiniz.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Sayfalarınızda oluşabilicek hata mesajlarında kullanıcıya mutlaka verebildiğiniz kadar az bilgi verilmesini sağlayın. ASP.NET?in jenerik bir hata sayfasını kullanabilirsiniz. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;"SQL Injection Saldırıları" başlı başına bir konu olduğu için google da ayrıntılı bir arama yaparak konuyu ayrıntılı olarak incelemek, web aplikasyonlarınızı güvenli hale getirmenizde önemli bir adım olacaktır.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112015930781843193?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112015930781843193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112015930781843193'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/06/sql-saldirilarini-onleme-yollari.html' title='SQL Saldirilarini Onleme Yollari'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112007600253479809</id><published>2005-06-29T23:11:00.000+03:00</published><updated>2005-06-30T22:22:09.576+03:00</updated><title type='text'>Asp.Net'te Tek Sayfada 2 Form Birden Kullanmak</title><content type='html'>Asp.Net sayfaları normal durumlarda aynı sayfada birden fazla HTML form kullanımına izin vermez ve sadece kendisine post edebilir, ama ufak bir kod değişikligi ile bunu değiştirmemiz mümkün.&lt;br /&gt;&lt;br /&gt;Hangi durumda 2 adet form'a ihtiyaç duyabiliriz?&lt;br /&gt;Sayfanın bir köşesinde kullanıcı girişi için ayrı bir form veya arama kısmı oluşturmak için vs.&lt;br /&gt;&lt;br /&gt;Ana kural, sayfa içerisinde aynı anda sadece 1 form &lt;strong&gt;visible&lt;/strong&gt; konumda olabilir. &lt;strong&gt;Visible=true&lt;/strong&gt; özelliği ile oynayarak bir kaç formu bir sayfa içerisinde bulundurabilirsiniz. (Sadece 1 tanesi o an içerisinde visible olma şartı ile).&lt;br /&gt;&lt;br /&gt;Eğer istediğiniz, bir alt form yaratıp kullanıcılara giriş bölümü veya arama motoru bölümü gibi bir bölüm hazırlamak ise, HTML formlarına geri dönmeniz daha mantıklı olacaktır(Yani &lt;em&gt;runat&lt;/em&gt; özelliği olmayan formlar kullanmak). Bunun dezavantajı nedir? Artık Asp.Net'teki postback özelliğini örnek verdiğimiz kullanıcı girişi yada arama bölümünde kullanamazsınız.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112007600253479809?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112007600253479809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112007600253479809'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/06/aspnette-tek-sayfada-2-form-birden.html' title='Asp.Net&apos;te Tek Sayfada 2 Form Birden Kullanmak'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-112007178149411538</id><published>2005-06-29T21:35:00.000+03:00</published><updated>2005-06-30T22:22:21.296+03:00</updated><title type='text'>64 Bit .NET Framework 2.0</title><content type='html'>&lt;div align="left"&gt;.Net Framework'ün yeni versiyonu, 64-bit masaüstü sistemler ve serverlar için yüksek performans ve bellek desteği sağlıyor(16 Terabyte'a kadar). Her bir CPU döngüsünde 64 bit işlem yapılmasını sağlayan bu yeni mimari, çok daha hızlı numerik hesaplamalar yapılmasına izin veriyor. &lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;64 bit mimarisinin, ön bellek kullanımını ön planda bulunduran ve de yoğun bilimsel hesaplamalar yapan uygulamalar için önemli oranda performans artışı sağlaması bekleniyor. &lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;.Net Framework 2.0'ın 64 bitlik versiyonu, 32 bitlik versiyonu ile aynı bileşenler ile birlikte eliyor.(CLR, ADO.Net, Asp.Net, .Net Framework SDK) &lt;/div&gt;&lt;div align="left"&gt;&lt;br /&gt;.Net Framework 2.0 64-bit, şu anda piyasada bulunan Windows Server 2003(SP1) ve Windows XP 64-bit işletim sistemleri üzerinde kurulabiliyor. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-112007178149411538?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112007178149411538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/112007178149411538'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/06/64-bit-net-framework-20.html' title='64 Bit .NET Framework 2.0'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-13993498.post-111998599391085356</id><published>2005-06-28T22:10:00.000+03:00</published><updated>2005-07-28T23:16:32.930+03:00</updated><title type='text'>Visual Studio 2005 Onemli Noktalar</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/3068/1252/1600/vs2005.jpg"&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/3068/1252/320/vs2005.jpg" border="0" /&gt;&lt;/a&gt;Visual Studio 2005 Asp.Net web aplikasyonları için getirdiği birçok yeni özelliğin yanı sıra, göze ilk etapta çarpmayan ama büyük oranda performans artışına sebep olacak özellikleri de beraberinde getiriyor.&lt;br /&gt;&lt;br /&gt;Visual Studio 2005'in bilinen en büyük avantajı, web yazılımcıları için birçok yeni özelligi bünyesinde barındırması. Bu yeni sürümle Visual Studio .Net 2003 teki bazı eksikliklerin üstesinden gelinmeye çalışılmış. Bunlardan en önemlileri başlıca; &lt;ul&gt;&lt;li&gt;IIS artık Visual Studio .Net ile web aplikasyonları yazabilmek için zorunlu olmaktan çıkarılmış. Visual Studio 2005 kendi içerisinde bir local web server ile beraber geliyor ve test ve debug islemlerini hızlandırıyor.&lt;/li&gt;&lt;li&gt;Visual Studio 2005 bir kaç değişik yoldan yeni web projeleri yaratmanıza izin veriyor. Frontpage Server Extensions kullanımına ek olarak, kaynak dosyalarınıza FTP kullanarak yada direk dizin kullanımı ile ulaşabilirsiniz. Ayni zamanda local IIS dizininize direk ulaşarak oradan sanal dizinlerinize ulaşabilir, ve yenilerini oluşturabilirsiniz.&lt;/li&gt;&lt;li&gt;Çözüm dosyası(Solution File) *.sln yaratma zorunluluğu, web projesi yaratmak icin artık mecburiyet teşkil etmiyor. Kök dizin web projenizi belirliyor ve dosyalarınızı buraya eklemeniz, projenizde belirmesi için yeterli oluyor.&lt;/li&gt;&lt;li&gt;Visual Studio 2005, Visual Studio 2003'te olduğu gibi sitenizdeki bütün dosyaları tek bir assembly içerisine compile etme işlemini sona erdirmiş. Bunun yerine yeni Asp.Net modelleme tekniği ile dinamik olarak dosya tiplerini bulunduğu klasörlere göre algılıyor. Bu şekilde .aspx, .cs ve .vb uzantılı dosyalar ve diğer kaynak dosyalarında yapılan değişiklikler çok daha hızlı bir şekilde algılanıyor.&lt;/li&gt;&lt;li&gt;Visual Studio 2005 ile dosyaları tek başına düzenleyip değiştirme imkanı sağlanmış. Artık tek bir dosyayı değiştirmek için, o dosyanın bir proje içerisinde bulunma zorunluluğu ortadan kaldırılmış. Örneğin bir .aspx uzantılı dosyaya windows explorer da tıklarsanız Visual Studio açılıyor ve dosyayı kolay bir şekilde değiştirmenize izin veriyor.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Asp.Net kısa tanım:&lt;br /&gt;&lt;/strong&gt;Asp.Net, yazılımcılara web aplikasyonları yaratmada HTTP'nin üzerine kullanabilecekleri soyut bir katman sağlıyor. Asp.Net sayesinde yazılımcılar yüksek seviye objelerle(class ve diger bilesenler) çalışma ve objeye dayalı programlamanın getirdiği avantajlardan yararlanma imkanı buluyor.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13993498-111998599391085356?l=teknoturk.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/111998599391085356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13993498/posts/default/111998599391085356'/><link rel='alternate' type='text/html' href='http://teknoturk.blogspot.com/2005/06/visual-studio-2005-onemli-noktalar.html' title='Visual Studio 2005 Onemli Noktalar'/><author><name>TeknoTurk</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
