Salom! Bugun biz Java dasturchisining rivojlanish yo'li va talabga ega bo'lish uchun nimani bilishi kerakligi haqida gaplashamiz. Suhbatdagi har qanday ishlab chiquvchi lavozimga nomzodni "muvaffaqiyatsiz" qilishi mumkin. Masalan, u joriy loyihada duch kelgan muayyan mavzular haqida savollar berishni boshlaydi. Lekin hamma narsani bilmaslik yaxshi. Ayrim savollarga javob bermasligingiz ham normal holat. Umuman olganda, har bir Java dasturchisi rivojlanish bo'yicha asosiy bilimga ega bo'lishi kerak. Keling, qanday texnologiyalar "asosiy" deb hisoblanishini ko'rib chiqaylik.
Bahor nima ekanligini tushunish uchun birinchi o'rinda bo'lishi kerak: bahor konteyneri, loviya, DI, IoC va boshqalar. Shunday qilib, bahordan foydalanish falsafasini tushuning. Bahor ramkalarini keyingi o'rganish ushbu baza asosida amalga oshiriladi. O'zingizning kichik dasturingizni yaratishga arzigulik bo'lishi mumkin, unga siz o'rgangan yangi texnologiyalarni asta-sekin qo'shasiz.
Avvalroq biz JDBC texnologiyasi haqida ma'lumotlar bazasiga ulanishni yaratish texnologiyasi sifatida gapirgan edik. Umuman olganda, texnologiyadan "yalang'och" foydalanish hozir loyihalarda topilmasligi mumkin, shuning uchun JDBCni o'rganish shart emasdek tuyulishi mumkin. Lekin bunday emas. JDBC-ning yalang'och suyaklariga qarab, siz texnologiyani pastroq darajada ko'rishingiz va uning muammolari va kamchiliklarini tushunishingiz mumkin. Spring JDBC-ni o'rganishni boshlaganingizdan so'ng, ushbu ramka aynan nimani yaxshilashini, optimallashtirishini va bizning ko'zimizdan yashirishini tushunasiz.
JDBC-da bo'lgani kabi, bu ramka mavjud texnologiyadan foydalanishni yaxshilaydi, bu holda Hibernate. Agar siz bahorsiz Hibernate-dan foydalanishni o'ylab ko'rsangiz, Spring Hibernate-dan foydalanishning qanday foydasi borligini aniq tushunasiz.
Ilgari biz JPA haqida va qanday qilib bu faqat turli xil ilovalar mavjud bo'lgan spetsifikatsiya haqida gapirgan edik. Ushbu ilovalar orasida Hibernate idealga eng yaqin hisoblanadi. Bahor JPA-ning o'ziga xos ideal dasturiga ega, u "kaput ostida" Hibernate-dan foydalanadi va JPA spetsifikatsiyalari idealiga iloji boricha yaqinroqdir. Ushbu texnologiya Spring JPA deb ataladi. Aytgancha, bu ma'lumotlar bazasiga kirishni sezilarli darajada osonlashtiradi. JPA-ni faqat JDBC, Hibernate, Spring JDBC, Spring Hibernate-ni o'rganmasdan o'rganishingiz mumkin. Ammo bu holda, ma'lumotlar bazasiga ulanish haqidagi bilimingiz juda yuzaki bo'ladi.
Ushbu texnologiya yordamida biz ilovamizning veb-interfeysini foydalanuvchilarga ko'rsatishimiz va interfeysning ilovaning qolgan qismi bilan aloqa qilishiga imkon berishimiz mumkin. Displey uchun mas'ul bo'lgan ba'zi ilova mavjud bo'lganda ham texnologiya displeysiz ishlashi mumkin va siz RESTful texnologiyasidan foydalangan holda so'rovlar va javoblar yordamida ushbu ilova bilan o'zaro aloqada bo'lasiz. Bahor haqidagi ma'lumotni yaxshiroq tushunish uchun YouTube'dagi maqolalar va ma'ruzalardan tashqari siz bir nechta kitoblarni o'qishingiz mumkin. Menga Uolls Kreygning "Harakatdagi bahor" kitobi juda yoqdi. Afsuski, rus tilida endi faqat uchinchi versiya mavjud bo'lib, u eskirgan deb hisoblanadi. Ingliz tilini yaxshi bilsangiz 6-versiyani o'qishni maslahat beraman. Bahor haqidagi yana bir ajoyib kitob "Professionallar uchun 5-bahor". O'rganish qiyinroq va boshidan oxirigacha o'qishdan ko'ra qo'lingizda bo'lgan Bahor Injiliga o'xshaydi.
Ushbu texnologiya Bahordan foydalanishni sezilarli darajada osonlashtiradi. Men uni ro'yxatning oxiriga bir sababga ko'ra qo'ydim, chunki u "kaput" ostida ko'p narsalarni yashiradi va oddiy Bahor bilan tanish bo'lmagan odam uchun ko'p fikrlar aniq va tushunarsiz bo'lishi mumkin. Birinchidan, Spring ramkalari qanday ishlashini yaxshiroq tushunish uchun siz oddiy Spring-dan, keyin esa Spring Boot-dan foydalanishning barcha yuqori afzalliklaridan foydalanishingiz kerak. Shuningdek, men sizga Spring Security va Spring AOP bilan tanishishingizni maslahat beraman. Ammo yuqoridagi texnologiyalardan farqli o'laroq, bu ikkalasini chuqur bilish hozir kerak emas. Ushbu texnologiya yangi boshlanuvchilar uchun emas. Suhbat davomida o'smirlardan ular haqida so'rashmaydi (bir yuzaki savoldan tashqari). Umuman olganda, ushbu texnologiyalar nima ekanligini va ular qanday ishlashini o'qing. Ushbu maqola davomida men kitob o'qish haqida bir necha bor eslatib o'tdim. Bir tomondan, bu kerak emas. Siz bitta kitob o'qimay, maqolalar va o'quv videolaridan kerakli narsalarni o'rganib, dasturchi bo'lishingiz mumkin. Boshqa tomondan, hozirgi vaqtda yangi boshlanuvchilar uchun talab qilinadigan boshlang'ich bilimlar uchun barni ko'taradigan yangi ishlab chiquvchilar uchun bozorda raqobat yuqori. Shuning uchun, qanchalik ko'p bilsangiz, suhbatdoshingizni bilim darajangiz bilan hayratda qoldirib, birinchi ishingizga tezroq kirishingiz mumkin. Barchangizga rahmat va Java siz bilan bo'lsin .
1. Asosiy algoritmlar
Dasturlashni o'rganishni boshlaganingizda birinchi bo'lib (bu nafaqat Java-ga taalluqlidir) bu asoslarni tahlil qilishdir. Masalan, algoritmlar. Ularning cheksiz soni bor va iloji boricha ko'proq algoritmlarni o'rganish uchun yillarni sarflamasligingiz kerak: ularning aksariyati siz uchun foydali bo'lmaydi. Kerakli minimal bilimlarni " Grocking Algoritms " kitobidan olish mumkin . Bu sayohatni boshlash uchun etarli bo'ladi, lekin agar xohlasangiz, Robert Sedgwick va Kevin Ueynning " Tuzilmalar va algoritmlar " yoki "Java'da algoritmlar" kitobi yordamida o'rganishingiz mumkin. Shuningdek, men sizga informatika asoslari bo'yicha bilimingizni oshirishni maslahat beraman. Buni JavaRush da CS50 kursi yordamida amalga oshirish mumkin .2. Java sintaksisi
Algoritmlar asoslarini o'rganganimizdan so'ng, biz Java sintaksisini o'rganishimiz kerak. Axir, biz hammamiz bu erda Java dasturchisi bo'lishni o'rganyapmiz, shunday emasmi? Buning uchun JavaRush kursi juda mos keladi. Ko'p vazifalarni bajarish jarayonida siz Java sintaksisini yaxshi bilasiz va Java kodini o'ylamasdan yozasiz/o'qiysiz, go'yo u o'z ona tilingiz kabi. JavaRush - bu amaliyot va unga qo'shimcha ravishda siz aynan nima qilayotganingizni tushunish uchun nazariyani ham ko'rib chiqishingiz kerak. Buning uchun siz kitoblarni o'qishingiz mumkin, masalan, quyidagilardan birini:- “ Birinchi Java-ni boshla ”;
- Barri Birdning "Java for Dummies";
- “Java. Yangi boshlanuvchilar uchun qo'llanma" Gerbert Shildt.
- “Java falsafasi”, Bryus Ekkel;
- “Samarali dasturlash”, Joshua Bloch;
- “Java. To'liq qo'llanma", Gerbert Shildt.
3. Dasturlash naqshlari
Dasturlash naqshlari - bu tez-tez uchraydigan kontekstda muammoni hal qilishni ifodalovchi takrorlanadigan naqshlar. Ular orasida har bir o'zini hurmat qiladigan dasturchi bilishi kerak bo'lgan asosiy, oddiy andozalar mavjud. Ushbu mavzuni tushunish uchun " Birinchi bosh. " kitobidan foydalaning . Dizayn naqshlari ." U asosiy dasturlash naqshlarini aniq tushuntiradi. Ammo kitob Java haqida ko'p gapiradi , shuning uchun kitobni o'rganish paytida siz ushbu dasturlash tilini o'zlashtirishingiz kerak. Naqshlarni chuqurroq o'rganish uchun siz "Ob'ektga yo'naltirilgan dizayn texnikasi" ni ham o'qishingiz mumkin. To'rtlik to'dasidan dizayn naqshlari (To'rtlik to'dasi: Erich Gamma, Richard Helm, Ralf Jonson, Jon Vlissidesni o'z ichiga olgan mualliflar jamoasi - muharrir eslatmasi) . Ushbu mavzuni o'rganganingizdan so'ng, siz kodingizning deyarli hamma joyida naqshlarni ko'rishni boshlaysiz. Bunga e'tibor bering, ayniqsa, bahorda ishlatiladigan naqshlar , chunki bu intervyularda mashhur savol.4. Dasturlash paradigmalari. Kod tozaligi
Standart dasturlash naqshlaridan tashqari, siz bilishingiz kerak bo'lgan turli xil printsiplar va paradigmalar mavjud ( SOLID , GRASP ). Shuningdek, kodning toza va o'qilishi mumkinligini ta'minlash kerak. Ushbu mavzu bo'yicha bilishingiz kerak bo'lgan hamma narsa Robert Martinning " Toza kod " kitobida yoki Stiv MakKonnellning "Perfect Code" kitobini sinab ko'ring.5.SQL
Bizning keyingi qadamimiz relyatsion ma'lumotlar bazalari tilini o'rganishdir - SQL . Ma'lumotlar bazalari - bu veb-ilovaning ma'lumotlari (ma'lumotlari) saqlanadigan joy. Ma'lumotlar bazasi ko'plab jadvallardan iborat (telefoningizdagi manzillar kitobi bunday jadvallarning eng oddiy namunasidir). Ma'lumotlar bazalari haqida ko'proq ma'lumotni ushbu maqolada o'qishingiz mumkin . Java ishlab chiquvchilari uchun mas'uliyat sohasi nafaqat Java ilovasi, balki u o'zaro aloqada bo'lgan va ma'lumotlarni saqlaydigan ma'lumotlar bazasidir. Relyatsion (eng keng tarqalgan) ma'lumotlar bazalarida barcha o'zaro ta'sir maxsus til - Structured Query Language yoki SQL orqali amalga oshiriladi. Ushbu mavzuni tushunish uchun kitoblardan birini o'qish kifoya qiladi:- Alan Bewley tomonidan "SQL o'rganish";
- "SQL", Chris Fiaily;
- Lin Beyli tomonidan "Head First SQL".
GO TO FULL VERSION