Naha diajar Java sareng kumaha ngalakukeunana sacara efektif. laporan Yandex

Kumaha basa Jawa béda jeung basa populér séjénna? Naha Java kedah janten basa anu pangheulana diajar? Hayu urang ngadamel rencana anu bakal ngabantosan anjeun diajar Java ti mimiti sareng ku nerapkeun kaahlian program dina basa sanés. Hayu urang daptar béda antara nyieun kode produksi di Jawa jeung ngamekarkeun dina basa séjén. Mikhail Zatepyakin maca laporan ieu dina rapat pikeun pamilon hareup magang Yandex sareng pamekar awal anu sanés - Java Junior meetup.


- Halo sadayana, nami abdi Misha. Kami pamekar ti Yandex.Market, sareng ayeuna kuring bakal nyarioskeun ka anjeun naha diajar Java sareng kumaha cara ngalakukeunana sacara efektif. Anjeun tiasa naroskeun patarosan anu lumrah: naha kuring bakal nyarioskeun carita ieu, sareng sanés pamekar anu kuat sareng pangalaman mangtaun-taun? Kanyataanana kuring sorangan diajar basa Jawa anyar-anyar ieu, kira-kira sataun satengah ka tukang, jadi kuring masih inget kumaha éta jeung naon pitfalls aya.

Sataun ka tukang kuring meunang magang di Yandex.Market. Kuring dimekarkeun backend pikeun Beru, pikeun Pasar sorangan, Anjeun meureun dipaké deui. Ayeuna kuring terus damel di dinya, dina tim anu béda. Kami nyiptakeun platform analitik pikeun Yandex.Market pikeun mitra bisnis.

Naha diajar Java sareng kumaha ngalakukeunana sacara efektif. laporan Yandex

Hayu urang ngamimitian. Naha diajar Java tina sudut pandang praktis? Kanyataanna nyaéta Java mangrupikeun basa pamrograman anu kasohor. Éta ngagaduhan komunitas anu ageung pisan.

Contona, aya sapertos indéks TIOBE, indéks populér popularitas basa program, sarta Java rengking kahiji di dinya. Ogé, dina situs pakasaban, Anjeun meureun bakal perhatikeun yén lolobana lowongan ngeunaan Java, nyaeta, ku ngembangkeun di Jawa, anjeun salawasna bisa manggihan pakasaban.

Kusabab komunitas anu kacida gedéna, sagala patarosan anjeun bakal manggihan jawaban dina sababaraha tumpukan mudal atanapi situs séjén. Ogé, nalika ngembang di Java, anjeun leres-leres nyerat kode dina JVM, janten anjeun tiasa ngalih ka Kotlin, Scala sareng basa sanés anu nganggo JVM.

Naha diajar Java sareng kumaha ngalakukeunana sacara efektif. laporan Yandex

Naon anu hadé ngeunaan Jawa tina sudut pandang ideologis? Aya basa programming béda. Aranjeunna ngajawab masalah béda, anjeun terang éta. Salaku conto, Python saé pikeun nyerat skrip hiji-garis pikeun ngabéréskeun masalah anu gancang.

Dina sisi tambah, anjeun tiasa pinuh ngontrol kode anu tiasa dieksekusi. Contona, urang boga mobil, Yandex mobil driverless, kode maranéhanana ditulis dina pluses. Naha? Java gaduh hal sapertos kitu - Garbage Collector. Ieu mupus RAM tina objék nu teu perlu. Hal ieu dimimitian spontaneously jeung teu eureun-dunya, nyaeta, eureun sesa program jeung indit ka cacah objék, memori jelas objék. Upami hal sapertos kitu tiasa dianggo dina drone, éta henteu saé. Drone anjeun bakal langsung ngajalankeun, dina waktos ayeuna mupus memori sareng henteu ningali jalanna. Ku alatan éta, drone ditulis dina pro.

Naha diajar Java sareng kumaha ngalakukeunana sacara efektif. laporan Yandex

