CodeGym /Blog Jawa /Acak /Part 1. Apa sampeyan kudu ngerti sadurunge sinau Spring l...
John Squirrels
tingkat
San Francisco

Part 1. Apa sampeyan kudu ngerti sadurunge sinau Spring lan JavaEE

Diterbitake ing grup
Yen sampeyan wis rampung (utawa wis cedhak) sinau Java SE, banjur wektune kanggo mikir babagan langkah sabanjure kanggo nelukake profesi pangembang Jawa. Part 1. Apa sampeyan kudu ngerti sadurunge sinau Spring lan JavaEE - 1 Ing tangan siji, sampeyan wis duwe pemahaman sing apik babagan Jawa: sampeyan ngerti carane nggarap IDE, nulis program, lan liya-liyane. Nanging apa sing kudu ditindakake sabanjure karo program sampeyan? Kepiye carane nggawe dheweke luwih adhem lan "mbubarake jagad iki"? Dadi jelas yen wektune sinau babagan teknologi perusahaan. Lan saiki kesenengan diwiwiti. Ora Matter kang tumpukan teknologi sampeyan arep kanggo miwiti karo. Apa JavaEE utawa Spring, sampeyan bakal nemokake akeh perkara sing adoh, adoh saka pangerten sampeyan. Antarane dhasar Jawa lan teknologi maju isih ana langkah penengah ing kawruh sing kudu ditindakake supaya bisa njaga kontrol lan rasa percaya diri nalika maca dokumentasi sing akeh. Mulane,yaiku menehi kawruh teoritis minimal sing dibutuhake kanggo sinau luwih lanjut babagan JavaEE utawa Spring. materi iki dipérang dadi 7 bagean:
  1. Kita bakal ngomong sethithik babagan jaringan.
  2. Kita bakal nliti arsitektur klien-server lan telung tingkat.
  3. Kita bakal njelajah protokol HTTP/HTTPS.
  4. Kita bakal sinau kabeh sing sampeyan kudu ngerti babagan Maven.
  5. Kita ngomong babagan logging.
  6. Babagan wadhah servlet.
  7. Lan pungkasanipun, babagan MVC.

Part 1. Kita bakal ngomong sethithik babagan jaringan.

Ayo miwiti apa sing paling penting kanthi ngomong babagan apa saben jaringan sosial, layanan web lan aplikasi web, instant messenger lan situs web prasaja dibangun ing — jaringan (ing konteks seri artikel iki, istilah "jaringan" tegese Internet ) . Jaringan kasebut dumadi saka pirang-pirang komputer: padha saling nyambungake lan bisa komunikasi. Penting kanggo ngerti carane nindakake iki, amarga aplikasi web ngirim informasi saka komputer siji menyang komputer liyane.

model OSI

