Freely available programming books
View the Project on GitHub EbookFoundation/free-programming-books
സംഭാവന ചെയ്യുന്നതിലൂടെ, നിങ്ങൾ ഈ റിപ്പോസിറ്ററിയുടെ ലൈസൻസ് അംഗീകരിക്കുന്നു.
സംഭാവന ചെയ്യുന്നതിലൂടെ, നിങ്ങൾ ഈ റിപ്പോസിറ്ററിയുടെ പെരുമാറ്റച്ചട്ടം പാലിക്കാൻ സമ്മതിക്കുന്നു. (വിവർത്തനങ്ങൾ)
“ഒരു പുസ്തകം എളുപ്പത്തിൽ ഡൗൺലോഡ് ചെയ്യാനുള്ള ലിങ്ക്” എന്നത് എല്ലായ്പ്പോഴും ഒരു സൗജന്യ പുസ്തകത്തിലേക്കുള്ള ലിങ്ക് ആകണമെന്നില്ല. ദയവായി സൗജന്യമായ ഉള്ളടക്കം മാത്രം സംഭാവന ചെയ്യുക. അത് സൗജന്യമാണെന്ന് ഉറപ്പാക്കുക. പുസ്തകങ്ങൾ ലഭിക്കുന്നതിന് ഇമെയിൽ വിലാസം നിർബന്ധമായും നൽകേണ്ട പേജുകളിലേക്കുള്ള ലിങ്കുകൾ ഞങ്ങൾ സ്വീകരിക്കുന്നതല്ല, എന്നാൽ ഇമെയിൽ വിലാസം അഭ്യർത്ഥിക്കുന്ന ലിങ്കുകൾ സ്വീകരിക്കുന്നതാണ്.
നിങ്ങൾ Git അറിഞ്ഞിരിക്കണമെന്നില്ല: ഈ റിപ്പോസിറ്ററിയിൽ ഇതിനകം ഇല്ലാത്ത താൽപ്പര്യമുള്ള എന്തെങ്കിലും നിങ്ങൾ കണ്ടെത്തുകയാണെങ്കിൽ, നിങ്ങളുടെ ലിങ്ക് നിർദ്ദേശങ്ങളുമായി ഒരു ഇഷ്യൂ (Issue) തുറക്കുക.
ഞങ്ങൾക്ക് 6 തരം ലിസ്റ്റുകളുണ്ട്. ശരിയായത് തിരഞ്ഞെടുക്കുക:
താഴെക്കൊടുത്തിരിക്കുന്ന മാർഗ്ഗനിർദ്ദേശങ്ങൾ പാലിക്കുകയും ഫയലുകളുടെ മാർക്ക്ഡൗൺ ഫോർമാറ്റിംഗ് മാനിക്കുകയും ചെയ്യുക.
നിങ്ങളുടെ ലിസ്റ്റുകൾ അക്ഷരമാലാക്രമത്തിലാണെന്നും ഫോർമാറ്റിംഗ് നിയമങ്ങൾ പാലിക്കുന്നുണ്ടെന്നും ഉറപ്പാക്കാൻ GitHub Actions ടെസ്റ്റുകൾ പ്രവർത്തിപ്പിക്കും. നിങ്ങളുടെ മാറ്റങ്ങൾ ടെസ്റ്റുകളിൽ വിജയിക്കുന്നുണ്ടോയെന്ന് ഉറപ്പാക്കുക.
http
ലിങ്കിനേക്കാൾ എല്ലായ്പ്പോഴും ഒരു https
ലിങ്കിന് മുൻഗണന നൽകുക./
) ഒഴിവാക്കുക: http://example.com/
എന്നതിന് പകരം http://example.com
എന്ന് ഉപയോഗിക്കുക.http://example.com/dir/index.html
എന്നതിനേക്കാൾ നല്ലത് http://example.com/dir/
ആണ്.
http://example.com/dir/book/v1.0.0/index.html
എന്നതിനേക്കാൾ നല്ലത് http://example.com/dir/book/current/
ആണ്.http
പതിപ്പ് ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുക (കാരണം മൊബൈൽ ഉപകരണങ്ങളിൽ എക്സെപ്ഷനുകൾ സ്വീകരിക്കുന്നത് സങ്കീർണ്ണമായേക്കാം).http
പതിപ്പ് ലഭ്യമല്ലെങ്കിലും ബ്രൗസറിൽ ഒരു എക്സെപ്ഷൻ ചേർത്തോ മുന്നറിയിപ്പ് അവഗണിച്ചോ https
വഴി ലിങ്ക് ആക്സസ് ചെയ്യാൻ കഴിയുമെങ്കിൽ അത് അതുപോലെ നിലനിർത്തുക.et al.
” ഉപയോഗിച്ച് രചയിതാക്കളുടെ പട്ടിക ചെറുതാക്കാം.in process
” എന്ന കുറിപ്പ് ചേർക്കുക.archived
” എന്ന കുറിപ്പ് ചേർക്കുക. ഉപയോഗിക്കാൻ ഏറ്റവും നല്ലത് പുതിയതും പൂർണ്ണവുമായ പതിപ്പുകളാണ്.(ഇമെയിൽ വിലാസം *അഭ്യർത്ഥിച്ചത്*, ആവശ്യമില്ല)
..md
ഫയലുകളാണ്. മാർക്ക്ഡൗൺ സിന്റാക്സ് പഠിക്കാൻ ശ്രമിക്കുക. ഇത് ലളിതമാണ്!###
), ഉപവിഭാഗങ്ങൾ ലെവൽ 4 ഹെഡിംഗുകളും (####
) ആണ് ഉപയോഗിക്കുന്നത്.ആശയം ഇതാണ്:
2
ശൂന്യമായ വരികൾ.1
ശൂന്യമായ വരി.0
ശൂന്യമായ വരി..md
ഫയലിൻ്റെയും അവസാനം 1
ശൂന്യമായ വരി.ഉദാഹരണം:
[...]
* [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)
]
നും (
നും ഇടയിൽ സ്പെയ്സ് ഇടരുത്:
തെറ്റ്: * [Another Awesome Book] (http://example.com/book.html)
ശരി: * [Another Awesome Book](http://example.com/book.html)
രചയിതാവിനെ ഉൾപ്പെടുത്തുകയാണെങ്കിൽ, -
(ഇരുവശത്തും ഓരോ സ്പെയ്സുള്ള ഒരു ഡാഷ്) ഉപയോഗിക്കുക:
തെറ്റ്: * [Another Awesome Book](http://example.com/book.html)- John Doe
ശരി: * [Another Awesome Book](http://example.com/book.html) - John Doe
ലിങ്കിനും അതിൻ്റെ ഫോർമാറ്റിനും ഇടയിൽ ഒരു സ്പെയ്സ് ഇടുക:
തെറ്റ്: * [A Very Awesome Book](https://example.org/book.pdf)(PDF)
ശരി: * [A Very Awesome Book](https://example.org/book.pdf) (PDF)
രചയിതാവ് ഫോർമാറ്റിന് മുമ്പ് വരണം:
തെറ്റ്: * [A Very Awesome Book](https://example.org/book.pdf)- (PDF) Jane Roe
ശരി: * [A Very Awesome Book](https://example.org/book.pdf) - Jane Roe (PDF)
ഒന്നിലധികം ഫോർമാറ്റുകൾ (ഓരോ റിസോഴ്സിനും ഒരൊറ്റ ലിങ്ക് നൽകാനാണ് ഞങ്ങൾ താൽപ്പര്യപ്പെടുന്നത്. വ്യത്യസ്ത ഫോർമാറ്റുകളിലേക്ക് എളുപ്പത്തിൽ ആക്സസ് ഉള്ള ഒരൊറ്റ ലിങ്ക് ഇല്ലാത്തപ്പോൾ, ഒന്നിലധികം ലിങ്കുകൾക്ക് അർത്ഥമുണ്ടാകാം. എന്നാൽ ഞങ്ങൾ ചേർക്കുന്ന ഓരോ ലിങ്കും പരിപാലന ഭാരം വർദ്ധിപ്പിക്കുന്നു, അതിനാൽ ഞങ്ങൾ അത് ഒഴിവാക്കാൻ ശ്രമിക്കുന്നു.):
തെറ്റ്: * [Another Awesome Book](http://example.com/)- John Doe (HTML)
തെറ്റ്: * [Another Awesome Book](https://downloads.example.org/book.html)- John Doe (download site)
ശരി: * [Another Awesome Book](http://example.com/) - John Doe (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
പഴയ പുസ്തകങ്ങൾക്ക് തലക്കെട്ടിൽ പ്രസിദ്ധീകരണ വർഷം ഉൾപ്പെടുത്തുക:
തെറ്റ്: * [A Very Awesome Book](https://example.org/book.html) - Jane Roe - 1970
ശരി: * [A Very Awesome Book (1970)](https://example.org/book.html) - Jane Roe
<a id=”in_process”></a>പണിപ്പുരയിലുള്ള പുസ്തകങ്ങൾ:
ശരി: * [Will Be An Awesome Book Soon](http://example.com/book2.html) - John Doe (HTML) *( :construction: in process)*
<a id=”archived”></a>ആർക്കൈവ് ചെയ്ത ലിങ്ക്:
ശരി: * [A Way-backed Interesting Book](https://web.archive.org/web/20211016123456/http://example.com/) - John Doe (HTML) *( :card_file_box: archived)*
<a id=”license”></a>സൗജന്യ ലൈസൻസുകൾ (വായിക്കാൻ സൗജന്യമായതും എന്നാൽ “എല്ലാ അവകാശങ്ങളും നിക്ഷിപ്തവുമാണ്” എന്ന വിഭാഗത്തിൽ വരുന്നതുമായ റിസോഴ്സുകൾ ഞങ്ങൾ ഉൾപ്പെടുത്തുന്നുണ്ടെങ്കിലും, ക്രിയേറ്റീവ് കോമൺസ് പോലുള്ള സൗജന്യ ലൈസൻസുകളുടെ ഉപയോഗത്തെ ഞങ്ങൾ പ്രോത്സാഹിപ്പിക്കുന്നു):
ശരി: * [A Very Awesome Book](https://example.org/book.pdf) - Jane Roe (PDF) (CC BY-SA)
പിന്തുണയ്ക്കുന്ന ലൈസൻസുകൾ (പതിപ്പ് നമ്പർ ഇല്ലാതെ):
CC BY
‘ക്രിയേറ്റീവ് കോമൺസ് ആട്രിബ്യൂഷൻ’CC BY-NC
‘ക്രിയേറ്റീവ് കോമൺസ് നോൺ-കൊമേർഷ്യൽ’CC BY-SA
‘ക്രിയേറ്റീവ് കോമൺസ് ഷെയർ-എലൈക്ക്’CC BY-NC-SA
‘ക്രിയേറ്റീവ് കോമൺസ് നോൺ-കൊമേർഷ്യൽ, ഷെയർ-എലൈക്ക്’CC BY-ND
‘ക്രിയേറ്റീവ് കോമൺസ് നോ-ഡെറിവേറ്റീവ്സ്’CC BY-NC-ND
‘ക്രിയേറ്റീവ് കോമൺസ് നോൺ-കൊമേർഷ്യൽ, നോ-ഡെറിവേറ്റീവ്സ്’GFDL
‘ഗ്നു ഫ്രീ ഡോക്യുമെന്റേഷൻ ലൈസൻസ്’ഒരു റിസോഴ്സ് സൗജന്യ/ഓപ്പൺ ലൈസൻസിന് കീഴിൽ വിതരണം ചെയ്യുമ്പോൾ, ഫോർമാറ്റ് കുറിപ്പിന് ശേഷം ബ്രാക്കറ്റിൽ ഒരു ചെറിയ ലൈസൻസ് കുറിപ്പ് ചേർക്കുക. ഈ ഘട്ടങ്ങൾ പാലിക്കുക:
CC BY
; “CC BY-SA 3.0” → CC BY-SA
; “GNU Free Documentation License” → GFDL
.ab
-ക്ക് മുമ്പ് aa
വരുന്നു.onetwo
-ക്ക് മുമ്പ് one two
വരുന്നു.ഒരു ലിങ്ക് തെറ്റായ സ്ഥാനത്ത് കണ്ടാല്, ഏത് വരികളാണ് പരസ്പരം മാറ്റേണ്ടതെന്ന് അറിയാൻ ലിൻറ്റർ പിശക് സന്ദേശം പരിശോധിക്കുക.
അടിസ്ഥാനകാര്യങ്ങൾ താരതമ്യേന ലളിതമാണെങ്കിലും, ഞങ്ങൾ ലിസ്റ്റ് ചെയ്യുന്ന റിസോഴ്സുകളിൽ വലിയ വൈവിധ്യമുണ്ട്. ഈ വൈവിധ്യത്തെ ഞങ്ങൾ എങ്ങനെ കൈകാര്യം ചെയ്യുന്നു എന്നതിനെക്കുറിച്ചുള്ള ചില കുറിപ്പുകൾ ഇതാ.
ഞങ്ങളുടെ ലിസ്റ്റുകൾ ഒരു മിനിമം മെറ്റാഡാറ്റ നൽകുന്നു: തലക്കെട്ടുകൾ, URL-കൾ, രചയിതാക്കൾ, പ്ലാറ്റ്ഫോമുകൾ, ആക്സസ് കുറിപ്പുകൾ.
http
) URL-കളേക്കാൾ എല്ലായ്പ്പോഴും സുരക്ഷിതമായ (https
) URL-കൾക്ക് മുൻഗണന നൽകുന്നു.പരിഭാഷകർ ഉൾപ്പെടെ, സൗജന്യ റിസോഴ്സുകളുടെ രചയിതാക്കൾക്ക് ക്രെഡിറ്റ് നൽകാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു!
വിവർത്തനം ചെയ്ത കൃതികൾക്ക് യഥാർത്ഥ രചയിതാവിന് ക്രെഡിറ്റ് നൽകണം. രചയിതാക്കൾക്ക് പുറമെയുള്ളവരെ ക്രെഡിറ്റ് ചെയ്യാൻ MARC റിലേറ്ററുകൾ ഉപയോഗിക്കാൻ ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു, ഈ ഉദാഹരണത്തിലെന്നപോലെ:
* [A Translated Book](http://example.com/book.html) - John Doe, `trl.:` Mike The Translator
ഇവിടെ, trl.:
എന്ന വ്യാഖ്യാനം “പരിഭാഷകൻ” (translator) എന്നതിനായുള്ള MARC റിലേറ്റർ കോഡ് ഉപയോഗിക്കുന്നു.
രചയിതാക്കളുടെ പട്ടികയിലെ ഓരോ ഇനത്തെയും വേർതിരിക്കാൻ കോമ (,
) ഉപയോഗിക്കുക.
“et al.
” ഉപയോഗിച്ച് രചയിതാക്കളുടെ പട്ടിക ചെറുതാക്കാം.
രചയിതാക്കൾക്ക് ലിങ്കുകൾ ഞങ്ങൾ അനുവദിക്കുന്നില്ല.
സമാഹാരങ്ങൾക്കോ റീമിക്സ് ചെയ്ത കൃതികൾക്കോ, “രചയിതാവിന്” ഒരു വിവരണം ആവശ്യമായി വന്നേക്കാം. ഉദാഹരണത്തിന്, “GoalKicker” അല്ലെങ്കിൽ “RIP Tutorial” പുസ്തകങ്ങൾക്ക് “Compiled from StackOverflow documentation
” എന്ന് ക്രെഡിറ്റ് നൽകുന്നു.
“പ്രൊഫ.” അല്ലെങ്കിൽ “ഡോ.” പോലുള്ള ബഹുമതികൾ രചയിതാക്കളുടെ പേരുകളിൽ ഞങ്ങൾ ഉൾപ്പെടുത്തുന്നില്ല.
*(Leanpub അക്കൗണ്ട് അല്ലെങ്കിൽ സാധുവായ ഇമെയിൽ ആവശ്യപ്പെട്ടേക്കാം)*
എന്ന ആക്സസ് കുറിപ്പോടെ രണ്ടാമത്തേത് ലിസ്റ്റ് ചെയ്യാൻ ഞങ്ങൾ അനുവദിക്കുന്നു.ഒരു റിസോഴ്സ് ഏത് ലിസ്റ്റിൽ പെടുന്നു എന്ന് തീരുമാനിക്കുന്നതിനുള്ള ആദ്യ നിയമം, ആ റിസോഴ്സ് സ്വയം എങ്ങനെ വിവരിക്കുന്നു എന്ന് നോക്കുക എന്നതാണ്. അത് സ്വയം ഒരു പുസ്തകം എന്ന് വിളിക്കുന്നുവെങ്കിൽ, ഒരുപക്ഷേ അതൊരു പുസ്തകമായിരിക്കും.
ഇന്റർനെറ്റ് വിശാലമായതിനാൽ, ഞങ്ങളുടെ ലിസ്റ്റുകളിൽ ഞങ്ങൾ ഇവ ഉൾപ്പെടുത്തുന്നില്ല:
ഞങ്ങളുടെ കോമ്പറ്റീറ്റീവ് പ്രോഗ്രാമിംഗ് ലിസ്റ്റുകൾ ഈ ഒഴിവാക്കലുകളെക്കുറിച്ച് അത്ര കർശനമല്ല. റിപ്പോസിറ്ററിയുടെ വ്യാപ്തി കമ്മ്യൂണിറ്റിയാണ് നിർണ്ണയിക്കുന്നത്; വ്യാപ്തിയിൽ മാറ്റമോ കൂട്ടിച്ചേർക്കലോ നിർദ്ദേശിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, ദയവായി നിർദ്ദേശം നൽകാൻ ഒരു ഇഷ്യൂ ഉപയോഗിക്കുക.
പുസ്തകത്തിന്റെ കാര്യത്തിൽ ഞങ്ങൾ അത്ര കർശനക്കാരല്ല. ഒരു റിസോഴ്സ് ഒരു പുസ്തകമാണെന്ന് സൂചിപ്പിക്കുന്ന ചില ഗുണവിശേഷങ്ങൾ ഇതാ:
ഈ ഗുണവിശേഷങ്ങൾ ഇല്ലാത്ത ധാരാളം പുസ്തകങ്ങൾ ഞങ്ങൾ ലിസ്റ്റ് ചെയ്യുന്നുണ്ട്; അത് സാഹചര്യത്തെ ആശ്രയിച്ചിരിക്കും.
ചിലപ്പോൾ ഇവയെ വേർതിരിച്ചറിയാൻ പ്രയാസമാണ്!
കോഴ്സുകൾക്ക് പലപ്പോഴും അനുബന്ധ പാഠപുസ്തകങ്ങൾ ഉണ്ടാകും, അവ ഞങ്ങൾ ഞങ്ങളുടെ പുസ്തക ലിസ്റ്റുകളിൽ ഉൾപ്പെടുത്തും. കോഴ്സുകൾക്ക് പ്രഭാഷണങ്ങൾ, വ്യായാമങ്ങൾ, ടെസ്റ്റുകൾ, കുറിപ്പുകൾ അല്ലെങ്കിൽ മറ്റ് ഉപദേശപരമായ സഹായങ്ങൾ എന്നിവയുണ്ട്. ഒരൊറ്റ പ്രഭാഷണമോ വീഡിയോയോ ഒരു കോഴ്സല്ല. ഒരു പവർപോയിന്റ് ഒരു കോഴ്സല്ല.
അത് പ്രിന്റ് ചെയ്തെടുത്തിട്ടും അതിന്റെ സത്ത നിലനിർത്താൻ കഴിയുമെങ്കിൽ, അതൊരു ഇന്ററാക്ടീവ് ട്യൂട്ടോറിയൽ അല്ല.
ഫോർമാറ്റിംഗ് നിയമങ്ങൾ നടപ്പിലാക്കുന്നത് GitHub Actions വഴി fpb-lint ഉപയോഗിച്ച് ഓട്ടോമേറ്റ് ചെയ്തിരിക്കുന്നു (കാണുക .github/workflows/fpb-lint.yml
)
URL മൂല്യനിർണ്ണയത്തിന് awesome_bot ഉപയോഗിക്കുന്നു
URL മൂല്യനിർണ്ണയം ട്രിഗർ ചെയ്യുന്നതിന്, check_urls=file_to_check
എന്ന് അടങ്ങുന്ന ഒരു കമ്മീറ്റ് സന്ദേശമുള്ള ഒരു കമ്മീറ്റ് പുഷ് ചെയ്യുക:
check_urls=free-programming-books.md free-programming-books-ml.md
ഓരോ എൻട്രിയും വേർതിരിക്കാൻ ഒരൊറ്റ സ്പെയ്സ് ഉപയോഗിച്ച്, പരിശോധിക്കാൻ ഒന്നിലധികം ഫയലുകൾ നിങ്ങൾക്ക് വ്യക്തമാക്കാം.
നിങ്ങൾ ഒന്നിലധികം ഫയലുകൾ വ്യക്തമാക്കുകയാണെങ്കിൽ, ബിൽഡിന്റെ ഫലങ്ങൾ അവസാനമായി പരിശോധിച്ച ഫയലിന്റെ ഫലത്തെ അടിസ്ഥാനമാക്കിയുള്ളതായിരിക്കും. ഇത് കാരണം നിങ്ങൾക്ക് പാസാകുന്ന പച്ച ബിൽഡുകൾ ലഭിച്ചേക്കാം എന്നതിനെക്കുറിച്ച് നിങ്ങൾ ബോധവാനായിരിക്കണം, അതിനാൽ പുൾ റിക്വസ്റ്റിന്റെ അവസാനം “Show all checks” -> “Details” ക്ലിക്ക് ചെയ്ത് ബിൽഡ് ലോഗ് പരിശോധിക്കുന്നത് ഉറപ്പാക്കുക.
നിങ്ങൾ 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‏](URL) - John Doe‏ (PDF)
</div>
തെറ്റ്
<div dir="rtl" markdown="1">
* [Tech Podcast - بودكاست المثال](URL) – Ahmad Hasan, محمد علي
</div>
ശരി
<div dir="rtl" markdown="1">
* [Tech Podcast - بودكاست المثال](URL) – Ahmad Hasan,‏ محمد علي
</div>
തെറ്റ്
<div dir="rtl" markdown="1">
* [أساسيات C#](URL)
</div>
ശരി
<div dir="rtl" markdown="1">
* [أساسيات C#‎](URL)
</div>