CodeGym /Java Blogu /Rastgele /Bölüm 1. Spring ve JavaEE'yi öğrenmeden önce bilmeniz ger...
John Squirrels
Seviye
San Francisco

Bölüm 1. Spring ve JavaEE'yi öğrenmeden önce bilmeniz gerekenler

grupta yayınlandı
Java SE'yi öğrenmeyi zaten bitirdiyseniz (veya öğrenmeye yakınsanız), Java geliştiricisi mesleğini fethetmek için sonraki adımlarınızı düşünmenin zamanı geldi. Bölüm 1. Spring ve JavaEE'yi öğrenmeden önce bilmeniz gerekenler - 1 Bir yandan, Java'yı zaten iyi anlıyorsunuz: bir IDE ile çalışmayı, program yazmayı ve çok daha fazlasını biliyorsunuz. Ancak programlarınızla bundan sonra ne yapmalısınız? Onları nasıl daha havalı hale getirebilir ve "onları dünyaya salabilirsiniz"? Kurumsal teknolojiler üzerine çalışmaya başlamanın zamanının geldiği aşikar hale geliyor. Ve şimdi eğlence başlıyor. Hangi teknoloji yığınıyla başlamaya karar verdiğiniz önemli değil. İster JavaEE ister Spring olsun, kavrayamayacağınızın çok çok ötesinde bir ton şeyle karşılaşmanız muhtemeldir. Java'nın temelleri ile ileri teknolojileri arasında, ciltler dolusu belgeleri okurken özdenetiminizden ve özgüveninizden geriye kalanları korumak için atılması gereken bilgide bir ara adım vardır. Öyleyse,size JavaEE veya Spring ile ilgili ilerideki çalışmalarınız için gerekli olan minimum teorik bilgiyi vermektir. Bu malzeme 7 bölüme ayrılmıştır:
  1. Ağ oluşturma hakkında biraz konuşacağız.
  2. İstemci-sunucu ve üç katmanlı mimariyi inceleyeceğiz.
  3. HTTP/HTTPS protokollerini inceleyeceğiz.
  4. Maven hakkında bilmeniz gereken her şeyi öğreneceğiz.
  5. Kayıt hakkında konuşuyoruz.
  6. Servlet kapsayıcıları hakkında.
  7. Ve son olarak, MVC hakkında.

Bölüm 1. Biraz ağ oluşturma hakkında konuşacağız.

Her sosyal ağın, web hizmetinin ve web uygulamasının, anlık mesajlaşma programının ve basit web sitesinin üzerine kurulu olduğu ağ hakkında konuşarak en önemli şeyle başlayalım (bu makale dizisi bağlamında, "ağ" terimi İnternet anlamına gelir ) . Ağ çok sayıda bilgisayardan oluşur: birbirine bağlıdır ve iletişim kurabilirler. Bunu nasıl yaptıklarını anlamak önemlidir, çünkü web uygulamaları bilgileri bir bilgisayardan diğerine gönderir.

OSI modeli