Model Open Systems Interconnection (OSI) nggawe pendekatan berjenjang kanggo mbangun jaringan. Iku cetha nuduhake carane lan ing apa entitas lapisan saka jaringan sing padha bisa sesambungan karo saben liyane. Umumé, model iki ngemot 7 lapisan:
7 Aplikasi
6 Presentasi
5 Sesi
4 Tumpaan
3 Jaringan
2 Link data
1 fisik
Mbusak model dadi lapisan abstraksi ngidini pangembang nggarap lapisan transportasi, umpamane, ora kudu mikir babagan rincian implementasi ing tingkat jaringan lan lapisan sesi. Pendekatan iki uga digunakake ing program. Ayo kita nimbang kabeh lapisan model OSI, lan nemtokake endi sing menarik kanggo kita:
  1. Lapisan fisik - Lapisan iki gegayutan karo hukum fisika lan cara nggunakake kanggo tujuan kita. Contone, nggawe kabel lan laying menyang entitas ing jaringan.

    Lapisan iki ora narik kawigaten kita.

  2. Lapisan link data - Lapisan iki tanggung jawab kanggo ngirim data menyang simpul jaringan lan nggawe saluran transmisi data kanggo obyek fisik.

    Lapisan iki ora narik kawigaten kita kajaba sampeyan pengin nulis perangkat kukuh kanggo hardware sing nggawe pranala data.

  3. Lapisan jaringan - Lapisan iki kanggo nemtokake alamat pangguna jaringan individu lan rute menyang dheweke. Ana nilai kanggo sinau luwih lengkap babagan rincian lapisan iki, yaiku, alamat jaringan.

    Alamat jaringan ditetepake kanthi protokol khusus: sing paling umum yaiku IPv4 (Internet Protocol versi 4). Iki minangka protokol sing kudu digunakake programmer web kanggo ngubungi pangguna jaringan liyane.

    Alamat IPv4 kasusun saka papat nilai bait sing dipisahake dening titik, contone: 192.0.2.235. Sampeyan kudu elinga yen nilai kasebut minangka bita, tegese ana ing kisaran 0..255.

    Alamat IP, ing siji, dipérang dadi kelas. Kita ora mung bisa nemtokake kombinasi nomer sing apik, nanging ora bakal luwih jero. Cukup ngerti yen alamat IP kanthi unik ngenali pangguna jaringan lan bisa digunakake kanggo ngubungi pangguna kasebut.

  4. Lapisan transportasi - Lapisan iki nangani ngirim informasi menyang sing dituju. Macem-macem protokol digunakake kanggo ngrampungake iki. Saiki, kita ora kasengsem karo wong-wong mau. Kita luwih kasengsem ing konsep port , sing katon ing lapisan iki.

    Port tanggung jawab kanggo ngenali aplikasi tartamtu ing komputer. Contone, umpamane sampeyan nulis aplikasi chatting ing Jawa, nginstal ing 2 komputer, lan pengin ngirim pesen menyang kanca. Pesen sampeyan rangkep, dikirim menyang alamat IP tartamtu, lan dikirim menyang kanca, nanging komputer ora ngerti apa sing kudu dilakoni karo informasi sing ditampa, amarga ora ngerti aplikasi sing kudu ngolah pesen sampeyan. Nalika entitas jaringan komunikasi, port digunakake kanggo nunjukake aplikasi sing kudu ngolah informasi kasebut.

    Port kasebut minangka nomer ing sawetara saka 0 nganti 65535. Iki ditambahake menyang alamat IP sawise titik titik: 192.0.2.235:8080 . Nanging sampeyan ora bisa nggunakake kabeh port ing sawetara sing ditemtokake: sawetara sing dilindhungi undhang-undhang kanggo sistem operasi, liyane biasane digunakake kanggo tujuan tartamtu. Kita ora bakal nyelidiki tujuan saka macem-macem port. Saiki, cukup ngerti perane ing proses komunikasi ing jaringan.

  5. Lapisan sesi - Lapisan iki nggawe lan ngatur sesi komunikasi. Ing lapisan iki, aplikasi bisa sesambungan, ngirim panjalukan tingkat layanan. Apa sing kudu dingerteni yaiku ing lapisan iki sesi dibukak ing antarane rong pangguna, lan kita kudu nggarap sesi kasebut.

    Sesi minangka entitas sing digawe nalika sambungan digawe antarane rong pangguna. Bisa nyimpen informasi sing dibutuhake babagan pangguna lan babagan sejarah interaksi karo pangguna. Rincian penting yaiku nalika ijol-ijolan informasi mandheg, sesi kasebut ora ilang. Nanging, iku nahan sawijining negara kanggo wektu sing disetel, supaya pangguna bisa terus ijol-ijolan informasi sawise break.

    Yen aplikasi sesambungan karo sawetara pangguna bebarengan, banjur nomer sambungan sing cocog (lan kanthi mangkono sesi) ditetepake. Saben sesi duwe pengenal (ID) unik , sing ngidini aplikasi mbedakake antarane pangguna sing sesambungan.

  6. Lapisan presentasi - Lapisan iki tanggung jawab kanggo enkoding / dekoding data. Temenan, yen kita kudu ngirim senar "Hello web" menyang pangguna liyane, mula diowahi dadi (dienkode minangka) kode binar, lan mung banjur dikirim. Sawise tekan panampa, pesen kasebut diowahi maneh (decoded), lan panampa bisa ndeleng senar asli. Tumindak kasebut ditindakake ing lapisan presentasi.

  7. Lapisan aplikasi minangka lapisan sing paling menarik kanggo kita. Iki ngidini aplikasi kanggo komunikasi karo jaringan. Ing lapisan iki, kita nampa lan ngirim pesen, lan nggawe panjalukan kanggo layanan lan database remot.

    Ana akeh protokol sing digunakake ing lapisan iki: POP3, FTP, SMTP, XMPP, RDP, SIP, TELNET lan, mesthi, HTTP / HTTPS. Protokol minangka persetujuan universal sing kita tindakake nalika komunikasi. Kita mesthi bakal menehi diskusi rinci babagan HTTP / HTTPS.

