Builder

web application developer blog

Yapay Zeka ve Makine Öğremesi’ne Giriş

Son dönemlerde hızla popülerliği artan ve aynı zamanda da korkulan bir konu Yapay Zeka ve Makine Öğrenmesi. Kimileri zor olduğu için öğrenmekten korkuyor kimileri de konunum distopik yanları üzerine düşüncelerden korkuyor. Gelecekte bir skynet olabilir mi? makinalar dünyayı ele geçirebilir mi? Bu tip korkular genellike olayların teknik boytunun dışında kalan kişiler için daha fazla. Öncelikle nedir bu Yapay Zeka: Bir…

LATERAL Joins veya CROSS APPLY ile Tekrarsız Alt Sorgular Yazmak

İleri seviye SQL kullanımında, standart JOIN ile ilişkilendirmelerin artık işe yaramamaya başladığı ve iç içe SELECT sorguları yazmaya başladığınızda, aynı alt-sorgunun hem SELECT içinde, hem WHERE içinde belki başka bloklarda da kullanmanız gerekebilir. İşte o zaman bu alt-sorgular RDBMS’in  canına okuyacaktır. Eğer bir SQL GURU’su iseniz ne dediğimi çoktan anlamışsınızdır 🙂 Bu problemin çözümü PostgreSQL ‘de LATERAL, MSSQL’de CROSS APPLY,…

Hybrit Data Model 2. Bölüm: PostgreSQL’de JSON sorguları

Hibrit Datamodelin ne olduğuna dair daha önceki yazımı kaçıranlar şuradan başlayabilirler. Bu yazımda kullandığım örneklerde, öncekinden farklı olarak JSONB veri tipi var. JSONB Postgresql’de Binary JSON veri tipidir ve 9.4 versiyonundan itibaren desteklenmektedir. Hibrit Datamodel’de JSON sorgusu örneklerine başlamadan önce, örnek bir tablomuz olması lazım: CREATE TABLE public.tbl_product ( product_id bigserial NOT NULL PRIMARY KEY, product_name varchar(255), brand_id integer, category_id…

Github kapatıldı, kodlarınıza nasıl erişirsiniz? Projenizi nasıl devam ettirirsiniz?

Aslında bambaşka bir blog hazırlığı içerisindeydim ama aniden gelişen bu olay nedeniyle bu konuyu yazmak zorunda kaldım. Anladığım, kadarıyla DNS ile ilgili bir engelleme yok. Sadece https ile ilgili bir ağ erişiminin bozulması söz konusu. Bu nedenle https yerine ssh ile erişmeyi denedim ve işime kaldığım yerden devam etmeyi başardım. Adım adım anlatmak gerekirse: Github, SSH erişim bilgilerini öğrenme. repository’nizi…

Kullanışlı Python Kestirmeleri- Python Cheat Sheet

Python, kestirmeleri ile ünlü bir dildir. Python, C syntax’ını kullanan dillerden geçenler için sürprizlerle doludur. Bu yazıda kısa kısa bu kestirmelerden bahsetmek istiyorum. Bu blog yazısı bir nevi cheat sheet olsun. Veri Değiştokuşu x=6 y=5 x,y=y,x print x >>> 5 print y >>> 6 Teksatırlık if print “Merhaba” if True else “Dünya” >>> Merhaba Birleştirmeler list1= [“Pazartesi”, “Salı”] list2 =…

Relax Coding

Yazılımcılar, yüksek sesle müzik dinlemeyi severler. Hatta çoğunlukla dinledikleri müzik oldukça gürültülüdür de. Bu konu hakkında daha detaylıca yazmayacağım ama şuradan Özkan Erener’in yıllar önce yazdığı “Yazılım Geliştirmeye Değişik Bir Bakış” başlıklı blogun, orijinal sitenin bu gün aktif olmaması sebebiyle başka bir blogger tarafından araklanmış yazısını, okumanızı tavsiye edebilirim. Ayrıca yazımın bundan sonraki kısmında bu bloga atıflarım olacak 🙂 Yazılımcıların “müzik,…

SQL ve NoSQL modelleme, Hibrit Data Model

Bilişim okutulan okullarda yıllardır, ilişkisel veri modeli ve RDMS (Relational Database Management System) programlar okutuluyor. Bunlardan en popülerleri Açık Kaynak tarafında, MySQL, diğer tarafta MS SQL server ve Kurumsal alanlarda da Oracle. PostgreSQL, ülkemiz için pek popüler olmasa da bilhassa Python programcıları başta olmak üzere dünyada saygın yeri olan bir başka RDMS. Ülkemizdeki Oracle müptelaları için şunu da hemen belirteyim…

Symfony ile üretim ortamından ekran görüntülü ve dataylı hata raporlarını email yoluyla almak

Üretim ortamında hata olmaz. Olursa da haberimiz olmaz. Çünkü hata mesajlarını ekranda göstermek tehlikelidir. Zaten son kullanıcı hata mesajını görse de size raporlamaz. Raporlasa da o rapor bizim bir işimize yaramaz. “Aynı hatayı tekrar oluşturup, problemin sebini anlamaya çalışıyoruz” denir, ürüne değer kaybettirilir. Biraz daha tecrübeli geliştiriciler, hemen log dosyasını tarar ama o kadar veri içinden gerçek hatayı bulup çıkarmak…

Project Euler Problem 4: En büyük Palindromik Sayı, PHP ve Python ile Çözüm

Bir palindromik sayı sağdan ve soldan okunduğunda aynıdır. iki basamaklı sayıların çarpımı ile elde edilebilen en büyük palindormik sayı: 9009 = 91 × 99 dır. 3 basamaklıların çarpımı ile elde edilebilen en büyük palindromik sayı kaçtır? Burada en büyük sayı sorulduğu için döngüyü tersten kurmak daha mantıklı olacaktır. en büyük 3 basamaklı sayı 999. Eğer 999’dan geriye doğru gidersek bulduğumuz ilk…

PHP generator function – yield

Python’u yada C#’ı iyi bilenler, daha başlığı okuduklarında, aa PHP’de de mi yield var demişlerdir. Evet PHP de de yield var ama 5.5 versiyonundan itibaren var. Yani daha yeni eklendi sayılır. yield’i yeni duyanlar için örneklerle yield nedir nasıl kullanılır anlatayım. Bunu yaparken en sevdiğim eğitim metodu olan “Bilinenden bilinmeyene” metodunu kullanacağım. Efendim, PHP de fonksiyon yazmayı biliyoruz. Fonksiyonların herhangi biryerde…