Author Archives: Özcan Acar

About Özcan Acar

Bilgisayar mühendisi olan Özcan Acar 1997 yılından beri programcı olarak çalışıyor. KurumsalJava.com, SmartHomeProgrammer.com ve Mikrodevre.com adresleri altında blog yazıyor. Pratik Programcı Yayınları bünyesinde Pratik Spring, Pratik Agile, Pratik Git ve Design Patterns ismini taşıyan kitapları bulunmaktadır. 21.12.2009 tarihinde Java Champion olarak seçildi.

Sadece Gereksinim Analizi Yapıyorum

Loop engineering tam otomasyon üzerine kurgulu degilse, yapay zeka ile yapacagi isler konusunda interaksiyon gerekiyor. Bir önceki yazimda tam otomasyon icin kuyruk yapilarinin nasil kullanildigindan bahsettim. Bu yazimla birlikte uygulama gelistirmeye yaklasim tarzimin nasil degistigini aktarayim. Asagidaki resimde son yarim saat icinde irili, ufakli yaptirdigim isleri görüyorsunuz. Bu kanban boardda yer alan ticketleri ben ready […]

Tam Otonom Yazılım İçin Kuyruk Yönetimi

Eger hale bir yapay zeka araci ile interaksiyon halindeyseniz, loop engineering bile olsa tam otonom yazilim yaptirmiyorsunuz. Tam otonom yazilim icin ne gerekli? Bir kuyruk (queue) sistemi. Bunun en güzel örnegi Jira. Benim örnegimde: Bu sekilde döngü kendisini tekrar ediyor. Ben artik tamamen uygulama özelliklerine odaklaniyorum, codex ise teknik implementasyona ve görev dagilimina. Bu bilgisayarim […]

Araç Kullanımı Değişiyor

Dünkü paylastigim videoda yazilim nereye evriliyor soruna cevap vermeye calismistim. Kullandigim araclarin nasil degistigine dair bugün gözlemledigim bir degisiklikten daha bahsetmek istiyorum. Prompt engineering yaparken sürekli github copilo cli / claude code cli ile konsolde calisiyordum. Loop engineering yöntemine gectikten sonra bu son buldu. Artik claude arka planda headless calisiyor. Benim interaksiyona girdigim tek arac […]

Loop Engineering ve Manuel Testler

Yazilim yaparken tek darbogaz her zaman insanin kendisiydi. Eskiden yazilimcilar kod yazmaya yetisemezken, simdilerde kod review yapmaya ve yapilan degisiklikleri takip etmeye yetisemiyorlar. Kendimden somut bir örnek vereyim. Dünden beri codex + opus tam otonom iki büyük uygulama özelligini loop engineering yönetimi ile implemente ettiler. Test edilecek 30 dan fazla testcase olustu. Yüzlerce yeni sinif […]

Ben Sadece Kod Yazarım Diyenlere Ne Oldu / Olacak?

Biraz yazilimdaki kültür degisiminden bahsedlim mi? Ben eski programci günlerimden iyi hatirliyorum. “Ben kod yazarim. Gereksinimleri baskalari yapsin. Testleri QA ekibi halleder, ben testci degilim. Dokümentasyonu baskalari yapar” diyen bircok insanla birlikte calistim. Nereden nereye? Simdi ne yapiyorlar acaba? Eskiden, benim cok tasvip etmedigim bir görev dagilimi vardi. Bu yazilimda silolasmayi beraberinde getirdi ve silolar […]

Loop Engineering Ile Full Otonom Yazilim

Simdi loop engineering icin gerekli, full otonom calisan bir setup nasil kurulur, ona deginmek istiyorum. Cikis noktam yeni bir modül. Cok genis kapsamli oldugu icin gpt 15 loop plani olusturdu. Normalde ben her plani alip, elden opus’a verip, gelen sorulari gpt’ye aktarip, is bittikten sonrada gpt’nin analiz etmesini istiyordum. Bu 15 plan icin 2 gün […]

Epistemic Engineering

Loop engineering insan ve LLM arasindaki yazilim konusundaki is birliginin ilk neslidir. Daha önce gelen hersey teknik hazirlikti. Aciklayayim. Nasil programliyorduk? Fikir -> Kod -> Derleyici – Testler Yapay zeka ile nasil calismaya basladik? Fikir -> Prompt -> LLM -> Kod Bu noktadan itibaren programci deklaratif calismaya basliyor. Sadece ne istedigini ifade ediyor ve nasil […]

