ஜாவாவை ஏன் கற்றுக்கொள்வது மற்றும் அதை எவ்வாறு திறம்பட செய்வது. யாண்டெக்ஸ் அறிக்கை

பிற பிரபலமான மொழிகளிலிருந்து ஜாவா எவ்வாறு வேறுபட்டது? ஜாவாவை ஏன் முதலில் கற்க வேண்டும்? புதிதாக ஜாவாவைக் கற்றுக்கொள்வதற்கும் பிற மொழிகளில் நிரலாக்கத் திறன்களைப் பயன்படுத்துவதற்கும் உதவும் திட்டத்தை உருவாக்குவோம். ஜாவாவில் உற்பத்திக் குறியீட்டை உருவாக்குவதற்கும் பிற மொழிகளில் உருவாக்குவதற்கும் உள்ள வேறுபாடுகளை பட்டியலிடலாம். எதிர்கால பங்கேற்பாளர்களுக்கான கூட்டத்தில் மைக்கேல் ஜடெப்யாகின் இந்த அறிக்கையைப் படித்தார் பயிற்சி யாண்டெக்ஸ் மற்றும் பிற தொடக்க டெவலப்பர்கள் - ஜாவா ஜூனியர் சந்திப்பு.


- அனைவருக்கும் வணக்கம், என் பெயர் மிஷா. நான் Yandex.Market இன் டெவலப்பர், ஜாவாவை ஏன் கற்க வேண்டும் மற்றும் அதை எவ்வாறு திறம்பட செய்வது என்று இன்று நான் உங்களுக்கு கூறுவேன். நீங்கள் ஒரு நியாயமான கேள்வியைக் கேட்கலாம்: நான் ஏன் இந்தக் கதையைச் சொல்கிறேன், பல வருட அனுபவமுள்ள வலுவான டெவலப்பர் இல்லையா? உண்மை என்னவென்றால், நான் சமீபத்தில் ஜாவாவைப் படித்தேன், சுமார் ஒன்றரை ஆண்டுகளுக்கு முன்பு, அது எப்படி இருந்தது, என்ன ஆபத்துகள் உள்ளன என்பதை நான் இன்னும் நினைவில் வைத்திருக்கிறேன்.

ஒரு வருடம் முன்பு நான் Yandex.Market இல் இன்டர்ன்ஷிப் பெற்றேன். பேருவுக்கான பின்தளத்தை நான் உருவாக்கினேன், சந்தைக்காகவே, நீங்கள் அதைப் பயன்படுத்தியிருக்கலாம். இப்போது நான் அங்கு, வேறு குழுவில் தொடர்ந்து பணியாற்றுகிறேன். வணிக கூட்டாளர்களுக்காக Yandex.Market க்கான பகுப்பாய்வு தளத்தை நாங்கள் உருவாக்குகிறோம்.

ஜாவாவை ஏன் கற்றுக்கொள்வது மற்றும் அதை எவ்வாறு திறம்பட செய்வது. யாண்டெக்ஸ் அறிக்கை

ஆரம்பிக்கலாம். நடைமுறைக் கண்ணோட்டத்தில் ஜாவாவை ஏன் கற்றுக்கொள்ள வேண்டும்? உண்மை என்னவென்றால், ஜாவா மிகவும் பிரபலமான நிரலாக்க மொழியாகும். இது மிகப் பெரிய சமூகத்தைக் கொண்டுள்ளது.

எடுத்துக்காட்டாக, நிரலாக்க மொழிகளின் பிரபலத்தின் பிரபலமான குறியீடான TIOBE இன்டெக்ஸ் உள்ளது, மேலும் ஜாவா அங்கு முதலிடத்தில் உள்ளது. மேலும், வேலைத் தளங்களில், பெரும்பாலான காலியிடங்கள் ஜாவாவைப் பற்றியதாக இருப்பதை நீங்கள் கவனிப்பீர்கள், அதாவது ஜாவாவில் உருவாக்குவதன் மூலம், நீங்கள் எப்போதும் வேலை தேடலாம்.

சமூகம் மிகப் பெரியதாக இருப்பதால், உங்களிடம் உள்ள எந்தவொரு கேள்விக்கும் சில ஸ்டாக் ஓவர்ஃப்ளோ அல்லது பிற தளங்களில் பதில் கிடைக்கும். மேலும், ஜாவாவில் உருவாக்கும்போது, ​​​​நீங்கள் உண்மையில் JVM இல் குறியீட்டை எழுதுகிறீர்கள், எனவே நீங்கள் JVM ஐப் பயன்படுத்தும் Kotlin, Scala மற்றும் பிற மொழிகளுக்கு எளிதாக மாறலாம்.

ஜாவாவை ஏன் கற்றுக்கொள்வது மற்றும் அதை எவ்வாறு திறம்பட செய்வது. யாண்டெக்ஸ் அறிக்கை

கருத்தியல் கண்ணோட்டத்தில் ஜாவாவில் எது நல்லது? வெவ்வேறு நிரலாக்க மொழிகள் உள்ளன. அவர்கள் வெவ்வேறு பிரச்சினைகளை தீர்க்கிறார்கள், அது உங்களுக்குத் தெரியும். எடுத்துக்காட்டாக, விரைவான சிக்கல்களைத் தீர்க்க பைதான் ஒரு வரி ஸ்கிரிப்ட்களை எழுதுவதற்கு சிறந்தது.

