Tahir Özdemir

  • Go Uygulamanız İçin Küçük Boyutlu Docker Konteyneri Oluşturma

    Merhabalar sevgili okur. Başlıkta da görüldüğü üzere bu yazıda Go uygulamamızı nasıl küçük boyutlu bir Docker konteyneri içine sıkıştırabileceğimizden bahsedeceğim. Go + Docker = ❤[*] Öncelikle bu ihtiyacımın nereden çıktığına bakalım. Geçenlerde GitHub repolarımdaki markdown dosyalarını daha rahat yönetmek için çok çok basit ve bolca “sphagetti code” içeren bir uygulama yazdım. Siz Go Report Card’ın kod kalitesine A+ verdiğine bakmayın 🙂 Şuradan projeyi inceleyebilirsiniz: https://github.com/tahirozdemir34/GoMarkdownPusher Temel CRUD operasyonlarını bu uygulama üzerinden yürütebilmekteyim.

    Okumaya Devam Et
  • Python Neden Bu Kadar Yavaş?

    Tekrardan merhabalar. Bu yazıda Python'ın neden yavaş olduğu ve bu yavaşlığa rağmen nasıl bu kadar popüler olabildiği üzerine bazı bilgiler paylaşacağım. Python'ın ne kadar yavaş olduğuna dair şüpheleriniz varsa The Computer Language Benchmarks Game‘i ziyaret etmenizi şiddetle öneririm. Sadece Python değil C, C++, Java, Go vb. pek çok dil için karşılaştırmalar mevcut. Farklı testler yapılmış ve sonuçlara göre Python rakiplerine nazaran 2-10 kata kadar yavaş çalışıyor. Bunun temelde 3 sebebi var:

    Okumaya Devam Et
  • Unified Memory Nedir?

    Daha önce CUDA için ufak bir giriş yazısı yazmış ve bazı temel bilgileri aktarmaya çalışmıştım. Bu yazıda ise bence CUDA’da yazılım geliştirme işini oldukça kolaylaştıran Unified Memory kavramından ve getirdiği kolaylıklardan bahsedeceğim. Tıpkı önceki yazıda olduğu gibi çok detaya inmeden temel noktalardan bahsetmeye çalışacağım. İşin daha da detayına girmek isteyenler yazının içerisindeki ve sonundaki bağlantılardan faydalanabilir. Unified Memory aslında sistemdeki her işlemci tarafından erişilebilen bir bellek adres uzayı. Bu teknoloji sayesinde, yazılan uygulamalar hem CPU hem de GPU üzerinden erişilebilecek veriler oluşturabiliyorlar.

    Okumaya Devam Et
  • CUDA İçin Temel Bilgiler

    Bu yazıda CUDA’ya ve GPU mimarisine göz atacağız. CUDA ile nasıl programlama yapılacağından değil temel kavramlardan bahsedeceğim. Oldukça seyreltilmiş bir yazı okuyacağınızı da belirteyim. Amacım tam bir CUDA rehberinden ziyade bir başlangıç noktası sunmak. Buradaki bazı başlıklar şöyle sıralanabilir: GPU mimarisi ve bellek yapısı Grid, block ve thread kavramı “Compute capability” kavramı Örnek bir program akışı GPU’lar ile CPU’ları ayıran en temel fark sahip oldukları işlem birimlerinin nitelik ve nicelikleri.

    Okumaya Devam Et
  • Spotify'ın Müzik Öneri Sistemi Nasıl Çalışıyor?

    Spotify, 100 milyondan fazla kullanıcısının her birisi için her hafta 30 şarkılık yeni bir “Haftalık Keşfet” listesi hazırlıyor. Binlerce şarkı içerisinden sizin listenizde olmayan ama hoşunuza gidebileceğini düşündüğü bu şarkıları nasıl seçiyor peki? Bir algoritma nasıl oluyor da sizin müzik zevkinizi sizden daha iyi bilebiliyor? Şimdi bir adım geriye çekilip diğer müzik uygulamaları bu işin altından nasıl kalkmış bir bakalım. Songza, 2000’lerde ortaya çıkmış bir uygulama ve en ilkel tavsiye yöntemini uygulamakta.

    Okumaya Devam Et