• 03-07-2018, 12:56:12
    #73
    Kimlik doğrulama veya yönetimden onay bekliyor.
    YazilimUzmani adlı üyeden alıntı: mesajı görüntüle
    Hocam merhaba,
    Öncelikle şahsınıza bir ithamda bulunmak istemedim. Yanlış anlaşıldıysam kusura bakmayın. Yaptığınız işe, bilgi ve tecrübenize saygılıyım. Yorumumu yaparken sizi ya da bir başkasını direk hedef almadım. Sadece tüm sayfaları okuyup genel bir yorum yaptım. Kimin neyi yazdığını bile hatırlamıyorum sadece ortada dönen düşünceler hedefimdi. Bu güzel, açıklayıcı ve kibar cevabınız için teşekkür ediyorum.

    Size katıldığım ve katılmadığım konular var. Öncelikle mimari öğrenilmesinin çok daha faydalı olacağı konusunda sizinle aynı fikirdeyim. Evet doğrusu bu, böyle olsa çok daha iyi. Bu detay programcı ile yazılımcı arasındaki farkı belirliyor. Bu işe gönül verenler için "PHP frameworke bel bağlamayın" demek aslında en doğru tabir. Belki de bunu demek istemiştiniz konu başlığında, bilmiyorum.

    Size katılmadığım ilk nokta frameworklerin mimari yapıdan ibaret olmadığı. Bir çok avantajı da yanında getiriyor. Bunları tek tek yazmaya zaman yetmez. "PHP Framework kullanmayın" gibi radikal bir başlık kullanmanızın doğru olmadığını düşünüyorum. XXX frameworkü kullanmayın çünkü... diye bir başlık olsa ve içerikte performans testleriyle aynı işi yapan kodları 10.000 client ile test etseniz ve kanıt olarak sonuçları paylaşsanız bu kadar tepki almazdınız.

    Bence atladığınızı düşündüğüm bir nokta da framework ile yazılım mantığını çözüp sonrasında kendi kütüphanelerini oluşturabilecek on binlerce junior olduğu. Mvc yapısı framework içerisinde hazır halde gelip, hazır kütüphanelerle üretim yaparak ortaya ürün çıkaran gençlerin startup başlatıp hem kendilerine, hem ülkelerine katkıda olabileceklerini de göz önünde bulundurmak gerek.

    Katılmadığım bir diğer nokta frameworkler ile ajansları ve baştan savma projeleri ilişkilendirmeniz. Ajansların, yazılım firmalarının framework kullanmalarının çok daha farklı nedenleri var. En önemlisi de projelerin baştan savma olmamasını istemeleri ve sürdürebilirliğinin olması. Projeyi yapan adamlara değil, o frameworkü bilen adamlara bel bağlamak istemeleri. Belli standartlar getirmek istemeleri.

    Bence atladığınız bir nokta da şu, siz bir araba satın almak istediğinizde belirli kriterleriniz olur. Bu kriterlere göre araba seçersiniz. Fiat firmasının motorunu kendi üretip üretmemesiyle ilgilenmezsiniz. Gövdede hangi tip alaşım kullanılmış, aynalar ithal mi değil mi buna bakmazsınız. En azından çoğumuz bu şekilde. Mercedes'in motoru dışarıdan alıp üzerine kendi geliştirmelerini ekleyip satmasına tepki gösteremezsiniz. Php framework kullanmayın demek ile Mercedes motorunu kendi üretsin demek bence aynıdır. İş dünyasında arz talep meselesi vardır ve talebi istenilen kriterlere göre en hızlı hangi şekilde karşılayacaksanız o yöntemi tercih edersiniz. Bir web sitesine ister 3 kişi girsin, ister 3 milyon, önemli olan istenilen ürünü istenilen sürede istenilen kriterlerde çıkartmaktır ve bunu yaparken müşteriden özel bir istek gelmediği sürece geliştirebileceğiniz en hızlı şekilde geliştirirsiniz. Yaptığınız uygulamayı sanata dönüştürüp, tüm kodları oturup baştan yazarak uzun deadline süreleriyle çalışmak kişisel tercihtir.

    Bu noktada sizinle aynı fikirde olduğum kısma tekrar geliyorum. Kişisel anlamda konuyu ele alacak olursak eğer mimariyi bilip geliştirebiliyorsanız, işiniz her zaman hazırdır. Ama framework kullanarak mimariyi öğrenirsiniz, ama sıfırdan oturup öğrenirsiniz. Yazılımcı olma yoluna framework ile girmek, temel bazı detayları bildikten sonra emeklemeden yürümek olarak görülmemeli. Yeni başlayan adam mvc yapısını, nesne yönelimini öğrenmeye çalışırken bunalıp vazgeçiyor. Bunun yerine framework kullanarak bir şeyler üreterek motive olup, hem mvc hem oop kavramak daha kolay.

    Bu konu üzerine söylenecek çok şey var. Herkesin kendince doğruları yanlışları var. Ama çok fazla uzatmaya gerek yok. Sonuçta tek bir doğrunun olmadığı, aynı konuda bir çok doğrunun olduğu nadir bulunan sektörlerden birindeyiz. Yazılımı, mimariyi, standartları öğrenirseniz hangi dilde öğrendiğinizin önemi olmadan, her dilde sadece syntaxları ve temel kuralları öğrenerek kısa sürelerde yazılım üretebilirsiniz. Framework öğrenip kendinizi geliştirmezseniz, o framework olduğu sürece varsınız demektir.
    Ağzına sağlık yiğidim bir ara bir çay içip Frameworkler hakkında konuşalım
  • 04-07-2018, 16:10:38
    #74
    EdgeBear adlı üyeden alıntı: mesajı görüntüle
    Frameworklar kullanıyoruz. Mesela Laravel.


    Composer, Eloquent ORM, Validation, Auth, MVC Architecture, OOP, Design Patterns, Unit test, Migrations, Router, Template Engine daha saymakla bitmeyecek kadar kütüphaneleri içerisinde barındırıyorlar.


    Bizim iki üç satır kodla çalışmamız için arka planda dev kütüphaneler çalışma sağlamaktadır.


    Ayrıca sadece bu değil, bunların hepsi güncel olmalı, mesela Laravel bir anda kendisini tamamen güncelliyor sistem yapısı dosya yolları hepsi değişiyor, önceki yapı çöpe çıkıyor.
    Projeyi tamamen yenilemek, güncellemek zorunda kalıyorsunuz, veya eski framework yapısıyla hep eski tarihle devam etmeye çalışıyorsunuz. Tarihi geçmiş moda gibi.


    Kodunuzu dışa bağımlı kılmayın, az olsun öz olsun. Kendiniz basit kütüphaneler geliştirin. Kendinize ait olsun, ihtiyacınız neyse onu kullanın. İhtiyaç fazlası şeyleri projeye dahil etmeyin. Büyük projeler kodlayınca sunucuyu ne kadar kastığını anlarsınız, 1 satırlık kod parçacığı için 10.000 kod parçacığını (kütüphaneyi) her istekte derlemeye gerek yok.


    Frameworkların asıl mantığı mimari yapılardır, yazılımda mimari vardır. Mesela MVC mimaridir, siz mimarileri öğrenin. Yazılım mimarı olun.

    PHP'de framework kullanmak ajans işidir. Tamamen baştan sağma projeler içindir, Türkiye'de ajansların yaptığı dayatmalardır. Paramı alim, basitinden yapıp vereyim.
    Zaten facebook kodlamıyoruz, basit site, günde 3 kişi zaten siteyi görüyor. Sunucu masrafı fazla olmaz. Lego gibi üstüste ekle bitir teslim et.



    Ne demişler; işi bilicen ama işe gitmicen.


    AZ OLSUN, ÖZ OLSUN.

    merhaba,

    isteyen framework kullanır veya kullanmaz bu konuda yorum yapmayacağım. yorumlara biraz göz attım tartışma var doğal olarak, bu yorumu tartışmak için yazmıyorum.

    söylediğin bazı ifadeler kullandığın betik dili php ile çelişiyor

    frameworkler onlarca kütüphane barındırıyor demişsin doğrudur. php'de onlarca kütüphane içeriyor.

    https://github.com/php/php-src/tree/master/ext

    Alıntı
    Bizim iki üç satır kodla çalışmamız için arka planda dev kütüphaneler çalışma sağlamaktadır. 1 satırlık kod parçacığı için 10.000 kod parçacığını (kütüphaneyi) her istekte derlemeye gerek yok.
    sence php prosesi çalışırken bu kadar kütüphaneyi dahil ediyor mu?

    windows platformu hakkında bilgili olmadığım için linux platformunda ayrıntıya girmeden biraz bahsediyim. derleme 4 aşamadan oluşur, son aşamada object dosyası oluşturulur. .o veya .so uzantısı olur. s shared paylaşımlı dinamik anlamındadır. bu object dosyaları çalıştırılabilir yapıdadır. ELF (çalıştırılabilir ve bağlanabilir format) kısaltmasıyla da görebilirsin, linux için önemli bir kavramdır. php derlenirken tüm kütüphaneler ayrı ayrı derlenirler her kütüphane için object dosyaları oluşturulur ve çalışma esnasında sen örneğin multibyte string (mbstring) fonksiyonlarını kullanmışsan object dosyası basit ifadeyle ram'e aktarılır, işlemci devreye girer çalıştırılır (derleme yok*) ve bellekten kaldırılır. php prosesinde kalıcı olan core yapısıdır.

    hiçbir zaman bütün kütüphaneler dahil edilmez (eden varsa kendine yapar, linuxda karşılığı a uzantılı statik kütüphane dosyalarıdır ve tercih edilmez). framework core dosyaları her zaman yorumlanır, kullanımına bağlı olarak dinamik olarak kütüphaneler dahil edilir. php de böyle çalışıyor.

    10 satırlık basit bir php kodunda her satıra farklı kütüphanelerden fonksiyon çağrısı yaptığında 10 tane kütüphane sisteme dahil edilip çalıştırılacaktır.

    script dillerinin bariz sorunu tekrar tekrar yorumlamak, token'lere ayırmak söz dizimleri kontrol etmek vs. bytecode cache (opcache) ile bu sorun da fazlasıyla aşılmış durumda (benchmark sonuçlarına bakabilirsin).

    mesela Laravel bir anda kendisini tamamen güncelliyor sistem yapısı dosya yolları hepsi değişiyor, önceki yapı çöpe çıkıyor.
    Projeyi tamamen yenilemek, güncellemek zorunda kalıyorsunuz, veya eski framework yapısıyla hep eski tarihle devam etmeye çalışıyorsunuz.
    php'de de durum böyle değil mi? sürekli versiyonlar çıkmıyor mu, söz dizimleri değişmiyor mu, bazı kütüphaneler kaldırılmıyor mu?

    Alıntı
    Frameworkların asıl mantığı mimari yapılardır, yazılımda mimari vardır. Mesela MVC mimaridir, siz mimarileri öğrenin. Yazılım mimarı olun.
    Alıntı
    Lego gibi üstüste ekle bitir teslim et.
    mimari öğrenilmesi güzel ama son cümleniz yine çelişiyor. güzel bir yapı mimari öğreneceksin sonra başka türlü bir düzende kod yazıcaksın...
  • 04-07-2018, 17:51:15
    #75
    EdgeBear adlı üyeden alıntı: mesajı görüntüle
    PHP; C diliyle yazıldığından dolayı, performansı oldukça yüksektir. Eklentileri de zaten DLL-SO vb. tipindedir, saf haliyle oldukça az kaynak tüketmektedir. Fastcgi gibi sistemlerle çalıştığında ve optimize edildiğinde gelen istekler konusunda yine saf haliyle neredeyse çok çok az kaynak tüketmektedir.
    PHP-OPcache bytecode cache gibi veya PHP-APCU object caching gibi eklentilerini kullanınca da betik dili olmasının zaafı olan kodun her defasında derlenmesinin büyük ölçüde zararları gideriliyor.

    Gösterdiğiniz bu PHP eklentileri eğer php-common kütüphanesini yüklemezseniz gelmez. Ben mesela PHP'yi sadece 3-5 eklentisini kendim kurarak kullanmaktayım. C dilleri PHP gibi çalışmamaktadır eklentiler byte code hatta assembly gibi işlev görmektedir, ayrıca bu gösterdiğiniz eklentiler de çok az C kodundan oluşmakta. Performans olarak C dilinde hiçbir kayıp yaşatmazlar.

    Framework ile PHP'yi kıyaslamak oldukça mantıksız. PHP dillerinde çalışma yapısı genelde tüm PHP sistemin tetiklenmesiyle meydana gelir, her ne kadar cache kullansanız da eğer dev bir PHP koda sahipseniz bu aynı kalacaktır. Performans kaybı mutlaka yaşatacaktır.
    framework konusuna girmiyorum. kullanıp kullanmayacağına kişi karar verir. php 5 versiyonu da c dili ile yazıldı 7 de. dil aynı olduğuna göre ne değişti de performans artışı oldu?

    saf hali dediğiniz fonksiyonel eski düzen yazım sanırım, orta ölçekli bir projeyi nesne yönelimli programlama ile kod tekrarı minumum seviyede mi yazarsanız performanslı olur, düz mantık yazımla mı?

    derleme aşamaları nelerdir bakmanızı öneririm. kırmızı ile belirttiğim o cümleyi kurmazsınız. linkini verdiğim eklentiler kaynak kodları ve tamamen c dili.

    son vurguladığım cümlen için lütfen araştırın. php cli ve cgi arayüzleri ne anlama gelir, nasıl çalışırlar farkları nelerdir...

    php kodu derlenmez, adı üzerinde betik dili diyoruz. o ifade doğru değil.
  • 04-07-2018, 18:48:39
    #76
    bune abi? şakamı
  • 04-07-2018, 19:03:29
    #77
    EdgeBear adlı üyeden alıntı: mesajı görüntüle
    cli ve cgi'ya konuyu nasıl getirdiniz anlayamıyorum. anlatmak istediğim şeylerde herhangi bir problem göremiyorum.

    PHP de derlenir, ama çalışma anında, PHP tam olarak derleyici özellikli bir dil olmayabilir.

    çok amaçsız ve saçma bir tartışma oluşturduğunuz için teşekkürler...

    bknz;
    Alıntı
    PHP-OPcache bytecode cache gibi veya PHP-APCU object caching gibi eklentilerini kullanınca da betik dili olmasının zaafı olan kodun her defasında derlenmesinin büyük ölçüde zararları gideriliyor.
    tartışmak için yazmadım ama halen yanlış bilgi vermeye devam ediyorsun. lütfen yanlış yönlendirme bilgilendirme yapma. bilgin yoksa fikrinde olmasın.

    iyi çalışmalar.
  • 04-07-2018, 19:26:53
    #78
    resimde ne yapıldığını anlatıyım.

    eğer ilgili php dosyasına ait opcache bulunamazsa dosyayı token'ler ayır, ayrıştır. ayrıştırdığın verileri php'nin çalıştırabileceği formata dönüştür (compile) belleğe gönder. ordaki compile ifadesi bir programın derlenme aşamasında ki compile aşaması değil! her iki durumda da kodu çalıştıran zend motoru!!
  • 04-07-2018, 19:50:53
    #79
    EdgeBear adlı üyeden alıntı: mesajı görüntüle
    Ben de zaten belirttim Zend motorunun çalıştırdığını, orada da ekleme yaptım, PHP'yle artık opcache yan yana, OPCache'siz PHP sunucusu şu anda yok denecek halde.

    Opcache'nin artık günümüz hayatında PHP'yle bütünleşmiş olduğunu hepimiz de bilmekteyiz. Belki ileride PHP yerleşik cache sistemini çıkartır, kim bilir.

    PHP ileride yerleşik olarak compile dil olabilme şansı oldukça yüksek.
    kavramları yanlış kullanıyorsun, beni anlayan anladı diyorsun. özellikle bazı kavramları araştırman için tavsiye de bulundum. bu işin içinde olan bilgili 10 kişiden 9 ile anlaşamazsın bu yaklaşımınla, bu ifadelerinle.

    iyi akşamlar.
  • 04-07-2018, 19:55:35
    #80
    Bootstrap'de kullanmayın o zaman css media query ile çalışın
  • 04-07-2018, 20:03:34
    #81
    EdgeBear adlı üyeden alıntı: mesajı görüntüle
    Anlama kapasitesine bağlı.
    doğru olmayan, kendinize göre yaptığınız yorumları benim anlayacak kapasitem yok. ben doğrularla ilgileniyorum. yanlışı gördüğüm zaman yanlış derim. bunu anlamaman senin kapasitenle alakalı.

    bir laf var kusura bakmayın, Allah kimseyi yanlışı savunacak kadar...