பிளஸ் பக்கத்தில், நீங்கள் இயங்கக்கூடிய குறியீட்டை முழுமையாகக் கட்டுப்படுத்தலாம். எடுத்துக்காட்டாக, எங்களிடம் கார்கள் உள்ளன, யாண்டெக்ஸ் டிரைவர் இல்லாத கார்கள், அவற்றின் குறியீடு பிளஸ்ஸில் எழுதப்பட்டுள்ளது. ஏன்? ஜாவாவில் அப்படி ஒரு விஷயம் இருக்கிறது - குப்பை சேகரிப்பு. இது தேவையில்லாத பொருட்களை RAM ஐ அழிக்கிறது. இந்த விஷயம் தன்னிச்சையாகத் தொடங்கி உலகத்தை நிறுத்துகிறது, அதாவது, மீதமுள்ள நிரலை நிறுத்துகிறது மற்றும் பொருட்களை எண்ணுகிறது, பொருள்களின் நினைவகத்தை அழிக்கிறது. ட்ரோனில் அப்படி ஒரு விஷயம் வேலை செய்தால், அது குளிர்ச்சியாக இருக்காது. உங்கள் ட்ரோன் நேராக ஓட்டும், இந்த நேரத்தில் அதன் நினைவகத்தை அழிக்கவும் மற்றும் சாலையைப் பார்க்க வேண்டாம். எனவே, ட்ரோன் சாதகத்தில் எழுதப்பட்டுள்ளது.

ஜாவாவை ஏன் கற்றுக்கொள்வது மற்றும் அதை எவ்வாறு திறம்பட செய்வது. யாண்டெக்ஸ் அறிக்கை

ஜாவா என்ன பிரச்சனைகளை தீர்க்கிறது? இது முதன்மையாக டஜன் கணக்கான அல்லது நூற்றுக்கணக்கான மக்களால் பல ஆண்டுகளாக எழுதப்பட்ட பெரிய நிரல்களை உருவாக்குவதற்கான ஒரு மொழியாகும். குறிப்பாக, Yandex.Market இல் உள்ள பல பின்தளம் ஜாவாவில் எழுதப்பட்டுள்ளது. எங்களிடம் பல நகரங்களில் விநியோகிக்கப்பட்ட குழு உள்ளது, ஒவ்வொன்றிலும் பத்து பேர். குறியீடு பராமரிக்க எளிதானது, இது பத்து ஆண்டுகள் அல்லது அதற்கும் மேலாக ஆதரிக்கப்படுகிறது, அதே நேரத்தில் புதிய நபர்கள் வந்து இந்த குறியீட்டைப் புரிந்துகொள்கிறார்கள்.

ஒரு மொழிக்கு என்ன குணாதிசயங்கள் இருக்க வேண்டும், அதனால் அதில் உள்ள குறியீடு எளிதாக ஆதரிக்கப்படும் மற்றும் பெரிய குழுக்களில் எளிதாக உருவாக்க முடியும். முதலில், இது படிக்கக்கூடிய குறியீடாக இருக்க வேண்டும், மேலும் சிக்கலான கட்டடக்கலை தீர்வுகளை செயல்படுத்துவது எளிதாக இருக்க வேண்டும். அதாவது, உயர்நிலை சுருக்கங்கள் போன்றவற்றை எழுதுவது எளிதாக இருக்க வேண்டும். இவை அனைத்தும் ஜாவா நமக்கு வழங்குகிறது. இது ஒரு பொருள் சார்ந்த மொழி. உயர்நிலை சுருக்கங்கள் மற்றும் சிக்கலான கட்டமைப்புகளை செயல்படுத்துவது மிகவும் எளிதானது.

ஜாவாவிற்கு நிறைய கட்டமைப்புகள் மற்றும் நூலகங்கள் உள்ளன, ஏனெனில் மொழி 15 ஆண்டுகளுக்கும் மேலாக உள்ளது. இந்த நேரத்தில், எழுதக்கூடிய அனைத்தும் அதில் எழுதப்பட்டுள்ளன, எனவே உங்களுக்குத் தேவையான அனைத்திற்கும் டன் நூலகங்கள் உள்ளன.

ஜாவாவை ஏன் கற்றுக்கொள்வது மற்றும் அதை எவ்வாறு திறம்பட செய்வது. யாண்டெக்ஸ் அறிக்கை

என் கருத்துப்படி, ஒரு தொடக்க JA பிளேயருக்கு என்ன அடிப்படை திறன்கள் இருக்க வேண்டும்? முதலில், இது ஜாவா கோர் மொழியின் அறிவு. அடுத்தது சில வகையான சார்பு ஊசி கட்டமைப்பாகும். அடுத்த பேச்சாளர் கிரில் இதைப் பற்றி இன்னும் முழுமையாகப் பேசுவார். நான் ஆழமாக செல்ல மாட்டேன். அடுத்தது கட்டிடக்கலை மற்றும் வடிவமைப்பு வடிவங்கள். பெரிய பயன்பாடுகளை எழுதுவதற்கு கட்டிடக்கலை ரீதியாக அழகான குறியீட்டை எழுத வேண்டும். தரவுத்தளத்துடன் பணிபுரியும் பணிகளுக்கு இது ஒருவித SQL அல்லது ORM ஆகும். மேலும் இது பின்தளத்திற்கு அதிகம் பொருந்தும்.

ஜாவாவை ஏன் கற்றுக்கொள்வது மற்றும் அதை எவ்வாறு திறம்பட செய்வது. யாண்டெக்ஸ் அறிக்கை

போ! ஜாவா கோர். நான் இங்கு அமெரிக்காவைக் கண்டுபிடிக்க மாட்டேன் - நீங்கள் மொழியைத் தெரிந்து கொள்ள வேண்டும். நீங்கள் என்ன கவனம் செலுத்த வேண்டும். முதலாவதாக, ஜாவா சமீபத்திய ஆண்டுகளில் நிறைய பதிப்புகளை வெளியிட்டுள்ளது, அதாவது, 2014-2015 இல் ஏழாவது வெளியிடப்பட்டது, பின்னர் எட்டாவது, ஒன்பதாவது, பத்தாவது, நிறைய புதிய பதிப்புகள் மற்றும் நிறைய புதிய புதிய விஷயங்கள் அறிமுகப்படுத்தப்பட்டன. , எடுத்துக்காட்டாக, Java Stream API , lambda போன்றவை. தயாரிப்புக் குறியீட்டில் பயன்படுத்தப்படும் மிகவும் அருமையான, புதிய, அருமையான விஷயங்கள், நேர்காணல்களில் அவர்கள் என்ன கேட்கிறார்கள் மற்றும் நீங்கள் தெரிந்து கொள்ள வேண்டியவை. எனவே, ஜாவா-4 லைப்ரரியில் உள்ள அலமாரியில் இருந்து புத்தகத்தை எடுத்துக்கொண்டு அதைக் கற்றுக்கொள்ள செல்ல வேண்டாம். இது எங்கள் திட்டம்: நாங்கள் ஜாவா-8 அல்லது அதற்கு மேல் கற்றுக்கொள்கிறோம்.