Masalah naon anu direngsekeun ku Java? Utamana mangrupikeun basa pikeun ngembangkeun program ageung anu ditulis salami mangtaun-taun, ku puluhan atanapi ratusan jalma. Khususna, seueur backend di Yandex.Market ditulis dina Java. Kami gaduh tim anu disebarkeun di sababaraha kota, masing-masing sapuluh urang. Jeung kode nu gampang pikeun mulasara, eta geus dirojong pikeun sapuluh taun atawa leuwih, sarta dina waktos anu sareng jalma anyar datang di na ngartos kode ieu.

Ciri-ciri naon anu kudu dipibanda ku basa sangkan kodeu di jerona gampang dirojong sarta bisa gampang dimekarkeun dina tim badag. Anu mimiti, éta kedah janten kode anu tiasa dibaca, sareng kedah gampang pikeun nerapkeun solusi arsitéktur anu rumit. Hartina, kudu gampang nulis abstraksi tingkat luhur, jsb Sadaya ieu naon Java nyadiakeun kami kalawan. Ieu mangrupikeun basa anu berorientasi obyék. Gampang pisan pikeun nerapkeun abstraksi tingkat luhur sareng arsitéktur kompleks.

Aya ogé seueur kerangka sareng perpustakaan pikeun Jawa, sabab basana langkung ti 15 taun. Antukna, sadaya anu tiasa ditulis ditulis dina éta, janten aya seueur perpustakaan pikeun sadayana anu anjeun peryogikeun.

Naha diajar Java sareng kumaha ngalakukeunana sacara efektif. laporan Yandex

Naon kaahlian dasar, dina pamadegan mah, kudu pamaén JA dimimitian? Anu mimiti, ieu pangaweruh ngeunaan basa inti Java. Salajengna nyaéta sababaraha jinis kerangka Dependency Injection. Speaker salajengna, Kirill, bakal ngobrol ngeunaan ieu langkung lengkep. Abdi moal jero teuing. Salajengna nyaéta arsitéktur sareng pola desain. Urang kudu bisa nulis kode architecturally geulis guna nulis aplikasi badag. Sareng ieu mangrupikeun sababaraha jenis SQL atanapi ORM pikeun tugas damel sareng pangkalan data. Sareng ieu langkung seueur pikeun backend.

Naha diajar Java sareng kumaha ngalakukeunana sacara efektif. laporan Yandex

indit! inti Jawa. Kuring moal bener-bener mendakan Amérika di dieu-anjeun kedah terang basana sorangan. Naon nu kudu nengetan. Anu mimiti, Java parantos ngarilis seueur versi dina taun-taun ayeuna, nyaéta, dina 2014-2015 anu katujuh dileupaskeun, teras anu kadalapan, kasalapan, kasapuluh, seueur versi énggal, sareng seueur hal-hal keren anyar anu diwanohkeun dina éta. , Contona, Java Stream API , lambda, jeung sajabana Pisan tiis, seger, hal cool nu dipaké dina kode produksi, naon maranéhna nanya dina wawancara jeung nu peryogi kauninga. Ku alatan éta, anjeun teu kudu nyokot buku tina rak di perpustakaan Java-4 jeung indit diajar eta. Ieu rencana kami: urang diajar Java-8 atanapi langkung luhur.

Urang nengetan deukeut inovasi kayaning Stream API, var, jsb Aranjeunna ditanya salila wawancara jeung terus dipaké dina produksi. Nyaéta, Stream API langkung tiis tibatan puteran, sacara umum, hal anu saé pisan. Pastikeun pikeun nengetan.

Tur aya sagala sorts hal kawas iterators, Exceptions jeung saterusna. Hal-hal anu sigana teu penting pikeun anjeun salami anjeun nyerat sababaraha kode leutik sorangan. Anjeun henteu peryogi Pengecualian ieu, saha waé anu peryogi? Tapi aranjeunna pasti bakal ditaros dina wawancara, aranjeunna pasti bakal mangpaat pikeun anjeun dina produksi. Sacara umum, Anjeun kudu nengetan Exceptions, iterators jeung hal séjén.

