24 Eki 2016

iOS Safari ve WebView’de Rubber Band Efektini Kaldırmak

Web sitesi veya uygulaması Safari üzerinde çalışırken, yukarı doğru kaydıracak bir içerik olmamasına rağmen kullanıcı yukarı doğru kaydırdığında oluşan elastik "daha fazla yukarı gidemezsiniz" durumuna Rubber band effect diyoruz. Bu efekti bazı durumlarda, özellikle webview üzerine gömülü Cordova benzeri sistemlerde kaldırmanız gerekebilir. Bu yazıda birkaç şekilde bu efekti nasıl de aktive edebileceğimiz üzerine birkaç not […]

22 Eki 2016

Kullanıcı Deneyimi Üzerine İzlenilmesi Gereken Adımlar (UX Checklist)

Özellikle üzerinde profesyonel olmayan birisi için, UX tasarlarken yapılması gereken çok fazla şey olması düzenli bir şekilde çalışmanızı çok zorlaştırabiliyor. Bu sorunun önüne geçmek için araştırma yaparken, güzel bir checklist'e denk geldim. Bu online tool ile, çalışmanız sırasında yapmanız gereken UX çalışmalarını liste şeklinde görebilir, yaptıklarınıza check atabilirsiniz. Bu sayede hem workflow olarak kendi ilerlemenizi […]

18 Eki 2016

AngularJS’de src Yerine ng-src Kullanmak

Çok basit bir bilgi gibi dursa da çoğu zaman gözden kaçabilen bir ayrıntı. Çalıştığım projelerde bir resim için src niteliği belirlerken angular değişkeni kullanacaksam şu şekilde kullanıyorum. <img src="adres/{{url}}.png"/> Bu kodun çalışmaması için herhangi bir neden bulunmuyor. Ek olarak kod gayet de güzel çalışıyor. Fakat konsolda, ´adres/{{url}}.png´ adresi için 404 hatası veriyor. Bunun temel nedeni, […]

08 Eki 2016

Node.js ile Crawling Yaparken Bilinmesi Gerekenler

Yaklaşık 3 aydır node.js'i yalnızca scripting ve crawling için kullanıyorum. Herhangi production seviyesinde bir projede node kullanmak an itibariyle bana pek güven verici gelmiyor, fakat güzel bir makine ile nodejs üzerinde yapacağınız senkron olmayan network crawling işlemlerinde harika bir performans veriyor. Line by line bir programlama dilinde karşılaştığınız X işlemini yap, Y işlemini yap, Z […]

06 Eki 2016

Cheerio – Sunucu Taraflı DOM İşleyicisi

Cheerio, nodejs ile DOM objeleri oluşturma, değiştirme yönetme, parse etme veya benim en beğendiğim özelliği olan Crawl edilen DOM verisinin içindeki veriyi düzenli hale getirmemize ön ayak olan bir kütüphane. Kütüphanenin en beğendiğim özelliği crawl edilen DOM stringini jQuery seçicileri ile seçiyor olmanız. Birkaç örnek ile nasıl kullanıldığını gösterelim; let cheerio = require("cheerio"); let $ […]

02 Eki 2016

Angularjs $timeout Servisini Durdurmak ve Test Etmek (cancel/flush)

$timeout servisi, angular'da setTimeout() metodunu çevreleyen bir built-in servis; ek olarak geliştirme sırasında ek bir fayda sağlamasa bile*, kod testi sırasında, flush gibi metodlar ile, test sürecini kolaylaştırıyor/hızlandırıyor. (*) ek olarak sunduğu zamanlayıcısı promise olarak atayıp .cancel() metodu ile clearTimeout işlevi görmesi açısıdan daha hoş bir yaklaşıma sahip olduğunu söyleyebiliriz, fakat ek olarak herhangi bir […]

02 Eki 2016

SVGO – SVG Optimize Etme/Sıkıştırma Aracı

SVGO, nodejs ile yazılmış, svg vektör grafiklerinini kayıpsız sıkıştıran, (optimize eden) güzel bir konsol uygulaması. Ayrıca nodejs tabanlı olması açısından, Javascript uygulamarı içerisine de istenirse rahatlıkla gömülebiliryor. npm install -g svgo Komutu ile npm üzerinden global olarak yükleyerek konsol uygulaması olarak kullanabilirsiniz. Konsol uygulamasında bilmeniz gereken bazı komuşlar şu şekilde; svgo [Secenekler] [Argumanlar] // Genel […]

21 Eyl 2016

MD Formatında Javascript Kod Dökümantasyonu – JSDoc2md

JSDoc, javascript kodlarınıza eklenen yorumları kompile ederek, HTML halinde sayfalar şeklinde dökümantasyona çeviren güzel bir konsol uygulaması. Bunun yanında, JSDoc2MD isimli ve yine JSDoc üzerine oluşturulmuş bir diğer güzel uygulama ile, kodlarınızın dökümantasyonunu tek sayfa halinde md formatında çıktı olarak da alabiliyorsunuz. jsdoc-to-markdown @Github Uygulamayı npm üzerinden yükledikten sonra; npm install jsdoc-to-markdown Fonksiyon ve class'larınız […]

21 Eyl 2016

Javascript Mantıksal Karşılaştırmaları: == ve === Arasındaki Fark

Bu yazıda, birbirine çok benzeyen 2 mantıksal karşılaştırma olan == ve === veya != ve !== arasındaki temel farktan bahsedeceğiz; == karşılaştırıcısı, karşılaştırılan değerlerin birbiirine eşit olup olduğunu kontrol etmeden, ikinci değeri ilk değere cast etmektedir. === karşılaştırıcısı, == karşılaştırıcısında olduğu gibi herhangi bir type değişikliği yapmadan, karşılaştırılan değerlerin aynı tipte olduğunu varsayarak kontrol yapar. […]

15 Eyl 2016

ES6 Import İfadesi ve Yöntemleri

Bildiğiniz gibi, Javascript'in ES5 standartında, javascript dosyaları arasında import veya export benzeri native bir mekanizma bulunmuyordu. Bu önemli özellik, yeni standart ES6'daki import-export statement ile kullanılabiliyor. 2 dosya arasında özellikle fonksiyon ve class'ların import edilebiliyor olması, ES6'nin temeldeki mantığı olan, javascript'i daha modüler hale getirme felsefesini destekliyor. Import Yöntemleri Klasik kullanımını şöyle özetleyebiliriz; import {elemanim} […]