Kardan adamlar yaptım, hepsini kahramanım sandım. Avuçlarımda eridiler..

Angular Neden Kullanılmamalı?

2 sene önce Enes Turan tarafından yazılmıştır.
anasayfa
anasayfa
anasayfa

Birçok “angular neden kullanılmalı” yazısı bulabilirsiniz ancak neden kullanılmaması gerektiğini anlatan bir yazıyı ben bulamadım, bari yazayım dedim 🙂

Tilki.co projemizde klasik web teknolojileri yerine yeni teknolojilerden faydalanalım istedik ancak klasik teknolojiler ile devam etmemiz ve kısmen yeni teknoloji kullanmamızın daha doğru olacağına karar verdim.

İlk önce bizim proje senaryomuz nedir bir bakalım; otel fiyatı karşılaştırması yapan, reklam ile gelir elde eden, son kullanıcıya yönelik, mobil öncelikli, Türkçe dili ile çalışan ve SEO ağırlıklı bir web sayfası yapmayı planlıyoruz.

Şimdi tek tek inceleyelim;

SEO Ağırlıklı Web Sayfası

Klasik teknolojilerde devam etmemiz gerektiğine karar vermemdeki en önemli etmen SEO konusu oldu. Angular, React, Polymer vb tüm javascript framework/kütüphaneleri SEO konusunda şüpheli durumdalar. Angular vb sistemler SPA (single page application / tek sayfalık uygulama) geliştirmek için hazırlanmış sistemler. Haliyle web sayfanızın kaynak koduna her hangi bir veri eklemeden kendi oluşturdukları sanal bir ortamda (virtual DOM) web sayfasını gösteriyorlar/render ediyorlar. Haliyle arama motoru botu siteye geldiğinde javascript kodlarını çalıştırmazsa hiç birşey göremiyor, içeriği alamıyor. Son zamanlarda google’ın javascript kodlarını çalıştırabildiğini söylüyorlar. Google’ın resmi blog sayfalarında da bu konudan bahsediliyor. Ancak biraz araştırınca konunun hiçte öyle olmadığını, SPA geliştiren birçok insanın SEO konusunda sıkıntı yaşadığını görebiliyoruz. Kimisi sayfa içeriğinden bahsediyor, kimisi meta bilgilerinden bahsediyor ve sonuç olarak bir problem var. E bizim gelişme kaydedebilmemiz için SEO yapmamız gerektiğine göre, yeni teknolojiler yerine klasik teknolojileri kullanmamız gerekli.

Son Kullanıcıya Yönelik Web Sayfası

Angular gibi sistemlerde ilk açılış ve ilk kullanılabilir hale gelme sürelerinde bazı sıkıntılar var. Bir kere yüklemeniz gereken dosyalar klasik teknolojilere göre daha yüksek boyutlu. Örneğin standart html, css, jquery ve bootstrap kullansanız 400-500 kb ile bitirebileceğiniz bir işi angular ile 1 mb civarından ancak çözebiliyorsunuz. Ayrıca şunu da belirmem gerekli; jquery ve bootstrap kütüphanelerini CDNler aracılığı ile kullandığınızda 100-200 kb ı 10-20 kb bile çekebilirsiniz. Örneğin jquery kütüphanesini google cdn’den çektiğinizi düşünelim. Sitenize gelecek olan kişi çok yüksek ihtimalle daha önce gittiği bir sayfada google cdn’den çekilen jquery kütüphanesi ile karşılaşmış ve tarayıcısı bu kütüphaneyi bilgisayara kaydetmiştir. Haliyle kişi sizin sayfanıza geldiğinde, siz aynı kütüphaneyi referans göstediğiniz için tarayıcı o dosyayı sunucudan hiç çekmeyecek, daha önce bilgisayara kaydettiği dosyayı kullanacaktır. Böylece toplam indirme boyutu azalmış olur. Haliyle sayfanın ilk kullanılabilir hale gelme süresi azalır. Örneğin kullanıcı 5 saniye bekleyeceğine 3 saniye bekler. Bir sayfanın 2 saniye daha erken açılmasının site gelirlerini %100 arttırdığına dair istatistikler mevcut. Siz angular kullanırsanız, javascript dosyaları sitenize özel olarak hazırlanır ve herhangi bir CDN kullanamazsınız. Haliyle sayfa 5 saniyede değil, 10 saniyede ancak açılır.

Başka bir konuda javascripy dosyalarının yorumlanma süreleri. Muhteşem bir optimizasyon yaptık ve herşeyin boyutunu küçültük vs, klasik teknolojiler ile aynı boyuta getirdik. Problem yine çözülmüyor. Şöyleki, standart bir html dosyasına “merhaba dünya” yazın ve sunucuya yükleyin. Sayfayı ziyaret ettiğinizde dosya içeriğini sunucudan çekildikten sonra çok kısa bir gecikmeden (0.1 saniye olsun) sonra sayfanız render edilir ve ekranda “merhaba dünya” yazısını görürsünür. Ancak Angular vb bir sistem ile aynı işi yapmak isterseniz bu gecikme süresi en azından 1-2 saniye olacaktır. Başka bir konu tarayıcı uyumluluğu; örneğin polymer ile bu işi yaparsanız chrome tarayıcıda gecikme süresi 0.5 saniye iken firefox’ta 5 saniye olacaktır.

Bizim senaryomuzda anlık tepki vermemiz gerektiği için klasik teknolojiler daha uygun olmaktadır.

Daha birçok konu sayabilirim ancak bu maddeler yeterli. Peki ne yapmalı?

Bence angular vb SPA sistemleri, kullanıcı adı ve şifre ile girilen sistemler için çok uygun. Kullanıcının giriş bilgilerini yazdığı ekranda tüm gerekli dosyaları önceden getir (prefetch) yaparak kullanıma hazır hale getirebilirsiniz. Ayrıca kullanıcı adı ve şifre ile girilen bir yerin 5-10 saniye içinde açılıyor olmasını kimse yadırgamaz.

Benim planım ne?

Tilki.co için klasik teknolojiler ile web sayfasını biran önce hazırlayacağım. Bunu yaparken masaüstü ve mobil ikisi bir arada olacak, yani responsive tasarım yapacağız. Ancak burada ajaxify tekniklerini kullanıp sistemin daha hızlı çalışmasını sağlayağım ve çeşitli json iletişim tekniklerini kullanıp sadece gerekli veriyi çekip kullanıcının bilgisayarında sayfayı render edeceğiz. Mobil tarafta ise PWA (progresive web app) nimetlerinden yararlanmamız gerekli. PWA için polymer kütüphanesini kullanacağız. Ancak yukarıda bahsettiğim üzere polymer chrome’da hızlı çalışırken diğerlerinden aynı şekilde çalışmıyor. Bu yüzden mobil tarafta chrome tarayıcı için polymer ile hazırlanmış bir sistem ve diğer tarayıcılar için responsive tasarım olmak üzere 2 farklı versiyon olacak. Google bot siteye geldiğinde standart siteyi görüp indeksleyecek, haliyle SEO konusunda bir sıkıntı yaşamayacağız.

Plan bu, gelişmeleri yazarım 🙂

