Apa sebabe sinau basa Jawa lan carane nindakake kanthi efektif. laporan Yandex

Apa bedane basa Jawa karo basa populer liyane? Kenging punapa basa Jawi kedah dados basa ingkang kawiwitan? Ayo nggawe rencana sing bakal mbantu sampeyan sinau basa Jawa saka awal lan kanthi ngetrapake katrampilan pemrograman ing basa liya. Ayo kita dhaptar beda antarane nggawe kode produksi ing Jawa lan ngembangaken ing basa liyane. Mikhail Zatepyakin maca laporan iki ing rapat kanggo peserta mangsa ngarep magang Yandex lan pangembang wiwitan liyane - Java Junior meetup.


— Halo kabeh, jenengku Misha. Aku pangembang saka Yandex.Market, lan dina iki aku bakal pitutur marang kowe kok sinau Jawa lan carane nindakaken kanthi efektif. Sampeyan bisa uga takon pitakon sing cukup: Napa aku bakal nyritakake crita iki, lan dudu pangembang sing kuwat kanthi pirang-pirang taun? Kasunyatane aku dhewe sinau ing Jawa, kira-kira setaun lan setengah kepungkur, mula aku isih kelingan kaya apa sing ana.

Setaun kepungkur aku entuk internship ing Yandex.Market. Aku dikembangaké backend kanggo Beru, kanggo Market dhewe, sampeyan mbokmenawa digunakake. Saiki aku terus kerja ing kana, ing tim sing beda. Kita nggawe platform analitis kanggo Yandex.Market kanggo mitra bisnis.

Apa sebabe sinau basa Jawa lan carane nindakake kanthi efektif. laporan Yandex

Ayo dadi miwiti. Apa sebabe sinau basa Jawa saka sudut pandang praktis? Kasunyatane yaiku basa Jawa minangka basa pamrograman sing misuwur banget. Nduwe komunitas sing akeh banget.

Contone, ana indeks TIOBE, indeks populer popularitas basa pemrograman, lan Jawa rangking pisanan ing kana. Kajaba iku, ing situs kerja, sampeyan bisa uga ngerti yen umume lowongan yaiku babagan Jawa, yaiku, kanthi ngembangake ing Jawa, sampeyan bisa tansah golek kerja.

Wiwit komunitas gedhe banget, apa sing sampeyan bakal nemokake jawaban ing sawetara aliran kebanjiran utawa situs liyane. Uga, nalika ngembangake ing Jawa, sampeyan bener nulis kode ing JVM, supaya sampeyan bisa kanthi gampang ngalih menyang Kotlin, Scala lan basa liyane sing nggunakake JVM.

Apa sebabe sinau basa Jawa lan carane nindakake kanthi efektif. laporan Yandex

Punapa ingkang sae bab Jawi saking sudut pandang ideologi? Ana macem-macem basa pamrograman. Dheweke ngrampungake macem-macem masalah, sampeyan ngerti. Contone, Python apik kanggo nulis skrip siji-baris kanggo ngatasi masalah cepet.

Ing sisih tambahan, sampeyan bisa ngontrol kode eksekutif kanthi lengkap. Contone, kita duwe mobil, mobil sing ora disetakir Yandex, kode kasebut ditulis ing plus. Kenging punapa? Jawa duwe perkara kaya ngono - kolektor sampah. Mbusak RAM saka obyek sing ora perlu. Bab iki diwiwiti kanthi spontan lan ora mandheg-mandhe, yaiku, mandhegake program lan pindhah menyang ngetung obyek, memori obyek sing jelas. Yen bab kuwi bisa digunakake ing drone, iku ora kelangan. Drone sampeyan bakal langsung nyopir, saiki mbusak memori lan ora katon ing dalan. Mulane, drone ditulis ing pro.

Apa sebabe sinau basa Jawa lan carane nindakake kanthi efektif. laporan Yandex

Masalah apa sing dirampungake Jawa? Iku utamané basa kanggo ngembangaken program gedhe sing ditulis liwat taun, dening puluhan utawa atusan wong. Utamane, akeh backend ing Yandex.Market ditulis ing Jawa. Kita duwe tim sing disebar ing sawetara kutha, saben sepuluh wong. Lan kode iku gampang kanggo njaga, wis didhukung kanggo sepuluh taun utawa luwih, lan ing wektu sing padha wong anyar teka lan ngerti kode iki.

Karakteristik apa sing kudu diduweni basa supaya kode kasebut gampang didhukung lan supaya gampang dikembangake ing tim gedhe. Kaping pisanan, kudu dadi kode sing bisa diwaca, lan kudu gampang kanggo ngetrapake solusi arsitektur sing rumit. Sing, iku kudu gampang kanggo nulis abstraksi tingkat dhuwur, etc. Kabeh iki apa Jawa nyedhiyani kita karo. Iki minangka basa berorientasi obyek. Gampang banget kanggo ngetrapake abstraksi tingkat dhuwur lan arsitektur kompleks.

Wonten ugi kathah kerangka saha pustaka kangge basa Jawi, amargi basanipun sampun langkung saking 15 taun. Sajrone wektu iki, kabeh sing bisa ditulis wis ditulis, dadi ana akeh perpustakaan kanggo kabeh sing sampeyan butuhake.

Apa sebabe sinau basa Jawa lan carane nindakake kanthi efektif. laporan Yandex

Apa skills dhasar, ing mratelakake panemume, kudu pemain JA wiwitan duwe? Kaping pisanan, iki minangka kawruh babagan basa Jawa. Sabanjure yaiku sawetara jinis konserensi injeksi injeksi. Speaker sabanjure, Kirill, bakal ngomong babagan iki kanthi lengkap. Aku ora bakal jero banget. Sabanjure yaiku arsitektur lan pola desain. Kita kudu bisa nulis kode arsitektur sing apik kanggo nulis aplikasi gedhe. Lan iki sawetara jenis SQL utawa ORM kanggo tugas nggarap database. Lan iki ditrapake luwih akeh kanggo backend.

Apa sebabe sinau basa Jawa lan carane nindakake kanthi efektif. laporan Yandex

Tindak! inti Jawa. Aku ora bakal nemokake Amerika ing kene-sampeyan kudu ngerti basa kasebut dhewe. Apa sing kudu sampeyan bayar. Kaping pisanan, Java wis ngrilis pirang-pirang versi ing taun-taun kepungkur, yaiku ing taun 2014-2015 Kapitu, banjur nomer wol, kaping sanga, akeh perkara anyar sing ditepungi ing dheweke Contone, stream jawa API, lambda, sing apik banget, sing seger, apik sing digunakake ing kode produksi, apa sing ditakoni ing wawancara lan sing sampeyan kudu ngerti. Mula, sampeyan ora kudu njupuk buku saka beting ing perpustakaan Java-4 lan goleki. Iki rencana kita: kita sinau Java-8 utawa luwih dhuwur.

Kita mbayar manungsa waé kanggo inovasi kayata Stream API, var, etc.. Lagi dijaluk sak Interview lan terus digunakake ing produksi. Yaiku, Stream API luwih adhem tinimbang puteran, umume, barang sing apik banget. Dadi manawa kanggo mbayar manungsa waé.

Lan ana macem-macem kaya iterator, Pengecualian lan liya-liyane. Perkara sing ora penting kanggo sampeyan anggere sampeyan nulis kode cilik dhewe. Sampeyan ora butuh Pengecualian iki, sapa wae sing butuh? Nanging mesthi bakal dijaluk ing wawancara, mesthi bakal migunani kanggo sampeyan ing produksi. Umumé, sampeyan kudu menehi perhatian marang Pengecualian, iterator lan liya-liyane.

Apa sebabe sinau basa Jawa lan carane nindakake kanthi efektif. laporan Yandex

Struktur data. Sampeyan ora bisa mbukak tanpa struktur, nanging bakal apik yen sampeyan ora mung ngerti yen ana set, kamus, lan lembaran. Lan uga implementasine beda saka struktur. Contone, kamus sing padha ing Jawa duwe akeh implementasine, kalebu HashMap lan TreeMap. Dheweke duwe asimtotik sing beda, strukture beda ing njero. Sampeyan kudu ngerti carane padha beda-beda lan nalika nggunakake kang.

Sampeyan uga bakal kelangan banget yen sampeyan ngerti carane struktur data iki bisa digunakake sacara internal. Yaiku, ora gampang ngerti asimtotik - sepira taruhan, suwene pass, nanging kepiye struktur bisa digunakake - contone, apa ember ing HashMap.

Sampeyan uga kudu menehi perhatian marang wit lan grafik. Iki minangka perkara sing ora umum banget ing kode produksi, nanging populer ing wawancara. Mulane, sampeyan kudu bisa ngliwati wit, grafik kanthi jembar lan ambane. Iki kabeh algoritma prasaja.

Sanalika sampeyan miwiti nulis sembarang kode gedhe, Komplek, nggunakake perpustakaan, kode multi-kelas, sampeyan bakal éling sing hard kanggo sampeyan tanpa mbangun sistem lan mutusake masalah dependensi. Iki utamane Maven lan Gradle. Dheweke ngidini sampeyan ngimpor perpustakaan menyang proyek sampeyan ing siji baris. Yaiku, sampeyan nulis xml siji-baris lan ngimpor perpustakaan menyang proyek kasebut. Sistem gedhe. Padha kira-kira padha, nggunakake salah siji - Maven utawa Gradle.

Sabanjure - sawetara jenis sistem kontrol versi. Aku nyaranake Git amarga iku populer lan ana akeh tutorial. Meh kabeh wong nggunakake Git, iku kelangan, sampeyan ora bisa urip tanpa iku.

Lan sawetara jinis lingkungan pangembangan. Aku menehi saran ide intelij. Apike banget proses pangembangan, mbantu sampeyan akeh, nyerat kabeh kode boilerplate kanggo sampeyan, umume, adhem.

Apa sebabe sinau basa Jawa lan carane nindakake kanthi efektif. laporan Yandex

Link saka slide: SQLZOO, habrapost

SQL. A sethitik babagan backenders. Bener ana kasus lucu ing kene. Rong dina sadurunge wawancara internship kapindho, bocah wadon HR nimbali aku lan ujar manawa rong dina dheweke bakal takon babagan SQL lan HTTP, aku kudu sinau. Lan aku meh ora ngerti babagan SQL utawa HTTP. Lan aku nemokake situs sing apik iki - SQLZOO. Aku sinau SQL ing 12 jam, Maksudku, sintaks SQL, carane nulis PILIH pitakon, JOIN, etc. Banget kelangan situs, Aku Highly Rekomendasi iku. Nyatane, ing 12 jam aku sinau 90% saka apa aku ngerti saiki.

Lan uga apik kanggo ngerti arsitektur database. Iki kabeh jinis kunci, indeks, normalisasi. Ana sawetara kiriman babagan iki ing Habré.

Apa sebabe sinau basa Jawa lan carane nindakake kanthi efektif. laporan Yandex

Ing Jawa, saliyane SQL, ana kabeh jinis sistem pemetaan Obyek-relasional kayata JPA. Ana sawetara kode. Ing cara pisanan ana sawetara kode SQL - PILIH jeneng id FROM info.users WHERE id IN userIds. Saka database pangguna, saka tabel, ID lan jeneng dijupuk.

Sabanjure, ana mapper tartamtu sing ngowahi obyek saka basa menyang obyek Jawa. Lan ana cara katelu ing ngisor iki sing bener nglakokake kode iki. Kabeh iki bisa diganti nganggo JPA kanthi siji baris, sing ditulis ing ngisor iki. Iku nindakake bab sing padha - golek Kabeh ByIdIn. Yaiku, adhedhasar jeneng metode kasebut, nggawe query SQL kanggo sampeyan.

Bab sing keren banget. Aku dhewe, nalika aku ora ngerti SQL, nggunakake JPA. Umumé, mbayar manungsa waé. Yen sampeyan kesed kanggo sinau SQL, iku bilai. Lan, ing umum, geni!

Apa sebabe sinau basa Jawa lan carane nindakake kanthi efektif. laporan Yandex

Spring. Sapa sing wis krungu babagan kerangka Spring? Apa sampeyan ndeleng carane akeh sampeyan ana? Ora tanpa alesan. Spring kalebu ing syarat saben lowongan backend Jawa kapindho. Tanpa iku, ana tenan ora ono ing pembangunan gedhe. Apa Spring? Kaping pisanan, iki minangka kerangka Injeksi Ketergantungan. Babagan iki uga bakal ngomong speaker sabanjuré. Nanging cendhak, iki minangka perkara sing ngidini sampeyan ngimpor dependensi sawetara kelas menyang liyane. Tegese, kawruh babagan dependensi disederhanakake.

Spring Boot minangka potongan Spring sing ngidini sampeyan mbukak aplikasi server kanthi siji tombol. Sampeyan pindhah menyang THID, penet sawetara tombol, lan saiki sampeyan duwe aplikasi server lan mbukak ing localhost 8080. Yaiku, sampeyan durung nulis siji baris kode, nanging wis bisa digunakake. Apik banget. Yen sampeyan nulis babagan sampeyan dhewe, geni!

Spring minangka kerangka sing gedhe banget. Ora mung njupuk aplikasi server lan ngrampungake Injeksi Ketergantungan. Iki ngidini sampeyan nindakake pirang-pirang perkara, kalebu nggawe metode API REST. Yaiku, sampeyan nulis sawetara metode lan nempelake anotasi pemetaan Entuk. Lan saiki sampeyan wis duwe sawetara cara ing localhost sing nulis Hello world kanggo sampeyan. Loro baris kode lan kerjane. Barang kelangan.

Spring uga nggawe tes nulis luwih gampang. Ora ana cara tanpa tes ing pembangunan gedhe. Kode kasebut kudu dites. Kanggo maksud iki, Jawa nduweni perpustakaan keren JUnit 5. Lan JUnit umume, nanging versi paling anyar yaiku sing kaping lima. Ana kabeh kanggo tes, kabeh pratelan lan liya-liyane.

Lan ana kerangka mockito sing apik tenan. Bayangake, sampeyan duwe fungsi sing pengin sampeyan coba. Fungsi kasebut nindakake pirang-pirang perkara, kalebu, ing tengah, mlebu menyang VKontakte karo ID sampeyan, umpamane, lan nampa jeneng pangguna VKontakti pertama saka ID. Sampeyan bisa uga ora kalebu VKontakte ing tes kasebut, pancen aneh. Nanging sampeyan kudu nguji fungsionalitas, dadi sampeyan nggawe kelas iki, nggunakake mockito, mok, tiru.

Sampeyan bakal ujar manawa yen panjaluk teka ing kelas iki kanthi id kaya ngono, mula, mula bakal ngasilake jeneng pungkasan, umpamane, kirik Vasya. Lan bakal mlaku. Sing, sampeyan bakal nyoba kabeh fungsi kanggo mok siji kelas. Bab sing keren banget.

Apa sebabe sinau basa Jawa lan carane nindakake kanthi efektif. laporan Yandex

Link saka slide

Pola desain. Opo iki? Iki minangka template kanggo ngrampungake masalah khas sing muncul ing pangembangan. Ing pangembangan, masalah sing padha utawa sing padha asring muncul sing bakal apik kanggo ngatasi kanthi apik. Mulane, wong teka karo praktik paling apik, cithakan tartamtu, babagan carane ngatasi masalah kasebut.

Ana situs web kanthi pola sing paling populer - refactoring.guru, sampeyan bisa maca, ngerteni pola apa sing ana, maca akeh teori. Masalahe iku praktis ora ana gunane. Nyatane, pola tanpa latihan ora migunani banget.

Sampeyan bakal krungu babagan sawetara pola kaya Singletone utawa Builder. Sapa sing krungu tembung iki? Akeh wong. Ana pola prasaja sing bisa ditindakake dhewe. Nanging umume pola: strategi, pabrik, fasad - ora jelas ing endi aplikasi kasebut.

Lan nganti sampeyan ndeleng ing laku ing sawetara kode wong liya panggonan kang pola iki Applied, sampeyan ora bakal bisa kanggo aplikasi dhewe. Mulane, latihan penting banget karo pola. Lan mung maca babagan refactoring.guru ora awis, nanging temtunipun bakal ditindakake.

Apa sebabe sinau basa Jawa lan carane nindakake kanthi efektif. laporan Yandex

Kenapa pola dibutuhake? Contone, sampeyan duwe kelas Panganggo tartamtu. Wis Id lan Jeneng. Saben pangguna kudu duwe ID lan Jeneng. Ing sisih kiwa ndhuwur yaiku kelas.

Apa cara kanggo miwiti pangguna? Ana rong pilihan - salah siji konstruktor utawa setter. Apa kekurangan saka loro pendekatan kasebut?

Konstruktor. Panganggo anyar (7, "Bond"), oke. Saiki ayo ngomong yen kita ora duwe kelas Panganggo, nanging sawetara liyane, kanthi pitung kolom numerik. Sampeyan bakal duwe konstruktor sing ngemot nomer pitung berturut-turut. Ora jelas apa nomer kasebut lan endi sing dadi properti. Desainer ora apik.

