Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?

mgsmus Eyvallah hocam aslinda bir arkadasim valet homestead den uzak durmami ve acilen dockere yonelmemi soyledi. Docker icin kullanim turkce tavsiye ede bileceginiz iyi bir kaynak varmi yoksa youtube dan mi ilerliyeyim?

mgsmus Hocam kusura bakmayın da Neden xampp kullanmayın dediniz? Çıkardığı sorun nedir? ve Tavsiye ettikleriniz ise ne gibi avantajlar sağlıyor?

    • mgsmus

      Seviye 1384
    • Düzenlendi

    velatertach Valet de Xampp gibi, özellikleri bilgisayarınıza kuruyor fakat Xampp'dan daha pratik ve daha fazla özelliğe sahip:

    • Birden fazla PHP sürümü kullanabiliyorsunuz, kolayca geçiş yapabiliyorsunuz.
    • Siteleri SSL ile ya da SSL olmadan kullanmanızı sağlıyor.
    • Uygulamanızı kolayca sanal domain altında kullanmanızı sağlıyor, projem.test gibi. Bu localhost ile yaşanılan bir çok sorunu ortadan kaldırır.
    • ngrok sayesinde uygulamanızı test aşamasında güvenli bir şekilde paylaşıp başka cihazlardan erişilebilir hale getirebiliyorsunuz.
    • Proxy özelliği ile sanal domaini farklı bir adrese proxyleme yapabiliyorsunuz.
    • Ayarlar ön tanımlı olduğu için tak-çalıştır mantığı ile çalışıyor ve istediğinizde kolayca ayarları değiştirebiliyorsunuz.

    Diğerleri ise Docker tabanlı, yani onlarla istediğiniz stack'i oluşturabilirsiniz. Örneğin bir projenizi PHP 7.2 + Apache 2.4 + MySQL 5.7 + Solr 8.7 ile çalıştırırken diğerini PHP 7.4 + Ngnix 1.19 + PostgreSQL 12 + Redis 5.0 + ElasticSarch 7.9 + MongoDB 4.4 ile çalıştırabilirsiniz. Elbette Docker tabanlı olduğu için bunların hiçbiri bilgisayarınıza program ya da uygulama şeklinde kurulmuyor.

    Özellikle Docker nedir araştırın.

      mgsmus Zamaninizi ayirip bu degerli bilgileri paylastiginiz icin cok tesekkur ederim.Sayenizde cok sey ogreniyorum sahsen.

      mgsmus Değerli vaktinizi cevap vermek için harcadığınız için teşekkür ederim

      macOS'ta bence kesinlikle valet kullanılmalı, ben bütün muadilleri denedim, sevgili Mustafa'nın da belirttiği avantajları haricince hız olarak da diğerlerini katlar.

        CodeWriteson Docker kullanmış olursunuz. Docker her şey için; Valet Laravel ve genel PHP MySQL uygulamaları için gibi düşünüp ona göre değerlendirebilirsiniz.

          Docker biraz karmaşık geliyor başlarda, bende yeni öğreniyorum ve henüz tam hakim değilim. Okuduğum yazı, post ve yorumların çoğunda tavsiye edilen birşey.
          Docker file veya image yazıp / temin edip bunun üzerinde yazılımı geliştirmenin bence en güzel yanı bunu sunucuya atınca geliştirme ortamı ile aynı şekilde çalışması. Docker file üzerinde hangi PHP, Mysql vs sürümünü kurduysanız veya ayarlarını nasıl optimize ettiyseniz sunucuda da o şekilde oluyor.
          Çalışma ortamı açısından çok faydalı ama ister istemez yazılım alanı dışında devops alanına giren kısımlar oluyor bence. İlk başta bundan dolayı pek kafama yatmamıştı ama biraz düşününce Css ve Js de bilmek (en azından düzenleme yapabilecek düzeyde) gerekiyor ve bunlarda frontend kısmında kalıyor dedim. Sonuç olarak docker hakkında da en azından dockerfile çalıştırabilecek veya dökümantasyonlara vs bakarak düzenlemeler yapabilecek kadar bilmek gerekiyor diye düşünüyorum.

            mgsmus Anladim hocam. O zaman docker deneyeyim arastirma yapayim iyice eger sonda takildigim bir nokta olursa sizin degerli fikirlerinizi alirim yine. Simdiden her sey icin tesekkurler

            coder2 Evet hocam banada aslinda docker israrla tavsiye edildi. Amma konfiqurasyon falan hepsi 0-dan yapildigi icin baslarda zorlana bilecegim soylendi

              coder2 Aslinda bende biraz docker konusunu arastiricam en azindan elementary bilgi sahibi olmak icin eger zorlanirsam laradocka kullanicam. Cunki her projede yeniden konfiqurasyon falan biyerden sonra yorar insani.

              coder2 Bahsettiğiniz klasik VM kullanımı. Docker'da iş farklı. Karşı sunucu dediğiniz yerde de Docker var. Siz uygulamanızı konteynerleştirip paketliyorsunuz ve karşıdaki Docker'a gönderiyorsunuz (daha doğrusu karşı Docker Hub'dan çekiyor). Yani kendi local geliştirme ortamınızın aynı özelliklerinde bir ortam oluşturmuyorsunuz; bizzat local geliştirme ortamınızı gönderiyorsunuz. Her deployment sonrasında klasik anlamda sunucudaki veriler güncellenmiyor, hepsi baştan oluşturulup ayağa kalkıyor (işletim sistemi güncelleniyor, gerekli programlar kuruluyor, git clone ardından composer install yapılıyor vs). Deployment bittikten sonra ayağa kaldırma işini ise Dockerfile içindeki direktifler gerçekleştiriyor.

                mgsmus Bu şekilde çalıştığını bilmiyordum.
                Her defasında sıfırdan kurmak yerine güncellemeleri gerçekleştirse daha mantıklı olurdu gibime geliyor ama muhakkak mantıklı bir açıklaması vardır.

                  coder2 Elementary configi ben yaptim kendimde calisti.Her yeni projede sadece 3 dosyayi ekleyince sorunsuz calisiyor.Amma bence zor olani manuel yapildigi icin guncellemeleri takip etmek.Extensionlar varsa onlarida configde eklemek. + mesele vue js livewire falan kullaninca ilave configlere gerek kalicakmi kalmiyicakmi gibi sorular var.

                  mgsmus Hocam her konfigurastyonu yaptim sorunsuz calisti.Sizden bi kac sorum olacak
                  1)Diyelimki ben projemde vue js veya livewire kullaniyorum o zaman onlar icin docker compose da yeniden konfiqurasyon falan yapmam gericekmi yoksa mysql nginx php konfiqleri yeterlimi?
                  2)Docker de calisirken sanki sayfayi yenile yapinca biraz daha gec yukleniyor belkide benim takintim yanlis gordum oyle bisey ola biirmi?
                  3)mesela docker pull falan yaparak mysql falan yukluyorlar o zaman otomatikmi compose dosyasinda yaratiyor yoksa ayri bir islemmi ?

                    CodeWriteson

                    1. Duruma göre gerekebilir, reverse proxy gibi.
                    2. Diskin bir bölümüne mount yaptığı için yavaş ne yazık ki.
                    3. compose dosyasına siz yazıyorsunuz, ayağa kalkarken image sizde yoksa pull yapıyor.

                      mgsmus Hocam o zaman soyle sorayim simdi ben valet kursam valet VM gibi mi calisicak? Valet kurunca oradada boyle config duzenlemelere ihtiyac olucakmi yoksa hepsi kendi icindemi?Sorum qarip gele bilirim o yuzden simdide ozur dilerim. Docker gordugum kadariyla sys admin bilgileride gerektiriyor bir yerden sonra ve zamanla sanki bana sorun olacakmis gibi geliyor