07 May 2017

iOS Safari: SVG Elementlerinde Manipülasyona İzin Vermiyor

En son yazdığım 2 yazı iOS Safari üzerinde çalışırken karşılaştığım sorunlar ile alakadardı. Bu yazı da aynı şekilde iOS Safari'nin bir diğer saçmalığı konusunda not düşmemden ibaret. iOS Safari: SVG Elementine CSS Filter Uygulamak Elementi Yok Ediyor iOS Safari: HTML5 Video Thumbnail .load() Kullanmadan Yüklenmiyor! Yeni karşılaştığım sorun, SVG elementi ve SVG elementi içerisindeki elementlerin […]

04 Mar 2017

iOS Safari: SVG Elementine CSS Filter Uygulamak Elementi Yok Ediyor

iOS Safari'nin saçmalıklarına yine baş ağrılı birkaç gün sonra devam ediyorum. Bildiğiniz gibi, yeni bir özellik olarak sayılabilecek CSS filter özelliği ile, SVG elementinize ve vektörünüze yeni filtreler ekleyebiliyorsunuz (gölge gibi) CSS Kodu; svg { filter: drop-shadow(1px 1px 0 #141414); } Fakat iOS safari, bu özelliği implement etmemeyi tercih etmiş. Bu büyük bir problem değil, […]

04 Mar 2017

iOS Safari: HTML5 Video Thumbnail .load() Kullanmadan Yüklenmiyor!

HTML5 video elementini kullandığım ve iOS safari'de çalışması gereken bir proje üzerinde çalışırken fark ettiğim bir durumu sizlerle paylaşmak istiyorum. Video elementine aşina olmayanlar için küçük bir hatırlatma yapalım; HTML Kodu; <video width="320" height="240" controls id="video"> <source src="video.mp4" type="video/mp4"> </video> Javascript Kodu; let video = document.getElementById("video"); video.play(); // Video'yu başlatacak. video.pause(); // Video'yu durduracak. Benim […]

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 […]