tag:blogger.com,1999:blog-63368033705497199862008-07-24T01:34:23.851+03:00Vukuf BlogEsref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comBlogger77125tag:blogger.com,1999:blog-6336803370549719986.post-80878568819251010512008-06-20T16:07:00.005+03:002008-06-20T16:27:51.229+03:00HP ProLiant makinelerde Windows sanallaştırma özelliklerini (Hyper-V) kullanılabilir duruma getirmek<span style="font-weight: bold;">Windows 2008 Server üzerinde sanallaştırma için Hyper-V isminde sistem kullanılır. Bu sistem fiziksel sanallaştırma tekniğini kullandığı için, makinenin fiziksel özelliklerini yöneten BIOS/RBSU kısmında bazı ayarlar yapmak gerekir.</span><br /><br />Rol (Eng:"Role") olarak ekledikten sonra sanal makinenizi açmaya çalıştığınızda "Hypervisor is not running" hatası aldıysanız, muhtemelen makinenizdeki BIOS ayarı uygun durumda değil demektir. Intel için ayarlar aşağıdaki şekilde yapılabilir:<br /><br /><ul><li>Makine açılırken F9 tuşuyla BIOS'a (RBSU) girin.</li><li>Andvanced menüsüne girin.</li><li>Processor menüsüne girin.</li><li>Processor Hyper-Threading ayarı <span style="font-weight: bold;">Disabled </span>olmalıdır.</li><li>No-Execute Memory Protection ayarı <span style="font-weight: bold;">Enabled </span>olmalıdır.</li><li>Intel(R) Virtualization Technology ayarı <span style="font-weight: bold;">Enabled </span>olmalıdır.</li><li>İki kere F10 tuşlayarak kaydedip çıkabilirsiniz.</li></ul><br />Artık, eklediğiniz sanal makineleri çalıştırabilirsiniz.<br /><br />AMD için ayarları ve diğer ayrıntıları HP dökümanından öğrenebilirsiniz (İngilizce, Sayfa 14): <a href="http://www.google.com.tr/url?sa=t&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fh20000.www2.hp.com%2Fbc%2Fdocs%2Fsupport%2FSupportManual%2Fc01286554%2Fc01286554.pdf&amp;ei=UK5bSLTPBJCM1gbG383HDw&amp;usg=AFQjCNHkxL4KnqRGR0Hx9g7PQEvZ1B174A&amp;sig2=SBWWuEgi-uu5GxOmhtmVXA">Implementing Microsoft® Windows® Server 2008 Hyper-V Release Candidate 1 on HP ProLiant servers </a>Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-77103063252238915892008-04-13T22:00:00.002+03:002008-04-13T22:35:47.865+03:00Yazılımınız ve onun sihirli dili: İşlevsel Tasarım<p class="MsoNormal"><b style="">Ürününüz kendisini kullanıcınıza tasarımıyla anlatır. Bu ürün ister bir yazılım olsun ister bir telefon kumandası; baş başa kaldıklarında, aralarındaki tek iletişim aracı tasarımdır.<o:p></o:p></b></p> Tasarım ne kadar anlaşılır ve yönlendiriciyse, kullanıcınız kendini o kadar rahat ve emin hisseder. Tasarım, ürünün dilidir. Bu dili kötü kullanıyorsanız, bu eksikliği kullanım kılavuzlarıyla, ürün danışmanlarınızla, çağrı merkezinizle… gidermek zorunda kalırsınız. Bu, her iki taraf için de masraflı ve zor bir proje olacaktır.<br /><br />Tasarımın iki kolu vardır; estetik tasarım ve işlevsel tasarım. Estetik tasarım, duygulara ve göze hitap eder. İşlevsel tasarım ise akla ve mantığa hitap eder. Tasarımınız hem göze-duygulara hem de akla-mantığa hitap etmelidir. Hatta sadece akla-mantığa hitap etmesi yeterlidir. Çünkü ürün özellikle yazılım ürünleri, kullanıcıların çokça vakit geçirmek istedikleri şeyler olmadıkları için bir an önce işlerini halletmelerini sağlamak için elinizden geleni yapın. İyi tasarım, istenen işi en kısa sürede yaptıran tasarımdır.<br /><br />İşlevsel tasarımların görüntüsü sadedir, bilindiktir, sıradandır hatta tekdüzedir. Tasarımlarınızın klasik veya tekdüze olmasından korkmayın. Aksine resimlerle dolu kompleks ve karmaşık bir hale gelmesinden korkun. Tasarımlarınızda resimlerden çok renklerden faydalanın. Ama birbiriyle uyumlu renklerden. Renkler konusunda fazla cüretkâr olmayın. Beyaz ve gri, her yerde tutar. Renkler konusunda resmî olmayan kurallar vardır; hata mesajları her zaman kırmızı renktir; trafik lambasındaki DUR ışığı gibi. OK mesajları hep yeşil veya sarı olur; yine trafik ışıklarını düşünün.<br /><br />Tasarımınız, ürününüzün işlevlerini ne kadar iyi anlatıyorsa, işlevsel tasarımınız o kadar iyidir. İşlevsel tasarım, yazılarla, düğmelerle, resimlerle, liste kutularıyla, labellarla ve resimlerle bir bütündür. Bu nedenle, estetik tasarımcınızın dediği ile işlevsel tasarımcınızın dediği arasında kaldığınızda, işlevsel tasarımcınızı seçin; zararlı çıkmayacaksınız.<br /><br />Başarısız bir işlevsel tasarım çoğu zaman, kontrolü kaybedilmiş bir teknik altyapıya ve kafası karışık bir teknik kadroya dalalet eder. Her ne kadar, teknik kadrolar bunu kabul etmese de. Yazılımınızın teknik altyapısını hazırlamadan önce (kod, veritabanı vs) mutlaka işlevsel tasarımını belirleyin. Kodları yazana kadar, siz onun efendisisinizdir. Ama kodları ve veritabanını hazırladıktan sonra tasarımın nasıl olabileceğine onlar karar verir.<br /><br /><span style="font-weight: bold;">İşlevsel tasarımın katkıları</span><br /><br />Başarılı bir işlevsel tasarımın ürüne ve işletmeye katkılarından bazıları şunlardır:<br /><br />• <span style="font-weight: bold;">Kullanım kılavuzları: </span>İşlevsel tasarım ne kadar başarılıysa, kullanıcılar kullanım kılavuzlarına o kadar az ihtiyaç duyar. Kılavuzlarınız daha sade olur. Sade tutulmuş bir kullanım kılavuzunun güncel tutulması kolay olur. Okunması daha kısa sürer. Sade bir kılavuzun çevirisini yaptırmak daha ucuzdur. İşlevsel tasarımı başarılı bir ürünün kullanımı daha kolay ve basit olduğu için, kullanım kılavuzunda anlatmak daha kolaydır. Kullanım kılavuzu hazırlama ve güncelleme maliyeti daha düşüktür.<br />• <span style="font-weight: bold;">Destek maliyetleri:</span> İşlevsel tasarımı başarılıysa, kullanmayı öğrenmek daha kolaydır; ürün destek bölümünüzün telefonları daha az çalar. Daha az e-posta alırsınız. Kullanıcıların ürünü öğrenme süresi daha kısa olur. Destek maliyetleri daha düşük olur.<br />• <span style="font-weight: bold;">Müşteri memnuniyeti:</span> İşlevsel tasarım başarılıysa, şikâyet eden kullanıcı sayısı daha az olur. Ürününüzü müşterinizdeki personele kabul ettirmek daha kolay olur.Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-6564793273406886802008-04-13T20:53:00.003+03:002008-04-13T21:22:58.195+03:00Arama Motoru Optimizasyonu (SEO)Google Analytics gibi analiz yazılımları sayesinde, şirketler artık sitelerine gelen ziyaretçilerinin yarısından fazlasının arama motorlarından geldiğini öğrenmeye başladır. Bu ortamda artık arama motorlarında ilk sıralarda çıkmak en önemli hedef haline gelebiliyor. Optimizasyon yaparken hem teknik adamlara hem tasarımcılara hem flashçılara hem de içerikçileri iş düşüyor. Kısaca, bu iş bir ekip işidir. Aşağıda tüm ekip için bazı ipuçlarını listeliyoruz. <br /> <br /> <br /> <br />* Javascript kullanımı normalleşmeli. Alternatif HTML yayınlanmalı. <br /><p>* Flash kullanımı normalleşmeli. Alternatif HTML hazırlanmalı.</p> <br /><p>* H1, H2, H3 etiketleri yerinde ve bolca kullanılmalı.</p> <br /><p>* Siteye farklı farklı sitelerden linkler verilmeli. Değerli siteler değerli link demektir. Sitemizi de değerli yapar. <br /> <br /></p> <br /><p>* Resimlerde açıklayıcı kodlamalar yapılmalı. Örn: &lt;img src="http://www.blogger.com/post-edit.do" alt="" title=""&gt;</p> <br /><p>* Site sık sık güncellemeli.</p> <br /><p>* Sitemizin ziyaret sayısı, arama motorları için çok önemlidir. <br /> <br /></p> <br /><p>* Sitemize insanlar katkıda bulunabilmeli. Yazılara yorum ekleme ve interaktivite formları (blog yorumları, forumlar vs).</p> <br /><p>* Google Webmaster Tools: <br /> <br /> <a href="https://www.google.com/webmasters/tools/docs/en/protocol.html">https://www.google.com/webmasters/tools/docs/en/protocol.html</a></p> <br /><p> * Arama motorlarına ve dizinlere (örn: dmoz.org vs) kayıt.</p> <br /><p>* Anahtar kelimeler belirlemeliyiz, sayfalarımızda yerinde ve bolca kullanmalıyız.</p> <br /><p>* Domainde anahtar kelimelerin geçmesi. Örn: "Boch Kırıcı" araması için <a href="http://www.boschkirici.com/">www.boschkirici.com</a> adresi çok iyi bir adrestir.</p> <br /><p>* Adres satırında anahtar kelimelerin geçmesi. <br /> <br /></p> <br /><p>Örn: <br /> <br /></p> <br /><p>http://www.example.com/?urunid=12545</p> <br /><p>yerine:</p> <br /><p><a href="http://.../urunler/bosch_kirici">http://www.example.com/urunler/bosch_kirici</a></p> <br /><p>daha iyi bir adreslemedir. <br /> <br /></p> <br /><p>* Daha az POST method daha çok GET method. Arama motorları POST ile çalışan navigasyonu es geçerler. <br /> <br /></p> <br /><p>* Resimlerin adreslemesi de önemlidir. Örn:</p> <br /><p>2263BC92-19BB-D109.jpg</p> <br /><p>yerine</p> <br /><p>/urunler/resimler/bosch_kirici.jpg</p> <br /><p>daha iyi bir adreslemedir. <br /> <br /></p> <br /><p>* Javascript ile sayfa açma yerine linkle sayfa açma tercih edilmelidir. Örn:</p> <br /><p>href="window.location='/urun1.aspx'"</p> <br /><p>yerine</p> <br /><p>href="/urun1.aspx"</p> <br /><p>daha iyi bir linklemedir. <br /> <br /></p> <br /><p>* İçerikleri ekranda görüntülemek için Javascript veya Flash yerinde doğrudan HTML kullanılmalıdır. <br /> <br /></p> <br /><p>* Menülerde vs kullandığımız Javascript kodlarını arama motorlarının da kullanabileceği şekilde ayarlayabiliriz. Örn:</p> <br /><p>&lt;noscript&gt; <br /> <br /> &lt;ul&gt; <br /> <br />&lt;li&gt;&lt;a href="urun_detay.cfm?id=234234"&gt;Delici&lt;/a&gt;&lt;/li&gt; <br /> <br />&lt;li&gt;&lt;a href="urun_detay.cfm?id=234234"&gt;Kırıcı&lt;/a&gt;&lt;/li&gt; <br /> <br />&lt;li&gt;&lt;a href="urun_detay.cfm?id=234234"&gt;Bölücü&lt;/a&gt;&lt;/li&gt; <br /> <br />&lt;li&gt;&lt;a href="urun_detay.cfm?id=234234"&gt;vs vs vs&lt;/a&gt;&lt;/li&gt; <br /> <br />&lt;/ul&gt; <br /> <br />&lt;/noscript&gt; <br /> <br /></p> <br /><p>* Benzer şekilde, arama motorları için Flash'a alternatif olarak sayfada aynı anda text linkler de bulundurmalıyız. Örn:</p> <br />&lt;object&gt; <br /> <br />&lt;embed /&gt; <br /> <br />&lt;ul&gt; <br /> <br />&lt;li&gt;&lt;a href="http://www.blogger.com/urun_detay.cfm?id=234234"&gt;Delici&lt;/a&gt;&lt;br&gt; <br /> <br />&lt;/li&gt; <br /> <br />&lt;li&gt;&lt;a href="http://www.blogger.com/urun_detay.cfm?id=234234"&gt;Kırıcı&lt;/a&gt;&lt;br&gt; <br /> <br />&lt;/li&gt; <br /> <br />&lt;li&gt;&lt;a href="http://www.blogger.com/urun_detay.cfm?id=234234"&gt;Bölücü&lt;/a&gt;&lt;br&gt; <br /> <br />&lt;/li&gt; <br /> <br />&lt;li&gt;&lt;a href="http://www.blogger.com/urun_detay.cfm?id=234234"&gt;vs vs vs&lt;/a&gt;&lt;br&gt; <br /> <br />&lt;/li&gt; <br /> <br />&lt;/ul&gt; <br /> <br />&lt;/object&gt; <br /> <br /> <br /> <br /><p>Arama motorları text linkleri, ziyaretçileriniz ise Javascript ve Flashlarınızı kullanacaktır. <br /> <br /></p> <br />* Sitenin başlığında (title) anahtar kelimelerimizin geçmesi iyi olur. Örn: <br /> <br /> <br /> <br />"Vukuf A.Ş" <br /> <br /> <br /> <br />yerine <br /> <br /> <br /> <br />"Vukuf A.Ş. | Bisküvi, Çikolata, Kek..." <br /> <br /> <br /> <br />gibi. <br /> <br /> <br /> <br />Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-83699139839328041092008-04-07T20:39:00.001+03:002008-04-07T20:45:43.132+03:00ColdFusion 8 Update 1 duyuruldu<p><span style="font-weight: bold;">ColdFusion 8 sürümü birçok yenilik getirmişti. Update 1 paketi işte bu yeni özelliklerle ilgili güncellemeleri ve iyileştirmeleri içeriyor.</span><br /></p><p>Ayrıntılar:</p> <p>İndirmek için</p> <p><u><span style="color: rgb(0, 0, 255);"><a href="http://www.adobe.com/support/coldfusion/downloads_updates.html#cf8">http://www.adobe.com/support/coldfusion/downloads_updates.html#cf8</a></span></u></p> <p>Nelerin değiştiğini okumak için:</p> <p><a href="http://www.adobe.com/support/documentation/en/coldfusion/801/cf801releasenotes.pdf">http://www.adobe.com/support/documentation/en/coldfusion/801/cf801releasenotes.pdf</a></p>Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-56818969234774727272008-01-04T18:06:00.000+02:002008-01-05T21:04:06.087+02:00Türkçe (IDN) alan adı (eşref.com)<span style="font-weight: bold;">Eskiden alan adımızı ("domain") seçerken yalnızca ASCII/İngilizce harf yazabiliyorduk. VeriSign tarafından getirilen bir mekanizma sayesinde, artık Türkçe karakter dahil her dilde alan adı tescil etmek ve kullanmak mümkün hale gelmiştir (eşref.com). IDN alan adlarını nerelerden alabiliriz? IDN alan adını sitemiz için nasıl kullanırız?</span><br /><br />IDN terimi Internationalized Domain Name ifadesinin kısaltmasıdır. Bir alan adında ASCII'de/İngilizce'de olmayan karakter varsa, o alan adı IDN destekli bir alan adıdır. <a href="http://www.verisign.com/information-services/naming-services/internationalized-domain-names/page_001397.html">IDN destekli alan adı dağıtan kayıt şirketi çok azdır.</a> Ben <a href="http://www.internic.net/origin.html">ICANN sertifikalı </a> bir şirket tercih etmenizi öneririm. Seçtiğiniz şirketten alan adınızı tescil ettiğinizde siteniz için kullanmak için aşağıdaki işlemleri yapmalısınız;<br /><br /><span style="font-weight: bold;">1) Alan adının Name Server'larını (NS/DNS) tayin edin<br /><br /></span><span>Alan adının ayarlarına girin ve NS/DNS olarak kendi belirlediğiniz NS/DNS'leri yazın.</span><span style="font-weight: bold;"><br /></span><br /><span style="font-weight: bold;">2) IDN destekli alan adınızın ASCII karşılığını öğrenin</span><br /><br />nic.tr sitesindeki <a href="https://www.nic.tr/index.php?USRACTN=IDNCNVRT">IDN Çevirici</a> sayfasını kullanarak ASCII karşılığını öğrenin:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_tI4stHzB8tE/R34up1qnNLI/AAAAAAAAAOU/L19jvpr4Hvw/s1600-h/idn-esref.JPG"><img style="cursor: pointer;" src="http://bp2.blogger.com/_tI4stHzB8tE/R34up1qnNLI/AAAAAAAAAOU/L19jvpr4Hvw/s400/idn-esref.JPG" alt="" id="BLOGGER_PHOTO_ID_5151606320073749682" border="0" /></a><br /><br /><br /><span style="font-weight: bold;">3) ASCII karşılığını NS/DNS sunucusuna kaydedin</span><br /><br />Alan adının IDN destekli adını ("eşref.com") değil ASCII karışılığını ("xn--eref-55a.com") kaydedin.<br /><br /><span style="font-weight: bold;">4) </span><span style="font-weight: bold;">ASCII karşılığını</span><span style="font-weight: bold;"> web sunucusunuza kaydedin</span><br /><br />Web sunucunuza (IIS/Apache vb) alan adının IDN destekli adını ("eşref.com") değil ASCII karışılığını ("xn--eref-55a.com") kaydedin.<br /><br /><span style="font-weight: bold;">Değerlendirmeler</span><br /><br />IDN alan adları aslında çok gerekli ve faydalıdır. Şöyle ki; diyelim ki bir kampanya başlattınız. Kampanyanız diyetle ve formda kalmakla ilgisi var. Her kampanyanın bir sloganı olur. Sizin sloganınız şu olsun diyelim: '2 hafta 2 öğün'. Kampanyanız için bir internet sitesi yapsanız iyi olabilir. Sloganınızı site adresi olarak kullanmak en mantıklısı olabilir. Bu durumda sitenin adresi ne olmuş oldu?: 2hafta2ogun.com Sizce ilk okunduğuna anlaşılır bir site adresi mi? Bence değil. Emin olun bir çok müşteriniz, siteyi şöyle açmaya çalışacaktır: 2hafta2öğün.com Ama siteniz açılmayacaktır. Müşteri sıkılıp pencereyi kapatacaktır. Üstelik, sitenizin çalışmadığını düşünüp size kısacaktır. 'Ayıplı hizmet' diyecektir. Kaş yapalım derken göz çıkarmak diye buna denir!<br /><br />İşte tam bu noktada IDN alan adlarının kıymeti ve faydası ortaya çıkıyor. Lütfen IDN adresinizi tescil edin. Birisi adres satırına bu adresi yazarsa, onu asıl adresinize yönlendirin (2hafta2ogun.com). Böylece Türkçe harflerle İngilizce harfleri birbirine karıştıran (ö o İ i I ı g ğ ü u ç c) önemli sayıda müşteriyi geri kazanmış olursunuz.<br /><br />Ya kampanyanız çocuklara hitaben olsaydı? Hangi çocuk 'çikolataçağrısı.com' gibi bir adresi 'cikolatacagrisi.com' olarak yazmayı becerebilir ki?<br /><br />Son olarak; sitenizin IDN adresini kötü niyetli birisi tescil ederse ve kendi sitesine yönlendirirse hoşunuza gider mi?<br /><br />İşte size IDN alan adını da kullanmak için birçok neden.<br /><br /><span style="font-weight: bold;">Notlar</span><br /><ul><li>IDN alan adlarını yalnızca web sitelerinde kullanabiliyoruz. E-posta adreslerinde vs kullanamıyoruz.</li><li>Ziyaretçiniz adres satırına IDN alan adınızı yazdığında kişinin tarayıcısı IDN dönüştürme işlemini yapıp ASCII karşılığını kullanacaktır. Fakat maalesef Internet Explorer 6 bu yeteneğe sahip değil. IE 7 yaygınlaşana kadar IDN isimler biraz sıkıntı çıkartabilir. Firefox'ta ise herhangi bir sorun yok.</li><li>IDN ile ilgili olarak VeriSign resmî sayfalarına göz atmanızı öneririm, <a href="http://www.verisign.com/information-services/naming-services/internationalized-domain-names/index.htm">VeriSign: IDN</a></li></ul>Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-69108736809434373402008-01-02T09:08:00.001+02:002008-01-02T12:11:15.574+02:00Google web sayfalarını gerçek zamanlı olarak indekslemeye başladı!Bloğunuza az önce eklediğiniz bir makalenin adını Google'da arattırsanız sonuç listesinde adınızı göremezsiniz. Çünkü Google bloğunuzdaki yeni sayfalara birkaç günde bir bakar. Bu gecikme sıkıntıları artık son buluyor. Artık yeni sayfalar birkaç dakika içerisinde Google'da çıkmaya başlayacak. Fakat önemli bir nokta var; yazıyı yeni eklediğiniz için henüz yazınıza kimse bağlantı koymadı. Bu durumda Google sayfanızın rank'ını nasıl tespit edecek? Arama sonuçlarında yazınız acaba kaçıncı sırada çıkmalı? İşte bu sorunu da şöyle çözmüşler; Google, sitenizdeki diğer sayfaların genel rank'ını tespit ediyor ve yazınız ilk olarak bu rank ile listeye alınıyor. Daha sonra zaman geçtikçe gerçek sıralamanız belli oluyor.<br /><br />Ayrıntılar: <a href="http://googlesystem.blogspot.com/2008/01/google-artificially-promotes-recent-web.html">Google Artificially Promotes Recent Web Pages</a><br /><br />Bu yazıyı az önce bloğa ekledim ve Google'da hemen göründü:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_tI4stHzB8tE/R3tjHlqnNKI/AAAAAAAAAOM/mhilP7z6Teo/s1600-h/google+gercek+zamanli.JPG"><img style="cursor: pointer;" src="http://bp2.blogger.com/_tI4stHzB8tE/R3tjHlqnNKI/AAAAAAAAAOM/mhilP7z6Teo/s400/google+gercek+zamanli.JPG" alt="" id="BLOGGER_PHOTO_ID_5150819580849370274" border="0" /></a>Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-25828077496168345842008-01-01T18:20:00.000+02:002008-01-03T11:04:42.694+02:00Intel'den Hafniyum kullanan işlemci<strong>Bilgisayarlarımızın en önemli donanımı işlemcilerdir. İşlemciler konusunda dünyanın en büyüğü olan Intel, işlemcide Hafniyum elementini kullanarak çok büyük bir yenilik yaptı.</strong><br /><br />Bilgisayalarımızda en çok elektrik harcayan donanımlardan biri işlemcilerdir ve bilgisayarımızın randımanında en önemli unsur yine işlemcimizdir. İşlemciler çok küçük maddelerden oluşurlar, yani nano teknoloji ürünüdürler. Bu nedenle, işlemcimizin yapısındaki en ufak değişiklik, işlemcimizin performansını dolayısıyla bilgisayarımızın performansını ciddi etkiler. İşlemci dünyasının en büyüğü olan Intel, işlemci tasarımlarına bir yenisini daha ekledi: <a href="http://www.intel.com/technology/45nm/index.htm?iid=homepage+marquee_45nm">Intel® 45nm Technology</a>.<br /><br />Bu yeni işlemcinin transistörleri daha küçük dolayısıyla daha az elektrik harcıyor. En önemlisi ise performansı daha yüksek.<br /><br />Aynı işlemciyi evde kendiniz de yapabilirsiniz. Çocuk oyuncağı: <a href="http://www.youtube.com/watch?v=dNw-oCjE_Yg">http://www.youtube.com/watch?v=dNw-oCjE_Yg</a>Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-76764515759668886862007-12-31T14:59:00.000+02:002007-12-31T15:52:28.451+02:00Her tarayıcı bir motoru temel alarak hazırlanmıştır. Firefox ve Internet Explorer buna dahil.<span style="font-weight: bold;">Firefox tarayıcısı Gecko motorunu kullanır</span><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_tI4stHzB8tE/R3jy01qnNII/AAAAAAAAAN8/ySNngUtK3xM/s1600-h/ff+hakkinda.JPG"><img style="cursor: pointer;" src="http://bp0.blogger.com/_tI4stHzB8tE/R3jy01qnNII/AAAAAAAAAN8/ySNngUtK3xM/s400/ff+hakkinda.JPG" alt="" id="BLOGGER_PHOTO_ID_5150133163471090818" border="0" /></a><br /><br /><br />Firefox tarayıcısı Gecko motorunu kullanır. Gecko motoru Netscape tarafından geliştirilmiştir, ayrıntılar için <a href="http://wp.netscape.com/browsers/gecko/">burayı tıklatın</a>. Daha sonra Mozilla'ya bağışlanmıştır, ayrıntılar için <a href="http://developer.mozilla.org/en/docs/Gecko">burayı tıklatın</a>. Gecko tüm işletim sistemlerinde çalışır: Windows, Linux, Mac...<br /><br /><span style="font-weight: bold;">Internet Explorer tarayıcısı Mosaic motorunu kullanır</span><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_tI4stHzB8tE/R3jy1FqnNJI/AAAAAAAAAOE/W9BDQQJrb1g/s1600-h/hakkinda.JPG"><img style="cursor: pointer;" src="http://bp1.blogger.com/_tI4stHzB8tE/R3jy1FqnNJI/AAAAAAAAAOE/W9BDQQJrb1g/s400/hakkinda.JPG" alt="" id="BLOGGER_PHOTO_ID_5150133167766058130" border="0" /></a><br /><br />Internet Explorer tarayıcısı <a href="http://archive.ncsa.uiuc.edu/mosaic.html">NCSA Mosaic</a>'i kullanır. NCSA tarafından geliştirilmiştir. Geliştirimi Microsoft tarafından sürdürülmektedir. Mosaic motoru NCSA tarafından, tüm işletim sistemlerinde uyumlu çalışacak şekilde hazırlanmıştı. Fakat Microsoft bu uyumu sürdürmedi. <a href="ftp://ftp.ncsa.uiuc.edu/Mosaic/">Mosaic'i burayı tıklatarak indirebilirsiniz</a>Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-76210059343281079982007-12-31T12:21:00.000+02:002007-12-31T12:30:07.578+02:00Daha performanslı ve daha verimli AJAX için önerilerAjax çalışmaları yapmak bazen çok sıkıntılı olabiliyor. Çoğu zaman, kodlar arasında kaybolmak işten bile değildir. Kusurlu yazdığımız bir Javascript koddan dolayı tarayıcı kilitlenebiliyor. Sitemizi hızlandırmak için AJAX kullandık, ama site eskisinden daha yavaş çalışmaya başladı?... Bu gibi sorunların önüne geçmek için dünyanın kabul ettiği teknikleri ve yöntemleri kullanmak lazım. Uzmanların önerilerini dikkate almak, son teknoloji araçları kullanmak lazım. Aşağıdaki iki sunum bu konuda birçok şey anlatıyor. Eminim çok faydalı olacak:<br /><br />Yüksek Performanslı Ajax Uygulamaları: <a href="http://www.slideshare.net/julien.lecomte/high-performance-ajax-applications/">High Performance Ajax Applications</a><br /><br />Ajax ile nasıl çalışılır: <a href="http://www.slideshare.net/simon/how-to-make-ajax-work-for-you/">How to make Ajax work for you</a><br /><br />Ajax için tasarlamak: <a href="http://www.slideshare.net/billwscott/designing-for-ajax/">Ajax Designing For Ajax</a><span style="font-weight: bold;"><br /><br /><br /></span>Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-21169027674603519062007-12-29T16:31:00.000+02:002007-12-29T16:48:09.337+02:00W3C Widgets 1.0: Working Draft<span style="font-weight: bold;">Widget'ların sayısı çok arttı. Fakat henüz bir widget standardı getirilmediği için widget'lar hem geliştiricilerin hem de kullanıcıların korkulu rüyası olabiliyor. W3C widget'lara bir standart getirmeye hazırlanıyor.</span><br /><br />Widget tabir edilen internet unsurları kullanıcıların işlerini kolaylaştırabiliyor. Fakat bu unsurları uygulamamıza eklemek bazen sıkıntılı olabiliyor. Biribinin kopyası olan birçok farklı widget, kullanıcıların ve geliştiricilerin kafasını karıştırabiliyor. Çünkü sektörde henüz bu konuda bir standart yok. W3C bir standart getirmek için çalışmalara başlamış durumda. Bu yönde <a href="http://www.w3.org/TR/2007/WD-widgets-20071013/">Widgets 1.0: Working Draft</a> çalışmaları devam ediyor. Taslak tamamlandığında, artık web sayfamıza mesela takvim eklemek için Javascript kütüphanesi kullanmamıza gerek kalmayacak. Örneğin sayfamıza bir takvim eklemek için bir satır HTML yazmamız yeterli olacak belki.<br /><br />W3C'ye güvenim tam. Sektörün öncüleriyle birlikte her zaman olduğu gibi hem kullanıcıların hem de geliştiricilerin hayatını kolaylaştıracak standartlar getirecektir.Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-16852720442008612042007-12-29T16:10:00.000+02:002007-12-29T16:15:25.589+02:00Adobe.com yenilendiYeni hali bence estetik ve kullanışlılık anlamında çok başarısız olmuş:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_tI4stHzB8tE/R3ZWXFqnNHI/AAAAAAAAAN0/UrNul1i1hIo/s1600-h/adobe.com.jpg"><img style="cursor: pointer;" src="http://bp3.blogger.com/_tI4stHzB8tE/R3ZWXFqnNHI/AAAAAAAAAN0/UrNul1i1hIo/s400/adobe.com.jpg" alt="" id="BLOGGER_PHOTO_ID_5149398178602628210" border="0" /></a><br /><br /><br /><br /><br /><a href="http://www.adobe.com/">www.adobe.com</a>Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-17381375091866804602007-12-27T17:53:00.000+02:002007-12-27T18:24:27.095+02:00ColdFusion ve .NET'te HASH<span style="font-weight: bold;">ColdFusion ve .NET kodlarınızı HASH hakkında birlikte nasıl kullanacağınızı anlatacağız.</span><br /><br />"abc123" şeklindeki parolanızı HASH'lediğinizde elinizde artık yepyeni bir metin vardır:<br /><br />E99A18C428CB38D5F260853678922E03<br /><br />Bu karmaşık ifadenin aslında "abc123" demek olduğunu yalnızca siz bilirsiniz. HASH'lemeyi çoğunlukla müşterilerinizin parolalarını veritabanına güvenli kaydetmek için kullanırsınız. Müşteri sitenizde oturum açarken, girdiği parolayı HASH'ler ve veritabanıyla karşılaştırırsınız. Eğer HASH'li metinler birbirini tutuyorsa müşteri parolayı doğru girmiş demektir. Bu kullanılırsa, veritabanı kayıtlarınıza bakan biri bile müşterilerinizin parolalarını anlayamaz.<br /><br />Klasik şifrelemeler geri çevrilebilir. Oysa HASH'ler geri çevrilemez. Dünyada en bilinen ve en sık kullanılan HASH'leme yöntemi MD5'tir. ColdFusion varsayılan MD5 kullanılır. ColdFusion'daki HASH fonksiyonu şudur:<br /><br />Hash("abc123")<br /><br />.NET'teki HASH fonksiyonu şudur:<br /><br />System.Web.Security.FormsAuthentication.<br />HashPasswordForStoringInConfigFile("abc123", "md5");<br /><br />ColdFusion ve .NET projeleri birbirine dönüştürecekseniz,<br />Aynı projede .NET ve ColdFusion birlikte kullanacaksanız bu fonksiyonlar sayesinde müşterilerinizin parolalarını sorunsuz işleyebilirsiniz.Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-48308492904947084412007-12-04T18:18:00.000+02:002007-12-04T18:24:18.443+02:00Mashup<span style="font-weight: bold;">Müzik ve eğlence dünyasından ilham alan Web sektörü, baş döndürücü bir User Experience deneyimine hazırlanıyor: Mashup Web Applications</span><br /><p>"Mash" (karışım) kelimesinden türemiş olan "mashup" kelimesi, farklı müziklerin bir araya gelmesiyle oluşan müziği tanımlamak için kullanılıyor. Aynı terim daha sonraları videolar için de kullanılmaya başlandı. Terim son zamanlarda Web dünyasında da kullanılıyor: Mashup Web Applications. Bu yeni akımda farklı web uygulamalarının sunduğu imkanlar bir araya geliyor. Mashup uygulamaların sayısı o kadar arttı ki artık mashup yapmak için editörler bile var: Mashup Editors. Web dünyasının büyüklerinden biri olan Yahoo!, Mashup Editor'lerden en iyisini sunuyor: Yahoo! Pipes (<a href="http://pipes.yahoo.com/" _fcksavedurl="http://pipes.yahoo.com/">http://pipes.yahoo.com/</a> ). Bu editörü kullanarak, farklı sitelerden derleyeceğiniz içerikleri istediğiniz kriterlere göre sınıflandırabilir ve anlık olarak kendi sitenizde yayınlayabilirsiniz. Google da mashup editör hazırladı (<a href="http://code.google.com/gme/">http://code.google.com/gme/</a>) ama hem Yahoo! Pipes kadar eğlenceli değil hem de bir araya getirme özellikleri yetersiz. Microsoft'un mashup editörünü (<a href="http://www.popfly.ms/">http://www.popfly.ms/</a>) kullanmak için bilgisayarınıza özel bir yazılım kurmanız gerekiyor ve hiç de keyifli bir kullanımı yok (UI).</p> <p>Web dünyasının bu en yeni akımında aktörler sektörün en son teknolojilerini kullanmak için birbirleriyle yarışıyorlar: AJAX, Drap&amp;Drop, RSS, UI... Bu akım aktörlerin adeta gövde gösterisine dönüşmüş durumda. Arkanıza yaslanın ve büyüklerin bu kıran kırana müsabakasından nemalanmaya çalışın.</p> <p>Her yeni akım, Web dünyasını daha iyi ve daha verimli hale getirirken, yeni iş fırsatlarını da beraberinde getiriyor.</p>Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-71640612535819909582007-12-03T11:19:00.000+02:002007-12-03T11:39:29.920+02:00ColdFusion ile RSS feed hazırlamakİnternette konuyla ilgili olarak tam tekmil bir kod örneği yok. Belki ilk örnek bu olacak. En yalın, en basit kod bu olabilir. Kod herşeyi anlatır.<br /><br /><br />Feed hazırlarken:<br /><br />* W3C denetleme aracını kullanarak, feed'inizdeki hataları öğrenebilirsiniz. Aracı sabırlı kullanın. Bazen gereksiz yere hata verebiliyor. Sık sık Yenile yapın. W3C Feed Validator: <a href="http://validator.w3.org/feed/">http://validator.w3.org/feed/</a><br /><br />* &lt;?xml satırından önce XML'de boş satır olmasın.<br />* Eğer enter karakterinin de olduğu HTML'ler içeren bir paragraf yayılayacaksanız, &lt;<span class="cdata">![CDATA[]]</span>&gt; içerisine alın.<br /><br />Örnek CFML kod:<br /><br />&lt;cfcontent reset="yes" type="text/xml; charset=utf-8"&gt;<br /><br />&lt;cfoutput&gt;&lt;?xml version="1.0" encoding="utf-8" ?&gt;<br /><br />&lt;rss version="2.0"&gt;<br /><br />&lt;channel&gt;<br /><br />&lt;title&gt;Zeytinburnu Belediyesi - &lt;cfswitch expression="#e.kanalId#"&gt;&lt;cfcase value="42"&gt;Haberler&lt;/cfcase&gt;&lt;cfcase value="44"&gt;Basın Bültenleri&lt;/cfcase&gt;&lt;/cfswitch&gt;&lt;/title&gt;<br /><br />&lt;link&gt;http://www.zeytinburnu.bel.tr&lt;/link&gt;<br /><br />&lt;language&gt;tr&lt;/language&gt;<br /><br />&lt;copyright&gt;Copyright © 1999 - 2006 Zeytinburnu Belediyesi. Her hakkı saklıdır.&lt;/copyright&gt;<br /><br />&lt;description&gt;&lt;![CDATA[Zeytinburnu Belediyesi RSS]]&gt;&lt;/description&gt;<br /><br />&lt;cfloop query="e.qryIcerikler"&gt;<br /><br />&lt;item&gt;<br /><br />&lt;guid&gt;http://www.zeytinburnu.bel.tr/bel_haberler/index.cfm?IcerikId=#e.qryIcerikler.ID#&lt;/guid&gt;<br /><br />&lt;title&gt;&lt;![CDATA[#e.qryIcerikler.BASLIK#]]&gt;&lt;/title&gt;<br /><br />&lt;description&gt;&lt;![CDATA[#e.qryIcerikler.ALT_BASLIK#]]&gt;&lt;/description&gt;<br /><br />&lt;link&gt;http://www.zeytinburnu.bel.tr/bel_haberler/index.cfm?IcerikId=#e.qryIcerikler.ID#&lt;/link&gt;<br /><br />&lt;/item&gt;<br /><br />&lt;/cfloop&gt;<br /><br />&lt;/channel&gt;<br /><br />&lt;/rss&gt;<br /><br />&lt;/cfoutput&gt;Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-79195496407985849242007-11-19T11:21:00.000+02:002007-11-19T12:37:35.946+02:00Desktop, Web, AJAX ve Yahoo! Pipes<a href="http://pipes.yahoo.com/"></a>Web dünyası bilgiyle ve veriyle dolu. O kadar çok bilgi kaynağı mevcut ki, sadece onlardan gelen bilgileri yayınlayarak bile ciddi ziyaretçi kitlesi yakalamak mümkün. Bunun en güzel örneklerinden biri: <a href="http://news.google.com/">news.google.com</a><br /><br />Bu bilgileri online derlemek, bir araya getirmek, filtrelemek ve uygun kitlelere sunmak çok önemli. Web uygulamalarının User Interface olarak yetenekli olması bu noktada çok önemli. Web uygulamaları bu noktada desktop uygulamalardan daha fazla imkan sunar hale geldiler. İşte size bunun en güzel örneklerinden biri: <a href="http://pipes.yahoo.com/">Yahoo! Pipes</a> Yahoo! ID'niz ve parolanız ile uygulamaya giriş yapabilirsiniz. Uygulamada, sürükle-bırak yöntemiyle ekrandaki kutular arasında borular ("pipe") oluşturulabiliyor. RSS kaynaklarını ekranınızda birleştirebilir, kendi filtrelerinizi yapıp, bilgileri derleyebilirsiniz.<br /><br />Yahoo! Pipes devşirilerek backoffice uygulamalarında User Interface olarak kullanılabilir. Belki birileri yapmıştır bile. Kim bilir?...<br /><br /><br />Yahoo! Pipes tanıtım videosu: <a href="http://www.jumpcut.com/fullscreen?id=594F555C568011DC9D24000423CEF5B0&amp;type=movie">http://www.jumpcut.com/fullscreen?id=594F555C568011DC9D24000423CEF5B0&amp;type=movie</a>Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-40971486949689033172007-11-18T14:49:00.000+02:002007-11-18T15:16:33.410+02:00Adobe, Eclipse ve JSEclipseWeb'in, desktop uygulamaların sunduğu imkanları sunmaya başlamasıyla birlikte, desktop uygulamaların yerini Web uygulamaları almaya başladı. Web'in mecburi dili olan Javascript artık çok daha önemli. Web uygulamanızı geliştirmek için hangi Uygulama Sunucusunu (ColdFusion, .Net, Java vs) kullanıyor olursanız olun, Javascript dili, kullanmanız gereken bir dil durumdadır. Geliştiricileriniz bu dili az yada çok bilmek zorundadır. Zengin web uygulamaları geliştirmek için kalabalık Javascript kodları yazmanız gerektiği göz önüne alındığında, artık Uygulama Sunucunuzda hazırladığınız kodları yazarken gösterdiğiniz özen ve kaliteyi, Javascript kodlarınıza da göstermeniz gerekiyor. Bu noktada, kullandığınız Bütükleşik Geliştirim Ortamının (IDE) Javascript kodlarken geliştiricilerinize yardımcı olması ve onların işlerini kolaylaştırması çok önemlidir.<br /><br />Adobe, hem ColdFusion geliştirim ortamı için hem de Javascript geliştirim ortamı için IDE olarak<a href="http://www.eclipse.org/"> Eclipse</a>'i seçmiş durumdadır. Adobe'nin Eclipse için hazırladığı <a href="http://labs.adobe.com/technologies/jseclipse/">JSEclipse eklentisi</a>, Javascript kodlamayı kolay hale getiriyor. Adobe bu eklentinin Eclipse'e kattığı özellikleri göstermek için <a href="http://labs.adobe.com/technologies/jseclipse/videos/codecompletion/">bir video</a> yayınladı. Bu video, JSEclipse ile ileri seviye kodlama yapmanın ne kadar kolay hale geldiğini gözler önüne seriliyor. Söz konusu video, JSEclipse eklentisinin özelliklerini göstermek için hazırlanmış olsa da, giriş seviyesindeki bir Javascript geliştiricisine Javascript'te nasıl Nesne Yönelimli Programlama yapıldığını gösterdiği için aynı zamanda bir Javascript eğitim videosu halini almış durumda.<br /><br />Adobe'ye, Eclipse'i seçtiği için ve bu videoyu hazırladığı için teşekkürler.Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-81826399516112150072007-11-16T09:36:00.000+02:002007-11-16T09:41:08.010+02:00JSON<span style="font-weight: bold;">JSON nedir ne değildir. JSON hakkında yanlış bilinenler. Avantajları.</span><br /><br /><p><strong>JSON nedir?</strong></p> <p>JSON (Javascript Object Notation) veriyi ifade etmek için (notation: gösterme) kullanılan bir yazım tarzıdır (syntax); tıpkı XML ve CSV gibi. Adında "Javascript" olsa da, JSON yazım tarzını, Javascript dışındaki dillerde de kullanabilirsiniz: ColdFusion 8+, Java, PHP, Python...</p> <p><strong>Örnekler:</strong></p> <table border="1" cellpadding="5" cellspacing="1"> <tbody> <tr> <td><em><strong>ÖRNEK JSON VERİ</strong></em></td> <td valign="top"><em><strong>VERİYİ KULLANMA</strong></em></td></tr> <tr> <td valign="top"><pre>students = [<br />{id: 18, name: 'Eşref Atak'},<br />{id: 19, name: 'Saliha Atak'}<br />];</pre></td> <td valign="top"> <p>// "Eşref Atak"<br />a = students[0].name;</p> <p>// 19<br />a = students[1].id;</p></td></tr> <tr> <td valign="top"><pre>students = [<br />{is_member: true, childeren: [<br /> {id: 132, name: 'Yunus'},<br /> {id: 472, name: 'Damla'}<br /> ]<br />},<br /><br />{is_member: false, childeren: [<br /> {id: 932, name: 'Yunus'},<br /> {id: 472, name: 'Damla'}<br /> ]<br />}<br /><br />];</pre></td> <td valign="top">// "Damla"<br />a = students[1].childeren[1].name;</td></tr></tbody></table> <p>Örneklerde görüldüğü üzere, JSON içerisinde array, numeric, boolean... her tipte veri tanımlayabilirsiniz.Bu tipler, kullanmaya hazırdır. Kullanmadan önce dönüştürmek gerekmez (XML'in aksine).</p> <p><strong>JSON ne değildir?</strong></p> <p><strong>JSON bir kütüphane (library) değildir:</strong> Elinizdeki bir CSV veya XML veriyi JSON'a dönüştürmek isteyebilirsiniz. Yada, JSON veriyi XML'e dönüştürmek isteyebilirsiniz. Bu gibi durumlarda dönüştürme kodları yazmalısınız. Dünyada, JSON dönüştürme işlemlerini yapan hazır ve kaliteli birçok kütüphane mevcuttur. JSON için hazırlanmış birçok kod kütüphanesinin var oluşu, JSON ile kütüphaneler arasında yanlış algılamalara neden olabilmektedir.</p> <p><strong>JSON bir framework değildir:</strong> Framework'ler çoğu zaman binlerce satır koddan oluşur. Bu nedenle, sağlam ve esnek temeller üzerine oturtulması gerekir. JSON, esnek ve sağlam bir temeldir ve framework'ler tarafından yoğun olarak kullanır. JSON ile framework'lerin bu iç içe geçmiş yapısı, JSON ile framework'lerin birbirine karıştırılmasına neden olabilmektedir. JSON bir yazım tarzıdır. Framework'ler ise, yazılımınızı kodlama biçiminizi tamamıyla değiştiren iskelet mimarilerdir.</p> <p><strong>JSON bir dil değildir:</strong> Dil ile iç içe geçmiş yapısı, onun bir dil olduğu yanılgısına sevk edebilir. JSON, dillerin yeteneklerini artıran, onları destekleyen bir yazım tarzıdır.</p> <p><strong>Avantajları</strong></p> <p>Büyük bir text veriyi ifade etmek için, XML gibi karmaşık ve Kilobayt olarak "ağır" etiketler yazmanıza gerek yoktur. JSON'un yazımı basittir, text yükü hafiftir.</p> <p>Elinizdeki bir JSON ifadeyi, kodunuzun içine yapıştırıp bir değişkene set ederek direkt olarak kullanmaya başlayabilirsiniz.</p> <p>XML'de olduğu gibi karmaşık ve ağır "parse" işlemlerine gerek yoktur.Kullanıma hazırdır.</p> <p>Dünyadaki tüm diller tarafından desteklenen bir yazım tarzıdır: PHP, Java, .NET, ColdFusion 8+...</p> <p><strong>JSON ve XML</strong></p> <p>JSON, XML'in alternatifi değildir. İhtiyaçlarınıza göre ikisinden birini tercih edebilirsiniz.</p> <p style="font-weight: bold;">Kaynaklar</p><p><a href="http://www.developer.com/lang/jscript/article.php/3596836" target="_blank">http://www.developer.com/lang/jscript/article.php/3596836</a></p><p><a href="http://www.developer.com/lang/jscript/article.php/3596836" target="_blank">http://www.json.org/json-tr.html</a></p><p><a href="http://www.developer.com/lang/jscript/article.php/3596836" target="_blank">http://en.wikipedia.org/wiki/JSON<br /></a></p> <p><br /></p>Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-84208411341666531502007-11-14T09:29:00.001+02:002007-11-14T10:35:06.977+02:00AJAX request<span style="font-weight: bold;">Bu yazıda, AJAX XMLHttpRequest'lerine (XHR) değinilecektir. XHR ile ilgili yanlış algılamalara, XHR'da Javascript kodlarının neden çalışmadığı ve çalışması için neler yapılabileceğine değinilecektir.</span><br /><br />IFRAME'lerin yaptığı request'ler gerçek bir request'tir. Bu sayede, çağrılan sayfadaki Javascript'leri çalıştırabilir, fonksiyonları sayfanızda kullanabilirsiniz. Fakat, AJAX request'leri (XHR) böyle değildir. Sayfadaki Javascript kodları çalışmaz. Çünkü, XHR'dan dönen içerik bir text olarak algılanır, Javascript'ler çalışmaz. XHR sayfa çağırmak için tasarlanmamıştır. BODY, SCRIPT gibi etiketler içermemelidir. Eğer içerikteki Javascript'ler sizin için önemliyse, bunu kendi başınıza halletmek zorundasınız. Yüzlerce satır kod yazmaya hazır olmalısınız. Birkaç Javascript kütüphanesi bu konuda yardımcı olmak için hazır özellikler sunar. Konuyla ilgili olarak Spry ve Ext kütüphaneleri aşağıda karşılaştırılmaktadır.<br /><br /><span style="font-weight: bold;">Spry</span><br /><br />http://labs.adobe.com/technologies/spry/samples/htmlpanel/html_panel_two.html sayfasında anlatılan "evalScripts" özelliği kullanılarak, XHR'dan dönen içerikteki Javascript kodlarınızın ir defaya mahsus çalıştırabilirsiniz (request esnasında). Fakat, maalesef XHR içeriğinizdeki Javascript fonksiyonlarınızı sayfanızda kullanamazsınız.<br /><br /><span style="font-weight: bold;">Ext</span><br /><br />XHR içerikteki Javascript kodlarınızı çalıştırabilir ve fonksiyonları sayfanızda kullanabilirsiniz. Ayrıntılı bilgiye http://extjs.com/deploy/dev/docs/?class=Ext.Updater adresinden ulaşılabilir.XHR içeriğindeki Javascript kodları konusunda dünyanın en iyi kütüphanesi Ext'tir. Esnek yapısı sayesinde IE'nin eval bug sorununun üzerinden atlayabilir ve ColdFusion CFFORM içeren sayfalarını bile XHR ile çağırıp kullanabilirsiniz. Ext geliştirici takımının Workcube için hazırladığı söz konusu work around'a http://extjs.com/forum/showthread.php?t=15629&amp;page=3 adresinden ulaşılabilir.Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-23382827807608455912007-10-28T21:54:00.000+02:002007-10-28T21:58:15.432+02:00Mobil cihazlar için içerik üretmek ve Adobe Device Central<span style="font-weight: bold;">Cep telefonu, PDA gibi mobil cihazlar için içerik hazırlamak çoğu zaman zahmetli ve masraflıdır. Üretilen içerik bir cihazda güzel çalışsa, diğer bir üründe kötü çalışabilir. Adobe Device Central, bu konuda işlerinizi kolaylaştırabilir.</span><br /><p>Günümüzde PDA'lerin pabucu dama atıldı denebilir. Tüketiciler tek bir ürün istiyorlar. Günümüzde, cep telefonlarının özellikleri ve ekran çözünürlükleri o kadar arttı ki, her cep telefonu bir PDA kadar çok özelliğe sahip durumda. Her ne kadar, PDA'ler yavaş yavaş kalkıyor olsa da, piyasada halen birçok farklı marka ve model cihaz var. Ürettiğiniz içeriğin piyasadaki mobil cihazlarda sorunsuz çalıştığını görmek ve içeriğinizi düzeltmek için, her marka ve modelden birer cihaz almanız gerekir. Adobe'nin, bu sorunu ortadan kaldıran, içeriğinizi cihazlar için uygun ve uyumlu hale getirmenize yardımcı olan bir ürünü var: Adobe Device Central.</p> <p>Bu ürünü kullanarak, içeriğinizi piyasadaki en çok kullanılan mobil cihazlar için simülasyon tekniğiyle sınayabilir ve gözlemleyebilirsiniz.</p> <p>Ayrıntılar: <a href="http://www.adobe.com/products/creativesuite/devicecentral/">http://www.adobe.com/products/creativesuite/devicecentral/</a></p><p><a href="http://www.adobe.com/products/creativesuite/devicecentral/"><br /></a></p>Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-12756359494066386852007-10-23T14:55:00.000+03:002007-10-23T14:56:37.894+03:00AJAX dünyası ve Adobe<span style="font-weight: bold;">Adobe'nin, bir Javascript kod kütüphanesi olan Spry'ı hazırlamaktaki amacı nedir? Hedef kullanıcı kitlesi nedir? ColdFusion ve Spry ne kadar entegredir.</span><br /><br /><p>Resmî sayfasındaki (<a href="http://labs.adobe.com/technologies/spry/" _fcksavedurl="http://labs.adobe.com/technologies/spry/">http://labs.adobe.com/technologies/spry/</a>) kelimelerden de farkedebileceğiniz üzere, Spry Framework'ün hedef kitlesi web site tasarımcılarıdır. Dreamveawer eklentisini (<a href="http://www.macromedia.com/go/labs_spry_download" _fcksavedurl="http://www.macromedia.com/go/labs_spry_download">http://www.macromedia.com/go/labs_spry_download</a>) kullanarak, tasarımcılar hazırladıkları sayfalarda AJAX yetenek ve işlevlerinden istifade edebilirler. Dreamveawer'daki "Code" görünümüne hiç geçmeden, tamamıyla Design görünümünde kalarak AJAX kullanabilirler. Eklenti sayesinde, Properties kullanarak linkler "dinamik" hale getirilebilmektedir. Dreamveawer CS3 ilk kurulduğunda Spry kurulu gelmiyor. Sonradan kurulması gerekiyor. Spry'in sitesinden indirilip kurulabilir.</p> <p><strong>ColdFusion ve Spry</strong></p> <p>Tahmin edilenin aksine Adobe, ColdFusion 8'de Spry kullanmamıştır. CFWINDOW, CFDIV, CFLAYOUT vs gibi etiketler, Spry'ı kullanmamaktadır. Adobe, ColdFusion 8'de Ext JS kütüphanesini ve YUI kütüphanesini (<a href="http://developer.yahoo.com/yui/" _fcksavedurl="http://developer.yahoo.com/yui/">http://developer.yahoo.com/yui/</a>) kullanmıştır. Söz konusu kütüphaneler, zengin arayüzler hazırlamak ve AJAX işlevlerini sunmak için kullanılabilen çok başarılı kütüphanelerdir.</p> <p><strong>Ext JS</strong></p> <p>Şirketin resmî internet sitesine <a href="http://extjs.com/" _fcksavedurl="http://extjs.com/">http://extjs.com/</a> adresinden ulaşılıyor. Şirket, performanslı Destek Takımı (<a href="http://extjs.com/deploy/dev/docs/" _fcksavedurl="http://extjs.com/deploy/dev/docs/">http://extjs.com/deploy/dev/docs/</a>), zengin dökümantasyonu ve imrendiren referans listesi (<a href="http://extjs.com/" _fcksavedurl="http://extjs.com/">http://extjs.com/</a>) ile göz dolduruyor. Topluluklar (community) tasarından hazırlanmakta olan ve dünyanın en esnek lisansı olan BDS lisansı (<a href="http://en.wikipedia.org/wiki/BSD_license" _fcksavedurl="http://en.wikipedia.org/wiki/BSD_license">http://en.wikipedia.org/wiki/BSD_license</a>) altında sunulan YUI kütüphanesini temel alarak ürün geliştirmeye başlayan şirket, bir iki yıl içerisinde çok başarılı bir ürün ortaya çıkarmış durumda. Adobe tarafından ilhak edilerek bünyeye katılacağı öngörülebilir.</p> <p><strong>Dreamveawer ve Visual Studio</strong></p> <p>Microsoft, son teknolojileri çok yakından takip etmekte ve çoğu zaman eğilimleri yönlendirmektedir. Bunun en belirgin göstergelerinden biri durumunda olan Visual Studio (<a href="http://msdn.microsoft.com/vstudio/" _fcksavedurl="http://msdn.microsoft.com/vstudio/">http://msdn.microsoft.com/vstudio/</a>), IDE (<a href="http://en.wikipedia.org/wiki/Integrated_development_environment" _fcksavedurl="http://en.wikipedia.org/wiki/Integrated_development_environment">http://en.wikipedia.org/wiki/Integrated_development_environment</a>) pazarının en bilinen ve en güçlü ürünlerinden biridir. AJAX "furyasının" başladığı ilk günlerden bu yana AJAX desteğini sürdürmektedir. Adobe Dreamveawer, bu ürünle kıyaslandığında, güncelliğini kaybetmiş durumdadır. Adobe, Spry Framework'ü hazırlamak suretiyle, bu eksikliğini kısmen gidermiş durumdadır.</p> <p> </p>Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-42835857908606304932007-10-08T21:32:00.000+03:002007-10-08T21:33:41.309+03:00Gmail kullanın, herşey yerli yerine otursun<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_tI4stHzB8tE/Rwp35gisjDI/AAAAAAAAANs/jYJ_guT6QVM/s1600-h/gmail_kullan%C4%B1n.gif"><img style="cursor: pointer;" src="http://bp2.blogger.com/_tI4stHzB8tE/Rwp35gisjDI/AAAAAAAAANs/jYJ_guT6QVM/s400/gmail_kullan%C4%B1n.gif" alt="" id="BLOGGER_PHOTO_ID_5119035756331699250" border="0" /></a>Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-21110399208154226982007-10-05T12:13:00.000+03:002008-01-11T08:50:42.030+02:00AJAX'ın avantajları ve dezavantajları<p style="font-weight: bold;">İyi teknolojiler zaman içerisinde, öngörülenin ötesinde yenilik ve kolaylık getirir. AJAX böyle bir 'teknoloji'dir. Bu yazıda, AJAX'ın tecrübeyle sabit bazı avantajlarından ve dezavantajlarından bahsedilecektir.</p><br /> <p class="MsoNormal" style="line-height: normal;"><b><span style="font-size: 13.5pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Avantajları</span></b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"><o:p></o:p></span></p> <p class="MsoNormal" style="line-height: normal;"><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Kullanıcıların kullandıkları sayfaların gereksiz yere yenilenmesi, hem teknik birçok kodlamayı gerektirir hem de kullanıcı bundan pek hoşlanmaz. Geliştiriciler olarak, AJAX kullanarak bir çok kolaylık sağlayabiliriz hem kendimize hem kullanıcıya. İşte bazıları...<o:p></o:p></span></p> <ul type="disc"><li class="MsoNormal" style="line-height: normal;"><b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Sunucunuz boşuna yorulmaz:</span></b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> Ekranda açık bir sayfayı görüntülemek için sunucunuzda bir çok işlem gerçekleşti. Bunların hepsini tekrar yaptırmanıza gerek yok. Sunucunuzu boşuna yormayın. Sunucuyla bilgi alış verişi yapmak istiyorsanız AJAX ile yapabilirsiniz. <o:p></o:p></span></li><li class="MsoNormal" style="line-height: normal;"><b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Submit'leri karşılayan kodlarınız sade ve basit olur:</span></b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> Formu yenilemek için "submit" edildiğinde, sunucudaki kodlarınız, "Kaydet" düğmesine basılmadığını, sadece sayfanın yenilendiğini tespit etmek zorundadır. Bu kodu her sayfaya koymak zorunda kalırsınız. Sayfayı yenilemeyin. AJAX kullanabilirsiniz. <o:p></o:p></span></li><li class="MsoNormal" style="line-height: normal;"><b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Doldurulmuş bir formdaki değerleri hatırlama derdinden kurtulun:</span></b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> Sayfayı yenilerseniz, kullanıcının girdiği bilgileri muhazafa etmeli, sayfa yüklendiğformdaki kutuları dolu getirmelisiniz. Dolu getirme kodları can sıkıdır. Sayfayı yenilemeyin. AJAX kullanabilirsiniz. <o:p></o:p></span></li><li class="MsoNormal" style="line-height: normal;"><b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Kullanıcı bekletilmez:</span></b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> Sayfanın yenilenmesi bazen uzun sürer. Kullanıcı beklemekten hoşlanmaz. Vereceği optional bilgi varsa bile vermekten vazgeçer. Sayfayı gereksiz yere yenilemeyin. AJAX kullanabilirsiniz. <o:p></o:p></span></li><li class="MsoNormal" style="line-height: normal;"><b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Bandwidth:</span></b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> Sayfa yenilendiğinde, sunucunuzun bandwidth'ini harcar. Ne kadar az sayfa yenilemesi olursa, sunucunuzun hattı o kadar rahat olur. Sayfayı gereksiz yere yenilemeyin. AJAX kullanabilirsiniz. <o:p></o:p></span></li><li class="MsoNormal" style="line-height: normal;"><b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Entegrasyon kolaylığı: </span></b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">AJAX ile hazırlanmış objeleri/nesneleri, uygulamanızdaki sıradışı sayfalara bile entegre etmek çok kolaydır. Hazırladığınız bir Yorum Yazma Formu'nu ele alalım... Bu formu Kitap Detay sayfasına ekleyebileceğiniz gibi, Haber Detay sayfasına da ekleyebilirsiniz. Şöyleki; Yorumu Gönder düğmesine basıldığında, AJAX kullanarak, formdaki bilgileri merkezî ortak bir "/comment/save.cfm" dosyasına gönderebilirsiniz. Sayfa yenilenmeden. Kitap Detay ve Haber Detay sayfalarında yorum mekanizmasıyla ilgili olarak neredeyse hiç kod yazmazsınız. <o:p></o:p></span></li><li class="MsoNormal" style="line-height: normal;"><b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Kullanıcıların kafası karışmaz:</span></b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> Formu kaydetmek için sayfayı yenilemezsiniz. Kullanıcıyı "save.cfm" sayfasına yönlendirmezsiniz. Yönlendirdiğiniz sayfadan nasıl geri dönülür uğraşmak zorunda kalmaz. Kullanıcı aynı sayfada kalmaya devam eder. Kullanıcıdan alacağınızı alırsınız. O da vereceğini verir. Sayfayı boşuna yenilemeyin. AJAX kullanabilirsiniz. Bu konuyla ilgili bir başka yazı: <a href="http://worknet.workcube.com/index.cfm?fuseaction=rule.dsp_rule&amp;cntid=1520"><span style="color: blue;">Sayfadaki bilgiyi değiştirmede yeni yaklaşımlar</span></a> <o:p></o:p></span></li><li class="MsoNormal" style="line-height: normal;"><b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Aşamalı formlar hazırlamak kolaylaşır:</span></b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> Her ne kadar AJAX ile doğrudan ilgisi olmasa da, Javascript kullanarak, aşamalı Sihirbaz formlar hazırlayabilirsiniz. "İleri" düğmesine basıldığında, birinci formu gizler ikinci formu gösterirsiniz. Form henüz submit edilmediğinden, kullanıcı formu kapattığında, veritabanına "temp" kayıtlar kaydedilmemiş durumdadır. Mecbur kalmadıkça veritabanına böyle "temp" şeyleri kaydetmeyin. AJAX kullanabilirsiniz. <o:p></o:p></span></li></ul> <p class="MsoNormal" style="line-height: normal;"><span style="font-size: 13.5pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Dezavantajları</span><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"><o:p></o:p></span></p> <p class="MsoNormal" style="line-height: normal;"><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Her ne kadar iyi bir teknoloji olsa da, getirdiği yeni yaklaşımlardan dolayı bazı dezavantajları da olabilmektedir. İşte bunlardan bazıları...<o:p></o:p></span></p> <ul type="disc"><li class="MsoNormal" style="line-height: normal;"><b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Kullanıcı deneyimlerinin kayıt altına alınması:</span></b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> Kullanıcılarınızın yazılımınızdaki deneyimlerini izliyorsanız, yaptıkları her tıklamadan haberdar olmak isterseniz. AJAX kullanılmış sayfalarda bu noktada bazı sıkıntılar çıkabilir. AJAX ile hazırlanmış düğme ve linklerde sayfa çoğu zaman yenilenmez. Adres satırı genelde değişmez. Bu nedenle, klasik teknik yöntemleri kullanırsanız, ziyaretçilerin tıklamalarını ölçemezsiniz. Bu sıkıntıyı ortadan kaldırmak için, AJAX kodlarınızda, bu tıklamaları ölçen teknikler kullanmalısınız. Kullanıcı deneyimlerini ölçmek için hangi aracı kullandığınız bu noktada önem kazanmaktadır. Eğer Google Analytics kullanıyorsanız, AJAX kullandığınız sayfalarınızı ölçebilirsiniz. Sıkıntı yaşamazsınız. Google'ın şu yazısı size yardımcı olacaktır: <a href="http://www.google.com/support/googleanalytics/bin/answer.py?hl=tr&amp;answer=55519"><span style="color: blue;">AJAX uygulamalarını nasıl izlerim?</span></a> <o:p></o:p></span></li><li class="MsoNormal" style="line-height: normal;"><b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Sunucudaki bilgi güncellendiğinde ziyaretçinizin ekranını güncellemek:</span></b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> Klasik AJAX tek yönlüdür; kullanıcının tarayıcısı sunucuyu kontrol etmediği sürece, ekrandaki bilgi güncellenmez. AJAX'ın bu 'eksikliğini' 'gideren' 'Reverse AJAX' yaklaşımı incelemek isteyebilirsiniz: <a href="http://worknet.workcube.com/index.cfm?fuseaction=rule.dsp_rule&amp;cntid=1329"><span style="color: blue;">Reverse AJAX</span></a> <o:p></o:p></span></li><li class="MsoNormal" style="line-height: normal;"><b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Teknik kadronun bu yeni teknolojiye adapte olması:</span></b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> AJAX yeni bir teknolojidir. Yararlanılması gereken bir teknoloji olduğu kesindir. Teknik kadrolar bu kadar hevesli olmayabilirler. Uygulama Sunucu teknolojiniz üzerinden kodlama yapan kadrolarınızın bu yeni teknolojiyi öğrenmesi zaman ve maliyet anlamına gelebilir. <o:p></o:p></span></li><li class="MsoNormal" style="line-height: normal;"><b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Atılan taş, ürkütülen kurbağaya değmeli:</span></b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> AJAX bir Javascript yan teknolojisidir. Klasik Javascript tek başına bile, uygulama altyapınızı karmaşıklaştırmaya yetebilir. AJAX kodlarınızın Javascript kodlarınızı daha çetrefilli hale getirmesine izin vermemelisiniz. Sağlamlığı ve kalitesi dünyaca kabul edilmiş AJAX Frameworkleri kullanabilirsiniz. Mümkün olduğu kadar, kullandığınız Uygulama Sunucu teknolojisinin önerdiği ve built-in sunduğu AJAX yetenekleriyle işlerinizi halletmeye çalışın. AJAX Framework ve Design Patternleri için bazı kaynaklar:<br /> <a href="http://en.wikipedia.org/wiki/Ajax_framework"><span style="color: blue;">http://en.wikipedia.org/wiki/Ajax_framework</span></a><br /> <a href="http://ajaxpatterns.org/"><span style="color: blue;">http://ajaxpatterns.org/</span></a><br /> <a href="http://developer.yahoo.com/yui/"><span style="color: blue;">http://developer.yahoo.com/yui/</span></a> <o:p></o:p></span></li><li class="MsoNormal" style="line-height: normal;"><b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Tarayıcının İleri-Geri düğmeleri:</span></b><span style="font-size: 9pt; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> Kullanıcılar, bir linki tıklattıklarında, önceki sayfaya geri dönebilmek isterler. Yaptığınız AJAX kodlamasına bağlı olmak üzere, bu düğmeler bazen çalışmayabilir. Uygulamanızı kodlarken, İleri-Geri düğmelerinin sorunsuz çalışmasını sağlayın. AJAX sizin seçiminizdir. Kullanıcılara hiçbir dezavantaj getirmemelidir! <o:p></o:p></span></li></ul>Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-66284546207415132482007-10-04T16:18:00.000+03:002007-10-04T16:37:00.919+03:00ColdFusion 8'in getirdiği yenilikiler<p><strong>Sunucu tarafı yazdırma (Server Side Printing):</strong> Ürününüz bu özelliği kullanırsa şu olur; müşterileriniz, bir raporu yazırmak için, artık kendi bilgisayarlarında ayar yapmak zorunda kalmazlar. Formunuzdaki "Yazdır" düğmesi tıklatıldığında, ColdFusion raporu yazıcıya direkt olarak yazdırır. Rutin yazdırma işlemlerini gece yarısı otomatik yapılması için schedule edebilirler.<br /><br /><strong>Kod yazımında değişiklikler:</strong> Değişkenler üzerinde işlem yapmak için artık Javascript tarzı operatörleri kullanabilirsiniz:<br /><br />a++<br /><br />If a == 0<br /><br />If a &gt; 0<br /><br />a = ["eşref", "atak"] //dizi<br /><br />a = {ad="eşref", soyad="atak"} //structure<br /><br />...<br /><br /><strong>Etiketlerle ilgili değişiklikler:</strong><br /><br />&lt;cfmail attributecollection="#mailattrs#"&gt;<br /><br />&lt;cfloop file="c:\simplefile.txt" index="line"&gt;<br /><br />&lt;cfdump var="#aquery#" show="colA,colB"&gt; <em>// OUTPUT=browserconsolefilename</em><em><br /><br /></em>&lt;CFPROCPARAM DBVARNAME=""&gt; <em>//attribute geri geldi.</em><br /><br />CFQUERY.Results.IDENTITYCOL <em>//DBMS'lerden dönen auto-generated keyi artık öğrenebilirsiniz.</em><br /><br />&lt;cfdbinfo type="columns" datasource="exampleapps"<br /><br />table="employees" name="columns"&gt; <em>//bir veritabanındaki tablo vs yapısını öğrenebilirsiniz.</em><br /><br />&lt;CFTRANSACTION action=“savepoint”&gt;<br /><br />&lt;CFZIP&gt; <em>//yeni bir etiket</em><br /><br />&lt;CFLOCK Scope="Request"&gt; //Multi thread uygulamalarda sorun çıkmaması için yeni bir özellik<br /><br />&lt;CFTHREAD&gt; <em>//yeni bir etiket</em><em><br /><br /></em>&lt;CFPRINT&gt; <em>//yeni bir etiket</em><br /><br />&lt;CFFEED&gt; <em>//yeni bir etiket</em><br /><br />&lt;CFPRESENTATION&gt; <em>//yeni bir etiket</em><br /><br /><br /><br />... </p><br /><p><strong>Application: </strong>Her uygulamada (&lt;cfapplication&gt;) aşağıdaki ayarlar ayrı ayrı yapılabilir:</p><br /><p><br /><br />Missing template handler<br /><br />Custom Tag directory<br /><br />Mapping<br /><br />...</p><br /><p><br /><br /><strong>Template Cache temizleme:</strong> Belirli template'leri temizleyebilirsiniz ve başka birkaç yenilik daha.<br /><br /><strong>Locale:</strong> Gerekebilecek birçok fonksiyona Locale parametresi eklendi.<br /><br /><strong>Web Service:</strong> Birkaç iyileştirme.<br /><br /><strong>Veritabanı:</strong> Dahili PostgreSQL, MySQL, DataDirect, Apache Derby... desteği.<br /><br /><strong>Dosya işlemleri:</strong> Tarayıcıyla dosya yükleme özelliğinde performans iyileştirmeleri. Dosya işlemleri için birço yeni fonksiyon.</p><br /><p><br /><br /><strong>CFC: </strong><br />Ciddi performans iyileştirmeleri. Yenilikler:<br /><br />&lt;cfset meta = getComponentMetaData("CFIDE.adminapi.runtime")&gt; //instantiation yapmadan!<br /><br />&lt;cffunction name="OnMissingMethod"&gt;<br /><br />&lt;CFINTERFACE&gt; //nesne yönelimli programlama ile ilgili olarak<br /><br />... </p><br /><p><br /><br /><strong>AJAX: </strong>AJAX özellikleri:<br /><br />&lt;CFGRID&gt;<br /><br />&lt;CFAjaxProxy&gt;<br /><br />&lt;CFWINDOW&gt;<br /><br />&lt;CFDIV&gt;<br /><br />&lt;CFLAYOUT&gt;<br /><br />&lt;CFPOD&gt;<br /><br />&lt;CFINPUT Type=“autosuggest”&gt;</p><br /><p><br /><br /><strong>PDF:</strong> PDF üretme özellikleri ve iyileştirmeler. &lt;CFPDF&gt;<br /><br /><strong>Resim:</strong> Resim oluşturma ve işleme için etiket ve fonksiyonlar.<br /><br /><strong>LiveCycle</strong>: LiveCycle Data Services<br /><br /><strong>Flash:</strong> Flex/SWF üretme özellikleri.<br /><br /><strong>Performans:</strong> Ciddi performans iyileştirmeleri.<br /><br /><strong>Debugging:</strong> ColdFusion için artık bir IDE çıkabilir!<br /><br /><strong>Sunucu ve Admin özellikleri:</strong> Server Monitoring, Admin API değişiklikleri, 64bit desteği (yalnızca Solaris üzerinde), ColdFusion Administrator'da onlarca iyileştirme ve yenilik.<br /><br />...ve daha birçok yenilik içeriyor.</p><br /><p><br /><br /><strong>Not: </strong>Yeni özellikleri kullanırken iki kere düşünmelisiniz. Eski sürüm bir ColdFusion kullan müşterilerinizde, sayfalarınız çalışmayacaktır.</p>Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-39677377502942117072007-09-23T13:48:00.000+03:002007-09-23T14:11:22.055+03:00Büyük LDF dosyaları ve SQL Server 2005'te shrink ile küçültme<span style="font-weight: bold;">LDF dosyaları zaman içerisinde çok büyür. Büyümüş LDF dosyalarını küçültmek için SQL Server 2005'te başarılı bir işlev var.</span><br /><br /><span style="font-weight: bold;">Not:</span> 2005 istemcisi ile bu işlemleri 2000 veritabanında uyguladığınızda, umduğunuzu alamayabilirsiniz.<br /><br />Kullanımı:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_tI4stHzB8tE/RvZJSG6bKHI/AAAAAAAAALU/TX1xERXMNjw/s1600-h/menu.JPG"><img style="cursor: pointer;" src="http://bp3.blogger.com/_tI4stHzB8tE/RvZJSG6bKHI/AAAAAAAAALU/TX1xERXMNjw/s400/menu.JPG" alt="" id="BLOGGER_PHOTO_ID_5113355002367912050" border="0" /></a><br /><br />İşlem:<br /><br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_tI4stHzB8tE/RvZJSW6bKII/AAAAAAAAALc/bi4EXjvcHdQ/s1600-h/islem.jpg"><img style="cursor: pointer;" src="http://bp0.blogger.com/_tI4stHzB8tE/RvZJSW6bKII/AAAAAAAAALc/bi4EXjvcHdQ/s400/islem.jpg" alt="" id="BLOGGER_PHOTO_ID_5113355006662879362" border="0" /></a>Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.comtag:blogger.com,1999:blog-6336803370549719986.post-4467774414787994722007-09-23T11:28:00.000+03:002007-09-29T13:56:09.856+03:00TCP/IP katmanıyla sunucu kümeleme (cluster)<span style="font-weight: bold;">Sitenizin %99.9 ayakta (uptime) olmasını istiyorsanız, hesaba katmanız gereken birçok unsur vardır. İnternet'in işleyişini bilmelisiniz. Yayını engelleyebilecek tüm olasılıkları hesaba katmalısınız. Makalemiz, işte bu noktada ağ sorunlarının neden olduğu kesintiler önlemek için alternatif yapılar önerecektir.</span><br /><p>Sitenizin adresine "ping atarsanız" sunucunuzun IP adresi döner. Bu bir IP adresinin anlamı şudur; o sunucu makine sizin için çok önemlidir hatta ona bağımlısınız. Müşterileriniz o sunucudan hizmet alamazsa, siteniz yayına ara vermiş olur. Bir makineye bağımlılığı önlemek amacıyla, web sitenize birden fazla IP ve makine tahsis edebilirsiniz. Böylece, makinelerinizden biri hizmet veremez hale gelse bile diğerleri sitenizi ayakta tutar. Bu yönteme, bilindik tabirle "kümeleme" (cluster) denir. Kümeleme, genellikle yük dengelemesi yapmak amacıyla tercih edilir. Aynı zaman, bir makineye bağımlılığı azaltması yönüyle de tercih edilmektedir. Aşağıda, WWW sunucularında kümelemenin kullanılmadığı klasik bir yapı görülmektedir:<br /></p><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_tI4stHzB8tE/RvarQ26bKKI/AAAAAAAAALs/-f5ANaZpy0A/s1600-h/tcp-kumeleme-klasik.jpg"><img style="cursor: pointer;" src="http://bp2.blogger.com/_tI4stHzB8tE/RvarQ26bKKI/AAAAAAAAALs/-f5ANaZpy0A/s400/tcp-kumeleme-klasik.jpg" alt="" id="BLOGGER_PHOTO_ID_5113462733032597666" border="0" /></a><br /><br />Yukarıda görülen yapıda, HTTP sunucusu hizmet veremez durumda olduğunda, site yayına ara vermek zorunda kalır. Müşterileriniz sitenize ulaşamaz.<br /><br />Aşağıdaki örnek yapıda, TCP katmanıyla kümeleme uygulanmıştır. Web sitesi için hizmet veren sunuculardan her birinin farklı bir IP adresi vardır. Bir sunucu hizmet veremezse, tüketiciler birkaç dakika içerisinde diğerine yönlenir.<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_tI4stHzB8tE/Rvas226bKMI/AAAAAAAAAL4/wev8Ng9dV4g/s1600-h/tcp-kumeleme.jpg"><img style="cursor: pointer;" src="http://bp2.blogger.com/_tI4stHzB8tE/Rvas226bKMI/AAAAAAAAAL4/wev8Ng9dV4g/s400/tcp-kumeleme.jpg" alt="" id="BLOGGER_PHOTO_ID_5113464485379254466" border="0" /></a><br /><br />Yukarıda görülen yapıda, web sitenizin 3 farklı IP adresi mevcut. Bu adresler, DNS sunucusunda ayarlanmış durumdadır. DNS sunucusunda "www" "A" kayıtları aşağıda örneklenmektedir:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_tI4stHzB8tE/Rv4tFm6bKPI/AAAAAAAAAMQ/oyxuBBuSH34/s1600-h/dns.gif"><img style="cursor: pointer;" src="http://bp1.blogger.com/_tI4stHzB8tE/Rv4tFm6bKPI/AAAAAAAAAMQ/oyxuBBuSH34/s400/dns.gif" alt="" id="BLOGGER_PHOTO_ID_5115575801107654898" border="0" /></a><br /><br />Görüldüğü üzere, "www" kaydı için 3 farklı IP atanmış durumda. Müşterilerinizin bilgisayarları, bu IP'lerden herhangi birine başvuracaktır. Cookie'ler ve Session Sunucusu sayesinde, session'lar sorunsuz işleyecektir. WWW sunucularınız da artık kümelenmiş ve yük dengelemesi yapılmıştır.<br /><br />TCP katmanıyla kümelemenin yapıldığı bu yeni yapı sayesinde, ayakta kalma oranı epey yükseldi. Ama hala bir risk var; sunucularınız fiziksel olarak aynı mevkide. Mevkiye bağımlı haldesiniz...<br /><br />Sunucularınızın bulunduğu mevki, internete Telekom kabloları ile bağlı. Telekom'dan kaynaklanan bir nedenle sunucularınızın interneti kesilirse, web siteniz müşterilerinize hizmet ulaştıramaz. Bu olasılığı elemek için, sunucularınızı ülkenin dört bir yanına dağıtabilirsiniz (distributing). Mevkilerinizden birinin internet bağantısı kesildiğinde, diğer mevkileriniz hizmetinizi ayakta tutar:<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_tI4stHzB8tE/Rva1t26bKOI/AAAAAAAAAMI/D1JI9yrBg-Q/s1600-h/tcp-kumeleme-ulke.jpg"><img style="cursor: pointer;" src="http://bp2.blogger.com/_tI4stHzB8tE/Rva1t26bKOI/AAAAAAAAAMI/D1JI9yrBg-Q/s400/tcp-kumeleme-ulke.jpg" alt="" id="BLOGGER_PHOTO_ID_5113474226365081826" border="0" /></a>Esref Atakhttp://www.blogger.com/profile/02791450506660569857noreply@blogger.com