Naha diajar Java sareng kumaha ngalakukeunana sacara efektif. laporan Yandex

Struktur data. Anjeun teu bisa balik tanpa struktur, tapi bakal hébat lamun teu ngan nyaho yén aya susunan, kamus, jeung lembar. Sarta ogé palaksanaan béda tina struktur. Contona, kamus sarua di Java loba palaksanaan, kaasup HashMap na TreeMap. Aranjeunna gaduh asimtotik béda, aranjeunna terstruktur béda di jero. Anjeun kedah terang kumaha bédana sareng iraha nganggo anu mana.

Éta ogé bakal saé pisan upami anjeun terang kumaha struktur data ieu dianggo sacara internal. Nyaéta, henteu gampang pikeun terang asimtotikna - sabaraha bet tiasa dianggo, sabaraha lami pas jalanna, tapi kumaha strukturna jalan di jero - contona, naon ember di HashMap.

Éta ogé patut nengetan tangkal sareng grafik. Ieu mangrupikeun hal anu henteu umum pisan dina kode produksi, tapi aranjeunna populer dina wawancara. Sasuai, Anjeun kudu bisa ngaliwatan tangkal, grafik dina rubak jeung jero. Ieu kabeh algoritma basajan.

Pas anjeun mimiti nulis sagala kode badag, kompléks, ngagunakeun perpustakaan, kode multi-kelas, anjeun bakal nyadar yén éta téh teuas pikeun anjeun tanpa ngawangun sistem jeung ngabéréskeun kagumantungan. Ieu utamana Maven na Gradle. Éta ngamungkinkeun anjeun ngimpor perpustakaan kana proyék anjeun dina hiji jalur. Nyaéta, anjeun nyerat xml hiji-garis sareng ngimpor perpustakaan kana proyék éta. Sistem hébat. Aranjeunna kira-kira sami, nganggo salah sahiji - Maven atanapi Gradle.

Salajengna - sababaraha jenis sistem kontrol versi. Kuring nyarankeun Git sabab populér tur aya ton tutorials. Ampir sadayana nganggo Git, éta mangrupikeun hal anu saé, anjeun moal tiasa hirup tanpa éta.

Jeung sababaraha jenis lingkungan ngembangkeun. Abdi nyarankeun IntelliJ Gagasan. Ieu greatly speeds up prosés ngembangkeun, mantuan Anjeun pisan, nyerat sadayana kode boilerplate pikeun anjeun, sacara umum, éta tiis.

Naha diajar Java sareng kumaha ngalakukeunana sacara efektif. laporan Yandex

Tumbu ti slide: SQLZOO, habrapost

SQL. A saeutik ngeunaan backenders. Sabenerna aya kasus lucu di dieu. Dua dinten sateuacan wawancara magang kadua kuring, saurang awéwé HR nyauran kuring sareng nyarios yén dina dua dinten aranjeunna bakal naroskeun ka kuring ngeunaan SQL sareng HTTP, kuring kedah diajar. Sareng kuring terang ampir nanaon ngeunaan SQL atanapi HTTP. Sareng kuring mendakan situs anu saé ieu - SQLZOO. Kuring diajar SQL di dinya dina 12 jam, Maksad abdi, sintaksis SQL, kumaha carana nulis queries PILIH, JOIN, jsb situs pisan cool, abdi kacida nyarankeun eta. Nyatana, dina 12 jam kuring diajar 90% tina naon anu kuring terang ayeuna.

Sareng ogé saé pikeun terang arsitektur database. Ieu mangrupikeun sagala jinis konci, indéks, normalisasi. Aya runtuyan tulisan ngeunaan ieu dina Habré.

Naha diajar Java sareng kumaha ngalakukeunana sacara efektif. laporan Yandex

Di Java, salian ti SQL, aya sagala jinis sistem pemetaan Objék-relasional sapertos JPA. Aya sababaraha kode. Dina metoda kahiji aya sababaraha kode SQL - SELECT ngaran id FROM info.users WHERE id IN userIDs. Tina pangkalan data pangguna, tina méja, ID sareng nami na dicandak.

