Skip to content

Latest commit

 

History

History
267 lines (143 loc) · 111 KB

File metadata and controls

267 lines (143 loc) · 111 KB

GitHub കോഡ് വോൾട്ടിലേക്കുള്ള ഒരു ഗൈഡ്

ആമുഖം

ഈ ആർക്കൈവ്, ജിറ്റ്ഹബ് കോഡ് വോൾട്ട് സ്ഥാപിച്ചത്, ഭാവി തലമുറകൾക്കായി ഓപ്പൺ സോഴ്‌സ് സോഫ്റ്റ്വെയർ സംരക്ഷിക്കുക എന്നതാണ് ജിറ്റ്ഹബ് ആർക്കൈവ് പ്രോഗ്രാം. നിങ്ങൾ ഇപ്പോൾ മുതൽ ഇത് ഒരു വർഷം അല്ലെങ്കിൽ ആയിരം വർഷം കഴിഞ്ഞു ആയിരിക്കാം, പക്ഷേ ഏതെങ്കിലും വിധത്തിൽ, അതിലെ ഉള്ളടക്കങ്ങൾ, ഒരുപക്ഷേ ഓപ്പൺ സോഴ്‌സ് എന്ന ആശയം നിങ്ങൾക്ക് ഉപയോഗപ്രദമാകുമെന്ന് ഞങ്ങൾ പ്രതീക്ഷിക്കുന്നു.

ഇത് പ്രാഥമികമായി സോഫ്റ്റ്വെയറിന്റെ ഒരു ശേഖരം ആണ്. ഒരു കമ്പ്യൂട്ടറിന്റെ പ്രവർത്തനങ്ങൾ നിയന്ത്രിക്കാൻ ഉപയോഗിക്കുന്ന കമാൻഡുകളുടെ ഒരു ശ്രേണിയാണ് സോഫ്റ്റ്വെയർ. മനുഷ്യ മനസ്സിനേക്കാൾ വേഗത്തിൽ ഗണിതശാസ്ത്രപരമായ പ്രവർത്തനങ്ങൾ സ്വപ്രേരിതമായി നിർവഹിക്കാൻ കഴിയുന്ന ഒരു ഉപകരണമാണ് കമ്പ്യൂട്ടർ, അതിന് നമുക്ക് അപ്പുറത്തുള്ള ശക്തികളുണ്ട്. പ്രപഞ്ച രഹസ്യങ്ങൾ പര്യവേക്ഷണം ചെയ്യുന്നതിനും, വിവരങ്ങളുടെ ഒരു വെബിൽ എല്ലാ മനുഷ്യരാശിയെയും ബന്ധിപ്പിക്കുന്നതിനും, ശബ്ദങ്ങൾ കൈമാറുന്നതിനും വിശദമായ ചലിക്കുന്ന ചിത്രങ്ങൾ ഇലക്ട്രിക്കൽ സ്ക്രീനുകളിലേക്ക് പ്രൊജക്റ്റുചെയ്യുന്നതിനും വേണ്ടത്ര വേഗത്തിൽ സിഗ്നലുകൾ കൈകാര്യം ചെയ്യുന്നതിനും വളരെയധികം ശക്തമായ യന്ത്രങ്ങളെ നിയന്ത്രിക്കുന്നതിനും ഞങ്ങളുടെ കമ്പ്യൂട്ടറുകൾ ഉപയോഗിക്കുന്നു. മനുഷ്യ അധ്വാനത്തിന്റെ ശേഷിയും കൃത്യതയും കവിയുന്നു.

സോഫ്റ്റ്വെയർ ഇല്ലാത്ത കമ്പ്യൂട്ടറിന് ഇവയൊന്നും ചെയ്യാൻ കഴിയില്ല. ഒരു കമ്പ്യൂട്ടർ അസാധാരണവും അതിശയകരവുമാണ്, പക്ഷേ സോഫ്റ്റ്വെയർ ഇല്ലാതെ അതിന്റെ എല്ലാ ശക്തിയും ഉപയോഗശൂന്യമാണ്. സോഫ്റ്റ്വെയറിനെക്കുറിച്ച് ഞങ്ങൾക്ക് അറിയാവുന്ന കാര്യങ്ങൾ നിങ്ങൾക്ക് കൈമാറുക എന്നതാണ് ഈ ആർക്കൈവിന്റെ ഉദ്ദേശ്യം.

സോഫ്റ്റ്വെയറിനെ കമാൻഡുകളുടെ സങ്കീർണ്ണവും എന്നാൽ മനുഷ്യന് വായിക്കാൻ കഴിയുന്നതുമായ സീക്വൻസുകളായാണ് എഴുതുന്നത്, ഇവയുടെ വിവിധ സുഗന്ധങ്ങൾ പ്രോഗ്രാമിംഗ് ഭാഷകൾ എന്നറിയപ്പെടുന്നു, കാരണം ഒരു സമ്പൂർണ്ണ സോഫ്റ്റ്വെയറിനെ പലപ്പോഴും പ്രോഗ്രാം എന്ന് വിളിക്കുന്നു. ഈ പ്രോഗ്രാമുകൾ കമ്പ്യൂട്ടറുകളുടെ പൂജ്യങ്ങളുടെയും ഒന്നുകളുടെയും ബൈനറി ഭാഷയിലേക്ക് പരിവർത്തനം ചെയ്യുന്നു. ഈ പ്രക്രിയയെ കംപൈലിംഗ് എന്ന് വിളിക്കുന്നു.

കംപൈൽ ചെയ്ത സോഫ്റ്റ്‌വെയർ അതിന്റെ സോഴ്സ് കോഡ് എന്നും അറിയപ്പെടുന്ന അതിന്റെ യഥാർത്ഥ പ്രോഗ്രാം ഫോമിലേക്ക് വീണ്ടും മനസ്സിലാക്കാൻ വളരെ പ്രയാസമുള്ളതിനാൽ, ആളുകൾക്ക് ആ യഥാർത്ഥ ഫോം രഹസ്യമായി സൂക്ഷിക്കാനും അതിന്റെ ഉടമസ്ഥാവകാശം അവകാശപ്പെടാനും കഴിയും. ഓപ്പൺ സോഴ്‌സ് സോഫ്റ്റ്‌വെയർ ഒരു വ്യത്യസ്ത തരം സോഫ്റ്റ്‌വെയറല്ല, മറിച്ച് വ്യത്യസ്തമായ ഒരു ധാർമ്മികതയാണ്. ഓപ്പൺ സോഴ്‌സ് ധാർമ്മികത രഹസ്യവും ഉടമസ്ഥാവകാശവും നിരസിക്കുന്നു. ഓപ്പൺ സോഴ്‌സ് സോഫ്റ്റ്‌വെയർ പ്രോഗ്രാമുകൾ ഏതൊരാൾക്കും അത് ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുന്ന എല്ലാവർക്കും ഒരു നിരക്കും കൂടാതെ ലഭ്യമാക്കിയിട്ടുണ്ട്, അതിനാൽ അവർക്ക് ആ പ്രോഗ്രാമുകൾ മെച്ചപ്പെടുത്താനോ പുതിയതും മികച്ചതുമായ എന്തെങ്കിലും നിർമ്മിക്കാൻ അവ ഉപയോഗിക്കാനോ കഴിയും.

ഒരു ഓപ്പൺ സോഴ്‌സ് പ്രോജക്റ്റ് ആയിരക്കണക്കിന് ആളുകളുള്ള ഒരു സ്വയം-ഓർഗനൈസേഷൻ കമ്മ്യൂണിറ്റിയുടെ കൂട്ടായ പ്രവർത്തനമാണ്. ഇവിടെ ആർക്കൈവുചെയ്‌ത എല്ലാ ഓപ്പൺ സോഴ്‌സ് സോഫ്റ്റ്‌വെയർ പ്രോജക്റ്റുകളുടെയും ശേഖരണം ദശലക്ഷക്കണക്കിന് വരുന്ന ഒരു സമൂഹത്തിന്റെ പ്രവർത്തനമാണ്. ഉറവിട പ്രോജക്റ്റിന്റെ ഏറ്റവും പുതിയ official ദ്യോഗിക പതിപ്പിൽ നിർദ്ദേശിച്ച മാറ്റങ്ങൾ അംഗീകരിക്കാനോ നിരസിക്കാനോ ഉള്ള കഴിവ് പോലുള്ള ഏതെങ്കിലും പ്രോജക്റ്റിനുള്ളിൽ ചില വ്യക്തികൾക്ക് പ്രത്യേക അവകാശങ്ങൾ ഉണ്ടായിരിക്കാമെങ്കിലും, ആരും ഒരിക്കലും അത് സ്വന്തമാക്കിയിട്ടില്ല. ഏതെങ്കിലും ഓപ്പൺ സോഴ്‌സ് പ്രോജക്റ്റിന്റെ പൂർണ്ണമായ പകർപ്പ് എപ്പോൾ വേണമെങ്കിലും ചെലവോ പിഴയോ ഇല്ലാതെ എടുക്കാനും ഉപയോഗിക്കാനും ഓരോ വ്യക്തിക്കും അവകാശമുണ്ട്. ഇതിനെ ഫോർക്കിംഗ് പ്രോജക്റ്റ് എന്ന് വിളിക്കുന്നു.

നിരവധി ആളുകൾ ഒരേ സമയം സോഴ്‌സ് കോഡിൽ പ്രവർത്തിക്കുമ്പോൾ, അവരുടെ എല്ലാ മാറ്റങ്ങളും ട്രാക്കുചെയ്യാനും സംയോജിപ്പിക്കാനും പ്രയാസമാണ്. ഈ പ്രശ്‌നം പരിഹരിക്കുന്നതിനായി 'ജിറ്റ്' എന്നറിയപ്പെടുന്ന ഒരു ഓപ്പൺ സോഴ്‌സ് പ്രോജക്റ്റ് നീക്കിവച്ചിരിക്കുന്നു. ഒരു പ്രോജക്റ്റിലെ എല്ലാ കൂട്ടിച്ചേർക്കലുകളുടെയും മാറ്റങ്ങളുടെയും പൂർണ്ണമായ ചരിത്രം ഇത് ഒരു ജിറ്റ് ശേഖരം എന്നറിയപ്പെടുന്ന ഒരു എന്റിറ്റിയിലേക്ക് സമന്വയിപ്പിക്കുന്നു. ഈ ശേഖരം അടിസ്ഥാനപരമായി അത്തരം ശേഖരണങ്ങളുടെ ഒരു ശേഖരം ആണ്.

ലോകമെമ്പാടുമുള്ള ആളുകളെ അവർ എഴുതിയ സോഫ്റ്റ്വെയർ പ്രോഗ്രാമുകൾ സംഭരിക്കാനും ഈ പ്രോഗ്രാമുകളിലെ മാറ്റങ്ങളുടെ ട്രാക്ക് സൂക്ഷിക്കാനും അവ മെച്ചപ്പെടുത്തുന്നതിനും വിപുലീകരിക്കുന്നതിനും മറ്റുള്ളവരുമായി സഹകരിക്കുന്നതിനും അനുവദിക്കുന്ന ഒരു സേവനം നൽകുന്ന 'GitHub' എന്ന കമ്പനിയാണ് ഈ ആർക്കൈവ് സൃഷ്ടിച്ചത്. പൊതു ഓപ്പൺ സോഴ്‌സ് സോഫ്റ്റ്വെയർ ഡെവലപ്പർമാർക്ക് GitHub അതിന്റെ സേവനങ്ങൾ സൗജന്യമായി ലഭ്യമാക്കുന്നു. ഇതിന് ദശലക്ഷക്കണക്കിന് ഉപയോക്താക്കളുണ്ട്. ഈ സോഫ്റ്റ്‌വെയർ ആർക്കൈവ് മികച്ച രീതിയിൽ ഉപയോഗിക്കുന്നതിന് നിങ്ങൾ അറിയുകയും ഉണ്ടായിരിക്കുകയും ചെയ്യുമെന്ന് ഞങ്ങൾ വിശ്വസിക്കുന്നതിന്റെ വിവരണമാണ് ഇനിപ്പറയുന്നത്. ഇവയിൽ ചിലത് അല്ലെങ്കിൽ എന്തെങ്കിലും നിങ്ങൾക്ക് അറിയില്ലെങ്കിലോ മനസിലാക്കുന്നില്ലെങ്കിലോ, നിരാശപ്പെടരുത്! ഈ ആവശ്യകതകൾ എങ്ങനെ നിറവേറ്റാം എന്നതിനുള്ള ഒരു ഗൈഡും ഞങ്ങൾ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്. ഏതെങ്കിലും കാരണത്താൽ നിങ്ങൾക്ക് അവ സ്വയം നിർവഹിക്കാൻ കഴിയുന്നില്ലെങ്കിൽ, നിങ്ങളുടെ പിൻഗാമികൾക്ക് കഴിയും.

നിങ്ങൾ ആർക്കൈവ് ഉപയോഗിക്കുന്നതിന് വേണ്ടിയത്

തത്വത്തിൽ, ഈ ആർക്കൈവിലെ ഉള്ളടക്കങ്ങൾ നിങ്ങൾക്ക് ആക്‌സസ്സുചെയ്യേണ്ടത് പ്രകാശത്തിന്റെ ഉറവിടവും ചിലതരം മാഗ്നിഫയറുമാണ്. എന്നിരുന്നാലും, അതിന്റെ മിക്ക ഡാറ്റയും എൻ‌കോഡുചെയ്‌തതും കം‌പ്രസ്സുചെയ്‌തതുമായ രൂപത്തിൽ ഫിലിം റീലുകളിലേക്ക് വളരെ കർശനമായി പായ്ക്ക് ചെയ്തിട്ടുണ്ട്. ഈ ഡാറ്റ വായിക്കുന്നതിനും ഡീകോഡ് ചെയ്യുന്നതിനും ഡീകംപ്രെസ്സു്ചെയ്യുന്നതിനും ഗണ്യമായ കണക്കുകൂട്ടൽ ആവശ്യമാണ്. തത്വത്തിൽ ഇത് കമ്പ്യൂട്ടറുകളില്ലാതെ ചെയ്യാൻ കഴിയും, പക്ഷേ ഇത് വളരെ ശ്രമകരവും പ്രയാസകരവുമാണ്.

