Backend Programlama Öğrenmenin En İyi Yolu Nedir?

Frontend geliştirme, bir kullanıcının sahip olduğunuz belirli bir URL'yi açtığında ekranda gördüklerini içerir.


İçerik  
1 Backend(Arka Uç) Geliştirme Nedir?
1.1 Backend için Frontend programlama bilgisi gerekli mi?
1.2 Backend Programcının Özellikleri Nedir?
2 Backend Geliştiricisi Nasıl Olunur?
2.1 Bir backend programlama dili öğrenin
2.2 Barındırma yönetimi hakkında bilgi edinin
2.3 Sürüm Kontrol Sistemleri hakkında bilgi edinin
2.4 Yazarak Öğren !
backend-nedir
backend-nedir

Backend(Arka Uç) Geliştirme Nedir?

Frontend geliştirme, bir kullanıcının sahip olduğunuz belirli bir URL’yi açtığında ekranda gördüklerini içerir. Tamamen statik bir ortamda bile (yalnızca HTML / CSS ile), birisi bir web sitesi açtığında, gezegendeki bazı sunucuların size bu HTML ve CSS dosyalarıyla yanıt vermesi gerekir.
Bu sunucu sadece bir bilgisayardır, tıpkı internette gezinmek için kullandığınız sunucu gibi. Ancak performans için ayarlanmıştır ve fare veya klavye gibi gereksiz bileşenlere sahip değildir. Ve muhtemelen bir veri ambarında tonlarca bilgisayarla oturuyor olacaktır.
Bu bilgisayarların özel bir şekilde programlanmasına backend geliştirme denir .
Backend geliştirmeye, kullanıcının gördüğü arayüzün arkasında gerçekleştiği için Arka Uç(Backend) programlama diyebilirsiniz. Web sitenize gelen bir ziyaretçi hiçbir zaman arka uca(backend) tamamen “erişemez”. Sadece sunucunuzla ya çok sınırlı erişim için doğrudan bağlantı noktaları üzerinden iletişim kurarlar (HTML / CSS dosyalarını aktarma gibi) ya da CDN’ler veya güvenlik duvarları (Cloudflare gibi) altında.
Artık backend geliştirmenin ne anlama geldiğine dair ham bir anlayışa sahip olduğumuza göre, bazı gerçek sorulara geçelim .

Backend için Frontend programlama bilgisi gerekli mi?

Bence :Hayır.
Backend gelişimi, yukarıda belirtildiği gibi, muhtemelen gezegenin diğer tarafında oturan ve kullanıcıların kendi bilgisayarlarından söylediklerine cevap vermekten sorumlu bir bilgisayarın programlanmasını içerir.
Tam zamanlı bir backend geliştiricisiyseniz, kullanıcının tarayıcısına gönderdiğiniz HTML, CSS ve JavaScript dosyalarının içinde neler olup bittiğini önemsemeniz gerekmez. Bunun yerine, sunucunun performansına, sunucu koduna ve verimine daha fazla odaklanmanız gerekir.

Backend Programcının Özellikleri Nedir?

Kitaplara bakarak, HTTP isteklerine yanıt verebilecek bir uygulamayı kodlayan bir kişinin backend geliştirici olduğunu söyleyebilirsiniz.
Ancak gerçekte, backend geliştiriciler sadece sunucu komut dosyaları yazmaktan çok daha fazlasını yapabilirler. Ters proxy sunucuları (NGiNX / HAProxy) kurma, sıkıştırma ve siteyi hızlandırmak için diğer yollar sağlama gibi özelliklere sahiptirler.
Bir backend geliştirici olarak nitelendirilmek için, ihtiyacınız olan minimum becerileri şöyle söyleyebilirim:
  1. Yazabileceğiniz bir programlama dili hakkında iyi bilgi. Örnekler: C #, Java, Node, PHP, Python, vb. (Çok Daha Fazlası var!)
  2. CPanel veya bash terminalini (bulut barındırma) kullanarak barındırmayı yönetin
  3. Derlemeleri yönetmek ve dağıtmak için git gibi Sürüm Kontrol Sistemleri (VCS) ile çalışmak
Her oyunun minimum ve önerilen spesifikasyonlarla birlikte gelmesi gibi, backend geliştiriciler için de, tavsiye spesifikasyonlarım (minimum beceriler dahil):
  1. Statik dosya varlıkları ve sunucu yönetimi için NGiNX
  2. Veritabanı Yönetimi becerileri (SQL / NoSQL)
  3. Backend güvenliği (Güvenli ve sağlam kod yazma, uygulamaları sınırlı ayrıcalıklara sahip docker kaplarında çalıştırma, DoS saldırılarına karşı koruma)
  4. Otomatik ölçeklendirme
Pekala, backend gelişimine neler girdiğinden çok fazla bahsediyoruz. Ama nasıl bir backend programcısı olabilirsiniz?

Backend Geliştiricisi Nasıl Olunur?

Dediğim gibi, backend için, tıpkı oyunlar gibi, bir dizi minimum gereksinimimiz ve önerilen gereksinimlerimiz var. Minimum gereksinimler 3 şeyden oluşur:

Bir backend programlama dili öğrenin

İnsanlar kendi başlarına öğrendiklerinde, genellikle bir ekibe veya frontend geliştirme yapabilecek kimseye sahip değildirler. Bu nedenle, en azından başlangıçta, genellikle kendi başınıza web sayfaları ve sunucular oluşturmanız gerekir.
Backend programlama dilleri için birçok seçenek olmasına rağmen , Node seçmenin avantajı,frontend JavaScript becerilerinizin arka uca(backend) aktarılabilmesidir.
Bununla birlikte, Java, C ++, C #, PythonPHP, vb. Gibi çeşitli diller arasından seçim yapabilirsiniz.
Nasıl seçerim diye sorabilirsin. Cevap: Programala Dilini Nasıl Seçerim?

Barındırma yönetimi hakkında bilgi edinin

Sunucuları manuel olarak satın alıp evinizde kurmanız, ISS’nize bağlanmanız, tüm bunları kendiniz yapmanız gereken günler geride kaldı. Bu bulut bilişim dönemi. Şimdi, web sitenizi barındırırken, esas olarak 2 seçeneğiniz vardır:
  1. HostGator veya GoDaddy gibi yönetilen barındırma sunucularına gidiyoruz.
  2. GCP, AWS veya DigitalOcean gibi bulut barındırma sağlayıcılarına gidiyoruz.
İkisi arasındaki fark nedir? Her iki durumda da, sunucular ilgili şirketlere aittir ve işletilmektedir. Ancak en büyük fark, yönetilen barındırma işleminin daha GUI dostu olması, dosya sistemini görmek, kullanımı izlemek, resmi alan e-postalarınızı yönetmek, sunucunuzdan dosya yüklemek / indirmek için zengin bir araç setine sahip olmasıdır. Temelde daha az teknik beceriye sahip insanlar için kolay bir kuruluma sahip olmasıdır.
Bu nedenle, deneyimli geliştiriciler için HostGator veya GoDaddy gibi yönetilen siteleri önermiyorum. Yine de, hata yapmak ve öğrenmek için iyi bir platform olabilir.
Ancak hızınızı artırmaya başladığınızda, bir bulut sağlayıcısına geçmenizi öneririm. Bu, sunuculardaki dosya ve klasörleri yönetmek için kullandığınız tüm güzel araçları cPanel içinde barındırır.
Bugün, bir çok bulut sağlayıcısı da ücretsiz deneme sunuyor, böylece tam olarak sahip olmadan önce platformlarını deneyebilirsiniz.
Her neyse, herhangi bir bulut sağlayıcısını seçebilirsiniz. Daha sonra sunucuyu sadece komut satırını kullanarak yönetmeyi öğrenmek önemlidir.

Sürüm Kontrol Sistemleri hakkında bilgi edinin

Git for VCS dışında başka çözümler de var. Ancak Git en çok kullanılan ve anlaşılması en kolay olanıdır.
Bir birey olarak, hemen popüler olamayabilirsiniz. Ancak, bir ekipte projenizde aynı anda birden fazla özellik üzerinde çalışmaya başladığınız an, neden bu kadar önemli olduğunu anlayacaksınız.
Git çok ilginç ve bir kez alıştıktan sonra her projede kullanmak isteyeceksiniz. Çalışmanızın geçmişini verimli bir şekilde tutabilirsiniz.
Ayrıca, GitHub gibi web siteniz için yaşam kaynağı görevi gören sitelerde çevrimiçi git depoları oluşturmanıza da olanak tanır.
Benim yazarak öğrenmeye büyük inancım var. Ve bir şey yapmanın en iyi yolu zorunluluktan veya ilgiden kaynaklanır.
DevOps aynı zamanda, otomatik derleme dağıtımları için TravisCI veya CircleCI’yi deneyebilirsiniz . 
Sonra veritabanları geliyor. Ancak, kullanıcı tarafından oluşturulan bir tür veri kalıcılığı içeren hemen hemen her uygulama için veritabanlarına ihtiyacınız olacak.
Veritabanlarının çalışmaya başlaması genellikle kolaydır, ancak bakımı ve düzeltmesi daha zordur. Bir backend teknoloji üzerinde çalışmaya başlamanın en iyi yolu, uygulamanızın kodu, ters proxy sunucuları, veritabanı vb. mevcut iş mantığından ayırmaktır.
Bunu yaparak, büyük ölçüde ölçeklendirilebilen bir mimariyi etkinleştirmiş olursunuz. Bir veritabanı operasyonu uygulaması, veritabanları için optimize edilmiş bir çözüme sahip olabilir. Trafik yoğunluğu yüksek bir site içinse CDN şarttır.

Hiç yorum yok:

Yorum Gönder

Kurumlar Nasıl Siber Güvenlik Önlemi Almalıdır? Siber güvenliğin önem değeri giderek artmıştır. Günümüzde birçok kurum Siber Güvenlik Uz...