841 Kere okundu
Yorum Yok :(

Spam maillerden kurtulmak

7 sene önce Enes Turan tarafından yazılmıştır.
anasayfa
anasayfa
anasayfa

Bir süredir mail adreslerime gelen spam maillerden bıktım usandım. Bir günde 500 spam mail sildiğim oluyordu. Mail programımda bir çok domain adresi ve hesap olduğu için her birine 20 tane mail gelse zaten yüzlerce oluyor. Mail sunucuları bizim kendi sunucularımız üzerinden çalışıyordu, gmail veya hotmail’de olduğu gibi bu spam, bu değil diye seçme şansımız olmuyor. Genel bir koruma sistemi var ama oda bir yere kadar koruyor. Dedim bu iş böyle olmayacak, bizim mail hesaplarını bir posta servisine yönlendireyim dedim. En azından spam maillerden korunmak için daha iyi sistemleri vardır.

Yandex in kurumlar için mail servisi var. Teknoarge.com domain adresi üzerinde ufak bir ayar ile @teknoarge.com mail adreslerimizi yandex.com.tr’den ulaşılabilir hale getirebiliyoruz. Bende aynen bunu yaptım.

Oh be, spam mail gelmiyor artık 🙂 Kotaydı şuydu buydu boşverin, harbiden işe yaradı spam maillerden kurtuldum. Varsa bu konuda muzdarip arkadaş, tavsiye ederim 🙂

1.148 Kere okundu
Yorum Yok :(

Alarm kodu bloklayıcı ve çalıcı :)

10 sene önce Enes Turan tarafından yazılmıştır.
anasayfa
anasayfa
anasayfa

Bu görmüş olduğunuz ürün çinde üretilmiş olup Hong Kong menşeli bir web sitesinde 103$’dan satılmaktadır. 100 mt etrafta herhangi biri aracındaki alarmın uzaktan kumandasını kullanarak aracını açtığında sinyali yakalar ve şifreyi kopyalar. PLC fake rolling code(5326), EV1527, PT2262, HT12E, HT6014 çipleri ile uyumludur.

sku_28717_1Gel gelelim son 10 yıldır bu tür uzaktan kumanda aygıtlarında KeeLoq isminde bir güvenlik sistemi kullanılmaktadır. Tek yönlü veri iletiminde şifreleme yapar ve “code hopping” ismi verilen bir sistem ile çalışır. Detaylar için wikipedia.org adresine KeeLoq yazıp aratabilirsiniz.

Bu durumda, ilk ürün zaten işlevsiz durumda kalmaktadır. Elbette ana şifreleme algoritmasını çözebilir belki ama çinde üretilmiş bir üründen bu beklenir mi onu bilemiyorum.

1.189 Kere okundu
Yorum Yok :(

Pardus 2008.1 – Centos 5.2

11 sene önce Enes Turan tarafından yazılmıştır.
anasayfa
anasayfa
anasayfa

Masaüstü kullanım için yazıyorum bu yazımı. Bilgisayarıma Pardus 2008.1 kurmaya çalıştım ancak anlamadığım bir problemden dolayı kurulum başladığı anda kilitleniyordu. Bu yüzden Centos’u kurdum. Aynı problem Centos’ta da meydana geldi ama bu sefer çözdüm. Kurulumu tamamladım, sistemi açtım, birden itici bir ekran ile karşılaştım. İçimden geçen aynen şuydu, “o güzelim centos’un yüzü böyle miymiş?”. Sanki MSN’de tanıştığım fıstık gibi bir kızın gerçek yüzünü görmüş gibi oldum 🙂

Centos’u şöyle bir inceledim, Pardus’a nazaran (Masaüstü kullanım için değerlendirme yaptığımı tekrar hatırlatıyorum) çok sade, çok boş bir havası var. İşletim sistemi dışında open office, gimp ve firefox yüklenmiş. Ama Pardus’ta yok yok. Ayrıca görsellik, Pardus’ta çok daha iyi.

Pardus masaüstü kullanım için bence çok daha iyi. He diyebilirsiniz, Pardus’un kullandığı herşeyi Centos’a entegre edebilirsin diye, kim uğraşacak arkadaşım. Ben Centos’u SSH ile bağlandığım siyah ekranı ile seviyorum, bırakın öyle kalsın.

Hürmetler efendim.

Dipnot: Pardus’un sunucu performansını merak ediyorum açıkçası, bunu araştırıcam ve deneyeceğim. Sizede anlatırım buradan.

Sonnot: Şu an Centos’u kaldırıp Pardus kurmakla meşgulüm.

1.059 Kere okundu
Yorum Yok :(

Bakteriodopsin proteini

11 sene önce Enes Turan tarafından yazılmıştır.
anasayfa
anasayfa
anasayfa

Bu protein, gelecekteki CPU’larımızın ham maddesi olabilir. Organik temelli işlemciler, ilginç bir fikir.

Olay şu, bu protein çok hızlı bir şekilde ışığı bir tarafından diğer tarafına geçirebiliyor. Normalde rengi mor ama ışık uygulandığında sarıya dönüyor. Bilgisayarlarda bildiğiniz üzere sadece 1 ve 0’lar ile çalıştığına göre, mor renk 0, sarı renk 1 anlamına gelebilir. Misal olarak, 100 ytl banknot un fotokopisini çekin, bankton üzerindeki mor renkli desenler fotokopide, tarayıcıda sarıya dönecektir. Yani bakteriodopsin proteinleri ile bezenmiş süslü bir piri reis haritasını cebimizde taşıyoruz aslında 🙂

Şu an kullandığımız silikon temelli işlemciler yapay zeka vb uygulamalar için yeterince hızlı değil. Yani bahsettiğim, insan beyni kadar hızlı değil, yaklaşamıyor bile. Ancak protein temelli işlemciler teorik olarak silikon temelli olanlardan 1000 kat daha hızlı olabilirmiş.

Birde şöyle düşünelim, organik temelli bir işlemci ve yapay zeka uygulaması bir arada. İnsan beyni kadar yetenekli olabilir mi acaba? Göreceğiz 🙂

1.040 Kere okundu
Yorum Yok :(

Warning: file_get_contents(http://www.oyunkolu.com/js/son_oyunlar_widget3.htm): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/enestura/public_html/wp-content/themes/genegri/category.php on line 40