സോഫ്റ്റ്വെയർ, കമ്പ്യൂട്ടർ, മറ്റ് നിബന്ധനകൾ എന്നിവയുടെ നിർവചനങ്ങൾ നിങ്ങൾക്ക് ആവശ്യമില്ല എന്നതാണ് ഞങ്ങളുടെ പ്രതീക്ഷ. നിങ്ങളുടേതായ കമ്പ്യൂട്ടറുകളുണ്ടെന്ന് ഞങ്ങൾസങ്കൽപ്പിക്കുന്നു, ഒരുപക്ഷേ നമ്മുടേതിനേക്കാൾ വളരെയധികം പുരോഗമിച്ചതും അടിസ്ഥാനപരമായി വ്യത്യസ്തമായി ആർക്കിടെക്റ്റ് ചെയ്തതുമാണ്. ചുവടെയുള്ള അവലോകനവും ഗൈഡും നിങ്ങൾ മനസ്സിലാക്കി കഴിഞ്ഞാൽ നിങ്ങൾക്ക് എല്ലാ ഡാറ്റയും എളുപ്പത്തിൽ ആക്സസ് ചെയ്യാൻ കഴിയും.

എന്നിരുന്നാലും, നിങ്ങൾക്ക് ഞങ്ങളേക്കാൾ നിലവാരമില്ലാത്ത കമ്പ്യൂട്ടറുകൾ ഉണ്ടായിരിക്കാം, അല്ലെങ്കിൽ കമ്പ്യൂട്ടറുകളില്ല. ആ സംഭവത്തിന്റെ കാര്യത്തിൽ, ഞങ്ങൾ ടെക് ട്രീ എന്ന് വിളിക്കുന്ന കം‌പ്രസ്സുചെയ്യാത്ത, എൻ‌കോഡുചെയ്യാത്ത, മനുഷ്യന് വായിക്കാൻ‌ കഴിയുന്ന ഡാറ്റയുടെ ഒരു റീൽ‌ ഞങ്ങൾ‌ തയ്യാറാക്കി. ഈ ആർക്കൈവിലെ ഓപ്പൺ സോഴ്‌സ് സോഫ്റ്റ്‌വെയർ ഉപയോഗിക്കാൻ കഴിയുന്ന കമ്പ്യൂട്ടറുകൾ പുനർസൃഷ്ടികാൻ കാലക്രമേണ നിങ്ങൾക്ക് ഈ അറിവ് ഉപയോഗിക്കാനാകുമെന്ന പ്രതീക്ഷയിൽ ടെക് ട്രീയിൽ ഞങ്ങളുടെ അടിസ്ഥാന സാങ്കേതികവിദ്യകൾ, കമ്പ്യൂട്ടറുകൾ, ഞങ്ങളുടെ സോഫ്റ്റ്വെയർ എന്നിവയെക്കുറിച്ചുള്ള വിവരങ്ങൾ അടങ്ങിയിരിക്കുന്നു.

എന്താണ് ഉള്ളിലുള്ളത്

ആർക്കൈവ് വളരെ വലുതാണ് - ഏകദേശം 21 ട്രില്യൺ ബൈറ്റുകൾ (ചുവടെ വിശദീകരിച്ചിരിക്കുന്നു) - കാരണം ഇത് അങ്ങേയറ്റം ഉൾക്കൊള്ളുന്നതും ജനാധിപത്യപരവുമാണ്. ദശലക്ഷക്കണക്കിന് ആളുകൾ അവർ എഴുതുന്ന സോഫ്റ്റ്വെയർ എല്ലാവർക്കും ലഭ്യമാക്കുന്നു. ഈ ആർക്കൈവിൽ GitHub- ന്റെ ഉപയോക്താക്കൾ സജീവമായി വികസിപ്പിച്ചുകൊണ്ടിരിക്കുന്ന എല്ലാ പൊതു സോഫ്റ്റ്വെയറുകളുടെയും ഒരു സ്നാപ്പ്ഷോട്ട് - അതായത്, ഒരൊറ്റ നിമിഷത്തിൽ - ഒരു പകർപ്പ് ഉൾപ്പെടുന്നു. ഇതിനർത്ഥം അതിൽ ദശലക്ഷക്കണക്കിന് പ്രത്യേക സംഭരണികൾ ഉൾപ്പെടുന്നു. ഈ വിശാലവും ജനാധിപത്യപരവുമായ സമീപനം ഭാവിയിലെ ചരിത്രകാരന്മാർക്ക് താൽപ്പര്യമുണ്ടാക്കുമെന്നാണ് ഞങ്ങളുടെ പ്രതീക്ഷ.

ഈ ആർക്കൈവിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന ശേഖരണങ്ങൾ നിർണ്ണയിക്കുന്നത് അവരുടെ അവസാന പ്രതിബദ്ധത സമയത്താലാണ്, അതായത് അവസാനമായി അപ്‌ഡേറ്റുചെയ്‌ത സമയവും അവയുടെ നക്ഷത്ര എണ്ണവും. . ഗ്രിഗോറിയൻ കലണ്ടറിന്റെ 2020 വർഷം, ഞങ്ങൾ സമയം കണക്കാക്കുമ്പോൾ. അതിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന ശേഖരണങ്ങൾ ഇവയാണ്: മുമ്പത്തെ 80 ദിവസത്തിനുള്ളിൽ ഏതെങ്കിലും കമ്മിറ്റുകളുള്ള എല്ലാ ശേഖരണങ്ങളും; മുമ്പത്തെ 365 ദിവസത്തിനുള്ളിൽ ഏതെങ്കിലും കമ്മിറ്റുകളുള്ള ഒരു നക്ഷത്രമെങ്കിലും ഉള്ള എല്ലാ ശേഖരണങ്ങളും; അവസാനമായി അപ്‌ഡേറ്റുചെയ്‌തത് പരിഗണിക്കാതെ തന്നെ കുറഞ്ഞത് 250 നക്ഷത്രങ്ങളുള്ള എല്ലാ ശേഖരണങ്ങളും.

തീർച്ചയായും, ഈ ശേഖരണങ്ങളെല്ലാം അവയുടെ സ്വാധീനവും ആശ്രിതത്വവും കണക്കിലെടുക്കുമ്പോൾ തുല്യപ്രാധാന്യമുള്ളവയല്ല. ആർക്കൈവിലെ ഏറ്റവും പ്രധാനപ്പെട്ട ശേഖരണങ്ങളുടെ ഒരു സൂചികയും ഹ്രസ്വ വിവരണവും ടെക് ട്രീയിൽ ഉൾപ്പെടുന്നു, കൂടാതെ ഓരോന്നും റീൽ ചെയ്യുന്ന ലിസ്റ്റുകളും കണ്ടെത്താനാകും, അതുവഴി ഈ ദശലക്ഷക്കണക്കിന് സംഭരണികളിലൂടെ കടന്നുപോകാതെ അവ ആക്സസ് ചെയ്യാൻ കഴിയും, അവ ഏറ്റവും പ്രായോഗികമായി നിർണ്ണയിക്കാൻ ഉപയോഗപ്രദമാണ്.

ആർക്കൈവിന്റെ ഒരു അവലോകനം

ആർക്കൈവിൽ 188 റീൽ‌ ഫിലിമുകൾ‌ അടങ്ങിയിരിക്കുന്നു: മനുഷ്യന് വായിക്കാൻ‌ കഴിയുന്ന വിവരങ്ങളുടെയും മാർ‌ഗ്ഗനിർ‌ദ്ദേശത്തിൻറെയും ഒരു “ഗൈഡ് റീൽ‌”, ഞങ്ങൾ‌ ടെക് ട്രീ എന്ന് വിളിക്കുന്നു, കൂടാതെ ആർക്കൈവുചെയ്‌ത സോഫ്റ്റ്വെയറിന്റെ 187 റീലുകൾ‌. ഓരോ റീലിലും 65,000 വ്യക്തിഗത ഫ്രെയിമുകൾ ഉൾപ്പെടുന്നു. ഓരോ റീലിന്റെയും തുടക്കത്തിലെ ഫ്രെയിമുകളും ഗൈഡ് റീലിന്റെ ഫ്രെയിമുകളും മനുഷ്യന് വായിക്കാൻ കഴിയുന്ന വാചകവും ചിത്രങ്ങളും ഉൾക്കൊള്ളുന്നു. ഫിലിമിന്റെ മറ്റെല്ലാ ഫ്രെയിമുകളിലും ക്യുആർ കോഡുകൾ എന്നറിയപ്പെടുന്ന ഒരു വിഷ്വൽ രൂപത്തിൽ സംഭരിച്ചിരിക്കുന്ന ഡിജിറ്റൽ ഡാറ്റ അടങ്ങിയിരിക്കുന്നു.

ഡിജിറ്റൽ ഡാറ്റ എന്നാൽ ആത്യന്തികമായി ബൈനറി ഫോർമാറ്റിൽ സംഭരിച്ചിരിക്കുന്ന ഡാറ്റ, അതായത് 0 ഉം, 1 ഉം എന്നിങ്ങനെ, കാരണം കമ്പ്യൂട്ടറുകൾ തന്നെ ബൈനറി - 1 അല്ലെങ്കിൽ 0 ന് സമാനമായ "ഓൺ" അല്ലെങ്കിൽ "ഓഫ്" ആയ ഇലക്ട്രിക്കൽ സിഗ്നലുകളാൽ നിയന്ത്രിക്കപ്പെടുന്നു - അതിനാൽ ബൈനറി ഡാറ്റ കമ്പ്യൂട്ടറുകൾ‌ക്ക് മറ്റേതിനേക്കാളും മനസ്സിലാക്കാൻ‌ വളരെ എളുപ്പമാണ്.

ഓരോ റീലിന്റെയും തുടക്കത്തിൽ സംഭരിച്ചിരിക്കുന്ന മനുഷ്യന് വായിക്കാൻ കഴിയുന്ന മെറ്റാഡാറ്റയിൽ റീലിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ, ഉപയോഗിച്ച ക്യുആർ എൻകോഡിംഗിലേക്കുള്ള ഒരു ഗൈഡ്, ഡീകോഡ് ചെയ്യുന്നതിനുള്ള ഒരു സോഫ്റ്റ്വെയർ പ്രോഗ്രാം, ഒരു സൂചിക എന്നിവ ഉൾപ്പെടുന്നു. ആ റീലിൽ സംഭരിച്ചിരിക്കുന്ന ഓരോ ഫയലിന്റേയും ശീർഷകം, ആരംഭ ഫ്രെയിം നമ്പർ, ചെക്ക്സം എന്നിവ സൂചിക പട്ടികപ്പെടുത്തുന്നു.

ഒരൊറ്റ ഏകീകൃത ഡാറ്റാ എന്റിറ്റിയാണ് ഫയൽ. ഒരു കണക്കുകൂട്ടലിൽ നിന്നുള്ള ഒരു അദ്വിതീയ മൂല്യമാണ് ചെക്ക്സം, ഒരു ഹാഷ് ഫംഗ്ഷൻ എന്നറിയപ്പെടുന്നു, ഒരു ഫയലിന്റെ ഉള്ളടക്കങ്ങൾ കേടായിട്ടില്ല അല്ലെങ്കിൽ കേടായിട്ടില്ലെന്ന് ഉറപ്പുവരുത്താൻ; ആർക്കൈവിൽ ഉപയോഗിക്കുന്ന ഹാഷ് ഫംഗ്ഷനെ 'SHA-1' എന്ന് വിളിക്കുന്നു.

ഓരോ ക്യുആർ കോഡിലും ചെറിയ വെള്ള അല്ലെങ്കിൽ കറുത്ത ചതുരങ്ങളുടെ ഒരു ഫീൽഡ് അടങ്ങിയിരിക്കുന്നു, അത് ഫിലിമിന്റെ മുഴുവൻ ഫ്രെയിമും ഉൾക്കൊള്ളുന്നു. ഞങ്ങൾ‌ ക്യൂആർ‌ കോഡുകൾ‌ ഉപയോഗിക്കുന്നു, കാരണം അവ മനുഷ്യന് വായിക്കാൻ‌ കഴിയുന്ന പാഠത്തേക്കാൾ‌ ഒതുക്കമുള്ളതും ശക്തവുമാണ്. ഒരു ക്യുആർ കോഡ് ബൈനറി ഡാറ്റയിലേക്ക് ഡീകോഡ് ചെയ്യുന്നു, അതായത്, പൂജ്യങ്ങളുടെയും ഒന്നുകളൂടേയും ഒരു ശ്രേണി.

ഈ ഡീകോഡിംഗ് ആ ബൈനറി ഡാറ്റയെ അർത്ഥവത്തായ വിവരങ്ങളാക്കി മാറ്റുന്നതിനുള്ള ആദ്യപടി മാത്രമാണ്. ഇത് കം‌പ്രസ്സുചെയ്‌ത ഡാറ്റയാണ്, അതിനർത്ഥം സ്ഥലം ലാഭിക്കുന്നതിനായി ഇത് ചുരുക്കിയിരിക്കുന്നു, അതായത് എ അക്ഷരം 128 തവണ എഴുതുന്നതിനേക്കാൾ "128xA" എങ്ങനെ എഴുതാം എന്നതിന് സമാനമാണ്. ഡീകോഡ് ചെയ്ത ശേഷം, അത് വിഘടിപ്പിക്കണം.

വിഘടനത്തിനു ശേഷമുള്ള ഫലം ഒരു ആർക്കൈവ് ഫയൽ എന്നറിയപ്പെടുന്നു: ഒരൊറ്റ സോഫ്റ്റ്വെയർ പ്രോജക്റ്റിന്റെ ശേഖരത്തിലെ മുഴുവൻ ഉള്ളടക്കങ്ങളും അടങ്ങിയ ഒരൊറ്റ ഫയൽ. മിക്ക ശേഖരണങ്ങളിലും നിരവധി ഫയലുകൾ ഉൾപ്പെടുന്നു, അതിനാൽ ഈ ആർക്കൈവ് ഫയൽ നിരവധി പ്രത്യേക അധ്യായങ്ങൾ ഉൾക്കൊള്ളുന്ന ഒരു പുസ്തകം അല്ലെങ്കിൽ മറ്റ് നിരവധി ബോക്സുകൾ ഉൾക്കൊള്ളുന്ന ഒരു ബോക്സ് പോലെയാണ്. ആർക്കൈവ് ഫയൽ ആക്‌സസ്സുചെയ്യുന്നതിന് മുമ്പ് അതിന്റെ ഘടക ഫയലുകളിലേക്ക് അൺപാക്ക് ചെയ്യുന്നത് തികച്ചും ആവശ്യമില്ലെങ്കിലും പൊതുവെ പ്രയോജനകരമാണ്.

