- குப்பை சேகரிப்பைப் பயன்படுத்தாமல், உரிமை, கடன் வாங்குதல் மற்றும் வாழ்நாள் முழுவதும் தொகுப்பில் நினைவகப் பாதுகாப்பை ரஸ்ட் உறுதி செய்கிறது.
- வகை அமைப்பு மற்றும் மாற்றுப்பெயர் விதிகள் மியூடெக்ஸ்கள், சேனல்கள் மற்றும் ஸ்மார்ட் சுட்டிகளைப் பயன்படுத்தி தரவு பந்தயங்கள் இல்லாமல் ஒத்திசைவை அனுமதிக்கின்றன.
- சரக்கு, crates.io மற்றும் ஒரு செயலில் உள்ள சுற்றுச்சூழல் அமைப்பு சார்பு மேலாண்மை, தொகுப்பு, சோதனை மற்றும் வரிசைப்படுத்தலை எளிதாக்குகின்றன.
- கட்டமைப்புகள், எனம்கள், விருப்பம் மற்றும் முடிவைப் புரிந்துகொள்வது, ஒரே நேரத்தில் பயன்பாடுகளில் பிழைகளைக் கையாள்வதற்கும் பாதுகாப்பான தரவை மாதிரியாக்குவதற்கும் முக்கியமாகும்.
துரு அந்த மொழிகளில் ஒன்றாக மாறிவிட்டது ஒவ்வொரு சிஸ்டம் டெவலப்பரும் அதை மீண்டும் மீண்டும் கேட்கிறார்கள்.இது C மற்றும் C++ போலவே வேகமானது, ஆனால் நினைவக பாதுகாப்பு மற்றும் நன்கு செயல்படுத்தப்பட்ட ஒத்திசைவில் கிட்டத்தட்ட வெறித்தனமான கவனம் செலுத்துகிறது. இது வெறும் வெற்று சந்தைப்படுத்தல் அல்ல: அதன் வடிவமைப்பு கம்பைலரை தொகுக்கும் நேரத்தில் பிழைகளைக் கண்டறிவதைச் சுற்றி வருகிறது - மற்ற மொழிகளில் கணினி ஏற்கனவே உற்பத்தியில் இருக்கும்போது மட்டுமே நீங்கள் காணக்கூடிய பிழைகள்... அல்லது அது செயலிழக்கும்போது மட்டுமே.
நீங்கள் புரிந்து கொள்ள ஆர்வமாக இருந்தால் குப்பை சேகரிப்பு இல்லாமல் பாதுகாப்பான நினைவகத்தையும், தரவு இயக்கங்களுக்கு பயம் இல்லாமல் ஒத்திசைவையும் ரஸ்ட் எவ்வாறு அடைகிறதுஇந்தப் பயிற்சி உங்களுக்கானது. மொழி மற்றும் அதன் சுற்றுச்சூழல் அமைப்பின் அடிப்படைகள் முதல் உரிமை, கடன் வாங்குதல், கலவை வகைகள், கார்கோ போன்ற கருவிகள் போன்ற முக்கிய கருத்துக்கள் வரை அனைத்தையும் நாங்கள் உள்ளடக்குவோம், மேலும் அணு வகைகள் மற்றும் பூட்டுதல் ஆகியவற்றையும் கூட புதியவர்களுக்கு அணுகக்கூடிய கண்ணோட்டத்தில் பார்ப்போம், இவை அனைத்தும் பாதுகாப்பு மற்றும் செயல்திறனை மையமாகக் கொண்டு.
துரு பயிற்சி: செயல்திறன், நினைவக பாதுகாப்பு மற்றும் ஒத்திசைவு
ரஸ்ட் என்பது ஒரு நிரலாக்க மொழி. நிரலாக்க பொது நோக்கம் மற்றும் பல-முன்மாதிரி, வடிவமைக்கப்பட்டது உயர் மட்ட திட்டங்களுக்கான குறைந்த-நிலை அமைப்புகள் நிரலாக்கம்இருந்து இயக்க முறைமைகள்விளையாட்டு இயந்திரங்கள் மற்றும் உலாவிகள் முதல் உயர் செயல்திறன் கொண்ட வலை சேவைகள் வரை, மென்பொருள் பாதுகாப்பை மேம்படுத்தும் குறிக்கோளுடன், குறிப்பாக உலாவி இயந்திரம் போன்ற உணர்திறன் கூறுகளில், இது மொசில்லாவில் உருவானது.
அதன் வரையறுக்கும் பண்பு என்னவென்றால் தொகுக்கும் நேரத்தில் நினைவக பாதுகாப்பை உறுதி செய்கிறது. குப்பை சேகரிப்பாளரைப் பயன்படுத்தாமல். அதற்கு பதிலாக, ரஸ்ட் ஒரு உரிமை அமைப்பு மற்றும் ஒவ்வொரு மதிப்பின் வாழ்நாளையும் அதன் குறிப்புகளையும் கண்காணிக்கும் கடன் சரிபார்ப்பைப் பயன்படுத்துகிறது. இது தானியங்கி குறிப்பு எண்ணுதல் அல்லது குப்பை சேகரிப்பு தேவையில்லாமல் தொங்கும் சுட்டிகள், இடையக வழிதல் அல்லது நினைவக கசிவுகள் போன்ற உன்னதமான சிக்கல்களைத் தவிர்க்கிறது.
மேலும், ரஸ்ட் அதை எளிதாக்க வடிவமைக்கப்பட்டுள்ளது பாதுகாப்பான ஒருங்கிணைவுஅதன் வகை மற்றும் உரிமை மாதிரியானது, குறைந்தபட்சம் பாதுகாப்பான ரஸ்ட் குறியீட்டில் இருக்கும்போது, த்ரெட்களுக்கு இடையே தரவு பந்தயங்களைத் தடுக்கிறது. இதன் பொருள், ஒற்றை வரி செயல்படுத்தப்படுவதற்கு முன்பு, தொகுக்கும் நேரத்தில் பல ஆபத்தான சூழ்நிலைகள் கண்டறியப்படுகின்றன.
இந்த எல்லா காரணங்களுக்காகவும், பெரிய நிறுவனங்கள் விரும்புகின்றன டிராப்பாக்ஸ், மைக்ரோசாப்ட், அமேசான் அல்லது Google அவர்கள் தங்கள் உள்கட்டமைப்பின் முக்கியமான பகுதிகளில் ரஸ்டை ஏற்றுக்கொண்டுள்ளனர். மேலும் இது டெவலப்பர்களால் "மிகவும் விரும்பப்படும்" மொழிகளில் ஒன்றாக பல ஆண்டுகளாக ஸ்டேக் ஓவர்ஃப்ளோ கருத்துக்கணிப்புகளில் முதலிடத்தில் இருப்பது தற்செயல் நிகழ்வு அல்ல: இது C++-பாணி செயல்திறனை நவீன கருவித்தொகுப்பு (Cargo, crates.io) மற்றும் மிகவும் சுறுசுறுப்பான சமூகமான Rustaceans உடன் இணைக்கிறது.
அடிப்படைக் கருத்துக்கள்: நிரலாக்க மொழி, வகைகள் மற்றும் நினைவகம்.
நினைவகப் பாதுகாப்பு மற்றும் ஒருங்கிணைவின் பிரத்தியேகங்களை ஆராய்வதற்கு முன், முழுவதும் தோன்றும் சில பொதுவான கருத்துக்களை தெளிவுபடுத்துவது மதிப்புக்குரியது எல் டைம்போ ரஸ்டுடன் பணிபுரியும் போது, குறிப்பாக நீங்கள் பிற மொழிகளிலிருந்து வந்திருந்தால் அல்லது நிரலாக்கத் தொடங்கினால்.
ஒரு நிரலாக்க மொழி, இறுதியில், வழிமுறைகளை விவரிக்க உங்களை அனுமதிக்கும் விதிகள் மற்றும் கட்டமைப்புகளின் தொகுப்பு. மேலும் அவற்றை செயல்படுத்தக்கூடிய நிரல்களாக மாற்றுகிறது. ரஸ்ட் அதன் தொகுப்பியைப் பயன்படுத்தி சொந்த இயந்திர குறியீட்டிற்கு தொகுக்கிறது. rustcஎனவே, நீங்கள் பெறும் செயல்திறன் பொதுவாக C மற்றும் C++ உடன் இணையாக இருக்கும்.
நினைவக மேலாண்மை என்பது ஒரு நிரலின் செயல்முறையாகும் இயங்கும் போது நினைவகத் தொகுதிகளை சேமித்து வெளியிடுகிறது.இந்தப் பகுதியில் ஏற்படும் பிழைகள் பெரும்பாலும் ஆபத்தானவை: நினைவகக் கசிவுகள் (பயன்படுத்தப்படாத நினைவகத்தை வெளியிடத் தவறுதல்), எல்லைக்கு அப்பாற்பட்ட எழுத்துகளிலிருந்து தரவு சிதைவு அல்லது நினைவகம் விடுவிக்கப்பட்ட பிறகு அதைப் பயன்படுத்துதல். ரஸ்ட் இதை மிகவும் வலுவான வகை அமைப்பு மற்றும் உரிமை, கடன் வாங்குதல் மற்றும் வாழ்நாள் ஆகியவற்றிற்கான முறையான விதிகள் மூலம் நிவர்த்தி செய்கிறது.
ரஸ்ட் போன்ற சொற்களையும் கொண்டுள்ளது புத்திசாலித்தனமான வகைகள் மற்றும் குறிப்புகள்ஒரு வகை ஒரு மாறி எந்த வகையான தரவைச் சேமிக்கிறது (முழு எண்கள், மிதவைகள், சரங்கள், கட்டமைப்புகள் போன்றவை) மற்றும் அதை எவ்வாறு கையாளலாம் என்பதை விவரிக்கிறது. ஸ்மார்ட் சுட்டிகள் (எடுத்துக்காட்டாக, Box, Rc y Arc) என்பது நினைவக முகவரிகளை இணைத்து, பகிரப்பட்ட குறிப்புகளை எண்ணுதல் அல்லது மதிப்புகளை குவியலுக்கு நகர்த்துதல் போன்ற வளங்களைப் பாதுகாப்பாக நிர்வகிக்க கூடுதல் தர்க்கத்தைச் சேர்க்கும் கட்டமைப்புகள் ஆகும்.
போட்டித் துறையில், போன்ற கருத்துக்கள் இன நிலைமைகள், இசைக்கருவிகள் மற்றும் சேனல்கள் அவை இன்றியமையாததாகின்றன: பல த்ரெட்கள் சரியான ஒருங்கிணைப்பு இல்லாமல் ஒரே நேரத்தில் ஒரு பகிரப்பட்ட வளத்தை அணுகி மாற்றியமைக்கும்போது ஒரு ரேஸ் நிலை ஏற்படுகிறது; ஒரு மியூடெக்ஸ் (பரஸ்பர விலக்கு) ஒரு நேரத்தில் ஒரு த்ரெட் மட்டுமே முக்கியமான பிரிவில் நுழைவதை உறுதி செய்கிறது; மேலும் சேனல்கள் நேரடியாக நினைவகத்தைப் பகிராமல் த்ரெட்களுக்கு இடையில் செய்திகளை அனுப்ப அனுமதிக்கின்றன.
துருவை ஏன் கற்றுக்கொள்ள வேண்டும்: நினைவக பாதுகாப்பு மற்றும் அச்சமற்ற ஒருங்கிணைவு
ரஸ்ட் அதன் புகழைப் பெற்றுள்ளது ஏனெனில் அது வழங்குகிறது நவீன நிரலாக்கத்திற்கான மூன்று மிகவும் மதிப்புமிக்க தூண்கள்செயல்திறன், பாதுகாப்பு மற்றும் தற்போதைய கருவிகள். இந்த புள்ளிகள் ஏன் மிகவும் பொருத்தமானவை என்பதைப் பார்ப்போம்.
செயல்திறன் குறித்து, Rust சொந்த பைனரிகளுக்கு நேரடியாக தொகுக்கிறது. ஒரு மெய்நிகர் இயந்திரம் அல்லது மொழிபெயர்ப்பாளரின் தேவை இல்லாமல். பூஜ்ஜிய-விலை சுருக்க மாதிரி, உயர்-நிலை சுருக்கங்கள் இயக்க நேரத்தில் மேல்நிலையைச் சேர்க்காமல் இருப்பதை உறுதி செய்வதை நோக்கமாகக் கொண்டுள்ளது. எனவே, இது அமைப்புகள் மேம்பாட்டிற்கு ஏற்றது. வீடியோ விளையாட்டுகள், உலாவி கூறுகள் அல்லது குறைந்த தாமத மைக்ரோ சேவைகள்.
நினைவகப் பாதுகாப்பு அதன் அடிப்படையிலானது உரிமை மற்றும் கடன் அமைப்புகுப்பை சேகரிப்பான் இல்லை, ஆனால் தொகுப்பி ஒவ்வொரு வளத்தையும் யார் வைத்திருக்கிறார்கள், அது எப்போது தேவைப்படாது, எப்போது வெளியிட முடியும் என்பதை சரியாக அறிவார். இது கசிவுகள், தொங்கும் சுட்டிகள் மற்றும் பாரம்பரியமாக C மற்றும் C++ நிரலாக்கத்தை மிகவும் ஆபத்தானதாக மாற்றிய பல பிழைகளைத் தடுக்கிறது.
போட்டித் துறையில், ரஸ்ட் பொதுவாக அழைக்கப்படுவதைப் பின்தொடர்கிறது "பயம் இல்லாமல் ஒருங்கிணைவு"பாதுகாப்பான குறியீட்டில் தரவு வேர்கள் இருப்பதை வகை அமைப்பு தானே தடுக்கிறது. நீங்கள் திரிகளுக்கு இடையில் மாற்றக்கூடிய தரவைப் பகிர விரும்பினால், நீங்கள் பொருத்தமான முதன்மைகளைப் பயன்படுத்த வேண்டும், எடுத்துக்காட்டாக Mutex, RwLock o Arc, மேலும் மாற்றுப்பெயர் மற்றும் மாற்றத்தக்க விதிகள் மதிக்கப்படுவதை தொகுப்பி உறுதி செய்யும்.
மேம்பாட்டு அனுபவம் நவீன கருவிகளால் மேம்படுத்தப்பட்டுள்ளது, அவை பின்வருமாறு: சரக்குஇது ஒரு ஒருங்கிணைந்த தொகுப்பு மேலாளர் மற்றும் கட்டமைப்பு உள்கட்டமைப்பைக் கொண்டுள்ளது, மேலும் ஒத்திசைவற்ற நெட்வொர்க்கிங் (டோக்கியோ) முதல் வலை கட்டமைப்புகள் (ஆக்டிக்ஸ், ராக்கெட், ஆக்சம்) வரை அனைத்தையும் உள்ளடக்கிய நூலகங்களின் (கிரேட்ஸ்) பரந்த சுற்றுச்சூழல் அமைப்பைக் கொண்டுள்ளது. இவை அனைத்தும் திறந்த, வளமான மற்றும் மிகவும் பொறுமையான சமூகத்தால் ஆதரிக்கப்படுகின்றன, குறிப்பாக தொடக்கநிலையாளர்களுக்கு.
நிறுவல் மற்றும் அத்தியாவசிய கருவிகள்: துருப்பிடித்தல், துருப்பிடித்தல் மற்றும் சரக்கு
உங்கள் முதல் நிரல்களை ரஸ்டில் எழுதி இயக்க, தொடங்குவதற்கான வழக்கமான வழி, அதிகாரப்பூர்வ கருவித்தொகுப்பைப் பயன்படுத்தி நிறுவுவதாகும். துருப்பிடித்தல் (பார்க்க ரஸ்டுக்கான முழுமையான அறிமுகம்), அனைத்து முக்கிய இயக்க முறைமைகளிலும் செயல்படும் ஒரு எளிய நிறுவி மற்றும் பதிப்பு மேலாளர்.
உடன் துருப்பிடித்தல் எதையும் உடைக்காமல் நீங்கள் ரஸ்டின் வெவ்வேறு பதிப்புகளை (நிலையானது, பீட்டா, இரவு) நிறுவலாம், புதுப்பிக்கலாம் மற்றும் மாறலாம். அதிகாரப்பூர்வ ரஸ்ட் கருவிகள் பக்கத்திற்குச் சென்று உங்கள் கணினிக்கான படிகளைப் பின்பற்றவும். நிறுவப்பட்டதும், தொகுப்பி கிடைக்கும். rustc, திட்ட மேலாளர் cargo மற்றும் சொந்தமானது rustup உங்கள் முனையத்தில்.
தொகுப்பாளர் rustc இது உங்கள் மூலக் குறியீட்டை இயக்கக்கூடிய பைனரிகள் அல்லது நூலகங்களாக மாற்றுகிறது. நீங்கள் அதை நேரடியாகப் பயன்படுத்தி செயல்படுத்தலாம் என்றாலும் கட்டளைகளை போன்ற rustc main.rsநடைமுறையில், நீங்கள் எப்போதும் கார்கோ மூலம் வேலை செய்வீர்கள், இது அழைப்புகளைக் கையாளுகிறது rustc சரியான விருப்பங்களுடன்.
பணிப்பாய்வின் மையக் கருவி சரக்குஒரு சில கட்டளைகளைப் பயன்படுத்தி, நீங்கள் crates.io இல் புதிய திட்டங்களை உருவாக்கலாம், சார்புகளை நிர்வகிக்கலாம், தொகுக்கலாம், இயக்கலாம், சோதிக்கலாம் மற்றும் தொகுப்புகளை வெளியிடலாம். பொதுவாகப் பயன்படுத்தப்படும் சில அடிப்படை கட்டளைகள்: cargo new, cargo build, cargo run, cargo test y cargo check, இது இறுதி இயங்கக்கூடியதை உருவாக்காமல் குறியீட்டைச் சரிபார்க்கிறது, பிழைகளை விரைவாகக் கண்டறிவதற்கு ஏற்றது.
எதையும் நிறுவாமல் டிங்கர் செய்ய விரும்பினால், ரஸ்ட் விளையாட்டு மைதானம் (அதிகாரப்பூர்வ ஆன்லைன் நிர்வாகி) மற்றும் ரெப்லிட் போன்ற தளங்கள் உலாவியில் இருந்து சிறிய குறியீடுகளை எழுதவும் இயக்கவும் உங்களை அனுமதிக்கின்றன, முழு சூழலையும் அமைக்காமல் நினைவகம் மற்றும் ஒருங்கிணைவு எடுத்துக்காட்டுகளுடன் பரிசோதனை செய்வதற்கு ஏற்றது.
உங்கள் முதல் நிரல்: ஹலோ, ரஸ்ட், மற்றும் அடிப்படை ஓட்டம்
எந்த மொழியிலும் உரையாடலைத் தொடங்குவதற்கான உன்னதமான வழி பிரபலமான "வணக்கம், உலகம்" என்பதைக் கொண்டு தொடங்குவதாகும். ரஸ்டில், ஒரு கோப்பு main.rs குறைந்தபட்சம் ஒரு செயல்பாடு போன்ற எளிமையான ஒன்றைக் கொண்டிருக்கலாம். main அது திரையில் ஒரு சரத்தை அச்சிடுகிறது..
முக்கிய வார்த்தை fn நாம் ஒரு செயல்பாட்டை வரையறுக்கிறோம் என்பதைக் குறிக்கிறது, மற்றும் main இது நிரலின் நுழைவுப் புள்ளி. செயல்பாட்டின் குறியீடு தொகுதி சுருள் அடைப்புக்குறிகளுக்குள் செல்கிறது. கன்சோலில் எழுத, இதைப் பயன்படுத்தவும் மேக்ரோ println!, இது ஒரு சரத்தை (அல்லது புக்மார்க்குகளுடன் கூடிய டெம்ப்ளேட்டை) ஏற்றுக்கொண்டு புதிய வரி எழுத்தில் முடிவடையும் நிலையான வெளியீட்டிற்கு அனுப்புகிறது.
நீங்கள் நேரடியாக தொகுத்தால் rustc main.rs, நீங்கள் ஒரு இயங்கக்கூடிய பைனரியைப் பெறுவீர்கள் (எடுத்துக்காட்டாக, main o main.exe (கணினியைப் பொறுத்து). நீங்கள் அதை இயக்கும்போது, டெர்மினலில் செய்தியைக் காண்பீர்கள். ஆனால் ரஸ்டுடன் பணிபுரிவதற்கான மரபு வழி, திட்டத்தில் கார்கோவை முன்னிலைப்படுத்த அனுமதிப்பதாகும்.
உடன் cargo new nombre_proyecto ஒரு கோப்புறை அமைப்பு தானாகவே உருவாக்கப்படுவது a உடன் src/main.rs "வணக்கம், உலகம்" மற்றும் ஒரு கோப்புடன் ஏற்கனவே தயார் செய்யப்பட்டுள்ளது. Cargo.toml இதில் மெட்டாடேட்டா மற்றும் எதிர்கால சார்புகள் உள்ளன. அங்கிருந்து, cargo run பைனரியை தொகுத்து இயக்கவும்.மேலும் அது மாற்றங்களைக் கண்டறியும்போது மட்டுமே மீண்டும் தொகுக்கிறது.
இந்த வேலை முறை வசதியானது மட்டுமல்ல, ஆரம்பத்திலிருந்தே நிலையான ரஸ்ட் சுற்றுச்சூழல் அமைப்பைப் பயன்படுத்த உங்களைப் பழக்கப்படுத்துகிறது. இது நீங்கள் ஒத்திசைவு, நெட்வொர்க்கிங், சோதனை அல்லது உங்களுக்குத் தேவையான எதற்கும் கிரேட்களைச் சேர்க்கத் தொடங்கும்போது மிகவும் பயனுள்ளதாக இருக்கும்.
// பிரதான செயல்பாட்டை நாங்கள் அறிவிக்கிறோம்: நிரல் நுழைவு புள்ளி fn main() { // கன்சோலுக்கு உரையை அச்சிட println! மேக்ரோவைப் பயன்படுத்துகிறோம் println!("வணக்கம், உலகம்!"); }
மாறிகள், மாற்றத்தக்க தன்மை மற்றும் அடிப்படை தரவு வகைகள்
ரஸ்டில், மாறிகள் முக்கிய வார்த்தையுடன் அறிவிக்கப்படுகின்றன. let, மற்றும் இயல்பாகவே மாறாதவைவேறு வார்த்தைகளில் கூறுவதானால், நீங்கள் அவர்களுக்கு ஒரு மதிப்பை ஒதுக்கியவுடன், அதை மாற்றக்கூடியது என்று வெளிப்படையாக அறிவிக்கும் வரை அதை மாற்ற முடியாது mut.
இயல்புநிலையாக மாறாத தன்மை நுட்பமான தர்க்கப் பிழைகளைத் தவிர்க்க உதவுகிறது, குறிப்பாக ஒரே நேரத்தில் பல த்ரெட்கள் ஒரே மதிப்பை மாற்ற விரும்பும் ஒரே நேரத்தில் நிரல்களில். நீங்கள் அதை மாற்ற வேண்டும் என்றால், நீங்கள் இப்படி எழுதுகிறீர்கள் let mut contador = 0;அங்கிருந்து நீங்கள் புதிய மதிப்புகளை மீண்டும் ஒதுக்கலாம் contador.
துரு என்றும் அழைக்கப்படுவதை அனுமதிக்கிறது நிழல்முந்தையதை மறைத்து, அதே பெயருடன் ஒரு புதிய மாறியை அதே நோக்கத்திற்குள் அறிவிக்கலாம். இது மாற்றியமைத்தலுக்குச் சமமானதல்ல, ஏனெனில் நீங்கள் ஒரு புதிய மதிப்பை உருவாக்குகிறீர்கள் (இது வேறு வகையாகவும் இருக்கலாம்). எடுத்துக்காட்டாக, ஒரு சரத்திலிருந்து ஒரு முழு எண்ணாக அதே பெயரைப் பயன்படுத்தி மாற்றலாம், அது ஒரு புதிய அறிவிப்பாக இருந்தால் let.
ரஸ்டின் வகை அமைப்பு நிலையானது, அதாவது ஒவ்வொரு மாறியின் வகையும் தொகுப்பில் அறியப்படுகிறது.இருப்பினும், வகை அனுமானம் மிகவும் சக்தி வாய்ந்தது: நீங்கள் எழுதினால் let x = 5;தொகுப்பி அதை ஒரு என்று கருதுகிறது i32 நீங்கள் வேறுவிதமாகக் கூறாவிட்டால். நீங்கள் குறிப்புகளைச் சேர்க்கலாம், எடுத்துக்காட்டாக let x: i64 = 5; நீங்கள் வெளிப்படையாக இருக்க விரும்பும் போது.
கிடைக்கக்கூடிய ஸ்கேலார் வகைகளில் கையொப்பமிடப்பட்ட மற்றும் கையொப்பமிடப்படாத முழு எண்கள் உள்ளன (i8, u8, i32, முதலியன), மிதக்கும் (f32, f64), பூலியன்ஸ் (bool) மற்றும் யூனிகோட் எழுத்துக்கள் (char). இந்த எளிய வகைகள் பொதுவாக நகலெடுப்பதற்கு மலிவானவை, மேலும் பலர் இந்தப் பண்பை செயல்படுத்துகிறார்கள். Copyஅதாவது நீங்கள் அவற்றை ஒதுக்கும்போது அல்லது ஒரு செயல்பாட்டிற்கு அனுப்பும்போது, அவை நகர்த்தப்படுவதற்குப் பதிலாக நகலெடுக்கப்படுகின்றன.
ரஸ்டில் உள்ள சரங்கள்: &str மற்றும் சரம்
ரஸ்டில் உரை கையாளுதல் முதலில் கொஞ்சம் குழப்பமாக இருக்கும், ஏனெனில் இது தெளிவாக வேறுபடுத்துகிறது சங்கிலி "துண்டுகள்" மற்றும் தனியுரிம சங்கிலிகள்இரண்டு முக்கிய துண்டுகள் &str y String.
Un &str ஒரு உள்ளது மாறாத சங்கிலித் துண்டுஎங்கோ சேமிக்கப்பட்ட UTF-8 பைட் வரிசையின் காட்சி. வழக்கமான எடுத்துக்காட்டுகளில் இது போன்ற எழுத்துகள் அடங்கும் "Hola"அவை அந்த வகையைச் சேர்ந்தவை &'static str (அவை நிரலின் முழு வாழ்க்கையிலும் இருக்கும் மற்றும் பைனரியில் உட்பொதிக்கப்படுகின்றன.) துண்டுகள் தரவைச் சொந்தமாக்குவதில்லை; அவை அதை மட்டுமே சுட்டிக்காட்டுகின்றன.
Stringமறுபுறம், ஒரு சொந்த சரம், மாற்றக்கூடியது மற்றும் குவியலில் ஹோஸ்ட் செய்யப்பட்டதுஅதன் சொத்தை நகர்த்துவதன் மூலம் அதை மறுஅளவிடலாம், இணைக்கலாம், செயல்பாடுகளுக்கு இடையில் அனுப்பலாம். டைனமிக் உரையை உருவாக்க அல்லது கட்டமைப்புகளுக்குள் நீண்ட காலத்திற்கு சேமிக்க விரும்பும்போது இது பெரும்பாலும் பயன்படுத்தப்படுகிறது.
பல சூழ்நிலைகளில் நீங்கள் ஒன்றுக்கும் மற்றொன்றுக்கும் இடையில் உருமாறும்: எடுத்துக்காட்டாக, நீங்கள் ஒரு String::from("hola") ஒரு துண்டிலிருந்துஅல்லது நீங்கள் ஒரு &str ஒரு String படிக்க மட்டுமே தேவைப்படும் செயல்பாடுகளுக்கு குறிப்புகளை அனுப்புவதன் மூலம்.
சொந்தமான மற்றும் கடன் வாங்கிய தரவுகளுக்கு இடையிலான இந்தப் பிரிப்பு நினைவக மேலாண்மைக்கு முக்கியமாகும், மேலும் இது மொழியின் மற்ற பகுதிகளுக்கும் நீண்டுள்ளது: சேகரிப்புகள், கட்டமைப்புகள் மற்றும் எனம்கள் யாருக்குச் சொந்தமானது, யார் மட்டுமே பார்க்கிறார்கள் என்ற அதே கருத்துக்களைப் பின்பற்றுகின்றன.
செயல்பாடுகள், கட்டுப்பாட்டு ஓட்டம் மற்றும் கருத்துகள்
ரஸ்டில் உள்ள செயல்பாடுகள் வரையறுக்கப்படுகின்றன fn மேலும் நிரலை மீண்டும் பயன்படுத்தக்கூடிய தருக்க அலகுகளாக ஒழுங்கமைக்க அனுமதிக்கவும். ஒவ்வொரு செயல்பாடும் குறிப்பிடுகிறது அதன் அளவுருக்களின் வகை மற்றும் அதன் திரும்பும் வகை அம்புக்குறியைப் பின்தொடர்ந்து ->அது அர்த்தமுள்ள எதையும் தரவில்லை என்றால், ஒற்றையாட்சி வகை கருதப்படுகிறது. ().
ஒரு முக்கியமான விவரம் என்னவென்றால், அரைப்புள்ளி இல்லாமல் ஒரு செயல்பாட்டில் (அல்லது எந்த தொகுதியிலும்) கடைசி வெளிப்பாடு மறைமுக வருவாய் மதிப்பாக எடுத்துக் கொள்ளப்படுகிறது. நீங்கள் இதைப் பயன்படுத்தலாம் return முன்கூட்டியே திரும்பப் பெறுவதற்குஆனால் மரபுசார் குறியீட்டில், நீங்கள் பெரும்பாலும் இறுதி வெளிப்பாட்டை இல்லாமல் விட்டுவிடுவீர்கள். ;.
கட்டுப்பாட்டு ஓட்டம் கிளாசிக்ஸுடன் கையாளப்படுகிறது. if/elseசுழல்கள் loop, while y forரஸ்டில், if இது ஒரு மதிப்பைத் தரும் ஒரு வெளிப்பாடு ஆகும்.எனவே நீங்கள் அதை நேரடியாக a இல் பயன்படுத்தலாம் letகிளைகள் அதே வகையைத் திருப்பி அனுப்பினால். சுழல்கள் for அவை பொதுவாக வரம்புகள் அல்லது சேகரிப்பு மறு செய்கைகளில் மீண்டும் மீண்டும் செய்யப்படுகின்றன, மேலும் கையேடு குறியீடுகளுக்குப் பதிலாக பரிந்துரைக்கப்பட்ட விருப்பமாகும்.
குறியீட்டை ஆவணப்படுத்தவும், பின்னால் வருபவர்களுக்கு (ஒரு மாதத்தில் உங்களையும் சேர்த்து) வாழ்க்கையை எளிதாக்கவும், நீங்கள் பயன்படுத்தலாம் வரி கருத்துகள் // அல்லது உடன் தடு /* ... */கூடுதலாக, ரஸ்ட் ஆவணக் கருத்துகளை வழங்குகிறது /// அவை உருவாக்கப்பட்ட ஆவணங்களாகின்றன, இருப்பினும் அவை பெரிய திட்டங்களுக்கு அதிகம் பொருந்துகின்றன.
உரிமை, கடன் மற்றும் வாழ்நாள்: நினைவக பாதுகாப்பின் அடித்தளம்.
இங்கே நாம் ரஸ்டின் நினைவக மாதிரியின் மையத்திற்கு வருகிறோம்: அமைப்பு உரிமை, கடன் வாங்குதல் மற்றும் வாழ்நாள்இந்த விதிகள் குறிப்புகள் எப்போதும் செல்லுபடியாகும் என்பதையும், நினைவகம் குவிந்து கிடக்கும் குப்பைகள் இல்லாமல் பாதுகாப்பாக வெளியிடப்படுவதையும் உறுதி செய்கின்றன.
உரிமையின் அடிப்படை விதிகள் கூறுவதற்கு எளிமையானவை, இருப்பினும் முதலில் அவற்றை உள்வாங்குவது கடினமாக இருக்கலாம்: ஒவ்வொரு மதிப்புக்கும் ஒரு உரிமையாளர் இருக்கிறார்.ஒரு நேரத்தில் ஒரு உரிமையாளர் மட்டுமே இருக்க முடியும்; உரிமையாளர் அதன் நோக்கத்தை விட்டு வெளியேறும்போது, மதிப்பு அழிக்கப்பட்டு அதன் நினைவகம் வெளியிடப்படுகிறது. எடுத்துக்காட்டாக, இது ஒரு String: அது அறிவிக்கப்பட்ட தொகுதி முடிந்ததும், அது தானாகவே செயல்படுத்தப்படும். drop இது குவியல் நினைவகத்தை விடுவிக்கிறது.
நீங்கள் மற்றொரு மாறிக்கு ஒரு சரியான மதிப்பை ஒதுக்கும்போது அல்லது அதை ஒரு செயல்பாட்டிற்கு மதிப்பு மூலம் அனுப்பும்போது, சொத்து நகர்த்தப்படுகிறது. இதன் பொருள் நகர்த்தலுக்குப் பிறகு அசல் மாறி செல்லுபடியாகாது.இந்த இயக்க சொற்பொருள் இரட்டை வெளியீடுகளைத் தவிர்க்கிறது, ஏனெனில் ஒரே வளத்தை வெளியிட இரண்டு உரிமையாளர்கள் ஒருபோதும் முயற்சிப்பதில்லை.
உரிமையை மாற்றாமல் நிரலின் பல பகுதிகள் ஒரே மதிப்பை அணுக அனுமதிக்க, ரஸ்ட் குறிப்புகள் மற்றும் கடன் வாங்குதலை அறிமுகப்படுத்துகிறார். நீங்கள் கடன் வாங்கும்போது, நீங்கள் ஒரு குறிப்பை உருவாக்குகிறீர்கள். &T (மாறாதது) அல்லது &mut T (மாற்றக்கூடியது) உரிமையை மாற்றாமல் மதிப்புக்கு. கடன் சரிபார்ப்பாளரின் விதிகளால் கடன் வரையறுக்கப்பட்டுள்ளது., இது குறிப்புகள் அவர்கள் சுட்டிக்காட்டும் தரவை விட அதிகமாக இல்லை என்பதையும், மாற்றக்கூடிய மற்றும் பகிரப்பட்ட அணுகல்கள் ஆபத்தான முறையில் கலக்கப்படவில்லை என்பதையும் சரிபார்க்கிறது.
கடனின் விதிகளை பின்வருமாறு சுருக்கமாகக் கூறலாம்: எந்த நேரத்திலும், நீங்கள் பல மாறாத குறிப்புகள் ஒரு மதிப்புக்கு, அல்லது ஒற்றை மாற்றக்கூடிய குறிப்புஆனால் இரண்டும் ஒரே நேரத்தில் இல்லை. இது பகிரப்பட்ட நினைவகத்தில் இன நிலைமைகளை நீக்குகிறது: ஒன்று பல வாசகர்கள் இருக்கிறார்கள், அல்லது ஒரு தனிமைப்படுத்தப்பட்ட எழுத்தாளர் இருக்கிறார்; ஒரே நேரத்தில் ஒரே நேரத்தில் ஒரே நேரத்தில் ஒரே நேரத்தில் வாசகர்களும் எழுத்தாளர்களும் இல்லை.
கூட்டு வகைகள்: கட்டமைப்புகள், எனம்கள் மற்றும் ஸ்மார்ட் சுட்டிகள்
தொடர்புடைய தரவை வளமான கட்டமைப்புகளாக தொகுக்க ரஸ்ட் பல வழிகளை வழங்குகிறது, இதில் தொடங்கி கட்டமைப்புகள்ஒரு கட்டமைப்பு, பெயரிடப்பட்ட புலங்களுடன் தனிப்பயன் வகையை வரையறுக்க உங்களை அனுமதிக்கிறது, எடுத்துக்காட்டாக மின்னஞ்சல், பெயர், செயல்பாட்டு நிலை மற்றும் உள்நுழைவு கவுண்டர் கொண்ட பயனர்.
ஒரு கட்டமைப்பின் நிகழ்வை உருவாக்க, நீங்கள் அதன் அனைத்து புலங்களையும் நிரப்ப வேண்டும், மேலும் அதன் மதிப்புகளை பின்னர் மாற்றியமைக்க அதைக் கொண்ட மாறியை மாற்றக்கூடியதாகக் குறிக்கலாம். ஏற்கனவே உள்ள ஒன்றிலிருந்து சில புலங்களை மீண்டும் பயன்படுத்துவதன் மூலம் ஒரு புதிய நிகழ்வை உருவாக்க உங்களை அனுமதிக்கும் கட்டமைப்பு புதுப்பிப்பு தொடரியல் உள்ளது. ..otro_struct.
தி எனம்ஸ் அவை மற்றொரு அத்தியாவசிய தூண்: அவை பல சாத்தியமான மாறுபாடுகளில் ஒன்றாக இருக்கக்கூடிய ஒரு வகையை வரையறுக்க உங்களை அனுமதிக்கின்றன, ஒவ்வொன்றும் அதன் சொந்த தொடர்புடைய தரவுகளுடன் அல்லது அது இல்லாமல். ஒரு சிறந்த எடுத்துக்காட்டு IP முகவரிகளுக்கான ஒரு எனம், ஒரு மாறுபாட்டைக் கொண்டது. V4 இது நான்கு ஆக்டெட்களையும் இன்னொன்றையும் சேமிக்கிறது V6 இது IPv6 குறியீட்டுடன் ஒரு சரத்தை சேமிக்கிறது.
ரஸ்டின் நிலையான நூலகத்தில் இரண்டு மிக முக்கியமான எனம்கள் உள்ளன: Option<T> y Result<T, E>முதலாவது ஒரு மதிப்பின் இருப்பு அல்லது இல்லாமையைக் குறிக்கிறது (ஏதாவது அல்லது எதுவுமில்லை), மேலும் பூஜ்ய சுட்டிகளைத் தவிர்க்கப் பயன்படுகிறது; இரண்டாவது மாதிரி செயல்பாடுகள் சரியான முடிவு அல்லது பிழையை வழங்கவும்., பிழை கையாளுதல் வெளிப்படையாகவும் பாதுகாப்பாகவும் இருக்க வேண்டும் என்று கோருகிறது.
டைனமிக் நினைவகத்தை நிர்வகிக்கவும் தரவைப் பகிரவும், ரஸ்ட் ஸ்மார்ட் சுட்டிகள் போன்ற Box<T>, இது ஒரு மதிப்பை குவியலுக்கு நகர்த்தி தனித்துவமான உரிமையைப் பராமரிக்கிறது; Rc<T>, ஒற்றை-திரிக்கப்பட்ட சூழல்களுக்கான பகிரப்பட்ட குறிப்பு எண்ணிக்கை; மற்றும் Arc<T>, ஒத்த Rc ஆனால் பல நூல்களுக்கு பாதுகாப்பானது. டைனமிக் நினைவகத்தை ஒருங்கிணைவுடன் இணைக்கும்போது அவற்றை சரியாகப் பயன்படுத்துவது மிக முக்கியம்.
சரக்கு மற்றும் கிரேட்ஸ் சுற்றுச்சூழல் அமைப்பு
சரக்கு என்பது ரஸ்ட் சுற்றுச்சூழல் அமைப்பை ஒன்றாக வைத்திருக்கும் பசை ஆகும்: தொகுப்பு, சார்புநிலைகள் மற்றும் திட்ட வாழ்க்கைச் சுழற்சியை நிர்வகிக்கிறது.ஒவ்வொரு திட்டத்திலும் ஒரு கோப்பு உள்ளது. Cargo.toml இது ஒரு வெளிப்பாடாகச் செயல்பட்டு, பெயர், பதிப்பு, மொழி பதிப்பு மற்றும் வெளிப்புற சார்புகளை அறிவிக்கிறது.
பிரிவில் இந்தக் கோப்பு மூன்றாம் தரப்பு கிரேட்சுகளை அவற்றின் பதிப்புகளுடன் பட்டியலிட உங்களை அனுமதிக்கிறது. நீங்கள் இயக்கும்போது cargo build o cargo runகார்கோ தானாகவே இந்தப் பெட்டிகளை crates.io இலிருந்து பதிவிறக்கம் செய்து, தொகுத்து, உங்கள் திட்டத்துடன் இணைக்கிறது. சீரற்ற எண் ஜெனரேட்டர்கள், வலை கட்டமைப்புகள் அல்லது கிரிப்டோகிராஃபிக் நூலகங்களைச் சேர்ப்பது மிகவும் எளிதானது.
மிகவும் பொதுவான கட்டளைகளில் ஒன்று cargo new பைனரி திட்டங்களைத் தொடங்க o cargo new --lib நூலகங்களுக்கு; cargo build பிழைத்திருத்த பயன்முறையில் தொகுக்க; cargo build --release உகந்ததாக்கப்பட்ட, உற்பத்தி சார்ந்த பதிப்பைப் பெற; மற்றும் cargo test சோதனைகளின் பேட்டரியை இயக்க.
cargo check இது சிறப்புக் குறிப்புக்குத் தகுதியானது: இது ஒரு பைனரியை உருவாக்காமல் குறியீட்டை ஒரு இடைநிலைப் புள்ளியில் தொகுக்கிறது, இதனால் அது தொகுப்புப் பிழைகளைக் கண்டறிவதில் மிக வேகமாக இருங்கள்.கடன் சரிபார்ப்பவர் சொத்துக்கள், குறிப்புகள் மற்றும் ஆயுட்காலம் தொடர்பான சிக்கல்களைச் சுட்டிக்காட்டும் போது விரைவாக மீண்டும் கூறுவதற்கு இது சரியானது.
இந்த சுற்றுச்சூழல் அமைப்புக்கு நன்றி, உங்கள் திட்டங்களை சிறிய, நன்கு வரையறுக்கப்பட்ட பெட்டிகளாக கட்டமைப்பது, அவற்றுக்கிடையே குறியீட்டைப் பகிர்ந்து கொள்வது மற்றும் சமூகத்தால் உருவாக்கப்பட்ட தீர்வுகளை மீண்டும் பயன்படுத்துவது பொதுவானது. எடுத்துக்காட்டாக, மேம்பட்ட ஒத்திசைவுக்கு, ஒத்திசைவற்ற நிரலாக்கத்திற்கான டோக்கியோ அல்லது உயர் செயல்திறன் கொண்ட ஒரே நேரத்தில் தரவு கட்டமைப்புகளுக்கான குறுக்குவெட்டு போன்ற பெட்டிகள் உங்களிடம் இருக்கும்.
துருவில் ஒத்திசைவு: நூல்கள், மியூடெக்ஸ்கள், சேனல்கள் மற்றும் அணுக்கள்
துரு இவ்வளவு ஆர்வத்தை உருவாக்குவதற்கு ஒத்திசைவு ஒரு காரணம்: இது மல்டி-கோர் செயலிகளைப் பயன்படுத்திக் கொள்ள உங்களை அனுமதிக்கிறது. நூல்கள் மற்றும் பகிரப்பட்ட நினைவகத்தின் வழக்கமான பிழைகளில் விழாமல்இந்தத் தலைப்புகளை நீங்கள் முதன்முறையாக அணுகினால், பல கருத்துகளை வேறுபடுத்திப் பார்ப்பது உதவியாக இருக்கும்.
ஒரே நேரத்தில் ஒன்று அல்லது பல கோர்களில், காலப்போக்கில் ஒன்றுடன் ஒன்று சேரும் பல பணிகளைச் செயல்படுத்துவதை ஒத்திசைவு உள்ளடக்குகிறது. ரஸ்டில், இணையாக வேலை செய்ய நீங்கள் கணினி நூல்களை உருவாக்கலாம், மேலும் அவற்றுக்கிடையே தரவுப் பகிர்வு பாதுகாப்பானது என்பதை உறுதிப்படுத்த மொழி உங்களை வழிநடத்துகிறது. ஒரு உன்னதமான பிழை என்பது ரேஸ் நிலை, அங்கு இரண்டு நூல்கள் ஒரே நேரத்தில் தரவை அணுகி மாற்றியமைக்கின்றன, மேலும் முடிவு செயல்படுத்தல் வரிசையைப் பொறுத்தது - பிழைத்திருத்தம் செய்வது மிகவும் கடினமான ஒன்று.
பகிரப்பட்ட தரவுகளுக்கான அணுகலை ஒருங்கிணைக்க, ரஸ்ட் போன்ற பழமையானவற்றை நம்பியுள்ளது மியூடெக்ஸ்இது பரஸ்பர விலக்கலை உறுதி செய்கிறது: ஒரு நேரத்தில் ஒரு நூல் மட்டுமே முக்கியமான பிரிவில் நுழைய முடியும். Arc<T> த்ரெட்களுக்கு இடையில் உரிமையைப் பகிர்ந்து கொள்ள, உரிமை மற்றும் கடன் வாங்குதல் விதிகளுக்கு இணங்க பகிரப்பட்ட தரவு கட்டமைப்புகளை உருவாக்க முடியும்.
ரஸ்டில் பெரிதும் ஊக்குவிக்கப்படும் இடை-திரிக்கப்பட்ட தகவல்தொடர்பின் மற்றொரு பொதுவான வடிவம், இதைப் பயன்படுத்தி செய்தி அனுப்புவதாகும் சேனல்கள்ஒரு சேனலுக்கு அனுப்பும் முனை மற்றும் பெறும் முனை உள்ளது; நூல்கள் அதன் வழியாக செய்திகளை (மதிப்புகள்) அனுப்புகின்றன, இது மாற்றக்கூடிய பகிரப்பட்ட நினைவகத்தின் பயன்பாட்டைக் குறைக்கிறது மற்றும் அமைப்பின் நிலை குறித்த பகுத்தறிவை எளிதாக்குகிறது.
குறைந்த அளவிலான ஒருங்கிணைவை நீங்கள் ஆழமாக ஆராயும்போது, பின்வருபவை தோன்றும்: அணு வகைகள்ஒரு நூல் கண்ணோட்டத்தில் பிரிக்க முடியாத செயல்பாடுகள் மூலம் அணு மாறிகள் அணுகப்படுகின்றன. இது பகிரப்பட்ட கவுண்டர்கள், நிலை கொடிகள், பூட்டு இல்லாத வரிசைகள் மற்றும் பலவற்றை செயல்படுத்த அனுமதிக்கிறது. அணு மாறிகளில் தேர்ச்சி பெறுவதற்கு நினைவக மாதிரிகள் மற்றும் அணுகல் கட்டளைகளைப் புரிந்துகொள்வது அவசியம், எனவே பல டெவலப்பர்கள் இந்த விவரங்களை ஆராய்வதற்கு முன் மியூடெக்ஸ்கள் மற்றும் சேனல்களுடன் தொடங்க விரும்புகிறார்கள்.
ஒத்திசைவு மற்றும் அணுவியல் கற்றலுக்கான முதல் படிகள் மற்றும் வளங்கள்
நீங்கள் எந்த முன் அனுபவமும் இல்லாமல் அரங்கில் நுழைகிறீர்கள் என்றால், மிகவும் புத்திசாலித்தனமான நடவடிக்கை பொதுவான கருத்துகளின் உறுதியான அடித்தளத்தை உருவாக்குங்கள். ரஸ்டின் அணு வகைகள் போன்ற மேம்பட்ட கருவிகளைக் கையாள்வதற்கு முன். "புரோகிராமிங் ரஸ்ட்" போன்ற புத்தகங்கள் படிப்படியான அறிமுகத்தை வழங்குகின்றன, ஆனால் அணு வகைகள் மற்றும் பூட்டுகளை மையமாகக் கொண்ட படைப்புகள் முதலில் அடர்த்தியாகத் தோன்றுவது இயல்பானது.
அதிக வசதிக்காக, முதலில் உங்களைப் பழக்கப்படுத்திக் கொள்வது நல்லது பாரம்பரிய நூல்கள், பரஸ்பர விலக்கு மற்றும் செய்தி அனுப்புதல் துருப்பிடிக்காத. உதாரணங்களுடன் விளையாடுங்கள் std::thread, std::sync::Mutex, std::sync::Arc மற்றும் சேனல்கள் std::sync::mpsc தொகுப்பி உங்களை எவ்வாறு வழிநடத்துகிறது மற்றும் அது என்ன பிழைகளைத் தவிர்க்கிறது என்பதைப் புரிந்துகொள்ள இது உதவுகிறது.
அதே நேரத்தில், பொதுவாக ஒத்திசைவு குறித்த அறிமுக ஆதாரங்களை மதிப்பாய்வு செய்வது மிகவும் பரிந்துரைக்கப்படுகிறது, அவை துருவில் கவனம் செலுத்தாவிட்டாலும் கூட: இன நிலைமைகள் என்ன, தடுப்பது என்றால் என்ன, பகிரப்பட்ட நினைவகம் செய்தி அனுப்புதலுக்கு எதிராக எதைக் குறிக்கிறது மற்றும் பூட்டுகள் எவ்வாறு பயன்படுத்தப்படுகின்றன என்பதைப் புரிந்துகொள்வது. அந்தக் கருத்துக்கள் உங்களுக்கு இயல்பானதாக மாறியவுடன், அணு இயற்பியல் "கருப்பு மந்திரம்" ஆக நின்றுவிடும். மேலும் அவை வெறும் மற்றொரு கருவியாக, மிகவும் நுட்பமான ஒன்றாக மாறுகின்றன.
அணுவியல் மற்றும் ரஸ்டில் உள்ள பூட்டுகள் பற்றிய மேம்பட்ட நூல்களுக்கு நீங்கள் திரும்பும்போது, ஒவ்வொரு கட்டுமானமும் என்ன சிக்கலைத் தீர்க்க முயற்சிக்கிறது என்பதை நீங்கள் ஏற்கனவே புரிந்துகொண்டால், பகுத்தறிவைப் பின்பற்றுவது மிகவும் எளிதாக இருக்கும்: ஒரு எளிய நூல்-பாதுகாப்பான கவுண்டரிலிருந்து சர்ச்சையைக் குறைக்கும் பூட்டு-இலவச கட்டமைப்புகள் வரை.
இறுதியில், ரஸ்ட் உயர்-நிலை பழமையான கருவிகள் மற்றும் மிகக் குறைந்த-நிலை கருவிகள் இரண்டையும் வழங்குகிறது, மேலும் முக்கியமானது எப்போதும் உங்கள் சிக்கலைத் தீர்க்கும் பாதுகாப்பான அளவிலான சுருக்கத்தைத் தேர்ந்தெடுப்பதாகும், அணு குறியீட்டை நாடுகிறது. unsafe அது உண்மையிலேயே மதிப்பைச் சேர்த்து, அதன் தாக்கங்களை நீங்கள் முழுமையாகப் புரிந்துகொள்ளும்போது மட்டுமே.
வகைகள், உரிமை, கடன் வாங்குதல், பெட்டிகள், கருவிகள் மற்றும் ஒருங்கிணைவு ஆதிமனிதர்கள் அடங்கிய இந்த முழு சுற்றுச்சூழல் அமைப்பும் ஒன்றிணைந்து எழுத ஒரு மொழியை வழங்குகிறது. வேகமான, வலுவான மற்றும் பராமரிக்கக்கூடிய மென்பொருள்இது வரலாற்று ரீதியாக கணினி நிரலாக்கத்தில் பாதிக்கப்பட்ட பல வகையான பிழைகளைக் குறைக்கிறது. நீங்கள் சிறிய திட்டங்கள், ரஸ்ட்லிங்ஸ் போன்ற பயிற்சிகள் மற்றும் அதிகாரப்பூர்வ ஆவணங்களுடன் பயிற்சி செய்யும்போது, இந்தக் கருத்துக்கள் கடுமையான விதிகள் போலத் தோன்றுவதிலிருந்து சிக்கல் உற்பத்தியை அடைவதற்கு முன்பு உங்களை எச்சரிக்கும் கூட்டாளியாக மாறும்.
பொதுவாக பைட்டுகள் மற்றும் தொழில்நுட்ப உலகம் பற்றிய ஆர்வமுள்ள எழுத்தாளர். எழுதுவதன் மூலம் எனது அறிவைப் பகிர்வதை நான் விரும்புகிறேன், அதையே இந்த வலைப்பதிவில் செய்வேன், கேஜெட்டுகள், மென்பொருள், வன்பொருள், தொழில்நுட்பப் போக்குகள் மற்றும் பலவற்றைப் பற்றிய அனைத்து சுவாரஸ்யமான விஷயங்களையும் உங்களுக்குக் காண்பிப்பேன். டிஜிட்டல் உலகில் எளிமையான மற்றும் பொழுதுபோக்கு வழியில் செல்ல உங்களுக்கு உதவுவதே எனது குறிக்கோள்.