# Halit YEŞİL > Robotik, Yazılım ve Tasarım Geliştirici Günlüğü! / Field notes on software, servers and AI. Türkçe yazılar kök adreste, İngilizce sürümleri /en/ altında yayımlanır. Her yazının temiz Markdown sürümüne, adresin sonundaki eğik çizgi yerine .md yazılarak ulaşılır (ör. https://halityesil.com/php-di-container-autowiring.md). Alıntılarken yazının HTML adresini kaynak gösterin. Turkish posts live at the site root, English editions under /en/. Every post has a clean Markdown version: replace the trailing slash with .md (e.g. https://halityesil.com/php-di-container-autowiring.md). When citing, please link the HTML URL of the post. ## Türkçe yazılar - [PHP DI Container: Bağımlılıkların Matruşkası](https://halityesil.com/php-di-container-autowiring.md): Bir sipariş listesi sayfası düşünün. Tek işi var: siparişleri ekrana basmak. Örnek bir servis grafiği kurup kurucuları saydım — o tek istek boyunca yedi nesne kuruldu, ikisi kullanıldı. Beşi, hiç dokunulmadan çöpe… (2026-10-03) - [TypePHP: PHP'yi Kalıba Dökmek, Dinamizmi Rehin Vermek](https://halityesil.com/typephp-php-aot-derleyici.md): Geçen hafta sunucudaki PHP'yi 8.1'den 8.5'e taşıdım ve bunu bir bakım işi olarak yazdım. Bu hafta radara giren araç, o sürümü bir ön koşul olarak istiyor. TypePHP, PHP kaynak kodunu C++'a, oradan da native makine koduna… (2026-10-01) - [Vibe Coder #3.3: Lokal LLM – Kendi Jeneratörünü Kurmak](https://halityesil.com/vibe-coder-3-3-lokal-llm.md): Bölüm 3.2'de beş dakikada gelen prototipi konuşmuş, sözü şuraya bağlamıştım: bir sonraki bölümde buluta hiç uğramadan çalışmayı konuşacağız. Sözümü tutuyorum. Lokal LLM meselesi sahada genelde iki cümleye sıkışıyor… (2026-09-29) - [PHP Sürüm Yükseltme: 8.1'den 8.5'e Tabutta Rövaşata](https://halityesil.com/php-surum-yukseltme-8-1-den-8-5-e.md): Kendi blogumun Site Sağlığı ekranında PHP 8.1.2 yazıyordu. 2022 başından kalma bir yama seviyesi, 2026 Eylül'ünde, internete açık bir sunucuda. PHP sürüm yükseltme işini yıllardır "sonra bakarım" diye ertelemiştim… (2026-09-26) - [Crawl4AI: LLM'e Web Sayfası Yedirmenin Temiz Yolu](https://halityesil.com/crawl4ai-llm-web-crawler.md): Bir sayfayı modele yedirme işini çoğumuz aynı şekilde çözüyoruz: file_get_contents, biraz strip_tags, üstüne iki regex, sonra gönder gitsin. Sonuç da hep aynı oluyor. Model cevabın yarısını üst menüden, çeyreğini KVKK… (2026-09-24) - [Vibe Coder #3.2: Frontend Prototipleme – v0, Bolt.new ve Beş Dakikalık Hayaller](https://halityesil.com/vibe-coder-3-2-frontend-prototipleme-v0-bolt-new-ve-bes-dakikalik-hayaller.md): Prompt'u yazıyorsunuz, kırk saniye sonra çalışan bir arayüz geliyor. v0 ve Bolt.new gerçekten ne yapıyor, neyi yapmıyor ve o beş dakikalık prototip kendi projenize girdiğinde ne oluyor? (2026-09-20) - [Yapay Zekanın Balık Hafızası Problemi ve CogMem AI: LLM'leri "Dory" Olmaktan Kurtarmak](https://halityesil.com/yapay-zekanin-balik-hafizasi-problemi-ve-cogmem-ai-llmleri-dory-olmaktan-kurtarmak.md): Production ortamında karmaşık bir log silsilesini çözmesi için güvendiğim bir yapay zeka ajanıyla çalışıyordum. İlk beş dakika her şey harikaydı; mimariyi anladı, kodun zayıf noktalarını buldu. Ancak on beşinci dakikaya ve yirminci prompta geldiğimizde, o dahi yapay zeka abimiz aniden Finding Nemo'daki Dory'ye dönüştü. Bana en başta kendi verdiğim parametreleri, hatta ne yapmaya çalıştığımızı sormaya başladı. (2026-04-06) - [BI’nın Yeni "Patronu" Anton: Dashboardsız Bir Dünya mı, Yoksa Otonom Kaos mu?](https://halityesil.com/binin-yeni-patronu-anton-dashboardsiz-bir-dunya-mi-yoksa-otonom-kaos-mu.md): Serinin önceki yazılarında AI ile kod yazarken nasıl "güç zehirlenmesi" yaşadığımızı ve "medyum" gibi davrandığımızı konuşmuştuk. Ama teknoloji dünyası "dur biraz dinlen" demiyor. MindsDB, Anton adını verdiği "Otonom BI Ajanı" ile karşımıza çıktı. (2026-04-04) - [Prompt Mühendisliği mi, Yoksa Kod Medyumluğu mu? Ruh Çağırma Seansına Hoş Geldiniz](https://halityesil.com/prompt-muhendisligi-mi-yoksa-kod-medyumlugu-mu-ruh-cagirma-seansina-hos-geldiniz.md): Serinin önceki yazılarında "Vibe Coding" ile ortalığı nasıl dağıttığımızı ve AI’nın verdiği o sahte "Tanrı modu" özgüveniyle nasıl zehirlendiğimizi konuştuk. Bugün ise işin biraz daha "spiritüel" boyutuna iniyoruz: Prompt Engineering. Pardon, ağzımdan yanlış çıktı; aslında kastettiğim şey Kod Medyumluğu. Çünkü dürüst olalım, çoğumuzun klavye başında yaptığı şey mühendislikten çok, bir ruh çağırma seansına benziyor. Ekranın karşısına geçip, "Ey GPT, eğer buradaysan bize bir useEffect içinde çalışan, ama sonsuz döngüye girmeyen bir fetch fonksiyonu gönder..." diye dua ediyoruz. Gelin bu seanslarda yaptığımız o meşhur hatalara ve "mühendislik" sandığımız medyumca davranışlara 11 maddede bakalım. (2026-04-01) - [Vibe Coder #3.1: AI-Native IDE Dünyası - Cursor, Windsurf ve Ajanların Uyanışı](https://halityesil.com/vibe-coder-3-1-ai-native-ide-dunyasi-cursor-windsurf-ve-ajanlarin-uyanisi.md): Birçok geliştiricinin "yapay zeka ile kod yazıyorum" derken aslında yaptığı şey, klasik VS Code editörüne bir GitHub Copilot eklentisi kurup sekme tuşuna basmaktan ibaret. Eğer yapay zekayı sadece bir "otomatik tamamlama" aracı olarak kullanıyorsanız, Vibe Coder felsefesinin yanından bile geçmiyorsunuz demektir. (2026-03-31) - [Vibe Coder #2.2: Veritabanı ve Şema Yönetimi - Yapay Zekanın Bağlam Pusulası](https://halityesil.com/vibe-coder-2-2-veritabani-ve-sema-yonetimi-yapay-zekanin-baglam-pusulasi.md): Yapay zeka ile ürün geliştirirken en sık duyduğum şikayetlerden biri şudur: "Yapay zeka harika bir arayüz yazdı ama veriyi kaydetmeye çalıştığımda sistem çöktü. Çünkü olmayan bir tabloya, olmayan bir sütun eklemeye çalışmış." Bu aslında yapay zekanın değil, sizin hatanızdır. Çünkü ona bir ev inşa etmesini söylediniz ama temelin planını (blueprint) vermediniz. (2026-03-26) - [Vibe Coder #2.1: Mimari Kararlar ve Yapay Zeka İçin Doğru "Stack" Seçimi](https://halityesil.com/vibe-coder-2-1-mimari-kararlar-ve-yapay-zeka-icin-dogru-stack-secimi.md): Yapay zeka destekli kodlamaya giriş yapanların yaşadığı ilk büyük hüsran genelde hep aynıdır: En pahalı AI modelini kiralarlar, son model bir IDE kurarlar, derin bir nefes alıp "Bana şu mimaride bir portal yaz" derler ve sonuç tek kelimeyle felakettir. Uygulama çalışmaz, dosyalar birbirine girer, AI sürekli halüsinasyon görür. Sonra da "Bu yapay zeka henüz o kadar iyi değil ya" derler. Hayır dostum, yapay zeka gayet iyi. Sorun senin seçtiğin altyapıda. (2026-03-23) - [Vibe Coder - B1.3: Geliştiriciden Ürün Mühendisine Geçiş](https://halityesil.com/vibe-coder-b1-3-gelistiriciden-urun-muhendisine-gecis.md): Geleneksel yazılım dünyasında roller çok net çizgilerle ayrılmıştı: Ürün yöneticisi (PM) ne yapılacağını söyler, tasarımcı nasıl görüneceğini çizer, yazılımcı ise kendisine verilen bu talimatları koda dökerdi. Bu süreçte haftalar süren PRD (Ürün Gereksinim Dokümanı) toplantıları, bitmek bilmeyen Jira süreçleri ve "bu benim işim değil" bariyerleri arasında fikirler ölürdü. Vibe Coder çağında bu hiyerarşi yerle bir oluyor. (2026-03-21) - [Vibe Coder #1.2: Vibe Coding vs. Chat-Oriented Programming](https://halityesil.com/vibe-coder-1-2-vibe-coding-vs-chat-oriented-programming.md): Yapay zeka araçlarının yaygınlaşmasıyla birlikte yeni bir kavram türedi: Chat-Oriented Programming (CHOP). Birçok kişi, ChatGPT veya Claude penceresini açıp "Bana bir login sayfası yaz" demeyi "vibe coding" sanıyor. Oysa bu iki yaklaşım arasında, bir orkestra şefi olmakla, bir restoranda garsona sipariş vermek kadar büyük bir fark var. (2026-03-18) - [Vibe Coder - #1.1: Kod Bir Yüktür (Code is a Liability)](https://halityesil.com/vibe-coder-1-1-kod-bir-yuktur-code-is-a-liability.md): Yazılım dünyasında uzun süre boyunca "yazılan kod satırı sayısı" bir başarı metriği olarak görüldü. Ancak Bill Gates'ten Cory Doctorow'a kadar sektörün kanaat önderlerinin yıllardır vurguladığı bir gerçek var: Kod bir varlık (asset) değil, bir yüktür (liability). Yazdığınız her satır kod, bakımını yapmanız, test etmeniz ve güvenliğini sağlamanız gereken teknik bir borçtur. (2026-03-16) - [Vibe Coder El Kitabı: Sentaksın Ölümü, Orkestrasyonun Doğuşu](https://halityesil.com/vibe-coder-el-kitabi-sentaksin-olumu-orkestrasyonun-dogusu.md): Ön Söz: Sentaks Köleliğinden Orkestra Şefliğine Yazılım dünyası, her on yılda bir kabuk değiştirir. Bir zamanlar delikli kartlarla boğuşanlar, assembler yazanlara "modern" gözüyle bakıyordu. Sonra yüksek seviyeli diller… (2026-03-16) - [AI ile Güç Zehirlenmesi: 20 Dolarlık Pro Üyelikle Dünyayı Kurtaracağını Sanmak](https://halityesil.com/ai-ile-guc-zehirlenmesi-20-dolarlik-pro-uyelikle-dunyayi-kurtaracagini-sanmak.md): Serinin ilk iki yazısında mutfaktaki yanmış yemeklerden (kod hataları) ve binanın yamuk kolonlarından (mimari facialar) bahsettik. Ama bugün, mutfağın başındaki aşçının, yani bizim, o meşhur "AI Güç Zehirlenmesi" ile nasıl bir ego canavarına dönüştüğümüzü konuşacağız. (2026-03-16) - [App Store’lar Öldü, Yaşasın Vibe-Coded Federasyonu!](https://halityesil.com/app-storelar-oldu-yasasin-vibe-coded-federasyonu.md): Apple ve Google'ın Korkulu Rüyası (Değil Ama Olsun) Hepimiz biliyoruz ki modern yazılım dünyası artık sadece "kod yazmak" değil, bir "vibe" meselesi. Eskiden 'Hello World' yazınca sevinirdik, şimdi yapay zekaya 'bana şöyle lo-fi bir hava veren, gece mavisi temalı bir yapılacaklar listesi yap' diyoruz ve bam! Karşımızda bir uygulama. (2026-03-15) - [AI ile Mimariyi Çöp Etme Sanatı: Spagetti 2.0 ve "Distributed Monolith" Dansı](https://halityesil.com/ai-ile-mimariyi-cop-etme-sanati-spagetti-2-0-ve-distributed-monolith-dansi.md): Geçen yazıda "Vibe Coding" ile günü kurtarmaya çalışırken nasıl kaosa sürüklendiğimizi konuşmuştuk. Bugün mevzuyu bir tık daha yukarı, binanın temeline, yani Mimari'ye taşıyoruz. (2026-03-14) - [🧠 Vektörlerin Efendisi: RAG'i Rafta Bırakan "Hindsight" Teknik İncelemesi](https://halityesil.com/vektorlerin-efendisi-ragi-rafta-birakan-hindsight-teknik-incelemesi.md): Biliyorsunuz, son iki yılımız "Abi bir RAG kurduk, PDF'i gömdük, tıkır tıkır çalışıyor" cümlelerini duymakla geçti. Ama o "tıkır tıkır" çalışan sistemler, biraz kompleks bir soru sorduğunda veya olaylar arasındaki kronolojik bağı kurması gerektiğinde "Ben orayı tam anlamadım, tekrar anlatır mısın?" diyen o stajyer arkadaşa dönüşüyor. (2026-03-14) - [Vibe Coding ile Proje Patlatma Sanatı: "Abi Vibe'ı Verdim, Gerisi Claude'da"](https://halityesil.com/vibe-coding-ile-proje-patlatma-sanati-abi-vibei-verdim-gerisi-claudeda.md): Hatırlarsanız bir zamanlar PHP'de değişken isimlerini $data1, $data2 yapmayın diye kendimizi paralardık. Devir değişti, artık klavye başında kod yazmıyoruz; adeta bir "kod medyumuna" dönüşüp yapay zekaya vahiy indiriyoruz. Adı da fiyakalı: Vibe Coding. Yani: "Ben mimariyi tam kuramadım ama Claude abi sen benim ruh halimi anla, bana şöyle janti bir Dashboard yap, arkada da veriler aksın gitsin." (2026-03-13) - [MIT Masaya Yumruğunu Vurdu: Fotoğrafı At, CAD Dosyasını Al!](https://halityesil.com/mit-masaya-yumrugunu-vurdu-fotografi-at-cad-dosyasini-al.md): Bugün yine "Yazılımcılar bitti, şimdi sıra bizde mi?" diye uykuları kaçan tasarımcı ve mühendis dostlarımı biraz daha terletecek ama bir o kadar da heyecanlandıracak bir konumuz var: GenCAD. (2026-03-13) - [NVIDIA Masaya Vurdu: Nemotron 3 Super ve Açık Kaynağın 'Raconu](https://halityesil.com/nvidia-masaya-vurdu-nemotron-3-super-ve-acik-kaynagin-raconu.md): Hepimiz NVIDIA’yı o "ekran kartı stokta yok" dönemlerinden, stokçularla verdiğimiz amansız mücadelelerden tanıyoruz. Ama Jensen Huang abimiz bu sefer bambaşka bir şey deniyor. Erhan Meydan’ın da radarımıza soktuğu gibi; NVIDIA, Nemotron 3 Super ile "Ben sadece fırıncı değilim, ekmeğin en hasını da ben yaparım" dedi. (2026-03-12) - [2026’da Yazılımcı Olmak: Kod Yazmayı Bırakıp "Vibe" Yakalamaya mı Başladık?](https://halityesil.com/2026da-yazilimci-olmak-kod-yazmayi-birakip-vibe-yakalamaya-mi-basladik.md): Selamlar tayfa, çaylar hazırsa mevzu derin. Hatırlıyor musunuz o eski günleri? 2020'lerin başıydı... Stack Overflow’da "merkezdeki div'i nasıl hizalarım?" diye aratırken ömrümüzden ömür giderdi. Sonra GitHub Copilot geldi, "ben senin yerine tamamlarım abi" dedi. Derken ChatGPT çıktı, derken olay koptu. Şimdi 2026 yılındayız ve artık terminolojimiz bile değişti: Vibe Coding. Peki, nedir bu "Vibe" meselesi? Sadece havalı bir isim mi, yoksa gerçekten klavyeyi duvara asma vakti mi geldi? (2026-03-12) - [3D Spiral Kartlar: "Show Me the Money!" Dedim ve Kodladım](https://halityesil.com/3d-spiral-kartlar-show-me-the-money-dedim-ve-kodladim.md): Bazen de X'te takılırken "Bu ne ki ya?" dediğim şeyler oluyor ve elim değiyor. İşte bu proje de tam öyle bir hikâyeden doğdu. (2025-12-17) - [Gelecek, Kitap Okuyanların Olacak: AI Devrinde Neden Hâlâ Kağıt Kokusu Kazanır?](https://halityesil.com/gelecek-kitap-okuyanlarin-olacak-ai-devrinde-neden-hala-kagit-kokusu-kazanir.md): 2030’lara doğru ilerlerken bir yapay zekâ size şiir yazdığında “Vay arkadaş, harika!” mı diyeceğiz, yoksa “Fena değil… ama duygusuz, Tarkan’ın konserine geç kalmış robot gibi” mi diyeceğiz? (2025-12-10) - [Plugged.in: Yapay Zekâ Dünyasının “Control Room”u – MCP’nin Matrix’i, Geliştiricinin Kaçış Noktası](https://halityesil.com/plugged-in-yapay-zeka-dunyasinin-control-roomu-mcpnin-matrixi-gelistiricinin-kacis-noktasi.md): AI dünyasında araçlar, modeller ve dokümanlar birbirine girmiş durumda ve her şey kontrolsüz bir kaos gibi gözüküyor. İşte Plugged.in tam bu noktada devreye giriyor: Tüm bu karmaşayı tek bir merkezden yönetmeyi, farklı AI araçlarını ve RAG tabanlı dokümanları ustaca organize etmeyi sağlıyor. (2025-12-01) - [MySQL WHERE Koşulları Sırası: 1 Milyon Satırda 100 Kat Performans Farkı!](https://halityesil.com/mysql-where-kosullari-sirasi-1-milyon-satirda-100-kat-performans-farki.md): “is_active = 1 mi önce, yoksa UPPER(bio) LIKE '%FREELANCER%' mi? Bu sıradışı karar, 0.3 saniye yerine 30 saniye harcatabilir! Bu makalede, MySQL sorgu optimizasyon motorunun (query optimizer) sınırlarını zorlayan boolean, int, JSON, TEXT gibi dağınık veri tipleri ile ölçülebilir performans farklarını adım adım açıklıyoruz. (2025-11-01) - [SQL’in Süper Kahramanı: WITH RECURSIVE ile Hiyerarşi ve Özyineleme Macerası](https://halityesil.com/sqlin-super-kahramani-with-recursive-ile-hiyerarsi-ve-ozyineleme-macerasi.md): Merhaba, teknoloji sevdalıları! Bugün SQL’in en havalı özelliklerinden biri olan WITH RECURSIVE ile tanışıyoruz. Bu yapı, öyle bir süper güç ki, organizasyon şemalarından tut, şehirler arası yol bulmaya kadar her türlü hiyerarşik veya döngüsel veriyi dize getiriyor. Sanki SQL’e “Hadi bakalım, biraz Matrix havası katalım!” demişiz gibi. (2025-07-29) - [Phalcon’da Karşılaştığım İki Can Sıkıcı Hata ve Çözümleri: e_id ve SoftDelete](https://halityesil.com/phalconda-karsilastigim-iki-can-sikici-hata-ve-cozumleri-e-id-ve-softdelete.md): Eğer Phalcon kullanıyorsan, muhtemelen performans ve esneklik açısından ne kadar güçlü olduğunu fark etmişsindir. Ama işte, her güzel şeyin bir bedeli var! Phalcon’un PHQL (Phalcon Query Language) motoru bazen beklenmedik sürprizler yapabiliyor. (2025-07-27) - [JavaScript'te Eşitlik Savaşları: == mi, === mi?](https://halityesil.com/javascriptte-esitlik-savaslari-mi-mi.md): JavaScript'te == ile === arasındaki fark, birinin size çay teklif ederken şekersiz mi şekerli mi diye sormamasına benzer. Bir anlık dalgınlıkla, istemediğiniz bir tatla karşılaşabilirsiniz! Peki, bu iki operatör neden bu kadar sinsi bir şekilde farklı davranıyor? Gelin, bu eşitlik savaşlarının perde arkasını birlikte keşfedelim! (2025-02-02) - [Kimlik Seçiminde Büyük Karar: INTEGER mı, BINARY mi?](https://halityesil.com/kimlik-seciminde-buyuk-karar-integer-mi-binary-mi.md): Veritabanı dünyasında bir kimlik seçmek, öyle çok da basit bir iş değildir. Aslında, her bir kimlik (ya da id) için yapılan seçim, çok daha büyük bir stratejinin parçasıdır. "Hayat kısa, veri türleri uzun," demişti birisi (tabii ki dememişti, ama demiş olsaydı çok havalı olurdu). Bu yazı, sizi "INTEGER mi, BINARY mi?" sorusu ile baş başa bırakıyor ve bu soruya doğru bir şekilde cevap bulmanıza yardımcı olmayı hedefliyor. (2025-01-08) - [Kendi ChatGPT’nizi Yapın: Eğlenceli Dil Öğretmeni Chatbotu Eğitmek](https://halityesil.com/kendi-chatgptnizi-yapin-eglenceli-dil-ogretmeni-chatbotu-egitmek.md): Hayal edin, öğrenciniz bir yapay zeka! O kadar hevesli ki, sizin her söylediğinizi saniyesinde öğreniyor ve uyguluyor. Ama bazen soruları sizi bile zorlayabilir: "Hocam, İngilizce’de neden 'read' hem okuma hem de okumak anlamına geliyor? Bu ne iş?" İşte, böyle bir dil öğretmenini sıfırdan nasıl eğitirsiniz, hep birlikte keşfedelim! (2025-01-06) - [Sentiment Analizi ile Müşteri Duygularını Anlama](https://halityesil.com/sentiment-analizi-ile-musteri-duygularini-anlama.md): Dijital dünyada müşteri yorumları, markalar için paha biçilemez bir hazineye dönüşmüş durumda. Ancak, bu hazineden faydalanmak için müthiş bir şey lazım: Duygusal zekâ. Sentiment analizi (duygu analizi) tam da bu noktada devreye giriyor ve yapay zekâyla müşteri yorumlarından anlamlı çıkarımlar elde etmeyi mümkün kılıyor. (2025-01-03) - [Logitech MX Keys S Combo for Mac: "Bu klavye parmaklarımızın hak ettiği kahraman!"](https://halityesil.com/logitech-mx-keys-s-combo-for-mac-bu-klavye-parmaklarimizin-hak-ettigi-kahraman.md): Hayat bazen bir Batman repliğinden ibarettir: “Ya kahraman olarak ölürsün ya da bir klavye mücadelesinde kendinle savaşırken kahve dökersin.” Neyse ki Logitech MX Keys S Combo sayesinde artık yazı yazarken kahveyle sınav vermek zorunda kalmıyorsunuz. Bu klavye ve mouse seti, yazılımcıların hayatını kolaylaştırmak üzere tasarlanmış bir Mac dostu teknoloji harikası. (2024-12-13) - [E-Ticaretin Einstein'ı: Yapay Zeka ile Akıllı Depo ve Stok Yönetimi](https://halityesil.com/e-ticaretin-einsteini-yapay-zeka-ile-akilli-depo-ve-stok-yonetimi.md): Depo yönetimi ve stok optimizasyonu, e-ticaret projelerinin gizli kahramanlarıdır. Peki, bu kahramanları süper kahramana dönüştürmek için yapay zekadan nasıl faydalanabiliriz? Bugün, AI’ın (Artificial Intelligence) gücünü kullanarak depo yönetimini nasıl daha akıllı hale getirebileceğinizi anlatacağız. Teknik detayları basit tutacağız ama işlevsellikten ödün vermeyeceğiz! (2024-12-12) - [MySQL'de Kral Katili: N+1 Sorgu Problemini Çözmek](https://halityesil.com/mysqlde-kral-katili-n1-sorgu-problemini-cozmek.md): Buz ve Ateşin Şarkısı evreninden bir ders alalım: "Chaos is a ladder…" yani "Kaos bir merdivendir." Ancak bu kural MySQL sorgularına kesinlikle uymaz! Aksine, sorgularınızda kaosa yer verirseniz, performansınız bir uçurumdan aşağı yuvarlanabilir. İşte karşınızda, veri tabanı performansını sinsice öldüren N+1 Sorgu Problemi ve onun hikayesi! (2024-12-11) - [JS Callback Helvası: Promise’ler ve Async/Await ile Kurtuluş Hikayesi](https://halityesil.com/js-callback-helvasi-promiseler-ve-async-await-ile-kurtulus-hikayesi.md): Bir zamanlar, JavaScript dünyasında "Callback Hell" denen bir canavar dolaşıyordu. Bu canavar, masum kodları labirente çevirip onları içinden çıkılmaz bir hale getiriyordu. Kodunuzu her açtığınızda bir kabus gibi karşılaştığınız bu karmaşa, beyninizi tıpkı Inception filmi gibi katman katman açıyor ve "Acaba buradan çıkış var mı?" diye düşündürüyordu. Ama merak etmeyin, bu hikâyenin bir kahramanı var: Promise’ler ve Async/Await. Gelin, bu kurtuluş hikayesini birlikte yazalım. (2024-12-10) - [Yapay Zeka: Yakıtı Saf İnsan Zekası](https://halityesil.com/yapay-zeka-yakiti-saf-insan-zekasi.md): Yapay zekanın hızla gelişen dünyasında, gerçek yaratım yapan sanatçılar ve bilim insanları, özgün fikirleriyle daha fazla değer kazanacak. Bu süreç, iş gücünde büyük değişimlere yol açarken, yaratıcı zekâya sahip bireylerin önemi artacak. İşte yapay zekanın gelecekte insan yaratıcılarının değerini nasıl artıracağına dair bazı önemli noktalar... (2024-11-15) - [PHP Neden Ölmez? Hayatta Kalmanın Sırları](https://halityesil.com/php-neden-olmez-hayatta-kalmanin-sirlari.md): Film dünyasındaki birçok karakterin bir repliği vardır: "Ölmek için çok genç!" (Bunu kimin söylediğini tahmin edebilirsin, değil mi?) PHP de tam olarak bu noktada duruyor. Bu popüler programlama dili, birçoklarına göre bir "nostalji" olarak kalmayı başarsa da, gerçekte bir yaşam kaynağı gibi. Peki, PHP neden hâlâ sahnede? İşte birkaç neden! (2024-11-04) - [Geliştirici Kafasında PHP 8.4: Yeni Özellikler ve Keşifler](https://halityesil.com/gelistirici-kafasinda-php-8-4-yeni-ozellikler-ve-kesifler.md): PHP dünyası, 8.4 sürümüyle birlikte gelen birçok heyecan verici yenilikle şenleniyor. Geliştiricilerin işini kolaylaştıracak özellikler, performans artışları ve yeni yazım kuralları ile dolu bu güncellemeler, kod yazmayı daha eğlenceli ve verimli hale getiriyor. Artık daha az boilerplate kod, daha fazla ifade gücü ve bir dizi yeni fonksiyon ile karşı karşıyayız. Hadi, bu yeniliklere birlikte göz atalım! (2024-11-04) - [PHP Framework Seçimi: Tanrı Yazılımcıyı Seçimlerle Sınar!](https://halityesil.com/php-framework-secimi-tanri-yazilimciyi-secimlerle-sinar.md): PHP framework'leri arasında yapılacak bir seçim, yazılım geliştiricilerin hayatında bazen uykusuz gecelere neden olabilir. Peki bu karmaşık süreçte hangi framework'ü seçmeliyiz? İşte tam bu noktada, derinlemesine bir bakışla PHP dünyasında yolculuğa çıkıyoruz. (2024-10-01) - [Yazılımcılar İçin Hayatta Kalma Kılavuzu: Kodun Dışındaki Gerçek Dünya](https://halityesil.com/yazilimcilar-icin-hayatta-kalma-kilavuzu-kodun-disindaki-gercek-dunya.md): Dış dünya, kodun arkasındaki hayatı keşfetmek için sizi bekliyor! Yazılımcıların sosyal becerilerini geliştirmelerine ve gerçek hayatta daha etkili olmalarına yardımcı olacak ipuçlarıyla dolu bu kılavuz, sadece kod değil, hayat üzerine de düşünmenizi sağlayacak. Sosyal medya, kahve molaları ve eğlenceli hobilerle dolu bir yolculuğa çıkmaya hazır mısınız? Unutmayın, gerçek hayatı keşfetmek, yazılım kariyerinizi güçlendirmenin en eğlenceli yolu! (2024-09-30) - [Kod Savaşları: Boolean mı, 1/0 mı? – Bir Yazılımcının Asıl İkilemi!](https://halityesil.com/kod-savaslari-boolean-mi-1-0-mi-bir-yazilimcinin-asil-ikilemi.md): Hadi gelin itiraf edelim; yazılımcılar olarak her gün elimizdeki kahve fincanıyla bilgisayar ekranına bakıp, "Boolean mı kullansam, yoksa integer mı?" diye derin düşüncelere dalarız. Belki de bu sizin uykusuz bir gecenize sebep olmuştur. Haydi, bu karmaşık gibi görünen ama aslında epey eğlenceli olan soruna biraz yakından bakalım! (2024-09-29) - [MySQL ile "INSERT INTO ... ON DUPLICATE KEY UPDATE": Eğlenceli Bir Yaklaşımın Avantaj ve Dezavantajları](https://halityesil.com/mysql-ile-insert-into-on-duplicate-key-update-eglenceli-bir-yaklasimin-avantaj-ve-dezavantajlari.md): Merhaba MySQL tutkunları! Bugün veritabanı dünyasında sıkça kullanılan ama her zaman hak ettiği ilgiyi görmeyen bir konuyu ele alıyoruz: "INSERT INTO ... ON DUPLICATE KEY UPDATE" ifadesi. Bu yazıda, bu kullanışlı SQL komutunun avantajlarını ve dezavantajlarını keşfederken, arka planda neler olup bittiğine de göz atacağız. (2024-05-20) - [Ücret Ödemeden Yapay Zekadan Yararlanın](https://halityesil.com/ucret-odemeden-yapay-zekadan-yararlanin.md): Girişimcilik serüveninizde süper kahraman olmaya hazır mısınız? Ücretsiz lisanslar, reklam kredileri ve daha fazlasını keşfedin. İşinizi bir sonraki seviyeye taşımak için ihtiyacınız olan her şey bu programda. Okumaya devam edin, girişimci dünyasında fark yaratmanın sırrını keşfedin! (2024-05-01) - [JavaScript'te String Birleştirme: Hangi Yol Senin Yolun?](https://halityesil.com/javascriptte-string-birlestirme-hangi-yol-senin-yolun.md): JavaScript'te string birleştirme konusunda uzmanlaş! Bu yazıda farklı teknikleri keşfet, kodunun performansını artır 🚀 #JavaScript #WebDevelopment #CodingTips (2023-12-12) - [PHP'de Kod Nasıl Yazılmaz: Başlıca Hatalar ve İpuçları](https://halityesil.com/phpde-kod-nasil-yazilmaz-baslica-hatalar-ve-ipuclari.md): Yazılım dünyasında daha temiz ve etkili kod yazmak için kullanabileceğiniz 50 best practice'i içeren bir yazı. Kodunuzun okunabilirliğini artırın, performansınızı optimize edin ve genel olarak daha sürdürülebilir bir geliştirme sürecine sahip olun. Yazının tamamını okuyun ve kod yazma becerilerinizi geliştirin! (2023-12-09) - [Bağımlılık Enjeksiyonu: Kodunuzda Esnekliği Sağlayan Güçlü Bir Tasarım İlkesi](https://halityesil.com/bagimlilik-enjeksiyonu-kodunuzda-esnekligi-saglayan-guclu-bir-tasarim-ilkesi.md): Bağımlılık Enjeksiyonu ve Modüler Kodlama: Yazılım geliştirme süreçlerinizi optimize edin! Bağımlılık enjeksiyonu, kendi Di sınıfınız aracılığıyla nasıl uygulanır? Yazımızda adım adım öğrenin ve kodunuzu esnek, sürdürülebilir hale getirin. (2023-12-06) - [ORM Nedir? PHP'de Kendi ORM'imi Nasıl Yaparım?](https://halityesil.com/orm-nedir-phpde-kendi-ormimi-nasil-yaparim.md): PHP ile kendi ORM sınıfını oluşturmanın heyecan verici yolculuğunu keşfedin! Adım adım geliştirdiğimiz model sınıfımızla veritabanı işlemlerini nasıl yöneteceğimizi öğrenin. Bu blog yazısı, web geliştiriciler için özelleştirilmiş model sınıfları oluşturmanın keyfini çıkarmak isteyenler için rehber niteliğindedir. PDO kullanımı, dinamik sorgular ve esnek arama metodlarıyla kodlamayı basitleştirin. (2023-12-05) - [Kod Savaşları: Dil Çatışmaları](https://halityesil.com/kod-savaslari-dil-catismalari.md): Kod Savaşları" serisi, yazılım dünyasının karmaşık dokusunu anlamak ve farklı programlama dilleri arasındaki çatışmaları keşfetmek için bir rehber sunuyor. Her dilin kendine özgü bir öyküsü vardır ve bu yazı dizisi, yazılım projelerindeki dil çeşitliliğini bir sanat eseri olarak sunuyor. Siz de bu epik yolculuğa katılın, yazılımın gizemli dünyasında bilgelik ve çeşitliliği keşfedin. (2023-12-04) - [Kod Savaşları: Zaman Kapanı](https://halityesil.com/kod-savaslari-zaman-kapani.md): Yazılım öğrenme sürecinin karmaşıklığına dair gerçekçi bir bakış: "Kod Savaşları: Zaman Kapanı." Yazılım maratonunu anlatan bu yazı, kısa yolların aldatıcılığına karşı bir uyarı ve sürekli gelişim perspektifi sunuyor. (2023-11-28) - [Kod Savaşları: Algoritma İmparatorluğu](https://halityesil.com/kod-savaslari-algoritma-imparatorlugu.md): Algoritma İmparatorluğu'nda yazılım kahramanları, bilgisayarların kalbindeki algoritmik dünyada kendilerini buluyorlar. Bu epik savaşta, karşılarına çıkan algoritmik zorluklarla başa çıkmak için kılıçlarını çekiyorlar. (2023-11-26) - [Kod Savaşları: Kolaylaştırıcı Araçlar ve Yazılımcının Kaderi](https://halityesil.com/kod-yazarlik-macerasi-kolaylastirici-araclar-ve-yazilimcinin-kaderi.md): Yazılım kahramanları, kolaylaştırıcı araçların büyüsüne kapılırken, gerçek kod mücadelesi nerede? Merak ediyorsanız, buyurun okumaya! (2023-11-23) - [CentOS 8 Apache Virtual Host Kurulumu](https://halityesil.com/centos-8-apache-virtual-host-kurulumu.md): CentOS 8 yüklü sunucunuza Apache ile birden fazla alan adını host etmek istediğinizde karşınıza VirtualHost yani sanal konaklar kavramı çıkacaktır. Apache Virtual Host ile size alan adlarınız için farklı host alanları… (2020-09-09) - [Altınkaynak Döviz Kuru Bilgilerini PHP İle Çekmek](https://halityesil.com/php-ile-altinkaynak-doviz-kuru-cekmek.md): Altınkaynak Döviz Kuru için eski bir yazımda daha önce kaynak yayımlamıştım. Ancak üzerinden zaman geçtikçe gerek teknik gelişmeler gerekse Altınkaynak tarafındaki güncellemeler nedeni ile geçersiz hale geldi. Bu… (2020-09-06) - [Bağımlılık Enjeksiyonu](https://halityesil.com/bagimlilik-enjeksiyonu.md): Bağımlıklık uygulamalarda pekte istenen bir durum değildir. Yazdığınız bir uygulama parçasının bir başkasına bağımlı olması size geliştirmede yüksek maliyet doğuracaktır. Bağımlılık Enjesiyonu yani Dependency Injection… (2020-08-31) - [object-position: CSS ile Boyutlandırılmış Resimleri Konumlandırma](https://halityesil.com/css-ile-boyutlandirilmis-resimleri-konumlandirma-object-position.md): Bir önceki yazımızda object-fit ile görselleri nasıl kırpıp boyutlandırabileceğimizden bahsetmiştir. object-position özelliği ile kırptığımız görsellerin kırpma konumlarını ayarlayabiliriz. object-position özelliği… (2020-08-27) - [object-fit: CSS Resimleri Ölçeklendirmek](https://halityesil.com/css-resimleri-olceklendirmek-object-fit.md): Kullanıcı görsellerini, ürün resimlerini vb ekranda gösterirken boyutların uyumsuzluğu her zaman tasarımcıları mutsuz etmiştir. Bu nedenle tasarımcılar hazırladıkları tasarımlarda katı görsel kurallar koymayı severler… (2020-08-27) - [Temel Phalcon Uygulaması Oluşturmak](https://halityesil.com/temel-phalcon-uygulamasi-olusturmak.md): Bu eğitim boyunca, Phalcon'un ana tasarım yönlerini tanıtırken, basit bir kayıt formu ile bir başvuru oluşturacağız. Bu eğitim, Phalcon ile ne kadar hızlı ve kolay yapılabileceğini gösteren basit bir MVC uygulamasının… (2020-08-27) - [Phalcon Kurulum](https://halityesil.com/phalcon-kurulum.md): Phalcon Gereksinimleri PHP 7.2+ Phalcon v4 yalnızca PHP 7.2 ve üstünü destekler. Phalcon geliştiricileri aktif olarak desteklenen PHP sürümlerini takip eder. Bu nedenle sisteminiz ve güvenliğiniz sürekli güncel kalacak… (2020-08-27) - [Phalcon Framework Bir şahin kadar hızlı PHP](https://halityesil.com/bir-sahin-kadar-hizli-php-framework-u-phalcon.md): PHP framework seçerken çok arada kaldığımız durumlar olmuştur. Phalcon, 2012 yılında BSD lisansı ile yayınlanmaya başladığından bu yana bu arada kalmışlığımızda biraz olsun kurtulduk. Phalcon, hala gelişmekte… (2020-08-26) - [Centos Disk Mount / Centos Disk Ekleme](https://halityesil.com/centos-disk-mount-centos-disk-ekleme.md): Centos sunucunuzun disk kapasitesini arttırmak istediğinizde, sunucu taktığınız diski doğrudan görmeyecektir. Öncelikle taktığınız diski mount etmeniz yani sisteme tanıtmanız gerekmektedir. Centos sistemlerde mount… (2020-08-26) - [E-ticarette başarılı olmak için 15 ip ucu](https://halityesil.com/e-ticarette-basarili-olmak-icin-15-ip-ucu.md): E-ticarette başarılı olmak için 1. ip ucu E-ticaret, tüketiciye sağladığı avantajlarla tüketicilerin satın alma davranışlarında belli değişikliklere yol açtı, fakat perakendeciler her konuda kendi kurallarını… (2017-08-13) - [Action Script 3.0 Nesnelerle Çalışma](https://halityesil.com/nesnelerle-calisma.md): ActionScript, nesne odaklı programlama dili olarak bilinir. Nesne odaklı programlama, bir programlama yaklaşımı olup nesneleri kullanarak bir programda kodu organize etme yolundan fazlasını ifade etmez. Daha önce… (2012-04-13) - [Programlama temelleri](https://halityesil.com/programlama-temelleri.md): ActionScript bir programlama dili olduğundan, ilk önce birkaç genel bilgisayar programlama kavramını anlarsanız, ActionScript'i öğrenmeniz kolaylaşacaktır. Bilgisayar programları ne yapar Öncelikle, bilgisayar… (2012-03-27) - [ActionScript 3.0'a giriş](https://halityesil.com/actionscript-3-0a-giris.md): Bu bölümde, en yeni ve en yenilikçi ActionScript sürümü olan Adobe® ActionScript® 3.0'a genel bakış sağlayacağız. ActionScript hakkında ActionScript, Adobe® Flash® Player ve Adobe® AIR™ çalışma zamanı ortamları için… (2012-03-27) - [Neden Hala Biz Önderlik Etmeyelim](https://halityesil.com/neden-hala-biz-onderlik-etmeyelim.md): Asırlar boyunca Matematik, Tıp, Jeoloji, Coğrafya, Felsefe, Fizik, Astronomi, Teknoloji... derken bütün bilim alanlarında Dünya insanlarına liderlik etmiş Türk ve Müslüman bilim adamları. Ancak taki bir iki yüzyıl… (2011-04-26) - [Very basic copy data base table on MsSQL / MsSQL de verileri ile birlikte bir tabloyu kopyalamak!](https://halityesil.com/very-basic-copy-data-base-table-on-mssql-mssql-de-verileri-ile-birlikte-bir-tabloyu-kopyalamak.md): Bi arşivleme arayüzü hazırlarken kısayoldan tablo kopyalamak için kullandığım SQL deyimini paylaşmak istedim Birde örnek verelim: Sonuç olarak bu cümle standart bir SELECT sogusundan başka bir şey değil. Önemli olan… (2011-03-10) - [MsSQL de tarih formatlarını kullanmak](https://halityesil.com/mssql-de-tarih-formatlarini-kullanmak.md): Şu sıralar, kablosuz el terminalleri ile xml tabanlı olarak veri haberleşmesi yapan bir otopark kontrol otomasyonu hazırlıyorum. MsSQL de tarihleri hesab ederken tarih değerleri üzerinde oynamam gerekti. Ancak yerleşik… (2011-01-26) - [Ücretsiz XML Döviz Altınkaynak, Merkez Bankası kuru servisi](https://halityesil.com/ucretsiz-xml-doviz-altinkaynak-merkez-bankasi-kuru-servisi.md): Globya Bilgi Teknolojileri tarafından geliştirilen ImFlexi sistemlerinin kullandığı döviz kuru güncelleme alt yapısı için hazırlanan XML tabanlı Döviz piyasa verileri XML servisi ücretsiz olarak geliştiricilere sunuldu. (2010-09-17) ## Seriler - [Vibe Coderin El Kitabı](https://halityesil.com/seri/vibe-coderin-el-kitabi/): 9 bölüm ## Sayfalar - [Çerez Politikası](https://halityesil.com/cerez-politikasi.md): Son güncelleme: 5 Ekim 2026 Çerezler, ziyaret ettiğiniz sitenin tarayıcınıza bıraktığı küçük metin dosyalarıdır. Tarayıcının yerel depolaması (localStorage) da benzer bir iş görür. Bu sayfa, halityesil.com'un ikisini de… - [Gizlilik Politikası](https://halityesil.com/gizlilik-politikasi.md): Son güncelleme: 5 Ekim 2026 Bu sayfa, halityesil.com'u okurken ve yorum yazarken hangi bilgilerinizin işlendiğini sade bir dille anlatır. Kanuni ayrıntılar KVKK Aydınlatma Metni'nde, çerezler Çerez Politikası'nda… - [Kullanım Koşulları](https://halityesil.com/kullanim-kosullari.md): Son güncelleme: 5 Ekim 2026 halityesil.com, Halit Yeşil'in kişisel blogudur. Siteyi kullanarak aşağıdaki koşulları kabul etmiş olursunuz. 1. Yazılar ve görseller Sitedeki yazıların ve özgün görsellerin telif hakları… - [KVKK Aydınlatma Metni](https://halityesil.com/kvkk-aydinlatma-metni.md): Son güncelleme: 5 Ekim 2026 Bu metin, 6698 sayılı Kişisel Verilerin Korunması Kanunu'nun ("KVKK") 10. maddesi ve Aydınlatma Yükümlülüğünün Yerine Getirilmesinde Uyulacak Usul ve Esaslar Hakkında Tebliğ uyarınca… ## Posts in English - [PHP Autowiring Container: Dolls Inside Dolls](https://halityesil.com/en/php-autowiring-container-lazy-objects.md): Picture an order-list page. It has one job: print the orders on screen. I built a sample service graph and counted the constructors — seven objects were created during that single request, two were used. Five went… (2026-10-03) - [TypePHP: A PHP AOT Compiler and What It Costs You](https://halityesil.com/en/typephp-php-aot-compiler.md): Last week I moved the PHP on my server from 8.1 to 8.5 and wrote it up as a maintenance job. This week's radar entry demands that version as a precondition. TypePHP is an AOT (ahead-of-time) compiler that turns PHP… (2026-10-01) - [Vibe Coder #3.3: Local LLMs – Buying Your Own Generator](https://halityesil.com/en/vibe-coder-3-3-local-llm-coding.md): In Chapter 3.2 we talked about the prototype that arrives in five minutes, and I ended it with a promise: next chapter, we work without touching the cloud at all. Here it is. The case for a local LLM usually gets… (2026-09-29) - [PHP 8.5 Upgrade: Four Versions and One Missing Character](https://halityesil.com/en/php-8-5-upgrade-from-8-1.md): My own blog's Site Health screen said PHP 8.1.2. A patch level from early 2022, running in September 2026, on a server open to the internet. I had been putting the PHP 8.5 upgrade off for years with "I'll get to it"… (2026-09-26) - [Crawl4AI: Feeding Web Pages to an LLM Without the Bones](https://halityesil.com/en/crawl4ai-llm-web-crawler-review.md): Most of us solve the "feed this page to a model" problem the same way: file_get_contents, a bit of strip_tags, two regexes on top, and off it goes. The result is always the same too. The model builds half its answer… (2026-09-24) - [Vibe Coder #3.2: Frontend Prototyping – v0, Bolt.new and the Five-Minute Dream](https://halityesil.com/en/vibe-coder-3-2-frontend-prototyping-v0-bolt-new-and-the-five-minute-dream.md): You type the prompt and forty seconds later a working interface appears. What v0 and Bolt.new really do, where they stop, and what happens when that five-minute prototype lands in your own project. (2026-09-20) - [Vibe Coder #1.1: Code Is a Liability](https://halityesil.com/en/vibe-coder-1-1-code-is-a-liability.md): For a long time the software industry treated "lines of code written" as a success metric. But from Bill Gates to Cory Doctorow, the people who shaped this field have been repeating the same thing for years: code is not an asset, it is a liability. Every line you write is technical debt you have to maintain, test and secure. (2026-09-19) - [SQL’s Hidden Gem: Exploring WITH RECURSIVE for Hierarchical and Recursive Queries](https://halityesil.com/en/sqls-hidden-gem-exploring-with-recursive-for-hierarchical-and-recursive-queries.md): Hello, tech enthusiasts! Today, we’re diving into one of SQL’s most fascinating features: WITH RECURSIVE. This powerful tool is perfect for unraveling complex data structures, like company hierarchies, road networks, or even simple number sequences. It’s like having a trusty guide to navigate through intricate data mazes. So, grab a cup of tea, and let’s explore how WITH RECURSIVE can make your SQL queries shine! (2025-07-29) - [Two Annoying Phalcon Errors and How to Fix Them: e_id and SoftDelete](https://halityesil.com/en/two-annoying-phalcon-errors-and-how-to-fix-them-e-id-and-softdelete.md): If you’re using Phalcon, you’ve probably fallen in love with its speed and flexibility. But let’s be real—sometimes it throws curveballs that make you question your life choices. (2025-07-27) - [A Big Decision in Identity Selection: INTEGER or BINARY?](https://halityesil.com/en/a-big-decision-in-identity-selection-integer-or-binary.md): Choosing an identity in the world of databases is not as simple as it may seem. In fact, the choice of each identity (or ID) is part of a much larger strategy. “Life is short, data types are long,” someone once said (of course, they didn't actually say it, but it would have been very cool if they had). This article leaves you face-to-face with the question “INTEGER or BINARY?” and aims to help you find the correct answer to it. (2025-01-08) - [Logitech MX Keys S Combo for Mac: Your New Favorite Work Buddy](https://halityesil.com/en/logitech-mx-keys-s-combo-for-mac-your-new-favorite-work-buddy.md): "Why so serious?" When it comes to productivity tools, there’s no need to stress. Let me introduce you to a product that will make your workflow as smooth as butter: the Logitech MX Keys S Combo for Mac. Whether you're a developer chasing the next big idea, a designer crafting pixel-perfect layouts, or someone just trying to reply to emails faster than a Marvel superhero dodges lasers, this keyboard and mouse combo has your back. (2024-12-13) - [The King Slayer of MySQL: Solving the N+1 Query Problem](https://halityesil.com/en/the-king-slayer-of-mysql-solving-the-n1-query-problem.md): Let’s take a lesson from the world of A Song of Ice and Fire: "Chaos is a ladder." But this rule does not apply to MySQL queries! On the contrary, if you let chaos into your queries, your performance can tumble down a cliff. Introducing the sinister N+1 Query Problem, the silent killer of database performance. (2024-12-11) - [JS Callback Mess: The Redemption Tale of Promises and Async/Await](https://halityesil.com/en/js-callback-mess-the-redemption-tale-of-promises-and-async-await.md): Once upon a time in the world of JavaScript, there was a fearsome beast called "Callback Hell." This monster turned innocent code into a labyrinth, making it nearly impossible to read or maintain. Every time you revisited your code, it felt like watching Inception—layer upon layer of complexity unfolding as you asked yourself: "Will I ever escape this nightmare?" But fear not, dear coder, for this story has a hero: Promises and Async/Await. Let’s dive into this redemption tale together. (2024-12-10) - [MySQL with "INSERT INTO … ON DUPLICATE KEY UPDATE": Advantages and Disadvantages of a Fun Approach](https://halityesil.com/en/mysql-with-insert-into-on-duplicate-key-update-advantages-and-disadvantages-of-a-fun-approach.md): Hello MySQL enthusiasts! Today, we're diving into a commonly used yet often underrated topic in the world of databases: the "INSERT INTO ... ON DUPLICATE KEY UPDATE" statement. In this article, we'll explore the advantages and disadvantages of this handy SQL command while also taking a look at what's happening behind the scenes. (2024-10-04) - [Code Wars: Boolean or 1/0? – A Developer’s True Dilemma!](https://halityesil.com/en/code-wars-boolean-or-1-0-a-developers-true-dilemma.md): Let’s be honest; as developers, we all have those moments where we stare at our computer screen with a coffee cup in hand, pondering, “Should I use a Boolean, or an integer?” Maybe this dilemma has even kept you up at night. Let’s dive into this seemingly complex, yet surprisingly fun, question! (2024-10-04) - [Survival Guide for Developers: The Real World Beyond Code](https://halityesil.com/en/survival-guide-for-developers-the-real-world-beyond-code.md): The outside world is waiting for you to explore the life behind the code! This guide, filled with tips to help developers enhance their social skills and be more effective in real life, will encourage you to think not only about code but also about life. Are you ready to embark on a journey filled with social media, coffee breaks, and fun hobbies? Remember, exploring real life is the most enjoyable way to strengthen your software career! (2024-10-03) - [PHP Framework Selection: God Tests Developers with Choices!](https://halityesil.com/en/php-framework-selection-god-tests-developers-with-choices.md): Choosing between PHP frameworks can sometimes lead to sleepless nights for software developers. So, in this complex process, which framework should we choose? This is where we embark on a deep dive into the world of PHP. (2024-10-03) ## Series (English) - [The Vibe Coder's Handbook](https://halityesil.com/en/series/the-vibe-coders-handbook/): 3 chapters ## Pages (English) - [KVKK Privacy Notice](https://halityesil.com/en/kvkk-privacy-notice.md): Last updated: 5 October 2026 This notice is provided under Article 10 of the Turkish Personal Data Protection Law No. 6698 ("KVKK") and the Communiqué on the Procedures and Principles for Fulfilling the Obligation to… - [Privacy Policy](https://halityesil.com/en/privacy-policy.md): Last updated: 5 October 2026 This page explains, in plain language, what happens to your information when you read halityesil.com or leave a comment. The legal details are in the KVKK Privacy Notice and cookies are… - [Terms of Use](https://halityesil.com/en/terms-of-use.md): Last updated: 5 October 2026 halityesil.com is Halit Yeşil's personal blog. By using the site you agree to the terms below. 1. Posts and images The copyright in the posts and original images on this site belongs to… - [Cookie Policy](https://halityesil.com/en/cookie-policy.md): Last updated: 5 October 2026 Cookies are small text files a website stores in your browser. Your browser's local storage (localStorage) does a similar job. This page explains how halityesil.com uses both. For personal… ## Optional - [llms-full.txt](https://halityesil.com/llms-full.txt): Tüm yazıların tam metni / Full text of every post - [RSS (TR)](https://halityesil.com/feed/) - [RSS (EN)](https://halityesil.com/en/feed/) - [Sitemap](https://halityesil.com/sitemap.xml)