Stream API, var போன்ற புதுமைகளை நாங்கள் உன்னிப்பாகக் கவனிக்கிறோம். நேர்காணலின் போது அவை கேட்கப்பட்டு உற்பத்தியில் தொடர்ந்து பயன்படுத்தப்படுகின்றன. அதாவது, ஸ்ட்ரீம் ஏபிஐ சுழல்களை விட மிகவும் குளிரானது, பொதுவாக, மிகவும் அருமையான விஷயம். கவனம் செலுத்த வேண்டும்.

மேலும் இட்டேட்டர்கள், விதிவிலக்குகள் போன்ற அனைத்து வகையான விஷயங்களும் உள்ளன. சில சிறிய குறியீட்டை நீங்களே எழுதும் வரை உங்களுக்கு முக்கியமில்லாத விஷயங்கள். இந்த விதிவிலக்குகள் உங்களுக்குத் தேவையில்லை, இருப்பினும் யாருக்கு அவை தேவை? ஆனால் அவர்கள் நிச்சயமாக நேர்காணல்களில் கேட்கப்படுவார்கள், அவர்கள் நிச்சயமாக தயாரிப்பில் உங்களுக்கு பயனுள்ளதாக இருக்கும். பொதுவாக, நீங்கள் விதிவிலக்குகள், மறு செய்கைகள் மற்றும் பிற விஷயங்களில் கவனம் செலுத்த வேண்டும்.

ஜாவாவை ஏன் கற்றுக்கொள்வது மற்றும் அதை எவ்வாறு திறம்பட செய்வது. யாண்டெக்ஸ் அறிக்கை

தரவு கட்டமைப்புகள். கட்டமைப்புகள் இல்லாமல் நீங்கள் செல்ல முடியாது, ஆனால் தொகுப்புகள், அகராதிகள் மற்றும் தாள்கள் உள்ளன என்பதை நீங்கள் அறியவில்லை என்றால் அது நன்றாக இருக்கும். மேலும் கட்டமைப்புகளின் பல்வேறு செயலாக்கங்கள். எடுத்துக்காட்டாக, ஜாவாவில் உள்ள அதே அகராதியில் HashMap மற்றும் TreeMap உட்பட பல செயலாக்கங்கள் உள்ளன. அவை வெவ்வேறு அறிகுறிகளைக் கொண்டுள்ளன, அவை உள்ளே வித்தியாசமாக கட்டமைக்கப்பட்டுள்ளன. அவை எவ்வாறு வேறுபடுகின்றன, எதை எப்போது பயன்படுத்த வேண்டும் என்பதை நீங்கள் அறிந்து கொள்ள வேண்டும்.

இந்த தரவு கட்டமைப்புகள் உள்நாட்டில் எவ்வாறு செயல்படுகின்றன என்பதை நீங்கள் அறிந்தால் அது மிகவும் அருமையாக இருக்கும். அதாவது, அவர்களின் அறிகுறிகளை அறிவது எளிதல்ல - பந்தயம் எவ்வளவு வேலை செய்கிறது, பாஸ் எவ்வளவு நேரம் வேலை செய்கிறது, ஆனால் கட்டமைப்பு உள்ளே எவ்வாறு செயல்படுகிறது - எடுத்துக்காட்டாக, ஹாஷ்மேப்பில் ஒரு வாளி என்றால் என்ன.

மரங்கள் மற்றும் வரைபடங்களுக்கு கவனம் செலுத்துவதும் மதிப்பு. இவை தயாரிப்புக் குறியீட்டில் மிகவும் பொதுவானவை அல்ல, ஆனால் அவை நேர்காணல்களில் பிரபலமாக உள்ளன. அதன்படி, நீங்கள் மரங்கள், அகலம் மற்றும் ஆழத்தில் வரைபடங்களை கடந்து செல்ல வேண்டும். இவை அனைத்தும் எளிமையான அல்காரிதம்கள்.

பெரிய குறியீடு, சிக்கலான, நூலகங்களைப் பயன்படுத்தி, பல வகுப்புக் குறியீட்டை நீங்கள் எழுதத் தொடங்கியவுடன், அமைப்புகளை உருவாக்காமல், சார்புகளைத் தீர்க்காமல் இருப்பது கடினம் என்பதை நீங்கள் உணர்ந்துகொள்வீர்கள். இவை முதன்மையாக மேவன் மற்றும் கிரேடில். ஒரு வரியில் உங்கள் திட்டத்தில் நூலகங்களை இறக்குமதி செய்ய அவை உங்களை அனுமதிக்கின்றன. அதாவது, நீங்கள் ஒரு வரி xml ஐ எழுதி, திட்டத்தில் நூலகங்களை இறக்குமதி செய்கிறீர்கள். பெரிய அமைப்புகள். அவை தோராயமாக ஒரே மாதிரியானவை, ஒன்றைப் பயன்படுத்தவும் - மேவன் அல்லது கிரேடில்.

அடுத்து - சில வகையான பதிப்பு கட்டுப்பாட்டு அமைப்பு. நான் Git ஐ பரிந்துரைக்கிறேன், ஏனெனில் இது பிரபலமானது மற்றும் டன் டுடோரியல்கள் உள்ளன. கிட்டத்தட்ட எல்லோரும் Git ஐப் பயன்படுத்துகிறார்கள், இது ஒரு அருமையான விஷயம், அது இல்லாமல் நீங்கள் வாழ முடியாது.

