Kısaca Grunt

Grunt bir görev çalıştırıcısı. Web geliştirme sürecinde ihtiyacınız olan operasyonları otomatize etmenize yarayacak bir araç. Daha çok platforma dönüşmüş olan grunt, yüzlerce eklentiyle istediğiniz forma sokabileceğiniz bir yapılandırma aracı. Hızlıca bir örnek vereceğim. Basit bir web sitesi hazırlıyorsunuz ve stillerinizi css yerine less ile yazdınız, javascriptlerinizi cosnole.log debug satırlarıyla ve bir sürü yorum ile yazdınız. Sitenizi her yayına alacagınızda bir toparlama ve paketleme işi yapmanız gerekiyor, lessilerinizi css'lere derlemek, belki cssmin gibi ufaltma operasyonuna sokmak, imajlarınızı sıkıştırmanız, javascriptlerinizi temizleyip küçültmeniz belki birden fazla kaynağı tek dosyada birleştirmeyi isteyeceksiniz. Her değişiklik yaptığınızda bu işlemleri tekrarlamanıza imkan yok. İşte bu noktada grunt devreye giriyor.

Grunt ile neler yapabilirsiniz?

Sonu yok çünkü kendi eklentilerinizi yazarak node.js yeteneklerini kullanarak yapamayacağınız şey yok. Ama eklenti veritabanından erişebileceğiniz o kadar çok şey var ki.
- Less, Scss, Sass vb... herhangi bir css derleme işinizi
- Kod validasyonu (css, js, html)
- Imaj optimizasyonu
- Birden fazla javascript veya css kaynağını birleştirme
- Css veya javascript sıkıştırma
- Kodunuzdaki yorumları, debug için geriye kalan artıkları temizleme
- Kaynak versiyonlama

Daha sayamadığım bir çok operasyonu grunt ile farklı kombinasyonlarda hazırlamanız mümkün.

Örnek

Versiyonlamayı denemek için kendime bir örnek kod hazırladım ve github'da paylaştım. Basit bir css javascript projesinde kodumu yayınlamadan önce bütün css ve javascript kaynaklarımı sıkıştırıp adlarını versiyonlamarak yayındaki tüm dosyaların en taze kodu kullanmasını sağlamak için grunt kullandım. Projeyehttps://github.com/mfyz/grunt-release-boilerplate adresinden erişebilirsiniz.

Grunt hakkinda daha fazla bilgiye sitesinden erişebilirsiniz:http://gruntjs.com/
10 Ekim Pazartesi ´05   —   3 Yorum

XML Nedir?