Loop Engineering ve Refactoring

Gelelim refactoring konusuna. Programci iken en sevdigim konulardan birisi idi. Refactoring ile kodun yeniden yapilandirilmasini kastediyorum. Refactoring her daim yapilabilecek bir aktivite degildir. Yapilabilmesi icin yerine getirilmesi gereken cok önemli bir sart bulunmaktadir. Test mevcudiyeti. Cevik olmanin temelini aslinda refactoring dedigimiz aktive sagliyor. Onun icin de testler lazim. Bu yazimda buna deginmistim. Simdi yeni bir […]

Yapay Zeka Çağı ve Kod Dökümentasyonu

Eskiden kod ve test kodu dokümentasyondu. Örnegin Java’da bunun icin @Javadoc isminde özel bir yapi bile var. Ben kodun icinde dokümentasyon yapmayi hic bir zaman tasvip etmedim, cünkü kod cok hizli degisebilen bir mevhum ve metotlar ve siniflar icinde birakilan yorumlar zaman icinde gecerlilklerini yitiriyorlar. Ben testlerin, özellikle onay/kabul testlerinin gercek dokümentasyon olduklari savini tasiyordum. […]

Yapay Zeka İle Çalışma Modellinin Evrimi

Loop engineering yapmaya kadar evrilen kendi yapay zeka serüvenimi prompt yazma üzerinden size adim adim aktarayim. Simdilerde gpt gereksinim analizlerini yapiyor ve loop planlarini otomatik olarak LOOP.md dosyasina yaziyor. Opus bu dosyayi alip, gerekli implementasyonu yapiyor. Bundan sonraki adim ne olacak sizce?

Döngü Planları

Bir derleyici ile interaksiyona girmek ne kadar mantikli? Kimse yapmiyor degil mi? Peki bir LLM le interaksiyona girmek ne kadar mantikli? Herkes yapiyor degil mi? Her ikisi icin de interaksiyon anlamli bir yaklasim degil. Bu isi sizin neden oldugunuz bir dag bogaza dönüstürür. Bizler yapay zeka ile calismayi ne sekilde ögrendik? Prompt yazarak. Cogu programci […]

Loop Engineering – 2. Bölüm

Loop engineering demistik en son, oradan devam edelim. Loop enginneering’in ne oldugu konusuna diger yazilarimda deginmistim. Ben bunu günlük hayatimda nasil uyguluyorum, bunlara örnekler vererek devam etmek istiyorum. Loop engineering yaptigim degisik senaryolar var. Ben “bugünden itibaren loop engineering yapacagim” demedim. Kendimi icinde buldum, cünkü kullandigim yeni arac, claude code buna yatkinmis. Ben loop engineering […]

Intent Based Programming ve Intent Specific Language (ISL)

Eskiden programci olarak nasil soruna cevap arardim. Bu durum tamamen degismis durumda. Artik ne sorusunun pesindeyim. Programlama tarihi de LLM’ler ile birlikte nasil sorusundan ne sorusuna dogru evrilen bir soyutlama tarihine dönüsüyor. Günümüzde programlama paradigmalarinin evrimine canli, canli sahit oluyoruz: Imperatif -> Deklaratif -> Niyet Tabanli (intent based) Programlama Niyet tabanli programlama ile ne kast […]

Yapay Zeka Araç Kullanımı Nasl Evrildi?

Yapay zeka araclari kullaniminin zaman icinde bende nasil degistigini kisaca paylasayim. – 2022 baslarinda IIntelliJ IDEA bünyesinde Github Copilot plugini kullanmaya basladim. O zamanlar hatirladigim kadariyla chat modu yoktu. Sadece autocomplete yapma özelligi ile ben kod yazarken bana destek oluyordu. Bunu ilk gördügümde, yolculugun nereye gidecegini anlamistim. – 2023 + 2024 de plugine chat özelligi […]

Hala Prompt Engineering mi Yapıyorsunuz?

Komple bir envanter yönetimi sistemini (dashboard, envanter kalemleru, depolar, hareketler, depo transferleri, sayimlar, receteler, siparis önerileri, satin alma siparisleri, mal kabulleri, tedarikciler, raporlar bölümleri; angular, spring boot backend, sayisiz yeni api, dto, mapper, service, entity siniflari, liquibase scriptleri, unit ve entegrasyon testleri ile) loop engineering ile 3 gün icinde tamamladim. Kendin kodu yazmaya kalsaydim, muhtemelen […]