Giriş yapmadınız.

#1 26.02.2015 04:39:10

erkan.unluturk
Üye
Yer: Sakarya
Kayıtlı: 27.11.2014
Mesajlar: 11
Website

laravel, büyük projelerde kullanılır mı?

Daha doğrusu büyük projelerde Framework mu kullanılıyor, kullanmak doğrumu, laravel buna uygun mu?

Çevrimdışı

#2 26.02.2015 11:21:23

MURATSPLAT
Yönetici
Yer: Antalya
Kayıtlı: 06.05.2014
Mesajlar: 642
Website

Yanıt: laravel, büyük projelerde kullanılır mı?

Büyüklük göreceli bir şey. Ben olsam proje bütçesine göre büyüklüğü tanımlarım. Çünkü bütçenin büyük bölümü çalışan giderleridir.

Çok büyük projelerde bulunmadım. Ama bence bir framework şart. Hangisini kullanayım sorusu da tercih meselesi. Bu tercihi yapacak kişininde herhalde oturup 2 hafta tüm frameworkleri incelemesi sonra bu bize uygun demesi lazım. Birden fazla yazılımcı  çalıştırılacak ise yaygın frameworkleri bilen yazılımcı bulmak hem kolay olur, hem de projeye dahil olan yeni yazılımcı projeye  kolay adapte olur. Elbette proje mümkün olduğunca frameworkün kurallarına uygun olarak geliştirilirse bu durum geçerli.

Türkiye'de küçük şirketlerin framework üzerine kurulu projelerinin bir çoğu spagetti kodlarla yazılmıştır.  O zaman da frameworkün bilinmesinin pek bir anlamı da kalmıyor big_smile Ya da beklenen faydayı sağlayamıyorsunuz diyelim biz buna. Buna benzer bir çok etken var frameworklerle gelen verimliliği etkileyen.. Başka örneklerde verilebilir.

Laravel'in LTS sorunu var. Yani 3-4 yıllık zaman süreleri boyunca hiçbir sürümünü destekleme sözü vermiyor. Kabaca bütçesi 250.000TL üzerindeki projeler için laravel'i kullanmazdım herhalde. LTS destedeği olan bir framework kullanırdım. Tercihim bu yönde olurdu.

Bir başka konu ise artık projelerin tek bir dil ya da tek bir platform üzerinde kurulmaması. Ruby, php, java ile yazılan projelerde performans ve özel koşulları sağlamak için başka dillerle ihtiyaca cevap veren servisler yazmak zorunda kalıyorsunuz. Mesala dosya gönderme servisi PHP gibi dillerle yazarsanız ciddi performans sorunu yaşarsınız. Buna benzer sorunları aşmak için Node.js, Go vb.. dillerle ile ihtiyacı gideren servis yazıyorsunuz. Proje büyükse sorunuz sadece tek bir dil, ve tek bir platform olmuyor.

3000-10.000 TL  arasında  bütçesi olan projelerde laravel bence çok rahatlıkla kullanılabilir. Zira bu tür projelerde tek bir dil ve tek bir platform kullanma olasılığınız çok büyük olacaktır. Bu tür projelerin zaten ticari ömrü 4-5 yılı geçmez. O zaman da LTS'nin pek bir anlamı kalmıyor.

Diğer taraftan LTS  sorunu usta bir yazılımcı için çok da büyük bir sorun değil. Projelerinde IoC, Repository, Interface, NameSpace, SOLID, ve UnitTest kullanan  bir yazılımcı yeni bir laravel sürümüne projeyi taşıması çok kolay olacağını düşünüyorum.

Çevrimdışı

#3 26.02.2015 14:40:59

pellempus
Üye
Kayıtlı: 29.05.2013
Mesajlar: 120

Yanıt: laravel, büyük projelerde kullanılır mı?

Kısa cevap: Hayır, kullanılmaz. @muratsplat!ın tüm dediklerine aynen katılıyorum.

Uzun cevap: Yaklaşık 3 yıldır büyük bir proje geliştiriyorum. Her tıkanma noktasına geldiğimde yeni bir framework deneyerek "full stack framework" kelimesinin ne kadar önemli olduğunu gördüm. Şu an yüzde 80'ini tamamlamış vaziyetteyim. Bu süreçte bütün önemli frameworkleri bizzat denedim. Laravel, Symfony, Django, NodeJs, Rails, .Net MVC. Bunların bir çok artı ve eksileri var, detaylara girmeyelim. Sonuçta seçimim Rails oldu. Rails büyük bir proje için yeterli midir? Evet. Twitter, Github, Groupon gibi siteler Rails ile yapılmıştır. Sonradan Twitter Java'ya döndü deniyor. Ancak tam öyle değil. Sadece belli kısımlarda Java kullanıyorlar.

Büyük projeler için framework kullanılır mı? Bence kullanılır. Eğer çok büyük ve uzman bir ekibin yoksa framework en iyi seçenek. Böylece proje tutulursa o projeyi geliştirecek ekibi zaten bulursun. Yani framework sana zamandan ve paradan kazandırır. Güvenlik konusunda için rahat olur. Tek dezantavajı ağır çalışacak olması... Ancak bunlar için bir çok modifiyeler mevcut. Eğer Facebook ve Twitter gibi bir trafiğe sahip değilsen, bir framework yüksek hitli bir siteyi rahatlıkla kaldırır.

Çevrimdışı

#4 26.02.2015 16:16:44

erkan.unluturk
Üye
Yer: Sakarya
Kayıtlı: 27.11.2014
Mesajlar: 11
Website

Yanıt: laravel, büyük projelerde kullanılır mı?

pellempus yazdı:

Kısa cevap: Hayır, kullanılmaz. @muratsplat!ın tüm dediklerine aynen katılıyorum.

Uzun cevap: Yaklaşık 3 yıldır büyük bir proje geliştiriyorum. Her tıkanma noktasına geldiğimde yeni bir framework deneyerek "full stack framework" kelimesinin ne kadar önemli olduğunu gördüm. Şu an yüzde 80'ini tamamlamış vaziyetteyim. Bu süreçte bütün önemli frameworkleri bizzat denedim. Laravel, Symfony, Django, NodeJs, Rails, .Net MVC. Bunların bir çok artı ve eksileri var, detaylara girmeyelim. Sonuçta seçimim Rails oldu. Rails büyük bir proje için yeterli midir? Evet. Twitter, Github, Groupon gibi siteler Rails ile yapılmıştır. Sonradan Twitter Java'ya döndü deniyor. Ancak tam öyle değil. Sadece belli kısımlarda Java kullanıyorlar.

Büyük projeler için framework kullanılır mı? Bence kullanılır. Eğer çok büyük ve uzman bir ekibin yoksa framework en iyi seçenek. Böylece proje tutulursa o projeyi geliştirecek ekibi zaten bulursun. Yani framework sana zamandan ve paradan kazandırır. Güvenlik konusunda için rahat olur. Tek dezantavajı ağır çalışacak olması... Ancak bunlar için bir çok modifiyeler mevcut. Eğer Facebook ve Twitter gibi bir trafiğe sahip değilsen, bir framework yüksek hitli bir siteyi rahatlıkla kaldırır.


Ruby on Rails, ruby diliyle yazılmış. codeigniterden bahsetmediniz, önemsiz sanırım. smile
Facebook php dili ile yazıldı, bunun altında framework var mı? kafam karıştı aslında framework kullanmamak doğru olur mu? ve neden Rails

Çevrimdışı

#5 26.02.2015 17:15:53

evrend
Üye
Yer: DÜZCE
Kayıtlı: 26.05.2014
Mesajlar: 370
Website

Yanıt: laravel, büyük projelerde kullanılır mı?

Facebook php ile yazılmıştır ama klasik php mantığı ile çalışmamaktadır. PHP, Facebook tarafından opensource geliştirilen HHVM isimli bir emülatör üzerinde koşturulmaktadır. Basitçe anlatmak gerekirse php kodlarını c++ kodlarına derliyor. BÜYÜK bir projede nasıl bir etki yarattığını buradan görebilirsiniz. http://www.techenablement.com/facebook- … load-zend/
Bu konuyada bir göz atabilirsiniz: http://forum.laravel.gen.tr/viewtopic.php?id=459

Codeignter, Ellislab desteğini çektikten sonra çok kan kaybetti. Arkasında Ellislab olsaydı da kaybedebilirdi çünkü composer desteği dahi yoktu. Yeni sahipleri ne yapar bunu zaman göstericek ama eskisi gibi olması imkansız gibi. http://forum.laravel.gen.tr/viewtopic.php?id=887

Benim şahsi görüşüm; Türkiyedeki projelerin neredeyse hepsinde framework kullanılabilir. Çünkü; Koda bir standart getirir. Çünkü dökümanları vardır. Çünkü ekibe yeni katılanlar çabuk adapte olur. Neden framework kullanılmalıdırın detayına şu başlıktan ulaşabilirsiniz. http://forum.laravel.gen.tr/viewtopic.php?id=779