അവസാനമായി, ഓരോ ഘടക ഫയലും അതിന്റേതായ ബൈനറി ഡാറ്റയാണ്, അതായത് പൂജ്യങ്ങളും ഒന്നുകളും. ഡാറ്റയുടെ ഫോർ‌മാറ്റ് നിങ്ങൾ‌ക്കറിയാമെങ്കിൽ‌ ഒരാൾ‌ക്ക് അത് മനസ്സിലാക്കാൻ‌ കഴിയും. ഉദാഹരണത്തിന്, ആർക്കൈവിലെ ഏറ്റവും സാധാരണമായ ഫോർമാറ്റായ 'യുടിഎഫ് -8' എന്ന ഫോർമാറ്റിൽ, അവയെ പൂജ്യങ്ങളെ എട്ട് ഗ്രൂപ്പുകളായി തിരിച്ചിരിക്കുന്നു, അവ ബൈറ്റുകൾ എന്നറിയപ്പെടുന്നു, ബൈറ്റ് 01000001 എ അക്ഷരത്തെ പ്രതിനിധീകരിക്കുന്നു; മൂന്ന് ബൈറ്റുകൾ 01101001 01101110 01110100 int എന്ന പദത്തെ പ്രതിനിധീകരിക്കുന്നു; 11000011 10000011 എന്ന രണ്ട് ബൈറ്റുകളും Ã (മുകളിൽ ടിൽഡ് ആക്‌സന്റുള്ള A) അക്ഷരത്തെ പ്രതിനിധീകരിക്കുന്നു.

ഈ ഡാറ്റ ആർക്കൈവൽ പ്രോസസ്സ്, ആർക്കൈവ് ഫയലുകളിലേക്ക് പായ്ക്ക് ചെയ്ത ബൈനറി ഫയലുകൾ ആദ്യം കം‌പ്രസ്സുചെയ്‌ത് ക്യുആർ-എൻ‌കോഡുചെയ്‌തത്, മനുഷ്യന് വായിക്കാൻ കഴിയുന്ന വാചകം എഴുതുന്നതുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ സങ്കീർണ്ണമാണ്. അൺചൈവിംഗ് പ്രക്രിയയിലൂടെ നിങ്ങൾ കടന്നുപോകേണ്ടതുണ്ട് - കം‌പ്രസ്സുചെയ്‌ത ബൈനറിയിലേക്ക് ക്യുആർ; കം‌പ്രസ്സുചെയ്യാത്തതിലേക്ക് ചുരുക്കി; ഒന്നിലധികം ഫയലുകളിലേക്ക് ആർക്കൈവ് ഫയൽ; മനുഷ്യന് വായിക്കാൻ‌ കഴിയുന്ന വാചകത്തിലേക്കുള്ള വാചക ഫയലുകൾ‌ - സമാനമായി സങ്കീർ‌ണ്ണമാണ്. കാരണം, കമ്പ്യൂട്ടർ വായിക്കാൻ കഴിയുന്ന വിധത്തിൽ സാധ്യമായതിനേക്കാൾ കൂടുതൽ ഡാറ്റ സംഭരിക്കാൻ ഈ സങ്കീർണ്ണത ഞങ്ങളെ അനുവദിക്കുന്നു.

ഈ സങ്കീർണ്ണത നിങ്ങൾ‌ക്ക് ബുദ്ധിമുട്ടുള്ളതും ചെലവേറിയതുമാണെങ്കിൽ‌, ഞങ്ങൾ‌ ക്ഷമ ചോദിക്കുന്നു, പക്ഷേ ഞങ്ങളുടെ പ്രതീക്ഷ, ഇങ്ങനെയാണെങ്കിൽ‌, ഈ ഗൈഡും മനുഷ്യന് വായിക്കാൻ‌ കഴിയുന്ന ടെക് ട്രീയും ഈ സങ്കീർ‌ണ്ണതയെ ലഘൂകരിക്കും, മാത്രമല്ല ആർക്കൈവിനേക്കാൾ‌ നിങ്ങൾ‌ക്ക് കൂടുതൽ‌ ഉപയോഗപ്രദമാകും ഉള്ളടക്കങ്ങൾ‌, കുറഞ്ഞത് നിങ്ങളുടെ കമ്പ്യൂട്ടറുകൾ‌ വികസിപ്പിക്കുന്നതുവരെ ആർക്കൈവിന്റെ ഡാറ്റയുടെ സങ്കീർ‌ണ്ണത കൈകാര്യം ചെയ്യാൻ‌ എളുപ്പമാണ്.

ഫയലുകൾ, ഡയറക്ടറികൾ, ശേഖരണങ്ങൾ, ഡാറ്റ ഫോർമാറ്റുകൾ

ആർക്കൈവ് എങ്ങനെ യുക്തിപരമായി വിഭജിക്കപ്പെടുന്നുവെന്ന് ചർച്ച ചെയ്യുന്നത് പ്രബോധനപരമായിരിക്കാം. പ്രത്യേകിച്ചും, ഫയലുകൾ, ഡയറക്ടറികൾ, ഡാറ്റ ഫോർമാറ്റുകൾ എന്നിവയുടെ ഒരു ചർച്ച സഹായകരമാകും.

ഒരൊറ്റ പേരിനൊപ്പം ഒരു ഏകീകൃത എന്റിറ്റിയായി ഗ്രൂപ്പുചെയ്‌ത ഡാറ്റയുടെ ഒരു ശേഖരമാണ് ഫയൽ: ഡാറ്റയെ മണലായി കരുതുക, ഒരു ഫയൽ മണലിനെ പിടിക്കാൻ കഴിയുന്ന ഒരുതരം ബാഗായി കണക്കാക്കുന്നു, മാത്രമല്ല മണൽ മാത്രം. ഒരു ഡയറക്‌ടറി ഫയലുകളുടെ ഒരു ശേഖരമാണ്: മറ്റ് ബാഗുകൾ‌ മാത്രം കൈവശം വയ്ക്കാൻ‌ കഴിയുന്ന ഒരു തരം ബാഗായി ഇതിനെ കരുതുക. ഈ രൂപകത്തെ പിന്തുടർന്ന്, ഓരോ ശേഖരത്തിലും റൂട്ട് ഡയറക്ടറി എന്നറിയപ്പെടുന്ന ഒരു ബാഹ്യ ഡയറക്ടറി അടങ്ങിയിരിക്കുന്നു, അതിൽ നിരവധി ഫയലുകളും കൂടാതെ / അല്ലെങ്കിൽ നിരവധി ഡയറക്ടറികളും അടങ്ങിയിരിക്കുന്നു. ഓരോ ഡയറക്ടറിയിലും ഫയലുകളും ഡയറക്ടറികളും അടങ്ങിയിരിക്കാം.

ഗ്രൂപ്പുകളായി ക്രമീകരിച്ചിരിക്കുന്ന ഫയലുകൾ ഒരൊറ്റ ഫയലുകളുടെ ശേഖരത്തേക്കാൾ പ്രവർത്തിക്കാൻ വളരെ എളുപ്പമുള്ളതിനാൽ ഈ ഘടനയ്ക്ക് മുൻഗണന നൽകുന്നു. ബാഹ്യ ഡയറക്‌ടറിയിലെ ഒരു പ്രത്യേക ഫയലിന്റെ ഐഡന്റിഫയറിൽ അതിന്റെ എല്ലാ എൻ‌ക്ലോസിംഗ് ഡയറക്‌ടറികളുടെയും പേരുകൾ‌ അടങ്ങിയിരിക്കുന്നു, റൂട്ട് മുതൽ‌ ആരംഭിക്കുന്നു, അതിനുശേഷം അതിന്റേതായ വ്യക്തിഗത നാമം, ഓരോ പേരിനും ഇടയിൽ ഒരു / പ്രതീകം. ഉദാഹരണത്തിന്, റൂട്ട് ഡയറക്ടറിയിലെ README.md എന്ന് പേരുള്ള ഒരു ഫയൽ /README.md എന്നും /public/www/index.html എന്ന് തിരിച്ചറിഞ്ഞ ഒരു ഫയൽ 'www' ഡയറക്ടറിയിലെ index.html ഫയലായിരിക്കും.

ഓരോ ശേഖരണത്തിനും രണ്ട് പേരുകളുണ്ട്, അവ ഒരു വിഭജനത്താൽ വേർതിരിച്ചിരിക്കുന്നു, ആർക്കൈവിൽ _ അല്ലെങ്കിൽ അടിവരയിടുന്ന പ്രതീകം. (ചരിത്രപരമായി ഇത് ഒരു / അല്ലെങ്കിൽ സ്ലാഷാണ്, പക്ഷേ ഇത് ഒരു ഡയറക്ടറിയെ സൂചിപ്പിക്കുന്നതിനും ഉപയോഗിക്കുന്നു, അതിനാൽ വ്യക്തതയ്ക്കായി ഞങ്ങൾ _ ഉപയോഗിക്കുന്നു.) ആദ്യത്തെ പേര് ആ ശേഖരത്തിന്റെ ഉടമസ്ഥതയിലുള്ള GitHub അക്കൗണ്ടാണ്; രണ്ടാമത്തേത് വ്യക്തിഗത സംഭരണിയുടെ പേരാണ്. ആർക്കൈവിലെ ഒരു വ്യക്തിഗത ഫയലിനെ അദ്വിതീയമായി തിരിച്ചറിയാൻ ശേഖരണത്തിന്റെയും ഫയൽ ഐഡന്റിഫയറുകളുടെയും സംയോജനം ഉപയോഗിക്കാം. ഉദാഹരണത്തിന്, GitHub അക്കൗണ്ടിലെ ‘റെസെൻ‌ഡി 'യിലെ' ykarma 'ശേഖരത്തിലെ' വെബ് 'ഡയറക്ടറിയിലെ' package.json 'ഫയൽ ആർക്കൈവിലെ rezendi_ykarma- ൽ /web/package.json എന്ന് അദ്വിതീയമായി തിരിച്ചറിയാൻ കഴിയും.

വ്യത്യസ്ത തരം ഫയലുകൾക്ക് വ്യത്യസ്ത ഉദ്ദേശ്യങ്ങളുണ്ട്. GitHub ആർക്കൈവിൽ പ്രധാനമായും ടെക്സ്റ്റ് ഫയലുകൾ അടങ്ങിയിരിക്കുന്നു, അതായത് രേഖാമൂലമുള്ള ഭാഷയെ പ്രതിനിധീകരിക്കുന്ന ഡാറ്റയുടെ ഡാറ്റ. മിക്ക സോഫ്റ്റ്വെയറുകളും സോഴ്സ് കോഡ് എന്നറിയപ്പെടുന്ന വളരെ ഘടനാപരമായ വാചകം അടങ്ങിയ ടെക്സ്റ്റ് ഫയലുകളിൽ എഴുതിയിട്ടുണ്ട്. കംപൈലർ എന്നറിയപ്പെടുന്ന ഒരു പ്രത്യേക പ്രോഗ്രാം ആ മനുഷ്യന് വായിക്കാൻ കഴിയുന്ന സോഴ്‌സ് കോഡിനെ കമ്പ്യൂട്ടർ വായിക്കാൻ കഴിയുന്ന നിർദ്ദേശങ്ങളായി കംപൈൽ കോഡ് അല്ലെങ്കിൽ മെഷീൻ കോഡ് എന്ന് വിളിക്കുന്നു.

ടെക്സ്റ്റ് ഫയലുകൾ അല്ലാത്ത ഫയലുകൾ, വിഷ്വൽ ഇമേജുകളെ പ്രതിനിധീകരിക്കുന്ന അല്ലെങ്കിൽ കംപൈൽ ചെയ്ത കോഡ് പോലുള്ള ഫയലുകൾ പലപ്പോഴും ബൈനറി ഫയലുകൾ എന്ന് വിളിക്കപ്പെടുന്നു. നിർഭാഗ്യവശാൽ ഇത് തെറ്റിദ്ധരിപ്പിക്കുന്ന പദമാണ്, കാരണം ടെക്സ്റ്റ് ഫയലുകൾ ആത്യന്തികമായി 1 ഉം, 0 ഉം. ടെക്സ്റ്റ് ഫയലുകളല്ലാത്ത ഫയലുകളെ ടെക്സ്റ്റ് ഇതര ഫയലുകളായി ഞങ്ങൾ പരാമർശിക്കും.

1 ഉം, 0 ഉം എന്നിവ ഉപയോഗിച്ച് ലിഖിത മനുഷ്യ ഭാഷയെ പ്രതിനിധീകരിക്കുന്നതിന് നിരവധി മാർഗങ്ങളുണ്ട്. ചരിത്രപരമായ കാരണങ്ങളാൽ, മിക്ക സോഴ്‌സ് കോഡും യഥാർത്ഥത്തിൽ എഴുതിയത് ലാറ്റിൻ സ്ക്രിപ്റ്റ് എന്നറിയപ്പെടുന്ന രീതിയിലാണ്. ലാറ്റിൻ‌ സ്ക്രിപ്റ്റിൽ‌ 26 അടിസ്ഥാന പ്രതീകങ്ങളുണ്ട്, അവ സംസാരിക്കാൻ‌ കഴിയുന്ന പദങ്ങളെ പ്രതിനിധീകരിക്കുന്നു, അവയിൽ‌ ഓരോന്നിനും രണ്ട് രൂപങ്ങളുണ്ട്, അപ്പർ‌കേസ്, ലോവർ‌കേസ്. അക്കങ്ങളെ പ്രതിനിധീകരിക്കുന്നതിന് ഇതിന് 10 അക്കങ്ങളും ഉണ്ട്. ലാറ്റിൻ‌ സ്ക്രിപ്റ്റും ഘടനയും മറ്റ് ആശയങ്ങളും സൂചിപ്പിക്കുന്നതിന് ഉപയോഗിക്കുന്ന മറ്റ് അനുബന്ധ ചിഹ്നങ്ങൾ‌ക്കൊപ്പം 1 ഉം, 0 ഉം എന്നിങ്ങനെ എൻ‌കോഡുചെയ്‌തു, 'ASCII' എന്നറിയപ്പെടുന്ന ഒരു ഫോർ‌മാറ്റിൽ‌ 128 വ്യത്യസ്ത പ്രതീകങ്ങളെ പ്രതിനിധീകരിക്കാൻ‌ കഴിയും, ചരിത്രപരമായ കാരണങ്ങളാൽ‌ മിക്ക സോഫ്റ്റ്വെയറുകളിലും വർഷങ്ങളായി പ്രബലമായിരുന്നു .

എന്നിരുന്നാലും, ലാറ്റിൻ‌ ലിപി മനുഷ്യർ‌ ലിഖിത ഭാഷയിൽ‌ സ്വയം പ്രകടിപ്പിക്കുന്ന നിരവധി മാർഗങ്ങളുടെ ഒരു ചെറിയ ഉപസെറ്റ് മാത്രമാണ്. മറ്റ് സ്ക്രിപ്റ്റുകളെ പിന്തുണയ്ക്കുന്നതിനായി, മാറ്റങ്ങളില്ലാതെ പ്രവർത്തിക്കുന്നത് തുടരാൻ ASCII ഉപയോഗിക്കാൻ എഴുതിയ എല്ലാ സോഫ്റ്റ്വെയറുകളെയും അനുവദിക്കുമ്പോൾ (ബാക്ക്വേർഡ് കോംപാറ്റിബിളിറ്റി എന്നറിയപ്പെടുന്ന ഒരു ആശയം), 'യുടിഎഫ് -8' എന്നറിയപ്പെടുന്ന മറ്റൊരു ഡാറ്റ ഫോർമാറ്റ് അവതരിപ്പിച്ചു.

സോഴ്സ് കോഡിന്റെ ഏറ്റവും സാധാരണ ഫോർമാറ്റായി ASCII തുടരുന്നു. ഈ ആർക്കൈവിന്റെ ഓരോ റീലിലും ASCII പ്രതീകങ്ങളിലേക്കുള്ള ഒരു ഗൈഡ് ഉൾപ്പെടുന്നു. യു‌ടി‌എഫ് -8 ന്റെ ഒരു ഉപസെറ്റാണ് ASCII, അതായത് എല്ലാ ASCII എൻ‌കോഡിംഗുകളും UTF-8 എൻ‌കോഡിംഗുകളാണ്. ഗൈഡ് റീലിൽ‌ എല്ലാ യു‌ടി‌എഫ് -8 പ്രതീകങ്ങളുടെയും സവിശേഷത അടങ്ങിയിരിക്കുന്നു. ഈ ആർക്കൈവിലെ മിക്കവാറും എല്ലാ ടെക്സ്റ്റ് ഫയലുകളും യുടിഎഫ് -8 ആയി എൻ‌കോഡുചെയ്യണം.

ടെക്സ്റ്റ് ഇതര ഫയലുകളിൽ ചിത്രങ്ങളെയും ഫോർമാറ്റ് ചെയ്ത പ്രമാണങ്ങളെയും പ്രതിനിധീകരിക്കുന്ന ഫയലുകൾ ഉൾപ്പെടുന്നു. ഫയൽ നാമങ്ങൾ ഒരു '' എന്ന് അവസാനിക്കുന്നതിനാണ് വ്യാപകമായി ഉപയോഗിക്കുന്ന ഒരു കൺവെൻഷൻ. പ്രതീകത്തിന് ശേഷം ഫയൽ തരം സൂചിപ്പിക്കുന്ന ഒരു സഫിക്‌സ്. ഉദാഹരണത്തിന്, .jpg എന്ന് അവസാനിക്കുന്ന ഒരു ഫയൽ നാമം ഒരു JPEG ഇമേജ് ഫയലായിരിക്കാം; .PNG എന്ന് അവസാനിക്കുന്ന ഒന്ന് പോർട്ടബിൾ നെറ്റ്‌വർക്ക് ഗ്രാഫിക് ഇമേജ് ഫയലായിരിക്കാം; .pdf ഒരു പോർട്ടബിൾ ഡോക്യുമെന്റ് ഫോർമാറ്റ് ഫയലിൽ അവസാനിക്കുന്ന ഒന്ന്

ടെക്സ്റ്റ് ഫയലുകളെ സൂചിപ്പിക്കുന്ന ഒരൊറ്റ സഫിക്‌സും ഇല്ല. പകരം, സോഴ്‌സ് കോഡിനായി, ഏത് പ്രോഗ്രാമിംഗ് അല്ലെങ്കിൽ മാർക്ക്അപ്പ് ഭാഷയാണ് കോഡ് എഴുതിയതെന്ന് സൂചിപ്പിക്കാൻ സഫിക്‌സ് കൂടുതൽ സാധ്യതയുണ്ട്. പ്രോഗ്രാമിംഗും മാർക്ക്അപ്പ് ഭാഷകളും ചുവടെ കൂടുതൽ വിശദമായി വിവരിക്കും.

ആർക്കൈവിന്റെ ഉള്ളടക്കം എങ്ങനെ എക്‌സ്‌ട്രാക്റ്റുചെയ്യാം

ഒരു പ്രത്യേക ആർക്കൈവുചെയ്‌ത ശേഖരം അതിന്റെ വിവിധ ഘടക ഫയലുകളിലേക്ക് എങ്ങനെ അൺപാക്ക് ചെയ്യാമെന്നതിന്റെ ഒരു അവലോകനം ഇവിടെ ഞങ്ങൾ നൽകും. വീണ്ടും, ഈ പ്രക്രിയയിൽ ഇനിപ്പറയുന്നവ ഉൾപ്പെടുന്നു:

  1. റിപ്പോസിറ്ററിയുടെ ഡാറ്റ ആർക്കൈവുചെയ്‌ത നിർദ്ദിഷ്ട റീലിനെയും ഫ്രെയിമുകളെയും തിരിച്ചറിയുന്നു.
  2. ക്യുആർ കോഡുകളിൽ നിന്ന് ഡീകോഡിംഗ്, ആ ഫ്രെയിമുകളിലെ കറുപ്പ്, വെളുപ്പ്, ചാരനിറത്തിലുള്ള പിക്സലുകൾ, ഒരു ബൈനറി ഫയലിലേക്ക്, (കുറഞ്ഞത് ആയിരങ്ങൾ, പലപ്പോഴും ദശലക്ഷക്കണക്കിന്) 1 ഉം, 0 ഉം എന്നിവയുടെ ഒരു ശ്രേണി.
  3. ദൈർഘ്യമേറിയതും കം‌പ്രസ്സുചെയ്യാത്തതുമായ ആർക്കൈവ് ഫയലിലേക്ക് ബൈനറി ഫയൽ അൺസിപ്പ് ചെയ്യുന്നു. 4 . ആർക്കൈവ് ഫയൽ അടങ്ങിയിരിക്കുന്ന പ്രത്യേക ഉപ ഫയലുകളിലേക്ക് അൺപാക്ക് ചെയ്യുന്നു. എന്നിരുന്നാലും, ഈ ഘട്ടം ഒഴിവാക്കിയാലും ആർക്കൈവ് ഡാറ്റ പൊതുവെ മനസ്സിലാക്കാവുന്നതേയുള്ളൂ.
  4. അവസാനമായി, ആ ഓരോ ഉപ ഫയലുകളും - 1 ഉം, 0 ഉം എന്നിവയുടെ സീക്വൻസുകൾ വളരെ ചെറുത് മുതൽ വളരെ ദൈർഘ്യമുള്ളവ വരെ - അവ ടെക്സ്റ്റ് ഫയലുകളാണെങ്കിൽ, എഴുതിയ പ്രതീകങ്ങളായി പരിവർത്തനം ചെയ്യുന്നു.

റിപ്പോസിറ്ററിയുടെ ഡാറ്റ ആർക്കൈവുചെയ്‌ത നിർദ്ദിഷ്ട റീലിനെയും ഫ്രെയിമുകളെയും തിരിച്ചറിയുന്നു

സിനിമയുടെ ഓരോ റീലും ശൂന്യമായ ഫിലിമിന്റെ നേതാവിൽ നിന്നാണ് ആരംഭിക്കുന്നത്, തുടർന്ന് സീറോ റഫറൻസ് ഫ്രെയിം, അതിൽ ശൂന്യമായ ഫ്രെയിമിന്റെ ഒരു കോണിൽ കട്ടിയുള്ള കറുത്ത ദീർഘചതുരം അടങ്ങിയിരിക്കുന്നു. മനുഷ്യനെ വായിക്കാൻ കഴിയുന്ന അടുത്ത ഫ്രെയിം കൺട്രോൾ ഫ്രെയിമാണ്, റീലിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ. അത് പിന്തുടരുന്നത് ഉള്ളടക്ക പട്ടികയാണ്, അതിൽ ഉപയോക്തൃ ഡാറ്റ ഫയലുകളുടെ ഒരു പട്ടിക ഉൾപ്പെടുന്നു.

ഈ റീലിലെ ഓരോ ശേഖരണവും ആ ഉപയോക്തൃ ഡാറ്റ ഫയലുകളിൽ ഒന്നാണ്. പട്ടികയിൽ ഒരു അദ്വിതീയ ഐഡി, ഒരു ഫയൽ ഐഡി, ഓരോ ഫയലുകൾക്കും ഒരു പേര് എന്നിവ ഉൾപ്പെടുന്നു. ഉദാഹരണത്തിന്, പൈത്തൺ അക്കൗണ്ടിന്റെ സിപൈത്തൺ ശേഖരത്തിൽ ഫയൽ ഐഡി 12345 എന്ന് ലിസ്റ്റുചെയ്തിരിക്കാം, കൂടാതെ പേര് python_cpython.tar എന്ന് ലിസ്റ്റുചെയ്തിരിക്കാം.

ഉപയോക്തൃ ഡാറ്റ ഫയലുകളുടെ പട്ടിക പിന്തുടരുന്നത് ഡിജിറ്റൽ ഡാറ്റ ലൊക്കേഷനുകളുടെ ഒരു പട്ടികയാണ്. ഈ പട്ടികയിൽ ഫയൽ ഐഡി, ഒരു ആരംഭ ഫ്രെയിം, ഒരു ആരംഭ ബൈറ്റ്, ഒരു അവസാന ഫ്രെയിം, ഒരു അവസാന ബൈറ്റ് എന്നിവ ഉൾപ്പെടുന്നു. അതിനാൽ, സാങ്കൽപ്പിക സിപൈത്തൺ ഉദാഹരണം ഉപയോഗിച്ച്, ഐഡി 12345 ഉള്ള ഈ പട്ടികയിലെ ഇനത്തിന് 054321 ന്റെ ആരംഭ ഫ്രെയിം, 03210321 ന്റെ ആരംഭ ബൈറ്റ്, 054545 ന്റെ അവസാന ഫ്രെയിം, 12321232 അവസാന ബൈറ്റ് എന്നിവ ഉണ്ടായിരിക്കാം.

ഇതിനർത്ഥം, സിപൈത്തൺ ഡാറ്റ ലഭിക്കാൻ: ഈ റീലിന്റെ ഫിലിമിന്റെ 54321 ഫ്രെയിമിലേക്ക് പോകുക. ആരംഭ ഫ്രെയിമിൽ നിന്ന് 54321 മുതൽ അവസാന ഫ്രെയിമിലേക്ക് 54545 വരെ എല്ലാ ഫ്രെയിമുകളും ഡൈനറി മൂല്യങ്ങളിലേക്ക് ഡീകോഡ് ചെയ്യുക, ചുവടെ വിവരിച്ചിരിക്കുന്ന മാർഗ്ഗത്തിലൂടെ. 54321 മുതൽ 54545 വരെ അക്കമിട്ട 225 കഷണങ്ങൾ ഇത് നിങ്ങൾക്ക് നൽകും, ഇത് ഡാറ്റയില്ലാത്ത ഒരു കൂട്ടം ശൂന്യമായ കഷണങ്ങളുമായി ആരംഭിക്കും. ആദ്യത്തെ ശൂന്യമല്ലാത്ത ഡാറ്റയിൽ ആദ്യത്തെ 3210320 ബൈറ്റുകൾ നിരസിക്കുക. എല്ലാ "മിഡിൽ" ഡാറ്റയും ക്രമത്തിൽ കൂട്ടിച്ചേർക്കുക. അവസാനമായി, അവസാനത്തെ ഡാറ്റയായ 54545 ൽ നിന്ന് ആദ്യത്തെ 12321232 ബൈറ്റുകൾ കൂട്ടിച്ചേർക്കുക. നിങ്ങൾ ഇപ്പോൾ പൂർണ്ണമായ സിപൈത്തൺ ശേഖരം ഒറ്റ കംപ്രസ് ചെയ്ത ആർക്കൈവ് ഫയലായി കൂട്ടിച്ചേർത്തു.

QR കോഡുകളിൽ നിന്ന് ഒരു ബൈനറി ഫയലിലേക്ക് ഡീകോഡ് ചെയ്യുന്നു

ഫിലിം ഫ്രെയിമുകളെ ബൈനറി ഡാറ്റയിലേക്ക് എങ്ങനെ ഡീകോഡ് ചെയ്യാമെന്നതിന്റെ വിശദാംശങ്ങൾ മനുഷ്യന് വായിക്കാൻ കഴിയുന്ന പ്രാതിനിധ്യ വിവരങ്ങളിൽ കാണാം, അത് ആർക്കൈവിലെ ഓരോ റീലിന്റെയും തുടക്കത്തിൽ ഉള്ളടക്ക പട്ടികയെ പിന്തുടരുന്നു. ഓരോ റീലിലും ഈ വിവരങ്ങൾ‌ കണ്ടെത്തുന്നതിനാൽ‌, ആർക്കൈവിൽ‌ നിന്നും ഒരു വ്യക്തിഗത റീലിനെ വേർ‌തിരിച്ചിട്ടുണ്ടെങ്കിലും, അതിൻറെ ഉള്ളടക്കങ്ങൾ‌ മനസ്സിലാക്കാൻ‌ ഇപ്പോഴും കഴിയും. ആ പ്രാതിനിധ്യ വിവരത്തിൽ ക്രമത്തിൽ ഉൾപ്പെടുന്നു:

  1. GitHub ആർക്കൈവ് പ്രോഗ്രാമിലേക്കുള്ള ഒരു ഗൈഡ് (ഈ പ്രമാണം)
  2. GitHub വിവരണാത്മക സൂചിക, ഈ റീലിലെ എല്ലാ ശേഖരണങ്ങളുടെയും പട്ടികയും ഹ്രസ്വ വിവരണവും
  3. പ്രാതിനിധ്യം വിവര വിവരണം
  4. ഡിജിറ്റൽ സംരക്ഷണവും ഡാറ്റ എങ്ങനെ വീണ്ടെടുക്കാം, ഡാറ്റ വീണ്ടെടുക്കൽ വിശദാംശങ്ങളുടെ ഒരു അവലോകനം
  5. സംഭരണം ഇടത്തരം വിവരണം
  6. ഡാറ്റ വീണ്ടെടുക്കൽ സാങ്കേതികവിദ്യ
  7. ജനറിക് പ്രിസർവേഷൻ റീൽ ഘടന (റീൽ ഫോർമാറ്റ്)
  8. ജനറിക് 4 കെ ഫ്രെയിം ഫോർമാറ്റ് വിവരണം
  9. അൺബോക്സിംഗ് ലൈബ്രറി വിവരണം (QR കോഡുകൾക്കായി)
  10. ലൈബ്രറി ഉറവിട കോഡ് അൺബോക്സിംഗ്
  11. ASCII ഡാറ്റ ഫോർമാറ്റ് സവിശേഷത
  12. സി പ്രോഗ്രാമിംഗ് ഭാഷാ സവിശേഷത
  13. TAR ആർക്കൈവ് ഫയൽ ഉറവിട കോഡ്
  14. PDF ഉറവിട കോഡ്
  15. XZ ഫയൽ ഫോർമാറ്റ് സവിശേഷത (കംപ്രഷൻ / ഡീകംപ്രഷന്, ചുവടെ വിവരിച്ചിരിക്കുന്നത്)

ആ ഇനങ്ങളിൽ ആറാമത്തെ, ഡാറ്റാ വീണ്ടെടുക്കൽ ടെക്നോളജി ഡോക്യുമെന്റ്, ഡിജിറ്റലായി എൻ‌കോഡുചെയ്‌ത ഒരു ഫ്രെയിമിലെ ഡാറ്റ പിടിച്ചെടുക്കാനും കമ്പ്യൂട്ടർ വിശകലനത്തിന് അനുയോജ്യമായ ഒരു രൂപമാക്കി മാറ്റാനും സ്കാനർ ഉപയോഗിക്കുന്നതിനുള്ള ആവശ്യകതകളും പ്രക്രിയകളും വിവരിക്കുന്നു. അവയിൽ എട്ടാമത്തേത്, ജനറിക് 4 കെ ഫ്രെയിം ഫോർമാറ്റ് വിവരണം, ഒരു കമ്പ്യൂട്ടർ അത്തരമൊരു സ്കാൻ ചെയ്ത ചിത്രം എടുത്ത് ബൈനറി ഡാറ്റയിലേക്ക് പരിവർത്തനം ചെയ്യുന്നതിന് ആവശ്യമായ സോഴ്‌സ് കോഡ് ഉൾപ്പെടെയുള്ള സാങ്കേതിക വിവരങ്ങൾ നൽകുന്നു.

ഒരു കമ്പ്യൂട്ടർ ഉപയോഗിക്കാതെ തന്നെ QR- എൻ‌കോഡുചെയ്‌ത ഡാറ്റയിൽ നിന്ന് ഒരു ശേഖരം ബൈനറി ഡാറ്റയിലേക്ക് പരിവർത്തനം ചെയ്യുന്നത് സൈദ്ധാന്തികമായി സാധ്യമാണ്. എന്നിരുന്നാലും, ഇത് വളരെയധികം ബുദ്ധിമുട്ടാണ്, കൂടാതെ മാസങ്ങളോ വർഷങ്ങളോ അല്ലെങ്കിലും പല ആഴ്ചകളിലായി ഒരു നല്ല സംഘടിത കമ്മ്യൂണിറ്റിയിൽ നിന്ന് ഗണ്യമായ ശ്രമം ആവശ്യമാണ്. റിപ്പോസിറ്ററികളിലെ ഉള്ളടക്കങ്ങൾ‌ ഒരു കമ്പ്യൂട്ടറിൽ‌ പ്രവർ‌ത്തിപ്പിക്കാൻ‌ ഉദ്ദേശിക്കുന്ന സോഫ്റ്റ്‌വെയർ‌ ആയതിനാൽ‌, കമ്പ്യൂട്ടറിന്റെ അഭാവത്തിൽ‌ അവ ഉപയോഗിക്കുന്നത്‌ ഏറ്റവും കുറഞ്ഞത് ആയിരിക്കും.

ഈ ആർക്കൈവിന്റെ അനന്തരാവകാശികൾക്ക് കമ്പ്യൂട്ടറുകൾ ഇല്ലാത്ത സാഹചര്യത്തിൽ, അവർ ആർക്കൈവ് പൂർണ്ണമായും സുരക്ഷിതമായും സൂക്ഷിക്കും. മനുഷ്യന് വായിക്കാവുന്ന ടെക് ട്രീയുടെ ഒരു ഉദ്ദേശ്യം, സംഭവബഹുലമായ സാഹചര്യത്തിൽ സാങ്കേതികവിദ്യകളുടെയും കമ്പ്യൂട്ടറുകളുടെയും വികസനം ത്വരിതപ്പെടുത്താൻ സഹായിക്കുക എന്നതാണ്. (ഭാവിയിലെ ചരിത്രകാരന്മാർക്കായി ഞങ്ങളുടെ സാങ്കേതികവിദ്യയും അതിന്റെ വികസനവും ക്രോഡീകരിക്കുക എന്നതാണ് ഇതിന്റെ മറ്റൊരു ലക്ഷ്യം.)

ആർക്കൈവ് ഫയൽ അടങ്ങിയിരിക്കുന്ന പ്രത്യേക ഉപ ഫയലുകളിലേക്ക് അൺപാക്ക് ചെയ്യുന്നു

ഓരോ ശേഖരണത്തിന്റേയും ബൈനറി ഫയൽ ടേപ്പ് ആർക്കൈവിനായി TAR എന്നറിയപ്പെടുന്ന ഫോർമാറ്റിലാണ്. വ്യക്തിഗത പേപ്പർ കഷണങ്ങൾ ഒരൊറ്റ സ്ക്രോളിൽ ടാപ്പുചെയ്യുന്നതുപോലെയുള്ള ഒന്നിന്റെ അവസാനത്തെ അടുത്തതിന്റെ തുടക്കത്തിലേക്ക് ബന്ധിപ്പിച്ച് നിരവധി ഫയലുകൾ ഒന്നിച്ച് ഗ്രൂപ്പുചെയ്യുന്നതിലൂടെ ഒരു TAR ഫയൽ പ്രധാനമായും രചിക്കപ്പെടുന്നു. ഒരു TAR ഫയലിന് ഏത് വലുപ്പത്തിലുള്ള ഏത് ഫയലുകളും ഉൾപ്പെടുത്താം, ഏത് ഡയറക്ടറികളിലേക്കും സബ്ഡയറക്ടറികളിലേക്കും തിരിച്ചിരിക്കുന്നു.

ഒരു TAR ഫയലിനുള്ളിലെ ഓരോ ഉപ ഫയലും 512-ബൈറ്റ് ഹെഡർ റെക്കോർഡ് മുൻ‌ഗണന നൽകുന്നു, ഇത് സ്ക്രോൾ രൂപകത്തിലെ ടേപ്പ് പോലെ പ്രവർത്തിക്കുന്നു. ഈ തലക്കെട്ട് റെക്കോർഡിൽ ഫയലിന്റെ പേരും വലുപ്പവും പോലുള്ള വിവരങ്ങൾ അടങ്ങിയിരിക്കുന്നു. ആർക്കൈവിന്റെ അവസാനം കുറഞ്ഞത് രണ്ട് തുടർച്ചയായ 512-ബൈറ്റ് ബ്ലോക്കുകളാൽ സൂചിപ്പിച്ചിരിക്കുന്നു.

TAR ഫയലുകൾ പ്രധാനമായും അവയ്ക്കിടയിലുള്ള ടെക്സ്റ്റ് റെക്കോർഡുകളുള്ള ഫയലുകളുടെ ശേഖരം മാത്രമാണ്, ഒരു TAR ഫയലിൽ എല്ലാ ടെക്സ്റ്റ് ഫയലുകളും അടങ്ങിയിട്ടുണ്ടെങ്കിൽ, അത് ഒരു ടെക്സ്റ്റ് ഫയലായി കണക്കാക്കാം. അതിൽ ഒരു മിശ്രിതം അടങ്ങിയിട്ടുണ്ടെങ്കിൽ, ഘടനാപരമായതും അർത്ഥവത്തായതുമായ വാചകം (ഘടക ടെക്സ്റ്റ് ഫയലുകൾ), മനസ്സിലാക്കാൻ കഴിയാത്ത ഗിബറിഷ് (ഘടകങ്ങൾ നോൺ-ടെക്സ്റ്റ് ഫയലുകൾ) എന്നിവ അടങ്ങിയിരിക്കുന്ന ഒരു ടെക്സ്റ്റ് ഫയലായി ഇതിനെ കണക്കാക്കാം.

  • റിപ്പോസിറ്ററിയുടെ പേര്, അക്കൗണ്ട് നാമം, വിവരണം, ഭാഷ, നക്ഷത്രങ്ങളുടെ എണ്ണം, ഫോർക്ക് എണ്ണം എന്നിവ ഉൾപ്പെടുന്ന മെറ്റാ എന്ന കം‌പ്രസ്സുചെയ്യാത്ത ഒരു മെറ്റാഡാറ്റ ഫയൽ
  • COMMITS എന്ന് പേരുള്ള ഒരു കം‌പ്രസ്സുചെയ്‌ത (ചുവടെ കാണുക) ഫയൽ, അതിൽ കാലക്രമേണ സംഭരണിയിൽ വരുത്തിയ മാറ്റങ്ങളുടെ ലോഗ് ഉൾപ്പെടുന്നു
  • repo.tar.xz എന്ന് പേരുള്ള ഒരു ഫയൽ, യഥാർത്ഥ ശേഖരണ ഉള്ളടക്കങ്ങൾ അടങ്ങിയ ഒരു കംപ്രസ്സ് ചെയ്ത TAR ഫയൽ

മറ്റ് മെറ്റാഡാറ്റകളായ വിക്കികൾ, gh- പേജുകൾ, പ്രശ്നങ്ങൾ, പുൾ അഭ്യർത്ഥനകൾ എന്നിവയും പ്രത്യേക കംപ്രസ്സ് ചെയ്ത ഫയലുകളായി ഉൾപ്പെടുത്താം.

TAR ഫയലുകളുടെ നിർദ്ദിഷ്ട വിശദാംശങ്ങളും അവ എൻ‌കോഡുചെയ്യാനും ഡീകോഡ് ചെയ്യാനുമുള്ള സോഫ്റ്റ്വെയറും ആർക്കൈവിലെ ഓരോ റീലിലെയും പ്രാതിനിധ്യ വിവരങ്ങളിൽ കാണാം.

കം‌പ്രസ്സുചെയ്‌ത ഫയലുകൾ‌ വായിക്കാൻ‌ കഴിയുന്നതും കം‌പ്രസ്സുചെയ്യാത്തതുമായ ഫയലുകളിലേക്ക് അൺ‌സിപ്പ് ചെയ്യുന്നു

കഴിയുന്നത്ര സംഭരണികളും പരമാവധി ഡാറ്റയും ഉൾപ്പെടുത്തുന്നതിന്, മിക്ക ഡാറ്റയും കം‌പ്രസ്സുചെയ്‌തു. കം‌പ്രഷൻ എന്നാൽ ഒരു വലിയ തുകയെ പ്രതിനിധീകരിക്കുന്നതിന് ചെറിയ അളവിലുള്ള ഡാറ്റ ഉപയോഗിക്കുക, പാറ്റേണുകൾ ഉപയോഗിച്ചും ആ വലിയ അളവിൽ ആവർത്തിക്കുക. ഉദാഹരണത്തിന്, തുടർച്ചയായി ഒൻപത് തവണ പ്രതീകം എഴുതുന്നതിനുപകരം, ഒരാൾക്ക് കംപ്രസ്സ് ചെയ്ത വാചകം 9 എ എഴുതാൻ കഴിയും, ഒരാൾക്ക് ആത്മവിശ്വാസമുണ്ടെങ്കിൽ 9 എ എന്നാൽ കംപ്രസ്സ് ചെയ്യാത്ത വാചകം aaaaaaaaa ആണെന്ന് വായനക്കാരന് മനസ്സിലാകും.

ഫലപ്രദമായ കംപ്രഷൻ അൽഗോരിതങ്ങൾ അതിനേക്കാൾ വളരെ സങ്കീർണ്ണമാണ്, എന്നാൽ അതേ തത്ത്വം ബാധകമാണ്. ഈ ആർക്കൈവ് 'XZ' എന്നറിയപ്പെടുന്ന ഒരു കംപ്രഷൻ പ്രോഗ്രാം ഉപയോഗിക്കുന്നു, അത് 'LZMA' എന്നറിയപ്പെടുന്ന ഒരു അൽഗോരിതം ഉപയോഗിക്കുന്നു. ഓരോ റീലിലെയും രണ്ടാമത്തെ ഡാറ്റ ഫയലിൽ ചുവടെ വിവരിച്ചിരിക്കുന്ന ഒരൊറ്റ കം‌പ്രസ്സുചെയ്യാത്ത TAR ആർക്കൈവ് ഫയലിൽ XZ നായുള്ള സോഴ്‌സ് കോഡും ഡോക്യുമെന്റേഷനും അടങ്ങിയിരിക്കുന്നു. (ആദ്യത്തെ ഡാറ്റാ ഫയലിൽ ലഭ്യമായ എല്ലാ ലിഖിത മനുഷ്യ ഭാഷയിലും മനുഷ്യാവകാശങ്ങളുടെ സാർവത്രിക പ്രഖ്യാപനം അടങ്ങിയിരിക്കുന്നു.)

'LZ77' അൽ‌ഗോരിതം, "റേഞ്ച് എൻ‌കോഡിംഗ്" എന്നിവ അറിയപ്പെടുന്നവയെ LZMA സംയോജിപ്പിക്കുന്നു. LZ77 ആവർത്തിച്ചുള്ള ഡാറ്റയെ ആ ഡാറ്റയുടെ മുമ്പത്തെ ദൃശ്യങ്ങളെ പരാമർശിച്ച് മാറ്റിസ്ഥാപിക്കുന്നു. ഉദാഹരണത്തിന്, വളരെ ലളിതമാക്കുന്നതിന്, 80-ബൈറ്റ് വാക്യം രണ്ടുതവണ, 400 ബൈറ്റുകൾക്ക് അകലെ, രണ്ടാമത്തെ തവണ, അൽ‌ഗോരിതം അടിസ്ഥാനപരമായി "400 ബൈറ്റുകൾ‌ക്ക് മുമ്പുള്ള 80 ബൈറ്റുകൾ‌ ആവർത്തിക്കുക" എന്ന് പറഞ്ഞ് ഡാറ്റയെ ചുരുക്കുന്നു. റേഞ്ച് എൻ‌കോഡിംഗ് ഒരു മുഴുവൻ സന്ദേശത്തെയും ഒരൊറ്റ ദൈർ‌ഘ്യ സംഖ്യയായി പരിവർത്തനം ചെയ്യുന്നു, അത് എൻ‌കോഡുചെയ്യാൻ‌ കഴിയും.

ഓരോ റീലിലെയും രണ്ടാമത്തെ ഡാറ്റ ഫയലിൽ അടങ്ങിയിരിക്കുന്ന എക്സ്ഇസഡ് സോഴ്സ് കോഡ് ഉപയോഗിച്ച് ഡാറ്റ വിഘടിപ്പിക്കുന്നതിന് ഉപയോഗിക്കുന്ന അൽഗോരിത്തിന്റെ നിർദ്ദിഷ്ട ഘട്ടങ്ങൾ വിവരിക്കുന്നു. കൈകൊണ്ട് വിഘടിപ്പിക്കാൻ സൈദ്ധാന്തികമായി സാധ്യമാണെങ്കിലും, ഇത് അസാധാരണമായ സമയവും അധ്വാനവും ചെലുത്തുന്ന പ്രക്രിയയാണ്. പ്രായോഗികമായി, പ്രവർത്തിക്കുന്ന ഒരു കമ്പ്യൂട്ടറിനായി വിളിക്കും.

ഓരോ ഫയലും ലിഖിത പ്രതീകങ്ങളായി പരിവർത്തനം ചെയ്യുന്നു

മാനവികത സഹസ്രാബ്ദങ്ങളായി നിരവധി എഴുതിയ കഥാപാത്രങ്ങൾ ഉപയോഗിച്ചിട്ടുണ്ട്. ഈ ആർക്കൈവിലെ ഈ പ്രതീകങ്ങളെ 1 സെ, 0 സെ എന്നിങ്ങനെ പ്രതിനിധീകരിക്കുന്നതിന് ഉപയോഗിക്കുന്ന എൻകോഡിംഗിനെ 'യുടിഎഫ് -8' എന്ന് വിളിക്കുന്നു. ഒരൊറ്റ യു‌ടി‌എഫ് -8 പ്രതീകം, അതായത് ഒരു രേഖാമൂലമുള്ള ചിഹ്നം, 1 മുതൽ 4 ബൈറ്റുകൾ വരെ ബൈനറി ഡാറ്റയിൽ എവിടെയും ഉൾക്കൊള്ളാൻ കഴിയും.

ചരിത്രപരമായ കാരണങ്ങളാൽ, സോഫ്റ്റ്വെയർ വികസനം ആരംഭിച്ച സമയത്തും പ്രദേശത്തും അവ ഏറ്റവും വ്യാപകമായി ഉപയോഗിച്ചിരുന്നതിനാൽ, 'ASCII' എന്നറിയപ്പെടുന്ന ഒരു കൂട്ടം പ്രതീകങ്ങൾ (സങ്കൽപ്പങ്ങൾ) ഏറ്റവും കാര്യക്ഷമമായി എൻ‌കോഡുചെയ്‌തു, ഓരോ പ്രതീകത്തിനും 1 ബൈറ്റ്. ASCII അല്ലാത്ത എന്തും ഒരു പ്രതീകത്തിന് രണ്ടോ അതിലധികമോ ബൈറ്റുകളായി എൻ‌കോഡുചെയ്‌തു. ഈ ആർക്കൈവിലെ മിക്ക ടെക്സ്റ്റ് ഫയലുകളും ASCII ആണ്, പക്ഷേ ഗണ്യമായ എണ്ണം ഇല്ല. ഇടയ്ക്കിടെ ASCII അല്ലാത്ത പ്രതീകങ്ങളുള്ള കൂടുതൽ എണ്ണം ASCII ആയിരിക്കും.

ASCII യുടെ വിശദമായ സവിശേഷതകൾ‌ ആർക്കൈവിലെ ഓരോ റീലിലും പ്രാതിനിധ്യ വിവരങ്ങളിൽ‌ കാണാം. യുടിഎഫ് -8 ന്റെ വിശദമായ സവിശേഷതകൾ ഗൈഡ് റീലിൽ കാണാം. ആർക്കൈവിലെ ഓരോ റീലിലെയും ആദ്യത്തെ ഡാറ്റ ഫയലിൽ ലഭ്യമായ എല്ലാ ലിഖിത മനുഷ്യ ഭാഷയിലും സാർവത്രിക മനുഷ്യാവകാശ പ്രഖ്യാപനത്തിന്റെ വാചകം അടങ്ങിയിരിക്കും. ഇത് ഒരു വിവർത്തന ഉപകരണമായും ASCII, UTF-8 എന്നിവയുടെ ഉദാഹരണമായും പ്രവർത്തിക്കും.

തരത്തിലുള്ള ഫയലുകൾ

വ്യത്യസ്ത കാരണങ്ങളാൽ സൃഷ്ടിക്കപ്പെട്ട നിരവധി തരം ടെക്സ്റ്റ് ഫയലുകൾ ഉണ്ട്. ഇവിടെയുള്ള പ്രാഥമിക തരം, ഈ ആർക്കൈവ് നിലനിൽക്കുന്നതിനുള്ള കാരണം ഉറവിട കോഡാണ്. ഉറവിട കോഡ് വളരെ സാന്ദ്രമായതും വളരെ ഘടനാപരമായതുമായ വാചകമാണ്, അതിൽ '{', ';' വലിയ പ്രാധാന്യമുണ്ട്.

സോഴ്‌സ് കോഡിന്റെ പ്രധാന കാര്യം ഇത് കംപൈലറുകൾ വായിക്കാൻ എഴുതിയതാണ് എന്നതാണ്. കംപൈലറുകൾ‌ സോഫ്റ്റ്‌വെയർ‌ ആയതിനാൽ‌, ഇത് പദസമുച്ചയത്തിന്റെ മറ്റൊരു മാർ‌ഗ്ഗം കമ്പ്യൂട്ടറുകൾ‌ വായിക്കുന്നതിനായി സോഴ്‌സ് കോഡ് എഴുതിയിരിക്കുന്നു എന്നതാണ്. സോഫ്റ്റ്വെയർ രംഗത്ത് വിദഗ്ധരും വിദ്യാസമ്പന്നരുമാണെങ്കിൽ മറ്റ് മനുഷ്യർക്ക് അത് മനസ്സിലാക്കാൻ കഴിയുന്ന തരത്തിൽ നല്ല കോഡും എഴുതിയിട്ടുണ്ട്; പക്ഷേ ഒരു കംപൈലറിന് അത് മനസ്സിലാക്കാൻ കഴിയുമെങ്കിൽ മാത്രമേ അത് ശരിയാകൂ.

ആ കംപൈലർ, ടെക് ട്രീയിൽ വിവരിച്ചിരിക്കുന്ന സങ്കീർണ്ണമായ സീക്വൻസുകളിലൂടെ, സോഴ്സ് കോഡിനെ പൂജ്യങ്ങളുടെയും ഒന്നുകളുടെയും സീക്വൻസുകളായി പരിവർത്തനം ചെയ്യും, അത് കോഡ് വിവരിച്ച പ്രവർത്തനങ്ങളും പ്രവർത്തനങ്ങളും നടത്താൻ കമ്പ്യൂട്ടറിന് കാരണമാകും. വളരെ ലളിതമായ ഒരു ഉദാഹരണം എടുക്കാൻ, കോഡിന്റെ വരി

for (int i=0; i<5; i++) { }

കമ്പ്യൂട്ടറിലേക്ക് നൽകിയ ബൈനറി നിർദ്ദേശങ്ങളുടെ ഒരു പരമ്പരയായി കംപൈലർ പരിവർത്തനം ചെയ്യും, ഇത് കമ്പ്യൂട്ടറിന്റെ ഒരു ചെറിയ ഭാഗം രജിസ്റ്റർ എന്ന് വിളിക്കുകയും അതിന്റെ മൂല്യം 0 ആയി സജ്ജമാക്കുകയും തുടർന്ന് ആ മൂല്യം 1, 2, 3 ആയി വർദ്ധിപ്പിക്കുകയും ചെയ്യും തുടർന്ന് 4. (ഇത് ഉപയോഗപ്രദമായ കോഡിന്റെ ഉദാഹരണമായി ഉദ്ദേശിച്ചുള്ളതല്ല; ഉറവിട കോഡിനെ പ്രവർത്തിക്കുന്ന സോഫ്റ്റ്വെയറാക്കി മാറ്റുന്നതിനുള്ള നിരവധി ലേയേർഡ് പ്രക്രിയയുടെ ഒരു ചിത്രം മാത്രമാണ് ഇത്.)

കമ്പ്യൂട്ടറുകൾക്കായി ഡാറ്റ (കമാൻഡുകൾക്ക് വിരുദ്ധമായി) സംഭരിക്കുന്നതിന് JSON, XML, HTML പോലുള്ള മറ്റ് തരം ടെക്സ്റ്റ് ഫയലുകൾ ഉപയോഗിക്കുന്നു. ഈ ഫയൽ‌ പോലുള്ള ഘടനാപരമായ കഥപറച്ചിലിനേക്കാൾ‌ ഘടനാപരമായ ഫോർ‌മാറ്റുകൾ‌ വായിക്കാൻ‌ ബുദ്ധിമുട്ടാണെങ്കിലും അവ പൊതുവായി മനുഷ്യർക്കും വായിക്കാൻ‌ കഴിയും.

മറ്റ് മിക്ക ടെക്സ്റ്റ് ഫയലുകളും ഒടുവിൽ മനുഷ്യർ വായിക്കാൻ ഉദ്ദേശിച്ചുള്ളതാണ്. ചിലത് ലളിതവും കൂടുതലും ഘടനയില്ലാത്ത വാചകവുമാണ്, നിങ്ങൾ നിലവിൽ വായിക്കുന്ന ഈ ഫയൽ പോലെ. ആർക്കൈവിൽ നിങ്ങൾ വ്യാപകമായി കണ്ടുമുട്ടുന്ന ഒരു തരം മാർക്കഡൗൺ ആണ്, ഇത് ഒരു ഫയലിലേക്കുള്ള .md വിപുലീകരണത്താൽ സൂചിപ്പിച്ചിരിക്കുന്നു, ഇത് ഒരു തരം ഇന്റർമീഡിയറ്റ് രൂപമാണ്, ഇത് മനുഷ്യർക്ക് അവരുടെ അസംസ്കൃത രൂപത്തിൽ വായിക്കാവുന്നതും അതേ സമയം ഘടനാപരവുമാണ് കമ്പ്യൂട്ടറുകൾ‌ക്ക് അവ കൂടുതൽ‌ ദൃശ്യപരവും ഉപയോഗപ്രദവുമായ ലേഔട്ട് കളിലേക്കും ഫോർ‌മാറ്റ് ചെയ്യാൻ‌ കഴിയും. ഈ ആർക്കൈവിലെ മിക്ക ശേഖരണങ്ങളിലും ഒരു README.md മാർക്കഡൗൺ ഫയൽ ഉണ്ട്, ഇത് സാധാരണയായി റിപ്പോസിറ്ററിയുടെ പ്രാരംഭ ആമുഖമായി ഉദ്ദേശിച്ചുള്ളതാണ്, അത് എന്താണെന്നും അത് എന്തുകൊണ്ട് നിലനിൽക്കുന്നുവെന്നും അത് എങ്ങനെ ഉപയോഗിക്കാമെന്നും വിവരിക്കുന്നു.

ടെക്സ്റ്റ് ഇതര ഫയലുകളുടെ ഏറ്റവും സാധാരണമായ രൂപങ്ങളുടെ ഒരു ഹ്രസ്വ അവലോകനവും ഉപയോഗപ്രദമാകും. കംപൈൽ ചെയ്ത കോഡ് വാചകമല്ലാത്തതാണ്. ജെ‌പി‌ജി, പി‌എൻ‌ജി ഫയലുകൾ‌ ഇമേജുകൾ‌ ഡിജിറ്റൽ‌ ഫോർ‌മാറ്റിലും എം‌പി 3, ഡബ്ല്യു‌എ‌വി എൻ‌കോഡ് ഓഡിയോയിലും. PDF ഫയലുകൾ കൃത്യമായതും മികച്ചതുമായ ഫോർമാറ്റിംഗ് ഉപയോഗിച്ച് പ്രമാണങ്ങൾ എൻകോഡ് ചെയ്യുന്നു. ZIP, TAR ഫയലുകൾ, മുമ്പ് സൂചിപ്പിച്ചതുപോലെ, കണ്ടെയ്നർ ഫയലുകളാണ്, അതിൽ ഒന്നോ അതിലധികമോ ഫയലുകൾ ഉൾപ്പെടാം.

മനുഷ്യ ഭാഷകളും പ്രോഗ്രാമിംഗ് ഭാഷകളും

മനുഷ്യ ഭാഷകൾ

ഇന്ന് മനുഷ്യരാശി ഉപയോഗിക്കുന്ന ആയിരക്കണക്കിന് ലിഖിത ഭാഷകളുണ്ട്, അതിലും കൂടുതൽ സംസാരിക്കുന്ന ഭാഷകൾ. അവയിൽ മിക്കതും താരതമ്യേന ചെറിയ ജനസംഖ്യ മാത്രമാണ് ഉപയോഗിക്കുന്നത്, പക്ഷേ കുറഞ്ഞത് 60 ദശലക്ഷം ആളുകൾ ഒന്നാമത്തെയോ രണ്ടാമത്തെയോ ഭാഷയായി കുറഞ്ഞത് ഇരുപത് ഭാഷകളെങ്കിലും ഉപയോഗിക്കുന്നു.

ലോകത്ത് ഏറ്റവും കൂടുതൽ ഉപയോഗിക്കുന്ന ഭാഷകൾ ഇംഗ്ലീഷും ചൈനീസുമാണ്. ചരിത്രപരമായ കാരണങ്ങളാൽ, വർഷങ്ങളായി മിക്ക സോഫ്റ്റ്വെയർ വികസനവും നടന്നത് ഇംഗ്ലീഷ് സംസാരിക്കുന്ന രാജ്യങ്ങളിലാണ്, അതിനാൽ ഒരു കാലത്തേക്ക് ഇംഗ്ലീഷ് സോഫ്റ്റ്വെയറിന്റെ സ്ഥിര ഭാഷയായി മാറി. മിക്ക പ്രോഗ്രാമിംഗ് ഭാഷകളും അവരുടെ വാക്യഘടനയിൽ ഇംഗ്ലീഷ് പദങ്ങൾ ഉപയോഗിക്കുന്നു. ആർക്കൈവിലേക്കുള്ള ഈ ഗൈഡ് ആദ്യമായി എഴുതിയ ഭാഷയാണിത്.