Açık Sistemler Ara Bağlantısı (OSI) modeli, bir ağ oluşturmak için katmanlı bir yaklaşım oluşturur. Aynı ağdaki varlıkların birbirleriyle nasıl ve hangi katmanda etkileşime girebileceğini açıkça gösterir. Toplamda, bu model 7 katman içerir:
7 Başvuru
6 Sunum
5 Oturum
4 Ulaşım
3
2 Veri bağlantısı
1 Fiziksel
Modeli soyutlama katmanlarına bölmek, örneğin taşıma katmanı üzerinde çalışan geliştiricilerin ağ ve oturum katmanları düzeyinde uygulama ayrıntılarını düşünmek zorunda kalmamalarını sağlar. Bu yaklaşım programlamada da kullanılır. OSI modelinin tüm katmanlarını ele alalım ve hangilerinin bizi ilgilendirdiğini belirleyelim:
  1. Fiziksel katman — Bu katman, fizik yasalarını ve bunları amaçlarımız için nasıl kullanacağımızı ele alır. Örneğin, kablolar oluşturmak ve bunları ağdaki varlıklara döşemek.

    Bu katman bizi ilgilendirmiyor.

  2. Veri bağlantı katmanı — Bu katman, verilerin ağ düğümlerine iletilmesinden ve fiziksel nesneler için veri aktarım kanalları oluşturulmasından sorumludur.

    Veri bağlantılarını kuran donanım için aygıt yazılımı yazmak istemediğiniz sürece bu katman bizi ilgilendirmiyor.

  3. Ağ katmanı — Bu katman, bireysel ağ kullanıcılarının adreslerini ve bunlara giden yolları belirlemek içindir. Bu katmanın ayrıntıları, yani ağ adresleri hakkında daha fazla bilgi edinmenin değeri vardır.

    Ağ adresleri özel bir protokolle tanımlanır: en yaygın olanı IPv4'tür (İnternet Protokolü sürüm 4). Bu, bir web programcısının başka bir ağ kullanıcısıyla iletişim kurmak için kullanması gereken protokoldür.

    Bir IPv4 adresi, noktalarla ayrılmış dört bayt değerinden oluşur, örneğin: 192.0.2.235. Bu değerlerin bayt olduğunu, yani 0..255 aralığında olduğunu unutmamalısınız.

    IP adresleri de sınıflara ayrılır. Kendimize güzel bir sayı kombinasyonu atayamayız ama burada çok derine inmeyeceğiz. Bir IP adresinin bir ağ kullanıcısını benzersiz bir şekilde tanımladığını ve bu kullanıcıyla iletişim kurmak için kullanılabileceğini anlamak yeterlidir.

  4. Aktarım katmanı — Bu katman, bilgilerin bir alıcıya iletilmesini yönetir. Bunu gerçekleştirmek için çeşitli protokoller kullanılır. Şimdilik onlarla ilgilenmiyoruz. Bu katmanda görünen bir bağlantı noktası kavramıyla daha çok ilgileniyoruz .

    Bağlantı noktaları, bir bilgisayardaki belirli bir uygulamayı tanımlamaktan sorumludur. Örneğin, Java'da bir sohbet uygulaması yazdığınızı, 2 bilgisayara yüklediğinizi ve arkadaşınıza bir mesaj göndermek istediğinizi varsayalım. Mesajınız paketlenir, belirli bir IP adresine gönderilir ve arkadaşınıza teslim edilir, ancak onun bilgisayarı, hangi uygulamanın mesajınızı işlemesi gerektiğini anlamadığı için alınan bilgilerle ne yapacağını bilemez. Ağ varlıkları iletişim kurduğunda, hangi uygulamanın bilgileri işlemesi gerektiğini belirtmek için bağlantı noktaları kullanılır.

    Bağlantı noktası, 0 ile 65535 arasında bir sayıdır. IP adresine iki noktadan sonra eklenir: 192.0.2.235:8080 . Ancak belirtilen aralıktaki tüm bağlantı noktalarını kullanamazsınız: bazıları işletim sistemi için ayrılmıştır, diğerleri ise genellikle belirli amaçlar için kullanılır. Farklı limanların amaçlarına girmeyeceğiz. Şimdilik, ağdaki iletişim sürecindeki rollerini anlamak yeterli.

  5. Oturum katmanı — Bu katman iletişim oturumları oluşturur ve yönetir. Bu katmanda, uygulamaların hizmet düzeyinde istekler göndererek etkileşim kurması mümkün hale gelir. Bilmemiz gereken, bu katmanda iki kullanıcı arasında bir oturum açıldığı ve oturumla çalışmamız gerektiğidir.

    Oturum , iki kullanıcı arasında bir bağlantı kurulduğunda oluşturulan bir varlıktır. Bir kullanıcı ve kullanıcıyla etkileşim geçmişi hakkında gerekli bilgileri saklayabilir. Önemli bir detay bilgi alışverişi durduğunda oturumun kaybolmamasıdır. Bunun yerine, durumunu belirli bir süre korur, böylece kullanıcılar bir aradan sonra bilgi alışverişine devam edebilir.

    Bir uygulama aynı anda birkaç kullanıcıyla iletişim kuruyorsa, karşılık gelen sayıda bağlantı (ve dolayısıyla oturum) kurulur. Her oturumun , uygulamanın iletişim kurduğu kullanıcıları ayırt etmesine izin veren benzersiz bir tanımlayıcısı (ID) vardır .

  6. Sunum katmanı — Bu katman, verilerin kodlanmasından/kodunun çözülmesinden sorumludur. Açıkçası, "Hello web" dizesini başka bir kullanıcıya göndermemiz gerekirse, önce ikili koda dönüştürülür (kodlanır) ve ancak o zaman gönderilir. Alıcıya ulaştıktan sonra mesaj geri dönüştürülür (kodu çözülür) ve alıcı orijinal diziyi görebilir. Bu işlemler sunum katmanında gerçekleşir.

  7. Uygulama katmanı bizim için en ilginç katmandır. Uygulamaların ağ ile iletişim kurmasını sağlar. Bu katmanda, mesajları alıp göndeririz ve hizmetlere ve uzak veritabanlarına istekte bulunuruz.

    Bu katmanda kullanılan birçok protokol vardır: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET ve tabii ki HTTP/HTTPS. Protokol, iletişim kurarken bağlı kaldığımız evrensel bir anlaşmadır. HTTP/HTTPS hakkında kesinlikle ayrı ve ayrıntılı bir tartışma sunacağız.

