Mozilla'da işe nasıl girdim?

Merhaba arkadaşlar, sizlere bu yazımda üniversiteden Mozilla’da işe başlayana kadar olan hikayemden biraz bahsetmek istiyorum. Öncelikle kim olduğumdan kısaca bahsedeyim. Trakya Üniversitesi’nde bilgisayar mühendisliği okurken Mozilla’dan staj daveti alıp 3 ay boyunca Mozilla San Francisco ofisinde Quantum Research Intern olarak staj yaptım. Staj sonunda, açık pozisyon olmadığını ve eğer ileride bir pozisyon olursa iletişime geçebileceklerini söylediler(ki ben pek inanmamıştım o zaman). Okulum bittiği için Türkiye’ye döndüm ve İstanbul’da bir işe başladım....

Rust'ta Borrowing ve Referans Kavramları

Merhaba arkadaşlar, bir önceki yazımızda Rust’ta bulunan ownership kavramından bahsetmiştik. O yazıya buradan ulaşabilirsiniz. Bu konuyu anlayabilmek için bir önceki ownership kavramını da anlamış olmak gerekiyor. Bu nedenle bu yazıya başlamadan önce, eğer ownership kavramını bilmiyorsanız, diğer yazımı okumanızı tavsiye ederim. Ownership öğrendikten sonra yine aynı derecede önemli olan ikinci kavrama geçiş yapıyoruz, o da borrowing (ödünç almak) kavramı. Diğer yazımızda Rust’ın diğer dillere göre çok farklı bir kaynak yönetim mekanizması olduğundan bahsetmiş ve bir kısmını açıklamıştık....

Rust'ta Ownership Kavramı

Merhaba arkadaşlar, geçen seferki yazımda Rust programlama dili ile hakkında bir ön bilgi verip, onda bulduğum olumlu ve olumsuz gözlemlerimi ve düşüncelerimi aktarmaya çalışmıştım. Yazıya buradan ulaşabilirsiniz. Aslında ownership(sahiplik), borrowing(borçlanma) ve lifetime(kullanım süresi, yaşam) konularını o yazının içinde açıklamak istemiştim fakat daha sonra yazının çok uzayacağını ve ana konudan şaşacağını düşündüğüm için ayrı ayrı yazılar halinde yazmak istedim. Rust programlama dilini diğer dillerden ayıran özelliklerin başında bu üçü geliyor bence....

Rust Programlama Dili Hakkında Düşüncelerim

Merhabalar, yine blog yazılarıma uzun bir ara verdikten sonra kaldığım yerden devam ediyorum. Bu yazıda uzun süredir merakla takip ettiğim bir programlama dilinden bahsedeceğim. Bu programlama dilinin adı Rust. Yeni bir dil olmasına rağmen diğer dillerden farklı özellikleriyle sıyrılmasından dolayı, ben de Rust hakkında bir yazı yazmak istedim. Fakat unutmamamız gereken bir kısım var; Rust dili hala geliştirilmekte olduğundan dolayı, yazdığım şeyler ileride geçerliliğini yitirebilir. Ben bu yazıyı elimden geldiğince güncel tutmaya çalışacağım....

Firefox Eklentisi Nasıl Yazılır? - Kısım 1

Merhaba, Firefox’a eklenti yazmakla ilgili elle tutulur bir Türkçe içerik bulmak çok zor. Genelde olanlar da çok eski oluyor ve yeni teknolojiler içermedikleri için de öğrenmenin hiç bir anlamı kalmıyor. Bu nedenle benim de uzun süredir aklımda bulunan bir konuyu sonunda ele almam gerektiğini düşündüm. Bu yazıda; Mozilla tarafından hazırlanan Firefox Add-on SDK ile, HTML, CSS ve JavaScript kullanılarak nasıl bir eklenti geliştireceğimizi ve bu eklentiyi geliştirirken nasıl bir yol izlememiz gerektiğini anlatmaya çalışacağım....

Android, Java ve Python’da bulunan sıralama algoritmasındaki hata ve nasıl çözüleceği

Tim Peters adlı bir yazılımcı 2002 yılında Timsort adında bir melez sıralama algoritması geliştirdi. Bu algoritma merge sort(birleştirmeli sıralama) ve insertion sort(eklemeli sıralama) algoritmalarının akıllıca birleşiminden oluşan, gerçek hayat uygulamalarında çok güçlü bir algoritmaydı. Timsort öncelikle Python için tasarlandı fakat daha sonra Java Collections tasarımcısı olan Joshua Bloch tarafından Java’ya da port edildi(Şu anda java.util.Collections.sort ve java.util.Arrays.sort’un altında bulunuyor). Timsort şu anda ise Android SDK’da, Sun JDK’da ve OpenSDK’da varsayılan sıralama algoritması olarak kullanılıyor....

Güle Güle Action Bar, Hoşgeldin Toolbar!

Herkese merhabalar, Bu yazıda size Android SDK 21 ile gelen ve çok fazla esneklik katan bir Appcompat elemanını tanıyacağız. Hemen yazımıza başlayalım. Destek kütüphanesi(Support library) ve Appcompat nedir? Android’e, gelen api seviyeleriyle birlikte Android’e yeni özellikler dahil oluyor. Bu yeni gelen elemanlar veya özellikler önceki api seviyelerinde kullanılamaz oluyorlar. Google da bu sorunu ortadan kaldırmak adına, Support Library adını verdiği kütüphanesi ile, yeni gelen özellikleri eski api lerde kullanabilmemizi sağlıyor....

HTML5 Contenteditable Attribute'ü İle Değiştirilebilir CSS

contenteditable attribute’ü nedir? HTML5 ile birlikte gelen attribute’lerden biri olan contenteditable, hangi elemente eklenmişse o elementin içeriğinin değiştirilebilir olmasını sağlıyor. Tamamen client tarafında yapılan bu değişiklik, tarayıcının local storage’ında saklanıyor ve sayfayı yenilediğimiz zaman yaptığımız değişiklikler gidiyor. Contenteditable; true, false ve inherit olmak üzere 3 değer alabilir. Varsayılan özelliği ise inherit. Bir örnek vermek gerekirse: <!DOCTYPE html> <html lang="tr"> <head> <meta charset="UTF-8"> <title>Contenteditable Örneği</title> </head> <body> <div class="title" contenteditable="true">Merhaba Dünya!...

HTML Imports (HTML İçe Aktarım) - Kısım 2

Yazının birinci kısmına buradaki linkten ulaşabilirsiniz. Web Componentlerinin iletimi HTML Importlar, tekrar kullanılabilir içerikleri yükleyebilmek için tasarlanmıştır. Özellikle Web Componentlerinin dağıtımı için en ideal yoldur. HTML <template> etiketleri ve Shadow DOM ile birlikte Custom elementler. Bütün bu teknolojiler bir araya geldiğinde HTML Import artık Web Componentlerimiz için #include gibi bir hal alıyor. Template’leri Include etmek HTML Template ile HTML Import birbirleriyle bir uyum içindedir. <template> etiketi bizim import edilecek uygulamamızda HTML için gayet güzel bir iskelet görevi görüyor....

Ücretsiz Visual Studio Community 2013 Yayınlandı!

Microsoft sonunda 12 Kasım 2014’te Visual Studio’nun ücretsiz bir sürümünü yayınladı. Visual Studio Community 2013 adını verdikleri bu yeni sürümün eski Express Editionlardan en büyük farkı Visual Studio Professional 2013’ün tüm özelliklerini içinde barındırması. Microsoft’un sonunda isteklerimize yanıt verip olması gereken şeyleri yapmaya adım atması beni sevindirdi. Yeni sürümü ticari olarak da kullanabilmemiz gerçekten küçük gruplar ve işletmeler için ilgi çekici. Öğrenciler ve yazılıma yeni başlayanlar için büyük fırsat....