Anasayfa » Web Tasarımı » Fullstack Web Geliştirme ile Başlarken

    Fullstack Web Geliştirme ile Başlarken

    Bu günlerde modern tam yığın geliştirme özel bir teknik ekibiyle hem küçük kurumlarda hem de büyük şirketlerde çok popülerdir. Tam yığın web mühendisleri, tüm web teknolojileri yığını üzerinde çalışırlar ön uç, arka uç dahil, ve sunucu yönetimi.

    Pek çok insan, tam yığının yalnızca "tüm esnafların krikosu, hiç kimsenin efendisi" olmadığını öne sürüyor. Belli bir bakış açısına göre bu doğru olabilir, ancak beceri seti ancak onunla başarılabilecekler kadar önemlidir. Pek çok tam yığın geliştirici değer sunar çünkü bir fikir alabilir anlayıştan lansmanına, ve tamamen kavramak sürecin her adımı.

    Eğer düşünüyorsan tam yığın güzergahı gidiyor, o zaman bu yazı tam size göre. Tam yığın geliştiricinin genel gereksinimlerini, rolün ne gerektirdiğini ve beceri setinin müşteriler için veya kendi projelerinde doğrudan çalışmak isteyen serbest çalışanlar / müteahhitler için nasıl yararlı olabileceğini açıklayacağım..

    Tam Yığın Temelleri

    Web teknolojisi çok değiştiğinden, modern tam yığın geliştirme uzun bir yol kat etti. Tam yığın gereksinimleri, aşağıdakileri dikkate almak için kılavuz olarak kullanılmalıdır. Genel olarak "yığın" demek, birlikte çalışan teknolojileri temsil eder. bir web sitesinin çalışması için. Bu, ön kod, arka uç kodu, bir veritabanı sistemi ve sunucu için bir web sunucusu platformu + OS anlamına gelir..

    Tam yığın geliştirmenin temel prensibi bir web sitesi oluşturmanın tüm yönlerini anlamaktır. Bu, tasarım bilginizi veya UI / UX çalışmasını bilmek anlamına gelmez, bununla birlikte, uygulanabilirliğini ve iş kalitesini büyük ölçüde artırabilir.

    • Frontend'in temelleri arasında HTML / CSS ve JavaScript, büyük olasılıkla bir iskelet, Açısal veya Tepki gibi.
    • Bir arka uç dili için, bir veritabanı sistemiyle birleştirilebilecek bir şey seçmek istersiniz. PHP / MySQL WordPress gibi birçok CMS motorunu çalıştıracağı için öğrenmesi en yaygın ve en kolay yoldur. Ayrıca LAMBA stack inkar edilemez en popüler web yığını.
    • Sunucu bilgisi, istediğiniz kadar basit veya ayrıntılı olabilir. Mutlak temeller gibi bir sunucu programı bilgisi olacaktır Apaçi gibi bir veritabanı ile birleştiğinde MySQL veya PostgreSQL.
    • Posta sunucularını yükleme bilgisini veya memcached veya Varnish gibi performans araçlarını dahil etmek için daha da ileri gidebilirsiniz..

    Dolu bir yığın yığını, her üç alanda da yeterli bilgiye sahip olmalı bağımsız olarak bir web sitesi başlatmak, ve kimseden fazla yardım almadan.

    Bilginin Teknik Derinliği

    Tam yığın geliştirme hakkında büyük bir soru Her bir bölgeye girme derinliği ne kadar. Tam bir yığın mühendis gerçekten herhangi bir şeyin ustası mı? Bazıları bunun mümkün olduğunu iddia ediyor tam yığın gitme amacı olmayabilir.

    Çoğu şirket, her yerde biraz bilgiye sahip olan tam yığın mühendislerini işe almak istemektedir. Bu mühendisler bir alanda uzmanlaşabilir, ancak gerektiğinde herhangi bir rolü doldurabilirler.

    Bu yola yeni başlayanlar her alanda ortaya çıkan sorunları çözmek için "yeteri kadar" öğrenerek dolaşmak. Bu, farklı sorunların gerçek projelere nasıl uygulandığını görmek için teknolojilere gerçek bir dünya yorumu sunar..

    Tam yığın kodlamanın en büyük avantajı, kendi uygulamalarını kur başkaları için çalışmadan.

    Geliştirme sürecinin her aşamasını öğrenirseniz, o zaman her şeyi kendiniz yapabilirsiniz. Özel bir Laravel uygulaması oluşturmak için PHP ustası olmanıza gerek yok. Ayrıca, özellikle web üzerinde çok fazla açık kaynak koduna sahip olduğumuz için esnek bir açılır gezinti oluşturmak için bir JavaScript gururu olmanıza gerek yok.

    Peki bu alanlardan herhangi birine ne kadar derinlemesine girmelisin? Bu tamamen size kalmış ve cevabınız muhtemelen zaman içinde değişecek.

    Ama ilk başladığında, sadece öğrendiklerinizi gerçek bir projeye uygulayacak kadar derine inin. Anlamadığınız bir şeye çarptığınızda, daha derine inmek için bir fırsat olarak kullanın, ve bu konu hakkında daha fazla bilgi edinin.

    Dilleri Seçmek

    Yeni geliştiricinin hangi teknolojileri öğreneceğini seçmesi biraz sıkıntı. İhtiyaçların ortadan kaldırılması, HTML ve CSS kesinlikle gereklidir. JavaScript de bir zorunluluktur, ama kendini bir JS ustası olarak düşünmene gerek yok. Bununla birlikte, yalnızca düz JavaScript'ten daha fazlasını öğrenmekle ilgilenmelisiniz..

    Çoğu geliştirici de jQuery'i öğrenir, ancak React, Ember, Angular, Vue veya Backbone gibi çerçevelerin tümü, tam ölçekli web uygulamaları oluşturmak için daha basit bir işlem sunar.

    Daha derin öğrenmeye bile dalmak mümkündür fantezi JavaScript efektleri, animasyonlar gibi, ancak tamamen isteğe bağlı. Tam bir yığın geliştirici, işin yapılması için yeterince bilgili olmalı ve oradan devam etmelidir..

    Arka uç dil seçimi teknik avantaj konusunda daha az ve daha fazla konfor demektir. Çoğu programcı bunun farkında Python PHP'den daha çok yönlü bir dildir, Ancak, web sitelerinin çoğu PHP sunucularında çalışmaktadır. Bu yapar PHP değerli bir dil daha fazla şirkete.

    Gereksinimlerinize en uygun dili seçin veya size en iyi olanakları sunar. Ayrıca aklınızda bulundurun Sonsuza dek bir arka uç dili ile sıkışmış değilsin. Ruby ile başlayıp Python'a geçerseniz, süreçte hiçbir şey kaybetmezsiniz..

    Ancak, sevdiğiniz bir arka uç dili bulduğunuzda, o dili daha derinlemesine kullanmanızı ve ilgili bir çerçeve almak. PHP'nin Laravel'i, Ruby'nin Rails'i ve Python'un Django'su var - diğer seçeneklerin yanında. Bu çerçeveler geliştirme sürecinizi hızlandıracak ve uygulamalarınızı uygun şekilde yapılandırmanıza yardımcı olacaktır.

    Veritabanları ve Sunucular

    Bir veritabanı motoru seçmek, proje gereksinimlerine ve sunucu yığınına dayanır. PHP genellikle MySQL ile çalışır, bu yüzden en çok tercih edilen seçim budur. iki büyük web yığını bugün LAMBA (Linux-Apache-MySQL-PHP) ve ANLAMINA GELMEK (MongoDB-ExpressJS-angularjs-node.js).

    Çoğu hosting şirketi kurulum gerektirmeden LAMP'ı en baştan sunmaktadır. Ancak Digital Ocean gibi özel çözümler hemen hemen her şeyi biraz dirsek yağı ile çalıştırmanıza izin verir. Bu listede daha fazla web yığını bulabilirsiniz veya çevrimiçi ortamda arama yaparak.

    Tercih ettiğiniz veri tabanı genellikle arka uç diline bağlı. Python, varsayılan olarak SQLite desteğiyle birlikte gelir ve KO devs genellikle herhangi bir şeyle çalışabilir. Ve dürüst olmak gerekirse, herhangi bir dil genellikle herhangi bir veritabanıyla çalışabilir.

    Ancak, web projelerinin çoğunda kullanmak için yeterince yaygın bir şey seçmek istiyorsunuz. SQL genel bir dildir ve tüm veritabanı motorlarında çoğunlukla aynı sözdizimini kullanır. Tablo kurulumu ve yönetiminde farkları bulacaksınız, ancak bunlar genellikle küçük.

    Veritabanlarının ötesinde, işte öğrenmek istediğiniz bazı teknik sunucu tarafı konular..

    • CDN'ler ve içerik barındırma
    • Sunucu yazılımı kurulumu ve güncellemeleri
    • Trafik artışları ve yükleme süreleri için en iyi sunucu yapılandırmaları
    • Hem veritabanı sorgulamaları hem de dosya sistemi depolaması için önbellek çözümleri
    • Veritabanlarının ve düz dosyaların otomatik yedeklemeleri veya disk görüntüleme yedekleri
    • Etki alanı yönetimi ile HTTPS kurulumu (DNS sunucuları, CNAME kayıtları vb.)
    • E-posta, mikro hizmetler ve yük dengeleme gibi daha ayrıntılı konular

    Öğrenmenin en iyi yollarından biri sunucuları ile bağlama projeler inşa ederken. Temel bir kapmak VPS Hesap açın ve kendi yığınlarınızı oluşturmayı deneyin. Bu VPS'ler, her şeyi yapılandırmak (veya yok etmek) için tam kontrolünüz olan tam sanal sunucu ortamlarıdır. Ayrıca, yukarıdaki liste tüm tam yığın geliştiriciler için gerekli bir yol haritası değildir.

    Gerçekten ihtiyacın olan tek bilgi boş bir sunucu ortamı oluşturmak için ne gerekiyorsa yapın ve bir web sitesini çalıştırmak için gereken yazılımı yükleyin. Oradan, başka bir şey sadece gelişmiş bilgidir. Herhangi bir sorunuz varsa veya profesyonellerden öğrenmek istiyorsanız Reddit'in / r / SysAdmin topluluğunu inceleyin.

    Öndeki yol

    Gerçekten tam yığın geliştirme öğrenmek istiyorsanız, öğrenmek istediğiniz tüm teknolojilerin bir listesini yapın. Oradan öğrendiklerinizi test etmek için kendi uygulama projelerinizi oluşturarak tek tek onlarla mücadele edebilirsiniz..

    Web geliştirme sürekli değişen bir sektördür, bu yüzden her zaman daha fazlasını öğrenmeye istekli olmalısınız. İstediğinizi bulana kadar çeşitli yığınları ve dilleri test edin. Ama her zaman daha derine gitmeye ve daha iyi olmaya istekli olun!

    Tam yığın geliştirme çabaya değer mi? Bu senin karar vermen için. Ama işte bunu çözmenize yardımcı olabilecek bazı ilgili yazılar..

    • "Tam Yığın" Meşruiyeti Üzerine (Heapsortjobs.com)
    • Yani tam yığın geliştirici olmak istiyorsun (Rubysteps.com)
    • Tam Bir Yığın Geliştirici Olmanın 7 İpuçları (Usersnap.com)