Bölüm 1. Spring ve JavaEE - 2'yi öğrenmeden önce bilmeniz gerekenlerModelin her katmanının nasıl çalıştığını bilmemize gerek yok. Ana şey, web uygulamaları yazarken birlikte çalışmak zorunda kalacağımız öğelerin işleyişinin arkasındaki ilkeleri anlamaktır, yani:
  • IP adresi — Kullanıcının ağdaki adresi
  • Port — Belirli bir kullanıcının uygulamasının adresi
  • Oturum — İki kullanıcı arasındaki iletişim süresi boyunca var olan bir varlık
  • Uygulama protokolleri (HTTP/HTTPS) — Bunlar, mesaj oluştururken ve gönderirken izleyeceğimiz kurallardır.
Örneğin, bir çevrimiçi mağazayı ziyaret ettiğimizde, adresini ve bağlantı noktasını belirtiriz. İlk ziyaretimizde bir oturum oluşturulur. Mağaza, oturumdaki bilgileri kaydedebilir. Örneğin mağaza, alışveriş sepetine bıraktığımız ürünlerle ilgili bilgileri kaydedebilir. Çevrimiçi mağazanın bulunduğu sekmeyi kapatıp daha sonra geri dönersek, ürünlerimiz oturumda kaydedildiği için hala sepette olacaktır. Elbette mağazadan aldığımız tüm bilgileri HTTP/HTTPS protokolü aracılığıyla alırız ve tarayıcımız bunları nasıl işleyeceğini bilir. Adresi ve bağlantı noktasını tarayıcıya hiç girmediğinizi ve kısmen haklı olacağınızı söyleyerek itiraz edebilirsiniz. Yaptığınız, bir DNS sunucusu tarafından dönüştürülen alan adını girmekti. Burada ne olduğuna daha iyi bir göz atalım.

DNS (Alan Adı Sistemi)

Daha önce öğrendiğimiz gibi, her ağ kullanıcısının benzersiz bir adresi vardır. Uygulamadan bahsediyorsak, benzersiz adresi IPv4-address:port olacaktır . Bu adresi biliyorsanız, doğrudan uygulamaya erişebilirsiniz. Gerçek zamanlı olarak tüm ülkelerdeki ortalama hava sıcaklığını gösteren bir web uygulaması yazdığımızı hayal edin. 226.69.237.119 adresli bir sunucuda, 8080 bağlantı noktasında konuşlandırdık. Bizden bilgi alabilmek için kullanıcının tarayıcıya 5 numara girmesi gerekir: 226.69.237.119:8080. İnsanlar sayı dizilerini ezberlemekten hoşlanmazlar: çoğumuz ikiden fazla telefon numarasını hatırlayamayız. Bu yüzden Alan Adı Sistemiicat edildi. Adresimiz için bir "takma ad" oluşturabiliriz, örneğin, world-temperature.com. Kullanıcı bizi hatırlaması zor beş numaradan oluşan bir adres kullanarak aramak yerine, tarayıcının adres çubuğuna alan adımızı girebilir. Alan adlarını gerçek adreslerle eşleyen DNS sunucuları vardır . Örneğin, bir kullanıcı tarayıcıya codegym.cc girdiğinde, talebi bir DNS sunucusuna gönderilir ve sunucu onu gerçek adrese dönüştürür. Bölüm 1. Spring ve JavaEE - 4'ü öğrenmeden önce bilmeniz gerekenlerBunu anlamak bizim için önemlidir, çünkü uygulamalarımız uzak hizmetleri hem etki alanı adlarıyla hem de gerçek adreslerle arayacaktır. Her iki durumda da hizmetlerin aynı olduğunu anlamamız gerekir. Şimdilik bu kadar! Bu yazıda, web programlamayı öğrenmeye başladığınızda kullanışlı olacak olan ağ oluşturmanın temellerine baktık.Bir dahaki sefere istemci-sunucu mimarisinin ne olduğuna ve anlaşılmasının neden bu kadar önemli olduğuna bakacağız. 2. Bölüm. Biraz yazılım mimarisinden bahsedelim 3. Bölüm. HTTP/HTTPS 4. Bölüm. Maven'in temelleri 5. Bölüm. Servlet'ler ve Java Servlet API. Basit bir web uygulaması yazmak Bölüm 6. Servlet kapsayıcıları Bölüm 7. MVC (Model-View-Controller) modeline giriş
Yorumlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION