free-programming-books

:books: Freely available programming books

View the Project on GitHub EbookFoundation/free-programming-books

ഇത് മറ്റ് ഭാഷകളിൽ വായിക്കുക

സംഭാവന നൽകുന്നതിനുള്ള ലൈസൻസ് ഉടമ്പടി

സംഭാവന ചെയ്യുന്നതിലൂടെ, നിങ്ങൾ ഈ റിപ്പോസിറ്ററിയുടെ ലൈസൻസ് അംഗീകരിക്കുന്നു.

സംഭാവന നൽകുന്നവർക്കുള്ള പെരുമാറ്റച്ചട്ടം

സംഭാവന ചെയ്യുന്നതിലൂടെ, നിങ്ങൾ ഈ റിപ്പോസിറ്ററിയുടെ പെരുമാറ്റച്ചട്ടം പാലിക്കാൻ സമ്മതിക്കുന്നു. (വിവർത്തനങ്ങൾ)

ചുരുക്കത്തിൽ

  1. “ഒരു പുസ്തകം എളുപ്പത്തിൽ ഡൗൺലോഡ് ചെയ്യാനുള്ള ലിങ്ക്” എന്നത് എല്ലായ്പ്പോഴും ഒരു സൗജന്യ പുസ്തകത്തിലേക്കുള്ള ലിങ്ക് ആകണമെന്നില്ല. ദയവായി സൗജന്യമായ ഉള്ളടക്കം മാത്രം സംഭാവന ചെയ്യുക. അത് സൗജന്യമാണെന്ന് ഉറപ്പാക്കുക. പുസ്തകങ്ങൾ ലഭിക്കുന്നതിന് ഇമെയിൽ വിലാസം നിർബന്ധമായും നൽകേണ്ട പേജുകളിലേക്കുള്ള ലിങ്കുകൾ ഞങ്ങൾ സ്വീകരിക്കുന്നതല്ല, എന്നാൽ ഇമെയിൽ വിലാസം അഭ്യർത്ഥിക്കുന്ന ലിങ്കുകൾ സ്വീകരിക്കുന്നതാണ്.

  2. നിങ്ങൾ Git അറിഞ്ഞിരിക്കണമെന്നില്ല: ഈ റിപ്പോസിറ്ററിയിൽ ഇതിനകം ഇല്ലാത്ത താൽപ്പര്യമുള്ള എന്തെങ്കിലും നിങ്ങൾ കണ്ടെത്തുകയാണെങ്കിൽ, നിങ്ങളുടെ ലിങ്ക് നിർദ്ദേശങ്ങളുമായി ഒരു ഇഷ്യൂ (Issue) തുറക്കുക.

    • നിങ്ങൾക്ക് Git അറിയാമെങ്കിൽ, ദയവായി ഈ റിപ്പോസിറ്ററി ഫോർക്ക് (Fork) ചെയ്ത് പുൾ റിക്വസ്റ്റുകൾ (PR) അയക്കുക.
  3. ഞങ്ങൾക്ക് 6 തരം ലിസ്റ്റുകളുണ്ട്. ശരിയായത് തിരഞ്ഞെടുക്കുക:

    • പുസ്തകങ്ങൾ : PDF, HTML, ePub, a gitbook.io അടിസ്ഥാനമാക്കിയുള്ള സൈറ്റ്, ഒരു Git റിപ്പോസിറ്ററി, മുതലായവ.
    • കോഴ്‌സുകൾ : ഒരു കോഴ്‌സ് എന്നത് പുസ്തകമല്ലാത്ത ഒരു പഠന സാമഗ്രിയാണ്. ഇതൊരു കോഴ്‌സാണ്.
    • ഇന്ററാക്ടീവ് ട്യൂട്ടോറിയലുകൾ : ഉപയോക്താവിന് കോഡോ കമാൻഡുകളോ ടൈപ്പ് ചെയ്യാനും ഫലം വിലയിരുത്താനും അനുവദിക്കുന്ന ഒരു ഇന്ററാക്ടീവ് വെബ്സൈറ്റ് (“വിലയിരുത്തുക” എന്നതുകൊണ്ട് ഞങ്ങൾ “ഗ്രേഡ് ചെയ്യുക” എന്ന് അർത്ഥമാക്കുന്നില്ല). ഉദാഹരണത്തിന്: Try Haskell, Try Git.
    • പ്ലേഗ്രൗണ്ടുകൾ : പ്രോഗ്രാമിംഗ് പഠിക്കുന്നതിനുള്ള ഓൺലൈനും ഇന്ററാക്ടീവുമായ വെബ്സൈറ്റുകൾ, ഗെയിമുകൾ അല്ലെങ്കിൽ ഡെസ്ക്ടോപ്പ് സോഫ്റ്റ്‌വെയറുകൾ. കോഡ് സ്നിപ്പെറ്റുകൾ എഴുതുക, കംപൈൽ ചെയ്യുക (അല്ലെങ്കിൽ പ്രവർത്തിപ്പിക്കുക), പങ്കിടുക. പ്ലേഗ്രൗണ്ടുകൾ പലപ്പോഴും കോഡുമായി കളിക്കാനും പരിശീലിക്കാനും നിങ്ങളെ അനുവദിക്കുന്നു.
    • പോഡ്‌കാസ്റ്റുകളും സ്ക്രീൻകാസ്റ്റുകളും : പോഡ്‌കാസ്റ്റുകളും സ്ക്രീൻകാസ്റ്റുകളും.
    • പ്രോബ്ലം സെറ്റുകളും കോമ്പറ്റീറ്റീവ് പ്രോഗ്രാമിംഗും : ലളിതമോ സങ്കീർണ്ണമോ ആയ പ്രശ്നങ്ങൾ പരിഹരിച്ച്, കോഡ് റിവ്യൂവോടെയോ അല്ലാതെയോ, മറ്റ് ഉപയോക്താക്കളുമായി ഫലങ്ങൾ താരതമ്യം ചെയ്തുകൊണ്ടോ അല്ലാതെയോ നിങ്ങളുടെ പ്രോഗ്രാമിംഗ് കഴിവുകൾ വിലയിരുത്താൻ നിങ്ങളെ അനുവദിക്കുന്ന ഒരു വെബ്സൈറ്റ് അല്ലെങ്കിൽ സോഫ്റ്റ്‌വെയർ.
  4. താഴെക്കൊടുത്തിരിക്കുന്ന മാർഗ്ഗനിർദ്ദേശങ്ങൾ പാലിക്കുകയും ഫയലുകളുടെ മാർക്ക്ഡൗൺ ഫോർമാറ്റിംഗ് മാനിക്കുകയും ചെയ്യുക.

  5. നിങ്ങളുടെ ലിസ്റ്റുകൾ അക്ഷരമാലാക്രമത്തിലാണെന്നും ഫോർമാറ്റിംഗ് നിയമങ്ങൾ പാലിക്കുന്നുണ്ടെന്നും ഉറപ്പാക്കാൻ GitHub Actions ടെസ്റ്റുകൾ പ്രവർത്തിപ്പിക്കും. നിങ്ങളുടെ മാറ്റങ്ങൾ ടെസ്റ്റുകളിൽ വിജയിക്കുന്നുണ്ടോയെന്ന് ഉറപ്പാക്കുക.


മാർഗ്ഗനിർദ്ദേശങ്ങൾ


ഫോർമാറ്റിംഗ്

ആശയം ഇതാണ്:

ഉദാഹരണം:

[...]
* [An Awesome Book](http://example.com/example.html)
                               (ഒഴിവ് വരി)
                               (ഒഴിവ് വരി)
### Example
                               (ഒഴിവ് വരി)
* [Another Awesome Book](http://example.com/book.html)
* [Some Other Book](http://example.com/other.html)

ഒരു ലൈസൻസ് കുറിപ്പ് ചേർക്കുന്നു (ഘട്ടം ഘട്ടമായി)

ഒരു റിസോഴ്സ് സൗജന്യ/ഓപ്പൺ ലൈസൻസിന് കീഴിൽ വിതരണം ചെയ്യുമ്പോൾ, ഫോർമാറ്റ് കുറിപ്പിന് ശേഷം ബ്രാക്കറ്റിൽ ഒരു ചെറിയ ലൈസൻസ് കുറിപ്പ് ചേർക്കുക. ഈ ഘട്ടങ്ങൾ പാലിക്കുക:

  1. റിസോഴ്സ് പേജിൽ ലൈസൻസ് സ്ഥിരീകരിക്കുക.
    • സൈറ്റിന്റെ അടിക്കുറിപ്പ്, “ഞങ്ങളെപ്പറ്റി” (About) പേജ്, അല്ലെങ്കിൽ ഒരു LICENSE/Legal വിഭാഗം എന്നിവ നോക്കുക.
    • സൗജന്യ/ഓപ്പൺ ഉള്ളടക്ക ലൈസൻസുകൾക്ക് മാത്രം ലൈസൻസ് കുറിപ്പുകൾ ചേർക്കുക (മുകളിലുള്ള പിന്തുണയ്ക്കുന്ന ലിസ്റ്റ് കാണുക). “എല്ലാ അവകാശങ്ങളും നിക്ഷിപ്‌തം” (All Rights Reserved) പോലുള്ള കുറിപ്പുകൾ ചേർക്കരുത്.
  2. ലൈസൻസ് സ്ട്രിംഗ്, പതിപ്പ് നമ്പർ ഇല്ലാതെ പിന്തുണയ്ക്കുന്ന ഷോർട്ട് കോഡുകളിലൊന്നിലേക്ക് മാറ്റുക.
    • ഉദാഹരണങ്ങൾ: “Creative Commons Attribution 4.0” → CC BY; “CC BY-SA 3.0” → CC BY-SA; “GNU Free Documentation License” → GFDL.
  3. ലൈസൻസ് ഫോർമാറ്റി(കൾ)ന് ശേഷവും മറ്റേതെങ്കിലും കുറിപ്പുകൾക്ക് മുമ്പും സ്ഥാപിക്കുക.
    • ഒരൊറ്റ ഫോർമാറ്റ്: ```markdown
    • ഒന്നിലധികം ഫോർമാറ്റുകൾ: ```markdown
    • ഒരു അധിക കുറിപ്പോടൊപ്പം (ഉദാ., ആർക്കൈവ് ചെയ്തത് അല്ലെങ്കിൽ പണിപ്പുരയിലുള്ളത്): ```markdown
  4. വ്യത്യസ്ത എഡിഷനുകൾക്കോ ഫോർമാറ്റുകൾക്കോ വ്യത്യസ്ത ലൈസൻസുകളുണ്ടെങ്കിൽ, അവയെ പ്രത്യേക ഇനങ്ങളായി ലിസ്റ്റ് ചെയ്യുകയും ഓരോ എൻട്രിയിലും ശരിയായ ലൈസൻസ് രേഖപ്പെടുത്തുകയും ചെയ്യുക.
  5. നിങ്ങൾക്ക് ഉറപ്പില്ലെങ്കിൽ, എന്തുകൊണ്ടാണ് റിസോഴ്സ് ഒരു സൗജന്യ ലൈസൻസിന് കീഴിലാണെന്ന് നിങ്ങൾ വിശ്വസിക്കുന്നതെന്നും എവിടെ നിന്നാണ് നിങ്ങൾക്ക് വിവരം ലഭിച്ചതെന്നും വിശദീകരിച്ച് നിങ്ങളുടെ PR-ൽ ഒരു കമന്റ് ചേർക്കുക.

അക്ഷരമാലാക്രമം

ഒരു ലിങ്ക് തെറ്റായ സ്ഥാനത്ത് കണ്ടാല്‍, ഏത് വരികളാണ് പരസ്പരം മാറ്റേണ്ടതെന്ന് അറിയാൻ ലിൻറ്റർ പിശക് സന്ദേശം പരിശോധിക്കുക.


കുറിപ്പുകൾ

അടിസ്ഥാനകാര്യങ്ങൾ താരതമ്യേന ലളിതമാണെങ്കിലും, ഞങ്ങൾ ലിസ്റ്റ് ചെയ്യുന്ന റിസോഴ്‌സുകളിൽ വലിയ വൈവിധ്യമുണ്ട്. ഈ വൈവിധ്യത്തെ ഞങ്ങൾ എങ്ങനെ കൈകാര്യം ചെയ്യുന്നു എന്നതിനെക്കുറിച്ചുള്ള ചില കുറിപ്പുകൾ ഇതാ.

മെറ്റാഡാറ്റ

ഞങ്ങളുടെ ലിസ്റ്റുകൾ ഒരു മിനിമം മെറ്റാഡാറ്റ നൽകുന്നു: തലക്കെട്ടുകൾ, URL-കൾ, രചയിതാക്കൾ, പ്ലാറ്റ്‌ഫോമുകൾ, ആക്‌സസ് കുറിപ്പുകൾ.

തലക്കെട്ടുകൾ
URL-കൾ
രചയിതാക്കൾ
സമയബന്ധിതമായ കോഴ്‌സുകളും ട്രയലുകളും
പ്ലാറ്റ്‌ഫോമുകളും ആക്‌സസ് കുറിപ്പുകളും

വിഭാഗങ്ങൾ

ഒരു റിസോഴ്സ് ഏത് ലിസ്റ്റിൽ പെടുന്നു എന്ന് തീരുമാനിക്കുന്നതിനുള്ള ആദ്യ നിയമം, ആ റിസോഴ്സ് സ്വയം എങ്ങനെ വിവരിക്കുന്നു എന്ന് നോക്കുക എന്നതാണ്. അത് സ്വയം ഒരു പുസ്തകം എന്ന് വിളിക്കുന്നുവെങ്കിൽ, ഒരുപക്ഷേ അതൊരു പുസ്തകമായിരിക്കും.

ഞങ്ങൾ ലിസ്റ്റ് ചെയ്യാത്ത വിഭാഗങ്ങൾ

ഇന്റർനെറ്റ് വിശാലമായതിനാൽ, ഞങ്ങളുടെ ലിസ്റ്റുകളിൽ ഞങ്ങൾ ഇവ ഉൾപ്പെടുത്തുന്നില്ല:

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

പുസ്തകങ്ങളും മറ്റുള്ളവയും

പുസ്തകത്തിന്റെ കാര്യത്തിൽ ഞങ്ങൾ അത്ര കർശനക്കാരല്ല. ഒരു റിസോഴ്സ് ഒരു പുസ്തകമാണെന്ന് സൂചിപ്പിക്കുന്ന ചില ഗുണവിശേഷങ്ങൾ ഇതാ:

ഈ ഗുണവിശേഷങ്ങൾ ഇല്ലാത്ത ധാരാളം പുസ്തകങ്ങൾ ഞങ്ങൾ ലിസ്റ്റ് ചെയ്യുന്നുണ്ട്; അത് സാഹചര്യത്തെ ആശ്രയിച്ചിരിക്കും.

പുസ്തകങ്ങളും കോഴ്‌സുകളും

ചിലപ്പോൾ ഇവയെ വേർതിരിച്ചറിയാൻ പ്രയാസമാണ്!

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

ഇന്ററാക്ടീവ് ട്യൂട്ടോറിയലുകളും മറ്റുള്ളവയും

അത് പ്രിന്റ് ചെയ്‌തെടുത്തിട്ടും അതിന്റെ സത്ത നിലനിർത്താൻ കഴിയുമെങ്കിൽ, അതൊരു ഇന്ററാക്ടീവ് ട്യൂട്ടോറിയൽ അല്ല.


ഓട്ടോമേഷൻ


RTL/LTR ലിൻറ്റർ പിശകുകൾ തിരുത്തുന്നു

നിങ്ങൾ RTL/LTR മാർക്ക്ഡൗൺ ലിൻറ്റർ (*-ar.md, *-he.md, *-fa.md, *-ur.md ഫയലുകളിൽ) പ്രവർത്തിപ്പിക്കുകയും പിശകുകളോ മുന്നറിയിപ്പുകളോ കാണുകയാണെങ്കിൽ:

ഉദാഹരണങ്ങൾ

തെറ്റ്

<div dir="rtl" markdown="1">
* [كتاب الأمثلة في R](URL) - John Doe (PDF)
</div>

ശരി

<div dir="rtl" markdown="1">
* [كتاب الأمثلة في R&rlm;](URL) - John Doe&rlm; (PDF)
</div>

തെറ്റ്

<div dir="rtl" markdown="1">
* [Tech Podcast - بودكاست المثال](URL) – Ahmad Hasan, محمد علي
</div>

ശരി

<div dir="rtl" markdown="1">
* [Tech Podcast - بودكاست المثال](URL) – Ahmad Hasan,&rlm; محمد علي
</div>

തെറ്റ്

<div dir="rtl" markdown="1">
* [أساسيات C#](URL)
</div>

ശരി

<div dir="rtl" markdown="1">
* [أساسيات C#&lrm;](URL)
</div>