Laravel kullandığımızı varsayalım ve proje büyüyor neler yapılabilir. Yatay ve dikey ölçekleme yapılabilir ama dahada önemlisi bir şeyleri değiştirmemiz gerekmektedir. Arama gibi pis işlerini solr, elasticsearch gibi bu işin uzmanlarına bırakabilir. Sorguların çoğunu cache ile yük olmaktan kurtarabiliriz. HHVM kullanarak phpyi hantallıktan kurtarabiliriz. Varnish gibi bir araçla içerikleri dahi cache'de tutarak server(nginx, apache ) yükünü azaltabiliriz. Gibi gibi çoğaltabiliriz.

Aslında bu konu çok uzun bir yazı olabilir ama şimdilik bu kadar yazabiliyorum.

Son düzenleyen evrend (26.02.2015 17:18:20)


Unutmayın, HERKOD aynı değildir.
Fiyat/Performans Cloud için: Digital Ocean.
Ayda 2,5$'a 512Mb ram, 1Core CPU Cloud için: Vultr.

Çevrimdışı

#6 26.02.2015 18:54:52

pellempus
Üye
Kayıtlı: 29.05.2013
Mesajlar: 120

Yanıt: laravel, büyük projelerde kullanılır mı?

Facebook PHP ile geliştirildi diyemeyiz, Evren tam olarak nasıl çalıştığını açıklamış. HHVM artık open source ve PHP için ciddi bir performans artışı sağlıyor.

Codeigniter hiçbir zaman listemde olmadı. Çünkü zaten full stack değil, Laravel ve Symfony CI ye göre daha önde, hele ki Ellislab desteğini çektikten sonra.

Neden Rails konusunda yazmakla bitiremeyeceğim maddeler var.

1-Hem Ruby, hem rails her yeni versiyonda daha hızlı çalışıyor. Performans konusunda müthiş takıntısı olan bir ekip. PHP frameworkler ise tam tersine giderek yavaşlıyor.
2- Rails kolay kolay köklü değişiklikler yapmaz, kendinizi yeniden öğreniyormuş gibi hissetmezsiniz.
3- Müthiş bir topluluğu vardır. Her framework kendisini över en iyi topluluk bizde diye. Deneyince aslında en iyi yardım edenlerin onlar olduğunu görürsünüz.
4- Dökümantasyon konusunda her zaman bir numara oldukları gerçek.. Paket geliştiricileri de dökümantasyona çok önem veriyor.
5- Rails paketleri dökümantasyonun yanısıra her zaman günceldir ve gelişimlerine de büyük önem verilir. Laravel en büyük sıkıntısı bu. Dökümantasyon ve aktif geliştirilen paket konusunda zayıflar. Parayla paket geliştirip satmak gibi bir olay, Rails dünyasında yok.
6- Railscast. Dünyadaki en iyi eğitim serisidir. Her ne kadar Laracast ile benzeri yaratılmaya çalışılsa da bana göre hiçbir zaman railscast olmayacak. Tek kötü haber, railscasti yaratan adam maalesef 1 yıldır ortalıkta yok smile
7- Cache konusunda bana göre bir numaradır. Teknik olarak cache olayının bazı sorunları oluyor. Bunu Railscastte anlatmışlardı. Rails'te Russian Doll Caching denen bir olay var. Fragment cache diye bildiğimiz şey ama sizin için her türlü kötü senaryoya önlem almışlar.
8- Kodlamaya yardımcı paketlerle de işinizi kolaylaştırır. N+1 sorgu hatası mı yaptınız? Bunları ve benzer hataları bulup raporlayan paketler mevcut.
9- Kod yazılımları daha kısadır. Zamandan kazanırsınız.
10- Öğrenmesi en kolay dildir.
11- Rails'in Türkiye'de az biliniyor oluşu Rails'in kötü olduğu anlamına gelmiyor.
12- Bir çok framework (Laravel dahil) kendisine Rails'i örnek alır.

Son olarak..Laravel 4 ilk çıktığında Jeffrey Way test konusunda bir kitap çıkardı. Daha framework'ün kendisini anlatmadan böyle bir kitap çıkması beni delirtti.. Test, test, test lafı hala aldı başını gidiyor.
Şu anda Rails dünyasında bu testlerin ne kadar zararlı ve gereksiz olduğu tartışılmakta, Ciddi anlamda testkoliklerin saldırısı ve eleştirisi altında olsalar da, kimse durup dinlemiyor DHH (Rails'in yaratıcısı) neden bunu söylüyor diye  smile

Laravel'i sevmemin nedeni ciddi  anlamda kod yazılımını Rails'e benzetmeleri. Bu nedenle hem Rails kodlarken hem Laravel kodlarken zorluk çekmiyorum. Küçük ve orta ölçekli projelerim için her zaman seçimim Laravel'dir. Ama büyük bir proje için tercihim neden Rails olur umarım anlatabildim.

Son düzenleyen pellempus (10.03.2015 13:12:59)

Çevrimdışı

#7 27.02.2015 01:19:01

erkan.unluturk
Üye
Yer: Sakarya
Kayıtlı: 27.11.2014
Mesajlar: 11
Website

Yanıt: laravel, büyük projelerde kullanılır mı?

pellempus yazdı:

Facebook PHP ile geliştirildi diyemeyiz, Evren tam olarak nasıl çalıştığını açıklamış. HHVM artık open source ve PHP için ciddi bir performans artışı sağlıyor.

Codeigniter hiçbir zaman listemde olmadı. Çünkü zaten full stack değil, Laravel ve Symfony CI ye göre daha önde, hele ki Ellislab desteğini çektikten sonra.

Neden Rails konusunda yazmakla bitiremeyeceğim maddeler var.

1-Hem Ruby, hem rails her yeni versiyonda daha hızlı çalışıyor. Performans konusunda müthiş takıntısı olan bir ekip. PHP frameworkler ise tam tersine giderek yavaşlıyor.
2- Rails kolay kolay köklü değişiklikler yapmaz, kendinizi yeniden öğreniyormuş gibi hissetmezsiniz.
3- Müthiş bir topluluğu vardır. Her framework kendisini över en iyi topluluk bizde diye. Deneyince aslında en iyi yardım edenlerin onlar olduğunu görürsünüz.
4- Dökümantasyon konusunda her zaman bir numara oldukları gerçek.. Paket geliştiricileri de dökümantasyona çok önem veriyor.
5- Rails paketleri dökümantasyonun yanısıra her zaman günceldir ve gelişimlerine de büyük önem verilir. Laravel en büyük sıkıntısı bu. Dökümantasyon ve aktif geliştirilen paket konusunda zayıflar. Parayla paket geliştirip satmak gibi bir olay, Rails dünyasında yok.
6- Railscast. Dünyadaki en iyi eğitim serisidir. Her ne kadar Laracast ile benzeri yaratılmaya çalışılsa da bana göre hiçbir zaman railscast olmayacak. Tek kötü haber, railscasti yaratan adam maalesef 1 yıldır ortalıkta yok smile
7- Cache konusunda bana göre bir numaradır. Teknik olarak cache olayının bazı sorunları oluyor. Bunu Railscastte anlatmışlardı. Rails'te Russian Doll Caching denen bir olay var. Fragment cache diye bildiğimiz şey ama sizin için her türlü kötü senaryoya önlem almışlar.
8- Kodlamaya yardımcı paketlerle de işinizi kolaylaştırır. N+1 sorgu hatası mı yaptınız? Bunları ve benzer hataları bulup raporlayan paketler mevcut.
9- Kod yazılımları daha kısadır. Zamandan kazanırsınız.
10- Öğrenmesi en kolay dildir.
11- Dünyada kullanımı yüzde 33, Türkiye'de kullanımı yüzde 1 olan bir framework'tür. Yani Türkiye'de bilinmiyor oluşu Rails'in kötü olduğu anlamına gelmiyor.
12- Bir çok framework (Laravel dahil) kendisine Rails'i örnek alır.

Son olarak..Laravel 4 ilk çıktığında Jeffrey Way test konusunda bir kitap çıkardı. Daha framework'ün kendisini anlatmadan böyle bir kitap çıkması beni delirtti.. Test, test, test lafı hala aldı başını gidiyor.
Şu anda Rails dünyasında bu testlerin ne kadar zararlı ve gereksiz olduğu tartışılmakta, Ciddi anlamda testkoliklerin saldırısı ve eleştirisi altında olsalar da, kimse durup dinlemiyor DHH (Rails'in yaratıcısı) neden bunu söylüyor diye  smile

Laravel'i sevmemin nedeni ciddi  anlamda kod yazılımını Rails'e benzetmeleri. Bu nedenle hem Rails kodlarken hem Laravel kodlarken zorluk çekmiyorum. Küçük ve orta ölçekli projelerim için her zaman seçimim Laravel'dir. Ama büyük bir proje için tercihim neden Rails olur umarım anlatabildim.


railsi kurayım dedim https://gorails.com/setup/ubuntu/14.04 bu adrestekileri uyguladım başardımda fakat dikkatimi çeken ubuntu depolarından değilde neden git ile kuruluyor.

Çevrimdışı

#8 27.02.2015 07:30:13

pellempus
Üye
Kayıtlı: 29.05.2013
Mesajlar: 120

Yanıt: laravel, büyük projelerde kullanılır mı?

Ruby depodan kurulmuyor, örmekte gösterildiği gibi curl ile kurarsın. 3 yolu var rbenv, rvm ve direk kurlum.. rvm /benim kullandığım) ruby ve rails'in değişik versiyonlarını kurmanı ve gerektiğinde versiyonlar arasında geçiş yapmanı sağlar. Mesela Ruby 1.9, Ruby 2.0 ve Rails 3.2, rails 4.2 kurarsın istedğin versiyonu kullanırsın. "use" diye bir komut olması lazım mutlaka vardır o verdiğin linkte, Eğer sadece son versiyonları kullanacaksan direk (source) kurulum yaparsın. Github kullanmayacaksan configuring git kısmını atlayabilirsin. Rails kendi içinde basit bir http server ile gelir. "rails s" (uzun hali "rails server")  komutu ile sunucuyu başlatırsın. bu sunucu port 3000 kullanır. yani http://localhost:3000

Son olarak hemen herkesin başlangıç için kullandığı harika bir kitap vardır. Her zaman en son versiyona güncellenir ve online olarak okuduğunda ücretsizdir Bir kez bu kitabı bitirdiğinde (ingilizcen okuduğunu az çok anlayacak kadar iyiyse) öğrenmesi kolaydır cümlesi ile ne kastettiğimi anlarsın. Zaman kazanmak için Rspec ile yazılan test kodlarını ve bitbucket, heroku kısımlarını atlayabilir sadece uygulamayı yazdığın ve lokalde denediğin kısımları çalışırsın. Ben her yönüyle öğreneyim vaktim var diyorsan satır satır uygulayarak 3 günde kitabı hatmedebilirsin. Ve daha keşfedeceğin yüzlerce kaynak var bunun gibi. Gorails'i zaten bulmuşsun ama paralıdır smile Railscast'in sahibi artık piyasada olmadığı için videoları youtube attılar. 417 serilik videoyu orada bulabilirsin.

En son versiyon (4.2) için güncellenmiş hali:
https://www.railstutorial.org/book

Lütfen kimse bunu Rails reklamı olarak algılamasın. Laravel biliyorsanız vaktiniz olduğunda bu dili de öğrenin. Çünkü zaten çok aşina olduğunuz bir dil olduğunu görürsünüz, nedeni ise Laravel Rails'ten esinlenerek geliştirlimiştir ve giderek daha da benziyor (dizin yapısı hariç). Bir de size şöyle bir faydası olacaktır. Railscasti bir kez izlerseniz, programlama mantığı hakkında ufkunuz genişler ve geriye dönüp Laravel'e baktığınızda çok daha kolay kod yazdığınızı görürsünüz. Bir taş ile 2 kuş.

Çevrimdışı

#9 27.02.2015 12:48:22

erkan.unluturk
Üye
Yer: Sakarya
Kayıtlı: 27.11.2014
Mesajlar: 11
Website

Yanıt: laravel, büyük projelerde kullanılır mı?

cevaplarınız için hepinize teşekkür ederim.

Çevrimdışı

#10 02.03.2015 18:20:47

Aristona
Üye
Yer: Kastamonu
Kayıtlı: 08.02.2013
Mesajlar: 173
Website

Yanıt: laravel, büyük projelerde kullanılır mı?

pellempus yazdı:

Twitter, Github, Groupon gibi siteler Rails ile yapılmıştır. Sonradan Twitter Java'ya döndü deniyor. Ancak tam öyle değil. Sadece belli kısımlarda Java kullanıyorlar.

Twitter Java'ya değil, Scala'ya geçti. Bazı yerleri Java ile yazıyor olabilirler. Ancak, bu siteler Rails ile yapılmıştır dediğimiz zaman sanki hiç PHP ile geliştirilmiş büyük bir site yokmuş gibi izlenim uyanıyor. Proje ne kadar büyürse, kullanılan programlama dilinin performansı o oranda önemsizleşiyor, çünkü araya PHP ve Ruby'den bağımsız tonla şey giriyor. Interpreterin PHP kodu işleme oranı, sayfanın oluşturulma süresine göre çok küçüktür.

pellempus yazdı:

Eğer Facebook ve Twitter gibi bir trafiğe sahip değilsen, bir framework yüksek hitli bir siteyi rahatlıkla kaldırır.

Yüksek hitli bir siteyi kaldıran framework değil, altyapısıdır.

pellempus yazdı:

1-Hem Ruby, hem rails her yeni versiyonda daha hızlı çalışıyor. Performans konusunda müthiş takıntısı olan bir ekip. PHP frameworkler ise tam tersine giderek yavaşlıyor.

Aynı şey PHP için de geçerli. Hatta PHP7 ile çok büyük bir performans artışı olacak, üzerine HHVM stabil bir hale yaklaşıyor. Ancak, Ruby hızlı bir dil değil. Hatta yavaş diye adı çıkmış bir dil. Laravel'i bırakıp Assembly yazmıyorsunuz. Aradaki performans farkı milisaniyelerle ölçülecek cinstendir.

pellempus yazdı:

2- Rails kolay kolay köklü değişiklikler yapmaz, kendinizi yeniden öğreniyormuş gibi hissetmezsiniz.

11 yıl önce yayınlanan frameworkün ne tür köklü değişiklik yapmasını bekliyordunuz? Ayrıca Laravel 5 çıktığında neyi yeniden öğreniyormuş gibi hissettiniz?

pellempus yazdı:

3- Müthiş bir topluluğu vardır. Her framework kendisini över en iyi topluluk bizde diye. Deneyince aslında en iyi yardım edenlerin onlar olduğunu görürsünüz.

Rails'in kitlesi starbucks elitistleri, havasından geçilmeyen tipler. Gerçek anlamda, dünyadaki tüm programlama dilleri arasında en kötü topluluklardan birine sahipler. PHP'nin kitlesi de kötü gerçi.

pellempus yazdı:

4- Dökümantasyon konusunda her zaman bir numara oldukları gerçek.. Paket geliştiricileri de dökümantasyona çok önem veriyor.

Olabilir, ama PHP'nin/Laravel'in dökümantasyonu da son derece iyi durumda. Şuana kadar kullandığım bütün paketlerin de devasa dökümantasyonları var.

pellempus yazdı:

6- Railscast. Dünyadaki en iyi eğitim serisidir. Her ne kadar Laracast ile benzeri yaratılmaya çalışılsa da bana göre hiçbir zaman railscast olmayacak. Tek kötü haber, railscasti yaratan adam maalesef 1 yıldır ortalıkta yok smile

Hangi sitelerle karşılaştırma yaptınız? Hangi kriterlere göre Railscasts'i dünyadaki en iyi eğitim seti olarak tanımladınız? Laracasts'ın bir Railscast olamayacağına dair sözünüzü neye dayanarak yapıyorsunuz?

Adam geliştirdiği projeyi bırakmış, videoları youtube'da sürünüyor, en iyi eğitim seti diyorlar birde. OK.

pellempus yazdı:

8- Kodlamaya yardımcı paketlerle de işinizi kolaylaştırır. N+1 sorgu hatası mı yaptınız? Bunları ve benzer hataları bulup raporlayan paketler mevcut.

Her dilde var.

pellempus yazdı:

10- Öğrenmesi en kolay dildir.

Hayır değil.

pellempus yazdı:

11- Dünyada kullanımı yüzde 33, Türkiye'de kullanımı yüzde 1 olan bir framework'tür. Yani Türkiye'de bilinmiyor oluşu Rails'in kötü olduğu anlamına gelmiyor.

Kimsenin başka Ruby frameworkü kullanmadığından olmasın? Ayrıca dünyada nasıl kullanımı 33% merak ediyorum. Bu oran aşırı derecede fazla. Bay Area'da bile bu kadar yüksek bir kullanım oranı yoktur.

pellempus yazdı:

Son olarak..Laravel 4 ilk çıktığında Jeffrey Way test konusunda bir kitap çıkardı. Daha framework'ün kendisini anlatmadan böyle bir kitap çıkması beni delirtti.. Test, test, test lafı hala aldı başını gidiyor.

Evet, çünkü PHP geliştiricilerinin modernleşmesi için çalışılıyor.

pellempus yazdı:

Şu anda Rails dünyasında bu testlerin ne kadar zararlı ve gereksiz olduğu tartışılmakta, Ciddi anlamda testkoliklerin saldırısı ve eleştirisi altında olsalar da, kimse durup dinlemiyor DHH (Rails'in yaratıcısı) neden bunu söylüyor diye  smile

Kim söylemiş testlerin zararlı ve gereksiz olduğunu? Rails'in yaratıcısı dediğin adam, test-first mentalitesine karşı çıkmış ve ActiveRecord modellerinin, mocklanmak yerine veritabanına hit yaparak test edilmesini savunmuş. Kısacası o kadar kasmaya gerek yok demiş. Nerede demiş unit test gereksizdir ve "zararlıdır" diye?

Siz bunları tartışıyorsanız, en iyisi tartışmaya devam edin. Bizden ne kadar uzak o kadar iyi.

pellempus yazdı:

Laravel'i sevmemin nedeni ciddi  anlamda kod yazılımını Rails'e benzetmeleri. Bu nedenle hem Rails kodlarken hem Laravel kodlarken zorluk çekmiyorum. Küçük ve orta ölçekli projelerim için her zaman seçimim Laravel'dir. Ama büyük bir proje için tercihim neden Rails olur umarım anlatabildim.

Bu yüzden büyük bir proje geliştirmemelisiniz, kafa yapısı sabit çünkü. "Proje büyükmü hocam? Ehhh, büyük." O zaman rails! Spesifikasyonu aldınız mı? Analizleri yaptınız mı? Alternatiflerle karşılaştırdınız mı? Rails hızlıymışta, bilmem ne. Twitter da büyük projeydi, Rails ile yazıldı. Noldu? Sonuç ne? Patladı mı? Patladı. Bitti. Facebook bile PHP'yi scale etti, belki de Twitter'a göre 100 kat yük altında.

Bu yazı baştan aşağı Rails fanboyu kokuyor, başka birşey değil. Hızlıymış... uber hızlı olduğu için Twitter çöpe attı.

Son düzenleyen Aristona (10.03.2015 10:43:54)


"Eğer 6 ay önce yazdığın kodları gördüğünde utanmıyorsan, kendini yeterince hızlı geliştiremiyorsun demektir."

Site: http://anilunal.com/
Blog: http://aristona.github.io/

Çevrimdışı

#11 04.03.2015 17:04:28

erkan.unluturk
Üye
Yer: Sakarya
Kayıtlı: 27.11.2014
Mesajlar: 11
Website

Yanıt: laravel, büyük projelerde kullanılır mı?

@pellempus'un soyliceklerini merak ediyorum açıkçası smile  @Aristona, sizin söyledikleriniz de baştan aşağı laravel fanboyu kokuyor gibi..

Çevrimdışı

#12 09.03.2015 23:30:48

MURATSPLAT
Yönetici
Yer: Antalya
Kayıtlı: 06.05.2014
Mesajlar: 642
Website

Yanıt: laravel, büyük projelerde kullanılır mı?

PHP-7, Ruby'den hızlı olacağı kesin. Adamlar şaka maka HHVM performansını yakalamak üzereler. Zira performans derdiniz var ise  HHVM  şuan kullanılabilir durumda. Laravel sorunsuz çalışıyor. PHPUnit, Mockery gibi yaygın kullanılan araçlarda HHVM'de çalışıyor.

PHP'ciler pespayedir. Buna kim itiraz edebilir ki? Bence yaklaşık 1-2 yıldır PHP   gelişmede ivmelenmeye başladı. Geliştici kitlesi de bununla birlikte gelişiyor(Türkiye hariç). Bu aralar JAVA'ye bakıyorum. PHP'den faklı bir alametifarikasını göremedim, concurrency ve iş parçacık yönetimi gibi özellikler dışında.. Java'da ORM'lere baktım. Eloquent  gibi PHP ORM'leri fersah fersah ileride. PHP'yi fazla da küçümsemek lazım cool

Ruby'de iyi dildir, PHP de. Kendilerini hayatta kalarak kanıtladılar.  Bence insan birden fazla dili iyi bilmeli. Bu sayede çözüm üretmesi kolay oluyor. Her dilin sorunları çözümü  ve bakış açısı farklı oluyor. Yazılımda çok iyi bilinen bir durumdur bu.

Çevrimdışı

#13 10.03.2015 13:09:15

pellempus
Üye
Kayıtlı: 29.05.2013
Mesajlar: 120

Yanıt: laravel, büyük projelerde kullanılır mı?

Aristona, seni sever(d)im. Bu forumda yorumlarını paylaştıklarını en sevdiğim bir kaç adamdan birisin. Dikkat ettim son zamanlar yazdığın mesajlarda nedense ukala bir tavırla yazıyorsun. Üzücü bir durum.
Ben burada fanboyluk yapmadım, neden Laravel ve Rails birlikte öğrenmeliyiz konusuna değinmiştim.. Ama görünen o ki bir fanboy varsa o da sensin. .Yazdıklarına, cevap veremeyeceğimden değil. takınmış olduğun tavır ne cevap vermeme ne zamanımı harcamaya değer. Tamam,  en büyük PHP, ben hiçbir şey bilmiyorum, sen biliyorsun her şeyi. Ben kim büyük proje yazmak kim smile

Sadece bir kaç kısa not:

"Bir FRAMEWORK yüksek hitli siteyi rahatlıkla kaldırır demişim. Hangi dilde yazıldığı farketmez. Geri planda kolayca adapte edebileceğin altyapılarla bu mümkün. Sen farklı bir şey demiyorsun, sen sadece ukalalalık yapmışsın. Cümlenin başını keserek kopyalamakla niyetini kanıtlıyorsun zaten.... "Yani framework sana zamandan ve paradan kazandırır. Güvenlik konusunda için rahat olur. Tek dezantavajı ağır çalışacak olması... Ancak bunlar için bir çok modifiyeler mevcut. Eğer Facebook ve Twitter gibi bir trafiğe sahip değilsen, bir framework yüksek hitli bir siteyi rahatlıkla kaldırır."

PHP FRAMEWORKLER giderek yavaşlıyor demişim. PHP nin kendisinin hızlı olması beni ilgilendirmiyor. Israrla şu kelimeyi okumuyorsun. Yoksa sana programcılığın en temel dersini mi verelim "PHP ve Framework aynı şey değildir"

Laravel N+1 sorgu hataları yaptığımı, güvenlik açıklarımı gösteren paketin adını burada açıklar mısın? Çünkü ben bilmemekten utanan biri değilim, öğrenmekten zevk alan biriyim. Bilmiyorsam öğret.

Railscast dünyadaki en iyi eğitim setidir. Bunu seninle tartışmam bile. Sen önce oturup izle, zaten benim sana farkını anlatmama gerek kalmaz. Ama hayırdır bu Laravel fanlığı? Youtube a düştü diye değersiz mi oluyor. Laracasts de torrentlerde var ne olacak şimdi? Madem Jeffrey ve Laravel PHp cileri modernleştirmeyi amaçlıyor, madem ki laracast bu kadar iyi bir eğitim serisi, basit bir ENV mantığını daha PHP cilere anlatmayı başaramamışlar. Mesela Elastic Search, SOLR kullanımlarını Jefrrey Way hangi seride anlattı? Laravel de bu konuda sorulan soruya TEK bir kişi cevap vermedi. Jeffrey Way sence bunlara kulak asıyor mu? https://laracasts.com/discuss/channels/ … th-laravel Senin o gelişimi durdu diye beğenmediğim eğitim setindeki tüm paketler, konular, teknikler hala güncel hala çalışır vaziyette.

Bence o bahsettiğin  starbucks elitistleri, havasından geçilmeyen tipler Laravel İngilizce forumda var. Aslında oradaki Laravel topluluğunu hiç sevmem, tam da dediğin gibi tipler. Bu nedenle burada yazıyordum, buradaki insanlar farklı diye. Sen gelene kadar.

Son olarak, Twitter ilk olarak Rails ile yazıldı sonradan değiştirildi dedim. Niyetim örnek vermek. Ne şimdi değiştirildi diye bu örneği yok mu sayalım, Rails kakaymış mı diyelim? Neymiş Php ile yazılmış devasa bir site? Herhalde Facebook diyecek kadar gözün kararmadı. Senin mantığınla Myspace de PHP den NodeJS e döndü. O zaman "bak gördün mü PHP de kakaymış" mı diyeceğiz?  Üstelik bu cümlem "Neden Rails kullanıyorum" maddelerinin arasında yok. Başka yerdeki cümlemi alıntılayıp sanki "Bakın Twitter Rails ile yapıldı hepimiz Rails kullanalım" demişim gibi göstermeye çalışmışsın.

Yüzde 33 konusunda tamamen yanlış bir ifade kullanmışım. Yani istatistikleri birbirine karıştırıp saçmalamışım ve teyit etmeden yazmışım. O kısmı düzelteceğim.

Benden bu forumda bu kadar. Çok şey öğrendim burada, Sinan, Murat başta olmak üzere, paylaşımlarda bulunan herkese ayrı ayrı teşekkürler.

Son düzenleyen pellempus (10.03.2015 13:35:42)

Çevrimdışı

#14 11.03.2015 01:03:58

Roni
Üye
Kayıtlı: 17.07.2013
Mesajlar: 276

Yanıt: laravel, büyük projelerde kullanılır mı?

@pellempus yapma hocam bir kişiye kızarak bir daha gelmem demek olmaz. Çok değerli paylaşımlarınız var ve bilgi birikiminiz değerlidir. Kimsye cevap verme gibi bir durumunuzda yok.

Çevrimdışı

#15 11.03.2015 16:54:09

Aristona
Üye
Yer: Kastamonu
Kayıtlı: 08.02.2013
Mesajlar: 173
Website

Yanıt: laravel, büyük projelerde kullanılır mı?

pellempus yazdı:

Aristona, seni sever(d)im. Bu forumda yorumlarını paylaştıklarını en sevdiğim bir kaç adamdan birisin. Dikkat ettim son zamanlar yazdığın mesajlarda nedense ukala bir tavırla yazıyorsun. Üzücü bir durum.

Eğer kırıcı konuştuysam özür dilerim. O mesajı yazarken biraz sinirliydim. (zaten hep yarı sinirli biriyim) Kesinlikle ukalalık yapmak gibi bir amacım yok.

Benim dikkat çekmek istediğim nokta şu. Burası Laravel Türkiye forumu, ancak verilen cevapta sanki Laravel'in hiç artısı yokmuş gibi bir izlenim uyanıyor. Verdiğin bilgiler kısmen doğru olsa da bazı yerler yanlış (bana göre) ve ben bunları vurguladım.

pellempus yazdı:

Ben burada fanboyluk yapmadım, neden Laravel ve Rails birlikte öğrenmeliyiz konusuna değinmiştim.. Ama görünen o ki bir fanboy varsa o da sensin. .Yazdıklarına, cevap veremeyeceğimden değil. takınmış olduğun tavır ne cevap vermeme ne zamanımı harcamaya değer. Tamam,  en büyük PHP, ben hiçbir şey bilmiyorum, sen biliyorsun her şeyi. Ben kim büyük proje yazmak kim smile

Böyle birşeyi kastetmedim. Fanboylukta yapmıyorum. Taylor'un kaç defa kulağını çınlattık son birkaç ayda ve bırakma noktasına geldiğimiz bile oldu. Ben iyi olan kısımlara iyi, kötü olan kısımlara da kötü diyorum.

Burada yanlış anlaşılmışım. Ben iyiyim demedim hiçbir zaman, nedense yorumlarımdan o anlam çıkartılıyor hep. Ben meraklıyım/takıntılıyım hepsi bu. Yazdığım kodun kalitesi herkes gibi. 3 yıldır geliştirdiğin projeyi hale kolayca yönetebiliyorsan zaten bu işi öğrenmişsindir. Sen geliştiremezsin demek benim ne haddime.

pellempus yazdı:

"Bir FRAMEWORK yüksek hitli siteyi rahatlıkla kaldırır demişim. Hangi dilde yazıldığı farketmez. Geri planda kolayca adapte edebileceğin altyapılarla bu mümkün. Sen farklı bir şey demiyorsun, sen sadece ukalalalık yapmışsın. Cümlenin başını keserek kopyalamakla niyetini kanıtlıyorsun zaten.... "Yani framework sana zamandan ve paradan kazandırır. Güvenlik konusunda için rahat olur. Tek dezantavajı ağır çalışacak olması... Ancak bunlar için bir çok modifiyeler mevcut. Eğer Facebook ve Twitter gibi bir trafiğe sahip değilsen, bir framework yüksek hitli bir siteyi rahatlıkla kaldırır."

Laravel istediği kadar yavaş olsun, Rails istediği kadar hızlı olsun, benchmarklarda sadece Rails Laravel'den 10 kat performanslı yazar. Ama gerçek dünyada işin içine scalability girince, o katmandan bu katmana, bu katmandan o katmana derken gelen istek genellikle ön taraftaki cachelerden birine çarpıp dönüyor. Ben bunu söyledim sadece. Laravel yavaş, evet. Ama tüm full stack PHP frameworkleri yavaş. (Aynı şeyleri söylüyoruz zaten ikimizde) Bunun sebebini aşağıda söyleyeceğim.

pellempus yazdı:

PHP FRAMEWORKLER giderek yavaşlıyor demişim. PHP nin kendisinin hızlı olması beni ilgilendirmiyor. Israrla şu kelimeyi okumuyorsun. Yoksa sana programcılığın en temel dersini mi verelim "PHP ve Framework aynı şey değildir"

Yorumunu tekrar okudum. Ruby ve Rails ekibi performans takıntılı ve hızlandırmaya çalışıyorlar, ama php frameworkleri yavaşlıyor demişsin. Ben de buna cevap verdim. PHP ekibi performans takıntılı. PHPNG ile Zend motorundaki çoğu yer refactor edildi ve PHP7 o engine üzerinde çalışacak. PHP frameworkleri ile yavaşlıyor çünkü yeni gelen özellikler çok fazla + PHP'nin çekirdeği iyi olmadığı için, low levelde yavaş çalışan şeyler kullanılıyor. Örneğin reflectionlar, magic methodlar vb. Laravel 5'deki form request objesini implement etmenin maliyeti Ruby'e göre daha çok oluyor. Bunun yanında performans sağlayacak işleri ise genellikle yapmıyorlar. Bu konuda Rails daha avantajlı olabilir ama çok takip etmiyorum oradaki geliştirmeleri.

Laravel'in sıkıntısı, bu magic işlemleri abartması. Facade olsun, IoC olsun, bunların hepsinin ciddi anlamda bir yükü oluyor. Örneğin, Taylor $route->get yerine Route::get yazacağım diye büyük bir performans kaybını göze alabiliyor.

pellempus yazdı:

Laravel N+1 sorgu hataları yaptığımı, güvenlik açıklarımı gösteren paketin adını burada açıklar mısın? Çünkü ben bilmemekten utanan biri değilim, öğrenmekten zevk alan biriyim. Bilmiyorsam öğret.

Benim kullandığım paketler standart. Composer top 20 dışında pek birşey yok. (Bağımlılığı minimumda tutmaya çalışıyorum büyük projelerde) Öyle bir paket bilmiyorum. Bir ihtimal Codeclimate gibi araçlar bunu destekliyor olabilir veya ileride destekleyebilir. Bu işi paket yerine commit hooklarla yapmak bence daha güzel olur.

Güvenlik açıklarını ne kadar kapsamlı gösteriyorlar bilmiyorum. Inputu sanitize etmedin/outputu escape etmedin gibi uyarı veriyordur muhtemelen. Daha detaylısını zaten paket ile yapmazdım ben. Bu arada, hatırlatmam gerekiyor. Rails 2 defa SQL açığı bulunan bir proje.

pellempus yazdı:

Railscast dünyadaki en iyi eğitim setidir. Bunu seninle tartışmam bile. Sen önce oturup izle, zaten benim sana farkını anlatmama gerek kalmaz. Ama hayırdır bu Laravel fanlığı? Youtube a düştü diye değersiz mi oluyor. Laracasts de torrentlerde var ne olacak şimdi? Madem Jeffrey ve Laravel PHp cileri modernleştirmeyi amaçlıyor, madem ki laracast bu kadar iyi bir eğitim serisi, basit bir ENV mantığını daha PHP cilere anlatmayı başaramamışlar. Mesela Elastic Search, SOLR kullanımlarını Jefrrey Way hangi seride anlattı? Laravel de bu konuda sorulan soruya TEK bir kişi cevap vermedi. Jeffrey Way sence bunlara kulak asıyor mu? https://laracasts.com/discuss/channels/ … th-laravel Senin o gelişimi durdu diye beğenmediğim eğitim setindeki tüm paketler, konular, teknikler hala güncel hala çalışır vaziyette.

Siteyi geliştiren adam 1 yıldır ortada yok, videolar youtubede demişsin. Jeffrey neredeyse her hafta yeni birşeyler ekliyor (ben takip etmiyorum) ama o siteyi dünyanın en iyisi demek abartı bir söz olur. Sana göre iyi olabilir ama bana göre güncel içerik bulunmayan (site sahibinin video eklediğini farzediyorum, karşılaştırdığımız site laracasts çünkü) bir site iyi değildir.

O konu BC ile alakalı. Rails'in herşeyi artık yerine oturmuş. BC/performans konusunda çalışıyor olabilirler. Laravel için böyle bir durum söz konusu değil. Birçok konu halen güncel, ama değişen yerler de çok oluyor, ama bu olay birçok frameworkte geçerli. Angular 2.0 dramasının yanında bu hiçbirşey.

Jeffrey Way SOLR'u anlatmıyorsa, projenin dökümantasyonuna bakabilirsiniz. Laravel ile pek bir ilgisi yok bunun. Railscasts'ta bu video varsa bu onun artısı, ama bu videonun Laracasts'ta olmaması Laracasts'ın eksisi değil. (Zaten benim Laracasts iyidir gibi bir iddiam da yok. Takip etmiyorum)

PHP geliştiricilerinde armut piş ağzıma düş mantığı hakim olduğu için Jefrrey'e spam yapıyor olabilirler. Ben de Jeffrey video çekse onu izlerdim bir defa, ama dökümantasyonu okuyabilme yeteneği olmalı herkesde.

pellempus yazdı:

Bence o bahsettiğin  starbucks elitistleri, havasından geçilmeyen tipler Laravel İngilizce forumda var. Aslında oradaki Laravel topluluğunu hiç sevmem, tam da dediğin gibi tipler. Bu nedenle burada yazıyordum, buradaki insanlar farklı diye. Sen gelene kadar.

Benim hakkımdaki düşüncelerine saygı duyarım, ama elisitler konusundaki görüşüne katılıyorum. O yüzden ben de o platformdan uzak duruyorum.

pellempus yazdı:

Son olarak, Twitter ilk olarak Rails ile yazıldı sonradan değiştirildi dedim. Niyetim örnek vermek. Ne şimdi değiştirildi diye bu örneği yok mu sayalım, Rails kakaymış mı diyelim? Neymiş Php ile yazılmış devasa bir site? Herhalde Facebook diyecek kadar gözün kararmadı. Senin mantığınla Myspace de PHP den NodeJS e döndü. O zaman "bak gördün mü PHP de kakaymış" mı diyeceğiz?  Üstelik bu cümlem "Neden Rails kullanıyorum" maddelerinin arasında yok. Başka yerdeki cümlemi alıntılayıp sanki "Bakın Twitter Rails ile yapıldı hepimiz Rails kullanalım" demişim gibi göstermeye çalışmışsın.

Ben Rails kaka demedim. Eğer o kadar performanslı olsaydı (Laravel çok yavaş falan dediğinde Rails hızlı gibi bir izlenim oluştuğu için) Twitter gibi bir proje kolay kolay bırakmazdı dedim. Facebook'ta Scala'ya geçebilirdi mesela, ama onlar HHVM yazmayı uygun gördüler. (Facebook PHP ile yazıldı demiyorum yanlış anlaşılmasın) Ben de API'mi Laravel yerine daha hızlı bir microframework ile yazdım. Yapabileceğim herşeyi yapıp, herşeye rağmen PHP'nin/frameworkün performansı beni ciddi anlamda etkilerse, Scala veya benzeri bir dilde yazmayı düşünebilirim.

Bunu dışında, performans takıntısı olan tek PHP framework Phalcon sanırım. PHP7 + Phalcon benchmarklarda çok iyi sonuçlar verir diye tahmin ediyorum. Rails'e göre durumu nedir bilmiyorum.

pellempus yazdı:

Yüzde 33 konusunda tamamen yanlış bir ifade kullanmışım. Yani istatistikleri birbirine karıştırıp saçmalamışım ve teyit etmeden yazmışım. O kısmı düzelteceğim.

Çok iyi olur smile

pellempus yazdı:

Benden bu forumda bu kadar. Çok şey öğrendim burada, Sinan, Murat başta olmak üzere, paylaşımlarda bulunan herkese ayrı ayrı teşekkürler.

Eğer sebep benim yazdığım mesajsa, kusura bakma da bana kızıp forum bırakma biraz çocukça. Başka kararlar varsa bunun arkasında orasını bilmiyorum.

Son düzenleyen Aristona (11.03.2015 17:03:38)


"Eğer 6 ay önce yazdığın kodları gördüğünde utanmıyorsan, kendini yeterince hızlı geliştiremiyorsun demektir."

Site: http://anilunal.com/
Blog: http://aristona.github.io/

Çevrimdışı

#16 11.03.2015 17:39:46

MURATSPLAT
Yönetici
Yer: Antalya
Kayıtlı: 06.05.2014
Mesajlar: 642
Website

Yanıt: laravel, büyük projelerde kullanılır mı?

Valla genelde benim yaptığım Projeler 1000-4000 TL'lik işler. Eğer müşteri perfmans diye tutturursa bedelini öderse GO' ya da Node.js ile yazarım.  Hiç sorun değil. Ya da güçlü bir sunucu kiralarım uygulamayı HHVM'nin sırtına atarım.

Laravel yapılan sitelerin yavaş olduğu yönünde hiç şikayet almadım  Aksine önceden wordpress ile yapılmış siteleri Laravel ile tekrar yazıyorum. Wordpress ile o kadar çok kazıklanan şirket var ki. Yeni yeni fark etmeye başladılar iyi yapılmış işleri gördükçe iyi işler kanalıyla geliyorlar.

Türkiye yazılıma ödenen paralar düşük olduğu performansdan ziyade nasıl hızlı proje teslim ederim üzerinde kafa yormak lazım düşüncesindeyim..

Bu arada tartışmanın yumuşadığına sevindim. İkiniz de bu foruma lazımsınız. smile

Çevrimdışı

#17 13.03.2015 10:35:02

iozguradem
Üye
Yer: Sakarya
Kayıtlı: 25.04.2014
Mesajlar: 84
Website

Yanıt: laravel, büyük projelerde kullanılır mı?

Yorumları okuduktan sonra magic metotların yavaşlığı konusunda daha önce hiç düşünmediğimi fark ettim ve biraz araştırma yaptım. Şöyle bir yazı buldum, belki incelemek istersiniz;

http://www.garfieldtech.com/blog/benchmarking-magic


PHP İle Paket Geliştirme başlıklı e-kitabımı ücretsiz olarak indirebilirsiniz: Link

Çevrimdışı

#18 13.03.2015 23:36:39

MURATSPLAT
Yönetici
Yer: Antalya
Kayıtlı: 06.05.2014
Mesajlar: 642
Website

Yanıt: laravel, büyük projelerde kullanılır mı?

Magic methodlar hakkında endişelenmeye gerek yok. Zira magic method kolay kod yazmanıza olanak veriyor. Muhtemelen magic method yazmadan performas yapayım - taklalar atayım derseniz bunun maliyeti uygulamaya bir çekirdek daha eklemekten çok daha fazla olacaktır. Ayrıca PHP-7 ile neredeyse 2 kat performans artışı sağlanacak.  Bu durumda endişe etmeye gerek yok diye düşünüyorum.

Çevrimdışı

#19 15.03.2015 02:07:33

pellempus
Üye
Kayıtlı: 29.05.2013
Mesajlar: 120

Yanıt: laravel, büyük projelerde kullanılır mı?

@Aristona, kusura bakma ancak şimdi okuyabildim. O gün ofiste yoğun bir günün ortasında, belki de iyice anlamadan yazıp cevap verdiğim için kırmışsam özür dilerim.

Bir kere en baştan şunu belirtmek isterim. Murat'ın söylediği iki cümleye katıldığım için bunun altını çizmek istiyorum. "Bir dilden fazlasını bilmenin kimseye zararı olmaz".. "Türkiye yazılıma ödenen paralar düşük olduğu performanstan ziyade nasıl hızlı proje teslim ederim üzerinde kafa yormak lazım "

Buradan yola çıkarsak "Laravel öğrenen biri çok kolay Rails'de öğrenebilir ve oradaki dökümantasyonlar programcılığınıza katkıda bulunabilir" niteliğinde bir tavsiyedir benimkisi, eğer ki 2. bir dil arayışı varsa. Öte yandan ben müşterime hiçbir zaman Rails ile proje geliştirmem, çünkü benim için en önemli olan nasıl hızlı proje teslim eder, en kolay nasıl sunucuda çalıştırırımdır. O yüzden Laravel benim seçimimdir. hele ki hem rails hem.NET'ten esintileri de görmek sevindirici.. (tabi bir ara tartışılan şu paralı paket mevzuları olmazsa daha iyi)

Elitistler konusunda aynı düşünmemize sevindim. Bana orası sanki kendi arasında diyalog kuran (Laravel masterları),, bazı zamanlar insanların çok basit sorularına bile cevap verilmeyen bir yer görüntüsünde. Laravel Türkiye forumu ise tam tersine, bana her zaman yeni bir şey öğreten bir platform oldu. Forumun ve topluluğun amacı da bu olmalı zaten.

"Armut piş ağzıma düş" mantığı yerine dökümantasyonları anlamayı bilmek çok daha iyi olsa da, bazen ciddi anlamda kompleks olabiliyor. Örnek vermek gerekirse "Finite State Machine" denen olayı anlamak için kılı kırk yarmıştım. Çünkü bir şeyi anlamak için öncelikle onun hangi durumlarda kullanıldığıı görmek gerekiyor. Yani bir gerçek uygulama... O yüzden teorik dersleri her zaman daha kafa karıştııcı bulurum. Bana foo, bar olayı hiçbir şey anlatmıyor. Demek istediğim,gerçek durum senaryoları gerçek web uygulamaları hem anlamamı hem öğrenme süremi kısaltıyor. Railscasti sevme nedenim budur. Mesela SOLR, Elastic Search ve diğer alternatifi tek tek anlatmıştır. Tamam, bunlar dökümantasyonla da elde edilebilecek bilgiler. Ancak uygulamalar kısmı da önemli benim için,  XXXCast gibi sitelerden beklentim de budur..

Bir de herkesin öğrenme tarzı değişiyor, hatta programcılık zekası bile farklı. Örneğin kimileri en kolay dilin Python olduğunu söylerler. Bana her zaman zor dil gibi görünüyor. Bana kolay gelen Ruby oldu. Genel anlamda da Ruby en kolay dil gösteriliyor. Yaptığım genelin ve aslında en başta kendimin tecrübesidir. Ama ben nasıl Python en kolay dil diyene hayretle bakıyorsam, senin de bana hayretle bakman normal. Sanırım biraz da zevk meselesi giriyor içine. Yani dil kendini sevdiriyorsa öğrenmek de o kadar kolay oluyor. O yüzden bu genellemeyi yapmam hatadır.

Benim ciddi anlamda gecemi gündüzümü programcılığa verdiğim zaman 4 yılı buldu. Ama öğrenecek şeyler bitmiyor, sen yetişsen teknoloji durmuyor. Derler ya en az 10 sene lazım, 4 yıl sonunda hala acemi hissediyorum. Bu yüzden öğrenmekten zevk alırım ve bilmemekten utanmam dedim. Doğru bir dille eleştiri her zaman en iyisidir, o nedenle fazla sinirli olmamaya gayret etmek lazım smile

Çevrimdışı

#20 17.03.2015 12:03:32

RaSiM
Üye
Kayıtlı: 30.09.2013
Mesajlar: 30

Yanıt: laravel, büyük projelerde kullanılır mı?

Konu başka yerlere kaydı ama eklemeden geçemeyeceğim big_smile

varnishi-laravel-ile-verimli-kullanmak-3-1024.jpg?cb=1424512884
haber7, Laravel ve Varnish ile yapılmış..

Çevrimdışı

#21 17.03.2015 14:47:03

MURATSPLAT
Yönetici
Yer: Antalya
Kayıtlı: 06.05.2014
Mesajlar: 642
Website

Yanıt: laravel, büyük projelerde kullanılır mı?

İyi kapak olmuş lol

Çevrimdışı

#22 10.02.2016 23:14:14

mylmz10
Üye
Kayıtlı: 10.02.2016
Mesajlar: 1

Yanıt: laravel, büyük projelerde kullanılır mı?

Öncelikle merhabalar.

PHP Framework'ler hakkında araştırma yaparken laravel konusu üzerinde biraz durayım istedim. Sonucunda kendimi bu sayfada buldum ve bir teşekkür edebilmek için hemen foruma kayıt oldum.

@pellempus ve @Aristona rumuzlu arkadaşlara teşekkürlerimi iletiyorum. Ufak bir atışma havasında geçen sohbette çok güzel bilgiler verdiklerinden kaynaklı ağızlarına sağlık.

İyi çalışmalar diliyorum hepinize smile

Çevrimdışı

#23 11.02.2016 12:47:31

Aristona
Üye
Yer: Kastamonu
Kayıtlı: 08.02.2013
Mesajlar: 173
Website

Yanıt: laravel, büyük projelerde kullanılır mı?

mylmz10 yazdı:

Öncelikle merhabalar.

PHP Framework'ler hakkında araştırma yaparken laravel konusu üzerinde biraz durayım istedim. Sonucunda kendimi bu sayfada buldum ve bir teşekkür edebilmek için hemen foruma kayıt oldum.

@pellempus ve @Aristona rumuzlu arkadaşlara teşekkürlerimi iletiyorum. Ufak bir atışma havasında geçen sohbette çok güzel bilgiler verdiklerinden kaynaklı ağızlarına sağlık.

İyi çalışmalar diliyorum hepinize smile

Teşekkürler, keşke bu forum daha aktif olsa, birçok konuyu detaylıca tartışabilsek.

RaSiM yazdı:

Konu başka yerlere kaydı ama eklemeden geçemeyeceğim big_smile

http://image.slidesharecdn.com/varnishi … 1424512884
haber7, Laravel ve Varnish ile yapılmış..

Bunu şimdi gördüm. Yanlış bir algıya sebebiyet vermemek için ufak bir yorum yapmak istiyorum.

Varnish, konfigüre edildiğinde, bir sayfanın cevabını (response) hafızasında tutup, diğer kullanıcılar istek yaptığında direkt olarak hafızadaki veriyi döndüren bir araç. Sayfaya giren ilk kullanıcı, cache yoksa haberleri PHP/Laravel ile çekiyor. Ondan sonra sayfaya girenler o hafızadaki veriyi görüyorlar. PHP'ye istek gelmiyor. İstek gelmediği için de CPU/MySQL vb. bottleneck olmadan çıkıyor. Her istekte sadece RAM'de bulunan bir veriyi okuyup, onu döndürmek inanılmaz derecede hızlı bir olay. Örneğin, bir Laravel uygulaması saniyede 10 hit desteklerken, önüne Varnish koyup herşeyi önbellek üzerinden sunarsanız, muhtemelen Laravel bottleneck olmaktan çıkar. Oraya gelene kadar sunucunun network kapasitesi/işletim sisteminin limitasyonlarına takılmanız çok olası.

Burada dikkat edilmesi gereken nokta şu. Her sayfayı cacheye alamazsınız. Örneğin, giriş yapmış kullanıcıların görebileceği özel sayfalar herkese sunulamaz. Uygulama ne kadar komplex olursa, global olarak cacheye alabileceğin sayfalar azalır. Mesela, bu haber sitesi, gelen kullanıcının lokasyonunu alıp, ona o şehirdeki haberleri gösterebilir. Bu durumda Kastamonu'dan siteye giren ben, cacheli İstanbul haberlerini görmemeliyim. Kastamonu'dan gelene, Kastamonu cachesi gösterilmeli. Aynı şekilde, bu site giriş yapmış kullanıcılara "Takip ettiği haber kaynaklarından" reklam gösterebilir. Bu durum daha özel. O adama global bir cache gösteremezsiniz. İstek bir defa Laravel'e gelir, orada takip ettiği haber kaynaklarına göre haberler çekilir. Her sayfa yenilemede aynı şeyleri göstermemek adına, belli bir süreliğine (örn 5 dk) veya cachenin yenilenmesini gerektiren olaylar olana kadar (örn takip ettiği bir kanala yeni bir haber geldi) o sayfayı o kullanıcıya özel cachelersiniz.

Burada Laravel'in nasıl scale olacağından çok, uygulamanın ne kadar komplike olduğunu ve ne tür cacheler oluşturabileceğimizi düşünmeliyiz.

Elimizde ne var? Bir haber sitesi. Bir haber sitesine genellikle giriş yapmamış (guest) kullanıcılar girer. Anasayfada haberleri görürler, birkaç tanesine tıklarlar ve çıkarlar. Girenlerin %90'u guest desek ve lokasyon bazlı targetleme olmasa; o zaman yaklaşık olarak şöyle bir çıkarım yapabilirim: "Bu sayfanın aldığı 10M sayfa gösteriminin, %90'ı sitenin anasayfasına ve haber detaylarına gidiyor." Bu sayfaları bir şekilde önbellekte tutup, Varnish üzerinden sunabilirsem; o zaman Laravel'e 10M istek yerine, sadece 1M + 1 (anasayfa) + N (haber detay sayısı) kadar istek gelir. Buradaki N fazla olmayacağı için (sitenizde yüzbinlerce haber yoksa), o zaman Laravel'e yaklaşık 1M hit gelir. Giriş yapmış kullanıcılara, yorumlara, yönetici panellerine falan hiç cache/optimizasyon farzedelim.

1.000.000 günlük pageview = saniyede 11.5 pageview'e denk geliyor ortalama. Saniyede 11.5 istek çok düşük bir rakam. Optimize "edilmemiş" NGINX + PHP-FPM (opcache) bile, uyduruk bir laptopta bile Laravel bu kadar hiti kaldırır. Ama uygulamanız farklı olabilir.

1. O sayfalarda kaç tane MySQL sorgusu var? Sorgular ağır mı? MySQL'in cacheleyebileceği şeyler mi? Sonuçları Redis'te cacheliyormusunuz?
2. Uygulamanızın complexitysi ne kadar? Her defasında 1.000.000 değeri olan array ile işlem yapıyormusunuz? İşlemci kullanımı uçuyor mu?
3. Sistemi profile edip yavaş noktaları optimize edebilir misiniz? Komponent bazlı cache yapabiliyormusunuz?

Uygulamanızın yük altında nerede patlayacağını bilemem. Büyük arrayler ile iş yaparsanız, işlemci bottleneck olur. Her defasında optimize edilmemiş onlarca MySQL sorgusu yaparsanız, MySQL patlar. CDN kullanmıyor ve büyük verileri her defasında client tarafında cache ettirmiyorsanız, network IO coşar. Disk üzerinde çok iş yapıyorsanız, disk IO patlar. Her uygulama farklı olduğu için, bottleneck yapacak yerler hep değişiklik gösterir.

Biraz toparlayayım. Haber7'nin 10M pageview desteklemesi, Laravel'in 10M hit kaldıracağı anlamına gelmez. Haber sitelerini cachelemek çok kolay oluyor, sebeplerini yazmıştım. Şuan 9M Varnish, 1M Laravel desek; "anasayfaya" DDoS saldırısı yapılsa ve günlük PV 100M olsa, o zaman 99M Varnish, 1M Laravel olacak ve birşey değişmeyecek. Aynı şekilde, Haber7'nin 1M Laravel hit desteklemesi, senin uygulamanın da destekleyeceği anlamına gelmez. Belki senin 10.000 PV bile desteklemeyecek. Belki Laravel işlemcinin %1'ini anca kullanabiliyor ama senin uygulaman çok ağır, işlemcinin 99%unu yiyor her zaman? Bu durumda Laravel'e birşey diyemeyiz.

Genel olarak şu görüş yaygın. "Dünyanın en yavaş uygulamasını bile yazsan, onu scale edebilirsin."

Çok işlemci gerektiren işlemler mi var? Yüksek işlemci kapasitesine sahip sunucu al, işlemleri kuyruk üzerinden o sunucuda çalıştır.
NGINX ve PHP artık o kadar hiti kaldıramıyor mu? Önüne Varnish koy.
Varnish koydun ama kalan hiler bile NGINX ve PHP'yi öldürüyor mu? Reverse proxy kullan ve yükü birden fazla NGINX/PHP sunucusuna dağıt.
Sorgular seni öldürüyor mu? Redis'te cache tut.
Kodların optimize mi? Blackfire ile profilini çıkar ve yavaş noktaları gör. (%99 sorun bu oluyor)
AB/Blitz ile stres testi yaptığında ne oluyor? İlk ne patlıyor? Onu bul ve optimize et.
Kullandığın bir paket çok mu yavaş? Daha hızlısını bul, veya yazabilirsen daha low level şekilde (raw php) kendin yaz.
Network IO çok mu fazla? CDN'e geçebiliyorsan geç.

Kısacası yapılabilecek tonla iş var. Şuana kadar PHP ile veya Laravel ile yazıldığı için scale olamamış bir uygulama görmedim. Farklı diller ve frameworkler de dahil. 10M 100M hit desteklemek zor değil. Sadece resmi bütün olarak görüp ona göre scale edeceksiniz sisteminizi.

Şunu da unutmayalım. Projende gerçekten Laravel'e ihtiyacın var mı? 1 + 1 'i hesaplatacaksan o zaman Laravel'i yüklemeye gerek yok. Mesela benim şuan üzerinde çalıştığım uygulama Laravel ile yazıldı ama public API kısmını Laravel'den kopardım ve küçük bir microframework ile yazdım. Niye? Çünkü devasa bir istek gelecekti (milyarları konuşuyoruz), gelen istekler her kullanıcıya daima farklı olacaktı ve tek yapacağı iş Redis'e veri yazıp okumak olacaktı. Yani ne Laravel Eloquent, ne Blade, ne Service Providerlar, ne kuyruk sistemi, hiçbiri işime yaramayacaktı.

İlk başta, 160 $'lık sunucuda dakikada 1.000 istek gördüğünde patlıyordu. (Evet, microframework + Redis + ufacık bir uygulama bile patlayabiliyor optimize edilmezse) Konfigürasyonları güncelledim 1.500 destekledi. Algoritmayı düzenleyip her istekte 50 olan Redis komutunu 10'a düşürdüm. Pipe olabilecek işleri pipeye attım. 2500 oldu. Blackfire ile profilerini çıkarttım ve yavaş çalışan noktaları düzelttim. (URL manipülasyon için kullandığım bir paket vardı, verilen URL'den domain buluyordu. Çok büyük regexler döndüğü için, işlemci kullanımı yük altında tavan yapıyordu. Onun yerine parse_url kullandım ve CPU yükü bir anda gitti) Stress testi yaptım, 4000'de Redis hata vermeye başladı. Baktım port limiti var. Onu kaldırdım 12.000 gördü local bilgisayarımda. Belki 50.000 desteklerken tamamen farklı bir sorun çıkacak. Belki port yetmeyecek. Zamanla göreceğiz neresi takılıyor smile Şuan microframeworküde bırakmayı düşünüyorum çünkü baktım, sadece pretty URL'ler için kullanmışım. index.php'ye saniyede 10.000 istek gelebilirken, microframeworkün "Hello world" routesine sadece 2500 hit geliyor. Çünkü framework'ün boot aşaması var. Sırf URL'leri pretty göstereceğim diye (ki benim işim için önemsiz) 3 katı hiti bir kenara bırakmalı mıyım? Bence bırakmalıyım.

Şuan sunucuma dakikada 6000 istek geliyor ve işlemci kullanımı 15%, 1 hafta önce 1000 istek ile 100% işlemci kullanımı vardı. Saniyedeki Redis komutu yaklaşık 1500'den 450'ye düştü. Ve bu tek makina. Bunun önüne Load Balancer koyup arkasına 10 tane $ 160 makina alabilirim. Redis tıkanırsa, Redis'i cluster haline döndürüp kullanabilirim. Her defasında farklı bir response dönme zorunluluğu olmasa, şimdiye Varnish'i önüne koyup işlemci kullanımını minimuma indirmiştim. O yüzden haber siteleri gibi siteler için Varnish hayat kurtarıcı.

Bu kadar şey yazdım, ama asıl uygulamam hala Laravel. Neden? Çünkü ana uygulamada Laravel'in neredeyse her özelliğini kullanıyorum. Laravel kullanmasam belki 10 dakikada biten Auth işlemleri için 1 hafta Auth driver yazacaktım. Eventlere Command'ları koyuyorum, Command'lar kuyruğa gidiyor, Business Intelligence denen olay için inanılmaz bir nimet. "Anıl bey, birisi şifresini değiştirirse ona email atalım." user.password-update eventini hookla, oradan kuyruğa EmailUserPasswordChangeService sınıfını kullanıcı bilgilerini pass ederek gönder. Kuyruk çalışsın ve kullanıcıya email gitsin.

Laravel kullanmasam, yine composer.json içine en azından 1 tane Auth sistemi, bir ORM, bir Event sistemi, Predis, DI Container vb. koyacaktım ve sonuç olarak custom bir full stack framework elde edecektim. Bunu yaptım diyelim, Laravel bunları birleştirirken birçok optimizasyondan geçiriyor, bazı şeyler lazy çalışıyor vb. Oluşturduğum frameworkün performansını hep benchmarktan geçirmek zorunda kalacaktım. Bunu yapmak vakit. Testlerini yazmak vakit. Gelecek yazılımcılara iyi bir dökümantasyon yazmak vakit. Onları eğitmek vakit. Çalıştığım şirket bana maaş veriyor. Şirkete katma değer sağlamadığım her saniye birilerinin cebinden çıkıyor benim maaşım. "Ben şu Auth driverini biraz optimize edeceğim." diyemem. Rakip firmalar müşterilere cazip gelen onlarca özellik geliştirirken bunlarla vakit kaybedemeyiz. Şuan projeyi tek başıma geliştiriyorum ama aslımda yanımda binlerce insan var. Taylor Otwell ve ekibi Laravel'imi geliştiriyor. NRK ve ekibi Predis'i geliştiriyor. Antirez ve ekibi Redis'i geliştiriyor. PHP League kullandığım paketleri geliştiriyor. Çinli hackerlar Laravel'de açık buluyor, birisi bunu çözüyor ve composer update ile bunların hepsine sahip oluyorum. Ben sadece "yemeği pişiren" oluyorum. Taylor Otwell tarlada patates çıkartıyor, Antirez bunları sepete koyup eve getiriyor. PHP League bunları temizleyip kesiyor. Ben sıcak yağın içine bırakıyorum ve müşterilerimize patates kızartması satıyoruz smile Açık kaynağın güzelliği bu.

Laravel'e gerçekten ihtiyacın yoksa (benim API sunucum gibi) o zaman yazma. Sonuçta gereksinimlerini en iyi sen biliyorsun. Laravel'in kaldırmadığı bir duruma geleni görmedim, ama kendi hatasından dolayı Laravel'e ve frameworklere laf atanı çok gördüm. Her sayfada 100 tane sorgu var, opcachesi bile açık değil, ama yavaş olan Laravel oluyor nedense. Genelde tecrübesizlerin/yeni başlayanların düştükleri çukurlardan birisi bu malesef.


"Eğer 6 ay önce yazdığın kodları gördüğünde utanmıyorsan, kendini yeterince hızlı geliştiremiyorsun demektir."

Site: http://anilunal.com/
Blog: http://aristona.github.io/

Çevrimdışı

#24 12.02.2016 14:46:21

ahmetalan
Üye
Yer: Bursa
Kayıtlı: 23.02.2015
Mesajlar: 6

Yanıt: laravel, büyük projelerde kullanılır mı?

İlk önce şunu belirlemek lazım büyüklükten kasıt nedir ? Proje'de kaç kişi çalışacak, proje hangi alanda kullanılıyor, saniyede ne kadar istek alıyor bunları alt alta koyup sonra bir yorum yapmak gerekir. Bunların haricinde yapılmaması için bir engel söz konusu değil, maalesef biz frameworkleri yanlış anlıyoruz, şahsi görüşüm şudur ; Bir puzzle yapacağız fakat bu puzzle'ın parçalarının ya kendimiz elle yapıp sonra birleştireceğiz yada hazır parçaları kullanacağız, bence frameworklerde bu örnekteki hazır parçalardır, nihayetinde siz iyi bir yazılımcı iseniz o framework üzerinde core yapısını bozmadan milyon tane yama yapabilir kendinize uygun hale getirebilirsiniz. Bununla birlikte çok yüksek işlem hacmi olan ( saniyede 10.000 istek vb.) durumlarda framework değil kullandığınız dil mevzu bahis olur ve siz burada dil seçiminizi sorgulamak zorunda kalırsınız. PHP 7 ile bu sorun bir nebze daha çözülüyor bekleyip göreceğiz.

Çevrimdışı

Forum alt kısmı