ഈ ആർക്കൈവിന്റെ അനന്തരാവകാശികൾക്ക് ഇംഗ്ലീഷ് അറിയാമെന്ന് ഉറപ്പില്ല, എന്നിരുന്നാലും ഇത് അനിശ്ചിതമായി നിലനിൽക്കാൻ സാധ്യതയുള്ള ഭാഷയാണെന്ന് തോന്നുന്നു. മറ്റ് ഭാഷകളിലേക്കുള്ള ചില മാർ‌ഗ്ഗനിർ‌ദ്ദേശങ്ങൾ‌ സഹായകരമാണെങ്കിൽ‌, ഓരോ റീലിൻറെയും തുടക്കത്തിൽ‌, ടെക് ട്രീയിൽ‌, കം‌പ്രസ്സ് ചെയ്യാത്ത യു‌ടി‌എഫ് -8 ഫയലായി സാർവത്രിക മനുഷ്യാവകാശ പ്രഖ്യാപനത്തിന്റെ 500 ലധികം വിവർത്തനങ്ങൾ‌ ഞങ്ങൾ‌ ഉൾ‌പ്പെടുത്തുന്നു. ഈ പ്രഖ്യാപനം നമ്മുടെ കാലഘട്ടത്തിലെ ഓരോ മനുഷ്യന്റെയും അവകാശങ്ങളുടെയും സ്വാതന്ത്ര്യങ്ങളുടെയും ഒരു പട്ടികയാണ്, അത് ഒരിക്കലും എടുത്തുകളയരുത്.

പ്രോഗ്രാമിംഗ് ഭാഷകൾ

കമ്പ്യൂട്ടറുകളിലേക്ക് നിർദ്ദേശങ്ങൾ ആശയവിനിമയം നടത്താൻ മനുഷ്യർ ഉപയോഗിക്കുന്ന പ്രോഗ്രാമിംഗ് ഭാഷകളാണ്. സോഫ്റ്റ്വെയർ പ്രകടിപ്പിക്കുന്ന ഭാഷകളാണ് അവ. പ്രോഗ്രാമിംഗ് ഭാഷകളിൽ എഴുതിയ സോഫ്റ്റ്വെയർ വായിക്കാൻ മറ്റ് (പരിശീലനം ലഭിച്ച) മനുഷ്യർക്കും കഴിയണം, പക്ഷേ അതൊരു ദ്വിതീയ ലക്ഷ്യമാണ്.

ഒരു പ്രോഗ്രാമിംഗ് ഭാഷ മുൻ‌നിശ്ചയിച്ച ഘടകങ്ങളുടെ ഒരു കൂട്ടമാണ്, അവയിൽ മിക്കതും വാക്കുകളാണ്, നിർദ്ദിഷ്ട രീതിയിൽ നിർദ്ദിഷ്ട പ്രവർത്തനം നടത്താൻ കമ്പ്യൂട്ടറിനെ നിർദ്ദേശിക്കുന്നതിന് ഘടനാപരമായ രീതിയിൽ ക്രമീകരിക്കാം. അത്തരം നിർദ്ദേശങ്ങളുടെ ഒരു ശേഖരം ഒരു പ്രോഗ്രാം അല്ലെങ്കിൽ സോഴ്സ് കോഡ് എന്നറിയപ്പെടുന്നു. ഉറവിട കോഡ് അടിസ്ഥാനപരമായി ശീതീകരിച്ചതും എഴുതിയതുമായ രൂപത്തിലുള്ള സോഫ്റ്റ്വെയറാണ്.

പ്രോഗ്രാമുകളെ സാധാരണയായി വ്യതിരിക്തമായ ഘട്ടങ്ങളായി വിഭജിക്കുന്നു, അവ സ്റ്റേറ്റ്മെന്റുകൾ എന്നറിയപ്പെടുന്നു, അവയെ ഫംഗ്ഷനുകൾ എന്നറിയപ്പെടുന്ന ശേഖരങ്ങളായി തിരിച്ചിരിക്കുന്നു. ഒരു മുഴുവൻ പ്രോഗ്രാമും ഒരൊറ്റ ഫയലിൽ അടങ്ങിയിരിക്കാം, അല്ലെങ്കിൽ ആയിരക്കണക്കിന് വ്യാപിച്ചേക്കാം.

വ്യത്യസ്ത രൂപങ്ങൾ, സമീപനങ്ങൾ, തത്ത്വചിന്തകൾ എന്നിവയിൽ വ്യാപിച്ചുകിടക്കുന്ന നൂറുകണക്കിന് വ്യത്യസ്ത പ്രോഗ്രാമിംഗ് ഭാഷകളുണ്ട്. ചിലത് പ്രത്യേക ബൈനറി ഫയലുകളായി കംപൈൽ ചെയ്യുന്നു, അവ നടപ്പിലാക്കുന്നു; ചിലത്, "വ്യാഖ്യാനിച്ച" ഭാഷകൾ എന്നറിയപ്പെടുന്നു, ഫലപ്രദമായി സമാഹരിച്ച് ഇടക്കാല ഘട്ടങ്ങളില്ലാതെ ഒരേസമയം പ്രവർത്തിക്കുന്നു. മിക്ക ആധുനിക പ്രോഗ്രാമിംഗ് ഭാഷകളിലും മുൻകൂട്ടി എഴുതിയ ഫംഗ്ഷനുകളുടെ ലൈബ്രറികൾ ഉൾപ്പെടുന്നു, അത്തരം ലൈബ്രറികൾ വളരെ വലുതും വിശാലവുമാണ്. ഇന്നത്തെ ഏറ്റവും പ്രചാരമുള്ള പ്രോഗ്രാമിംഗ് ഭാഷകളിൽ ചിലത് ഉൾപ്പെടുന്നു:

  • സി, ഏറ്റവും പഴയതും വേഗതയേറിയതും സാർ‌വ്വത്രികവും ശക്തവുമായ ഭാഷകളിലൊന്ന്, ചില വഴികളിൽ‌ ലളിതവും എന്നാൽ മറ്റുള്ളവയിൽ‌ പരിമിതവുമാണ്, മാത്രമല്ല അവബോധജന്യമോ വായിക്കാൻ‌ എളുപ്പമോ അല്ലെങ്കിൽ‌ പഠിക്കാൻ‌ എളുപ്പമോ അല്ല.

  • സി ++, സി യുടെ കൂടുതൽ സങ്കീർണ്ണവും അമൂർത്തവും ശക്തവുമായ പരിണാമം.

  • സി #, ബൈനറി മെഷീൻ കോഡിലേക്കല്ല, മറിച്ച് "റൺടൈം" എന്നതിലേക്ക് സമാഹരിച്ച മറ്റൊരു പരിണാമം.

  • സി # ന് സമാനമായ (എന്നാൽ മുൻ‌തൂക്കം) ജാവ, ഇന്നത്തെ ഏറ്റവും വ്യാപകമായി ഉപയോഗിക്കുന്ന ഭാഷയായിരിക്കാം.

  • ജാവാസ്ക്രിപ്റ്റ്, ജാവയിൽ നിന്ന് തികച്ചും സാമ്യമുണ്ടെങ്കിലും 'ഇസിമാസ്ക്രിപ്റ്റ്' എന്നും അറിയപ്പെടുന്നു, തുടക്കത്തിൽ ഒരു വെബ് ബ്ര browser സറിനുള്ളിൽ പൂർണ്ണമായും ഉപയോഗിക്കുന്ന ഒരു ഭാഷയാണ്, അതായത് ഒരു ഇന്റർനെറ്റ് സെർവർ എന്നറിയപ്പെടുന്ന വിദൂര കമ്പ്യൂട്ടറിൽ നിന്ന് ഡാറ്റ ലഭ്യമാക്കുകയും വ്യാഖ്യാനിക്കുകയും പ്രദർശിപ്പിക്കുകയും ചെയ്യുന്ന ഒരു പ്രോഗ്രാം. ; ഇന്ന്, ആ സെർവറുകളിലും ഇത് വ്യാപകമായി ഉപയോഗിക്കുന്നു.

  • കർശനമായ നിയമങ്ങളുള്ള ജാവാസ്ക്രിപ്റ്റിന്റെ ഒരു രൂപമായ ടൈപ്പ്സ്ക്രിപ്റ്റ്, അതിനാൽ ബഗുകൾ എന്നും അറിയപ്പെടുന്ന പിശകുകൾ പ്രോഗ്രാമുകളിലേക്കുള്ള വഴി കണ്ടെത്താനുള്ള സാധ്യത കുറവാണ്.

  • പൈത്തൺ, ശാസ്‌ത്രജ്ഞർക്കിടയിൽ ജനപ്രീതിയാർജ്ജിച്ച, ശക്തമായതും മികച്ചതുമായ ആദ്യത്തെ ഭാഷ.

  • റൂബി, അവബോധജന്യമായ ഭാഷ, അദ്ദേഹത്തിന്റെ പ്രസ്താവനകൾ മിക്കവാറും എഴുതിയ ഇംഗ്ലീഷ് പോലെ വായിക്കാറുണ്ട്.

  • ഗോ, ലളിതവും ശക്തവുമായ ഭാഷ, പ്രത്യേകിച്ചും സമാന്തരമാക്കിയ പ്രോഗ്രാമുകളിൽ മികവ് പുലർത്തുന്നു, അതായത് ഒന്നിലധികം ഫംഗ്ഷനുകൾ ഒരേ സമയം സ്വതന്ത്രമായി പ്രവർത്തിക്കുന്ന രീതിയിൽ എഴുതിയ പ്രോഗ്രാമുകൾ. ഒരു ബില്യൺ ആളുകൾ ഉപയോഗിക്കുന്ന ഫോണുകൾക്കും മറ്റ് ഉപകരണങ്ങൾക്കുമായി എഴുതാൻ ഉപയോഗിക്കുന്ന പുതിയ ഭാഷയായ സ്വിഫ്റ്റ്.

  • സി എന്നതിന് പകരമായി ഉദ്ദേശിച്ചുള്ള തുരുമ്പ്, അപകടകരമായ ബഗുകളെ വളരെ കുറവാണ്.

  • ഇന്റർനെറ്റ് സെർവറുകൾക്കായി ഉപയോഗിക്കുന്ന നേരായ ഭാഷയായ പി‌എച്ച്പി.

  • അടിസ്ഥാനപരമായി വ്യത്യസ്തമായ, പ്രോഗ്രാമിംഗിനോടുള്ള ആദ്യ സമീപനമുള്ള വളരെ പഴയ ഭാഷയായ ലിസ്പ്.

  • ഡാറ്റാബേസുകൾ എന്നറിയപ്പെടുന്ന ഘടനാപരമായതും വളരെ കാര്യക്ഷമവുമായ ഡാറ്റ സ്റ്റോറുകളിൽ നിന്ന് ഡാറ്റ ലഭ്യമാക്കുന്നതിന് ഉപയോഗിക്കുന്ന വളരെ വ്യത്യസ്തമായ ഭാഷയായ എസ്‌ക്യുഎൽ.

  • അസംബ്ലർ (അല്ലെങ്കിൽ അസംബ്ലി), വളരെ നിഗൂ, വും പരിമിതവും എന്നാൽ വേഗതയുള്ളതും ശക്തവുമായ ഭാഷകളുടെ ഒരു കുടുംബം, അതിൽ ഭാഷാ നിർമ്മിതികളും സംശയാസ്‌പദമായ കമ്പ്യൂട്ടറിന്റെ മെഷീൻ കോഡും തമ്മിൽ നേരിട്ടുള്ള ബന്ധമുണ്ട്; ഇത് പകുതി സമാഹരിച്ച കോഡായി കണക്കാക്കാം.

വികസനം, ആശ്രിതത്വം, ഓപ്പൺ സോഴ്‌സ്

വികസനം

ഒരൊറ്റ ലളിതമായ സോഴ്‌സ് കോഡ് ഫയൽ എടുത്ത് കമ്പ്യൂട്ടറിനുള്ളിലെ വൈദ്യുത പ്രേരണകളാക്കി മാറ്റുന്ന പ്രക്രിയ വളരെ സങ്കീർണ്ണമാണ്. അമൂർത്തതയുടെ പാളികൾ ഉപയോഗിച്ച് ഞങ്ങൾ ഈ സങ്കീർണ്ണതയെ കൈകാര്യം ചെയ്യുന്നു. ഇൻസ്ട്രക്ഷൻ സെറ്റ് എന്നറിയപ്പെടുന്ന ഒരു സംഗ്രഹം ഒരൊറ്റ കംപൈലറിൽ നിന്നുള്ള മെഷീൻ കോഡ് ഔട്ട്പുട്ട് പലതരം കമ്പ്യൂട്ടറുകളിൽ ഉപയോഗിക്കാൻ അനുവദിക്കുന്നു. സോഴ്‌സ് കോഡിന്റെ രചയിതാവിന് സാധാരണയായി ആ കോഡ് പ്രവർത്തിപ്പിക്കാൻ ഏത് തരം കമ്പ്യൂട്ടർ അല്ലെങ്കിൽ ഏത് നിർദ്ദേശ സെറ്റ് ഉപയോഗിക്കുമെന്നത് അറിയുകയോ ശ്രദ്ധിക്കുകയോ ചെയ്യേണ്ടതില്ല; ഇത് കംപൈലർ സംഗ്രഹിച്ചിരിക്കുന്നു.

ഒരു കമ്പ്യൂട്ടറിനായി ഒരൊറ്റ പ്രോഗ്രാമിൽ പ്രവർത്തിക്കുന്ന ഒരു രചയിതാവിനേക്കാൾ വളരെ സങ്കീർണ്ണമാണ് ആധുനിക സോഫ്റ്റ്വെയർ. ഒരേ പ്രോജക്റ്റിനുള്ളിൽ ഒരേസമയം ഒന്നിലധികം പ്രോഗ്രാമിംഗ് ഭാഷകൾ ഉപയോഗിക്കുന്ന നിരവധി രചയിതാക്കൾ ഇതിൽ ഉൾപ്പെടുന്നു. കൂടാതെ, ഓരോ പ്രോജക്ടും മറ്റ്, പ്രത്യേക, സ്വയം ഉൾക്കൊള്ളുന്ന പ്രോജക്റ്റുകളെ ഉപകരണങ്ങളായി കൂടാതെ / അല്ലെങ്കിൽ ഘടകങ്ങളായി ആശ്രയിച്ചിരിക്കുന്നു, അതേസമയം ഈ പ്രോജക്റ്റുകൾ സ്വയം സജീവമായി പ്രവർത്തിക്കുന്നു, മാത്രമല്ല മറ്റ് പ്രോജക്റ്റുകളെ ആശ്രയിച്ചിരിക്കുന്നു. ഈ ചലിക്കുന്ന ഭാഗങ്ങളെല്ലാം മനോഹരവും കാര്യക്ഷമവുമായി ഒന്നിച്ച് പ്രവർത്തിക്കുന്നത് ആധുനിക സോഫ്റ്റ്വെയർ വികസനത്തിന്റെ വെല്ലുവിളിയാണ്.