மற்றும் ஒருவித வளர்ச்சி சூழல். நான் IntelliJ ஐடியாவை பரிந்துரைக்கிறேன். இது வளர்ச்சி செயல்முறையை பெரிதும் விரைவுபடுத்துகிறது, உங்களுக்கு நிறைய உதவுகிறது, உங்களுக்கான அனைத்து கொதிகலன் குறியீட்டையும் எழுதுகிறது, பொதுவாக, இது அருமையாக இருக்கிறது.

ஜாவாவை ஏன் கற்றுக்கொள்வது மற்றும் அதை எவ்வாறு திறம்பட செய்வது. யாண்டெக்ஸ் அறிக்கை

ஸ்லைடில் இருந்து இணைப்புகள்: SQLZOO, ஹப்ராபோஸ்ட்

SQL. ஆதரவாளர்களைப் பற்றி கொஞ்சம். உண்மையில் இங்கே ஒரு வேடிக்கையான வழக்கு இருந்தது. எனது இரண்டாவது இன்டர்ன்ஷிப் நேர்காணலுக்கு இரண்டு நாட்களுக்கு முன்பு, ஒரு HR பெண் என்னை அழைத்து, இரண்டு நாட்களில் SQL மற்றும் HTTP பற்றி என்னிடம் கேட்பார்கள், நான் அதைக் கற்றுக்கொள்ள வேண்டும் என்று கூறினார். SQL அல்லது HTTP பற்றி எனக்கு எதுவும் தெரியாது. இந்த அருமையான தளத்தை நான் கண்டேன் - SQLZOO. நான் 12 மணிநேரத்தில் SQL ஐக் கற்றுக்கொண்டேன், அதாவது, SQL தொடரியல், எப்படி SELECT வினவல்களை எழுதுவது, JOIN போன்றவற்றைக் கற்றுக்கொண்டேன். மிகவும் அருமையான தளம், நான் அதை மிகவும் பரிந்துரைக்கிறேன். உண்மையில், 12 மணி நேரத்தில் நான் இப்போது எனக்குத் தெரிந்தவற்றில் 90% கற்றுக்கொண்டேன்.

மேலும் டேட்டாபேஸ் ஆர்கிடெக்சரை அறிந்து கொள்வதும் நல்லது. இவை அனைத்து வகையான விசைகள், குறியீடுகள், இயல்பாக்கம். ஹப்ரேயில் இதைப் பற்றிய தொடர் பதிவுகள் உள்ளன.

ஜாவாவை ஏன் கற்றுக்கொள்வது மற்றும் அதை எவ்வாறு திறம்பட செய்வது. யாண்டெக்ஸ் அறிக்கை

ஜாவாவில், SQL ஐத் தவிர, JPA போன்ற அனைத்து வகையான பொருள்-தொடர்பு மேப்பிங் அமைப்புகளும் உள்ளன. சில குறியீடு உள்ளது. முதல் முறையில் சில SQL குறியீடு உள்ளது - SELECT id name from info.users id in userIds. பயனர் தரவுத்தளத்திலிருந்து, அட்டவணையில் இருந்து, அவர்களின் ஐடிகள் மற்றும் பெயர்கள் பெறப்படுகின்றன.

அடுத்து, ஒரு குறிப்பிட்ட மேப்பர் உள்ளது, அது ஒரு பொருளை அடித்தளத்திலிருந்து ஜாவா பொருளாக மாற்றுகிறது. கீழே மூன்றாவது முறை உள்ளது, அது உண்மையில் இந்த குறியீட்டை செயல்படுத்துகிறது. இவை அனைத்தையும் JPA ஐப் பயன்படுத்தி ஒரு வரியுடன் மாற்றலாம், இது கீழே எழுதப்பட்டுள்ளது. இது அதையே செய்கிறது - அனைத்தையும் கண்டுபிடி ByIdIn. அதாவது, முறையின் பெயரின் அடிப்படையில், இது உங்களுக்காக ஒரு SQL வினவலை உருவாக்குகிறது.

மிகவும் அருமையான விஷயம். நானே, எனக்கு SQL தெரியாதபோது, ​​JPA ஐப் பயன்படுத்தினேன். பொதுவாக, கவனம் செலுத்துங்கள். நீங்கள் SQL கற்க மிகவும் சோம்பேறியாக இருந்தால், அது ஒரு பேரழிவு. மற்றும், பொதுவாக, நெருப்பு!

ஜாவாவை ஏன் கற்றுக்கொள்வது மற்றும் அதை எவ்வாறு திறம்பட செய்வது. யாண்டெக்ஸ் அறிக்கை

வசந்த. ஸ்பிரிங் கட்டமைப்பைப் பற்றி யார் கேள்விப்பட்டிருக்கிறார்கள்? உங்களில் எத்தனை பேர் இருக்கிறீர்கள் என்று பார்க்கிறீர்களா? காரணம் இல்லாமல் இல்லை. ஒவ்வொரு இரண்டாவது ஜாவா பின்தள காலியிடத்தின் தேவைகளிலும் ஸ்பிரிங் சேர்க்கப்பட்டுள்ளது. அது இல்லாமல், ஒரு பெரிய வளர்ச்சியில் உண்மையில் எங்கும் இல்லை. வசந்தம் என்றால் என்ன? முதலில், இது ஒரு சார்பு ஊசி கட்டமைப்பாகும். இதைப் பற்றியும் சொல்வேன் அடுத்த பேச்சாளர். ஆனால் சுருக்கமாக, இது சில வகுப்புகளின் சார்புகளை மற்றவர்களுக்கு இறக்குமதி செய்வதை எளிதாக்க உங்களை அனுமதிக்கும் ஒரு விஷயம். அதாவது, சார்புகளின் அறிவு எளிமைப்படுத்தப்படுகிறது.

ஸ்பிரிங் பூட் என்பது ஒரு பட்டன் மூலம் உங்கள் சர்வர் பயன்பாட்டை இயக்க அனுமதிக்கும் ஸ்பிரிங் பகுதி. நீங்கள் THID க்குச் சென்று, இரண்டு பொத்தான்களை அழுத்தவும், இப்போது உங்கள் சேவையகப் பயன்பாடு லோக்கல் ஹோஸ்ட் 8080 இல் இயங்குகிறது. அதாவது, நீங்கள் இன்னும் ஒரு வரி குறியீட்டை எழுதவில்லை, ஆனால் அது ஏற்கனவே வேலை செய்கிறது. மிகவும் அருமையான விஷயம். சொந்தமாக ஏதாவது எழுதினால் தீ!

