Web geliştirme alanında üç çeşit programcı vardır. Bunlar back-end geliştiriciler, front-end geliştiriciler ve her ikisini de yapabilen full-stack’lerdir. Bu eğitim rehberini okuyorsanız, muhtemelen bir web sitesinin back-end’iyle ilgileniyorsunuzdur. Sizin adınıza bu iyi, çünkü birazdan backend nedir ve backend yazılımcı nasıl olunur konusunda bir yolculuğa çıkacaksınız.
İçindekiler
- 1. Bir backend developer nedir?
- 2. Back-end geliştiricinin sorumlulukları
- 2.1. Sunucu tarafı mantığı
- 2.2. Otomatik bildirimler
- 2.3. Veri Onaylama
- 2.4. Veritabanı Erişimi
- 2.5. API'ler
- 3. Back-end Geliştirme İçin İhtiyacınız Olan Araçlar
- 3.1. Sunucu tarafı programlama dili
- 3.2. Veri tabanı sistemi
- 4. Tamam, ama ne kadar kazanabilirim?
- 5. Kapanış Olarak…
Bir backend developer nedir?
Şu Anda Etkin Olan Güncel Teklifler:
GET 50% OFF
DataCamp Black Friday Sale
During this DataCamp Black Friday, you can access the top-rated courses with a 50% discount. Enroll now for way less!
Bir back-end geliştirici, back-end web geliştirme konusunda alanında uzmanlaşmış kişiye denir. Peki ya backend nedir? Bir şeyleri çalıştırmaktan hoşlanıyorsanız, nasıl göründüklerini çok umursamıyorsanız ve bulmaca çözerek kendinize gelebiliyorsanız, o zaman mutlaka bir backend developer olmayı düşünmelisiniz.
Öncelikle, bir back-end geliştiricinin rolünü doğru şekilde anlamamız ve backend nedir tanımlayabilmemiz için web sitelerinin nasıl çalıştığına bakmamız gerekir. İşlemlerin doğru gerçekleşmesi için kodun işlediği iki yer vardır: İstemci tarafı ve sunucu tarafı.
İstemci taraflı kodlama, front-end geliştiricilerin tek etki alanıdır. HTML, CSS ve JavaScript kullanarak web sayfasının yapısını oluşturur, geçişleri tereyağı kadar pürüzsüz hale getirir ve düğmeleri tıklanabilir ve metin alanlarını düzenlenebilir hale getirir.
Sunucu tarafında çalışan hiçbir şey back-end geliştiriciler olmadan işe yaramaz. İşlemler detaylıdır ve web sitesinin kritik bölümleri için sorumluluk almanızı gerektirir. Öte yandan, bekleyebileceğiniz back-end web geliştirici maaşı, çoğu ülkede ve hatta genel olarak web geliştirme alanında ülkenin genel ortalamasının oldukça üzerindedir.
Örnek olarak BitDegree'yi ele alalım.
BitDegree'ye kaydolmaya karar verdiğinizde, Kayıt Ol düğmesini tıklayın. Ardından web sitesi sizi bilgilerinizi girdiğiniz ve işleme devam ettiğiniz kayıt sayfasına yönlendirecektir.
Bir back-end web geliştiricisi hesap verilerinizi kaydetmenin en iyi yolunu buldu, bilgilerin doğru olduğunu doğrulayabildi (geçerli bir e-posta adresi ve adresin gerçekten sizin olduğunu kanıtlamak için bir onay e-postası) ve bir daha giriş yaptığınızda (kullanıcı adı ve şifre) gerekli bilgileri otomatik olarak çağıracak.
Kurs sayfalarımıza göz atarken, daha önce kayıt yaptırmamışsanız bir kursa kaydolmanıza izin verecek düğmeleri görürsünüz. Bir düğmeyi tıklattığınızda, kod front-end geliştiricilerin yazdığı kod, back-end elemanlarının sizi kursa kaydetmeleri için yazdığı işlevi çağıracaktır.
Temel olarak, bir BitDegree back-end geliştiricisi web sitesini sunucu tarafında çalıştırmaya devam eden bütün görevleri yazarken, front-end sihirbazları da web sitesini güzelleştirir ve gördüğünüz bütün öğeleri sunucu tarafından ayarlanmış işlevlerine bağlar.
Back-end geliştiricinin sorumlulukları
Umarım, artık backend nedir sorusunun cevabını ve bir back-end geliştiricisinin ne olduğu ve işinin front-end insanların yaptıklarından nasıl farklı olduğu hakkında biraz bilgi sahibi olmuşsunuzdur. Peki, bir backend developer nerelerden sorumludur?
Sunucu tarafı mantığı
“Back-end geliştirici nedir?” diye sorulduğunda yanıt vermenin en iyi yolu, web sitesinin sunucu tarafında gerçekleştirilen eylemleri programlamaktan sorumlu bir geliştirici olduğunu söylemektir.
Pernir ekmeğiniz:
- Kullanıcı doğrulama. Kullanıcının hesap ayrıntılarının doğru olduğunu kontrol etmek, hangi bölümleri görmesine izin verileceğini kararlaştırmak vs.
- Görev işleme. Bir we bsayfasındaki görevin işleme alındığından emin olmak ve bir hata çıkmamasını sağlamak.
- Optimizasyon. Web sayfasının her işleminin kesintisizce çalıştığından emin olmak ve aynı zamanda en hızlı biçimde işlediğini görmek.
Otomatik bildirimler
Bir işi tekrar tekrar yapmak zorundaysanız, size verilecek ilk tavsiye bunu otomatiğe bağlamanız gerektiğidir. Bu en çok web sitesi geliştirmede geçerli bir şeydir ve kesin olarak şu soruyu cevaplamanın yollarından biri: Back-end geliştiriciler nelerden sorumludur?
Örneğin, BitDegree'de bir hesaba kaydolduğunuzda adresinizi doğrulamak için otomatik bir e-posta alırsınız. Aynı şey bir şifreyi kurtarmaya çalıştığınızda ya da benzeri başka bir işlemi gerçekleştirdiğinizde de geçerlidir.
Otomasyon programında back-end geliştiricinin rolü nedir? Bu süreci çalıştıran kodu yazan kişi odur. 7/24 çevrimiçi olan binlerce kullanıcı olsa ve e-postaları manüel olarak göndermek zorunda olsaydık ne olacağını hayal edin. Basit bir doğrulama e-postası için günlerce beklemeniz gerekirdi.
Ayrıca, yeni bildirimleri gönderen ve ilginizi çekebilecek yeni hizmetler hakkında sizi bilgilendiren otomatik bildirimler de bulunmaktadır. Bunların hepsi back-end geliştiriciler tarafından halledilir.
Veri Onaylama
Sunucu tarafı mantığını kodlamanın yanı sıra, “back-end geliştirici nedir” sorusuna bir başka cevap şu da olabilir: Sistemi güvenli hale getiren insan. Backend nedir anlamak için bunları çözmek gerekli. Web sitesinde ön tarafta gördüğünüz bölüm, HTML ve CSS’leri düzenleyerek tarayıcıda değiştirilebilir (Google Chrome'da F12). Bu değişiklikler siz sayfayı yenileyene kadar geçerli kalır.
Komple bütün web sitesi değiştirmek bu kadar kolay olsaydı, internet bankacılığı ve hatta BitDegree bile hack girişimlerine karşı savunmasız hale gelirdi. Neyse ki işler bu şekilde yürümüyor ve bütün dünyanın başı derde girmiyor.
Bir web sitesinin ihtiyaç duyabileceği tüm veriler veritabanlarında depolanır. Tarayıcınız göreceğiniz sayfayı oluşturduğunda, fiyatlar, stoktaki öğe sayısı vb. ihtiyaç duyduğu veri değerlerini veritabanından çağırır. Bilgiyi girdiğinizde, veritabanını güncellemek için bir teklif oluşturulur.
Bir back-end geliştirici nedir? Backend nedir merak ediyorsanız bu işi yapan insanı da anlamalısınız. Sunucu tarafında ayarlamalar yapılmadan önce, girilen verinin yapıldığını onaylamak için süreçler oluşturmak zorunda olan zavallı kişidir.
Olayın nasıl işlediğini size göstermenin basit bir yolu da temel bir login işleminin nasıl çalıştığını göstermektir.
Şu e-posta adresini girdiğinizi varsayalım: [email protected] şifresi de şu olsun: $uPer$eurr£a$$512.
Giriş yaptığınızda, bu işlem [email protected] adresine e-posta gönderilecek bir hesap olup olmadığını anlamak için bir istek gönderir. Eğer girmediyseniz, girdiğiniz giriş bilgilerinin yanlış olduğuna dair bir bildirim alırsınız. Bu e-posta adresine sahip bir hesap varsa ama kaydedilen şifreyle girmiş olduğunuz eşleşmiyorsa, gene bir hata alırsınız.
Basitçe söylemek gerekirse, web sitesine girdiğiniz bilgilerin veritabanının bir parçası olmadan önce bir back-end geliştirici tarafından yazılan kodla doğrulanması gerekir.
Veritabanı Erişimi
Bir önceki konuya benzese de, arada önemli farklar vardır. Bir back-end geliştirici olarak, sitenin yapması gerekenleri yapması için web sitesi tarafından tutulan çeşitli veritabanlarına erişmek sizin görevinizdir. Yazdığınız kod sayesinde web sitesinin güvenli olduğundan ve amaçlandığı şekilde çalıştığından emin olmalısınız.
Ayrıca, web sitesinin olabildiğince hızlı yüklenebilmesi için bütün işlemin akıcı bir şekilde sağlantığından emin olmak da sizin sorumluluğunuz altındadır.
API'ler
Bazı insanlar düzgün çalışması için üçüncü parti API'lere ihtiyaç duyar. Bir back-end geliştirici nedir? Her şeyin yolunda gitmesini sağlayan şanslı insan! Sitenizin işlevselliğini kullanmak için de diğer web sitelerine API yazabilirsiniz.
API'lerle çalışmak ve API oluşturmak, back-end bir web geliştiricisi olarak işinizin büyük bir parçası olabilir, bu nedenle onlar alışmak harika bir fikir. Neyse ki, bunlarla birlikte çalışmak çok eğlenceli olabilir çünkü size zaman kazandırır. Veya karmaşık bir sistemi sıfırdan kodlamanız gerektiğinden daha fazla baş ağrısı yaratabilir.
Bununla birlikte, bazen API'leri kodlayan kişilerin aldıkları kararlar nedeniyle onlarla birlikte çalışmak can sıkıcı ve zor olabilir.
En iyisi iyi olmak evlat!
Back-end Geliştirme İçin İhtiyacınız Olan Araçlar
Back-end geliştiricisinin ne olduğunu bulmaya çalışırken, yukarıda tartıştığımız şeyleri bilmek çok faydalı olacak. Backend nedir cevaplamak için etki alanlarını öğrenmeliyiz. Back-end geliştiricilerin neyden sorumlu olduklarını ve neyden olmadıklarını bilmek ve işin neleri içerdiğini anlamak önemlidir
Yine de bütün bunlar backend developer olmanızı sağlamıyor. Bir backend developer nedir? Şu araçların içini dışını bilen kişidir:
Sunucu tarafı programlama dili
HTML ve CSS ile ilgili temel bilgiler bilmeniz gerekirken, işinizin büyük bir kısmı programlama dilinin kendisi tarafından gerçekleştirilecektir. PHP, Node.js (back-end programlama için JavaScript'i etkinleştirir), Python ve diğerleri sunucu taraflı kodlama için kullanılabilir ancak hangi tarafı seçeceğinizi bilmek önemlidir.
Sorun şu ki farklı işverenler farklı dilleri bilmenizi isteyeceklerdir. Sonuçta eğer yalnızca PHP biliyorsanız JavaScript’i sunucu taraflı programlama dili olarak etkinleştirmek için Node.js kullanan bir şirkette çalışamazsınız. Backend nedir anlamak işte bu yüzden önemlidir.
Haydi belirli bir sıra göz etmeden en popüler 3 sunucu taraflı programlama dillerini daha detaylı bir biçimde inceleyelim:
PHP
Bu programlama dili neredeyse her zaman vardı ancak gün geçtikçe modasının geçtiği belirtilerini gösteriyor. Bu doğru olsa bile, PHP dili ile birçok harika şey yapabileceğiniz doğru.Dilin eleştirmenleri genellikle yapısal bir ziyan olduğunu söylerler.
PHP tam bir dil olarak oluşturulmadığından bu son derece anlaşılabilir bir durum. Aslında, yaratıcısı düzgün bir programlama dili oluşturmaya bile başlamadı. Zaman geçtikçe, daha fazla insan PHP'yi aldı ve eklemeye başladı. Sonuç, tutarlı olmamasıdır.
PHP istihdam açığı sayısı, normal olandan da önemli ölçüde düşmüştür. Bu, şu anda PHP'nin arka plandaki gelişimini başarabilmek ve daha sonra mesleki standartlara göre öğrenmek için biraz daha fazla rekabet olacağı anlamına geliyor.
Node.js
İnsanlar Node.js'yi ve ne için kullanıldığını duyduklarında, sık sık akılları karışıyor. Uzun bir süre boyunca, bir web sitesinin front-end’i için programlama dilinin JavaScript olması kaide gibi bir şeydi, yalnızca back-end için düzgün bir dil kullanırdınız. Node.js işin içine girdiğinden beri artık durum böyle değil.
Teknik olarak, Node.js bir programlama dili değildir, sunucu tarafı uygulamalar için JavaScript kullanmanıza izin veren çalışma ortamıdır. Her şeyi pür isteyen insanlar için bu çok ters bir durum.
Geçen yıl bile, PHP geliştiricileri için Node.js.'den daha fazla iş ilanı vardı. Öte yandan, PHP talebi istikrarlı bir şekilde düşerken, Node.js artabilir.
Aklınıza, sunucu tarafında programlama için JavaScript'in kullanılabileceği gerçeğine getirebilirseniz, öğrenmenin iyi bir fikir olduğunu düşünürsünüz. Node.js'i ilk back-end geliştirme aracınız olarak öğrenmek, ciddi bir şirket için çalışmaya hazırlanırken kendinizi geçindirmenize yardımcı olabilir.
Nasıl?
Back-end geliştirme konusunda uzmanlaşmayı planlıyor olsanız bile, front-end avamlarının ne yaptığını anlamak için HTML, CSS ve JavaScript'te iyi olmanız gerekir. Onlar backend nedir bilmeyebilirler ancak siz onların ne işler çevirdiklerini bilmek zorundasınız. Node.js'ye odaklanırsanız, bir web sitesi tasarımcısı olarak serbest çalışmak için söz konusu front-end işlerini siz yapabileceksiniz. Ne de olsa, serbest çalışan müşteriler, onlar için yaptığınız basit web sitesinin işe yarayıp yaramadığının farkında olup olmadığını bilmez.
Python
Python, şu anda dünyanın en yükselişte olan programlama dillerinden biridir. Back-end geliştirme yerine makine öğrenmesi için de olsa bu böyle. Bununla birlikte, gerçekten iyi yapılmış bir dil, yeni başlayanların dostu, birlikte çalışması eğlenceli ve çok güçlüdür.
En güçlü yanı Python'un çok büyük miktarda veriyi kullanabilmesidir. Büyük veri uygulamalarına sahip olan projeler üzerinde çalışmak istiyorsanız, Python en iyi seçeneğinizdir.
Makinenizin arka cebinizde öğrenmesini istiyorsanız da Python öğrenmesi harika bir dildir. Artık bu durumda web geliştiriciliğin sizin için olmadığını düşünmeye başlamışsınızdır.
- Kullanması kolay
- Kaliteli içeriğe sahip
- Fiyat konusunda saydam
- Tamamlamada ücretsiz sertifikalar
- Veri bilimi becerilerine odaklanıyor
- Esnek eğitim programları
- Basit tasarım (gereksiz bilgi yok)
- Yüksek kaliteli dersler (ücretsizler dahil)
- Çeşitli özellikler
- Nanodegree programları
- Firmalara uygun
- Ücretli tamamlama sertifikası
- Sektörde iyi biliniyor
- Pek çok özelliğe sahip
- Dersler üniversite düzeyinde
- Üniversite düzeyince dersler
- Şirketler için uygun
- Ücretli tamamlama sertifikası
Veri tabanı sistemi
Önceki bölümlerden fark etmiş olabileceğiniz gibi, veri tabanlarıyla çalışmak, backend nedir sorusunun cevabının bir parçası olacaktır.
Hepimiz özgürlüğü isteriz ancak, programlama dili seçiminiz, özellikle kararınızdaki popüler yığınları (veya birlikte kullanılan teknolojileri) hesaba kattığınızda, öğrenmek için bir veritabanı sistemi seçerken sizin için karar vermesi muhtemeldir. .
Örneğin, Node.js ile JavaScript kullanarak back-end’i kodlamayı öğrenmeye karar verirseniz, MongoDB veritabanlarıyla çalışmayı öğrenmelisiniz. Öte yandan, PHP programlama dilini seçerseniz, tutarlı kalmak için MySQL veya diğer SQL tabanlı veritabanı sistemleriyle çalışmayı öğrenmeniz gerekecektir.
Çerçeveler
Çalışmayı öğrenmek isteyebileceğiniz web çerçeveleri hakkında konuşmadan önce, bir web çerçevesinin ne olduğunu tanımlamamız gerekir. Basit bir ifadeyle, bir web çerçevesi, web uygulamanızın inşa edildiği çerçevedir.
Web sitenizin yapısını tanımlayan araçtır, API'ler (ürününüzün özelliklerinin diğer ürünlerde kullanılmasına izin veren Uygulama Programlama Arabirimleri) oluşturmanıza ve kodu farklı yerlerde yeniden kullanmanıza olanak sağlar.
Node.js
Eğer JavaScript ekosistemine girmeye karar verirseniz (ve harika olduğundan dolayı yapmamanız için hiçbir sebep yok), Express.js muhtemelen kullanacağınız web uygulaması çerçevesidir. Başka seçenekler de var tabii, ama Express en popüler olanı.
PHP için
PHP üzerine kurulu iki çerçeve ve bir CMS (İçerik Yönetim Sistemi) vardır, bu nedenle bu sistemleri kullanan bir işe başvurursanız bunu öğrenmek zorunda kalabilirsiniz. Eğer iş ilanı Symfony veya Laravel'den bahsederse, işin PHP gerektireceğini bilin.
Birlikte çalışacağınız web sitesi WordPress içeriyorsa, özel eklentilere ihtiyaç duymanız durumunda biraz PHP'ye ihtiyacınız olabilir. Sonuçta WordPress PHP ile yazılmıştır.
Python için
Python’u seçerseniz, Django web çerçevesini öğrenmek zorunda kalma ihtimaliniz çok yüksek. Python'un diğer dillere göre veri işleme avantajlarına yönelik geniş kapsamlı veritabanlarının kullanımıyla çalışan karmaşık web siteleri oluşturma işlemini kolaylaştırmak en iyisidir.
C # için
C#’a yerleşerek, .NET Framework ile nasıl çalışılacağını bilmeyi zorunlu kılan Microsoft ekosistemine kaydolursunuz.
Tamam, ama ne kadar kazanabilirim?
Geleceğinizi etkileyecek olan bir kariyer kararı verirken back-end web geliştirici maaşı sorusu çok önemlidir. Backend yazılımcı nasıl olunur diye merak edenlerin çoğunun merak ettiği konu işin finansal yönüdür. Ama keşke olmasaydı.
Bir backend developer nedir? Backend nedir sorusunun önemli bir parçası bu. Sunucu tarafında internet işlerini yapan bir kişi. Cevap, “Büyük para kazanan kişi!” Gibi bir şey asla değildir ve olmamalıdır.
Ne kadar ödeme yapılırsa yapılsın, gününüzü rahat geçirmenizi sağlayamıyorsa hiçbir işe yaramaz. Back-end geliştirici maaş faktörünü düşünmeden önce, back-end kodlamanın yapmaktan hoşlanacağınız bir şey olup olmadığını düşünmelisiniz.
Devasa bir web sitesinin çalışmasının sunucu tarafı mantığını oluşturmak, back-end işlemleri güvence altına almak, API'lerle çalışmak ve veritabanlarınızın bütünlüğünden sorumlu olmak son derece önemli görevlerdir. Açıkçası, bu sorumluluğu taşıyan size sunulan back-end web geliştirici maaşına yansıtılmalıdır. Öte yandan, Yeni geliştirici olarak bir servet kazanmayı beklemeyin. Kariyerinizin bu aşamasında, cömert tazminat paketlerini size ulaştıran kavramları düşünmeden önce hala öğreneceğiniz çok şey var.
Web geliştirme ana alanında, back-end geliştirme maaşı genel olarak en yüksektir. Örneğin, New York City'de yılda 100.000 $'a kadar para kazanmayı bekleyebilirsiniz. Diğer ülke ve şehirlerde bu rakam biraz daha düşük olabilir, ancak yine de bu yerlerde yaşama maliyeti çoğu durumda göreceli olarak düşüktür.
Back-end geliştirici maaşı da ülkeye göre değişmektedir. Bazı düşük ortalama gelirli ülkelerde, beklediğiniz back-end geliştirici maaşı, New York City rakamından önemli ölçüde düşüktür, ancak ulusal ortalamayı dikkate aldığınızda yine de harikadır. Bazı ülkelerde backend nedir bile bilinmezken, hemen hemen diğer her yerde çok para kazandırır. Faturaları ödedikten sonra ve back-end web geliştirmede elinize fazladan para geçeceği neredeyse garantidir.
Bununla birlikte, back-end geliştirme ve programlamanın genel olarak bir sorunu çözmek ve bir şeyler inşa etmek için bir araç olduğunu unutmayın. Bu kariyeri parası için değil üstlendiği işlevi için kovalamalısınız. Bir şeyleri oluşturmak, sorunları çözmek ve mutlu olmak. Dolgun bir maaş için nefret ettiğin şeyi yapma.
Biliyor Muydunuz?
Kariyeriniz için hangi online eğitim platformunun daha iyi olduğunu merak etmiş miydiniz?
Kapanış Olarak…
Bu noktada, back-end geliştiricinin ne olduğunu artık iyice anlamışsınızdır. Artık ne tür araçlar kullanacağınızı aşağı yukarı biliyorsunuz. Kullanmayı öğrenmeniz gereken araçlar hakkında genel bir fikriniz var. Şimdi harekete geçme zamanı! Yarın olmaz, şu an.
Oturun, kullanmak istediğiniz teknolojiyi dikkatlice düşünün ve öğrenmeye başlayın. Başlamak için en iyi yer front-end’dir çünkü daha ileri seviyelerdeki kavramları anlamanız için gereklidir. Daha sonra backend nedir ve backend yazılımcı nasıl olunur keşfedersiniz.
Bu nedenle, HTML, CSS ve JavaScript ile temelden başlayın. Bu konuda bir kez yetkinliğe ulaşırsanız işin geri kalanına da karar verebileceksiniz. Başlamak için harika bir etkileşimli HTML ve CSS kursumuz var.
İyi şanslar ve mutlu kodlamalar!