Bagean 1. Apa sampeyan kudu ngerti sadurunge sinau Spring lan JavaEE - 2Kita ora perlu ngerti carane saben lapisan model bisa dianggo. Ingkang utama yaiku mangertos prinsip-prinsip ing mburi operasi unsur-unsur sing kudu digarap nalika nulis aplikasi web, yaiku:
  • Alamat IP - Alamat pangguna ing jaringan
  • Port - Alamat aplikasi pangguna tartamtu
  • Sesi - Entitas sing ana sajrone wektu komunikasi antarane rong pangguna
  • Protokol aplikasi (HTTP/HTTPS) - Iki minangka aturan sing bakal kita tindakake nalika nulis lan ngirim pesen.
Nalika ngunjungi toko online, contone, kita nuduhake alamat lan porte. Nalika kunjungan pisanan kita, sesi digawe. Toko bisa ngrekam informasi ing sesi. Contone, toko bisa nyimpen informasi babagan barang sing ditinggalake ing kranjang blanja. Yen kita nutup tab karo toko online lan banjur bali menyang mengko, item kita isih bakal ing cart amarga padha disimpen ing sesi. Mesthine, kabeh informasi sing ditampa saka toko sing ditampa liwat protokol HTTP/HTTPS, lan browser ngerti carane ngolah. Sampeyan bisa mbantah, ngandika sing tau ngetik alamat lan port ing browser, lan sampeyan bakal sebagéyan tengen. Apa sing ditindakake yaiku ngetik jeneng domain, sing diowahi dening server DNS. Ayo dipikir luwih apik apa sing ana ing kene.

DNS (Sistem Jeneng Domain)

Kaya sing wis kita sinau, saben pangguna jaringan duwe alamat sing unik. Yen kita ngomong babagan aplikasi kasebut, alamat unik kasebut yaiku IPv4-address:port . Yen sampeyan ngerti alamat iki, sampeyan bisa langsung ngakses aplikasi kasebut. Bayangake yen kita nulis aplikasi web sing nuduhake suhu udara rata-rata ing kabeh negara kanthi wektu nyata. Kita disebarake ing server kanthi alamat 226.69.237.119, ing port 8080. Supaya bisa nampa informasi saka kita, pangguna kudu ngetik 5 nomer ing browser: 226.69.237.119:8080. Wong ora seneng ngapalake set nomer: akeh sing ora bisa ngelingi luwih saka rong nomer telpon. Mulane Sistem Jeneng Domainiki nemokke. Kita bisa nggawe "alias" kanggo alamat kita, contone, world-temperature.com. Tinimbang nggoleki kita nggunakake alamat sing dumadi saka limang nomer sing angel dielingi, pangguna bisa ngetik jeneng domain kita ing bilah alamat browser. Ana server DNS sing map jeneng domain menyang alamat nyata. Contone, nalika pangguna mlebu codegym.cc ing browser, panjaluke dikirim menyang server DNS, sing ngowahi dadi alamat sing bener. Part 1. Apa sampeyan kudu ngerti sadurunge sinau Spring lan JavaEE - 4Iki penting kanggo kita ngerti, amarga aplikasi kita bakal nelpon layanan remot kanthi jeneng domain lan alamat nyata. Kita kudu ngerti manawa layanan kasebut padha. Semono wae! Ing artikel iki, kita ndeleng dhasar jaringan, sing bakal migunani nalika sampeyan miwiti sinau pemrograman web.Sabanjure, kita bakal ndeleng apa arsitektur klien-server lan kenapa penting banget kanggo ngerti. Part 2. Ayo dadi pirembagan dicokot bab arsitektur software Part 3. HTTP / HTTPS Part 4. dhasar Maven Part 5. Servlets lan Java Servlet API. Nulis aplikasi web sing prasaja Part 6. Wadah Servlet Part 7. Ngenalake pola MVC (Model-View-Controller)
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION