Meraklısı için

Web yazılıma yeni başladığım dönemlerde bu site nasıl yapılmış, kullandığı dil ne, kütüphane ne diye merak edip sitenin kaynak koduna bakardım. Şimdilerde birileri bunu düşünüp sitenin kullandığı kütüphane ve teknolojileri tek tık ile görmeyi sağlayan tarayıcı eklentisi geliştirmiş. Chrome ve firefox tarayıcılarına kurulum yapılıyor.

Sitedeki birçok kütüphane ve teknoloji algılayabiliyor. İkona tıkladıktan sonra 2-3 saniye içinde siteyi inceleyip kullandığı teknolojileri listeliyor.

Web sitesi: https://www.whatruns.com

Meraklısı arkadaşlara duyurulur. 🙂

Jquery ile sırayla veri gönderip almak

Bazı javascript işlemlerinde elimizdeki veriyi sırayla işleme sokup sonuç almamız gerekebiliyor. Bu durumda verileri düzenli olarak göndermek için en basit ve en iyi yollardan biri verileri array nesnesine atayıp sırayla göndermek. Kısaca mantığı şöyledir; ilk işlem tetiklendikten sonra sonuç geldiğinde array nesnesindeki sonraki veriyi çekip tekrar işlemi başlatmak. Bu şekilde ard arda istek gönderilmediği için tarayıcı tarafında önbellek problemini de en aza indirmiş olacağız.

Jquery kütüphanesi, css ve html kodlarını sayfamıza ekledikten sonra işlemi yapacak kodlarımıza geçelim.

Kullanacağımız parametreleri tanımlıyoruz. Array nesnesine ister id değerlerini isterseniz string ifade ekleyebilirsiniz. Buraya ekleyeceğimiz değerleri sırayla işleme sokacağız.


    // Başlama sayısı
    var baslama = 0;
    
    // Sırası ile işlem yapılacak değerleri array'a atıyoruz.
    var array = [2,4,6,8,10,12,14,16,17,18,20]; // String ifade için örnek: ["Değer 1","Değer 2" ...]

    // Array'daki eleman sayısını bir değikene atayalım.
    var arraytoplam = array.length;

İşlem yapacak fonksiyonu hazırlayalım. Ben array’daki sayıları ajax.php sayfasına gönderiyorum. Siz istediğiniz sayfaya gönderebilirsiniz.


   // Ajax istediğinde çalışacak fonksiyonumuz
    function ajax(gelendeger,islemgenisligi){

         $.ajax({
	       type: 'GET',
	       url: 'ajax.php',
	       cache: false,
	       data: 'value=' + array[baslama],
	       error: '',
	       success: function (cevap){
				
			   // Gelen yanıtı sonuclar divinin sonuna ekliyoruz.
               $("#sonuclar").append(cevap);
               
               // Başlama değerini bir arttırıyoruz böylece array'daki sonraki elemanı buluyoruz.
               baslama++;

               // Barın genişliğini arttırıyoruz.
               $("#bar span").css("width",(islemgenisligi*baslama));
               
               // Başlama değeri array'daki eleman sayısına küçük yada eşit ise istek göndermeye devam et.
               if(baslama <= arraytoplam - 1){
                
                 // Ajax istediğini gönderiyoruz.
                 ajax(array[baslama],islemgenisligi); 
                
               }else{ // Değilse işlemin bittiğini bildir.
                  $("#sonuclar").append('<span style="color:green;font-weight:bold;">Tüm sayılar çarpıldı.</span>');
               }
			}
	    });	

    }
    

Burada önemli olan baslama değerini sonuç geldiğinde 1 arttırıyoruz ve eğer array’daki toplam eleman sayısından büyük değilse tekrar fonksiyonu çağırıyoruz.

İlk işlemi tetiklemek için sayfa yüklendiğinde fonksiyonu çağırıyoruz.


    $(document).ready(function(){

         // Barın genişliğini alıyoruz.
        var bargenislik = $("#bar").css("width").replace("px","");

        // Her işlem yapıldığında barın genişliğini ne kadar arttıracağımızı buluyoruz.
        var islemgenisligi = (bargenislik/arraytoplam).toFixed(2);

        // Kaç işlemin yapılacağını gösteriyoruz.
        $("#islemsayisi").html("Yapılacak işlem sayısı: " + arraytoplam);
        
        // Ajax isteklerinin başlaması için sayfa yüklendiğinde ilk istediği gönderiyoruz.
        ajax(array[baslama],islemgenisligi);

    });

Kısaca bu tarz işlemlerin mantığını anlatmak istedim. Kodları kendinize göre düzenleyebilirsiniz.

Önizleme

İndir

Sorularınızı yorumda belirtebilirsiniz.

Herkese iyi çalışmalar

Php ile excel to mysql aktarma

Bazen farklı projelerde excel’den veri aktarmanız gerekebiliyor. Geçende bir projede 10000 satırlı excel dosyasındaki verileri db’ye aktarmak gerekiyordu. Bunun için basit ve kullanışlı bir script hazırladım. Ayrıca birkaç sütundaki veriler üzerinden php ile düzeltmeler yapman gerekiyordu. Kendi işimi görecek kadar yaptıktan sonra ihtiyacı olan arkadaşlar olabilir diye biraz daha düzenleyip paylaşmaya karar verdim. Ayarları yapmak çok basit zaten kodlar içerisindeki gerekli açıklamaları yaptım. Birazda burada bahsedelim.

Db ayarlarını yaptıktan sonra diğer ayarları yapıyoruz. Burada dikkat etmeniz gereken nokta $ExcelColumn ile $MysqlColumn değerleri aynı sayıda olmalıdır.


//Excel dosyasının adı
define("Excel_File_Name","test.xlsx");

//Verilerin aktarılacağı tablo adı
define("DB_Table","excel_table");

//Her yenilemede kayıt edilecek veri sayısı
define("Get_data",12);

//Her sayfada eklenecek kayıt sayısı
define("Records_data",10);

//Kaç saniyede bir kayıt eklesin
define("Second",2);

//Excel'de bize lazım olan sütunları tanımlıyoruz. Sıralı şekilde olmalıdır. A, B, C ...
$ExcelColumn=Array("A","B","C","D");

//Mysql tablosundaki bize lazım olan sütunlar. Burayı istediğini gibi sıralayabilirsiniz.
$MysqlColumn=Array("marka", "model", "uretim_yeri", "uretim_yili");


Ayarları yaptıktan sonra index.php sayfasını çalıştığınızda belirlediğiniz limitlerde kayıtları eklemeye başlayacaktır. Tüm kayıtlar eklendikten sonra “Tüm kayıtlar eklendi.” şeklinde uyarı verip sayfayı durduracaktır. İşlem tamamlanıncaya kadar sayfanın açık kalması gerekiyor. Sunucu durumuna göre limitleri arttırıp verileri daha çabuk kayıt edebilirsiniz.

Sorularınızı yoruma belirtebilirsiniz.

Önizleme

İndir

 

Js ile aktif/pasif sekme kontrolü

Bitly tarzı sitelerin linkine tıkladığınızda sayfadaki reklamla birlikte sağ üst bölümünde bir sayaç vardır. Eğer sayfada aktif değilseniz sayaç devam etmez. İlerlemesi için sayfada aktif olmanız gerekir.

Yada bazı sitelerde sekme değiştirdiğinizde “Bizi Unutma”, “Niye Bekleriz” şeklinde title kısmında bildirim çıkar.

Aslında sürekli kullandığımız iki basit fonksiyon ile bu işlemi kolayca yapabilirsiniz.

İlk olarak sayfamıza jquery kütüphanesi aktif ediyoruz.

Bu örnekte sadece title kısmını değiştirdim. Siz istediğiniz işlemi yapabilirsiniz. Ancak alert ifadesini kullanırsanız uyarıya tamam dedikten sonra sayfadan ayrılınca tekrar uyarı vereceği için sonsuz döngüye girecektir. 🙂

$(window).blur(function() { // Sayfadan ayrılınca
    $("title").html("Seni Bekliyoruz :)");
});

$(window).focus(function() { // Sayfaya geri gelince
    $("title").html("JS ile Aktif/Pasif Sayfa Kontrolü");
});

Önizleme

Atom – power mode eklentisi (eğlenceli kod yazın)

Her yazılım geliştirici kod yazarken bazen sıkılmaktadır. Yada bazı projeleri yapısı nedeniyle geliştirmek sıkıcı olabiliyor.

Tamda bu noktada sizlere atom kod editörü için hazırlan power mode eklentisini tanıtacağım.

Eklenti bizlere daha eğlenceli birazda efektli kod yazmamızı sağlıyor. Özellikle Combo modunda insanın yazdıkça yazası geliyor. 😀

Github sayfası: https://github.com/codeinthedark/editor

Kod yazarken titreme ve patlama efekti

Skor ve Combo

Kurulum için editörü açtıktan sonra File > Settings bölümünden Install bölümüne gelin. Arama kısmına activate-power-mode yazıp entre’a basınız. Eklenti karşımıza çıkacaktır. Install diyip kurulumu yapıyoruz. Eklentinin ayar sayfasından efektleri ve diğer özellikleri ayarlayabilirsiniz.