Opsi kapindho yaiku setter. Sampeyan nulis kanthi cetha: setId(7), setName("Bond"). Sampeyan ngerti properti endi sing kalebu lapangan. Nanging setter duwe masalah. Kaping pisanan, sampeyan bisa uga lali nemtokake apa wae, lan nomer loro, obyek sampeyan dadi bisa dibatalake. Iki ora aman thread lan rada nyuda readability saka kode. Pramila wong teka karo pola sing adhem - tukang gawe.

Apa sebabe sinau basa Jawa lan carane nindakake kanthi efektif. laporan Yandex

Iki bab apa? Ayo coba gabungke kaluwihan kanggo pendekatan-setter lan konstruktor-ing siji. Kita nggawe obyek, tukang kebon, sing uga bakal duwe kolom ID lan jeneng, sing dhewe bakal dibangun adhedhasar setter, lan sing bakal duwe metode mbangun sing ngasilake pangguna anyar. Kita entuk obyek sing ora bisa diowahi lan setter. Kelangan!

Apa masalahe? Kene kita duwe Builder klasik. Masalah iku kita isih bisa lali mriksa ing sawetara lapangan. Lan yen kita kelalen ngunjungi ID, ing kasus iki ing Builder wis initialized kanggo nul, amarga jinis int ora nullable. Lan yen kita nggawe Jeneng "Obligasi" lan lali ngunjungi kantor ID, kita bakal duwe Panganggo anyar kanthi id "0" lan jeneng "Obligasi". Ora kelangan.

Ayo coba nglawan iki. Ing tukang tuku, kita bakal ngganti int kanggo int supaya ora nulake. Saiki kabeh apik.

Apa sebabe sinau basa Jawa lan carane nindakake kanthi efektif. laporan Yandex

Yen kita nyoba kanggo nggawe Panganggo karo jeneng "Bond", lali kanggo sijine ID, kita bakal njaluk pangecualian null pointer, amarga ID ora nullable, lan Builder wis null, khusus pointer istiméwa.

Apa sebabe sinau basa Jawa lan carane nindakake kanthi efektif. laporan Yandex

Nanging kita isih bisa lali kanggo sijine jeneng, supaya kita nyetel muter maneh obyek kanggo null. Saiki, nalika kita mbangun obyek saka Builder, iku mriksa yen lapangan ora nullable. Lan iku ora kabeh.

Ayo katon ing conto pungkasan. Ing kasus iki, yen kita sijine null ing ID runtime, iku bakal dadi gedhe kanggo langsung ngerti sing wis rampung lan iku ora kelangan sing nggawe kesalahan saiki.

Apa sebabe sinau basa Jawa lan carane nindakake kanthi efektif. laporan Yandex

Sampeyan kudu uncalan kesalahan ora ing wayahe nggawe Panganggo, nanging nalika sampeyan nyetel null kanggo ID. Mulane, ing Builder kita bakal ngganti setter Integer kanggo int, lan bakal langsung sumpah sing padha mbuwang metu null.

Ing cendhak, apa gunane? Ana pola Builder prasaja, nanging malah implementasine wis sawetara subtleties, supaya iku banget kelangan dipikir ing implementasine beda saka pola. Saben pola duwe puluhan implementasine. Iki kabeh menarik banget.

Apa sebabe sinau basa Jawa lan carane nindakake kanthi efektif. laporan Yandex

Kepiye carane nulis Builder ing kode produksi? Punika Panganggo kita. We masang rotasi Builder saka perpustakaan Lombok menyang, lan iku dhewe njedulake Builder kanggo kita. Sing, kita ora nulis kode sembarang, nanging Jawa wis mikir sing kelas iki wis Builder, lan kita bisa nelpon kaya iki.

Aku wis ngomong yen Jawa nduweni perpustakaan kanggo meh kabeh, kalebu Lombok, perpustakaan keren sing ngidini sampeyan supaya ora nulis boilerplate. Tukang bangunan, GET.

Apa sebabe sinau basa Jawa lan carane nindakake kanthi efektif. laporan Yandex