Salajengna, aya hiji mapper tangtu nu ngarobah hiji obyék tina dasarna kana obyék Java. Tur aya metoda katilu handap nu sabenerna executes kode ieu. Sadaya ieu tiasa diganti nganggo JPA sareng hiji garis, anu diserat di handap. Éta ngalakukeun hal anu sami - milarian Sadayana ByIdIn. Nyaéta, dumasar kana nami metodeu, éta ngahasilkeun query SQL pikeun anjeun.

Hal anu keren pisan. Kuring sorangan, nalika kuring henteu terang SQL, nganggo JPA. Sacara umum, nengetan. Upami anjeun males diajar SQL, éta musibah. Jeung, sacara umum, seuneu!

Naha diajar Java sareng kumaha ngalakukeunana sacara efektif. laporan Yandex

Cinyusu. Saha anu kantos ngupingkeun hal sapertos kerangka Spring? Naha anjeun ningali sabaraha anjeun aya? Henteu tanpa alesan. Spring kaasup dina sarat unggal lowongan backend Java kadua. Tanpa éta, leres-leres teu aya dina pangwangunan anu ageung. Naon Spring? Anu mimiti, ieu mangrupikeun kerangka Dependency Injection. Ngeunaan ieu ogé bakal ngabejaan speaker salajengna. Tapi pondokna, ieu mangrupikeun hal anu ngamungkinkeun anjeun ngagampangkeun ngimpor katergantungan sababaraha kelas ka batur. Hartina, pangaweruh ngeunaan kagumantungan disederhanakeun.

Spring Boot mangrupikeun potongan Spring anu ngamungkinkeun anjeun ngajalankeun aplikasi server anjeun sareng hiji tombol. Anjeun angkat ka THID, pencét sababaraha tombol, sareng ayeuna anjeun ngagaduhan aplikasi pangladén anjeun sareng jalan dina localhost 8080. Nyaéta, anjeun teu acan nyerat hiji baris kode, tapi éta parantos tiasa dianggo. Hal anu keren pisan. Lamun nulis hal sorangan, seuneu!

Spring mangrupikeun kerangka anu ageung pisan. Henteu ngan ukur nyandak aplikasi pangladén anjeun sareng ngabéréskeun Dependency Injection. Éta ngamungkinkeun anjeun ngalakukeun sababaraha hal, kalebet nyiptakeun metode REST API. Nyaéta, anjeun nyerat sababaraha metode sareng ngagantelkeun annotasi pemetaan Kéngingkeun kana éta. Sareng ayeuna anjeun parantos gaduh sababaraha metode dina localhost anu nyerat Hello dunya ka anjeun. Dua baris kode sarta gawéna. Barang keren.

Spring ogé ngagampangkeun tés tulisan. Teu aya deui jalan tanpa tés dina pamekaran ageung. Kodeu kedah diuji. Pikeun tujuan ieu, Java boga perpustakaan cool JUnit 5. Sarta JUnit sacara umum, tapi versi panganyarna nyaeta kalima. Aya sagalana pikeun nguji, sagala sorts assertions jeung hal séjén.

Sareng aya kerangka Mockito anu saé. Bayangkeun yén anjeun gaduh sababaraha pungsi anu anjeun hoyong uji. Fungsionalitasna ngalakukeun seueur hal, kalebet, dimana waé di tengah, éta asup kana VKontakte nganggo ID anjeun, contona, sareng nampi nami pangheulana sareng panungtung pangguna VKontakte tina ID éta. Anjeun meureun moal kaasup VKontakte dina tés, éta aneh. Tapi anjeun kudu nguji fungsionalitas, jadi maneh dijieun kelas ieu, ngagunakeun Mockito, mok eta, niru eta.