வசந்தம் என்பது மிகப் பெரிய கட்டமைப்பு. இது உங்கள் சர்வர் அப்ளிகேஷனை எடுப்பது மட்டுமின்றி, சார்பு ஊசியை தீர்க்கும். REST API முறைகளை உருவாக்குவது உட்பட பல விஷயங்களைச் செய்ய இது உங்களை அனுமதிக்கிறது. அதாவது, நீங்கள் சில வழிமுறைகளை எழுதி, அதனுடன் Get mapping annotation ஐ இணைத்துள்ளீர்கள். இப்போது லோக்கல் ஹோஸ்டில் உங்களுக்கு ஹலோ வேர்ல்ட் எழுதும் சில வழிமுறைகள் ஏற்கனவே உள்ளன. இரண்டு கோடுகள் குறியீடு மற்றும் அது வேலை செய்கிறது. அருமையான விஷயங்கள்.

வசந்தம் தேர்வு எழுதுவதை எளிதாக்குகிறது. பெரிய வளர்ச்சியில் சோதனை இல்லாமல் வழி இல்லை. குறியீடு சோதிக்கப்பட வேண்டும். இந்த நோக்கத்திற்காக, ஜாவாவில் ஜூனிட் 5 லைப்ரரி உள்ளது. பொதுவாக ஜூனிட், ஆனால் சமீபத்திய பதிப்பு ஐந்தாவது. சோதனைக்கு எல்லாம் இருக்கிறது, எல்லாவிதமான கூற்றுக்கள் மற்றும் பிற விஷயங்கள்.

மற்றும் ஒரு அற்புதமான Mockito கட்டமைப்பு உள்ளது. நீங்கள் சோதிக்க விரும்பும் சில செயல்பாடுகள் உங்களிடம் இருப்பதாக கற்பனை செய்து பாருங்கள். செயல்பாடு பல விஷயங்களைச் செய்கிறது, எங்காவது நடுவில், இது உங்கள் ஐடியுடன் VKontakte இல் உள்நுழைகிறது, எடுத்துக்காட்டாக, ஐடியிலிருந்து VKontakte பயனரின் முதல் மற்றும் கடைசி பெயரைப் பெறுகிறது. ஒருவேளை நீங்கள் VKontakte ஐ சோதனைகளில் சேர்க்க மாட்டீர்கள், அது விசித்திரமானது. ஆனால் நீங்கள் செயல்பாட்டைச் சோதிக்க வேண்டும், எனவே நீங்கள் இந்த வகுப்பை உருவாக்கினீர்கள், Mockito ஐப் பயன்படுத்தி, mok it, பின்பற்றவும்.

இந்த வகுப்பிற்கு ஒரு ஐடியுடன் ஒரு கோரிக்கை வரும்போது, ​​அது சில கடைசி பெயரை வழங்குகிறது, எடுத்துக்காட்டாக, வாஸ்யா பப்கின். அது வேலை செய்யும். அதாவது, மோக் ஒன் வகுப்பிற்கான அனைத்து செயல்பாடுகளையும் நீங்கள் சோதிப்பீர்கள். மிகவும் அருமையான விஷயம்.

ஜாவாவை ஏன் கற்றுக்கொள்வது மற்றும் அதை எவ்வாறு திறம்பட செய்வது. யாண்டெக்ஸ் அறிக்கை

ஸ்லைடிலிருந்து இணைப்பு

வடிவமைப்பு வடிவங்கள். அது என்ன? இவை வளர்ச்சியில் எழும் பொதுவான சிக்கல்களைத் தீர்ப்பதற்கான வார்ப்புருக்கள். வளர்ச்சியில், ஒரே மாதிரியான அல்லது ஒத்த பிரச்சினைகள் அடிக்கடி எழுகின்றன, எப்படியாவது நன்றாகத் தீர்ப்பது நல்லது. எனவே, இந்த பிரச்சனைகளை எவ்வாறு தீர்ப்பது என்பது குறித்த சிறந்த நடைமுறைகள், சில வார்ப்புருக்கள் ஆகியவற்றை மக்கள் கொண்டு வந்தனர்.

மிகவும் பிரபலமான வடிவங்களைக் கொண்ட ஒரு வலைத்தளம் உள்ளது - refactoring.guru, நீங்கள் அதைப் படிக்கலாம், என்ன மாதிரிகள் உள்ளன என்பதைக் கண்டறியலாம், கோட்பாட்டின் தொகுப்பைப் படிக்கலாம். பிரச்சனை என்னவென்றால், அது நடைமுறையில் பயனற்றது. உண்மையில், நடைமுறையில் இல்லாத வடிவங்கள் குறிப்பாக பயனுள்ளதாக இல்லை.

சிங்கிள்டோன் அல்லது பில்டர் போன்ற சில வடிவங்களைப் பற்றி நீங்கள் கேள்விப்படுவீர்கள். இந்த வார்த்தைகளை யார் கேட்டது? நிறைய பேர். நீங்களே செயல்படுத்தக்கூடிய எளிய வடிவங்கள் உள்ளன. ஆனால் பெரும்பாலான வடிவங்கள்: மூலோபாயம், தொழிற்சாலை, முகப்பில் - அவற்றை எங்கு பயன்படுத்துவது என்பது தெளிவாகத் தெரியவில்லை.

இந்த முறை பயன்படுத்தப்படும் இடத்தை வேறு சிலரின் குறியீட்டில் நீங்கள் நடைமுறையில் பார்க்கும் வரை, அதை நீங்களே பயன்படுத்த முடியாது. எனவே, வடிவங்களுடன் பயிற்சி மிகவும் முக்கியமானது. refactoring.guru இல் அவர்களைப் பற்றி படிப்பது மிகவும் பயனுள்ளதாக இல்லை, ஆனால் அதைச் செய்வது நிச்சயமாக மதிப்புக்குரியது.