സോഫ്റ്റ്വെയർ ഡെവലപ്പർമാർ എന്നറിയപ്പെടുന്ന ഒന്നിലധികം സോഴ്‌സ് കോഡ് രചയിതാക്കൾ ഒരൊറ്റ പ്രോജക്റ്റിൽ പ്രവർത്തിക്കുമ്പോൾ, ഓരോരുത്തർക്കും അവരവരുടെ കമ്പ്യൂട്ടറും അവരുടെ കമ്പ്യൂട്ടറിലെ മുഴുവൻ പ്രോജക്റ്റിന്റെയും പകർപ്പും ഉണ്ട്. അവ ഓരോന്നും മാറ്റങ്ങൾ വരുത്തുകയാണെങ്കിൽ, ഓരോന്നിനും ഒരേ പ്രോജക്റ്റിന്റെ വ്യത്യസ്ത പതിപ്പുണ്ട്. ഒരു പ്രോജക്റ്റിന്റെ ഒന്നിലധികം പതിപ്പുകൾ സമന്വയിപ്പിക്കുന്ന പ്രക്രിയയെ പതിപ്പ് നിയന്ത്രണം എന്ന് വിളിക്കുന്നു. ഇത് നിയന്ത്രിക്കുന്നത് പതിപ്പ് നിയന്ത്രണ സോഫ്റ്റ്വെയറാണ്; ഈ ആർക്കൈവിൽ, Git എന്ന് വിളിക്കുന്ന സോഫ്റ്റ്വെയർ ഉപയോഗിച്ച് GitHub എന്ന പേര് നൽകി. ഈ ആർക്കൈവിലെ ഓരോ സംഭരണിയും ഒരു ജിറ്റ് ശേഖരണമാണ്.

കുറഞ്ഞ മാനുഷിക ഇടപെടൽ ആവശ്യമുള്ള സോഫ്റ്റ്‌വെയറിന്റെ വിവിധ പതിപ്പുകൾ ഒരു ഏകീകൃത രൂപത്തിലേക്ക് യാന്ത്രികമായി ലയിപ്പിക്കാൻ ജിറ്റിന് കഴിയും. ആവശ്യമുള്ളപ്പോൾ മുമ്പത്തെ പതിപ്പിലേക്ക് തിരികെ പോകാൻ നിങ്ങളെ അനുവദിക്കുന്ന ഒരു സമ്പൂർണ്ണ ചരിത്രവും Git സൂക്ഷിക്കുന്നു. എന്നിരുന്നാലും, സ്ഥലം ലാഭിക്കുന്നതിന്, ഈ ആർക്കൈവിന്റെ സംഭരണികളിൽ സാധാരണയായി Git ചരിത്രങ്ങൾ ഉൾപ്പെടുന്നില്ല.

ഒന്നിലധികം ഡവലപ്പർമാർ ഒരേസമയം ഒന്നിലധികം വ്യത്യസ്ത പാതകളിൽ ഒരു പ്രോജക്റ്റ് എടുക്കുമ്പോൾ, ഇതിനെ ഒരു പ്രോജക്റ്റ് ബ്രാഞ്ചിംഗ് എന്നും ആ പാതകളെ ബ്രാഞ്ചുകൾ എന്നും വിളിക്കുന്നു. ഒരു പ്രോജക്റ്റിന്റെ സമ്മതിച്ച പ്രധാന ശാഖയെ ട്രങ്ക് അല്ലെങ്കിൽ മാസ്റ്റർ ബ്രാഞ്ച് എന്ന് വിളിക്കുന്നു. രണ്ട് ശാഖകൾ തമ്മിലുള്ള വ്യത്യാസങ്ങൾ സംഗ്രഹിക്കാനും മറ്റൊന്നിലേക്ക് ചേരാൻ നിർദ്ദേശിക്കാനും ഡവലപ്പർമാർക്ക് ഉപയോഗിക്കാൻ കഴിയുന്ന ഒരു സൗകര്യം ജിറ്റ് നൽകുന്നു. ഇത് ഒരു പുൾ അഭ്യർത്ഥന എന്നറിയപ്പെടുന്നു. ആധുനിക സോഫ്റ്റ്‌വെയർ വികസനത്തിൽ പ്രധാനമായും ഒരു പ്രോജക്റ്റ് ബ്രാഞ്ച് ചെയ്യുക, നിങ്ങളുടെ ബ്രാഞ്ചിൽ സോഫ്റ്റ്വെയർ എഴുതുക അല്ലെങ്കിൽ എഡിറ്റുചെയ്യുക, പൂർത്തിയാകുമ്പോൾ, നിങ്ങളുടെ ജോലി മാസ്റ്റർ ബ്രാഞ്ചിലേക്ക് വീണ്ടും സംയോജിപ്പിക്കാൻ ഒരു പുൾ അഭ്യർത്ഥന സമർപ്പിക്കുക എന്നിവയാണ്.

ആശ്രിതത്വം

അടിസ്ഥാനപരമായി എല്ലാ പ്രോഗ്രാമിംഗ് ഭാഷയും മറ്റുള്ളവരുടെ പ്രവർത്തനത്തെ പിന്തുണയ്ക്കുന്നു. മറ്റുള്ളവരുടെ ജോലി വീണ്ടും ഉപയോഗിക്കാതെ, ഓരോ പ്രോജക്ടും വളരെയധികം ബുദ്ധിമുട്ടുള്ളതും വളരെ മന്ദഗതിയിലുള്ളതുമായിരിക്കും, കൂടാതെ അപ്രത്യക്ഷമാകുന്ന ഏതാനും പ്രോജക്റ്റുകൾ യഥാർത്ഥ ലോകത്ത് യഥാർത്ഥ ഉപയോഗം കാണും.

എ യുടെ പ്രവർ‌ത്തനം നടത്തുന്നതിന് പ്രോജക്റ്റ് എ പ്രോജക്റ്റ് ബി ഉൾപ്പെടുത്തേണ്ടതുണ്ടെങ്കിൽ‌, എയെ പ്രോജക്റ്റ് ബി യെ ആശ്രയിച്ചിരിക്കുന്നു എന്നും ബി പ്രോജക്റ്റ് എ യുടെ ആശ്രിതത്വം എന്നും അറിയപ്പെടുന്നു. അവരുടേതായ ആശ്രയത്വവും മറ്റും. കൂടാതെ, ഓരോ ആശ്രിതത്വവും ഒരു നിർദ്ദിഷ്ട പ്രോജക്റ്റിന്റെ ഒരു പ്രത്യേക പതിപ്പിനോ അല്ലെങ്കിൽ പതിപ്പുകളുടെ ശ്രേണിക്കോ ഉള്ളതാണ്. ഒരു പ്രോജക്റ്റിന്റെ ഒന്നിലധികം ലെയറുകളുടെ ഡിപൻഡൻസികളുടെ പൂർണ്ണമായ ഇനവൽക്കരണത്തെ അതിന്റെ ഡിപൻഡൻസി ട്രീ എന്നറിയപ്പെടുന്നു.

സാധാരണയായി, സോഴ്സ് കോഡ് ഫയലുകൾക്കുള്ളിൽ ഡിപൻഡൻസികൾ തരംതിരിക്കപ്പെടുന്നു, സാധാരണയായി ഏറ്റവും മുകളിലായിരിക്കും, ഓരോ തവണയും കംപൈലർ അല്ലെങ്കിൽ ഇന്റർപ്രെറ്റർ ഒരു ഡിപൻഡൻസി കണ്ടെത്തുമ്പോൾ, അത് മുൻകൂട്ടി നിശ്ചയിച്ച ഡയറക്ടറികളിൽ തിരയുന്നു. ഒരു പ്രോജക്റ്റിനായുള്ള ഡിപൻഡൻസി ട്രീ വളരെ സങ്കീർണ്ണമായതിനാൽ, ഒരു പാക്കേജ് ലിസ്റ്റ് എന്നറിയപ്പെടുന്ന ഒരു പ്രോജക്റ്റിനുള്ളിലെ ഒറ്റ ഫയലിൽ ചിലപ്പോൾ ഇത് പൂർണ്ണമായും ഇനം തിരിച്ചിരിക്കുന്നു. ഉദാഹരണത്തിന്, റൂബി പ്രോജക്റ്റുകൾക്ക് ഈ ആവശ്യത്തിനായി ഒരു ജെംഫൈൽ ഉണ്ടായിരിക്കാം, കൂടാതെ JavaScript പ്രോജക്റ്റുകൾക്ക് ഒരു package.json ഫയൽ ഉണ്ടായിരിക്കാം. ഒന്നോ അതിലധികമോ ഇന്റർനെറ്റ് സെർവറുകളിൽ നിന്ന് ഒരു പ്രോജക്റ്റിനായുള്ള എല്ലാ ഡിപൻഡൻസികളും ഒരേസമയം ലഭ്യമാക്കാൻ പാക്കേജ് മാനേജുമെന്റ് സോഫ്റ്റ്വെയർ എന്നറിയപ്പെടുന്ന ഒരുതരം ഉപകരണത്തെ ഇത് അനുവദിക്കുന്നു.

ഈ ആർക്കൈവിന്റെ കാര്യത്തിൽ, ഏതെങ്കിലും പ്രോജക്റ്റിനായുള്ള ഡിപൻഡൻസികൾ ആർക്കൈവിൽ മറ്റെവിടെയെങ്കിലും നിലനിൽക്കാൻ സാധ്യതയുണ്ട്. ആർക്കൈവിൽ ഒരു ഡിപൻഡൻസി കണ്ടെത്തുന്നതിന്, ആദ്യം ഉറവിട കോഡിലെയോ പാക്കേജ് ലിസ്റ്റിലെയോ ആശ്രിതത്വത്തിന്റെ പേര് കണ്ടെത്തണം, അവയുടെ കൃത്യമായ വിശദാംശങ്ങൾ ഭാഷയും ചട്ടക്കൂടും അനുസരിച്ച് വ്യത്യാസപ്പെടുന്നു, തുടർന്ന് ഗൈഡ് റീലിലെ മാസ്റ്റർ സൂചിക ഉപയോഗിക്കുക, അല്ലെങ്കിൽ, അതിന്റെ അഭാവത്തിൽ, ഓരോ റീലിന്റെയും മുൻവശത്തുള്ള സൂചികകൾ, ഏത് റീലും ഫ്രെയിമും (കളിൽ) സംശയാസ്‌പദമായ ശേഖരം കണ്ടെത്താനാകുമെന്ന് നിർണ്ണയിക്കുന്നു.

ഓപ്പൺ സോഴ്‌സ്

ഒരു കമ്പ്യൂട്ടറിൽ ഒരു പ്രോഗ്രാം പ്രവർത്തിപ്പിക്കുന്നതിന് കംപൈൽ ചെയ്ത മെഷീൻ കോഡ് മാത്രമേ ആവശ്യമുള്ളൂ എന്നതിനാൽ, സോഴ്‌സ് കോഡ് രഹസ്യമായി സൂക്ഷിക്കുമ്പോൾ അത് വിതരണം ചെയ്യാൻ കഴിയും. ഇത് അടച്ച ഉറവിട മോഡൽ എന്നറിയപ്പെടുന്നു. കമ്പ്യൂട്ടിംഗിന്റെ ആദ്യ ദിവസങ്ങളിൽ, സോഴ്‌സ് കോഡ് സാധാരണയായി അതിന്റെ മെഷീൻ കോഡിനൊപ്പം വിതരണം ചെയ്യപ്പെട്ടിരുന്നു, എന്നാൽ പിന്നീട്, സോഫ്റ്റ്വെയർ ഒരു ലാഭകരമായ വ്യവസായമായി മാറിയതിനാൽ, അടച്ച ഉറവിട മോഡൽ കൂടുതൽ സാധാരണമായി.

സോഫ്റ്റ്‌വെയർ വികസനത്തിന് കൂടുതൽ ഫലപ്രദമായ സമീപനമാണ് ആർക്കും പകർത്താനും ബ്രാഞ്ച് ചെയ്യാനും മെച്ചപ്പെടുത്താനും സോഴ്‌സ് കോഡ് പൊതുവാക്കുന്നത് എന്ന് അറിഞ്ഞു. ഒരു പ്രോജക്റ്റിന്റെ സോഴ്‌സ് കോഡ് വായിക്കാൻ കഴിയുന്ന കൂടുതൽ ആളുകൾ അർത്ഥമാക്കുന്നത് സാധ്യമായ ആവശ്യങ്ങളും ഉപയോഗപ്രദമായ പുതിയ സവിശേഷതകളും തിരിച്ചറിയാൻ കൂടുതൽ ആളുകൾ, പ്രോജക്റ്റ് സംഭാവന ചെയ്യാൻ പര്യാപ്തമായ കൂടുതൽ ആളുകൾ, ബഗുകൾ കണ്ടെത്തി പരിഹാരങ്ങൾ സമർപ്പിക്കുന്ന കൂടുതൽ ആളുകൾ, കൂടാതെ പരിശോധിക്കാനും പരിശോധിക്കാനും കൂടുതൽ ആളുകൾ പുതിയ കോഡ് പ്രവർത്തിക്കുന്നു.

പൊതുവേ, അടച്ച ഉറവിടം പുതിയതും മികച്ചതുമായ ആശയങ്ങൾ കണ്ടെത്താനും സ്വീകരിക്കാനും പാടുപെടുന്ന ചെറുതും ഇൻസുലാർ ആയതും വിഘടിച്ചതുമായ കമ്മ്യൂണിറ്റികളിലേക്ക് നയിക്കുന്നു. ഓപ്പൺ സോഴ്‌സ് വലിയതും പരസ്പരബന്ധിതവുമായ കമ്മ്യൂണിറ്റികളിലേക്ക് നയിക്കുന്നു, ഓരോരുത്തരും പരസ്പരം പ്രോജക്റ്റുകൾ വളരാനും വളരാനും വിജയിക്കാനും സഹായിക്കുന്നു, പരസ്പരം ജോലി ആശ്രയത്വമായി ഉപയോഗിക്കുന്നു കൂടാതെ / അല്ലെങ്കിൽ അവരുടെ കോഡ് വീണ്ടും ഉപയോഗിക്കുന്നു, പരസ്പരം പഠിക്കുന്നു. എല്ലാ മനുഷ്യരാശിയുടെയും കൂട്ടായ ഉപയോഗത്തിനുള്ള ഒരു ടൂൾകിറ്റാണ് ഓപ്പൺ സോഴ്‌സ് സോഫ്റ്റ്‌വെയർ, കൂടുതൽ കൂടുതൽ മികച്ച ഉപകരണങ്ങൾ ഞങ്ങളുടെ പക്കലുണ്ട്.