Yazılımın ilk 250 günü - Part 23
6 dk okuma
221. Gün
Bugün php dokümanını okumayı bitirdim (dizi metotları gibi kısımları atlayarak). Sonrasında çeşitli yazılım bilgilerini okudum, araştırdım. Sonrasında sizin gönderdiğiniz dosyaları incelemeye başladım ama mental anlamda çok yorulduğumu hissedip sonrasında biraz daha farklı konulara baktım. Bugünlük bu kadardı.222. Gün
Bugün Lumen dokümanını ve dolayısı ile de Laravel’i biraz okudum. 9 aydır framework ve benzeri yapıları hiç kullanmadığım (ya da çok çok az) için sanırım bu kullanıma hazır template’leri sevemedim (Sanırım ilk defa karşılaştığım için bir tepki oluştu, vücudun bazı uyaranlara karşı alerji oluşturması gibi). Sevemesem bile bu verilen bir görev olduğu için ve kabul edildiği için tabii ki de öğrenecektim/çalışacaktım.Son betimlemeyi de yapmak isterim ki içimde kalmasın. Framework bir inanç/kültür gibi. Aynı framework’ü kullanan geliştiriciler ortak bir paydada bulunup birbirleri ile anlaşıyorlar ve hoşgörü içinde yaşayıp gelecek kuşaklarda aynı inancı ve kültürü devam ettirerek mutlu mesut yaşıyorlar. Bu inanç/kültür’ün bulunduğu dil, geliştiricilerin konuşma dilleri. Kimi geliştiriciler inanç/dil milliyetçiliği yapabiliyor. Kimileri “make peace don’t war” diyerek multicultural olarak her dil ve inançtan polen alıp bal yapıyor. Laravel, Yahudilik gibi. Eski bir inanç ve o da başka inançlardan türemiş. Ve başka inançlara da kapı açmış. Çok güçlü bir yapısı var ki kendisi ve türetildiği inançlar çok sağlam takipçilere ulaşmış. Kullandığı dil artık pek yaygın değil. Ve başka diller oldukça revaçta. Bu da o dilin ölmesine sebep olmasa da popülerliğini azaltıp community’sini gitgide azaltıyor.
Bugün ne yaptım? Lumen’in dokümanlarına bakarken sıkıldım ve pratiğe başlamak için sizin gönderdiğiniz dosyayı çalıştırmak istedim. Çalıştıramadım. Veritabanı ile ilgili bir hata alıyordum. Sonra basit bir pratik olması için Lumen kullanan bir rest api yazımı ile ilgili tutorial’ı okuyup ve takip edip kendim oluşturdum. Veritabanındaki verilere ilgili endpoint ile postman’den eriştim.
Anladığım kadarı ile lumen rest api ve mikroservis(ne olduğunu bilmiyorum) oluşturmak için yaratılmış. Verilen dosyada ise view’ler bulunmakta idi ve dolayısı ile konsept lumen'den çıkıp tekrar laravel’e bağlanmış. Bu yüzden başlangıçta lumen kullanmak, kendilerinin de 'yeni projelerinizde beni kullanmayın' uyarısı ile pek uyuşmamış. Ama yine de her türlü çalışan bir şey sanırım yaratılmış. Yine çok boş yaptım sanırım.
Yarın sizin verdiğiniz dosyayı çalıştırmaya çalışacağım.
223. Gün
Bugün önce ilk gönderdiğiniz dosyaları gerekli sql sorgularını yazarak (database ve tabloları ekleyerek) çalıştırdım. Sonrasında asıl finans uygulamasının front-end’ine bakarak zihnimde nesneleri oluşturmaya çalıştım. Hazır bir hâlde her şey önümde olduğu için çok beyin yorucu değildi. Sonrasında tekrar Laravel’in dokümanlarına baktım ve okudum. Bugün biraz daha sakindi. Covid durumları, iphone düşüncesi biraz zihinde yer aldı.224. Gün
Evet bir framework kullanmak basit görünse de o framework ile yazılan kodu anlamak pek kolay olmayabiliyormuş. Laravel dokümanı çok detaylı ve anlaşılır olsa da direkt bu konsepti bilmeyen bir insan için kodların niçin yazıldığının eklenmemesi sonraki yazılımcıyı biraz zorlayabilirmiş. Bugün aldığım ders, bir kod yazmışsam neden o kodun var olduğunu açıklamam gerektiği üzerineydi. Elbette bir kod parçasını okuyunca ne iş yaptığı anlaşılsa da tüm parçaları birleştirmeye çalışmak zor olabiliyor.Bugün daha backend tarafındaki kodların ne yaptıklarını tek tek anlamaya çalıştım. Bazı kısımlarda gereksiz uzatılmış kodlar gördüm fakat dokunmadım. Bazı yerlerde (hatta birçok kod parçasında) kırmızı uyarılar vardı ve nasıl düzgün çalıştığını henüz çözemedim bu kısımların.
Henüz sistemin nasıl çalıştığını tam çözemedim. Çözmeyi deneyeceğim, deniyorum.
225. Gün
Bugün de uygulamayı inceledim. View dosyaları ile backend arasındaki bağlantıyı anlamaya çalıştım. Yine MVC ve laravel’deki uygulanışını kavramaya çalıştım. Yarın öğleden sonra uygulamanın ilk açılmasından itibaren nasıl çalıştığını, route'ları, controller'ı ve kullandığı modüllerle modeli nasıl etkilediğini, frontend kodunun nasıl çalıştığını izlemeye ve anlamaya çalışacağım.226. Gün
Bugün yine muhasebe uygulamasına baktım ve çalıştım. Sistemin çalışmasını anlamaya çalıştım. Route geçişlerini, controller’ın yaptıklarını, view’leri ve blade engine’I çözmeye çalıştım. Çok ufak birkaç değişiklik yapmaya çalıştım.1 hafta aranın ardından sanki her şeyi unutmuş gibi hissetmiştim ama hemen hemen bir çok şeyi hızlıca hatırlayıp adapte olduğumu düşünüyorum.
Projede bana en ilginç gelen kısım backend’in farklı domain de olmasıydı. Neden böyle bir ihtiyaç doğdu bilmiyorum. Belki de bu kullanım hep vardır ve ben yeni öğrenmişimdir.
Bir sorunum var. Canlı bir sistemde kullanılan veritabanına laragon kullanarak nasıl ulaşacağımı ve değişikliklikleri yapabileceğimi henüz çözemedim. Örneğin sistemde kayıtlı kişi bilgileri ile giriş yapılıyor. Sisteme kayıtlı olmayan kişi bilgileri ile de giriş yapılabiliyor. Oysa ki 2. Durumda giriş yapamaması gerekiyor. Bu kontrolün nasıl çalıştığını, veritabanındaki verilere direkt laragon ile erişmeyi, Cors problemlerini nasıl çözebileceğimi, canlıda olan sistemi yerelde çalıştırmayı isteyince neden autoloader ile ilgili bir hata aldığımı anlamaya ve çözmeye çalışacağım.
227. Gün
Dün gördüğüm birkaç hatayı bugün düzeltmeye çalıştım. Öncelikle cors hatası nedeni ile backend api’den hiçbir veri çekilip front app’inde görünmüyordu. Request header’ındaki ilgili eksikler tamamlandı ve sorun çözüldü. Sonrasında hiç canlı bir uygulamada çalışmayan bünyem local’de veritabanına erişmeye çabalıyordu. Yapamadım. Sonrasında uygulamanın çöktüğü bir yer keşfettim. Bir url’e erişim sağlanmak istendiğinde onlarca isteğin axios ile gönderildiğini, bu durumun da birkaç sayfa yenilemede “429 too many request” hatası çıkardığını gördüm. Henüz düzeltemedim. Ama yarın çözebileceğimi düşünüyorum. İki sorun daha var: yanlış login bilgileri ile sisteme giriş yapılır gibi arayüz değişmekte fakat sonrasında login sayfasına geri dönülmekte. Bu düzeltilmeli. Birkaç farklı front end hataları da bulunmakta. O kısımlar da tamamlanmaya çalışılacak.228. Gün
Bu sabah, dün karşılaştığım “too many request”li problemi çözdüm. Fakat birkaç yerde de yine aynı “429 too many request” hatasını gördüm (Daha sık şekilde sayfa yenilemelerde olabiliyor). O kısımlarda henüz bir değişiklik yapmadım. Sonrasında login sayfasında yanlış veriler girildikten sonra ana sayfaya aktarılma problemini düzelttim. Giriş yapılmıyor ve hatalı şifre yada kullanıcı ismi girildiği bildiriliyor. Sonrasında biraz teorik bilgisayar bilimleri konularına baktım (mesai bitimine yakın).229. Gün
Bugün muhasebe programında bir değişiklik yapmadım. Hem laravel hem delumen için iki ayrı uygulama oluşturup en temel lumen ve laravel uygulaması ile yazılmış olan kodu karşılaştırdım. Eklenen kısımları not edip böyle bir uygulama yapılırken nelere dikkat edildiğini anlamaya çalıştım. Gün içinde karşılaştığım ya da merak ettiğim birkaç algoritmaya, mantık kapılarına, ve php ile ilgili Stackoverflow’daki soru cevapları okudum. Gün sonunda sizin söylediğiniz konuyu araştırdım. Okuduğum birkaç yazıdan aklımda kalanı size özetlemeye çalıştım fakat sanırım yanlış anlamış yada yorumlamış olabilirim. Şimdi tekrar o konuya bakacağım çünkü merak ediyorum.230. Gün
Bugün C programlama notlarını biraz okumak istedim. Tabii öncesinde muhasebe programını tekrar kontrol ettim ve gözden kaçırdığım iki kısmı (frontend’de kaydetme ya da güncelleme ile ilgili iki butona basıldığında form verisinin gönderilmemesi) fix’ledim. Programın ana işlevlerini engelleyen ya da kısıtlayan farklı bir sorunla karşılaşmadım.