ஜாவாவை ஏன் கற்றுக்கொள்வது மற்றும் அதை எவ்வாறு திறம்பட செய்வது. யாண்டெக்ஸ் அறிக்கை

வடிவங்கள் ஏன் தேவை? உங்களிடம் ஒரு குறிப்பிட்ட பயனர் வகுப்பு உள்ளது என்று வைத்துக்கொள்வோம். இது ஒரு ஐடி மற்றும் ஒரு பெயரைக் கொண்டுள்ளது. ஒவ்வொரு பயனருக்கும் ஒரு ஐடி மற்றும் பெயர் இரண்டும் இருக்க வேண்டும். மேல் இடதுபுறம் வகுப்பறை உள்ளது.

பயனரை துவக்குவதற்கான வழிகள் என்ன? இரண்டு விருப்பங்கள் உள்ளன - ஒரு கன்ஸ்ட்ரக்டர் அல்லது ஒரு செட்டர். இரண்டு அணுகுமுறைகளின் தீமைகள் என்ன?

கன்ஸ்ட்ரக்டர். புதிய பயனர் (7, "பாண்ட்"), சரி. இப்போது எங்களிடம் பயனர் வகுப்பு இல்லை என்று சொல்லலாம், ஆனால் வேறு சில, ஏழு எண் புலங்களுடன். ஏழு தொடர்ச்சியான எண்களைக் கொண்ட ஒரு கட்டமைப்பாளர் உங்களிடம் இருப்பார். இந்த எண்கள் என்ன, அவற்றில் எது எந்த சொத்துக்கு சொந்தமானது என்பது தெளிவாக இல்லை. வடிவமைப்பாளர் பெரியவர் அல்ல.

இரண்டாவது விருப்பம் செட்டர் ஆகும். நீங்கள் தெளிவாக எழுதுகிறீர்கள்: setId(7), setName("Bond"). எந்தத் துறைக்கு எந்தச் சொத்து என்பது புரியும். ஆனால் செட்டருக்கு ஒரு பிரச்சனை. முதலில், நீங்கள் எதையாவது ஒதுக்க மறந்துவிடலாம், இரண்டாவதாக, உங்கள் பொருள் மாறக்கூடியதாக மாறும். இது நூல் பாதுகாப்பானது அல்ல மேலும் குறியீட்டின் வாசிப்புத்திறனை சிறிது குறைக்கிறது. அதனால்தான் மக்கள் ஒரு குளிர் வடிவத்தைக் கொண்டு வந்தனர் - பில்டர்.

ஜாவாவை ஏன் கற்றுக்கொள்வது மற்றும் அதை எவ்வாறு திறம்பட செய்வது. யாண்டெக்ஸ் அறிக்கை

இது எதை பற்றியது? இரண்டு அணுகுமுறைகளின் நன்மைகளை-செட்டர் மற்றும் கன்ஸ்ட்ரக்டர்-ஒன்றில் இணைக்க முயற்சிப்போம். பில்டர் என்ற ஒரு குறிப்பிட்ட பொருளை நாங்கள் உருவாக்குகிறோம், அதில் ஐடி மற்றும் பெயர் புலங்கள் இருக்கும், அதுவே செட்டரின் அடிப்படையில் கட்டமைக்கப்படும், மேலும் அனைத்து அளவுருக்களுடன் புதிய பயனரை உங்களுக்கு வழங்கும் பில்ட் முறையைக் கொண்டிருக்கும். நாம் ஒரு மாறாத பொருள் மற்றும் ஒரு செட்டர் பெறுகிறோம். குளிர்!

பிரச்சனைகள் என்ன? இங்கே எங்களிடம் கிளாசிக் பில்டர் உள்ளது. பிரச்சனை என்னவென்றால், சில துறையில் சரிபார்க்க நாம் இன்னும் மறந்துவிடலாம். நாம் ஐடியைப் பார்க்க மறந்துவிட்டால், இந்த விஷயத்தில் பில்டரில் அது பூஜ்ஜியமாகத் துவக்கப்படும், ஏனெனில் முழு எண்ணாக வகை பூஜ்ஜியமாக இல்லை. நாம் "பாண்ட்" என்ற பெயரை உருவாக்கி, அடையாள அலுவலகத்திற்குச் செல்ல மறந்துவிட்டால், "0" ஐடி மற்றும் "பாண்ட்" என்ற பெயரில் ஒரு புதிய பயனர் இருப்பார். குளிர்ச்சியாக இல்லை.

இதை எதிர்த்துப் போராட முயற்சிப்போம். பில்டரில் நாம் முழு எண்ணாக மாற்றுவோம், அதனால் அது பூஜ்யமாக இருக்கும். இப்போது எல்லாம் நன்றாக இருக்கிறது.

ஜாவாவை ஏன் கற்றுக்கொள்வது மற்றும் அதை எவ்வாறு திறம்பட செய்வது. யாண்டெக்ஸ் அறிக்கை

"பாண்ட்" என்ற பெயரில் ஒரு பயனரை உருவாக்க முயற்சித்தால், அவரது ஐடியை வைக்க மறந்துவிட்டால், பூஜ்ய சுட்டிக்காட்டி விதிவிலக்கு பெறுவோம், ஏனெனில் ஐடி செல்லுபடியாகாது, மேலும் பில்டருக்கு பூஜ்ய, குறிப்பாக சுட்டிக்காட்டி விதிவிலக்கு உள்ளது.

ஜாவாவை ஏன் கற்றுக்கொள்வது மற்றும் அதை எவ்வாறு திறம்பட செய்வது. யாண்டெக்ஸ் அறிக்கை

ஆனால் ஒரு பெயரை வைக்க நாம் இன்னும் மறந்துவிடலாம், எனவே ஆப்ஜெக்ட் ரீப்ளேயை பூஜ்யமாக அமைக்கிறோம். இப்போது, ​​பில்டரிலிருந்து நமது பொருளை உருவாக்கும்போது, ​​புலம் பூஜ்யமாக இல்லை என்பதைச் சரிபார்க்கிறது. அதுமட்டுமல்ல.