Pola bisa arsitektur - gegandhengan ora mung kanggo siji kelas, nanging kanggo sistem sakabèhé. Ana prinsip keren ing desain sistem: Prinsip Tanggung Jawab Tunggal. Apa sing diomongake? Kasunyatan bilih saben kelas kudu tanggung jawab kanggo sawetara fungsi dhewe. Ing kasus iki, kita duwe Controller sing komunikasi karo pangguna, obyek JSON. Ana Facade, sing ngowahi obyek JSON dadi model sing bakal digarap aplikasi Java. Ana Layanan sing nduweni logika kompleks sing bisa digunakake karo model kasebut. Ana Obyek Akses Data sing nempatake model kasebut menyang database lan njupuk saka database. Lan ana database dhewe. Ing tembung liyane, iku ora kabeh ing siji kelas, nanging kita nggawe limang kelas beda, lan pola liyane.

Apa sebabe sinau basa Jawa lan carane nindakake kanthi efektif. laporan Yandex

Sawise sampeyan wis luwih utawa kurang sinau Jawa, iku apik kanggo nulis project dhewe sing bakal duwe database, bisa karo API liyane, lan mbukak aplikasi server kanggo klien API REST. Iki bakal dadi perkara sing apik kanggo ditambahake ing resume, bakal dadi pungkasan sing apik kanggo pendidikan sampeyan. Kanthi iki sampeyan bisa pindhah lan njaluk proyek.

Apa sebabe sinau basa Jawa lan carane nindakake kanthi efektif. laporan Yandex

Iki minangka conto aplikasi serverku. Ing taun kapindho, aku nulis makalah istilah karo wong lanang. Dheweke nulis aplikasi seluler kanggo ngatur acara. Ing kana, pangguna bisa mlebu liwat VKontakte, nyelehake poin ing peta, nggawe acara, ngajak kanca-kancane, nyimpen gambar acara, lsp.

Apa sing daklakoni ing proyek kasebut? Nulis aplikasi server ing Spring Boot tanpa nggunakake SQL. Aku ora ngerti dheweke, aku nggunakake JPA. Apa sing bisa ditindakake? Mlebu menyang VK liwat OAuth-2. Njupuk token pangguna, pindhah menyang VK karo, priksa manawa iku pangguna nyata. Nampa informasi babagan pangguna liwat VKontakte. Bisa nyimpen informasi ing database, uga liwat JPA. Skillfully nyimpen gambar lan file liyane ing memori komputer, lan nyimpen pranala menyang database. Ing wektu iku aku ora ngerti yen ana obyek CLOB ing database, mula aku nindakake kanthi cara iki. Ana REST API kanggo pangguna, aplikasi klien. Lan ana tes unit kanggo fungsi dhasar.

[…] Conto cilik saka suksesku sinau basa Jawa. Ing taun pisanan ing universitas, aku diajari C # lan diwenehi pangerten babagan pemrograman OOP - apa kelas, antarmuka, abstraksi, lan apa sing dibutuhake. Iku mbantu kula kathah. Tanpa iki, sinau basa Jawa cukup angel, ora jelas kenapa kelas dibutuhake.

Apa sebabe sinau basa Jawa lan carane nindakake kanthi efektif. laporan Yandex

Ing taun kapindho ing universitas, dheweke maneh mulang basa Jawa, nanging aku ora mandheg ing kono, aku sinau Spring dhewe lan nulis kertas kursus, proyekku, sing dakkandhakake ing ndhuwur. Lan kabeh iki, aku magang ing Yandex, lulus wawancara, lan mlebu Yandex.Market. Ing kana aku nulis backend kanggo Beru, iki minangka pasar kita, lan kanggo Yandex.Market dhewe.

Sawise nem sasi kepungkur, aku pindhah menyang tim liyane ing Pasar sing padha. Kita nindakake analytics kanggo mitra bisnis. Kita ana ing platform analitis, ana telu saka backend, mula aku duwe pengaruh gedhe banget kanggo proyek kasebut. Apike banget, sejatine. Sing, kita bener nyedhiyakake data ing pasar - apa dodolan, ing kategori apa, ing model apa, kanggo mitra bisnis, perusahaan kondhang gedhe. Lan ana mung telung saka kita, kita nulis kode iki, lan pancen adhem banget.

Matur nuwun! Links Migunani:
- "Jawa 8. Pandhuan Pemula".
- Struktur data.
- SQLZOO.
- Normalisasi database.
- Pola Desain.
- Pola Desain.
- Kode sing resik.
- Jawa efektif.

Source: www.habr.com

Add a comment