XML (Extensible Markup Language) verinin platform ve donanım bağımsız olarak taşıma ve saklama işini yapan bir işaretleme dilidir. Platform ve donanımdan bağımsızdan kastımızı biraz açmamız gerekirse şunları söyleyebiliriz.

  • İki ayrı platform üzerinde geliştirilmiş yazılımların konuşması için en etkili yoldur. Mesela .NET platformu ile J2EE platformunda geliştirilmiş iki yazılımın ortak veri kullanıp bir birlerine bilgi akışını XML ile yapmak mümkündür.
  • İki ayrı donamın içinde de mümkün olmaktadır. İki ayrı telefon hattının telefon tuşları ile bilgi topladığını düşünelim. Toplayan bu bilgilerin uygulamaya iletilmesinin en etkili yolu yine XML kullanmak olacaktır. Çağrı merkezlerindeki tuşlar ile girilen bilgilerin sorgulanıp cevap dönmesi işlemlerinin hepsinde akış XML formatındaki veri ile gerçekleştirilmektedir.
  • Aynı şekilde çok büyük bir firmanın topladığı bilgiler olduğunu düşünelim. ve bu bilgilerini veritabanlarında tutuyor olsunlar. Başka firmaların bu bilgiyi kullanma taleplerine en iyi cevap bilgiyi bir web servisi ile XML olarak sunmak olacaktır. Çünkü veritabanına doğrudan erişim yapmalarını istemeyeceklerdir.
  • Bu konuda bir çok örnek verilebilir fakat bu kadarının konuyu anlamaya yardımcı olacağını düşünüyorum.


    XML ile HTML Arasında Ne Fark Vardır?


    Başta da söylediğim gibi XML verinin taşıma ve saklama işini yapar. Fakat HTML verinin görünümü ile ilgili düzenlemeleri yapmamıza olanak sağlayacaktır. Mesela bir yazının italik mi, kalın mı, font değeri gibi bilgileri HTML'i kullanarak ayarlayabiliriz fakat verini türünün ne olduğu bilgisini HTML ile belirleyemeyiz. XML ise kullanıcının kendi oluşturduğu etiketlerle verinin biçimi koruyarak onu istediği sisteme ve uygulamaya kolayca taşıyabilmektedir. Aralarındaki en önemli fark HTML'de belirli olarak etiketlerin olması fakat XML'de etiketleri kullanıcının belirliyor olmasıdır.

    Burada iki ayrı işaretleme diline ait bir örnek vermek gerekirse;

    1. Örnek : HTML
    <html>
      <head>
        <title> HTML </title>
      </head>
      <body>
        <h1>Başlık</h1>
      </body>
    </html>
    
    2. Örnek : XML
    <uye>
      <adi>Yahya</adi>
      <soyadi>ÖZTÜRK</soyadi>
      <email>[email protected]</email>
      <ozellikler>
        <boy>177</boy>
        <kilo>75</kilo>
      </ozellikler>
    </uye>
    
    İlk örnekte metinimizin görünümünü ayarladık. Ne nerede çıkacak nasıl olacak diye. İşte bunu HTML kullanarak yaptık fakat ikinci örnekte verimizin görünümünden çok biçimi ile ilgiledik.


    XML Dokümanı


    XML dokümanları ilişkisel veritabanlarından farklı olarak hiyerarşik bir yapısı vardır. Bu yapı kendine has kuralları da beraberinde getirmektedir. Şimdi örnek bir XML dokümanı oluşturalım ve buradaki birimleri teker teker tanıyalım.
    <Uyeler>
      <Uye uye_id=”1”>
        <adi>Yahya</adi>
        <soyadi>ÖZTÜRK</soyadi>
        <email>[email protected]</email>
        <yetkiDerece>1</yetkiDerece>
      </Uye>
      <Uye uye_id=”2”>
        <adi>Volkan</adi>
        <soyadi>VERİM</soyadi>
        <email>[email protected]</email>
        <yetkiDerece>1</yetkiDerece>
      </Uye>
      <Uye uye_id=”3”>
        <adi>Yaşar</adi>
        <soyadi>GÖZÜDELİ</soyadi>
        <email>[email protected]</email>
        <yetkiDerece>1</yetkiDerece>
      </Uye>
    </Uyeler>
    
    <?xml version="1.0" encoding="ISO-8859-9" ?> bu satır başlangıç etiketidir ve kapanış etiketi yoktur. Üç adet özniteliği vardır ve “version” özniteliği verilmek zorundadır. “version” özniteliği XML dosyasının versiyonunu belirtir ve bu bilgi dokümanı parse(okuma) edecek uygulama için gereklidir. “encoding” özniteliği doküman içerisindeki dil seçeneğini belirtmek için kullanılır. Ben burada Türkçe dil setini kullandım.

    <Uyeler> </Uyeler> etiketi ise kök (root) etikettir ve XLM dokümanın da en az bir tane bulunmak zorundadır. Bu etiket diğer bütün etiketleri içerisine almak zorundadır.

    <Uye uye_id="..."> </Uye> etiketi çocuk (child) etiket olarak isimlendirilir ve element olarakta bilinir. Buradaki uye_id bir özniteliktir ve öznitelik değerleri “” arasında verilmek zorundadır.


    Genel kuralları belirtmek gerekirse;
    • XML dokümanında her alan bir etiket çifti arasında belirtilir ve açılan her etiket kapatılmak zorundadır.
    • Etiketler büyük küçük harf (case sensitivity) duyarlıdır.
    • Bir element içerisinde başka bir element açılmış ise o element kapanmadan diğeri kapatılamaz, yani hiyerarşi bozulamaz.
    • XML'de boşluk karakteri (white space) göz önüne alınır.
    • <, >, ", ', & bu karakterler XML içerisinde kullanılamaz. Bunların yarine sırasıyla < yerine &lt;, > yerine &gt;, " yerine ", ' yerine &apos;, & yerine &amp; kullanılmalıdır.
    • Doküman içerisinde en az bir element olmalıdır.

    Tüm bu kurallara uyarak oluşturulmuş dokümanlara iyi yapılanmış anlamında, “well-formed” adı verilir.


    XML hakkında daha detaylı bilgi için :

    http://www.softwareag.com/turkiye/XML_Kutuphanesi/
    http://www.w3.org/XML/
    http://www.w3schools.com/xml/
    http://xml.silmaril.ie/

    kaynaklarını kurcalamanızı tavsiye ederim.


    Hazırlayan : Yahya ÖZTÜRK , Kaynak : Verivizyon

Really Simple Syndication

RSS Nedir?


RSS aslında bir veri paylaşma standardı, ben haber kağıdı diye adlandırıyorum. XML ile yazılmış ve w3c (http://www.w3.org/) tarafından belirlenmiş bir standart'da olmak zorunda olup mantık olarak dekont gibidir. Yani içerisinde bazı standart alanlar ve değerleri vardır. RSS de bunun gibi, haberleri "başlık", "eklenme tarihi", "haber" vs gibi bilgileri haber bazında standartlaştırarak çeşitli alanlarda rahat kullanılmasını sağlayan bir veri yayın türüdür.


RSS'in faydaları nelerdir?


RSS'leri çoğu sitede görür olduk artık. Bu neyi ifade eder; o sitedeki gelişmeleri RSS yayını ile RSS okuyucu bir programdan veya RSS okuma destekli internet araçlarından rahatça takip edebilmeyi sağlar. Şu an bir günde onlarca sitede onlarca yeni haber/gelişme çıkıyor ve yayınlanıyor. Bunların rahat takibi için RSS kullanırız. RSS okuyucu programımıza birkaç siteden RSS kaynağı belirterek tüm o sitelerdeki gelişmeleri anında TEK YAPIDA özelleştirebileceğimiz yapıda kolayca görebiliriz. Hatta artık çoğu eposta okuyucu rss destekli geliyor, tarayıcılar rss okuyabiliyor. Hatta birçok cep telefonunda bile rss desteği konmaya başlandı.


RSS Hangi alanlarda kullanılır?


Haber ve haber kaynaklı çoğu alanda kullanılabilir. Yenilikleri duyurmak adına çoğu alanda kullanıldığı gibi blog'lar da RSS destekleri ile günlüklerdeki yeni entry'leri RSS ile kolayca takip edebilirsiniz.


RSS teknik olarak nasıldır?


RSS kaynakları XML tabanlı bir etiketleme dili ile yazılır. Tam teknik detayları şu adreslerde bulabilirsiniz :
http://blogs.law.harvard.edu/tech/rss ()
http://www.mnot.net/rss/tutorial/ (*)
http://searchenginewatch.com/sereport/article.php/2175271


RSS okumak için hangi programları kullanabilirim?


Online (Web tabanlı) :
http://www.pluck.com/ ()
http://reader.rocketinfo.com/desktop/ ()

Windows için :
http://www.pluck.com/ (*)
http://www.sharpreader.net/ ()
http://www.rssbandit.org/
http://www.rssreader.com/
http://www.feedreader.com/

Linux için :
http://www.nongnu.org/straw/ (*)
http://liferea.sourceforge.net/ (*)
http://akregator.sourceforge.net/ ()
http://developer.imendio.com/wiki/Blam

MacOSX için :
http://www.newsgator.com/Individuals/NetNewsWire/ (*)
http://www.utsire.com/shrook/ (*)
http://www.newsfirerss.com/ (
*)
http://www.opencommunity.co.uk/vienna2.php (
*)


RSS Kaynkalarını nereden bulabilirim?


http://turkce.blogspot.com/ adresinden çok büyük bir arşiv bulabilirsiniz. Ayrıca :
http://www.syndic8.com/feedlist.php (alt kısımda language'den Turkish seçilerek sadece türkçe rss kaynakları listelenebilir)
Aynı zamanda mfyz.com'daki son yazılanlar, günlük gelişmeleri, yeni dökümanları rss ile takip edebilirsiniz. Bunun için sitenin alt bölümünde bulunan RSS butonuna tıklayarak ilgili rss'in url'sini rss okuyucunuza ekleyin.
Hazırlayan : Mehmet Fatih YILDIZ

PHP Nedir?


PHP sunucu tabanlı html içine gömülmüş (html-embed) bir betik(script) dilidir. Daha açık bir anlatım ile, internetteki forum, anket, oyunlar, mesaj tahtaları gibi kullanıcının aktif bir şekilde müdahalede bulunduğu yapıları oluşturmaya yarayan web programlama dillerinden biridir. PHP ile inanılmaz yetenekli, yazılımsal sayfalar oluşturabilirsiniz. Örnek olarak burada dökümanlara puan verebiliyor, kaç kişinin okuduğunu görebiliyorsunuz. Veya forumda istediğinizi yazıp cevaplar alabiliyorsunuz. Bunlar dinamik olarak kullanıcının hareket/isteklerine göre değim gösteriyor. Bunlar php ile yapabileceğiniz basit uygulamalar. Çok daha karmaşıklarını da görmüşsünüzdür/yapabilirsiniz. PHP dili C, Java ve Perl dilleri üzerinde geliştirildiğinden bu dilleri bilen arkadaşların php'yi öğrenmeleri zor olmayacaktır.


PHP'ye Nereden Ve Nasıl Başlamalı?


PHP'ye bence başlamanın iki yolu var. Eğer zaman çok önemli değilse, internetteki makaleleri inceleleyerek bol bol basit ve fonksiyonel kodlar yazmak. Bu sayede kodlardaki hatalarla uğraşırken, farklı yöntemler ararken inanılmaz bir pratik ve php bilgisi kazanırsınız. Kendiniz kodlar üreterek de php'yi daha iyi sindirerek öğrenmiş olursunuz.
İkinci yol ise zamanı kısıtlı ve/veya bir an önce öğrenmek isteyenlere... Öncelikle bir kitabevine gidip 1-2 saat php kitaplarını inceleyin. Aralarında en güzel ve en kolay öğreneceğinizi düşündüğünüz kitabı alın. Aslında kapağını sevmeniz bile yeterli. Zira hepsinin içeriği hemen hemen yakın ve giriş seviyesi için teorik bilgi dışında çok fazla uygulama içermiyorlar. Kitaptakileri teker teker uygulayın. Örnek kodları yazarak işin püf ve teorik genel kısımlarını öğrenmiş olursunuz. Bundan sonra internetteki makaleleri okuyarak php'nin içine girebilirsiniz. Kitapta öğendikleriniz php'nin "p"sini bile oluşturmaz. Çünkü php açık kaynak bir dil olduğundan, sürekli yeni kütüphaneler, her yeni kütüphane içinde yüzlerce yeni fonksiyon gelir. Şu anda php manual'daki fonksiyonların sayısı benim göz kararım ile 3-5 bin civarındadır. (Sadece listeye bir göz atmıştım.) Bu fonksiyonların hepsini öğrenmek için ne beyin dayanır ne de göz. İşinize yarayacak kütüphaneleri ve fonksiyonları öğrenmeniz için php ile neler yapılabilir? sorusunun yanıtısı iyi bulmanız gerekir.
PHP ile önereceğim kısımlar şimdilik bunlar; her iki yolda da interneti iyi kullanıp php manual'ı iyi kullanmanızı öneririm.

Hazırlayan : Mehmet Fatih YILDIZ

Popüler Etiketler

workspace job cache cookie subdomain optimization apple iphone ipad form button jquery twitter portfolio cms kurulum nasıl internet statistics mysql sql optimizasyon analyse procedure wordpress dokuman plugin linux konsol login oyun ruffles doritos rss xml nedir regex editor coding export less css css3 kontrol yapıları if switch htaccess apache route router mod_rewrite developer mfyz ingilizce facebook api auth ui ux webkit firefox zaman compile assets javascript framework mobile itunes ubuntu widget mail newsletter subscription js pharma hack php google seo ipucu server html html5 input spam subversion svn session compiler macosx windows app on-the-fly url ie support browser xmlhttprequest ajax mdb2 pear injection wanda digital medya istatistik social sosyal network ios development lifestream proje browsers örnek kod tool integration service blog terminal gimp howto search meta banner icons media startups music kitap design tebrik iOS web app ntfs fstab share table prepare execute mssql pgsql textarea select screen app store store in-app purchase purchase verification storekit itunes connect signature imza internet explorer osx player open source lisans db code mootools www redirect crossdomain object tytz query bootstrap parse radio graph date diff tarih connect box download logo http license style language sitemap generator ide phpstorm jetbrains deployment version control git kampanya icon ikon grafik calendar insanlar while database free chart opengraph fql laptop notebook xhtml link wireless applications