Anjeun bakal disebutkeun yen lamun pamenta datang ka kelas ieu kalawan ID sapertos na, eta mulih sababaraha ngaran tukang, contona, Vasya Pupkin. Sarta eta bakal dianggo. Hartina, anjeun bakal nguji sakabeh fungsionalitas pikeun mok hiji kelas. Hal anu keren pisan.

Naha diajar Java sareng kumaha ngalakukeunana sacara efektif. laporan Yandex

Link tina slide

Pola desain. Naon éta? Ieu mangrupikeun témplat pikeun ngarengsekeun masalah umum anu timbul dina pangwangunan. Dina pamekaran, masalah anu sami atanapi anu sami sering timbul yén éta bakal hadé pikeun ngajawab kumaha waé ogé. Ku alatan éta, jalma datang nepi ka prakték pangalusna, template tangtu, ngeunaan kumaha carana ngajawab masalah ieu.

Aya situs wéb kalayan pola anu paling populér - refactoring.guru, anjeun tiasa maca éta, milari pola naon anu aya, baca sakumpulan téori. Masalahna nyaéta praktis henteu aya gunana. Kanyataanna, pola tanpa prakték teu utamana mangpaat.

Anjeun bakal ngadangu ngeunaan sababaraha pola sapertos Singletone atanapi Builder. Saha anu ngadéngé kecap ieu? Loba jalma. Aya pola saderhana sapertos anu anjeun tiasa laksanakeun nyalira. Tapi kalolobaan pola: strategi, pabrik, adul - teu jelas dimana nerapkeunana.

Sareng dugi ka anjeun ningali dina prakna dina kode sababaraha jalma sanés tempat dimana pola ieu diterapkeun, anjeun moal tiasa nerapkeunana nyalira. Ku alatan éta, latihan pohara penting kalayan pola. Sarta ngan maca ngeunaan eta on refactoring.guru teu super mantuan, tapi pasti patut ngalakukeun.

Naha diajar Java sareng kumaha ngalakukeunana sacara efektif. laporan Yandex

Naha pola diperlukeun? Anggap anjeun gaduh kelas Pamaké anu tangtu. Éta ngagaduhan Id sareng Ngaran. Unggal Pamaké kedah gaduh duanana Id sareng Ngaran. Di kénca luhur nyaéta kelas.

Naon cara pikeun ngamimitian pangguna? Aya dua pilihan - boh constructor atawa setter a. Naon kalemahan duanana pendekatan?

Konstruktor. Pamaké anyar (7, "Bond"), oke. Ayeuna hayu urang nyebutkeun yén urang teu boga kelas pamaké, tapi sababaraha sejen, kalawan tujuh widang numerik. Anjeun bakal boga constructor ngandung tujuh angka padeukeut. Henteu écés naon nomer ieu sareng anu mana di antarana milik anu mana. Desainer teu hébat.

Pilihan kadua nyaéta setter. Anjeun jelas nulis: setId (7), setName ("Bond"). Anjeun ngartos nu sipat milik widang nu mana. Tapi setter boga masalah. Firstly, Anjeun bisa poho pikeun napelkeun hal, jeung Bréh, obyék Anjeun tétéla jadi mutable. Ieu teu thread aman tur rada ngurangan readability kode. Éta sababna jalma-jalma nyiptakeun pola anu saé - Pangwangun.

Naha diajar Java sareng kumaha ngalakukeunana sacara efektif. laporan Yandex

Naon ieu ngeunaan? Hayu urang coba ngagabungkeun kaunggulan duanana pendekatan-setter na constructor-dina hiji. Urang nyieun hiji obyék nu tangtu, Pangwangun, nu ogé bakal boga Id jeung Ngaran widang, nu sorangan bakal diwangun dumasar kana setter nu, jeung nu bakal boga metoda Ngawangun nu mulih Anjeun pamaké anyar jeung sadaya parameter. Simkuring meunang hiji obyék immutable na setter a. Geulis!

Naon masalahna? Di dieu urang boga Pangwangun Palasik. Masalahna nyaeta urang masih bisa poho pikeun pariksa dina sababaraha widang. Sareng upami urang hilap nganjang ka ID, dina hal ieu Pembina diinisialisasi ka nol, sabab jinis int henteu tiasa dibatalkeun. Sareng upami urang ngadamel nami "Bond" sareng hilap nganjang ka kantor KTP, urang bakal gaduh Pamaké énggal kalayan id "0" sareng nami "Bond". Teu tiis.

Hayu urang coba ngalawan ieu. Dina Pangwangun urang bakal ngarobah int ka int supados nullable. Ayeuna sagalana geus hébat.

Naha diajar Java sareng kumaha ngalakukeunana sacara efektif. laporan Yandex

Lamun urang nyoba nyieun pamaké kalawan ngaran "Bond", poho pikeun nempatkeun ID na, urang bakal meunang null pointer iwal, sabab ID nu teu nullable, sarta Pangwangun ngabogaan null, husus pointer iwal.

Naha diajar Java sareng kumaha ngalakukeunana sacara efektif. laporan Yandex

Tapi urang masih bisa poho pikeun nempatkeun ngaran, jadi urang nyetel replay obyék ka null. Ayeuna, nalika urang ngawangun obyék urang ti Builder, éta pariksa yén lapangan henteu tiasa dibatalkeun. Sareng éta sanés sadayana.

Hayu urang nempo conto panungtungan. Dina hal ieu, lamun urang kumaha bae null null dina ID runtime, eta bakal jadi hébat geuwat nyaho yén anjeun ngalakukeun eta jeung teu tiis nu nuju nyieun kasalahan ayeuna.

Naha diajar Java sareng kumaha ngalakukeunana sacara efektif. laporan Yandex

Anjeun kedah ngalungkeun kasalahan sanés dina waktos nyiptakeun pangguna, tapi nalika anjeun nyetél null kana ID. Ku alatan éta, dina Pangwangun urang bakal ngarobah setter Integer ka int, sarta anjeunna bakal geuwat sumpah yén maranéhna threw kaluar null.

Pondokna, naon gunana? Aya pola Pangwangun basajan, tapi sanajan palaksanaan na boga sababaraha subtleties, jadi éta pisan cool katingal dina palaksanaan béda tina pola. Unggal pola ngagaduhan puluhan palaksanaan. Ieu kabeh pisan metot.

Naha diajar Java sareng kumaha ngalakukeunana sacara efektif. laporan Yandex

Kumaha urang nyerat Pangwangun dina kode produksi? Ieu pangguna urang. Urang ngagantelkeun rotasi Pangwangun ti perpustakaan Lombok ka dinya, sarta eta sorangan ngahasilkeun Pangwangun pikeun urang. Hartina, urang teu nulis kode wae, tapi Java geus nyangka yén kelas ieu boga Pangwangun, sarta kami bisa nelepon deui kawas kieu.

Kuring geus ngomong yén Java boga perpustakaan pikeun ampir sagalana, kaasup Lombok, perpustakaan cool nu ngidinan Anjeun pikeun nyingkahan boilerplate nulis. Pangwangun, GET.

Naha diajar Java sareng kumaha ngalakukeunana sacara efektif. laporan Yandex

Pola tiasa arsitéktur - patali teu ukur hiji kelas, tapi sistem sakabéhna. Aya prinsip anu keren dina desain sistem: Prinsip Tanggung Jawab Tunggal. Naon anjeunna ngawangkong ngeunaan? Kanyataan yén unggal kelas kedah nanggungjawaban kanggo sababaraha fungsina sorangan. Dina hal ieu, urang gaduh Controller anu komunikasi sareng pangguna, objék JSON. Aya Facade, anu ngarobih objék JSON kana modél anu bakal dianggo ku aplikasi Java. Aya Service anu ngagaduhan logika kompleks anu tiasa dianggo sareng modél ieu. Aya Objék Aksés Data anu nempatkeun modél ieu kana pangkalan data sareng nyandak deui tina pangkalan data. Tur aya database sorangan. Kalayan kecap séjén, teu kabeh dina hiji kelas, tapi urang nyieun lima kelas béda, tur éta pola sejen.

