PROTOTÜRK

Beni uzun zamandır takip edenler, zaman içerisinde prototurk.com için bir çok şey yaptığımı görmüşlerdir. Son birkaç senedir atıl bir vaziyette kullanmıyordum domaini fakat daha sonra w3schools tarzı bir proje yapmak geldi aklıma.

Bunun aslında en büyük sebeplerinden birisi, duyma engelli takipçilerimden aldığım mesajlar. Zaten videolara elimden geldiğince alt yazı ekliyordum ancak videolarda çok gereksiz konuştuğum için onlarda takipte zorlanıyorlardı.

Hem ne demişler söz uçar yazı kalır, bende kalıcı olacak ve yeni öğrenmek isteyenlere rehber olacak bir Türkçe kaynak sitesi oluşturmaya başladım. HTML ile başladık, bazıları Tayfun yine HTML’mi öğretiyor diyebilir ancak öyle değil.

Burada amaç en baştan başlayıp, belirli bir sıra ve düzende bilgisine bilgi katmak. Önce front-end skillerini geliştirmek sonra back-end üzerinde çalışmak. Tek isteğim, güzel bir Türkçe kaynak çıkması yönünde, buda elbette zaman alacak bir şey ancak imkansız değil.

Bugüne kadar İngilizce ve diğer bir çok dilde bu şekilde dökümanlama işlemi yaptılar ancak Türkçe’de bu durum biraz yetersiz kaldı. Bu açığı kapatmanın verdiği mutlulukla yazılarıma devam ediyorum, ayrıca prototurk’ün sisteminde de zaman zaman güzel güncellemeler getirerek öğrenmeye farklı bir boyut kazandırmayı hedefliyorum.Daha iyisini yapana kadar, şimdilik;

https://prototurk.com

Nasıl Katkı Sağlarım?

Eğer amacınız katkı sağlamak ise, github’da bulunan repo’ya json formatında katkılarınızı sağlayabilirsiniz. Yakında JSON Generator sayfası oluşturacağım daha kolay olması açısından.

https://github.com/tayfunerbilen/prototurk.com

Chrome’da Otomatik Ses Oynatma

Eskiden böyle problemler yoktu ancak yeni güncellemelerde seslerin otomatik oynatılması kalktı. Bunun içinde farklı çözümler bulanlar olmuş. Bunun içinde bence en basit ve etkili çözümü şu;

<iframe src="silence.mp3" style="display:none"></iframe>
<audio autoplay loop>
<source src="ses.mp3">
</audio>

Burada olay iframe ile bir ses dosyası oynatıyorsunuz, o saatten sonra diğer ses dosyalarının otomatik oynatılması gerçekleşiyor. Iframe’de github’da bulunan 250ms’lik bir sessiz mp3’ü oynatabilirsiniz.

Ses dosyasının linki: https://github.com/anars/blank-audio/blob/master/250-milliseconds-of-silence.mp3

#10yearschallange

Bir furya vardı #10yearschallange diye, geçenlerde bir takipçimin eski dosyalarımı benimle paylaşmasından sonra baktım ki tarihler 2009’u gösteriyor, o zaman dedim bir #10yearschallange yapmalıyım diye kendi kendime 😀 Neyse efenim, lafı çok uzatmadan.

Seslenirken Yarınlara [Tayfun Erbilen]

Uzun zaman sonra müzik için ilham geldi 🙂 Yazılım bilimi ve kablosuzkediyi içine alan 3 dörtlük yazdım ve söylemeye çalıştım, seviyorum ve eğleniyorum böyle şeyleri yaparken 😀

Şimdi geldiğim noktadan seslenirken yarınlara,
her iki lafı(n|m)dan biri olmuş lan sanki para.
Başlarda eğlenirdim, konuşarak delirirdim,
İzlemezdi kimse ama ben kendimi iyi bilirdim..

..demek zordu ama bu sektörde çoktu.
İki kod yazınca kendine ünvanı koydu,
başladı çalışmaya, ah bizimle yarışmaya,
kendi bile bilmezdi ama bu iş çok zordu..

Sormaktan çekinmeyen, bildiklerini söyleyen,
birinin derdi olduğunda, bi şekil destekleyen,
kablosuzsa kedinin, yazılımsa bilimin,
söyleyin lan artık bana, yoksa ayarı dilimin..

JavaScript Intl.NumberFormat Nesnesi

Bazı durumlarda elimizdeki mevcut para değerini yani numeric değeri formatlayıp ülkeye ve dile uygun hale getirmek gerekiyor. Bunu javascript tarafında yaparken eskiden eklenti vs. kullanırdım. Ancak artık javascript’te Intl.NumberFormat nesnesi hayatımızı kurtarıyor.

Önce örneklendirerek konuyu anlayalım, sonra kodlara dökeriz.

1200 değeri bizim para değerimiz olsun. bu formatı TL cinsinden türkiye’de göstermek isteseydim şöyle olması gerekirdi;

₺1.200,00

Eğer bunu $ cinsinden türkiye’de göstermek için formatlamak gerekseydi oda şöyle olacaktı;

$1.200,00

Tabi bu eğer türkçe olarak görmek istersek bu şekilde, atıyorum amerikalılar için formatlamak gerekseydi şöyle gözükecekti;

$1,200.00

Arada bazı noktalama işareti farklılıkları ve bazende currency simgesinin sağda ya da solda olması gibi durumlar oluyor. Tabi bu kuralları biz tek tek bakıp ona göre yapmak yerine javascript’te Intl.NumberFormat nesnesini kullanacağız. Şimdi yukarıdaki örneklerimiz kodlara dökelim.

let moneyFormat = (locale, currency) => {
return new Intl.NumberFormat(locale,
{
style: 'currency',
currency: currency
}
);
};

Burada bir fonksiyon haline getirdim daha kolay kullanalım diye. Şimdi sırasıyla 1200₺ türkiye için, 1200₺ türkiye için ve 1200$ amerika için para formatlarını ayarlayalım.

console.log(moneyFormat('tr-TR', 'TRY').format(1200)); // ₺1.200,00
console.log(moneyFormat('tr-TR', 'USD').format(1200)); // $1.200,00
console.log(moneyFormat('en-US', 'USD').format(1200)); // $1,200.00

Eğer currency gözükmesin isterseniz fonksiyondaki style: ‘currency’ kısmını kaldırabilirsiniz. Bu kadar 🙂 Herkese iyi kodlamalar.

Daha fazla detay için;
https://developer.mozilla.org/tr/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat