Merhaba arkadaşlar, geçtiğimiz günlerde bir ihtiyacım olan yapıyı istediğim duruma getirdim ve sizlerle paylaşmak istedim.
Yapıda temel olarak elimizde bir excel dosyamızın olduğunu düşünelim. Bu dosya içerisindeki verileri belli bir formatta site üzerine upload etmek ve işlemek istiyoruz. Böyle bir ihtiyacınız varsa doğru yerdesiniz. Belki 10’larca çeşitli kütüphane denedim ancak hiçbiri benim istediğimiz tam olarak sağlayamadı. Ancak geliştirdiğim bu kütüphane sizin işinizi çoğunlukla çözecektir diye düşünüyorum.
*Performans
Bu kütüphane büyük * .xlsx dosyalarını işleyememe konusunda biraz yavaş kalıyordu. Bu kütüphanenin ana noktasının, performans veya büyük veri kümelerini işleme yeteneği değil, kullanılabilirlik ve rahatlık olduğu açık. Ancak bir geliştirme sonrası şuan 2000 satır / 20 sütun dosyasını ayrıştırma süresi yaklaşık 3 saniye. Büyük veri kümelerini işlemek için lütfen .xlsx uzantısını kullanın.
Merhaba, çok uzun zamandır blog gönderisi paylaşmadığımı farkettim. Malum karantina süreci devam ediyor 🙂 Bu süre zarfında sizler için yazmayı düşündüğüm makalelerin de bir listesini çıkardım. Bunları yavaş yavaş paylaşmayı düşünüyorum. Bu makalemizde sizlerle Cookie Altyapısı ile Çalışan Pop-Up nasıl oluşturabiliriz? Bu sorunun cevabını öğreneceğiz.
Geçtiğimiz günlerde bununla alakalı bir ihtiyacım oldu. Ve araştırma yaparken çok güzel bir JS kütüphanesinin bunu bizim yerimize yaptığını gördüm. Test ettim ve kullandım. Sonuç: Başarılı.
AgreeToContent.js kütüphanesi, kullanıcının sözleşmesini kabul ettikten sonra kullanıcının web içeriğinize erişmesini sağlayan, çerez altyapısını kullanan Pop-up’ı oluşturmanıza olanak tanır.
Nasıl kullanılır?
Sayfaya “agreeToContent.js” JavaScript dosyasını ekleyin.
LinkedIn bildiğiniz üzere iş dünyası için dünyanın en popüler sosyal ağı. Bununla birlikte LinkedIn, web-mobil uygulamalarındaki oturum açma deneyimini zenginleştirmek için çeşitli API’ler sunar. LinkedIn hesabı ile oturum açma özelliği, kullanıcıların web sitenizde yeni bir hesap oluşturmadan LinkedIn hesabıyla oturum açmalarını sağlar. Giriş sistemini uygulamak daha fazla kayıt almak için zaman kazanılmasına yardımcı olur.
LinkedIn JavaScript SDK, sayfanın yenilenmesi olmaksızın tek bir sayfada LinkedIn hesabıyla kullanıcı girişini gerçekleştirmenin kolay bir yoludur. Bu yazıda, JavaScript SDK kullanarak LinkedIn API’yi nasıl entegre edebileceğinizi göstereceğim. Kullanıcının LinkedIn hesabıyla kimliğini doğrulayacağız ve JavaScript SDK kullanarak LinkedIn’den kullanıcı profili verilerini alacağız. Aşağıda sizler için açıklayıcı bir infografik hazırladım.
LinkedIn Uygulamasını Oluşturmak
JavaScript SDK kullanabilmek için LinkedIn üzerinde bir uygulama oluşturmanız gerekiyor. Henüz kayıtlı bir uygulamanız yoksa, öncelikle buradan bir LinkedIn uygulaması oluşturun.
Mevcut bir uygulamanız varsa, JavaScript SDK’yi kullanmak için aşağıdaki ayarları yapmanız gereklidir.
Uygulamalarım Üzerinde Uygulamalar sayfanızı seçin.
Sol menü panelinden JavaScript bağlantısını tıklayın.
JavaScript Ayarları altında Geçerli SDK Alan Adlarını belirtin. Ardından güncelle butonunu tıklayın.
Dikkat: localhost üzerinde test etmek için bu etki alanını ekleyin: http://localhost
Ardından, Kimlik Doğrulama sayfasına gidin, daha sonra komut dosyasında kullanmak üzere İstemci Kimliğini kopyalayın, bunu kullanacağız. Burası önemli.
Javascript
SDK işlevselliğini kullanmak için, web sayfanıza LinkedIn JavaScript kütüphanesini ekleyin ve LinkedIn App API key bilginizi belirtin.
Aşağıdaki JavaScript fonksiyonları, LinkedIn oturum açma işlemini tek bir sayfaya entegre etmek için kullanıldı.
onLinkedInLoad() – Kimlik doğrulaması tamamlandıktan sonra bir API isteği yapmak için tanımlandı. getProfileData() – Üyenin profil verilerini talep etmek için tanımlandı. displayProfileData()– Web sayfasındaki üye profil bilgilerini görüntülemek için tanımlandı. logout() – Kullanıcıyı LinkedIn üzerinden çıkış yaptırmak için kullanıldı. removeProfileData() – Profil bilgilerini web sayfasından gizlemek için kullanıldı.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<script type="text/javascript">
// Kimlik doğrulaması tamamlandıktan sonra bir API isteği yapmak için bir olay dinleyicisi ayarlayın
functiononLinkedInLoad(){
IN.Event.on(IN,"auth",getProfileData);
}
// Üyenin profil verilerini talep etmek için kullanılır
// LinkedIn üzerindeki kullanıcı session bilgilerini uçurur.
functionlogout(){
IN.User.logout(removeProfileData);
}
// Profil bilgilerini sayfadan siler.
functionremoveProfileData(){
document.getElementById('profileData').remove();
}
</script>
HTML
LinkedIn ile Oturum Aç butonunu oluşturalım.
1
2
<!--signinwithlinkedinbutton-->
<script type="in/Login"></script>
Üyenin kullanıcı verilerini (profil resmi, ad, soyad, e-posta adresi, başlık, yer ve genel profil URL) burada göstreceğiz. Ayrıca, burada kullanıcıyı LinkedIn hesabından çıkmak için bir oturum kapatma bağlantısı göstereceğim.
Gördüğünüz üzere LinkedIn üzerinden gelen verileri basit biçimde kendi tarafımıza aldık ve işlem yaptırdık. Siz dilerseniz entegrasyonu genişleterek, kullanıcı önce kendi sisteminize kayıt edebilir, sonra da giriş yaptırabilirsiniz. Bu size kalmış. Oldukça basit şekilde açıklamaya çalıştım. Sabrınız için teşekkür ederim.
Bir sonraki makalede görüşmek üzere, mutlu, huzurlu, sağlıklı günler dilerim.
Bildiğiniz üzere browser cache’leri web mimarilerini hızlandırmak için kullanılır. Fakat bu durum yazılım geliştiriciler için bir süre sonra çileden çıkarıcı bir durum olabilir. Özellikle tarayıcıda en son sürümü görüntülenecek dinamik bir içerikle uğraşırken. Bununla birlikte, güvenlik sebebiyle, javascript içinde tüm tarayıcılar için önbelleğe almayı devre dışı bırakabilecek mükemmel yöntemler yoktur. Bu yazıda, javascript’in ve jQuery’nin tarayıcılar tarafından önbelleğe almasını (cache) durdurmak veya devre dışı bırakmak için kullandığım birkaç yöntemi göstereceğim.
jQuery
jQuery v1.2’nin sonraki sürümünde, jQuery ajax sınıfıyla tarayıcı ile önbelleğe almayı durdurmak için bir yöntem sunulmuştur. V1.2’deki güncelleme listesini görmek için jQuery web sitesini ziyaret edebilirsiniz. v1.2 dökümantasyonlarda önbelleğe almayı devre dışı bırakacak bir fonksiyon içerdiğini göreceksiniz. Her bir dinamik içeriğin önbellekte saklanma şeklini true / false olarak ayarlayarak tüm tarayıcı cache’ini devre dışı bırakmak üzere bir varsayılan ayar görebilirsiniz.
Her bir ajax istek önbellek özelliklerini belirlemek için,
1
2
3
4
5
6
7
$.ajax({
url:'index.html',
cache:false,
success:function(html){
$('#results').append(html);
}
});
jQuery örneğini yansıtmaktadır. Ve tarayıcıyı kullanarak cache’i devre dışı bırakmak için aşağıdaki fonksiyonu kullanabiliriz:
1
$.ajaxSetup({cache:false}});
Javascript
Tarayıcıların belirli bir dosyayı önbelleğe alabilmelerinin nedeni, tarayıcıya geçirilen url’lerin aynı olması nedeniyledir. Her geçerlilik için onu benzersiz kılmak için, aşağıda gösterildiği gibi url’nin sonuna rasgele bir sayı ekleyebiliriz,
Bu yöntem, tüm dosyaların, tarayıcıya attığınız her dinamik geçiş için benzersiz olmasını sağlar; tarayıcının her seferinde güncel dosyayı çekmesine olanak sağlayacaktır. Bu yöntemi tarayıcının neredeyse tamamının dinamik içeriği alma şeklini destekleyeceği için daha güvenilir ve kullanışlı buluyorum.
Bonus: HTML
Aşağıdaki meta etiketi kullanarak önbelleklemeyi de devre dışı bırakabilir veya durdurabilirsiniz,
Bu makalede jquery ile kolayca nasıl cookie oluşturulur, cookie silme işlemi nasıl yapılır, belli gün aralıklarında kullanıcı tarayıcısında çerez nasıl saklanır, saklanan cookie’lerin yönetimi ve kontrolü nasıl yapılabilir sorularına yanıt bulacaksınız.
Öncelikle cookie(çerez) ne işe yarar, niçin kullanılır, bu sorulara cevap verelim.
Yazılımsal olarak oluşturulan çerezler kullanıcıların sistemlerinde geçici olarak saklanan, veri kaydetmeye ve korumaya yarayan geçici veri merkezleridir. En yalın haliyle böyle anlatılabilir diye düşünüyorum. Sonrasında bu çerezler okunur, böylece kullanıcı yönetimi, yada saklanan veri yönetimi kolayca yapılabilir.
Geçtiğimiz günlerde cookie işlemlerinin yönetimini kolayca yapabileceğim bir kütüphane arayışına giriştim. Birkaç denemeden sonra, oldukça yalın şekilde sınıflandırılmış bir kütüphane olduğunu keşfettim. Şimdi sizlerle bu kütüphaneyi paylaşacağım, cookie yönetiminin nasıl yapıldığını göstereceğim.
Öncelikle script’i edinerek sayfa içerisine import edelim. Tabi jQuery import’tan hemen sonra olmalı.
1
<script src="/path/to/jquery.cookie.js"></script>
*Basit cookie oluşturmak:
1
$.cookie('name','value');
*15 gün saklanan bir cookie oluşturmak
1
$.cookie('name','value',{expires:15});
*Cookie okumak
1
$.cookie('name');// => "value"
*Cookie silmek
1
2
// Returns true when cookie was successfully deleted, otherwise false
$.removeCookie('name');// => true
jquery.cookie ile cookie yönetimi yapmak işte bu kadar kolay. Şimdi aşağıda örnek bir uygulama yazacağım. Buna göre kullanıcıya sadece 1 kere göstermek istediğimiz bir yazı var diye farz edelim. Yani tekrar tekrar gösterilmeyecek. Bunun kontrolünü nasıl yapabileceğimiz aşağıdaki bonus örneğimizde mevcut. Bir sonraki makalemizde görüşmek üzere. Kötülerden uzak geçsin gününüz. Kolaylıklar dilerim.
Bonus Uygulama
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if(!$.cookie('popup-shown')){
//Burada pop-up içerisinde göstermek istediğimiz mesajımız olsun.
$.magnificPopup.open({
items:[
{
src:'#disclaimer',
type:'inline'
}
],
removalDelay:300,
mainClass:'mfp-fade',
closeOnContentClick:false,
modal:true
});
//Tarayıcıya cookie tanımlayalım ki tekrardan gösterilmesin.