கடைசி உதாரணத்தைப் பார்ப்போம். இந்த விஷயத்தில், ஐடி இயக்க நேரத்தில் நாங்கள் எப்படியாவது பூஜ்யத்தை வைத்தால், நீங்கள் அதைச் செய்தீர்கள் என்பதை உடனடியாக அறிந்துகொள்வது நன்றாக இருக்கும், மேலும் நீங்கள் இப்போது தவறு செய்கிறீர்கள்.

ஜாவாவை ஏன் கற்றுக்கொள்வது மற்றும் அதை எவ்வாறு திறம்பட செய்வது. யாண்டெக்ஸ் அறிக்கை

பயனர் உருவாக்கும் தருணத்தில் அல்ல, ஆனால் ஐடிக்கு பூஜ்யத்தை அமைக்கும் போது நீங்கள் ஒரு பிழையைச் செய்ய வேண்டும். எனவே, பில்டரில் நாம் செட்டரை முழு எண்ணாக மாற்றுவோம், மேலும் அவை பூஜ்யமாக வீசப்பட்டதாக அவர் உடனடியாக சத்தியம் செய்வார்.

சுருக்கமாக, என்ன பயன்? ஒரு எளிய பில்டர் பேட்டர்ன் உள்ளது, ஆனால் அதன் செயலாக்கம் கூட சில நுணுக்கங்களைக் கொண்டுள்ளது, எனவே வடிவங்களின் வெவ்வேறு செயலாக்கங்களைப் பார்ப்பது மிகவும் அருமையாக இருக்கிறது. ஒவ்வொரு வடிவத்திலும் டஜன் கணக்கான செயலாக்கங்கள் உள்ளன. இதெல்லாம் மிகவும் சுவாரஸ்யமானது.

ஜாவாவை ஏன் கற்றுக்கொள்வது மற்றும் அதை எவ்வாறு திறம்பட செய்வது. யாண்டெக்ஸ் அறிக்கை

உற்பத்திக் குறியீட்டில் பில்டரை எவ்வாறு எழுதுவது? இதோ எங்கள் பயனர். லோம்போக் நூலகத்திலிருந்து ஒரு பில்டர் சுழற்சியை அதனுடன் இணைக்கிறோம், அதுவே நமக்கு ஒரு பில்டரை உருவாக்குகிறது. அதாவது, நாங்கள் எந்த குறியீட்டையும் எழுதவில்லை, ஆனால் ஜாவா ஏற்கனவே இந்த வகுப்பில் ஒரு பில்டர் இருப்பதாக நினைக்கிறது, மேலும் இதை இப்படி அழைக்கலாம்.

ஜாவாவில் லோம்போக் உட்பட கிட்டத்தட்ட எல்லாவற்றுக்கும் நூலகங்கள் உள்ளன என்று நான் ஏற்கனவே கூறியுள்ளேன், இது கொதிகலன் எழுதுவதைத் தவிர்க்க உங்களை அனுமதிக்கும் குளிர் நூலகம். பில்டர், GET.

ஜாவாவை ஏன் கற்றுக்கொள்வது மற்றும் அதை எவ்வாறு திறம்பட செய்வது. யாண்டெக்ஸ் அறிக்கை

வடிவங்கள் கட்டடக்கலையாக இருக்கலாம் - ஒரு வகுப்பிற்கு மட்டுமல்ல, ஒட்டுமொத்த அமைப்புக்கும் தொடர்புடையது. சிஸ்டம் டிசைனில் இப்படி ஒரு அருமையான கொள்கை உள்ளது: ஒற்றைப் பொறுப்புக் கொள்கை. அவர் என்ன பேசுகிறார்? ஒவ்வொரு வகுப்பும் அதன் சொந்த செயல்பாடுகளுக்கு பொறுப்பாக இருக்க வேண்டும் என்பது உண்மை. இந்த வழக்கில், பயனர்கள், JSON பொருள்களுடன் தொடர்பு கொள்ளும் ஒரு கட்டுப்படுத்தி எங்களிடம் உள்ளது. முகப்பு உள்ளது, இது JSON பொருட்களை மாடல்களாக மாற்றுகிறது, பின்னர் ஜாவா பயன்பாடு வேலை செய்யும். இந்த மாதிரிகளுடன் செயல்படும் சிக்கலான தர்க்கத்தைக் கொண்ட ஒரு சேவை உள்ளது. இந்த மாதிரிகளை தரவுத்தளத்தில் வைத்து தரவுத்தளத்தில் இருந்து மீட்டெடுக்கும் தரவு அணுகல் பொருள் உள்ளது. மேலும் தரவுத்தளமும் உள்ளது. வேறு வார்த்தைகளில் கூறுவதானால், இது அனைத்தும் ஒரு வகுப்பில் இல்லை, ஆனால் நாங்கள் ஐந்து வெவ்வேறு வகுப்புகளை உருவாக்குகிறோம், அது மற்றொரு முறை.

ஜாவாவை ஏன் கற்றுக்கொள்வது மற்றும் அதை எவ்வாறு திறம்பட செய்வது. யாண்டெக்ஸ் அறிக்கை

நீங்கள் ஜாவாவை அதிகமாகவோ அல்லது குறைவாகவோ கற்றுக்கொண்டவுடன், உங்கள் சொந்த திட்டத்தை எழுதுவது மிகவும் நல்லது, அது ஒரு தரவுத்தளத்தைக் கொண்டிருக்கும், பிற APIகளுடன் பணிபுரியும் மற்றும் உங்கள் சேவையக பயன்பாட்டை REST API கிளையண்டுகளுக்கு வெளிப்படுத்தும். இது உங்கள் விண்ணப்பத்தில் சேர்க்க ஒரு சிறந்த விஷயமாக இருக்கும், இது உங்கள் கல்விக்கு ஒரு சிறந்த முடிவாக இருக்கும். இதன் மூலம் நீங்கள் சென்று வேலை பெறலாம்.