Naha diajar Java sareng kumaha ngalakukeunana sacara efektif. laporan Yandex

Sakali anjeun tos langkung atanapi kirang diajar Java, éta hadé pikeun nyerat proyék anjeun sorangan anu bakal gaduh database, damel sareng API sanés, sareng ngalaan aplikasi server anjeun ka klien REST API. Ieu bakal janten hal anu saé pikeun nambihan kana resume anjeun, éta bakal janten tungtung anu saé pikeun pendidikan anjeun. Kalayan ieu anjeun tiasa angkat sareng kéngingkeun padamelan.

Naha diajar Java sareng kumaha ngalakukeunana sacara efektif. laporan Yandex

Ieu conto aplikasi server kuring. Dina taun kadua kuring, kuring nulis makalah istilah jeung guys. Aranjeunna nyerat aplikasi mobile pikeun ngatur acara. Di dinya, pamaké bisa log in via VKontakte, nempatkeun titik dina peta, nyieun acara, diondang babaturanana ka aranjeunna, nyimpen gambar acara, jsb.

Naon anu kuring lakukeun dina proyék éta? Nulis aplikasi server dina Spring Boot tanpa ngagunakeun SQL. Abdi henteu terang anjeunna, kuring nganggo JPA. Naon anu tiasa dilakukeun? Asup ka VK via OAuth-2. Candak token pangguna, angkat ka VK sareng éta, pariksa yén éta mangrupikeun pangguna nyata. Nampi inpormasi ngeunaan pangguna ngalangkungan VKontakte. Éta tiasa nyimpen inpormasi dina pangkalan data, ogé ngalangkungan JPA. Skillfully nyimpen gambar jeung payil sejenna dina mémori komputer, tur nyimpen Tumbu ka aranjeunna dina database. Waktu éta kuring henteu terang yén aya objék CLOB dina pangkalan data, janten kuring ngalakukeun éta ku cara kieu. Aya REST API pikeun pangguna, aplikasi klien. Sareng aya tés unit pikeun fungsionalitas dasar.

[…] Hiji conto leutik tina hasil diajar Jawa kuring. Dina taun munggaran kuring di universitas, kuring diajar C # sarta dibéré pamahaman programming OOP - naon kelas, interfaces, abstraksi, sarta naha maranéhna diperlukeun. Eta mantuan kuring pisan. Tanpa ieu, diajar Java rada sesah; teu jelas naha kelas diperyogikeun.

Naha diajar Java sareng kumaha ngalakukeunana sacara efektif. laporan Yandex

Dina taun kadua kuring di universitas, aranjeunna deui ngajar Java core, tapi kuring teu eureun di dinya, kuring indit ka diajar Spring sorangan jeung nulis kertas kursus, proyék kuring, nu kuring disebutkeun di luhur. Sareng sadaya ieu, kuring nuju magang di Yandex, lulus wawancara, sareng asup kana Yandex.Market. Di dinya kuring nulis backend pikeun Beru, ieu pasar urang, sarta pikeun Yandex.Market sorangan.

Saatos éta, genep bulan kapengker, kuring ngalih ka tim sanés dina Pasar anu sami. Urang ngalakukeun analytics pikeun mitra bisnis. Kami dina platform analitik, aya tilu urang on backend nu, jadi kuring boga pangsa pisan badag pangaruh dina proyék. Ieu pisan metot, sabenerna. Hartina, urang sabenerna nyadiakeun data dina pasaran - naon jualan, dina kategori naon, model naon, pikeun mitra bisnis, pausahaan well-dipikawanoh badag. Na aya ngan tilu urang, urang nulis kode ieu, tur éta pisan cool.

Hatur nuhun! Tumbu mangpaat:
- "Jawa 8. Pituduh Pemula".
- Struktur Data.
- SQLZOO.
- Normalisasi pangkalan data.
- Pola Desain.
- Pola Desain.
- Kode Beresih.
- Java éféktif.

sumber: www.habr.com

Tambahkeun komentar