ஜாவாவை ஏன் கற்றுக்கொள்வது மற்றும் அதை எவ்வாறு திறம்பட செய்வது. யாண்டெக்ஸ் அறிக்கை

எனது சேவையக பயன்பாட்டின் எடுத்துக்காட்டு இங்கே. எனது இரண்டாம் ஆண்டில், நான் தோழர்களுடன் ஒரு டெர்ம் பேப்பர் எழுதினேன். அவர்கள் நிகழ்வுகளை ஏற்பாடு செய்வதற்காக மொபைல் அப்ளிகேஷன் எழுதிக் கொண்டிருந்தனர். அங்கு, பயனர்கள் VKontakte வழியாக உள்நுழையலாம், வரைபடத்தில் புள்ளிகளை வைக்கலாம், நிகழ்வுகளை உருவாக்கலாம், தங்கள் நண்பர்களை அவர்களுக்கு அழைக்கலாம், நிகழ்வுகளின் படங்களைச் சேமிக்கலாம்.

திட்டத்தில் நான் என்ன செய்தேன்? SQL ஐப் பயன்படுத்தாமல் ஸ்பிரிங் பூட்டில் சேவையக பயன்பாட்டை எழுதினார். எனக்கு அவரைத் தெரியாது, நான் JPA ஐப் பயன்படுத்தினேன். அது என்ன செய்ய முடியும்? OAuth-2 வழியாக VK இல் உள்நுழைக. பயனரின் டோக்கனை எடுத்து, அதனுடன் VK க்குச் சென்று, அது உண்மையான பயனரா என்பதைச் சரிபார்க்கவும். VKontakte மூலம் பயனர்களைப் பற்றிய தகவல்களைப் பெறுங்கள். இது JPA மூலமாகவும் ஒரு தரவுத்தளத்தில் தகவலைச் சேமிக்க முடிந்தது. கணினி நினைவகத்தில் படங்கள் மற்றும் பிற கோப்புகளை திறமையாக சேமித்து, அவற்றுக்கான இணைப்புகளை தரவுத்தளத்தில் சேமிக்கவும். அந்த நேரத்தில் தரவுத்தளத்தில் CLOB பொருள்கள் இருப்பதாக எனக்குத் தெரியாது, எனவே நான் அதைச் செய்தேன். பயனர்கள், கிளையன்ட் பயன்பாடுகளுக்கு REST API இருந்தது. மேலும் அடிப்படை செயல்பாட்டிற்கான அலகு சோதனைகள் இருந்தன.

[…] நான் ஜாவாவை வெற்றிகரமாக கற்றதற்கு ஒரு சிறிய உதாரணம். பல்கலைக்கழகத்தில் எனது முதல் ஆண்டில், எனக்கு C# கற்பிக்கப்பட்டது மற்றும் OOP நிரலாக்கத்தைப் பற்றிய புரிதல் வழங்கப்பட்டது - என்ன வகுப்புகள், இடைமுகங்கள், சுருக்கம் மற்றும் அவை ஏன் தேவைப்படுகின்றன. அது எனக்கு மிகவும் உதவியது. இது இல்லாமல், ஜாவாவைக் கற்றுக்கொள்வது மிகவும் கடினம்; வகுப்புகள் ஏன் தேவை என்பது தெளிவாகத் தெரியவில்லை.

ஜாவாவை ஏன் கற்றுக்கொள்வது மற்றும் அதை எவ்வாறு திறம்பட செய்வது. யாண்டெக்ஸ் அறிக்கை

பல்கலைக்கழகத்தில் எனது இரண்டாம் ஆண்டில், அவர்கள் மீண்டும் ஜாவா கோர் கற்பித்தார்கள், ஆனால் நான் அங்கு நிற்கவில்லை, நானே ஸ்பிரிங் படிக்கச் சென்று ஒரு பாடத் தாள் எழுதினேன், நான் மேலே குறிப்பிட்ட எனது திட்டம். இதையெல்லாம் வைத்து, நான் யாண்டெக்ஸில் இன்டர்ன்ஷிப்பிற்குச் சென்று, ஒரு நேர்காணலில் தேர்ச்சி பெற்று, Yandex.Market இல் நுழைந்தேன். அங்கு நான் பேரு, இது எங்கள் சந்தை மற்றும் Yandex.Market க்கான பின்தளத்தை எழுதினேன்.

அதன்பிறகு, ஆறு மாதங்களுக்கு முன்பு, அதே மார்க்கெட்டுக்குள் உள்ள மற்றொரு குழுவுக்கு மாற்றினேன். வணிக கூட்டாளர்களுக்கு நாங்கள் பகுப்பாய்வு செய்கிறோம். நாங்கள் பகுப்பாய்வு தளத்தில் இருக்கிறோம், பின்தளத்தில் நாங்கள் மூன்று பேர் இருக்கிறோம், எனவே திட்டத்தில் எனக்கு மிகப்பெரிய செல்வாக்கு உள்ளது. இது மிகவும் சுவாரஸ்யமானது, உண்மையில். அதாவது, நாங்கள் உண்மையில் சந்தையில் தரவை வழங்குகிறோம் - விற்பனை என்ன, எந்த வகைகளில், எந்த மாதிரிகளில், வணிக கூட்டாளர்களுக்கு, பெரிய நன்கு அறியப்பட்ட நிறுவனங்களுக்கு. நாங்கள் மூன்று பேர் மட்டுமே இருக்கிறோம், நாங்கள் இந்த குறியீட்டை எழுதுகிறோம், அது மிகவும் அருமையாக இருக்கிறது.

நன்றி! பயனுள்ள இணைப்புகள்:
- "ஜாவா 8. தொடக்க வழிகாட்டி".
- தரவு கட்டமைப்புகள்.
- SQLZOO.
- தரவுத்தள இயல்பாக்கம்.
- வடிவமைப்பு வடிவங்கள்.
- வடிவமைப்பு வடிவங்கள்.
- சுத்தமான குறியீடு.
- பயனுள்ள ஜாவா.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்