102 Commits

Author SHA1 Message Date
0c0eb7b719 Uploaded some italian books and fixed a link (#6827)
* Linter errors fixed

* Expand authoring and complete archived notes following guidelines

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
2022-04-15 09:59:13 -04:00
6a4db2b978 docs(contributing): Add playground definition (#6822)
* Added playground definition

Added a small definition about programming/coding playgrounds for making it understandable to beginners

* Define what is a playground

Via / completes:
- What's a programming playground? #6107
- Added playground definition #6817
- Sentence added under playground #6819

Thanks @Suman373 for the initial idea.

Co-authored-by: Suman Roy <95040233+Suman373@users.noreply.github.com>

* reword playground definition as suggested

Co-authored-by: Eric Hellman <eric@hellman.net>

Co-authored-by: Suman Roy <95040233+Suman373@users.noreply.github.com>
Co-authored-by: Eric Hellman <eric@hellman.net>
2022-04-12 12:27:59 -04:00
e81fb8c1a2 Remove linha de playlist inexistente. (#6823)
Apagada a linha da sessão da linguagem Go que lavaria a uma playlist do canal Caffeine Algorithm. A playlist não existe mais.
2022-04-11 09:44:01 -04:00
15bd6369a6 Sentence added under Playground (#6819)
* Sentence added under Playground

Added a small sentence which would be more appropriate than the previous pr with a big definition

* Update README.md

Syntax error corrected

Co-authored-by: CleanMachine1 <78213164+CleanMachine1@users.noreply.github.com>

* Update README.md

Within your browser added

Co-authored-by: CleanMachine1 <78213164+CleanMachine1@users.noreply.github.com>

Co-authored-by: CleanMachine1 <78213164+CleanMachine1@users.noreply.github.com>
2022-04-11 09:35:01 -04:00
1c016ad461 chore(deps): bump actions/upload-artifact from 2 to 3 (#6821)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-11 09:32:25 -04:00
b6bf3f252c complete UNAM resources metadata (#6818) 2022-04-05 21:45:38 -04:00
7e963588a3 Updated the Resources Alphabetically (#6816) 2022-04-05 21:44:18 -04:00
5264f4aa8c Add 'An overview of the Odin programming language and its features.' (#6813)
* Add 'The Odin language overwiew'

* Fix title

* Fix title

* Add missing backslash
2022-04-03 16:33:35 -04:00
e6bb1c2faf chore: Standardize TutorialsPoint resources (#6799)
* Standardize TutorialsPoint links: urls, metadata...

* There is no PDF for this guide

Co-authored-by: ImVector <59611597+LuigiImVector@users.noreply.github.com>

* move Tutorials Point's tutorials from courses to its category

Co-authored-by: ImVector <59611597+LuigiImVector@users.noreply.github.com>
2022-04-02 14:26:49 -04:00
fd0a38f440 Standardize Flavio Copes' resources (#6811) 2022-04-01 11:19:40 -04:00
56243b4f0a chore: Improve metadata about Flutter in Action by Eric Windmill (#6810)
* use top most parent url

* fix: missing title-author delimiter

* add resource format metadata

* add Maning requirements about online reading
2022-03-31 19:49:36 -04:00
fe63aaa335 chore: homogenize Curso em Vídeo - Gustavo Guanabara resources (#6809)
* Curso em video. complete with instructor `Gustavo Guanabara` and use current info as platform

* Add `Curso em Vídeo` instructor: `Gustavo Guanabara`
2022-03-31 10:12:10 -04:00
b1b437918f eXcript. complete metadata with instructor and use current as platform (#6808)
Via #5762 backlog with PR started at #6576
2022-03-31 10:10:58 -04:00
7e891f6338 Add an AWS free complete course in Arabic (#6752)
* Adding a free complete course in Arabic

this course is totally free, detailed up to 55 hours

* Section headings have 3th level markup

* Remove extra space in list markup

* Remove extra spaces between title and link markdown markup

* Add instructor / course platform

* Alphabetize to solve linter faults

* Alphabetize to solve linter faults

* Alphabetize to solve linter faults

* Alphabetize to solve linter faults

* Alphabetize to solve linter faults

* Alphabetize to solve linter faults

* Alphabetize to solve linter faults

* Alphabetize to solve linter faults

* Add course instructor seen at first video and delegate current metadata as platform

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
2022-03-31 10:09:15 -04:00
653fe87681 Add "Desenvolvimento de Aplicações Web em Java e Outras Tecnologias" to pt_BR books (#6802)
* Update free-programming-books-pt_BR.md

Insertion of the first edition of my book about basic web development using Java.

* Update free-programming-books-pt_BR.md

Update using contributing guidelines.
2022-03-31 09:51:57 -04:00
a2e994d25f Add 'Learn you some Erlang for great good!' translation (#6800)
* Add 'Learn you some Erlang for great good!' (books-ja section)

* Consistent author name attribution

* Add publication format annotation
2022-03-28 13:11:50 -04:00
e5f42084f6 Adding French book Maitriser Bitcoin (#6798)
* C / C++ section misplaced

* Added French book Maitriser Bitcoin
2022-03-25 20:23:15 -04:00
2aa46b2ae7 Add Japanese course and book (Scratch, C++) (#6795)
* add: book of Scratch

"Scratch for CS First でプログラミングをはじめよう"

* add: book of C++

"C++入門 AtCoder Programming Guide for beginners (APG4b)"

* fix: spacing typo

* add: "free-courses-ja.md" and Scratch course

* add: link to the Japanese course in README.md

* fix: alphabetical order
2022-03-22 08:58:07 -04:00
7dcedf3bec chore: standardize Programming with Mosh instructor (#6790)
* Standardize `Programming with Mosh` instructor

* Standardize `Programming with Mosh` instructor
2022-03-19 13:42:19 -04:00
6992c23d1b fix crosslinks format adding a blank line after (#6789) 2022-03-19 13:36:40 -04:00
96ae20d536 Add instructor name of Silicium playlists (#6788) 2022-03-19 13:34:35 -04:00
220a421dfa chore: Normalize Learn With Sumit attribution (#6787)
* Add instructor name of `Learn With Sumit` playlists

* Add instructor name of `Learn With Sumit` playlists
2022-03-19 13:32:31 -04:00
b933ebbb6d Adding a free basic programming tutorial website address (#6784)
* Adding a free basic programming tutorial website address

* add instructor and fix resource format

* add instructor and fix resource format

* add instructor and fix resource format

* add instructors

* Alphabetize to solve linter faults

* Alphabetize to solve linter faults

* Alphabetize to solve linter faults

* Alphabetize to solve linter faults

* Alphabetize to solve linter faults

* Alphabetize to solve linter faults

* Alphabetize to solve linter faults

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
2022-03-18 12:57:02 -04:00
ff2c8bfdbf Add JSP (Java server pages) and servlet basics (#6786)
new course added
2022-03-18 12:55:47 -04:00
de3a3203e6 Update entries for Beej's Guides (#6781)
* Update file formats available for Beej's Guide to Network Programming (books-by-language section)

* Add Beej's Guide to Network Programming (books-by-subject section)

* Add Beej's Guide to Network Programming (books-dk section)

* Add Beej's Guide to Network Programming (books-hu section)

* Add Beej's Guide to Network Programming (books-ro section)

* Add Beej's Guide to Network Programming (books-sr section)

* lint fixup: correction for number of blank lines between section and following heading

* lint fixup: alphabetical ordering correction

* Code review feedback: add missing table-of-contents entries

* Code review feedback: add missing archived annotations

* Code review feedback: add README locale entry for 'sr'

* Fixup: add missing file format annotation

* Fixup: add missing author entry

* Code review feedback: update author name attribution

* Code review feedback: add translation credits

* Fixup: consistency: update a few more author name entries

* Code review feedback: remove 'translated by' prefix before translator name

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>

* Nitpick: remove redundant 'www' subdomain prefix from destination URL

* Code review feedback: remove entry from existing location under 'C' language (guideline: one entry per book per human-language; 'Networking' is approved as the better location)

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
2022-03-17 21:52:29 -04:00
7e44a31f1a Normalize CodeWithHarry credits (#6785) 2022-03-17 11:25:53 -04:00
7d79980bf6 Update free-courses-en.md (#6778)
* Update free-courses-en.md

Angular 5 course added

* Add Introduction to Assembly with ARM

course added

* Alphabetize to solve linter faults and fix Udemy typo

* fix instructor name typo

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
2022-03-16 15:46:32 -04:00
b5821e15f2 config: update .editorconfig parameters according to current format of files (#6696)
* config: addopt current file formatting as yml & markdown parametrization

Cherry picked from EbookFoundation/free-programming-books#5564: e9f7dff3be

* add config properties for JSON files

* extend config to all markdown file extensions

* sort global properties

* add mapping for python files

* add windows batch files mapping

* sort mapping entries

* add makefile mapping properties

* add file description / summary

* add poweshell mappings

* Comment each section

* disable linebreaks on supported editors

* Apply some suggestions

* clean deadcode

- simplify properties already defined in global section
- remove not used future patterns
2022-03-16 15:45:02 -04:00
5a331c73c3 Add Quantum Computing (#6767)
* Add Quantum Computing

* fixes alphabetical order

* Update books/free-programming-books-subjects.md

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>

* Update books/free-programming-books-subjects.md

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>

* Use book landing page instead of PDF direct download link

Co-authored-by: Eric Hellman <eric@hellman.net>

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
Co-authored-by: Eric Hellman <eric@hellman.net>
2022-03-16 13:12:57 -04:00
c1cbb36167 Add AdventJS. A spanish javascript problemset website by midudev (#6772)
* Add AdventJS problemset website by midudev

* Add access notes
2022-03-14 20:50:36 -04:00
161647c45b fix: archive past KDD cups and update main resource link to current year (#6770)
* archive past KDD cups and update link main resource to current year

* Remove KDD Cup
2022-03-14 20:47:29 -04:00
3fdb16fd9d feat(docs): Add repo stats badges (#6697)
* add `forks count` badges

* Add `stargazers counter` badge

* Add `repo size` badge

pointing to main branch download

* add `sponsors count` badge

- link points to sponsorized profile page
- render version is placed at new line.

* Add `open issues counter` badges

- With social balloon style
- link points to its filter: open & "help wanted"
- in a new line

* Add pull request count badges

- by filter: open, merged, "help wanted"
- using social balloon style
- linked with its own query filter
- in a new line

* Add watchers count badge

* Add website status badge

- link points to the github.io version of the repo

* Add `contributions count` badge

* Use nonbreak spaces to separate badges

* Add `contribution covenant 1.3` badge

* Shorten longer `"Help Wanted" Pull Request` badge text

* Add `good first issues` count badge

- It links to related issue search query

* format clean cluttered

- flat style for all badges
- fix some target urls (CoC, contribs)
- organize url parameters
- capitalize labels
- move contrib/sponsors nest to forks/stars...
- group by paragraph instead of br

* format: less gap flow

* change logo for website badge to `www`

a PR submit into @badges/shields project is pending to be rendered

* Update repo stats counters + fix typos

Co-authored-by: CleanMachine1 <78213164+CleanMachine1@users.noreply.github.com>

* transfer each badge to its section. now seems less dense

* Fix markdownlint issues

- MD041/first-line-heading/first-line-h1: First line in a file should be a top-level heading
- MD009/no-trailing-spaces: Trailing spaces [Expected: 0 or 4; Actual: 2]

* move website status badge near to its paragraph

* transfer CoC badge near to its paragraph/link

* reword website badge

* Reword issues/PRs badge preface

Co-authored-by: CleanMachine1 <78213164+CleanMachine1@users.noreply.github.com>
2022-03-14 20:47:01 -04:00
8fe3263634 Add aprende python (#6761)
Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
2022-03-14 18:03:09 +01:00
107a1f3bbf Adicionado curso de python (#6777)
* Adicionado curso de python

* Correction, alphabetical order and accent
2022-03-14 11:24:40 -04:00
2a3b586eb7 Added MIT CS and DS courses (#6776)
* Added MIT CS and DS courses

* Update courses/free-courses-en.md

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>

* Update courses/free-courses-en.md

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>

* Update courses/free-courses-en.md

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
2022-03-14 11:23:18 -04:00
5f1c416070 add the next.js handbook translated by abdelhadi (#6774)
* add the next.js handbook translated by abdelhadi

* Update books/free-programming-books-ar.md

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>

* Update free-programming-books-ar.md

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
2022-03-14 11:20:52 -04:00
af489c758d Fix url of Google CodeJam practice to their new archive website (#6769) 2022-03-14 11:10:40 -04:00
497ab673b0 Add Misc Book (#6773)
Adding the Encyclopedia of Human Computer Interaction
I don't know what's the category exactly so i put on Misc Category
2022-03-14 11:09:42 -04:00
bbec064b0f Add linux book (#6768)
* Add Arduino books

* Update books/free-programming-books-pt_BR.md

Co-authored-by: ImVector <59611597+LuigiImVector@users.noreply.github.com>

* Remove Eletrogate books and add a new one

* Change book's author.

* Removing link of the book

* Removing journal and edit the link

* Add a new book about Linux

* Update books/free-programming-books-pt_BR.md

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>

Co-authored-by: ImVector <59611597+LuigiImVector@users.noreply.github.com>
Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
2022-03-14 11:02:18 -04:00
d8711a584a add some courses (#6762)
* add some courses

added Go-lang, Codeigniter, Vue, React courses

* Nusedra: alphabetize, add instructor and use titles as is

* Solve Platform typos and use titles as it is

* Use titles as it is, so alphabetize again

* Author typo and use titles as it is

* Add authoring attribution and use titles as it is

* Alphabetize to solve linter faults

* Alphabetize to solve linter faults

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
2022-03-14 10:51:37 -04:00
e11c80f284 fix: Update Java mattone (a different version). (#6771)
Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
2022-03-13 13:20:58 +01:00
8be09c7d71 add new arabic course (#6766)
Co-authored-by: ImVector <59611597+LuigiImVector@users.noreply.github.com>
Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
2022-03-12 12:34:11 +01:00
0364cd800f Add Arduino books in pt-BR (#6749)
* Add Arduino books

* Update books/free-programming-books-pt_BR.md

Co-authored-by: ImVector <59611597+LuigiImVector@users.noreply.github.com>

* Remove Eletrogate books and add a new one

* Change book's author.

* Removing link of the book

* Removing journal and edit the link

Co-authored-by: ImVector <59611597+LuigiImVector@users.noreply.github.com>
2022-03-09 08:21:45 -05:00
f215422cc1 Add some missing Finnish coding podcasts (#6760)
* Add some missing Finnish coding podcasts

* Some small modifications based on contributing guidelines

* Put podcast list into alphabetical order

* Fix 'no-url-trailing-slash' error
2022-03-08 17:35:59 -05:00
7a7904cc9d chore(deps): bump actions/setup-node from 2 to 3 (#6754) 2022-03-07 22:36:30 +00:00
34508771cf chore(deps): bump actions/checkout from 2 to 3 (#6753) 2022-03-07 22:33:24 +00:00
aefe5ecceb Added "Solidity" to the table of contents. (#6751)
* Added Solidity to table of contents

* Added Solidity to the table of contents and moved solidity section from the java section.

* Solidity to heading level 3

Co-authored-by: CleanMachine1 <78213164+CleanMachine1@users.noreply.github.com>

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
Co-authored-by: CleanMachine1 <78213164+CleanMachine1@users.noreply.github.com>
2022-03-07 16:41:15 -05:00
9789fbed69 Add "The React Native Show" screencast (#6748)
* feat(react-native): add "The React Native Show" screencast

* fix(react-native): add hoster and add et al.

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
2022-03-07 10:12:19 -05:00
1cfd2b3a7f ci(deps): configure dependabot for github-actions (#5521)
* chore: configure dependabot for github-actions

Needs add this labels to github repo/org:
- dependencies
- github-actions

* Follow conventional-commits message

Also labels are now more adecuated, based on I can se in other repos

* Update .github/dependabot.yml

Co-authored-by: CleanMachine1 <78213164+CleanMachine1@users.noreply.github.com>

* sync and emojify labels

* Add the arrays of assignees and reviewers

Co-authored-by: CleanMachine1 <78213164+CleanMachine1@users.noreply.github.com>
2022-03-07 10:10:49 -05:00
c0676c6331 add more books from Ei Maung (#6746)
* add more books from Ei Maung

* Update free-programming-books-my.md

* move api book, add file type and download link

- Move 'API - On Point' book from API category to JavaScript category
- add the file type to Ei Maung's Book
- add direct download link

* remove direct download link
2022-03-07 10:08:32 -05:00
83b3e6b68c chore: keeping spelling consistencies same. GitHub and YouTube trademarks (#6739)
* keep spelling same. `GitHub`

* keep spelling same. `YouTube`

* Github's reverts and rewordings

* Github's reverts
2022-03-07 10:04:22 -05:00
a36942a51f Add "The Ultimate Guide to React Native Optimization" book (#6744)
* feat(react-native): add "The Ultimate Guide to React Native Optimization" book

* fix(react-native): access note
2022-03-03 16:13:02 -05:00
d5c5c53b0a Adding sass book(pdf) (#6743)
* Added sass book(pdf)

* Arranging alphabetically

* Rectifying blank lines between last section and next heading

* changing link to be direct to the pdf for dowloading
2022-03-03 14:08:22 -05:00
3442e7d8e2 Add Git Cookbook by Dennis Kaarsemaker (#6732)
* Add `Git Cookbook` by Dennis Kaarsemaker

* linking to `about.html` said the boss to fit as book
2022-02-28 12:07:44 -05:00
179ab0693a Add Italian Spring Framework video course (#6738)
* Add Italian Spring Framework course

* Update courses/free-courses-it.md

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
2022-02-28 11:14:00 -05:00
28ec79103b docs(howto): Homogenize HowTo's format across translated files (#6724)
* Homogenize HowTo's

- Add H1 header
- `Read this` ... right alignmements
- Split a bit first paragraph to highlight welcome.
- Introduce Pull Request acronym.
- trademarks / typos: GitHub, YouTube, Pull Request
- Update GitHub links urls. `help`/`guides` subdomain was moved to `docs` so now a 301 Redirect is skipped.
- Details block added, with center align. When clicked, the contributor graphs is toggled.
- Some bolds to highlight common resources formating issues (like in CONTRIBUTING)
- Repo name in monospace font
- Re-worded last part of 4th paragraph to explain that no new PR is needed to open if there are linter errors or changes are requested. Now it's more clear, I thought.

Via EbookFoundation/free-programming-books#6590

* Rewording to be more meaningful

* Add H1 header + `Read this` ... aligned to right

Via EbookFoundation/free-programming-books#6590

* remove trailing spaces

* Split a bit first paragraph to highlight welcome.

Via EbookFoundation/free-programming-books#6590

* homogenize `1-2` newlines amount between paragraphs

* Update Github documentation links list

- Update GitHub links urls. `help`/`guides` subdomain was moved to `docs` so now a 301 Redirect is skipped.
- Remove flag emojis from link, perhaps use text in notes format to give accesibility locale context

Via EbookFoundation/free-programming-books#6590

* GitHub trademark typos

* YouTube trademark typos

* `Welcome to fpb!` in bold style

* Repo name backticked in monospace font

(non-translatable)

* reword es-en graph summary

* Add a centered details block with graphs about contributions (users vs. time)

Detail blocks are toggleable sections in GitHub

Provided graphs by apiseven:
- Contributor over time Graph
- Monthly Active Contributors graph

* GitHub trademark typos

* Fix pull request typos and introduce it acronym

* Update Github documentation links list

- Update GitHub links urls. `help`/`guides` subdomain was moved to `docs` so now a 301 Redirect is skipped.
- Remove flag emojis from link, perhaps use text in notes format to give accesibility locale context

The forgot rest addressed on 7ee485bb3b commit
Via EbookFoundation/free-programming-books#6590

* Some bolds to highlight common resources formating issues (like in CONTRIBUTING)

* Fix typos suggested by AhmedElTabarani

Co-authored-by: أحمد الطبراني <eltabaraniahmed@gmail.com>

* Add paragrah from #5351. Need language translation

* New strings translated to `it` Italian

Co-authored-by: ImVector <59611597+LuigiImVector@users.noreply.github.com>

* use languages not countries. `in Egyptian Arabic`

* use languages not countries. `in Algerian Arabic`

* remove notes from details block containing graphs about contributions (users vs. time)

* Fix spanish typos

Co-authored-by: Wonjang Son <sondaniel.88@gmail.com>

* Fix korean typos

Co-authored-by: Wonjang Son <sondaniel.88@gmail.com>

* New strings translated to `ar` Arabic

Co-authored-by: أحمد الطبراني <eltabaraniahmed@gmail.com>

* New strings translated to `fr` French

Co-authored-by: Loic Beylot <loic.beylot@gmail.com>

Co-authored-by: أحمد الطبراني <eltabaraniahmed@gmail.com>
Co-authored-by: ImVector <59611597+LuigiImVector@users.noreply.github.com>
Co-authored-by: Wonjang Son <sondaniel.88@gmail.com>
Co-authored-by: Loic Beylot <loic.beylot@gmail.com>
2022-02-28 11:04:55 -05:00
47d53f8c96 Add puzzle game: CSS Speedrun by Vincent Will (#6733) 2022-02-26 16:57:37 -05:00
2590eab577 Add RTL to courses file (#6715)
* Add RTL to courses file

* Escape pipes (markdown table token)

Via #5176

* use raw LRM mark instead its HTML entity

`‎` instead of &lrm;

* remove LTM from .NET

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
2022-02-26 16:53:52 -05:00
33534a59f5 futurecoder in lowercase (#6736) 2022-02-26 16:52:26 -05:00
b8afa62efc Add futurecoder (#6734)
* Add futurecoder

* Trailing slash

* Tweak futurecoder entry

Co-authored-by: ImVector <59611597+LuigiImVector@users.noreply.github.com>

Co-authored-by: ImVector <59611597+LuigiImVector@users.noreply.github.com>
2022-02-26 15:30:28 -05:00
4e451daa50 added Mastering Ethereum in Blockchain category (#6735)
* added Mastering Ethereum in Blockchain category

* Update books/free-programming-books-subjects.md for normalization

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
2022-02-26 15:25:49 -05:00
58a2182652 gordon.edu was back. unarchive and complete formats (#6731) 2022-02-25 11:27:40 -05:00
0e9ad7e994 chore: HTML5 anchors compilant <a name= > <a id= (#6730)
* HTML5 anchors compilant `<a name=>` > `<a id=` for books

* HTML5 anchors compilant `<a name=>` > `<a id=` for courses

* HTML5 anchors compilant `<a name=>` > `<a id=` for contribs

* HTML5 anchors compilant `<a name=>` > `<a id=` for casts

* HTML5 anchors compilant `<a name=>` > `<a id=` for cheats

* HTML5 anchors compilant `<a name=>` > `<a id=` for interactives

* HTML5 anchors compilant `<a name=>` > `<a id=` for playgrounds
2022-02-25 11:23:35 -05:00
47bc198769 docs(contributing): Merge #5816 with #5752 Indonesian translation (#6719)
* Merge #5752 Indonesian CONTRIBUTING translation

Vía EbookFoundation/free-programming-books#6590
Vía EbookFoundation/free-programming-books#5762
Recovered from PR EbookFoundation/free-programming-books#5752 requested by @reskimulud

Co-authored-by: Reski Mulud Muchamad <63949402+reski-mulud-muchamad@users.noreply.github.com>

* Homogenize format & indent of code blocks

- Format using fenced style.
- Well indent in those placed inside list enumerations.
- Simulate `Good` - `Bad` monospace double colon indent inside each one.

- Examples highlighting as `text-plain`. The `md, markdown` style doesn't work very well since blocks has mixed syntax.
- `check_urls` code block highlighted as `properties` style (key-value pair).

Solves markdownlint rules:
- MD040/fenced-code-language: Fenced code blocks should have a language specified
- MD046/code-block-style: Code block style [Expected: indented; Actual: fenced]

* Homogenize `check_urls=file_to_check`

* use "consistent" unordered list mark and ensure 4-spaces indent .editorconfig param

Solves markdownlint rules:
MD004/ul-style: Unordered list style "consistent"

* Move some punctuation just before any closing brackets after it

* Apply headings `2-1` empty lines lint rule

* Move anchor alias to inside list items there where an anchor alias `<a name="...">` is used near to each of those list items

* fix missing anchor aliases

specially ones about Guidelines and Formatting

* Hack highlight IDE/Editors headings+HTML

It apply the hack to highlight in IDE/Editors those headings with an anchor alias just before itself

* Homogenize Pull Request acronym

* YouTube trademark typos

* filenames in monospace font

* literals/markup texts in monospace font
- `et al.`
- File extensions `.md`
- Protocols: `http`, `https`...
- Notes: LeanPub, require email, StackOverflow, in process, archived

trailing dots in that lines

* Fix #6721 in CONTRIBUTING-id.md

Co-authored-by: ImVector <59611597+LuigiImVector@users.noreply.github.com>

* HTML5 anchors compilant `<a name=`>`<a id=`

Co-authored-by: Reski Mulud Muchamad <63949402+reski-mulud-muchamad@users.noreply.github.com>
Co-authored-by: ImVector <59611597+LuigiImVector@users.noreply.github.com>
2022-02-22 09:35:06 -05:00
41e3257567 Add more Vietnamese courses (#6729)
* Add more Vietnamese courses

* Add more Vietnamese courses

* Add more Vietnamese courses

* fix alphabetical ordering
2022-02-21 11:39:31 -05:00
1dc3ea05ab Fix link to Hebrew assembly book (#6726)
Previous link led to the python book
2022-02-21 11:36:11 -05:00
c4b32a082c Add mimacom spain podcast (#6725) 2022-02-21 11:34:59 -05:00
c4d9b4db81 Update workflows version (#6682) 2022-02-15 10:38:57 -05:00
c72c0d50af Escape pipes making wrong render as tables in Kramdown/GFM engines (#6723)
Search using regexp: (?<!\\)\|

Via EbookFoundation/free-programming-books#5176
2022-02-14 11:42:09 -05:00
dceac7cd49 docs(readme): fix h2-h3 heading levels (#6702)
* fix h2-h3 heading levels

* Use a more idiomatic paragraph for resources section

It helps to newcommers take a context about how to the repository is structured

Co-authored-by: CleanMachine1 <78213164+CleanMachine1@users.noreply.github.com>

* Fix a little bit an incorrect tense with the word splited and complete idiomatic paragraph

It helps to newcommers take a context about how to the repository is structured

Co-authored-by: CleanMachine1 <78213164+CleanMachine1@users.noreply.github.com>

* Reword resources paragraph to be more succintely

Co-authored-by: CleanMachine1 <78213164+CleanMachine1@users.noreply.github.com>
2022-02-14 11:35:11 -05:00
92f1e7bc10 fix(docs): Bad target url #6721 (#6722)
* fix(docs): Bad target url #6721

* fix(docs): Bad target url #6721
2022-02-13 15:58:11 -05:00
aac5731817 Add Japanese books (Networking, TypeScript) (#6720)
* Add book of Networking

"プロフェッショナルIPv6 第2版"

* Add book of TypeScript

"サバイバルTypeScript"
2022-02-13 15:52:28 -05:00
652e003f73 Add Easy Rust in Rust section. (#6718)
* Add Easy Rust in Rust section.

* Update books/free-programming-books-langs.md

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
2022-02-13 15:49:42 -05:00
15742aac8a add a course video 'Tutorial Android Dasar' with playlist links (#6716)
* added free courses bahasa Indonesia

add Indonesian free Spring courses

* added free courses bahasa Indonesia(2)

Co-authored-by: ImVector <59611597+LuigiImVector@users.noreply.github.com>

* Update Spring list at courses/free-courses-id.md

* add nodejs course

* Fix link: remove time parameter in link youtube

remove time parameter on courses: nodejs, spring.

* add course 'Tutorial Android Dasar'

add a course video  'Tutorial Android Dasar' with playlist links

* fix: alphabetical order

Co-authored-by: ImVector <59611597+LuigiImVector@users.noreply.github.com>
2022-02-11 12:39:07 -05:00
7a8349abfe feat: Add docs/readme.md + update crosslinks (#6700)
* complete translate list with the new languages appeared since hacktoberfest

* Create docs/README.md with the translations section

using root README.md as source. Links are adapted to this folder

Address EbookFoundation/free-programming-books#6698

* fix remaining url + translation items

- Portuguese (Portugal)
- Slovak / slovenčina
- Slovenian / slovenščina

Address EbookFoundation/free-programming-books#6698

* fix remaining url + translation items

- Portuguese (Portugal)
- Slovak / slovenčina
- Slovenian / slovenščina

Address EbookFoundation/free-programming-books#6698

* Add inclusiveness `dare to translate...` paragraph

* Add inclusiveness `dare to translate...` paragraph

* Move translations link target url to docs

* move translation links `bs`

* move translations link `en`

* move translations crosslink `es`

* move translations crosslink `fr`

* move translations crosslink `de`

* move translations crosslink `el`

* move translations crosslink `fa_IR`

* move translations crosslink `fil`

* move translations crosslink `it`

* move translations crosslink `pt_BR`

* move translations crosslink `ko`

* move translations crosslink `ru`

* move translations crosslink `id`

* move translations crosslink `zh`

* move translations crosslink `hi`

* move translations crosslink `pl`

* move translations crosslink `uk`

* move translations crosslink `vi`

* move translations crosslink remaining `HOW-To's`

* revert feature moved to #6688

* Remove the list from the top level. Leave `en` links

* use `previous languages` in root README

* Add more languages lists in root `readme.md`

* fix typo

* fix typo

* Update docs/README.md after translations paragraph

Less text is more

Co-authored-by: Eric Hellman <eric@hellman.net>

* Update README.md after translations paragraph 

Less text is more

Co-authored-by: Eric Hellman <eric@hellman.net>

* Update README.md preface translations paragraph 

Co-authored-by: Eric Hellman <eric@hellman.net>

* fix CONTRIBUTING target url commited at fd2b39151c

* Update docs/README.md preface translations paragraph 

Co-authored-by: Eric Hellman <eric@hellman.net>

* read me! said the boss ^^,

less text is more.

Co-authored-by: Eric Hellman <eric@hellman.net>

* remove "The inclusiveness is one of our targets, so "

Co-authored-by: Eric Hellman <eric@hellman.net>
2022-02-11 12:27:07 -05:00
7e21b38fc8 Added a resource as a playground - an Educational Visual CPU Simulator (#6712)
* Update free-programming-playgrounds.md

* Update free-programming-playgrounds.md

* Update more/free-programming-playgrounds.md

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>

* Update more/free-programming-playgrounds.md

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>

* Give credits to authors and set resources format

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
2022-02-10 12:03:53 -05:00
82cdf70188 RTL free-programming-books-ar.md file (#6706)
* RTL free-programming-books-ar.md file

* add newline at end of the file

* add RLM & LRM  magic

* change RLM into the name

* change C# into the name
2022-02-10 11:38:34 -05:00
0e1ace2486 add golang open sourch books (#6710)
* add golang open sourch books

* Update books/free-programming-books-bn.md

space

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>

Co-authored-by: Eric Hellman <eric@hellman.net>
Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
2022-02-10 11:33:08 -05:00
a740758326 Add book zh Dive Into Design Patterns (#6711)
* Add book zh Dive Into Design Patterns

* Fix Alphabetical ordering

* Fix Alphabetical ordering again
2022-02-09 15:23:05 -05:00
6a72370bc8 fix: RTL support for Arabian docs (#6701)
* Add RTL to display it correctly on the website

* add close tag
2022-02-09 10:05:44 -05:00
51e48733c2 Add book zh 现代 JavaScript 教程 (#6705)
* Add book zh 现代 JavaScript 教程

* Add instructor
2022-02-09 09:37:52 -05:00
fd2046a579 feat: Add Docker cheatsheets (english & spanish) (#6589)
* feat: Add `Docker` category to cheatsheet

Add Docker containers category to cheatsheet

* feat: Add Denny Zhang's Docker cheatsheet

* feat: Add Aymen EL Amri's Docker cheatsheet

* feat: Add Collabnix's Docker cheatsheet

* feat: Add IntelliPaat's Docker cheatsheet

* feat: Add Anthony Rioux's Docker cheatsheet

FRONTMATTER: https://low-orbit.net/docker-cheat-sheet
PDF: https://low-orbit.net/docker-cheat-sheet.pdf

* feat: Add Nikko Pedersen's Docker CheatSheet

* feat: Add OWASP's Docker Security Cheat Sheet

* feat: Add helmcode's Docker cheatsheet

by Cristian Córdova

* feat: Add DevHints' docker cheatsheet

* Add Vishnu Chilamakuru's Docker cheatsheet

* feat: Add DockerLux's cheatsheets

by Gildas Cuisinier @ Docker Meetup Luxembourg

* fix: alphabetize

* fix: alphabetize

* feat: Add Kapeli's Docker cheatsheets

by Bogdan Popescu

* feat: Add official Docker Cheat Sheet

by the Docker Inc. team

* feat: Add Will Sargent's docker cheatsheet

* fix: Kapeli's Dockerfile cheatsheet url

* feat: Add RedHat Developers' docker cheatsheet

by Bachir Chihani, Rafael Benevides

* feat: Add LeanMind's dockerfiles cheatsheet

by Yodra Lopez

* fix: move `wsargent/docker-cheat-sheet` from books to cheatsheets file

* Merge #6674 upstream/main commit into cheatsheets/docker

* feat: configure gitignores for NodeJS, IDE, sys...

(cherry picked from commit b3f1b8e772)

* mark spanish resources with a emoji flag

* archive redhat developers cheatsheet

404 Not found
2022-02-07 19:54:03 -05:00
6eb2d17081 feat(courses): add golangr.com (#6695)
* courses: add Go course

* fix CI issues

* Update courses/free-courses-en.md

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
2022-02-06 14:47:58 -05:00
c524eddfc4 docs: update statistic counters of the repo (#6694)
* docs: update statistic counters of the repo

+11k new stars
+100 new commits
+15 new contributors
+2k new forks

Period: From 03-Nov-2021 - 05-feb-2022

* fix: use number format seen in other amounts

Co-authored-by: Seth Falco <seth@falco.fun>

Co-authored-by: Seth Falco <seth@falco.fun>
2022-02-05 15:56:50 -05:00
84438cb1df docs(contributing): Homogenize format across translated files (#6625)
* docs(contributing): remove trailing spaces

* docs(contributing): Apply headings `2-1` empty lines lint rule

* docs(contributing): Apply headings `2-1` empty lines lint rule

forgotten in previous commit: e83220aa4c

* docs(contributing): Move anchor alias to inside list items

... there where an anchor alias `<a name="...">` is used near to each of those list items

This solves markdownlint `MD032/blanks-around-lists` issue

* docs(contributing): Homogenize `1` blank line in nutshell enumeration

* docs(contributing): Homogenize `1` blank line inside Formatting section

* docs(contributing): Ensure `4-spaces` indent `.editorconfig` param

* docs(contributing): Homogenize format & indent of code blocks

- Format using fenced style.
- Well indent in those placed inside list enumerations.
- Simulate `Good` - `Bad` monospace double colon indent inside each one.

- Examples highlighting as `text-plain`. The `md, markdown` style doesn't work very well since blocks has mixed syntax.
- `check_urls` code block highlighted as `properties` style (key-value pair).

Solves markdownlint rules:
- MD040/fenced-code-language: Fenced code blocks should have a language specified
- MD046/code-block-style: Code block style [Expected: indented; Actual: fenced]

* docs(contributing): Ensure `4-spaces` indent `.editorconfig` param

Forgotten in commit: 31c776cb52

* docs(contributing): Homogenize format & indent of code blocks

- Simulate `Good` - `Bad` monospace double colon indent inside each one.

Revert commit f9dc719aef only in this file after check non-needs in a deployed web snapshot

* docs(contributing): Use "consistent" unordered list mark

Solves markdownlint rules:
MD004/ul-style: Unordered list style "consistent"

* docs(contributing): Solve `no-space-in-*` lint rules

markdownlint rules:
MD037/no-space-in-emphasis: Spaces inside emphasis
MD038/no-space-in-code: Spaces inside code span elements
MD039/no-space-in-links: Spaces inside link text

* docs(contributing): Move some punctuation just before any closing brackets after it

* docs(contributing): Hack highlight IDE/Editors headings+HTML

It apply the hack to highlight in IDE/Editors those headings with an anchor alias just before itself

* docs(contributing): Homogenize Pull Request acronym

* docs(contributing): Fix `GitHub` trademark typos

* docs(contributing): ALLCAPS

* docs(contributing): Git trademark

* docs(contributing): YouTube trademark

* docs(contributing): ISBN acronym

* fix: flag emoji code `en` > `us`

Resolves d775cb34fb (commitcomment-59537594)

#5831: `:en:` emoji flag markup doesn't work. Use `🇺🇸` 🇺🇸 or `🇬🇧` 🇬🇧

d775cb34fb (diff-b35eb40c148657d4ea1361c44496e11c5625f484a4c6040c022770e88cbcfdccR8-R10)

* docs(contributing): Fix fa_IR broken anchors

* docs(contributing): filenames in monospace font

* docs(contributing): Homogenize `check_urls=file_to_check`

* docs(contributing): literals/markup texts in monospace font

- `et al.`
- File extensions `.md`
- Protocols: `http`, `https`...
- Notes: LeanPub, require email, StackOverflow, in process, archived

trailing dots in that lines

* docs(contributing): linkify wayback machine

* docs(contributing): Fix `Leanpub` trademark typos

* chore: Rename `master` to `main` #blacklivesmatter

Resolves EbookFoundation/free-programming-books#5803

* docs(contributing): fix broken ref link to `programming-playgrounds`

Fix over EbookFoundation/free-programming-books#5449 and commit 3c42c3629e

(cherry picked from commit 59ebfe3f97e318fa43d58877cbc5bfdd8b0c7426)

* docs(contributing): fix repo urls on initial FR translation

- `ElivreFoundation` -> `EbookFoundation`
- `free-programming-livres` ->`free-programming-books`

PR: #5554
Commit: e629db6b05

Affected lines: 
- 18bb745c90 (diff-d6fa57ebb070f7f05f8c686a2fe92110652f48886774460ffee08d4be4cd5f27R4) // e629db6b05 (diff-d6fa57ebb070f7f05f8c686a2fe92110652f48886774460ffee08d4be4cd5f27R4)
- 18bb745c90 (diff-d6fa57ebb070f7f05f8c686a2fe92110652f48886774460ffee08d4be4cd5f27R7) // e629db6b05 (diff-d6fa57ebb070f7f05f8c686a2fe92110652f48886774460ffee08d4be4cd5f27R7)
- 18bb745c90 (diff-d6fa57ebb070f7f05f8c686a2fe92110652f48886774460ffee08d4be4cd5f27R13) // e629db6b05 (diff-d6fa57ebb070f7f05f8c686a2fe92110652f48886774460ffee08d4be4cd5f27R13)
- 18bb745c90 (diff-d6fa57ebb070f7f05f8c686a2fe92110652f48886774460ffee08d4be4cd5f27R45) // e629db6b05 (diff-d6fa57ebb070f7f05f8c686a2fe92110652f48886774460ffee08d4be4cd5f27R45)

* docs(contributing): use relative urls EN

Via #6614

* docs(contributing): greek. place translations link in right place

Via #6614

* Merge EbookFoundation/free-programming-books#6631 upstream/main commit into docs/contributing/sync/1

* Add repo badges (see EbookFoundation/free-programming-books#5983)

(cherry picked from a16a79b12d solving merge conflict)

* Merge EbookFoundation/free-programming-books#6662 upstream/main commit into docs/contributing/sync/1

* Apply centering proposed at #5983 but not implemented in #6631

(cherry picked from commit f36fd03c06)

* format(contributing): Bold 5th nutshell equal zh

* Merge #6677 upstream/main commit into docs/contributing/sync/1

fix(docs): Use Kramdown processor (#6677)
* Update _config.yml
* add markdown="1"
* update url
* complete removing spaces?
* explicitly use kramdown

(cherry picked from commit de2f31976f)
2022-02-02 20:39:27 -05:00
ef5d68b85c add markdown='"1" attribute to div (#6692) 2022-02-01 15:10:21 -05:00
180a96757f fix: Use Markdown instead of HTML markup for H3 & H4 headings (#6689)
* fix: Markdown markup for `C++` heading

* fix: Markdown markup for `Дизайн и Aрхитектура` heading

* fix: Markdown H4 markup for `Next.js` heading

* fix: Markdown H3 markup for `C#` heading
2022-01-31 12:02:06 -05:00
de2f31976f fix(docs): Use Kramdown processor (#6677)
* Update _config.yml

* add markdown=1

* add markdown="1"

* add markdown="1"

* remove extra space?

* update url

* try

* undo, wrong branch

* complete removing spaces?

Initial addressed at commit 83b7ee4112

* explicitly use kramdown

* try undo url change

* redoing url change

specifying `markdown: kramdown` explicitly did not change url parsing behavior

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
2022-01-31 11:58:31 -05:00
4d45119123 docs(books): solved two issues (#6686)
* docs(books): solved two issues

* docs(books): moved resource
2022-01-29 08:32:14 -05:00
1f0edc161e docs(courses): splitted resources from misc (#6687)
* docs(courses): splitted resources from misc

* fix(courses): swapped resource to respect alphabetical ordering
2022-01-28 16:40:38 -05:00
438270ce24 Add book of Machine Learning (#6684)
"機械学習帳"
2022-01-26 22:56:44 -05:00
1ed5113674 Add malayalam courses (#6681) 2022-01-25 10:41:46 -05:00
b3f1b8e772 feat: configure gitignores for NodeJS, IDE, sys... (#6674)
For more infor see vscode addon: https://marketplace.visualstudio.com/items?itemName=codezombiech.gitignore
2022-01-18 13:00:30 -05:00
6ac3f6fbfc Update .Net Url (#6673)
* Update .Net Url

As the previose was 404 not found

* Add crosslink ref to C# section on .Net section

* Update free-courses-en.md

* fix: adopt linter 1-0-2 rule

Thats is, 2 empty lines between headings / sections

Co-authored-by: David Ordás <3125580+davorpa@users.noreply.github.com>
2022-01-17 09:25:32 -05:00
5572dbfe33 Add "ANSI Common Lisp Standard" (#6670)
Co-authored-by: ImVector <59611597+LuigiImVector@users.noreply.github.com>
2022-01-15 19:26:25 +01:00
aa458a6416 updated branch (#6671)
* Update free-courses-en.md

Added free courses with their link for machine learning and data science.

* Update free-courses-en.md

Added free courses for data science and machine learning with correct alphabetical order.

* Update free-courses-en.md

Added free course for machine learning in alphabetical order.

* Update free-courses-en.md

* Update free-courses-en.md
2022-01-13 12:23:57 -05:00
3d3929bc78 Add "Unix System Programming with Standard ML" (#6668) 2022-01-12 21:50:18 -05:00
c859c73d03 Added New Compiler Resource to C++ (#6664)
* Added New Compiler Resource to C++

Updated a C++ online compiler list with a free and easy to to use online resource.

* Updated the link.
2022-01-12 08:43:38 -05:00
1569382d56 add new courses (#6667)
* add new courses

* fix order
2022-01-08 20:06:35 -05:00
3cfb8e42c7 Adding Domain-Driven Design Reference (#6663)
* Adding Domain-Driven Design Reference

* Fixing build for PR

* Replacing tabs with spaces: Fixing build errors

* Fixing build errors

* Updated DDD reference listing according to PR review
2022-01-07 11:12:40 -05:00
Nik
7da6ee833c Commit removes dead link. (#6665) 2022-01-06 15:53:01 -05:00
f36fd03c06 format: center repo badges (#6662)
Apply centering proposed at #5983 but not implemented in #6631
2022-01-03 18:11:41 -05:00
127 changed files with 3427 additions and 1842 deletions

View File

@ -1,13 +1,49 @@
# EditorConfig helps developers define and maintain consistent
# coding styles between different editors and IDEs
# editorconfig.org
; top-most EditorConfig file
root = true
; define basic and global for any file
[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = true
max_line_length = off
trim_trailing_whitespace = true
curly_bracket_next_line = false
spaces_around_operators = true
[*.md]
; DOS/Windows batch scripts -
[*.{bat,cmd}]
end_of_line = crlf
; JavaScript files -
[*.{js,ts}]
curly_bracket_next_line = true
quote_type = single
; JSON files (normal and commented version) -
[*.{json,jsonc}]
indent_size = 2
quote_type = double
; Make - match it own default syntax
[Makefile]
indent_style = tab
; Markdown files - preserve trail spaces that means break line
[*.{md,markdown}]
trim_trailing_whitespace = false
; PowerShell - match defaults for New-ModuleManifest and PSScriptAnalyzer Invoke-Formatter
[*.{ps1,psd1,psm1}]
charset = utf-8-bom
end_of_line = crlf
; YML config files - match it own default syntax
[*.{yaml,yml}]
indent_size = 2

37
.github/dependabot.yml vendored Normal file
View File

@ -0,0 +1,37 @@
# Github Dependabot config file
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
# Workflow files stored in the
# default location of `.github/workflows`
directory: "/"
schedule:
interval: "weekly"
day: "saturday"
time: "12:00"
timezone: "Europe/Paris"
# Specify labels for `gha` pull requests
labels:
- "🔗 dependencies"
- "🔗 dependencies:github-actions"
- "🤖 automation"
commit-message:
# Prefix all commit messages with `chore` (follow conventional-commits)
# include a list of updated dependencies
prefix: "chore"
include: "scope"
# Allow up to N open pull requests (0 to disable)
open-pull-requests-limit: 10
pull-request-branch-name:
# Separate sections of the branch name with a hyphen
# for example, `dependabot/github_actions/actions/checkout-2.3.1`
separator: "/"
# Add the arrays of assignees and reviewers
assignees:
- "EbookFoundation/maintainers"
reviewers:
- "EbookFoundation/reviewers"

View File

@ -8,9 +8,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v1
uses: actions/setup-node@v3
with:
node-version: '16.x'
- run: npm install -g free-programming-books-lint

View File

@ -4,16 +4,16 @@ jobs:
job:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v3
- uses: trilom/file-changes-action@v1.2.4
id: file_changes
with:
output: ''
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.4.1
ruby-version: 2.6
- run: gem install awesome_bot
- run: for i in ${{ steps.file_changes.outputs.files_modified }}; do echo; echo "processing $i"; awesome_bot $i --allow-redirect --allow-dupe --allow-ssl || true; done
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
path: ${{ github.workspace }}/*.json

292
.gitignore vendored Normal file
View File

@ -0,0 +1,292 @@
# #########################################################
# Global/Backup.gitignore
# #####################################
*.bak
*.gho
*.ori
*.orig
*.tmp
# #########################################################
# Global/Diff.gitignore
# #####################################
*.patch
*.diff
# #########################################################
# Global/CVS.gitignore
# #####################################
/CVS/*
**/CVS/*
.cvsignore
*/.cvsignore
# #########################################################
# Global/SVN.gitignore
# #####################################
.svn/
# #########################################################
# Global/TortoiseGit.gitignore
# #####################################
# Project-level settings
/.tgitconfig
# #########################################################
# Global/Linux.gitignore
# #####################################
*~
# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
# #########################################################
# Global/macOS.gitignore
# #####################################
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
# #########################################################
# Global/Windows.gitignore
# #####################################
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
# #########################################################
# Global/VisualStudioCode.gitignore
# #####################################
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace
# Local History for Visual Studio Code
.history/
# #########################################################
# Global/Vim.gitignore
# #####################################
# Swap
[._]*.s[a-v][a-z]
!*.svg # comment out if you don't need vector files
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
# Session
Session.vim
Sessionx.vim
# Temporary
.netrwhist
*~
# Auto-generated tag files
tags
# Persistent undo
[._]*.un~
# #########################################################
# Node.gitignore
# ##################
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# Snowpack dependency directory (https://snowpack.dev/)
web_modules/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
.env.test
.env.production
# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache
# Next.js build output
.next
out
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port
# Stores VSCode versions used for testing VSCode extensions
.vscode-test
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
# #########################################################
# User Custom
# ########

156
README.md
View File

@ -1,23 +1,54 @@
This page is available as an easy-to-read website at [https://ebookfoundation.github.io/](https://ebookfoundation.github.io/free-programming-books/).
# List of Free Learning Resources In Many Languages
[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) [![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/)
<div align="center" markdown="1">
[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)&#160;
[![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/)&#160;
<!-- [![Hacktoberfest 2021 stats](https://img.shields.io/github/hacktoberfest/2021/EbookFoundation/free-programming-books?label=Hacktoberfest+2021)](https://github.com/EbookFoundation/free-programming-books/pulls?q=is%3Apr+is%3Amerged+created%3A2021-10-01..2021-10-31) -->
</div>
This page is available as an easy-to-read website at [![https://ebookfoundation.github.io/free-programming-books/](https://img.shields.io/website?style=flat&logo=www&logoColor=whitesmoke&label=https%3A%2F%2Febookfoundation.github.io&down_color=red&down_message=down&up_color=green&up_message=up&url=https%3A%2F%2Febookfoundation.github.io%2Ffree-programming-books%2F)](https://ebookfoundation.github.io/free-programming-books/)
## Intro
This list was originally a clone of [StackOverflow - List of Freely Available Programming Books](https://web.archive.org/web/20140606191453/http://stackoverflow.com/questions/194812/list-of-freely-available-programming-books/392926) with contributions from Karan Bhangui and George Stocker.
The list was moved to GitHub by Victor Felder for collaborative updating and maintenance. It has grown to become one of [GitHub's most popular repositories](https://octoverse.github.com/), with 210,000+ stars, 6800+ commits, 1900+ contributors, and 45,000+ forks.
The list was moved to GitHub by Victor Felder for collaborative updating and maintenance. It has grown to become one of [GitHub's most popular repositories](https://octoverse.github.com/), with 226,000+ stars, about 9,600 watchers, more than 7,000 commits, 1,900+ contributors, and 47,700+ forks.
<div align="center" markdown="1">
[![GitHub repo forks](https://img.shields.io/github/forks/EbookFoundation/free-programming-books?style=flat&logo=github&logoColor=whitesmoke&label=Forks)](https://github.com/EbookFoundation/free-programming-books/network)&#160;
[![GitHub repo stars](https://img.shields.io/github/stars/EbookFoundation/free-programming-books?style=flat&logo=github&logoColor=whitesmoke&label=Stars)](https://github.com/EbookFoundation/free-programming-books/stargazers)&#160;
[![GitHub repo contributors](https://img.shields.io/github/contributors-anon/EbookFoundation/free-programming-books?style=flat&logo=github&logoColor=whitesmoke&label=Contributors)](https://github.com/EbookFoundation/free-programming-books/graphs/contributors)
[![GitHub org sponsors](https://img.shields.io/github/sponsors/EbookFoundation?style=flat&logo=github&logoColor=whitesmoke&label=Sponsors)](https://github.com/sponsors/EbookFoundation)&#160;
[![GitHub repo watchers](https://img.shields.io/github/watchers/EbookFoundation/free-programming-books?style=flat&logo=github&logoColor=whitesmoke&label=Watchers)](https://github.com/EbookFoundation/free-programming-books/watchers)&#160;
[![GitHub repo size](https://img.shields.io/github/repo-size/EbookFoundation/free-programming-books?style=flat&logo=github&logoColor=whitesmoke&label=Repo%20Size)](https://github.com/EbookFoundation/free-programming-books/archive/refs/heads/main.zip)
</div>
The [Free Ebook Foundation](https://ebookfoundation.org) now administers the repo, a not-for-profit organization devoted to promoting the creation, distribution, archiving, and sustainability of free ebooks. [Donations](https://ebookfoundation.org/contributions.html) to the Free Ebook Foundation are tax-deductible in the US.
### How To Contribute
## How To Contribute
Please read [CONTRIBUTING](docs/CONTRIBUTING.md). If you're new to GitHub, [welcome](docs/HOWTO.md)! Remember to abide by our [Code of Conduct](docs/CODE_OF_CONDUCT.md) too. ([translations](#translations) also available)
Please read [CONTRIBUTING](docs/CONTRIBUTING.md). If you're new to GitHub, [welcome](docs/HOWTO.md)! Remember to abide by our adapted from ![Contributor Covenant 1.3](https://img.shields.io/badge/Contributor%20Covenant-1.3-4baaaa.svg) [Code of Conduct](docs/CODE_OF_CONDUCT.md) too ([translations](#translations) also available).
Click on these badges to see how you might be able to help:
### How to Share
<div align="center" markdown="1">
[![GitHub repo Issues](https://img.shields.io/github/issues/EbookFoundation/free-programming-books?style=flat&logo=github&logoColor=red&label=Issues)](https://github.com/EbookFoundation/free-programming-books/issues)&#160;
[![GitHub repo Good Issues for newbies](https://img.shields.io/github/issues/EbookFoundation/free-programming-books/good%20first%20issue?style=flat&logo=github&logoColor=green&label=Good%20First%20issues)](https://github.com/EbookFoundation/free-programming-books/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)&#160;
[![GitHub Help Wanted issues](https://img.shields.io/github/issues/EbookFoundation/free-programming-books/help%20wanted?style=flat&logo=github&logoColor=b545d1&label=%22Help%20Wanted%22%20issues)](https://github.com/EbookFoundation/free-programming-books/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)
[![GitHub repo PRs](https://img.shields.io/github/issues-pr/EbookFoundation/free-programming-books?style=flat&logo=github&logoColor=orange&label=PRs)](https://github.com/EbookFoundation/free-programming-books/pulls)&#160;
[![GitHub repo Merged PRs](https://img.shields.io/github/issues-search/EbookFoundation/free-programming-books?style=flat&logo=github&logoColor=green&label=Merged%20PRs&query=is%3Amerged)](https://github.com/EbookFoundation/free-programming-books/pulls?q=is%3Apr+is%3Amerged)&#160;
[![GitHub Help Wanted PRs](https://img.shields.io/github/issues-pr/EbookFoundation/free-programming-books/help%20wanted?style=flat&logo=github&logoColor=b545d1&label=%22Help%20Wanted%22%20PRs)](https://github.com/EbookFoundation/free-programming-books/pulls?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)
</div>
## How to Share
+ [Share on Twitter](http://twitter.com/intent/tweet?text=https://github.com/EbookFoundation/free-programming-books%0AFree%20Programming%20Books)
+ [Share on Facebook](https://www.facebook.com/share.php?u=https%3A%2F%2Fgithub.com%2FEbookFoundation%2Ffree-programming-books&p[images][0]=&p[title]=Free%20Programming%20Books&p[summary]=)
@ -25,6 +56,10 @@ Please read [CONTRIBUTING](docs/CONTRIBUTING.md). If you're new to GitHub, [welc
+ [Share on Telegram](https://t.me/share/url?url=https://github.com/EbookFoundation/free-programming-books)
## Resources
This project lists books and other resources grouped by genres:
### Books
[English, By Programming Language](books/free-programming-books-langs.md)
@ -62,6 +97,7 @@ Please read [CONTRIBUTING](docs/CONTRIBUTING.md). If you're new to GitHub, [welc
+ [Portuguese (Portugal)](books/free-programming-books-pt_PT.md)
+ [Romanian (Romania) / limba română / român](books/free-programming-books-ro.md)
+ [Russian / Русский язык](books/free-programming-books-ru.md)
+ [Serbian / српски језик / srpski jezik](books/free-programming-books-sr.md)
+ [Slovak / slovenčina](books/free-programming-books-sk.md)
+ [Spanish / español / castellano](books/free-programming-books-es.md)
+ [Swedish / Svenska](books/free-programming-books-sv.md)
@ -91,9 +127,11 @@ Please read [CONTRIBUTING](docs/CONTRIBUTING.md). If you're new to GitHub, [welc
+ [Hindi / हिंदी](courses/free-courses-hi.md)
+ [Indonesian / Bahasa Indonesia](courses/free-courses-id.md)
+ [Italian / italiano](courses/free-courses-it.md)
+ [Japanese / 日本語](courses/free-courses-ja.md)
+ [Kazakh / қазақша](courses/free-courses-kk.md)
+ [Khmer / ភាសាខ្មែរ](courses/free-courses-km.md)
+ [Korean / 한국어 [韓國語]](courses/free-courses-ko.md)
+ [Malayalam / മലയാളം](courses/free-courses-ml.md)
+ [Persian / Farsi (Iran) / فارسى](courses/free-courses-fa_IR.md)
+ [Polish / polski / język polski / polszczyzna](courses/free-courses-pl.md)
+ [Portuguese (Brazil)](courses/free-courses-pt_BR.md)
@ -144,112 +182,24 @@ Free Podcasts and Screencasts:
### Programming Playgrounds
Write, compile and run your code within a browser. Try it out!
+ [Chinese / 中文](more/free-programming-playgrounds-zh.md)
+ [English](more/free-programming-playgrounds.md)
### Translations
## Translations
We have Contributing, How-to, and Code of Conduct documents translated into many languages.
Volunteers have translated many of our Contributing, How-to, and Code of Conduct documents into languages covered by our lists.
- Arabic / al arabiya / العربية
- [How-to](docs/HOWTO-ar.md)
- Azerbaijani / Азәрбајҹан дили / آذربايجانجا ديلي
- Bengali / বাংলা
- [How-to](docs/HOWTO-bn.md)
- Bosnian / bosanski jezik
- [How-to](docs/HOWTO-bs.md)
- Bulgarian / български
- Burmese / မြန်မာဘာသာ
- Chinese / 中文
- [Contributing](docs/CONTRIBUTING-zh.md)
- [How-to](docs/HOWTO-zh.md)
- Chinese (traditional) / 繁體中文
- [Contributing](docs/CONTRIBUTING-zh_TW.md)
- [How-to](docs/HOWTO-zh_TW.md)
- Czech / čeština / český jazyk
- Danish / dansk
- Dutch / Nederlands
- [How-to](docs/HOWTO-nl.md)
- English
- [Code of Conduct](docs/CODE_OF_CONDUCT.md)
- [Contributing](docs/CONTRIBUTING.md)
- [How-to](docs/HOWTO.md)
- Estonian / eesti keel
- Finnish / suomi / suomen kieli
- Filipino
- [Kodigo ng Pag-uugali](docs/CODE_OF_CONDUCT-fil.md)
- [Contributing](docs/CONTRIBUTING-fil.md)
- [How-to](docs/HOWTO-fil.md)
- French / français
- [Code de Contrat](docs/CODE_OF_CONDUCT-fr.md)
- [Contributing](docs/CONTRIBUTING-fr.md)
- [How-to](docs/HOWTO-fr.md)
- German / Deutsch
- [Verhaltenskodex](docs/CODE_OF_CONDUCT-de.md)
- [How-to](docs/HOWTO-de.md)
- [Mitwirken](docs/CONTRIBUTING-de.md)
- Greek / ελληνικά
- [Κώδικα Δεοντολογίας](docs/CODE_OF_CONDUCT-el.md)
- [Contributing](docs/CONTRIBUTING-el.md)
- [How-to](docs/HOWTO-el.md)
- Hebrew / עברית
- Hindi / हिन्दी
- [आचार संहिता](docs/CODE_OF_CONDUCT-hi.md)
- [How-to](docs/HOWTO-hi.md)
- Hungarian / magyar / magyar nyelv
- Indonesian / Bahasa Indonesia
- [Berkontribusi](docs/CONTRIBUTING-id.md)
- [Kode Etik](docs/CODE_OF_CONDUCT-id.md)
- [How-to](docs/HOWTO-id.md)
- Italian / italiano
- [Codice di Comportamento](docs/CODE_OF_CONDUCT-it.md)
- [Contributing](docs/CONTRIBUTING-it.md)
- [How-to](docs/HOWTO-it.md)
- Japanese / 日本語
- Khmer / Cambodian / ខ្មែរ
- [How-to](docs/HOWTO-km.md)
- Korean / 한국어 [韓國語]
- [행동강령](docs/CODE_OF_CONDUCT-ko.md)
- [Contributing](docs/CONTRIBUTING-ko.md)
- [How-to](docs/HOWTO-ko.md)
- Norwegian / Norsk
- Persian / Farsi (Iran) / فارسى
- [مرام‌نامه‌ی](docs/CODE_OF_CONDUCT-fa_IR.md)
- [Contributing](docs/CONTRIBUTING-fa_IR.md)
- [How-to](docs/HOWTO-fa_IR.md)
- Polish / polski / język polski / polszczyzna
- [Code of Conduct](docs/CODE_OF_CONDUCT-pl.md)
- [How-to](docs/HOWTO-pl.md)
- Portuguese (Brazil)
- [Código de Conduta](docs/CODE_OF_CONDUCT-pt_BR.md)
- [Contributing](docs/CONTRIBUTING-pt_BR.md)
- [How-to](docs/HOWTO-pt_BR.md)
- Portuguese (Portugal)
- [How-to](docs/HOWTO-pt_PT.md)
- Romanian (Romania) / limba română / român
- Russian / Русский язык
- [Кодекс поведения](docs/CODE_OF_CONDUCT-ru.md)
- [Contributing](docs/CONTRIBUTING-ru.md)
- Slovak / slovenčina
- [How-to](docs/HOWTO-sk.md)
- Spanish / español / castellano
- [Código de Conducta](docs/CODE_OF_CONDUCT-es.md)
- [Contributing](docs/CONTRIBUTING-es.md)
- [How-to](docs/HOWTO-es.md)
- Swedish / Svenska
- [How-to](docs/HOWTO-sv.md)
- Tamil / தமிழ்
- Thai / ไทย
- [How-to](docs/HOWTO-th.md)
- Turkish / Türkçe
- [How-to](docs/HOWTO-tr.md)
- Ukrainian / Українська
- [Кодекс Поведінки](docs/CODE_OF_CONDUCT-uk.md)
- [How-to](docs/HOWTO-uk.md)
- Vietnamese / Tiếng Việt
- [Đóng Góp](docs/CONTRIBUTING-vi.md)
- [How-to](docs/HOWTO-vi.md)
- ... *[More languages](docs/README.md#translations)* ...
You might notice that there are [some missing translations here](docs/README.md#translations) - perhaps you would like to help out by [contributing a translation](docs/CONTRIBUTING.md#help-out-by-contributing-a-translation)?
## License

View File

@ -3,7 +3,7 @@
remote_theme: pages-themes/minimal@v0.2.0
# [Conversion]
markdown: GFM
markdown: kramdown
# [Used rubygem plugins]
plugins:

View File

@ -1,8 +1,11 @@
<div dir="rtl" markdown="1">
### Index
* [Arduino](#arduino)
* [Artificial Intelligence](#artificial-intelligence)
* [C#](#c-sharp)
* [AWS](#aws)
* [C#&lrm;](#csharp)
* [HTML/CSS](#htmlcss)
* [Introduction to Programming in Arabic](#introduction-to-programming-in-arabic)
* [JavaScript](#javascript)
@ -34,15 +37,20 @@
* [مدخل إلى الذكاء الاصطناعي وتعلم الآلة](https://academy.hsoub.com/files/17-%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D9%88%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/) - Mohamed Lahlah (PDF)
### C Sharp
### AWS
* [سبيلك المختصر لتعلم لغة c# - برمجة الواجهات](https://www.mobarmijoun.com/2014/04/c_19.html) - Khaled Al-Saadani (Arab Coders Academy) (PDF)
* [كورس كامل بالعربى مع المهندس عيسى أبوشريف](https://www.youtube.com/playlist?list=PLOoZRfEtk6kWSM_l9xMjDh-_MJXl03-pf) - Eissa AbuSherif (AWS Riyadh User Group)
### <a id="csharp"></a>C#&lrm;
* [سبيلك المختصر لتعلم لغة c#&lrm; - برمجة الواجهات](https://www.mobarmijoun.com/2014/04/c_19.html) - Khaled Al-Saadani (Arab Coders Academy) (PDF)
### HTML/CSS
* [التحريك عبر CSS](https://academy.hsoub.com/files/14-التحريك-عبر-css/) - Donovan Hutchinson, Mohamed Beghat (PDF)
* [نحو فهم أعمق لتقنيات HTML5](https://academy.hsoub.com/files/13-نحو-فهم-أعمق-لتقنيات-html5/) - Mark Pilgrim, Abdullatif Eymash (PDF)
* [التحريك عبر CSS&rlm;](https://academy.hsoub.com/files/14-التحريك-عبر-css/) - Donovan Hutchinson, Mohamed Beghat (PDF)
* [نحو فهم أعمق لتقنيات HTML5&rlm;](https://academy.hsoub.com/files/13-نحو-فهم-أعمق-لتقنيات-html5/) - Mark Pilgrim, Abdullatif Eymash (PDF)
### Introduction to Programming in Arabic
@ -52,8 +60,9 @@
### JavaScript
* [تعلم JavaScript](https://itwadi.com/node/3002) - Cody Lindley, عبداللطيف ايمش (PDF)
* [Eloquent Javascript (Second Edition)](https://rabahboudia.gitbooks.io/arabic-eloquent-js/) - Marijn Haverbeke, Rabah Boudia (gitbook)
* [تعلم JavaScript&rlm;](https://itwadi.com/node/3002) - Cody Lindley, عبداللطيف ايمش (PDF)
* [سلسلة تعلم Next.js بالعربية](https://blog.abdelhadi.org/learn-nextjs-in-arabic/) - Flavio Copes, عبدالهادي الأندلسي
* [Eloquent Javascript (Second Edition)&rlm;](https://rabahboudia.gitbooks.io/arabic-eloquent-js/) - Marijn Haverbeke, Rabah Boudia (gitbook)
### Linux
@ -136,3 +145,5 @@
### UI/UX
* [مدخل إلى تجربة المستخدم](https://academy.hsoub.com/files/11-مدخل-إلى-تجربة-المستخدم-user-experience-ux/)
</div>

View File

@ -1,7 +1,7 @@
### Index
* [C](#c)
* [C#](#c-sharp)
* [C#](#csharp)
* [C++](#cpp)
* [Java](#java)
* [JavaScript](#javascript)
@ -16,14 +16,14 @@
* [ANSI C - Пълен справочник](https://progstarter.com/index.php?option=com_content&view=article&id=9&Itemid=122&lang=bg) - Димо Петков
### C Sharp
### <a id="csharp"></a>C\#
* [Основи на програмирането със C#](https://csharp-book.softuni.bg) - Светлин Наков и колектив
* [Принципи на програмирането със C#](https://introprogramming.info/intro-csharp-book) - Светлин Наков, Веселин Колев и колектив
* [Програмиране за .NET Framework](https://www.devbg.org/dotnetbook) - Светлин Наков и колектив
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [Основи на програмирането със C++](https://cpp-book.softuni.bg) - Светлин Наков и колектив

View File

@ -2,6 +2,7 @@
* [Algorithms](#algorithms)
* [C](#c)
* [Go](#go)
* [Java](#java)
* [JavaScript](#javascript)
* [Machine Learning](#machine-learning)
@ -19,6 +20,11 @@
* [Computer Programming «কম্পিউটার প্রোগ্রামিং ১ম খণ্ড»](https://cpbook.subeen.com) - Tamim Shahriar Subeen (HTML)
### Go
* [বাংলায় গোল্যাং (golang) টিউটোরিয়াল](https://golang.howtocode.dev) - Shafquat Mahbub (howtocode.dev)
### Java
* [বাংলায় জাভা প্রোগ্রামিং শেখার কোর্স](http://java.howtocode.dev) - Bazlur Rahman, et al. (howtocode.dev)

View File

@ -1,7 +1,7 @@
### Index
* [Bash](#bash)
* [C#](#c-sharp)
* [C#](#csharp)
* [C++](#cpp)
* [Git](#git)
* [HTML](#html)
@ -32,13 +32,13 @@
* [Bash očima Bohdana Milara](http://i.iinfo.cz/files/root/k/bash_ocima_bohdana_milara.pdf) (PDF)
### C Sharp
### <a id="csharp"></a>C\#
* [Programovací jazyk C#](http://www.cs.vsb.cz/behalek/vyuka/pcsharp/text.pdf) - Marek Běhálek (PDF)
* [Systémové programování v jazyce C#](https://phoenix.inf.upol.cz/esf/ucebni/sysprog.pdf) (PDF)
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [Moderní programování objektových aplikací v C++](https://akela.mendelu.cz/~xvencal2/CPP/opora.pdf) (PDF)
* [Objektové programování v C++](http://media1.jex.cz/files/media1:49e6b94e79262.pdf.upl/07.%20Objektov%C3%A9%20programov%C3%A1n%C3%AD%20v%20C%2B%2B.pdf) (PDF)

View File

@ -5,7 +5,7 @@
* [Android](#android)
* [Assembly Language](#assembly-language)
* [C](#c)
* [C#](#c-sharp)
* [C#](#csharp)
* [C++](#cpp)
* [Component Pascal](#component-pascal)
* [Git](#git)
@ -63,17 +63,17 @@ Dirk Loser, Clemens Tamme, Philipp Schweinzer (PDF)
* [C-Programmierung](https://de.wikibooks.org/wiki/C-Programmierung) - Wikibooks (HTML)
* [C von A bis Z](http://openbook.rheinwerk-verlag.de/c_von_a_bis_z) - Jürgen Wolf (Online)
* [Socket Programmierung in C](http://www.tobscore.com/socket-programmierung-in-c) - B. Hall, Übersetzt von Tobias Kerst (HTML)
* [Socket Programmierung in C](http://www.tobscore.com/socket-programmierung-in-c) - Brian "Beej Jorgensen" Hall, Übersetzt von Tobias Kerst (HTML)
* [Softwareentwicklung in C](https://web.archive.org/web/20190214185910/http://www.asc.tuwien.ac.at/~eprog/download/schmaranz.pdf) - Klaus Schmaranz (PDF)
### C Sharp
### <a id="csharp"></a>C\#
* [Programmieren in C#: Einführung](http://www.highscore.de/csharp/einfuehrung)
* [Visual C# 2012](http://openbook.rheinwerk-verlag.de/visual_csharp_2012) - Andreas Kühnel (Online)
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [Die Boost C++ Bibliotheken](http://dieboostcppbibliotheken.de) - Boris Schäling (Online)
* [Lean Testing für C++-Programmierer (2018)](https://www.assets.dpunkt.de/openbooks/Openbook_Lean_Testing.pdf) - Andreas Spillner, Ulrich Breymann (PDF)

View File

@ -1,7 +1,7 @@
### Index
* [C](#c)
* [C#](#c-sharp)
* [C#](#csharp)
* [C++](#cpp)
* [Java](#java)
* [Pascal](#pascal)
@ -9,15 +9,16 @@
### C
* [Beej's Guide til Netvarksprogrammierung](https://web.archive.org/web/20190701062226/http://artcreationforever.com/bgnet.html) - Brian "Beej Jorgensen" Hall, Art of Science (HTML) *(:card_file_box: archived)*
* [Programmering i C](http://people.cs.aau.dk/~normark/c-prog-06/pdf/all.pdf) - Kurt Nørmark (PDF)
### C Sharp
### <a id="csharp"></a>C\#
* [Object-oriented Programming in C#](http://people.cs.aau.dk/~normark/oop-csharp/pdf/all.pdf) - Kurt Nørmark (PDF)
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [Notes about C++](http://people.cs.aau.dk/~normark/ap/index.html) - Kurt Nørmark (HTML)

View File

@ -14,7 +14,7 @@
* [Διαδικαστικός προγραμματισμός](https://repository.kallipos.gr/bitstream/11419/1346/1/00_master%20document_KOY.pdf) - Μαστοροκώστας Πάρις (PDF)
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [Εισαγωγή στη C++](http://www.ebooks4greeks.gr/2011.Download_free-ebooks/Pliroforikis/glossa_programmatismoy_C++__eBooks4Greeks.gr.pdf) (PDF)
* [Προγραμματισμός με τη γλώσσα C++](https://repository.kallipos.gr/bitstream/11419/6443/1/00_master_document-KOY.pdf) - Θεόδωρος Αλεβίζος (PDF)
@ -49,5 +49,3 @@
### SQL
* [Εισαγωγή στην SQL: Εργαστηριακές Ασκήσεις σε MySQL5.7](https://www.ebooks4greeks.gr/eisagwgh-sthn-sql-ergasthriakes-askhseis-se-mysql5-7)

View File

@ -57,12 +57,12 @@
* [Aprender Python](https://wiki.python.org.ar/aprendiendopython/) - Python Argentina
* [Apuntes Completos de Desarrollo Web](http://jorgesanchez.net) - Jorge Sánchez
* [Asombroso DDD: Una lista curada de recursos sobre Domain Driven Design](https://github.com/ddd-espanol/asombroso-ddd)
* [Desarrollo de Aplicaciones Web - Temario Completo](https://github.com/statickidz/TemarioDAW#temario-daw) - José Luis Comesaña (Github)
* [Desarrollo de Aplicaciones Web - Temario Completo](https://github.com/statickidz/TemarioDAW#temario-daw) - José Luis Comesaña (GitHub)
* [Desarrollo de Aplicaciones Web y Sistemas Microinformáticos y Redes](https://javiergarciaescobedo.es) - Javier García Escobedo
* [Gitbook - Libros útiles en español](https://github.com/DpdC/gitbook-biblioteca-impresionante-en-espanol#gitbook---biblioteca-de-libros-en-español--) (Github)
* [Gitbook - Libros útiles en español](https://github.com/DpdC/gitbook-biblioteca-impresionante-en-espanol#gitbook---biblioteca-de-libros-en-español--) (GitHub)
* [Múltiples Cursos y Enlaces de Tecnología Informática](http://elvex.ugr.es) - Fernando Berzal
* [OpenLibra - Biblioteca recopilatorio de libros libres](https://openlibra.com/es/collection)
* [Universidad Autónoma de México - Plan (2016)](http://fcasua.contad.unam.mx/apuntes/interiores/plan2016_1.php)
* [Universidad Nacional Autónoma de México - Plan (2016)](http://fcasua.contad.unam.mx/apuntes/interiores/plan2016_1.php)
### 1 - Agnósticos
@ -70,13 +70,13 @@
#### Algoritmos y Estructuras de Datos
* [Algoritmos y Programación (Guía para docentes)](http://www.eduteka.org/pdfdir/AlgoritmosProgramacion.pdf) (PDF)
* [Análisis, Diseño e Implantación de Algoritmos](http://fcasua.contad.unam.mx/apuntes/interiores/docs/20181/informatica/1/LI_1164_06097_A_Analisis_Diseno_Implantacion_Algoritmos_Plan2016.pdf) - Universidad Nacional Autónoma de México, Dr. Juan Alberto Adam Siade, et al. (PDF)
* [Análisis, Diseño e Implantación de Algoritmos](http://fcasua.contad.unam.mx/apuntes/interiores/docs/20181/informatica/1/LI_1164_06097_A_Analisis_Diseno_Implantacion_Algoritmos_Plan2016.pdf) - Universidad Nacional Autónoma de México, Dr. Juan Alberto Adam Siade, Gilberto Manzano Peñaloza, René Montesano Brand, Luis Fernando Zúñiga López, et al. (PDF)
* [Apuntes de Algoritmos y Estructuras de Datos](https://openlibra.com/en/book/download/apuntes-de-algoritmos-y-estructuras-de-datos) (PDF)
* [Breves Notas sobre Análisis de Algoritmos](https://lya.fciencias.unam.mx/jloa/publicaciones/analisisdeAlgoritmos.pdf) - Universidad Nacional Autónoma de México, Jorge L. Ortega Arjona (PDF)
* [Fundamentos de Informática y Programación](https://informatica.uv.es/docencia/fguia/TI/Libro/Libro_Fundamentos_Inform_Program.htm) (HTML)
* [Fundamentos de programación](https://es.wikibooks.org/wiki/Fundamentos_de_programaci%C3%B3n) - WikiLibros
* [Introducción a la programación](https://es.wikibooks.org/wiki/Introducci%C3%B3n_a_la_Programaci%C3%B3n) - WikiLibros
* [Temas selectos de estructuras de datos](https://lya.fciencias.unam.mx/jloa/publicaciones/estructurasdeDatos.pdf) (PDF)
* [Temas selectos de estructuras de datos](https://lya.fciencias.unam.mx/jloa/publicaciones/estructurasdeDatos.pdf) - Universidad Nacional Autónoma de México, Jorge L. Ortega Arjona (PDF)
* [Teoría sintáctico-gramatical de objetos](https://www.bubok.es/libros/219288/Teoria-sintacticogramatical-de-objetos) (Bubok)
@ -91,9 +91,9 @@
#### Ciencia Computacional
* [Breves Notas sobre Autómatas y Lenguajes](https://lya.fciencias.unam.mx/jloa/publicaciones/automatasyLenguajes.pdf) (PDF)
* [Breves Notas sobre Complejidad](https://lya.fciencias.unam.mx/jloa/publicaciones/complejidad.pdf) (PDF)
* [Breves Notas sobre Teoría de la Computación](https://lya.fciencias.unam.mx/jloa/publicaciones/teoria.pdf) (PDF)
* [Breves Notas sobre Autómatas y Lenguajes](https://lya.fciencias.unam.mx/jloa/publicaciones/automatasyLenguajes.pdf) - Universidad Nacional Autónoma de México, Jorge L. Ortega Arjona (PDF)
* [Breves Notas sobre Complejidad](https://lya.fciencias.unam.mx/jloa/publicaciones/complejidad.pdf) - Universidad Nacional Autónoma de México, Jorge L. Ortega Arjona (PDF)
* [Breves Notas sobre Teoría de la Computación](https://lya.fciencias.unam.mx/jloa/publicaciones/teoria.pdf) - Universidad Nacional Autónoma de México, Jorge L. Ortega Arjona (PDF)
* [Teoría de la Computación: Lenguajes, Autómatas, Gramáticas](http://ciencias.bogota.unal.edu.co/fileadmin/Facultad_de_Ciencias/Publicaciones/Archivos_Libros/Libros_Matematicas/_Teoria_de_la_Computacion___lenguajes__automatas__gramaticas._/teoriacomputacion.pdf) - Rodrigo De Castro Korgi (PDF)
@ -110,7 +110,7 @@
#### Misceláneos
* [97 cosas que todo programador debería saber](http://97cosas.com/programador/) (HTML)
* [Docker](https://github.com/brunocascio/docker-espanol#docker) (Github)
* [Docker](https://github.com/brunocascio/docker-espanol#docker) (GitHub)
* [El camino a un mejor programador](http://emanchado.github.io/camino-mejor-programador/downloads/camino_2013-01-19_0688b6e.html) (HTML) [(PDF, ePub)](http://emanchado.github.io/camino-mejor-programador/)
* [Introducción a Docker](https://www.rediris.es/tecniris/archie/doc//TECNIRIS47-1b.pdf) (PDF)
* [Los Apuntes de Majo](https://losapuntesdemajo.vercel.app) - Majo Ledesma (PDF)
@ -135,7 +135,7 @@
* [Introducción a la programación con C](http://repositori.uji.es/xmlui/bitstream/handle/10234/24306/s29.pdf) (PDF) (descarga directa)
### <a name="cpp"></a>C++
### <a id="cpp"></a>C++
* [Aprenda C++ avanzado como si estuviera en primero](https://web.archive.org/web/20100701020037/http://www.tecnun.es/asignaturas/Informat1/AyudaInf/aprendainf/cpp/avanzado/cppavan.pdf) (PDF)
* [Aprenda C++ básico como si estuviera en primero](https://web.archive.org/web/20100701020025/http://www.tecnun.es/asignaturas/Informat1/AyudaInf/aprendainf/cpp/basico/cppbasico.pdf) (PDF)
@ -202,11 +202,11 @@
* [Desarrollando con Java 8: Poker](https://ia601504.us.archive.org/21/items/DesarrollandoConJava8Poker/DesarrollandoConJava8Poker.pdf) -David Pérez Cabrera (PDF)
* [Desarrollo de proyectos informáticos con Java](http://www3.uji.es/~belfern/libroJava.pdf) (PDF)
* [Ejercicios de Programación en Java](https://www.arkaitzgarro.com/java/) - F.M. Pérez Montes (PDF)
* [Notas de Introducción al Lenguaje de Programación Java (2004)](https://lya.fciencias.unam.mx/jloa/publicaciones/introduccionJava.pdf) - Jorge L. Ortega Arjona (PDF)
* [Notas de Introducción al Lenguaje de Programación Java (2004)](https://lya.fciencias.unam.mx/jloa/publicaciones/introduccionJava.pdf) - Universidad Nacional Autónoma de México, Jorge L. Ortega Arjona (PDF)
* [Pensando la computación como un científico (con Java)](http://www.ungs.edu.ar/cm/uploaded_files/publicaciones/476_cid03-Pensar%20la%20computacion.pdf) (PDF)
* [PlugIn Apache Tapestry: desarrollo de aplicaciones y páginas web](https://picodotdev.github.io/blog-bitix/assets/custom/PlugInTapestry.pdf) (PDF) [(ePub, Mobi, HTML)](https://picodotdev.github.io/blog-bitix/2014/02/libro-sobre-desarrollo-de-aplicaciones-con-apache-tapestry/)
* [Prácticas de Java (2009)](https://openlibra.com/es/book/download/practicas-de-java) (PDF)
* [Preparando JavaSun 6 - OCPJP6](https://github.com/PabloReyes/ocpjp-resumen-espanol#ocpjp6-resumen-español) - Pablo Reyes Almagro (Github) [(PDF)](https://github.com/PabloReyes/ocpjp-resumen-espanol/blob/master/OCPJP6%20Resumen.pdf)
* [Preparando JavaSun 6 - OCPJP6](https://github.com/PabloReyes/ocpjp-resumen-espanol#ocpjp6-resumen-español) - Pablo Reyes Almagro (GitHub) [(PDF)](https://github.com/PabloReyes/ocpjp-resumen-espanol/blob/master/OCPJP6%20Resumen.pdf)
* [Programación en Java](http://elvex.ugr.es/decsai/java/) (HTML)
* [Tutorial básico de Java EE](http://static1.1.sqspcdn.com/static/f/923743/14770633/1416082087870/JavaEE.pdf) (PDF)
* [Tutorial introducción a Maven 3](http://static1.1.sqspcdn.com/static/f/923743/15025126/1320942755733/Tutorial_de_Maven_3_Erick_Camacho.pdf) - Erick Camacho (PDF)
@ -297,7 +297,7 @@
### PHP
* [Domain Driven Design with PHP (Diseño guiado por Dominio con PHP)](https://www.youtube.com/playlist?list=PLfgj7DYkKH3DjmXTOxIMs-5fcOgDg_Dd2) - Carlos Buenosvinos Zamora (Youtube playlist)
* [Domain Driven Design with PHP (Diseño guiado por Dominio con PHP)](https://www.youtube.com/playlist?list=PLfgj7DYkKH3DjmXTOxIMs-5fcOgDg_Dd2) - Carlos Buenosvinos Zamora (YouTube playlist)
* [Manual de estudio introductorio al lenguaje PHP procedural](https://web.archive.org/web/20140209203630/http://www.cursosdeprogramacionadistancia.com/static/pdf/material-sin-personalizar-php.pdf) (PDF)
* [PHP y Programación orientada a objetos](https://styde.net/php-y-programacion-orientada-a-objetos/) (HTML)
* [POO y MVC en PHP](https://bibliotecafacet.com.ar/wp-content/uploads/2014/12/eugeniabahitpooymvcenphp.pdf) - Eugenia Bahit (PDF)
@ -327,12 +327,13 @@
### Python
* [Aprenda a pensar como un programador (con Python)](https://argentinaenpython.com/quiero-aprender-python/aprenda-a-pensar-como-un-programador-con-python.pdf) (PDF)
* [Aprende Python](https://aprendepython.es) - Sergio Delgado Quintero (HTML, PDF)
* [Doma de Serpientes para Niños: Aprendiendo a Programar con Python](http://code.google.com/p/swfk-es/) (HTML)
* [Inmersión en Python](https://code.google.com/archive/p/inmersionenpython3/) (HTML)
* [Inmersión en Python 3](https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/inmersionenpython3/inmersionEnPython3.0.11.pdf) (PDF) (descarga directa)
* [Introducción a la programación con Python](http://repositori.uji.es/xmlui/bitstream/handle/10234/24305/s23.pdf) (PDF)
* [Introducción a Programando con Python](http://opentechschool.github.io/python-beginners/es_CL/) (HTML)
* [Python para ciencia e ingeniería](https://github.com/mgaitan/curso-python-cientifico#curso-de-python-para-ciencias-e-ingenierías) (Github)
* [Python para ciencia e ingeniería](https://github.com/mgaitan/curso-python-cientifico#curso-de-python-para-ciencias-e-ingenierías) (GitHub)
* [Python para principiantes](http://librosweb.es/libro/python) (HTML) [(PDF)](https://web.archive.org/web/20150421012120/http://www.cursosdeprogramacionadistancia.com/static/pdf/material-sin-personalizar-python.pdf)
* [Python para todos](https://launchpadlibrarian.net/18980633/Python%20para%20todos.pdf) (PDF)
@ -351,7 +352,7 @@
### Ruby
* [Aprende a programar con Ruby](http://rubysur.org/aprende.a.programar) (Gitbook)
* [La Guía de Estilos de Ruby](https://github.com/alemohamad/ruby-style-guide/blob/master/README-esLA.md#preludio) (Github)
* [La Guía de Estilos de Ruby](https://github.com/alemohamad/ruby-style-guide/blob/master/README-esLA.md#preludio) (GitHub)
* [Ruby en 20 minutos](https://www.ruby-lang.org/es/documentation/quickstart) (HTML)
* [Ruby tutorial o cómo pasar un buen rato programando](http://rubytutorial.wikidot.com/introduccion) (HTML)

View File

@ -1,7 +1,7 @@
### Index
* [C](#c)
* [C Sharp](#c-sharp)
* [C#](#csharp)
* [Java](#java)
* [JavaScript](#javascript)
* [AngularJS](#angularjs)
@ -18,7 +18,7 @@
* [Programmeerimiskeel C](https://et.wikibooks.org/wiki/Programmeerimiskeel_C) - Wikiõpikud
### C Sharp
### <a id="csharp"></a>C\#
* [Microsoft Visual Studio Code ja C#](https://digiarhiiv.ut.ee/Ained/Doc/VFailid/CSharp_ja_VS.pdf) - Kalle Remm (PDF)

View File

@ -1,7 +1,7 @@
### Index
* [C](#c)
* [C Sharp](#c-sharp)
* [C#](#csharp)
* [C++](#cpp)
* [JavaScript](#javascript)
* [MySQL](#mysql)
@ -29,12 +29,12 @@
* [Ohjelmoinnin perusteet ja C-kieli](http://cs.stadia.fi/~silas/ohjelmointi/c_opas) - Simo Silander
### C Sharp
### <a id="csharp"></a>C\#
* [Ohjelmointi 1: C#](https://jyx.jyu.fi/bitstream/handle/123456789/47417/978-951-39-4859-7.pdf) - Martti Hyvönen, Vesa Lappalainen, Antti-Jussi Lakanen (PDF)
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [C++](https://fi.wikibooks.org/wiki/C%2B%2B) - Wikikirjasto
* [C++-ohjelmointi](https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=cpp_ohj_01)

View File

@ -12,6 +12,7 @@
* [Bash / Shell](#bash--shell)
* [C / C++](#c--c)
* [Caml / OCaml](#caml--ocaml)
* [Chaîne de blocs / Blockchain](#chaîne-de-blocs--blockchain)
* [Coq](#coq)
* [CSS](#css)
* [Fortran](#fortran)
@ -104,6 +105,14 @@
* [La programmation Shell](https://frederic-lang.developpez.com/tutoriels/linux/prog-shell/) - Frederic Lang, Idriss Neumann
### C / C++
* [Cours de C/C++](http://casteyde.christian.free.fr/cpp/cours/online/book1.html) - Christian Casteyde
* [Guide pour la programmation réseaux de Beej's - Utilisation des sockets Internet](http://vidalc.chez.com/lf/socket.html) - Brian "Beej Jorgensen" Hall (HTML)
* [Le C en 20 heures](http://framabook.org/le-c-en-20-heures-2/) - Eric Berthomier et Daniel Schang
* [Programmation en Langage C et Systèmes Informatiques](https://sites.uclouvain.be/SystInfo/notes/Theorie/) - O. Bonaventure, E. Riviere, G. Detal, C. Paasch
### Caml / OCaml
* [Développement d'applications avec Objective Caml](https://www-apr.lip6.fr/~chaillou/Public/DA-OCAML) - Emmanuel Chailloux, Pascal Manoury, Bruno Pagano
@ -111,12 +120,9 @@
* [Programmation du système Unix en Objective Caml](https://web.archive.org/web/20211115022546/http://gallium.inria.fr/~remy/camlunix/) - Xavier Leroy, Didier Rémy
### C / C++
### Chaîne de blocs / Blockchain
* [Cours de C/C++](http://casteyde.christian.free.fr/cpp/cours/online/book1.html) - Christian Casteyde
* [Guide pour la programmation réseaux de Beej's - Utilisation des sockets Internet](http://vidalc.chez.com/lf/socket.html) - (HTML)
* [Le C en 20 heures](http://framabook.org/le-c-en-20-heures-2/) - Eric Berthomier et Daniel Schang
* [Programmation en Langage C et Systèmes Informatiques](https://sites.uclouvain.be/SystInfo/notes/Theorie/) - O. Bonaventure, E. Riviere, G. Detal, C. Paasch
* [Maîtriser Bitcoin: Programmer la chaîne de blocs publique](https://maitriser-ca.github.io/LivreMaitriserBitcoin/) - Andreas M. Antonopoulos, Serafim Dos Santos (asciidoc, html)
### Coq

View File

@ -4,7 +4,7 @@
* [מערכות הפעלה](#מערכות-הפעלה)
* [רשתות](#רשתות)
* [Assembly](#assembly)
* [C#](#c-sharp)
* [C#](#csharp)
* [Java](#java)
* [Python](#python)
@ -23,10 +23,10 @@
### Assembly
* [ארגון המחשב ושפת סף](https://data.cyber.org.il/python/python_book.pdf) ברק גונן, המרכז לחינוך סייבר (PDF)
* [ארגון המחשב ושפת סף](https://data.cyber.org.il/assembly/assembly_book.pdf) ברק גונן, המרכז לחינוך סייבר (PDF)
### <a name="c-sharp"></a>C#
### <a id="csharp"></a>C\#
* [מבוא לתכנות בסביבת האינטרנט בשפת C#](https://meyda.education.gov.il/files/free%20books/%D7%9E%D7%91%D7%95%D7%90%20%D7%9C%D7%AA%D7%9B%D7%A0%D7%95%D7%AA%20%D7%91%D7%A1%D7%91%D7%99%D7%91%D7%AA%20%D7%94%D7%90%D7%99%D7%A0%D7%98%D7%A8%D7%A0%D7%98%20090216.pdf) מט״ח (PDF)

View File

@ -3,8 +3,7 @@
* [C++](#cpp)
### <a name="cpp"></a>C++
### <a id="cpp"></a>C++
* [C++ Brief Notes \| Hindi](https://ehindistudy.com/2020/12/01/cpp-notes-in-hindi/) - Yugal Joshi
* [C++ Introduction Book \| Hindi](https://ncsmindia.com/wp-content/uploads/2012/04/c++-hindi.pdf) - NCMS India (PDF)

View File

@ -3,6 +3,7 @@
* [0 - Programozási nyelv független](#0---programozasi-nyelv-fuggetlen)
* [Ada](#ada)
* [Arduino](#arduino)
* [C](#c)
* [C++](#cpp)
* [HTML / CSS](#html-css)
* [Java](#java)
@ -37,7 +38,12 @@
* [Arduino programozási kézikönyv](http://avr.tavir.hu) - Brian W. Evans írása alapján fordította, kiegészítette és frissítette Cseh Róbert (PDF - regisztráció szükséges)
<h3 id="cpp">C++</h3>
### C
* [Beej útmutatója a hálózati programozáshoz - Internet Socketek használatával](https://web.archive.org/web/20180630204236/http://weknowyourdreams.com/bgnet-sw.html) - Brian "Beej Jorgensen" Hall, Hajdu Gábor (HTML) *(:card_file_box: archived)*
### <a id="cpp"></a>C++
* [Fejlett programozási technikák](http://www.ms.sapientia.ro/~manyi/teaching/c++/cpp.pdf) - Antal Margit (PDF)

View File

@ -2,7 +2,7 @@
* [Android](#android)
* [C](#c)
* [C#](#c-sharp)
* [C#](#csharp)
* [C++](#cpp)
* [CodeIgniter](#codeigniter)
* [Emacs](#emacs)
@ -37,12 +37,12 @@
* [Belajar Pemrograman C untuk Pemula](https://www.petanikode.com/tutorial/c/) - Ahmad Muhardian (:construction: *in process*)
### C Sharp
### <a id="csharp"></a>C\#
* [Menguasai Pemrograman Berorientasi Objek Dengan Bahasa C#](https://mahirkoding.id/ebook-pemrograman-berorientasi-objek-c-pdf/)
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [Belajar C++ Dasar Bahasa Indonesia](https://github.com/kelasterbuka/CPP_dasar-dasar-programming) - Kelas Terbuka
* [Koding C++ Dengan Qt](https://leanpub.com/koding-cpp-qt) *(Membutuhkan akun Leanpub atau email yang valid)*

View File

@ -10,7 +10,7 @@
* [Assembly Language](#assembly-language)
* [BASH](#bash)
* [C](#c)
* [C#](#c-sharp)
* [C#](#csharp)
* [C++](#cpp)
* [CSS](#css)
* [Database](#database)
@ -79,6 +79,7 @@
### Assembly Language
* [La CPU Intel 8086: Architettura e Programmazione Assembly](http://www.ce.unipr.it/didattica/calcolatoriA/free-docs/lucidi.pdf) - Alberto Broggi (PDF)
* [PC Assembly Language](http://drpaulcarter.com/pcasm/) - Paul A. Carter
* [Reverse Engineering per Principianti](https://beginners.re/RE4B-IT.pdf) - Dennis Yurichev, Federico Ramondino, Paolo Stivanin, Fabrizio Bertone, Matteo Sticco, Marco Negro et al. (PDF)
@ -86,23 +87,25 @@
### BASH
* [Guida avanzata per la bash](http://www.dmi.unict.it/diraimondo/web/wp-content/uploads/classes/so/mirror-stuff/abs-guide.pdf) (PDF)
* [La guida di Bash per principianti](http://codex.altervista.org/guidabash/guidabash_1_11.pdf) - Machtelt Garrels (PDF)
* [Programmazione della shell Bash](https://www.aquilante.net/doc/bash_programming.pdf) - Marco Liverani (PDF)
### C
* [Guida di Beej alla Programmazione di Rete - Usando Socket Internet](http://linguaggioc.altervista.org/dl/GuidaDiBeejAllaProgrammazioneDiRete.pdf) - B. Hall, Tradotto da Fabrizio Pani (PDF)
* [Guida di Beej alla Programmazione di Rete - Usando Socket Internet](http://linguaggioc.altervista.org/dl/GuidaDiBeejAllaProgrammazioneDiRete.pdf) - Brian "Beej Jorgensen" Hall, Fabrizio Pani (PDF)
* [Il linguaggio C - Guida pratica alla programmazione](https://eineki.files.wordpress.com/2010/02/guidac.pdf) - (PDF)
* [Linguaggio C - ANSI C](http://www.itis.pr.it/~dsacco/itis/Olimpiadi-informatica/Libri-di-testo/LinguaggioC-R&K.pdf) - B.W. Kernighan e D.M. Ritchie (PDF)
* [Linguaggio C - ANSI C](https://web.archive.org/web/20180920221053/http://www.itis.pr.it/~dsacco/itis/Olimpiadi-informatica/Libri-di-testo/LinguaggioC-R&K.pdf) - Brian W. Kernighan, Dennis M. Ritchie (PDF) *(:card_file_box: archived)*
* [Linguaggio C - Guida alla programmazione](http://www.cbmc.it/~marchettil/Tandem2016/Bellini.pdf) - A. Bellini e A. Guidi _Anno di pubblicazione_ 1999 (PDF)
* [Tricky C](http://www.dmi.unict.it/diraimondo/web/wp-content/uploads/classes/so/mirror-stuff/Tricky_C.pdf) (PDF)
### C Sharp
### <a id="csharp"></a>C\#
* [ABC# - Guida alla programmazione](http://antoniopelleriti.it/wp-content/uploads/2019/04/ABCsharp-guida-alla-programmazione-in-csharp.pdf) - A. Pelleriti (PDF)
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [Corso C++ standard](http://didatticait.altervista.org/programmazione/CPP/CPP-dispense/CORSO_C.pdf) - (PDF)
* [Il linguaggio C++](https://hpc-forge.cineca.it/files/CoursesDev/public/2012%20Autumn/Introduzione%20alla%20programmazioni%20a%20oggetti%20in%20C++/corsocpp.pdf) - (PDF)
@ -168,7 +171,7 @@
* [Guida Java](http://www.html.it/guide/guida-java/?cref=development) (HTML)
* [Java 7](https://it.wikibooks.org/wiki/Java) - Wikibooks
* [Java 9 e 10, la guida](https://www.html.it/guide/java-9-la-guida/) (HTML)
* [Java Mattone dopo Mattone](http://www.digididattica.it/pluginfile.php/2127/mod_resource/content/1/javamattone.pdf) (PDF)
* [Java Mattone dopo Mattone](http://www.istitutopalatucci.it/libri/scienze/Java%20-%20Mattone%20dopo%20mattone.pdf) - Massimiliano Tarquini (PDF)
* [Materiale extra online de "Il nuovo Java"](https://www.nuovojava.it/assets/download/nuovoJava-materiale_extra_online.pdf) - Claudio De Sio Cesari (PDF)
* [Object Oriented && Java 5 (II Edizione)](http://www.claudiodesio.com/download/oo_&&_java_5.zip) - Claudio De Sio Cesari (ZIP)

View File

@ -125,7 +125,7 @@
#### コンテナ
* [Docker-docs-ja](https://docs.docker.jp) - Docker Docs Translation Ja-Jp Project
* [チュートリアル | Kubernetes](https://kubernetes.io/ja/docs/tutorials) - The Kubernetes Authors
* [チュートリアル \| Kubernetes](https://kubernetes.io/ja/docs/tutorials) - The Kubernetes Authors
#### セキュリティ
@ -182,6 +182,7 @@
* [HTTP/3 explained](https://http3-explained.haxx.se/ja) - Daniel Stenberg
* [http2 explained](https://http2-explained.haxx.se/ja) - Daniel Stenberg
* [ネットワークプログラミングの基礎知識](http://x68000.q-e-d.net/~68user/net) - 68user
* [プロフェッショナルIPv6 第2版](https://dforest.watch.impress.co.jp/library/p/proipv6/11948/ao-ipv6-2-book-20211220.pdf) - 小川晃通 (PDF)
#### 機械学習
@ -189,6 +190,7 @@
* [Jubatus : オンライン機械学習向け分散処理フレームワーク](http://jubat.us/ja) - Jubatus
* [Mahoutで体感する機械学習の実践](https://gihyo.jp/dev/serial/01/mahout) - やまかつ
* [機械学習 はじめよう](https://gihyo.jp/dev/serial/01/machine-learning) - 中谷秀洋,恩田伊織
* [機械学習帳](https://chokkan.github.io/mlnote) - 岡崎直観 (Naoaki Okazaki)
* [強化学習入門](https://github.com/komi1230/Resume/raw/master/book_reinforcement/book.pdf) - 小南佑介 (PDF)
@ -270,10 +272,11 @@
* [猫でもわかるプログラミング](http://kumei.ne.jp/c_lang) - 粂井康孝
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [C++11の文法と機能(C++11: Syntax and Feature)](https://ezoeryou.github.io/cpp-book/C++11-Syntax-and-Feature.xhtml) - 江添亮
* [C++入門](https://www.asahi-net.or.jp/~yf8k-kbys/newcpp0.html) - 小林健一郎
* [C++入門 AtCoder Programming Guide for beginners (APG4b)](https://atcoder.jp/contests/APG4b) - 齋藤 主裕, 石黒 淳
* [cpprefjp - C++ Reference Site in Japanese](https://cpprefjp.github.io)
* [Google C++ スタイルガイド 日本語全訳](https://ttsuki.github.io/styleguide/cppguide.ja.html) - Benjy Weinberger, Craig Silverstein, Gregory Eitzmann, Mark Mentovai, Tashana Landray, ttsuki(翻訳)
* [Standard Template Library プログラミング](https://web.archive.org/web/20170607163002/http://episteme.wankuma.com/stlprog) - επιστημη
@ -330,6 +333,7 @@
### Erlang
* [Learn you some Erlang for great good!](https://www.ymotongpoo.com/works/lyse-ja/) - Fred Hebert, Yoshifumi Yamaguchi (HTML)
* [お気楽 Erlang プログラミング入門](http://www.nct9.ne.jp/m_hiroi/func/erlang.html) - 広井誠
@ -700,6 +704,7 @@
* [TypeScript Deep Dive 日本語版](https://typescript-jp.gitbook.io/deep-dive/) - basarat, yohamta(翻訳)
* [TypeScriptの為のクリーンコード](https://msakamaki.github.io/clean-code-typescript) - labs42io, 酒巻 瑞穂(翻訳)
* [サバイバルTypeScript](https://typescriptbook.jp) - YYTypeScript
* [仕事ですぐに使えるTypeScript](https://future-architect.github.io/typescript-guide) - フューチャー株式会社Future Corporation ([PDF](https://future-architect.github.io/typescript-guide/typescript-guide.pdf))

View File

@ -57,7 +57,7 @@
* [BeeJ's Guide to Network Programming - 인터넷 소켓 활용](https://blogofscience.com/Socket_Programming-KLDP.html)
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [씹어먹는 C++](https://github.com/kev0960/ModooCode/raw/master/book/cpp/main.pdf) - 이재범 (PDF)
@ -225,4 +225,3 @@
### Unicode
* [번역 Unicode 이모티콘에 얽힌 이것저것 (이모티콘 표준과 프로그래밍 핸들링)](http://pluu.github.io/blog/android/2020/01/11/unicode-emoji/)

View File

@ -28,7 +28,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [BeanShell](#beanshell)
* [BETA](#beta)
* [C](#c)
* [C#](#c-sharp)
* [C#](#csharp)
* [C++](#cpp)
* [Chapel](#chapel)
* [Cilk](#cilk)
@ -148,6 +148,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [Objective-C](#objective-c)
* [OCaml](#ocaml)
* [Octave](#octave)
* [Odin](#odin)
* [OpenMP](#openmp)
* [OpenResty](#openresty)
* [OpenSCAD](#openscad)
@ -195,6 +196,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [Self](#self)
* [Smalltalk](#smalltalk)
* [Snap](#snap)
* [Solidity](#solidity)
* [Spark](#spark)
* [Splunk](#splunk)
* [SQL (implementation agnostic)](#sql-implementation-agnostic)
@ -257,7 +259,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [Android Notes for Professionals](https://goalkicker.com/AndroidBook) - Compiled from StackOverflow Documentation (PDF)
* [Android Programming Succinctly, Syncfusion](https://www.syncfusion.com/resources/techportal/ebooks/android) ([PDF](https://www.syncfusion.com/Account/Logon?ReturnUrl=%2fresources%2ftechportal%2febooks%2fandroid), [Kindle](https://www.syncfusion.com/Account/Logon?ReturnUrl=%2fresources%2ftechportal%2febooks%2fandroid)) (email address *requested*, not required)
* [Android Tutorial](http://www.tutorialspoint.com/android) - Tutorials Point
* [Android Tutorial](http://www.tutorialspoint.com/android/) - Tutorials Point (HTML, PDF)
* [Codelabs for Advanced Android Development](https://developer.android.com/courses/advanced-training/toc)
* [CodePath Android Cliffnotes](https://github.com/codepath/android_guides/wiki)
* [Expert Android and Eclipse development knowledge](http://www.vogella.com/tutorials/android.html)
@ -424,9 +426,8 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [A Tutorial on Pointers and Arrays in C](https://web.archive.org/web/20180827131006/http://home.earthlink.net/~momotuk/pointers.pdf) - Ted Jensen (PDF)
* [An Introduction to C & GUI Programming](https://magpi.raspberrypi.com/books/c-gui-programming) - Simon Long (PDF)
* [Bare-metal programming for ARM](https://github.com/umanovskis/baremetal-arm) - Daniels Umanovskis [(PDF)](http://umanovskis.se/files/arm-baremetal-ebook.pdf)
* [Beej's Guide to C Programming](http://beej.us/guide/bgc/) - B. Hall (HTML, PDF)
* [Beej's Guide to Network Programming - Using Internet Sockets](http://beej.us/guide/bgnet/) - B. Hall
* [Beej's Guide to the GNU Debugger (GDB)](http://beej.us/guide/bggdb/) - B. Hall (HTML)
* [Beej's Guide to C Programming](http://beej.us/guide/bgc/) - Brian "Beej Jorgensen" Hall (HTML, PDF)
* [Beej's Guide to the GNU Debugger (GDB)](http://beej.us/guide/bggdb/) - Brian "Beej Jorgensen" Hall (HTML)
* [Build Your Own Lisp](http://www.buildyourownlisp.com) - Daniel Holden
* [C Elements of Style](http://www.oualline.com/books.free/style/) - Steve Oualline
* [C for Python Programmers](http://www.cburch.com/books/cpy/) - Carl Burch
@ -434,7 +435,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [C Notes for Professionals](https://goalkicker.com/CBook) - Compiled from StackOverflow Documentation (PDF)
* [C Programming](https://en.wikibooks.org/wiki/Programming%3AC) - Wikibooks
* [C Programming Boot Camp - Paul Gribble](https://gribblelab.org/teaching/CBootCamp/)
* [C Programming Tutorial](https://www.tutorialspoint.com/cprogramming/) - Tutorialspoint (HTML)
* [C Programming Tutorial](https://www.tutorialspoint.com/cprogramming/) - Tutorials Point (HTML, PDF)
* [Coursebook](https://github.com/illinois-cs241/coursebook) - B. Venkatesh, L. Angrave, et al.
* [Deep C](http://www.slideshare.net/olvemaudal/deep-c)
* [Essential C](http://cslibrary.stanford.edu/101/EssentialC.pdf) - Nick Parlante (PDF)
@ -462,7 +463,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [TONC GBA Programming - Game Boy Advance Development](http://www.coranac.com/tonc/text/toc.htm)
### C Sharp
### <a id="csharp"></a>C\#
* [C# Notes for Professionals](http://goalkicker.com/CSharpBook/) - Compiled from StackOverflow documentation (PDF)
* [C# Programming](https://en.wikibooks.org/wiki/C_Sharp_Programming) - Wikibooks
@ -485,7 +486,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [Xamarin.Forms Succinctly](https://www.syncfusion.com/ebooks/xamarin-forms-succinctly) - Alessandro Del Sole
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [C++ Annotations](https://fbb-git.gitlab.io/cppannotations/) - Frank B. Brokken (HTML, PDF)
* [C++ Core Guidelines](https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md) - Editors: Bjarne Stroustrup, Herb Sutter
@ -702,7 +703,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [Erlang Handbook](https://github.com/esl/erlang-handbook/raw/master/output/ErlangHandbook.pdf) (PDF)
* [Erlang Programming](https://en.wikibooks.org/wiki/Erlang_Programming) - Wikibooks (HTML)
* [Getting Started with Erlang User's Guide](http://www.erlang.org/doc/getting_started/users_guide.html) (HTML)
* [Learn You Some Erlang For Great Good](http://learnyousomeerlang.com) - Frederic Trottier-Hebert
* [Learn You Some Erlang For Great Good](http://learnyousomeerlang.com) - Fred Hebert (HTML)
* [Making reliable distributed systems in the presence of software errors](http://www.erlang.org/download/armstrong_thesis_2003.pdf) - Joe Armstrong (PDF)
* [Stuff Goes Bad: Erlang in Anger](https://www.erlang-in-anger.com) - Fred Herbert (PDF)
* [The BEAM Book](https://blog.stenmans.org/theBeamBook) (HTML)
@ -731,9 +732,9 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
### Flutter
* [Cookbook](https://flutter.dev/docs/cookbook)
* [Flutter in Action](https://livebook.manning.com/book/flutter-in-action/welcome/v-9/) Eric Windmill
* [Flutter in Action](https://livebook.manning.com/book/flutter-in-action/) - Eric Windmill (HTML) *(email address requested, not required)*
* [Flutter Succinctly, Syncfusion](https://www.syncfusion.com/ebooks/flutter-succinctly) (PDF, Kindle) (email address *requested*, not required)
* [Flutter Tutorial](https://www.tutorialspoint.com/flutter) - Tutorials Point
* [Flutter Tutorial](https://www.tutorialspoint.com/flutter/) - Tutorials Point (HTML, PDF)
* [Flutter Tutorials Handbook](https://kodestat.gitbook.io/flutter)
* [Flutter UI Succinctly, Syncfusion](https://www.syncfusion.com/succinctly-free-ebooks/flutter-ui-succinctly) - Ed Freitas
@ -791,6 +792,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [A Visual Git Reference](http://marklodato.github.io/visual-git-guide/index-en.html) - Mark Lodato
* [Conversational Git](http://blog.anvard.org/conversational-git/)
* [git - the simple guide](http://rogerdudler.github.io/git-guide/)
* [Git cookbook](https://git.seveas.net/about.html) - Dennis Kaarsemaker (HTML)
* [Git for Computer Scientists](http://eagain.net/articles/git-for-computer-scientists/)
* [Git From The Bottom Up](https://jwiegley.github.io/git-from-the-bottom-up/) - J. Wiegley
* [Git Immersion](http://gitimmersion.com)
@ -801,11 +803,11 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [Git Pocket Guide](https://www.oreilly.com/library/view/git-pocket-guide/9781449327507) - Richard E. Silverman
* [Git Reference](https://web.archive.org/web/20170602211147/http://gitref.org/)
* [Git Succinctly, Syncfusion](https://www.syncfusion.com/resources/techportal/ebooks/git) (PDF, Kindle) (email address *requested*, not required)
* [Git Tutorial](https://www.tutorialspoint.com/git/) - Tutorials Point Ltd. (HTML)
* [Git Tutorial](https://www.tutorialspoint.com/git/) - Tutorials Point (HTML, PDF)
* [Git-Tutorial For-Beginners](https://product.hubspot.com/blog/git-and-github-tutorial-for-beginners) - HubSpot Product Team
* [Git Workflows](https://web.archive.org/web/20210910133251/http://documentup.com/skwp/git-workflows-book) - Yan Pritzker *(:card_file_box: archived)*
* [Happy Git and GitHub for the useR](https://happygitwithr.com) - Jenny Bryan
* [How to Collaborate on Github](https://github.com/eonist/How-to-collaborate-on-github) - André J
* [How to Collaborate on GitHub: A mini book about collaborating on GitHub](https://github.com/eonist/How-to-collaborate-on-github) - André J
* [Introduction to Git and Github](https://launchschool.com/books/git) - Launch School
* [Introduction to Git and Github - Tutorial](http://cse.unl.edu/~cbourke/gitTutorial.pdf) - Dr. Chris Bourke (PDF)
* [Introduction to Git and GitHub eBook](https://github.com/bobbyiliev/introduction-to-git-and-github-ebook) - Bobby Iliev (Markdown, PDF)
@ -829,6 +831,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [Go for Javascript Developers](https://github.com/bulim/go-for-javascript-developers)
* [Go for Python Programmers](https://golang-for-python-programmers.readthedocs.io/en/latest) - Jason McVetta (HTML, PDF, EPUB)
* [Go Succinctly](https://www.syncfusion.com/succinctly-free-ebooks/go-succinctly) - Mark Lewin (PDF, EPUB, Kindle)
* [Go Tutorial](http://www.tutorialspoint.com/go/) - Tutorials Point (HTML, PDF)
* [Go Web Development Succinctly](https://www.syncfusion.com/succinctly-free-ebooks/go-web-development) - Mark Lewin (PDF, EPUB, Kindle)
* [How To Code in Go](https://www.digitalocean.com/community/books/how-to-code-in-go-ebook) - Mark Bates, Cory Lanou, and Timothy J. Raymond (PDF, EPUB)
* [Learn Go with Tests](https://quii.gitbook.io/learn-go-with-tests/)
@ -947,6 +950,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [Learn CSS Layout](http://learnlayout.com)
* [Learn CSS Layout the pedantic way](http://book.mixu.net/css/)
* [Learn to Code HTML & CSS](https://learn.shayhowe.com) - Shay Howe
* [Learning sass](https://riptutorial.com/Download/sass.pdf) - Compiled from Stack Overflow documentation (PDF)
* [Magic of CSS](https://adamschwartz.co/magic-of-css/) - Adam Schwartz (HTML) (:construction: *in process*)
* [MaintainableCSS](http://maintainablecss.com)
* [Pocket Guide to Writing SVG](https://svgpocketguide.com) - Joni Trythall
@ -1072,12 +1076,6 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [The JasperReports Ultimate Guide, Third Edition](http://jasperreports.sourceforge.net/JasperReports-Ultimate-Guide-3.pdf) (PDF)
#### Solidity
* [Introductory guide for Solidity](https://www.tutorialspoint.com/solidity/index.htm)
* [The Solidity Reference Guide](https://docs.soliditylang.org)
#### Spring
* [Building Applications with Spring 5 and Vue.js 2](https://www.packtpub.com/free-ebooks/building-applications-spring-5-and-vuejs-2) - James J. Ye (Packt account *required*)
@ -1248,7 +1246,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
#### Express.js
* [Express.js Guide](https://web.archive.org/web/20140621124403/https://leanpub.com/express/read) - Azat Mardanov
* [The Express.js Handbook](https://flaviocopes.com/page/express-handbook/) - Flavio Copes (HTML, PDF) *(email required for PDF)*
* [The Express.js Handbook](https://flaviocopes.com/page/express-handbook/) - Flavio Copes (PDF, EPUB, Kindle) *(email address requested)*
#### Fastify
@ -1278,7 +1276,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [Mastering Next.js](https://masteringnextjs.com)
* [Next.js Crash Course 2021](https://www.youtube.com/watch?v=mTz0GXj8NN0) - Brad Traversy (Traversy Media)
* [The Next.js Handbook](https://flaviocopes.com/page/nextjs-handbook/) - Flavio Copes (HTML, PDF) *(email required for PDF)*
* [The Next.js Handbook](https://flaviocopes.com/page/nextjs-handbook/) - Flavio Copes (PDF, EPUB, Kindle) *(email address requested)*
#### Node.js
@ -1297,7 +1295,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [Node.js Succinctly, Syncfusion](https://www.syncfusion.com/resources/techportal/ebooks/nodejs) (PDF, Kindle) (email address *requested*, not required)
* [Practical Node.js: Building Real-World Scalable Web Apps](https://github.com/azat-co/practicalnode) - Azat Mardan
* [The Node Beginner Book](http://nodebeginner.org)
* [The Node.js Handbook](https://flaviocopes.com/page/node-handbook/) - Flavio Copes (HTML, PDF) *(email required for PDF)*
* [The Node.js Handbook](https://flaviocopes.com/page/node-handbook/) - Flavio Copes (PDF, EPUB, Kindle) *(email address requested)*
#### Om
@ -1308,7 +1306,6 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
#### React
* [Airbnb React/JSX Style Guide](https://airbnb.io/javascript/react/) - Airbnb
* [Full-Stack React Projects](https://www.packtpub.com/free-ebooks/full-stack-react-projects) - Shama Hoque (Packt account *required*)
* [Hacking with React](http://www.hackingwithreact.com)
* [How To Code in React.js](https://www.digitalocean.com/community/books/how-to-code-in-react-js-ebook) - Joe Morgan
* [Intro to the React Framework](http://code.tutsplus.com/tutorials/intro-to-the-react-framework--net-35660)
@ -1339,6 +1336,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [React Native Express](http://www.reactnativeexpress.com)
* [React Native Notes for Professionals](https://goalkicker.com/ReactNativeBook) - Compiled from StackOverflow documentation (PDF)
* [React Native Training](https://www.gitbook.com/book/unbug/react-native-training/details)
* [The Ultimate Guide to React Native Optimization](https://www.callstack.com/blog/download-the-ultimate-guide-to-react-native-optimization-ebook) (PDF) *(email requested, not required)*
#### Redux
@ -1358,7 +1356,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [30 Days Of Vue](https://www.newline.co/30-days-of-vue) - Hassan Djirdeh (HTML; *email required for PDF*)
* [Learning Vue.js](https://riptutorial.com/Download/vue-js.pdf) (PDF)
* [The Vue.js Handbook](https://flaviocopes.nyc3.digitaloceanspaces.com/vue-handbook/vue-handbook.pdf) - Flavio Copes (PDF)
* [The Vue.js Handbook](https://flaviocopes.com/page/vue-handbook/) - Flavio Copes (PDF, EPUB, Kindle) *(email address requested)*
### Jenkins
@ -1455,6 +1453,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
### Lisp
* [ANSI Common Lisp Standard (draft version 15.17R, X3J13/94-101R)](https://franz.com/support/documentation/cl-ansi-standard-draft-w-sidebar.pdf) (PDF)
* [Basic Lisp Techniques](http://franz.com/resources/educational_resources/cooper.book.pdf) - David J. Cooper, Jr. (PDF)
* [Casting Spels in Lisp](http://www.lisperati.com/casting.html)
* [Common Lisp: A Gentle Introduction to Symbolic Computation](http://www.cs.cmu.edu/~dst/LispBook/) - David S. Touretzky (PDF, PS)
@ -1486,6 +1485,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [Lua 5.3 Reference Manual](http://www.lua.org/manual/5.3/)
* [Lua Programming](https://en.wikibooks.org/wiki/Lua_Programming) - Wikibooks
* [Lua Tutorial](http://www.tutorialspoint.com/lua/) - Tutorials Point (HTML, PDF)
* [Programming in Lua (first edition)](https://www.lua.org/pil/contents.html)
@ -1556,7 +1556,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
### MongoDB
* [Introduction to MongoDB](https://www.tutorialspoint.com/mongodb) - Tutorials Point
* [Introduction to MongoDB](https://www.tutorialspoint.com/mongodb/) - Tutorials Point (HTML, PDF)
* [Learning MongoDB](https://riptutorial.com/Download/mongodb.pdf) - Based on Unaffiliated Stack Overflow Documentation (PDF)
* [MongoDB Koans](https://github.com/chicagoruby/MongoDB_Koans)
* [MongoDB Notes for Professionals](https://goalkicker.com/MongoDBBook/) - Compiled from StackOverflow Documentation (PDF)
@ -1648,7 +1648,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [OCaml Scientific Computing](https://ocaml.xyz/book/) - Liang Wang, Jianxin Zhao (HTML) (:construction: *in process*)
* [Real World OCaml](https://dev.realworldocaml.org/toc.html)
* [Think OCaml](http://greenteapress.com/thinkocaml/index.html) - Allen B. Downey and Nicholas Monje
* [Unix System Programming in OCaml](http://ocaml.github.io/ocamlunix/) [Github Repo](https://github.com/ocaml/ocamlunix/)
* [Unix System Programming in OCaml](http://ocaml.github.io/ocamlunix/) - Xavier Leroy, Didier Rémy (HTML, [GitHub Repo](https://github.com/ocaml/ocamlunix/))
* [Using, Understanding, and Unraveling The OCaml Language: From Practice to Theory and vice versa](http://pauillac.inria.fr/~remy/cours/appsem/) - Didier Rémy
@ -1657,6 +1657,11 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [Octave Programming](https://en.wikibooks.org/wiki/Octave_Programming_Tutorial) - Wikibooks
### Odin
* [Overview \| Odin Programming Language](https://odin-lang.org/docs/overview/)
### OpenMP
* [A Guide To OpenMP](http://bisqwit.iki.fi/story/howto/openmp/)
@ -1778,7 +1783,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [Postgres Official Documentation](http://www.postgresql.org/docs/)
* [Postgres Succinctly](https://www.syncfusion.com/resources/techportal/ebooks/postgres) (PDF, Kindle) (email address *requested*, not required)
* [PostgreSQL Notes for Professionals](https://goalkicker.com/PostgreSQLBook/) - Compiled from StackOverflow documentation (PDF)
* [PostgreSQL Tutorial](https://www.tutorialspoint.com/postgresql) - Tutorials Point
* [PostgreSQL Tutorial](https://www.tutorialspoint.com/postgresql/) - Tutorials Point (HTML, PDF)
* [Practical PostgreSQL](http://www.faqs.org/docs/ppbook/book1.htm)
* [The Internals of PostgreSQL for database administrators and system developers](http://www.interdb.jp/pg)
@ -1856,7 +1861,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [Architecture Patterns with Python](https://www.cosmicpython.com/book/preface.html) - Harry J.W. Percival & Bob Gregory (HTML)
* [Automate the Boring Stuff with Python, 2nd Edition: Practical Programming for Total Beginners](https://automatetheboringstuff.com/2e/chapter0/) - Al Sweigart (3.8)
* [Automate the Boring Stuff with Python: Practical Programming for Total Beginners](https://automatetheboringstuff.com/chapter0/) - Al Sweigart (3.4)
* [Beej's Guide to Python Programming - For Beginners](http://beej.us/guide/bgpython/) - B. Hall (HTML,PDF)
* [Beej's Guide to Python Programming - For Beginners](http://beej.us/guide/bgpython/) - Brian "Beej Jorgensen" Hall (HTML,PDF)
* [Beyond the Basic Stuff with Python](https://inventwithpython.com/beyond/) - Al Sweigart (3.x)
* [Biopython Tutorial and Cookbook](https://biopython.org/DIST/docs/tutorial/Tutorial.pdf) (PDF)
* [Build applications in Python the antitextbook](http://github.com/thewhitetulip/build-app-with-python-antitextbook) (3.x) (HTML, PDF, EPUB, Mobi)
@ -1941,7 +1946,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [Python Programming](https://en.wikibooks.org/wiki/Python_Programming) - Wikibooks (2.7)
* [Python Programming](https://upload.wikimedia.org/wikipedia/commons/9/91/Python_Programming.pdf) - Wikibooks (PDF) (2.6)
* [Python Programming And Numerical Methods: A Guide For Engineers And Scientists](https://pythonnumericalmethods.berkeley.edu/notebooks/Index.html) - Qingkai Kong, Timmy Siauw, Alexandre Bayen (3.7)
* [Python Tutorial](https://www.tutorialspoint.com/python) - Tutorials Point
* [Python Tutorial](https://www.tutorialspoint.com/python/) - Tutorials Point (HTML, PDF)
* [Scipy Lecture Notes](http://scipy-lectures.github.io)
* [SICP in Python](http://www-inst.eecs.berkeley.edu/~cs61a/sp12/book/) (3.2)
* [Slither into Python: An introduction to Python for beginners](https://web.archive.org/web/20210411065902/https://www.slitherintopython.com/) (3.7) *(:card_file_box: archived)*
@ -1986,6 +1991,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [Explore Flask](https://exploreflask.com) - Robert Picard
* [Flask Documentation](https://flask.palletsprojects.com) - Pallets
* [Python Flask Tutorial](https://www.tutorialspoint.com/flask/) - Tutorials Point (HTML, PDF)
* [The Flask Mega-Tutorial](http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world) - Miguel Grinberg (0.9)
@ -2150,6 +2156,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [A Gentle Introduction To Rust](https://stevedonovan.github.io/rust-gentle-intro) - Steve J Donovan
* [Asynchronous Programming in Rust](https://rust-lang.github.io/async-book)
* [Easy Rust](https://dhghomon.github.io/easy_rust/) - David McLeod (HTML, PDF)
* [Guide to Rustc Development](https://rustc-dev-guide.rust-lang.org)
* [Learn Rust With Entirely Too Many Linked Lists](https://rust-unofficial.github.io/too-many-lists) - Alexis Beingessner
* [Rust by Example](https://doc.rust-lang.org/stable/rust-by-example)
@ -2199,7 +2206,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [Scala for Perl 5 Programmers](https://github.com/garu/scala-for-perl5-programmers) - Breno G. de Oliveira
* [Scala School by Twitter](http://twitter.github.io/scala_school/)
* [Scala Succinctly](https://www.syncfusion.com/ebooks/scala_succinctly) - Chris Rose
* [Scala Tutorial](https://www.tutorialspoint.com/scala) - Tutorials Point
* [Scala Tutorial](https://www.tutorialspoint.com/scala/) - Tutorials Point (HTML, PDF)
* [tetrix in Scala](http://eed3si9n.com/tetrix-in-scala-html5-book)
* [The Neophyte's Guide to Scala](http://danielwestheide.com/scala/neophytes.html) - Daniel Westheide
* [The Type Astronaut's Guide to Shapeless](http://underscore.io/books/shapeless-guide/) - Dave Gurnell (PDF, HTML, EPUB) (email address *requested*, not required)
@ -2275,6 +2282,12 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [Snap! Reference Manual](https://snap.berkeley.edu/snapsource/help/SnapManual.pdf) - B. Harvey, J. Mönig (PDF)
### Solidity
* [Introductory guide for Solidity](https://www.tutorialspoint.com/solidity/) - Tutorials Point (HTML)
* [The Solidity Reference Guide](https://docs.soliditylang.org)
### Spark
* [Databricks Spark Knowledge Base](https://www.gitbook.com/book/databricks/databricks-spark-knowledge-base/details)
@ -2294,7 +2307,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [SQL For Web Nerds](http://philip.greenspun.com/sql/)
* [SQL Notes for Professionals](http://goalkicker.com/SQLBook/) - Compiled from StackOverflow Documentation (PDF)
* [SQL Queries Succinctly](https://www.syncfusion.com/ebooks/sql_queries_succinctly) - Nick Harrison
* [SQLite Tutorial](https://www.tutorialspoint.com/sqlite)
* [SQLite Tutorial](https://www.tutorialspoint.com/sqlite/)
* [Use The Index, Luke!: A Guide To SQL Database Performance](http://use-the-index-luke.com)
@ -2341,6 +2354,7 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
* [Programming in Standard ML, DRAFT](http://www.cs.cmu.edu/~rwh/isml/book.pdf) - Robert Harper (PDF)
* [SML# Document](http://www.pllab.riec.tohoku.ac.jp/smlsharp/docs/3.0/en/manual.xhtml) - Atsushi Ohori, Katsuhiro Ueno
* [The Definition of Standard ML (Revised)](http://sml-family.org/sml97-defn.pdf) - SMLFamily GitHub project (PDF)
* [Unix System Programming with Standard ML](http://mlton.org/References.attachments/Shipman02.pdf) - Anthony L. Shipman (PDF)
### Subversion
@ -2414,13 +2428,13 @@ That section got so big, we decided to split it into its own file, the [BY SUBJE
#### Deno
* [Deno Manual](https://deno.land/manual)
* [FlavioCopes Deno Handbook](https://flaviocopes.com/deno) - *free PDF with registration*
* [The Deno Handbook](https://flaviocopes.com/page/deno-handbook/) - Flavio Copes (PDF, EPUB, Kindle) *(email address requested)*
### Unix
* [An Introduction to Unix](http://www.oliverelliott.org/article/computing/tut_unix/)
* [Beej's Guide to Unix Interprocess Communication](http://beej.us/guide/bgipc/) - B. Hall (HTML,PDF)
* [Beej's Guide to Unix Interprocess Communication](http://beej.us/guide/bgipc/) - Brian "Beej Jorgensen" Hall (HTML,PDF)
* [Commentary on the Sixth Edition UNIX Operating System](http://www.lemis.com/grog/Documentation/Lions/) - J. Lions
* [INTRODUCTION TO UNIX](https://homepages.uc.edu/~thomam/Intro_Unix_Text/TOC.html) - Mark A. Thomas
* [Unix as IDE](https://github.com/mrzool/unix-as-ide) - Tom Ryder (epub, mobi)

View File

@ -1,25 +1,47 @@
### Index
* [Go](#golang)
* [HTML](#html)
* [Blockchain](#blockchain)
* [Go](#go)
* [HTML and CSS](#html-and-css)
* [JavaScript](#javascript)
* [Linux](#linux)
* [PHP](#php)
* [Python](#python)
* [Web Development](#web-development)
### <a name="golang"></a>Go
### Blockchain
* [Bitcoin - On Point](https://eimaung.com/bitcoin/) - Ei Maung (PDF)
### Go
* [The Little Go Book](https://github.com/nainglinaung/the-little-go-book) - Karl Seguin, Naing Lin Aung ([HTML](https://github.com/nainglinaung/the-little-go-book/blob/master/mm/go.md), [PDF](https://github.com/nainglinaung/the-little-go-book/blob/master/mm/go.pdf), [EPUB](https://github.com/nainglinaung/the-little-go-book/blob/master/mm/go.epub))
### HTML
### HTML and CSS
* [Bootstrap - On Point](https://eimaung.com/bootstrap/) - Ei Maung (PDF)
* [HTML](https://books.saturngod.net/HTML5/) - Saturngod
### JavaScript
* [API - On Point](https://eimaung.com/api/) - Ei Maung (PDF)
* [JavaScript - On Point](https://eimaung.com/jsbook/) - Ei Maung (PDF)
* [React - On Point](https://eimaung.com/react/) - Ei Maung (PDF)
### Linux
* [Ubuntu Linux for You](http://eimaung.com/ubuntu-for-you) - Ei Maung
* [Ubuntu Linux for You](http://eimaung.com/ubuntu-for-you) - Ei Maung (PDF)
### PHP
* [Laravel - On Point](https://eimaung.com/laravel/) - Ei Maung (PDF)
* [PHP - On Point](https://eimaung.com/php/) - Ei Maung (PDF)
### Python
@ -29,6 +51,6 @@
### Web Development
* [Professional Web Developer](http://eimaung.com/professional-web-developer) - Ei Maung
* [Rockstar Developer](http://eimaung.com/rockstar-developer) - Ei Maung
* [Professional Web Developer](http://eimaung.com/professional-web-developer) - Ei Maung (PDF)
* [Professional Web Developer 2022](https://eimaung.com/pwd2022/) - Ei Maung (PDF)
* [Rockstar Developer](http://eimaung.com/rockstar-developer) - Ei Maung (PDF)

View File

@ -1,7 +1,7 @@
### Index
* [C](#c)
* [C#](#c-sharp)
* [C#](#csharp)
* [COBOL](#cobol)
* [Java](#java)
* [PHP](#php)
@ -15,7 +15,7 @@
* [Programmeren in C](https://nl.wikibooks.org/wiki/Programmeren_in_C) - Wikibooks
### C Sharp
### <a id="csharp"></a>C\#
* [Programmeren in C Sharp](https://nl.wikibooks.org/wiki/Programmeren_in_C_Sharp) - Wikibooks

View File

@ -5,7 +5,7 @@
* [Assembly](#assembly)
* [Bash](#bash)
* [C](#c)
* [C#](#c-sharp)
* [C#](#csharp)
* [C++](#cpp)
* [Common Lisp](#common-lisp)
* [Coq](#coq)
@ -59,7 +59,7 @@
### C
* [Beej's Guide to Network Programming - Używanie gniazd internetowych](http://www.asawicki.info/Mirror/Beej_s%20Guide%20to%20Network%20Programming%20PL/bgnet.pdf) - B. Hall, Przełożył Bartosz Zapałowski (PDF)
* [Beej's Guide to Network Programming - Używanie gniazd internetowych](http://www.asawicki.info/Mirror/Beej_s%20Guide%20to%20Network%20Programming%20PL/bgnet.pdf) - Brian "Beej Jorgensen" Hall, Przełożył Bartosz Zapałowski (PDF)
* [Kurs C](http://qvazar.pl/kurs-c/kurs-c)
* [Kurs języka C](http://kurs-c.manifo.com/konfiguracja-srodowiska-298-547) - Mateusz Piaszczak
* [Kurs programowania w języku ANSI C pod systemem UNIX](http://janek.ae.krakow.pl/wiluszt/zajecia/c/ansic/) - Janusz Przewocki, Adam Narbudowicz
@ -69,7 +69,7 @@
* [Wgłąb języka C](http://helion.pl/online/wglab/wglab.zip) (ZIP)
### C Sharp
### <a id="csharp"></a>C\#
* [Darmowy kurs C#](http://kurs.aspnetmvc.pl/Csharp)
* [Kurs C#](http://zajacmarek.com/kurs-c-sharp/) - Marek Zając
@ -78,7 +78,7 @@
* [Wstęp do programowania w C#](http://c-sharp.ue.katowice.pl/ksiazka/c_sharp_wer2_0.pdf) - Anna Kempa, Tomasz Staś (PDF)
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [C++](https://pl.wikibooks.org/wiki/C++) - Wikibooks
* [Język C++ podstawy programowania](http://www.dz5.pl/ti/cpp/zz_dodatki/kurs_cpp_szczegolowy2.pdf) - Paweł Mikołajczak (PDF)

View File

@ -5,9 +5,10 @@
* [Programação](#programação)
* [Sistemas Operacionais](#sistemas-operacionais)
* [Android](#android)
* [Arduino](#arduino)
* [Assembly](#assembly)
* [C](#c)
* [C#](#c-sharp)
* [C#](#csharp)
* [C++](#cpp)
* [Dart](#dart)
* [Docker](#docker)
@ -74,6 +75,7 @@
#### Sistemas Operacionais
* [Guia com mais de 500 comandos do Linux explicados](https://www.gnulinuxbrasil.com.br/2017/05/24/guia-com-mais-de-500-comandos-do-linux-explicados/) - Bruno Andrade (PDF)
* [Guia Foca Linux](https://www.guiafoca.org/#download) - Gleydson Maziolli (PDF)
* [Sistemas Operacionais: Conceitos e Mecanismos](http://wiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm:socm-livro.pdf) - Carlos A. Maziero (PDF) (:construction: *em contínuo desenvolvimento*)
@ -83,6 +85,11 @@
* [Google Android: Uma abordagem prática e didática](https://leanpub.com/google-android) - Rafael Guimarães Sakurai - (Necessário criar uma conta (gratuita) no Leanpub para baixar o livro completo nos formatos PDF, EPUB, MOBI ou pelo próprio site)
### Arduino
* [Arduino Guia Iniciante](https://cdn.multilogica-shop.com/Guia_Arduino/Guia_Arduino_Iniciante_Multilogica_Shop_Versao_2.pdf) - Multilógica Shop (PDF)
### Assembly
* [Assembly x86](https://mentebinaria.gitbook.io/assembly-x86/) - Luis Felipe, Mente Binária (gitbook)
@ -93,7 +100,7 @@
* [Apostila Linguagem C](http://www.ime.usp.br/~slago/slago-C.pdf) - Silvio Lago (PDF)
* [Curso de Programação em C - UFMG](http://www2.dcc.ufmg.br/disciplinas/pc/source/introducao_c_renatocm_deeufmg.pdf) - Renato Cardoso Mesquita (PDF)
* [Guia Beej's Para Programação em Rede - Usando Internet Sockets](http://beej.us/guide/bgnet/translations/bgnet_ptbr.html) - B. Hall, Traduzido por cv8minix3 (HTML)
* [Guia Beej's Para Programação em Rede - Usando Internet Sockets](http://beej.us/guide/bgnet/translations/bgnet_ptbr.html) - Brian "Beej Jorgensen" Hall, Traduzido por cv8minix3 (HTML)
* [Introdução a Programação](https://github.com/ufpb-computacao/introducao-a-programacao-livro/releases) - livro adotado na UFPB.
* [Introdução em Computação - C](http://www.ime.usp.br/~elo/IntroducaoComputacao/).
* [Linguagem C - Notas de Aula](https://www.inf.ufpr.br/cursos/ci067/Docs/NotasAula/) - Carmem Hara, Wagner Zola (HTML, [PDF](https://www.inf.ufpr.br/cursos/ci067/Docs/NotasAula.pdf))
@ -101,12 +108,12 @@
* [Projeto de Algoritmos em C](http://www.ime.usp.br/~pf/algoritmos/)
### C Sharp
### <a id="csharp"></a>C\#
* [C# e Orientação a Objetos](https://www.caelum.com.br/apostila-csharp-orientacao-objetos/) - Caelum
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [Apostila Linguagem C++](http://www.ime.usp.br/~slago/slago-C++.pdf) - Silvio Lago (PDF)
* [Estrutura de Dados](http://calhau.dca.fee.unicamp.br/wiki/images/0/01/EstruturasDados.pdf) (PDF)
@ -186,6 +193,7 @@
### Java
* [Desenvolvimento de Aplicações Web em Java e Outras Tecnologias](https://github.com/davidbuzatto/Livro-Desenvolvimento-de-Aplica-es-Web-em-Java/releases) - David Buzatto (PDF)
* [Desenvolvimento Distribuído com JavaEE](https://www.gitbook.com/book/rafaelsakurai/desenvolvimento-distribuido) - Rafael Guimarães Sakurai
* [Imergindo na JVM](https://leanpub.com/imergindo-jvm) - Otavio Santana *(Leanpub account or valid email requested)*
* [Introdução a Ciência da Computação com Java](http://ccsl.ime.usp.br/files/publications/files/2008/intro-java-cc.pdf) (PDF)

View File

@ -1,6 +1,7 @@
### Index
* [Ajax](#ajax)
* [C](#c)
* [HTML](#html)
* [MySQL](#mysql)
* [PHP](#php)
@ -13,6 +14,11 @@
* [Ajax](http://etutoriale.ro/articles/1483/1/Tutorial-Ajax/)
### C
* [Ghidul Beej pentru Programarea in Retea - Folosind socket de internet](https://web.archive.org/web/20180710112954/http://weknowyourdreams.com/beej.html) Brian "Beej Jorgensen" Hall, Dragos Moroianu (HTML) *(:card_file_box: archived)*
### HTML
* [HTML](http://tutorialehtml.com/ro/introducere-in-html/)

View File

@ -9,7 +9,7 @@
* [Assembly](#assembly)
* [Bash](#bash)
* [C](#c)
* [C#](#c-sharp)
* [C#](#csharp)
* [C++](#cpp)
* [Clojure](#clojure)
* [CoffeeScript](#coffeescript)
@ -134,16 +134,16 @@
### C
* [Заметки о языке программирования Си/Си++](https://yurichev.com/writings/C-notes-ru.pdf) - Денис Юричев (PDF)
* [Краткое руководство Beej к GDB](https://paintingvalley.com/ru-bggdb) - (HTML)
* [Краткое руководство Beej к GDB](https://paintingvalley.com/ru-bggdb) - Brian "Beej Jorgensen" Hall (HTML)
* [Особенности языка C. Учебное пособие](https://younglinux.info/c) - C. Шапошникова (PDF)
* [Разработка сетевых приложений](http://zed.karelia.ru/mmedia/docs/nets.pdf) (PDF)
* [Руководство по языку программирования C](https://metanit.com/cpp/c) - Евгений Попов
* [Сетевое программирование от Биджа - Использование Интернет Сокетов](http://beej.us/guide/bgnet/translations/bgnet_A4_rus.pdf) - B. Hall, Перевод Андрея Косенко (PDF)
* [Сетевое программирование от Биджа - Использование Интернет Сокетов](http://beej.us/guide/bgnet/translations/bgnet_A4_rus.pdf) - Brian "Beej Jorgensen" Hall, Перевод Андрея Косенко (PDF)
* [Си/Си++. От дилетанта до профессионала](http://ermak.cs.nstu.ru/cprog/html) - Романов Е.Л.
* [Язык Си в примерах](https://ru.wikibooks.org/wiki/Язык_Си_в_примерах) - Викиучебник
### C Sharp
### <a id="csharp"></a>C\#
* [Паттерны проектирования в C# и .NET](https://metanit.com/sharp/patterns) - Евгений Попов
* [Полное руководство по языку программирования С# 7.0 и платформе .NET 4.7](https://metanit.com/sharp/tutorial) - Евгений Попов
@ -151,7 +151,7 @@
* [Design Patterns via C#](http://itvdn.com/ru/patterns) - Александр Шевчук, Дмитрий Охрименко, Андрей Касьянов (PDF) *(Требуется аккаунт)*
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [Введение в язык программирования С++](http://lib.ru/CPPHB/cpptut.txt_with-big-pictures.html) - Бьерн Страуструп
* [Введение в язык Си++](http://stolyarov.info/books/cppintro) - Андрей Столяров (PDF)

View File

@ -0,0 +1,8 @@
### Index
* [C](#c)
### C
* [Beej-ov vodič za mrežno programiranje - Korištenje Internet soket-a](https://web.archive.org/web/20181008134854/http://users.teol.net:80/~mvlado/sockets/) - Brian "Beej Jorgensen" Hall, Maksimović Darko (HTML) *(:card_file_box: archived)*

View File

@ -36,6 +36,7 @@ Books that cover a specific programming language can be found in the [BY PROGRA
* [Partial Evaluation](#partial-evaluation)
* [Professional Development](#professional-development)
* [Programming Paradigms](#programming-paradigms)
* [Quantum Computing](#quantum-computing)
* [Regular Expressions](#regular-expressions)
* [Reverse Engineering](#reverse-engineering)
* [Search Engines](#search-engines)
@ -78,7 +79,7 @@ Books that cover a specific programming language can be found in the [BY PROGRA
* [TechBooksForFree.com](http://www.techbooksforfree.com)
* [The Definitive C++ Book Guide and List](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)
* [Theassayer.org](http://theassayer.org)
* [tutorialspoint](http://www.tutorialspoint.com)
* [Tutorials Point](http://www.tutorialspoint.com)
### Algorithms & Data Structures
@ -101,6 +102,7 @@ Books that cover a specific programming language can be found in the [BY PROGRA
* [Data Structures](http://www.cse.iitd.ernet.in/~suban/cs130/index.html) - Prof. Subhashis Banerjee, IIT Delhi
* [Data Structures (Into Java) - Paul N. Hilfinger](http://www-inst.eecs.berkeley.edu/~cs61b/fa14/book2/data-structures.pdf) (PDF)
* [Data Structures and Algorithms: Annotated Reference with Examples](https://web.archive.org/web/20170715160229/http://dotnetslackers.com/Community/files/folders/data-structures-and-algorithms/entry30283.aspx) - G. Barnett and L. Del Tongo
* [Data Structures and Algorithms Tutorial](https://www.tutorialspoint.com/data_structures_algorithms/) - Tutorials Point (HTML, PDF)
* [Data Structures Succinctly Part 1, Syncfusion](https://www.syncfusion.com/resources/techportal/ebooks/datastructurespart1) (PDF, Kindle) (email address *requested*, not required)
* [Data Structures Succinctly Part 2, Syncfusion](https://www.syncfusion.com/resources/techportal/ebooks/datastructurespart2) (PDF, Kindle) (email address *requested*, not required)
* [Elementary Algorithms](https://github.com/liuxinyu95/AlgoXY) - Larry LIU Xinyu
@ -143,7 +145,8 @@ Books that cover a specific programming language can be found in the [BY PROGRA
* [Getting Started with Enterprise Blockchain: A Guide to Design and Development](https://www.ibm.com/downloads/cas/RYWXAR0M) - Michael Bradley, David Gorman, Matt Lucas, Matthew Golby-Kirk (PDF)
* [Grokking Bitcoin](https://rosenbaum.se/book/) - Kalle Rosenbaum (HTML)
* [IBM Blockchain: The Founders Handbook, Third Edition](https://www.ibm.com/downloads/cas/GZPPMWM5) - Antonio Banda, Matthew Hamilton, Eileen Lowry, John Widdifield et al. (PDF)
* [Mastering Bitcoin - Unlocking digital currencies](https://github.com/bitcoinbook/bitcoinbook) - Andreas M. Antonopoulos
* [Mastering Bitcoin - Unlocking digital currencies (2017), 2nd Edition](https://github.com/bitcoinbook/bitcoinbook) - Andreas M. Antonopoulos (AsciiDoc)
* [Mastering Ethereum (2018), 1st Edition](https://github.com/ethereumbook/ethereumbook) - Andreas M. Antonopoulos, Gavin Wood (AsciiDoc)
* [Playtime with Hyperledger Composer](https://schadokar.dev/ebooks/playtime-with-hyperledger-composer/) - Shubham Chadokar (PDF)
@ -226,6 +229,7 @@ Books that cover a specific programming language can be found in the [BY PROGRA
* [CI/CD for Monorepos: Effectively building, testing, and deploying code with monorepos](https://github.com/semaphoreci/book-monorepo-cicd) - Pablo Tomas Fernandez Zavalia, Marko Anastasov, SemaphoreCI (PDF, EPUB, Kindle)
* [CI/CD with Docker and Kubernetes Book](https://github.com/semaphoreci/book-cicd-docker-kubernetes) - Marko Anastasov, Jérôme Petazzoni, Pablo Tom F. Zavalia, SemaphoreCI (PDF, EPUB, Kindle)
* [Docker Jumpstart](http://odewahn.github.io/docker-jumpstart/) - Andrew Odewahn
* [Docker Tutorial](https://www.tutorialspoint.com/docker/) - Tutorials Point (HTML, PDF)
* [Kubernetes Deployment & Security Patterns](https://resources.linuxfoundation.org/LF+Projects/CNCF/TheNewStack_Book2_KubernetesDeploymentAndSecurityPatterns.pdf) - Alex Williams (PDF)
* [Kubernetes for Full-Stack Developers](https://www.digitalocean.com/community/curriculums/kubernetes-for-full-stack-developers) - Jamon Camisso, Hanif Jetha, Katherine Juell (PDF, EPUB)
* [Uncomplicating Kubernetes](https://livro.descomplicandokubernetes.com.br/en/) - Jeferson Fernando
@ -262,6 +266,7 @@ Books that cover a specific programming language can be found in the [BY PROGRA
### Game Development
* [2D Game Development: From Zero To Hero](https://github.com/Penaz91/2DGD_F0TH) - Daniele Penazzo (HTML, [PDF, EBPUB, Kindle...](https://therealpenaz91.itch.io/2dgd-f0th#download)) (:construction: *in process*)
* [3D Math Primer for Graphics and Game Development](https://gamemath.com/book/intro.html) - Fletcher Dunn (HTML)
* [Coding With Minecraft](https://turtleappstore.com/book/) - Al Sweigart
* [Designing Virtual Worlds](https://mud.co.uk/richard/DesigningVirtualWorlds.pdf) - Richard A. Bartle (PDF)
* [Game AI Pro](http://www.gameaipro.com) - Steve Rabin
@ -348,7 +353,7 @@ Books that cover a specific programming language can be found in the [BY PROGRA
* [Machine Learning for Data Streams](https://moa.cms.waikato.ac.nz/book-html/) - Albert Bifet, Ricard Gavaldà, Geoff Holmes, Bernhard Pfahringer
* [Machine Learning from Scratch](https://dafriedman97.github.io/mlbook/) - Danny Friedman (HTML, PDF, Jupyter Book)
* [Machine Learning, Neural and Statistical Classification](http://www1.maths.leeds.ac.uk/~charles/statlog/)
* [Machine Learning with Python](https://www.tutorialspoint.com/machine_learning_with_python) - Tutorials Point (HTML, [PDF](https://www.tutorialspoint.com/machine_learning_with_python/machine_learning_with_python_tutorial.pdf))
* [Machine Learning with Python](https://www.tutorialspoint.com/machine_learning_with_python/) - Tutorials Point (HTML, [PDF](https://www.tutorialspoint.com/machine_learning_with_python/machine_learning_with_python_tutorial.pdf))
* [Mathematics for Machine Learning](https://gwthomas.github.io/docs/math4ml.pdf) - Garrett Thomas (PDF)
* [Mathematics for Machine Learning](https://mml-book.github.io) - Marc Peter Deisenroth, A Aldo Faisal, and Cheng Soon Ong
* [Neural Networks and Deep Learning](http://neuralnetworksanddeeplearning.com)
@ -457,7 +462,7 @@ Books that cover a specific programming language can be found in the [BY PROGRA
* [Non-Uniform Random Variate Generation](http://luc.devroye.org/rnbookindex.html) - Luc Devroye (PDF)
* [Notes on Diffy Qs](https://www.jirka.org/diffyqs/) - Jiří Lebl
* [Number Theory](https://github.com/holdenlee/number-theory) - Holden Lee MIT
* [Number Theory: In Context and Interactive](https://web.archive.org/web/20210711231452/https://math.gordon.edu/ntic/) - Karl-Dieter Crisman
* [Number Theory: In Context and Interactive](https://math.gordon.edu/ntic/) - Karl-Dieter Crisman (HTML, PDF)
* [Odds and Ends: Introducing Probability & Decision with a Visual Emphasis](https://jonathanweisberg.org/vip/) - Jonathan Weisberg
* [Online Statistics Education](http://onlinestatbook.com) - David Lane
* [OpenIntro Statistics](https://www.openintro.org/stat/textbook.php) - David M. Diez, Christopher D. Barr, Mine Çetinkaya-Rundel
@ -491,6 +496,7 @@ Books that cover a specific programming language can be found in the [BY PROGRA
* [A Mathematical Theory of Communication](https://archive.org/details/bstj27-4-623) - Claude E.Shannon
* [Discrete Structures for Computer Science: Counting, Recursion, and Probability](http://cglab.ca/~michiel/DiscreteStructures/) - Michiel Smid
* [Exploring Math for Programmers and Data Scientists](https://freecontent.manning.com/free-ebook-exploring-math-for-programmers-and-data-scientists/) - Paul Orland
* [Mathematics for Computer Science](https://courses.csail.mit.edu/6.042/spring18/mcs.pdf) - Eric Lehman, F. Thomson Leighton, Albert R. Meyer (PDF)
### Misc
@ -515,6 +521,7 @@ Books that cover a specific programming language can be found in the [BY PROGRA
* [Digital Signal Processing For Engineers and Scientists](http://www.dspguide.com)
* [Digital Signal Processing in Python](https://greenteapress.com/wp/think-dsp) - Allen B. Downey
* ["DYNAMIC LINKED LIBRARIES": Paradigms of the GPL license in contemporary software](http://www.lulu.com/shop/http://www.lulu.com/shop/luis-enr%C3%ADquez-a/dynamic-linked-libraries-paradigms-of-the-gpl-license-in-contemporary-software/ebook/product-21419788.html) - Luis A. Enríquez
* [Encyclopedia of Human Computer Interaction 2nd Edition](https://www.interaction-design.org/literature/book/the-encyclopedia-of-human-computer-interaction-2nd-ed)
* [Essential Image Optimization](https://images.guide) - Addy Osmani
* [Foundations of Programming](https://openmymind.net/FoundationsOfProgramming.pdf) - Karl Seguin (PDF)
* [Getting Real](https://basecamp.com/books/getting-real) - Basecamp, 37signals ([HTML](https://basecamp.com/gettingreal), [PDF](https://basecamp.com/gettingreal/getting-real.pdf))
@ -561,6 +568,7 @@ Books that cover a specific programming language can be found in the [BY PROGRA
### Networking
* [An Introduction to Computer Networks](http://intronetworks.cs.luc.edu) (HTML, PDF, Kindle)
* [Beej's Guide to Network Programming - Using Internet Sockets](https://beej.us/guide/bgnet/) - Brian "Beej Jorgensen" Hall (HTML, PDF)
* [Bits, Signals, and Packets: An Introduction to Digital Communications and Networks](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-02-introduction-to-eecs-ii-digital-communication-systems-fall-2012/readings/)
* [Code Connected vol.1](http://hintjens.wdfiles.com/local--files/main%3Afiles/cc1pe.pdf) (PDF) (book on ZeroMQ)
* [Computer Networking : Principles, Protocols and Practice](http://cnp3book.info.ucl.ac.be/1st/html/index.html) (HTML, ePub, PDF, Kindle)
@ -666,6 +674,13 @@ Kerridge (PDF) (email address *requested*, not required)
* [Type Theory and Functional Programming](https://www.cs.kent.ac.uk/people/staff/sjt/TTFP/)
### Quantum Computing
* [Introduction to Classical and Quantum Computing](http://www.thomaswong.net/introduction-to-classical-and-quantum-computing-1e2p.pdf) - Thomas G. Wong (PDF)
* [Learn Quantum Computation using Qiskit](https://qiskit.org/textbook/preface.html) - Frank Harkins et al. (HTML)
* [Quantum Computing for the Quantum Curious](https://link.springer.com/book/10.1007/978-3-030-61601-4) - Ciaran Hughes, Joshua Isaacson, Anastasia Perry, Ranbel F. Sun, Jessica Turner (HTML, PDF, EPUB)
### Regular Expressions
* [JavaScript RegExp](https://learnbyexample.github.io/learn_js_regexp/) - Sundeep Agarwal
@ -719,6 +734,7 @@ Kerridge (PDF) (email address *requested*, not required)
* [Data-Oriented Design](http://www.dataorienteddesign.com/dodmain/dodmain.html)
* [Developing Reactive Microservices](https://info.lightbend.com/COLL-20XX-Developing-Reactive-Microservices_Landing-Page.html) (email address *requested*, not required)
* [Domain Driven Design Quickly](http://www.infoq.com/minibooks/domain-driven-design-quickly)
* [Domain-Driven Design Reference](https://www.domainlanguage.com/ddd/reference) - Eric Evans
* [Domain-Driven Design: The First 15 Years. Essays from the DDD community](https://dddeurope.com/15years/) - Domain-Driven Design Europe ([HTML, PDF, ePub](https://leanpub.com/ddd_first_15_years/)) *(Leanpub account or valid email requested)*
* [DSL Engineering: Designing, Implementing and Using Domain-Specific Languages](http://dslbook.org) - Markus Voelter
* [Exploring CQRS and Event Sourcing](https://docs.microsoft.com/en-us/previous-versions/msp-n-p/jj554200(v=pandp.10)) - Dominic Betts, Julián Domínguez, Grigori Melnik, Mani Subramanian, Fernando Simonazzi ([EPUB, PDF](http://www.microsoft.com/en-us/download/details.aspx?id=34774) - [code samples](http://go.microsoft.com/fwlink/p/?linkid=258571))
@ -801,4 +817,3 @@ Kerridge (PDF) (email address *requested*, not required)
### Workflow
* [Declare Peace on Virtual Machines. A guide to simplifying vm-based development on a Mac](https://leanpub.com/declarepeaceonvms/read)

View File

@ -10,7 +10,7 @@
* [C-programmering](https://sv.wikibooks.org/wiki/C-programmering) - Wikibooks
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [Programmera spel i C++ för nybörjare](https://sv.wikibooks.org/wiki/Programmera_spel_i_C%2B%2B_f%C3%B6r_nyb%C3%B6rjare) - Wikibooks
@ -23,4 +23,3 @@
### PHP
* [Programmera i PHP](https://sv.wikibooks.org/wiki/Programmera_i_PHP) - Wikibooks

View File

@ -43,11 +43,11 @@
### C
* [Beej'in Ağ Programlama Kılavuzu - Internet Soketlerini Kullanarak](http://www.belgeler.org/bgnet/bgnet.html) - B. Hall, Çeviren Emre "FZ" Sevinç (HTML)
* [Beej'in Ağ Programlama Kılavuzu - Internet Soketlerini Kullanarak](http://www.belgeler.org/bgnet/bgnet.html) - Brian "Beej Jorgensen" Hall, Çeviren Emre "FZ" Sevinç (HTML)
* [GNU C Kütüphanesi Basvuru Klavuzu](http://www.belgeler.org/glibc/glibc.html)
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [C++ Dersleri](https://www.yusufsezer.com.tr/cpp-dersleri/) - Yusuf Sezer

View File

@ -3,6 +3,6 @@
* [Go](#golang)
### <a name="golang"></a>Go
### <a id="golang"></a>Go
* [The Little Go Book](https://github.com/nainglinaung/the-little-go-book) - Karl Seguin, Naing Lin Aung ([HTML](https://github.com/quangnh89/the-little-go-book/blob/master/vi/go.md))

View File

@ -28,7 +28,7 @@
* [Assembly](#assembly)
* [AWK](#awk)
* [C](#c)
* [C#](#c-sharp)
* [C#](#csharp)
* [C++](#cpp)
* [CoffeeScript](#coffeescript)
* [Dart](#dart)
@ -208,6 +208,7 @@
### 设计模式
* [深入设计模式](https://refactoringguru.cn/design-patterns)
* [史上最全设计模式导学目录](http://blog.csdn.net/lovelion/article/details/17517213)
* [图说设计模式](https://github.com/me115/design_patterns)
@ -329,17 +330,17 @@
### C
* [新概念 C 语言教程](https://github.com/limingth/NCCL)
* [Beej's Guide to Network Programming 簡體中文版](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-ME5zR-03ZEHgp2kv7bW%2F-MF9EIY-s19_w19_Unae%2F-MF9F-HCs1nLOkY1mLVi%2FBeej-cn-20140429.zip?alt=media&token=de27f96b-2aed-4c97-8879-649638c7559f) - B. Hall, 廖亚伦译 (PDF)
* [Beej's Guide to Network Programming 簡體中文版](https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-ME5zR-03ZEHgp2kv7bW%2F-MF9EIY-s19_w19_Unae%2F-MF9F-HCs1nLOkY1mLVi%2FBeej-cn-20140429.zip?alt=media&token=de27f96b-2aed-4c97-8879-649638c7559f) - Brian "Beej Jorgensen" Hall, 廖亚伦译 (PDF)
* [C 语言常见问题集](http://c-faq-chn.sourceforge.net/ccfaq/ccfaq.html)
* [Linux C 编程一站式学习](http://docs.linuxtone.org/ebooks/C&CPP/c/)
### C Sharp
### <a id="csharp"></a>C\#
* [精通C#(第6版)](http://book.douban.com/subject/24827879/)
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [100个gcc小技巧](https://github.com/hellogcc/100-gcc-tips/blob/master/src/index.md)
* [100个gdb小技巧](https://github.com/hellogcc/100-gdb-tips/blob/master/src/index.md)
@ -484,6 +485,7 @@
* [命名函数表达式探秘](http://justjavac.com/named-function-expressions-demystified.html) - kangax、为之漫笔(翻译) (原始地址无法打开所以此处地址为justjavac博客上的备份)
* [你不知道的Javascript](https://github.com/getify/You-Dont-Know-JS/tree/1ed-zh-CN)
* [深入理解JavaScript系列](http://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html)
* [现代 JavaScript 教程](https://zh.javascript.info) - Ilya Kantor
* [学用 JavaScript 设计模式](http://www.oschina.net/translate/learning-javascript-design-patterns) - 开源中国
* [Airbnb JavaScript 规范](https://github.com/adamlu/javascript-style-guide)
* [ECMAScript 6 入门](http://es6.ruanyifeng.com) - 阮一峰

View File

@ -45,7 +45,7 @@
* [How to program in C# - Beginner Course \| Brackeys](https://www.youtube.com/playlist?list=PLPV2KyIb3jR6ZkG8gZwJYSjnXxmfPAl51) (screencast)
### <a name="cpp"></a>C++
### <a id="cpp"></a>C++
* [C++ Complete Course](https://www.youtube.com/watch?v=18c3MTX0PK0&list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb) (screencast)
* [C++ Programming Video Lectures](https://www.youtube.com/playlist?list=PLTZbNwgO5ebo64D1k0DJQGX30X6iSTmRr) (screencast)
@ -227,6 +227,7 @@
* [React Podcast](https://reactpodcast.simplecast.fm) (podcast)
* [React Round Up](https://devchat.tv/podcasts/react-round-up) - DevChat.tv (podcast)
* [ReactCasts](https://www.youtube.com/c/reactcasts) (screencast)
* [The React Native Show](https://www.callstack.com/podcast-react-native-show) - Mike Grabowski et al. (screencast)
### Kotlin

View File

@ -61,6 +61,7 @@
* [Codely.TV screencasts](https://codely.tv/blog/screencasts/) - Codely.TV (screencasts)
* [Cosas de Internet](https://cosasdeinternet.fm/episodios) - Santiago Espinosa, Laura Rojas Aponte (podcast)
* [Día30](https://www.dia30.mx) - Víctor Velázquez, Mariana Ruiz (podcast)
* [Digital. Innovation. Engineers.](https://anchor.fm/mimacom) - Mimacom (podcast)
* [Doomling & Chill](https://anchor.fm/bel-rey) - Bel Rey (podcast)
* [Educando Geek](https://educandogeek.github.io) - Juanjo Gurillo (podcast)
* [Frikismo Puro](https://www.ivoox.com/podcast-frikismo-puro_sq_f1268809_1.html) - Francisco Javier Gárate Soto, Juan Leiva (podcast)

View File

@ -1,4 +1,8 @@
# Podcastit
* [Prochat - Identio](https://podtail.com/fi/podcast/prochat)
* [Webbidevaus](https://webbidevaus.fi)
* [Kahvit näppikselle](https://www.aalto.fi/fi/podcastit/kahvit-nappikselle) - Aalto-yliopisto (podcast)
* [Koodarikuiskaajan podcast](https://koodarikuiskaaja.simplecast.com) - Elisa Heikura (podcast)
* [Koodia pinnan alla](https://koodiapinnanalla.fi) - Markus Hjort ja Yrjö Kari-Koskinen (podcast)
* [Koodikahvit](https://audioboom.com/channels/5016335) - Anniina ja Pauliina (podcast)
* [Prochat - Identio](https://podtail.com/fi/podcast/prochat) - Identio (podcast)
* [Webbidevaus](https://webbidevaus.fi) - Antti Mattila, Tommi Pääkkö ja Riku Rouvila (podcast)

View File

@ -18,14 +18,14 @@
### Algoritmos
* [Curso em Vídeo - Curso de Lógica de Programação](https://www.youtube.com/playlist?list=PLHz_AreHm4dmSj0MHol_aoNYCSGFqvfXV) (screencast)
* [Curso em Vídeo - Curso de Lógica de Programação](https://www.youtube.com/playlist?list=PLHz_AreHm4dmSj0MHol_aoNYCSGFqvfXV) - Gustavo Guanabara (screencast)
* [Portugol Studio](https://www.youtube.com/playlist?list=PLJ4lbwalqv3Eaiay2pCeU_QU6vb-Hz989) (screencast)
### Databases
* [Bóson Treinamentos - Curso de Modelagem de Dados](https://www.youtube.com/playlist?list=PLucm8g_ezqNoNHU8tjVeHmRGBFnjDIlxD) (screencast)
* [Curso em Vídeo - Banco de Dados MySQL](https://www.youtube.com/playlist?list=PLHz_AreHm4dkBs-795Dsgvau_ekxg8g1r) (screencast)
* [Curso em Vídeo - Banco de Dados MySQL](https://www.youtube.com/playlist?list=PLHz_AreHm4dkBs-795Dsgvau_ekxg8g1r) - Gustavo Guanabara (screencast)
* [DatabaseCast](http://databasecast.com.br) (podcast)
@ -56,7 +56,7 @@
### HTML / CSS
* [Curso em Vídeo - HTML5, CSS3 e JavaScript](https://www.youtube.com/playlist?list=PLHz_AreHm4dlAnJ_jJtV29RFxnPHDuk9o) (screencast)
* [Curso em Vídeo - HTML5, CSS3 e JavaScript](https://www.youtube.com/playlist?list=PLHz_AreHm4dlAnJ_jJtV29RFxnPHDuk9o) - Gustavo Guanabara (screencast)
### iOS
@ -67,8 +67,8 @@
### Java
* [Curso em Vídeo - Java Iniciante](https://www.youtube.com/playlist?list=PLHz_AreHm4dkI2ZdjTwZA4mPMxWTfNSpR) (screencast)
* [Curso em Vídeo - Java Orientado a Objetos](https://www.youtube.com/playlist?list=PLHz_AreHm4dkqe2aR0tQK74m8SFe-aGsY) (screencast)
* [Curso em Vídeo - Java Iniciante](https://www.youtube.com/playlist?list=PLHz_AreHm4dkI2ZdjTwZA4mPMxWTfNSpR) - Gustavo Guanabara (screencast)
* [Curso em Vídeo - Java Orientado a Objetos](https://www.youtube.com/playlist?list=PLHz_AreHm4dkqe2aR0tQK74m8SFe-aGsY) - Gustavo Guanabara (screencast)
* [Loiane - Java Básico](https://www.youtube.com/watch?v=LnORjqZUMIQ&list=PLGxZ4Rq3BOBq0KXHsp5J3PxyFaBIXVs3r) (screencast)
* [Loiane - Java Intermediario](https://www.youtube.com/watch?v=EdEKx24xHGc&list=PLGxZ4Rq3BOBoqYyFWOV_YbfBW80YGAGEI) (screencast)
* [Maratona Java - O maior curso Java em português](https://www.youtube.com/playlist?list=PL62G310vn6nHrMr1tFLNOYP_c73m6nAzL) (screencast)
@ -93,16 +93,16 @@
### PHP
* [Curso em Vídeo - PHP Iniciante](https://www.youtube.com/watch?v=F7KzJ7e6EAc&list=PLHz_AreHm4dm4beCCCmW4xwpmLf6EHY9k) (screencast)
* [Curso em Vídeo - PHP Orientado a Objetos](https://www.youtube.com/watch?v=KlIL63MeyMY&list=PLHz_AreHm4dmGuLII3tsvryMMD7VgcT7x) (screencast)
* [Curso em Vídeo - PHP Iniciante](https://www.youtube.com/watch?v=F7KzJ7e6EAc&list=PLHz_AreHm4dm4beCCCmW4xwpmLf6EHY9k) - Gustavo Guanabara (screencast)
* [Curso em Vídeo - PHP Orientado a Objetos](https://www.youtube.com/watch?v=KlIL63MeyMY&list=PLHz_AreHm4dmGuLII3tsvryMMD7VgcT7x) - Gustavo Guanabara (screencast)
* [UpInside - PHP Tips](https://www.youtube.com/playlist?list=PLi_gvjv-JgXqsmCAOrueT1-4JrnMW8_Gg) (screencast)
### Python
* [Curso em Vídeo - Python Mundo 1](https://www.youtube.com/watch?v=S9uPNppGsGo&list=PLHz_AreHm4dlKP6QQCekuIPky1CiwmdI6) (screencast)
* [Curso em Vídeo - Python Mundo 2](https://www.youtube.com/watch?v=nJkVHusJp6E&list=PLHz_AreHm4dk_nZHmxxf_J0WRAqy5Czye) (screencast)
* [Curso em Vídeo - Python Mundo 3](https://www.youtube.com/watch?v=0LB3FSfjvao&list=PLHz_AreHm4dksnH2jVTIVNviIMBVYyFnH) (screencast)
* [Curso em Vídeo - Python Mundo 1](https://www.youtube.com/watch?v=S9uPNppGsGo&list=PLHz_AreHm4dlKP6QQCekuIPky1CiwmdI6) - Gustavo Guanabara (screencast)
* [Curso em Vídeo - Python Mundo 2](https://www.youtube.com/watch?v=nJkVHusJp6E&list=PLHz_AreHm4dk_nZHmxxf_J0WRAqy5Czye) - Gustavo Guanabara (screencast)
* [Curso em Vídeo - Python Mundo 3](https://www.youtube.com/watch?v=0LB3FSfjvao&list=PLHz_AreHm4dksnH2jVTIVNviIMBVYyFnH) - Gustavo Guanabara (screencast)
* [Programação Dinâmica - Introdução à Python por Projetos](https://www.youtube.com/playlist?list=PL5TJqBvpXQv6AEfVymby32MinHdxZA-8J) (screencast)

View File

@ -1,10 +1,13 @@
<div dir="rtl" markdown="1">
### Index
* [Algorithms & Data Structures](#algorithms--data-structures)
* [Assembly](#assembly)
* [Bootstrap](#bootstrap)
* [C](#c)
* [C Sharp](#c-sharp)
* [C#&lrm;](#csharp)
* [C++&lrm;](#cpp)
* [Computer Architecture](#computer-architecture)
* [Dart](#dart)
* [Databases](#databases)
@ -37,15 +40,17 @@
### Algorithms & Data Structures
* [C++ Data Structures - تراكيب البيانات](https://www.youtube.com/playlist?list=PL1DUmTEdeA6JlommmGP5wicYLxX5PVCQt) - محمد الدسوقي
* [CS Master - Level 1- Algorithms & Data Structures الخوارزميات وهياكل البيانات](https://www.youtube.com/playlist?list=PLL2zWZTDFZzjxarUL23ydiOgibhRipGYC) - KMR Script
* [CS Master - Level 2- Dive into the Computer كيف يعمل الكمبيوتر](https://www.youtube.com/playlist?list=PLL2zWZTDFZziX_xS2bbGfLAOHVmlzURhF) - KMR Script
* [CS50 in Arabic](https://www.youtube.com/playlist?list=PLL2zWZTDFZzibJ49gBM2owqCzda8meSNj) - KMR Script
* [CS50 In Arabic](https://www.youtube.com/playlist?list=PLnrlZUDQofUv7JE4QIahAyztrQU9bnJmd) - Coders Camp
* [Data Structure](https://www.youtube.com/playlist?list=PLwCMLs3sjOY4UQq4vXgGPwGLVX1Y5faaS) - Hard Code
* [Data Structure C++](https://www.youtube.com/playlist?list=PLsGJzJ8SQXTcsXRVviurGei0lf_t_I4D8) - Mega Code
* [Data Structures Full Course In Arabic](https://www.youtube.com/playlist?list=PLCInYL3l2AajqOUW_2SwjWeMwf4vL4RSp) - Adel Nasim
* [Problem solving (Arabic)](https://www.youtube.com/playlist?list=PLYknlDiw2kSwdDhTSDoX7ZoVEle8nbZdk) - Muhammed Afifi
* [Standard Template Library (STL) Full Tutorial Using C++ In Arabic](https://www.youtube.com/playlist?list=PLCInYL3l2AainAE4Xq2kdNGDfG0bys2xp) - Adel Nasim
* [CS50 in Arabic&rlm;](https://www.youtube.com/playlist?list=PLL2zWZTDFZzibJ49gBM2owqCzda8meSNj) - KMR Script
* [CS50 In Arabic&rlm;](https://www.youtube.com/playlist?list=PLnrlZUDQofUv7JE4QIahAyztrQU9bnJmd) - Coders Camp
* [Cs50 In Arabic 2022 \| كورس cs50 بالعربي كامل](https://www.youtube.com/playlist?list=PLknwEmKsW8OvsdJ64v5YljHNtt100kN6w) - Abdelrahman Gamal&rlm; (:construction: *in process*)
* [Data Structure&rlm;](https://www.youtube.com/playlist?list=PLwCMLs3sjOY4UQq4vXgGPwGLVX1Y5faaS) - Hard Code
* [Data Structure C++&lrm;&rlm;](https://www.youtube.com/playlist?list=PLsGJzJ8SQXTcsXRVviurGei0lf_t_I4D8) - Mega Code
* [Data Structures Full Course In Arabic&rlm;](https://www.youtube.com/playlist?list=PLCInYL3l2AajqOUW_2SwjWeMwf4vL4RSp) - Adel Nasim
* [Problem solving (Arabic)&rlm;](https://www.youtube.com/playlist?list=PLYknlDiw2kSwdDhTSDoX7ZoVEle8nbZdk) - Muhammed Afifi
* [Standard Template Library (STL) Full Tutorial Using C++ In Arabic&rlm;](https://www.youtube.com/playlist?list=PLCInYL3l2AainAE4Xq2kdNGDfG0bys2xp) - Adel Nasim
### Assembly
@ -55,8 +60,8 @@
### Bootstrap
* [Bootstrap 3 In Arabic](https://www.youtube.com/playlist?list=PLDoPjvoNmBAw24EjNUp_88S1VeaNK8Cts) - Elzero Web School
* [Bootstrap 4](https://www.youtube.com/playlist?list=PLDoPjvoNmBAy0dU3C3_lNRTSTtqePEsI2) - Elzero Web School
* [Bootstrap 3 In Arabic&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAw24EjNUp_88S1VeaNK8Cts) - Elzero Web School
* [Bootstrap 4&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAy0dU3C3_lNRTSTtqePEsI2) - Elzero Web School
### C
@ -64,28 +69,29 @@
* [Introduction to Programming ( C Language - مقدمة في البرمجة ( لغة السي](https://www.youtube.com/playlist?list=PLMm8EjqH1EFXI8wByY0umF_DQON2S9uws) - Ahmed Sallam
### C Sharp
### <a id="csharp"></a>C#&lrm;
* [C#](https://www.youtube.com/playlist?list=PLltZRmsFXWnIfLM0BKgJNZYVnvCDZNAh_) - 6wrni
* [C#&lrm;&rlm;](https://www.youtube.com/playlist?list=PLltZRmsFXWnIfLM0BKgJNZYVnvCDZNAh_) - 6wrni
* [C# Programming Course Level 1 Basics By Arabic](https://www.youtube.com/playlist?list=PLnzqK5HvcpwQLsXXXxx_mX3WvUEgGM0iA) - محمد شوشان
* [C# Programming Course Level 2 Object Oriented Programming By Arabic](https://www.youtube.com/playlist?list=PLnzqK5HvcpwQfXeFaGHRYQfyQrJjOy43u) - محمد شوشان
* [Unit Testing in C# [Arabic]](https://www.youtube.com/playlist?list=PLwj1YcMhLRN28xijrXMO255JHsO3csus-) - خالد السعداني
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++&lrm;
* [Arabic C++ For kids & beginners (برمجة لصغار السن والمبتدئيين)](https://www.youtube.com/playlist?list=PLPt2dINI2MIbwnEoeHZnUHeUHjTd8x4F3) - Arabic Competitive Programming
* [C++ Intensive - برمجة الحاسوب](https://www.youtube.com/playlist?list=PLPt2dINI2MIZPFq6HyUB1Uhxdh1UDnZMS) - Arabic Competitive Programming
* [C++ Object-Oriented Design and Programming](https://www.youtube.com/playlist?list=PLPt2dINI2MIbMba7tpx3qvmgOsDlpITwG) - Arabic Competitive Programming
* [C++ Object-Oriented Design and Programming&rlm;](https://www.youtube.com/playlist?list=PLPt2dINI2MIbMba7tpx3qvmgOsDlpITwG) - Arabic Competitive Programming
* [C++ Programming Basics&rlm;](https://www.youtube.com/playlist?list=PLv3VqjyehAoSSzkyHmWk89hPgcVwTNouG) - Ali Shahin
* [C++ Programming Course Level 1 Basics By Arabic](https://www.youtube.com/playlist?list=PLnzqK5HvcpwQ_nQt-hKGAEIDJjTJBCV02) - محمد شوشان
* [C++ Programming Course Level 2 Object Oriented Programming By Arabic](https://www.youtube.com/playlist?list=PLnzqK5HvcpwRUapI9yl1qwkdpS__UtqLd) - محمد شوشان
* [C++ Programming From Scratch In Arabic](https://www.youtube.com/playlist?list=PLCInYL3l2AajFAiw4s1U4QbGszcQ-rAb3) - Adel Nasim
* [C++ Programming From Scratch In Arabic&rlm;](https://www.youtube.com/playlist?list=PLCInYL3l2AajFAiw4s1U4QbGszcQ-rAb3) - Adel Nasim
* [CS Master - Level 0 - Intro to CS مقدمة لعلوم الحاسب](https://www.youtube.com/playlist?list=PLL2zWZTDFZzivM2GAL3HpuFrHlLwp6FoO) - KMR Script
* [CS Master - Level 4 - Object Oriented Programming & Design Patterns](https://www.youtube.com/playlist?list=PLL2zWZTDFZzhul3X8djkfXzUxl7Cw7-sF) - KMR Script
* [Object-Oriented Programming C++ in Arabic](https://www.youtube.com/playlist?list=PLCInYL3l2Aaiq1oLvi9TlWtArJyAuCVow) - Adel Nasim
* [Object-Oriented Programming with C++](https://www.youtube.com/playlist?list=PLMm8EjqH1EFXG_-EgmKb1gxW5S4XaQYaE) - Ahmed Sallam
* [Programming 1 - Programming For Beginners - C++](https://www.youtube.com/playlist?list=PL1DUmTEdeA6IUD9Gt5rZlQfbZyAWXd-oD) - محمد الدسوقي
* [Programming 2 - Object Oriented Programming with C++](https://www.youtube.com/playlist?list=PL1DUmTEdeA6KLEvIO0NyrkT91BVle8BOU) - محمد الدسوقي
* [CS Master - Level 4 - Object Oriented Programming & Design Patterns&rlm;](https://www.youtube.com/playlist?list=PLL2zWZTDFZzhul3X8djkfXzUxl7Cw7-sF) - KMR Script
* [Object-Oriented Programming C++ in Arabic&rlm;](https://www.youtube.com/playlist?list=PLCInYL3l2Aaiq1oLvi9TlWtArJyAuCVow) - Adel Nasim
* [Object-Oriented Programming with C++&lrm;&rlm;](https://www.youtube.com/playlist?list=PLMm8EjqH1EFXG_-EgmKb1gxW5S4XaQYaE) - Ahmed Sallam
* [Programming 1 - Programming For Beginners - C++&lrm;&rlm;](https://www.youtube.com/playlist?list=PL1DUmTEdeA6IUD9Gt5rZlQfbZyAWXd-oD) - محمد الدسوقي
* [Programming 2 - Object Oriented Programming with C++&lrm;&rlm;](https://www.youtube.com/playlist?list=PL1DUmTEdeA6KLEvIO0NyrkT91BVle8BOU) - محمد الدسوقي
### Computer Architecture
@ -116,13 +122,14 @@
* [Arabic MySQL Essentials مبادئ ماي سكوال](https://www.youtube.com/playlist?list=PLL2zWZTDFZzhBxhIJkhz-B-HulZUN6YzY) - KMR Script
* [Database 1 - المقرر العملى - Learn SQL In Arabic](https://www.youtube.com/playlist?list=PL85D9FC9DFD6B9484) - محمد الدسوقى
* [Learn MySQL](https://www.youtube.com/playlist?list=PLDoPjvoNmBAz6DT8SzQ1CODJTH-NIA7R9) - Elzero Web School
* [MySQL tutorials || بناء قواعد البيانات بكفاءة عالية](https://www.youtube.com/playlist?list=PLF8OvnCBlEY25O_Ql0CrgQUAc5NVYkWF2) - TheNewBaghdad
* [Learn MySQL&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAz6DT8SzQ1CODJTH-NIA7R9) - Elzero Web School
* [MS SQL Server For Beginners](https://www.youtube.com/playlist?list=PL1DUmTEdeA6J6oDLTveTt4Z7E5qEfFluE) - محمد الدسوقى
* [MySQL tutorials \|\| بناء قواعد البيانات بكفاءة عالية](https://www.youtube.com/playlist?list=PLF8OvnCBlEY25O_Ql0CrgQUAc5NVYkWF2) - TheNewBaghdad
### Flutter
* [Advanced Flutter Tutorial - build E commerce App](https://www.youtube.com/playlist?list=PLGVaNq6mHiniedDoXJd35XFBNvJAoq-xe) - Scholar Tech (:construction: *in process*)
* [Advanced Flutter Tutorial - build E commerce App&rlm;](https://www.youtube.com/playlist?list=PLGVaNq6mHiniedDoXJd35XFBNvJAoq-xe) - Scholar Tech&rlm; (:construction: *in process*)
* [Flutter بالعربى](https://www.youtube.com/playlist?list=PLMDrOnfT8EAhsiJwkzspHp_Ob6oRCHxv0) - Asem Saafan
* [Flutter BLoC - بالعربي](https://www.youtube.com/playlist?list=PLwWuxCLlF_ufA0GYYjlx_R4smekKH_AuB) - Omar Ahmed
* [Mastering Firebase And Flutter version 2 (2021) - Course - project -فلاتر- مشروع - دورة - فايربيز - شرح - احتراف - كورس](https://www.youtube.com/playlist?list=PL93xoMrxRJIve-GSKU61X6okh5pncG0sH) - Wael Abu hamza
@ -131,113 +138,120 @@
### Game Development
* [Godot - تعلم الأساسيات لتصميم الألعاب](https://www.youtube.com/playlist?list=PLXUEZFpQn01Hp06m0MxlMzj8x5Y2n9Dek) - SpriteSheet
* [Godot Engine](https://www.youtube.com/playlist?list=PLU8IixMdsBbm7qblHP6rEENpOPK0SAxes) - Whales State
* [Unity 2D Game](https://www.youtube.com/playlist?list=PLltZRmsFXWnLp98IIM1CISQYWowq87YSp) - 6wrni
* [Unity 3D Game](https://www.youtube.com/playlist?list=PLltZRmsFXWnKk5F3_ltKWKq6lZLveotIF) - 6wrni
* [Godot Engine&rlm;](https://www.youtube.com/playlist?list=PLU8IixMdsBbm7qblHP6rEENpOPK0SAxes) - Whales State
* [Unity 2D Game&rlm;](https://www.youtube.com/playlist?list=PLltZRmsFXWnLp98IIM1CISQYWowq87YSp) - 6wrni
* [Unity 3D Game&rlm;](https://www.youtube.com/playlist?list=PLltZRmsFXWnKk5F3_ltKWKq6lZLveotIF) - 6wrni
### Git
* [Basic course for Git](https://www.youtube.com/playlist?list=PLYyqC4bNbCIeCHLTRtwdLpQvle_zIavZ-) - أكاديمية ترميز
* [Git and Github](https://www.youtube.com/playlist?list=PLDoPjvoNmBAw4eOj58MZPakHjaO3frVMF) - Elzero Web School
* [Git and Github&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAw4eOj58MZPakHjaO3frVMF) - Elzero Web School
* [GitHub - تعلم العمل المشترك على](https://www.youtube.com/playlist?list=PLF8OvnCBlEY0CRqKiYKwOtrH-75MGIuyM) -TheNewBaghdad
* [Learn Git in Arabic](https://www.youtube.com/playlist?list=PLfDx4cQoUNOYVfQs_NFNyykcqkaJ_plmK) - Algorithm Academy
* [Learn Git in Arabic&rlm;](https://www.youtube.com/playlist?list=PLfDx4cQoUNOYVfQs_NFNyykcqkaJ_plmK) - Algorithm Academy
### HTML / CSS
* [CSS In Arabic 2021](https://www.youtube.com/playlist?list=PLDoPjvoNmBAzjsz06gkzlSrlev53MGIKe) - Elzero Web School
* [HTML In Arabic 2021](https://www.youtube.com/playlist?list=PLDoPjvoNmBAw_t_XWUFbBX-c9MafPk9ji) - Elzero Web School
* [Sass](https://www.youtube.com/playlist?list=PLDoPjvoNmBAz6bF7qObm2a1mLN_WHAWQo) - Elzero Web School
* [Sass - Create a website](https://www.youtube.com/playlist?list=PLDoPjvoNmBAz9sluuyOWPifXvySgrGma8) - Elzero Web School
* [برمجة المواقع |\ تعلم لغة الhtml من الصفر](https://www.youtube.com/playlist?list=PLYyqC4bNbCIfMY5CoGmiWaPi9l86qaz5B) - أكاديمية ترميز
* [برمجة المواقع |\ سلسلة دروس لغة css](https://www.youtube.com/playlist?list=PLYyqC4bNbCIdES52srHE6xTiIgvgMkBWu) - أكاديمية ترميز
* [CSS Art Tutorials&rlm;](https://www.youtube.com/playlist?list=PLuXY3ddo_8nzxCiht69IlCe0_VeIuh4ty) - Codezilla
* [HTML And CSS Template 1&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAzHSjcR-HnW9tnxyuye8KbF) - Elzero Web School
* [HTML And CSS Template 2&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAy1l-2A21ng3gxEyocruT0t) - Elzero Web School
* [HTML And CSS Template 3&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAxuCSp2_-9LurPqRVwketnc) - Elzero Web School
* [Learn CSS In Arabic 2021&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAzjsz06gkzlSrlev53MGIKe) - Elzero Web School
* [Learn HTML In Arabic 2021&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAw_t_XWUFbBX-c9MafPk9ji) - Elzero Web School
* [Learn SASS In Arabic 2021&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAzlpyFHOaB3b-eubmF0TAV2) - Elzero Web School
* [Sass&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAz6bF7qObm2a1mLN_WHAWQo) - Elzero Web School
* [Sass - Create a website&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAz9sluuyOWPifXvySgrGma8) - Elzero Web School
### Java
* [JAVA Course Level 1 Basics By Arabic](https://www.youtube.com/playlist?list=PLnzqK5HvcpwTgEDztQ8y4K4-VoeoK1QCG) - محمد شوشان
* [JAVA For Beginners - Course 1 - in Arabic](https://www.youtube.com/playlist?list=PL1DUmTEdeA6K7rdxKiWJq6JIxTvHalY8f) - محمد الدسوقى
* [Java FX](https://www.youtube.com/playlist?list=PLwj1YcMhLRN1ISKdFo23inpSYyzXWrGDm) - Khalid ESSAADANI
* [Java FX&rlm;](https://www.youtube.com/playlist?list=PLwj1YcMhLRN1ISKdFo23inpSYyzXWrGDm) - Khalid ESSAADANI
* [JAVA Programming Course Level 2 Object Oriented Programming By Arabic](https://www.youtube.com/playlist?list=PLnzqK5HvcpwQp6zaFd7o728neR1XhPvid) - محمد شوشان
* [JAVA Programming Course Level 3 Graphic User Interface By Arabic](https://www.youtube.com/playlist?list=PLnzqK5HvcpwRhWDkdkM4jSTPW3CgxKH8G) - محمد شوشان
* [JAVA Programming Course Level 4 Connect Database and JAVA By Arabic](https://www.youtube.com/playlist?list=PLnzqK5HvcpwTmQTPK54W95WyNzT-33MR0) - محمد شوشان
* [JAVA Programming Full Project by Arabic (uni_staff project) |(المشروع الختامي بالجافا كاملا بشرح عربي )](https://www.youtube.com/playlist?list=PLnzqK5HvcpwQbsAGChtjlNPLVv6kTEXRG) - محمد شوشان
* [Learn JAVA Programming From Scratch In Arabic](https://www.youtube.com/playlist?list=PLCInYL3l2AajYlZGzU_LVrHdoouf8W6ZN) - Adel Nasim
* [Object-Oriented Programming JAVA in Arabic](https://www.youtube.com/playlist?list=PLCInYL3l2AagY7fFlhCrjpLiIFybW3yQv) - Adel Nasim
* [JAVA Programming Full Project by Arabic (uni_staff project) \|(المشروع الختامي بالجافا كاملا بشرح عربي )](https://www.youtube.com/playlist?list=PLnzqK5HvcpwQbsAGChtjlNPLVv6kTEXRG) - محمد شوشان
* [Learn JAVA Programming From Scratch In Arabic&rlm;](https://www.youtube.com/playlist?list=PLCInYL3l2AajYlZGzU_LVrHdoouf8W6ZN) - Adel Nasim
* [Object-Oriented Programming JAVA in Arabic&rlm;](https://www.youtube.com/playlist?list=PLCInYL3l2AagY7fFlhCrjpLiIFybW3yQv) - Adel Nasim
* [Programming 2 - Object Oriented Programming With Java](https://www.youtube.com/playlist?list=PL1DUmTEdeA6Icttz-O9C3RPRF8R8Px5vk) - محمد الدسوقى
### JavaScript
* [Arabic JavaScript](https://www.youtube.com/playlist?list=PLL2zWZTDFZzgU2x6Kk6w0qx5piLgMODsm) - KMR Script
* [سلسلة دروس جافا سكريبت](https://www.youtube.com/playlist?list=PLYyqC4bNbCIeLEjcSPO61bsGPKEvYceb0) - أكاديمية ترميز (:construction: *in process*)
* [Arabic JavaScript&rlm;](https://www.youtube.com/playlist?list=PLL2zWZTDFZzgU2x6Kk6w0qx5piLgMODsm) - KMR Script
* [Arabic JavaScript ES6 الاصدار السادس من الجافاسكربت](https://www.youtube.com/playlist?list=PLL2zWZTDFZzilx_LJ_mCRDETtDOyBg0UT) - KMR Script
* [Javascript](https://www.youtube.com/playlist?list=PLDoPjvoNmBAw6p0z0Ek0OjPzeXoqlFlCh) - Elzero Web School
* [JavaScript AJAX](https://www.youtube.com/playlist?list=PLDoPjvoNmBAytfRIdMIkLeoQHP0o5uWBa) - Elzero Web School
* [JavaScript Application](https://www.youtube.com/playlist?list=PLDoPjvoNmBAz7_BgzvNcOaE-m_SnE4jiT) - Elzero Web School
* [JavaScript Canvas](https://www.youtube.com/playlist?list=PLDoPjvoNmBAxdetco1wwicE7Fbm73UYy0) - Elzero Web School
* [JavaScript ECMAScript 6](https://www.youtube.com/playlist?list=PLDoPjvoNmBAy3siU1b04xY24ZlstofO9M) - Elzero Web School
* [Javascript&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAw6p0z0Ek0OjPzeXoqlFlCh) - Elzero Web School
* [JavaScript AJAX&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAytfRIdMIkLeoQHP0o5uWBa) - Elzero Web School
* [JavaScript Application&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAz7_BgzvNcOaE-m_SnE4jiT) - Elzero Web School
* [JavaScript Canvas&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAxdetco1wwicE7Fbm73UYy0) - Elzero Web School
* [JavaScript ECMAScript 6&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAy3siU1b04xY24ZlstofO9M) - Elzero Web School
* [JavaScript Files API](https://www.youtube.com/playlist?list=PLrvHCesHYw38480FPUmm3l2iJd8jSmA5u) - برمجيات حسان
* [JavaScript JSON API](https://www.youtube.com/playlist?list=PLDoPjvoNmBAwH_PyuEFjk3OvXflJJrDRQ) - Elzero Web School
* [JavaScript OOP](https://www.youtube.com/playlist?list=PLDoPjvoNmBAzLyvrWPwMw6bbBlTwPxgLF) - Elzero Web School
* [JavaScript Unit Testing With Jest](https://www.youtube.com/playlist?list=PLDoPjvoNmBAwSrfBPERTnCmWAbcMAwG9O) - Elzero Web School
* [JavaScript JSON API&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAwH_PyuEFjk3OvXflJJrDRQ) - Elzero Web School
* [JavaScript OOP&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAzLyvrWPwMw6bbBlTwPxgLF) - Elzero Web School
* [Javascript Tutorial \| كورس جافا سكريبت كامل](https://www.youtube.com/playlist?list=PLknwEmKsW8OuTqUDaFRBiAViDZ5uI3VcE) - Abdelrahman Gamal
* [JavaScript Unit Testing With Jest&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAwSrfBPERTnCmWAbcMAwG9O) - Elzero Web School
* [Learn JavaScript in Arabic 2021&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAx3kiplQR_oeDqLDBUDYwVv) - Elzero Web School
#### Gulp.js
* [Basic of Gulp.js](https://www.youtube.com/playlist?list=PLfDx4cQoUNOaj10GLKu2YAcDQAMRvUgp0) - Algorithm Academy
* [Gulp.js - Workshop](https://www.youtube.com/playlist?list=PLfDx4cQoUNOYXLQlBhKkc2bYIczytBc73) - Algorithm Academy
* [Basic of Gulp.js&rlm;](https://www.youtube.com/playlist?list=PLfDx4cQoUNOaj10GLKu2YAcDQAMRvUgp0) - Algorithm Academy
* [Gulp.js - Workshop&rlm;](https://www.youtube.com/playlist?list=PLfDx4cQoUNOYXLQlBhKkc2bYIczytBc73) - Algorithm Academy
#### jQuery
* [Basic of jQuery](https://www.youtube.com/playlist?list=PLDoPjvoNmBAwXDFEEpc8TT6MFbDAC5XNB) - Elzero Web School
* [jQuery - Practical Examples and Create Apps](https://www.youtube.com/playlist?list=PLDoPjvoNmBAz0_Ujf9ZB9KceUzzSVYDci) - Elzero Web School
* [Basic of jQuery&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAwXDFEEpc8TT6MFbDAC5XNB) - Elzero Web School
* [jQuery - Practical Examples and Create Apps&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAz0_Ujf9ZB9KceUzzSVYDci) - Elzero Web School
#### NodeJS
* [Arabic Dive into Node JS Development الغوص في النود جي اس](https://www.youtube.com/playlist?list=PLL2zWZTDFZzgxxD66mv95I8hC0pby5bdp) - KMR Script
* [Learn Basic of NodeJS](https://www.youtube.com/playlist?list=PLGhZWewM_75LQf3KvHo6HHSclmDyDazl7) - Emam Academy
* [Learn NodeJS from zero to hero](https://www.youtube.com/playlist?list=PLfDx4cQoUNOa3EiUpjO04DVxEE9Ox12ta) - Algorithm Academy
* [Learn Basic of NodeJS&rlm;](https://www.youtube.com/playlist?list=PLGhZWewM_75LQf3KvHo6HHSclmDyDazl7) - Emam Academy
* [Learn NodeJS from zero to hero&rlm;](https://www.youtube.com/playlist?list=PLfDx4cQoUNOa3EiUpjO04DVxEE9Ox12ta) - Algorithm Academy
* [NodeJS - From Zero To Hero](https://www.youtube.com/playlist?list=PLkzDzmo9y3VG_pByjuxE7uuLYvmWgfBub) - تخاريف مبرمج
* [NodeJS Advanced Topics](https://www.youtube.com/playlist?list=PLkzDzmo9y3VETa2XvIch29djB47v4zJQS) - تخاريف مبرمج
* [NodeJS Course (2017 - عربي)](https://www.youtube.com/playlist?list=PLrvHCesHYw38kFL6w-i6Rv85oS3L0sp-o) - برمجيات حسان
* [NodeJS Create App](https://www.youtube.com/playlist?list=PLGhZWewM_75KPLx2otaSE4eBSYqiHmEmh) -
Emam Academy
* [NodeJS Express](https://www.youtube.com/playlist?list=PLGhZWewM_75J0BZL_jSwuYxIm9m9S_NZw) -
Emam Academy
* [REST API Node.js](https://www.youtube.com/playlist?list=PLGhZWewM_75ILwl15d0Cn-W_XHpnKbNHL) -
Emam Academy
* [NodeJS Create App&rlm;](https://www.youtube.com/playlist?list=PLGhZWewM_75KPLx2otaSE4eBSYqiHmEmh) - Emam Academy
* [NodeJS Express&rlm;](https://www.youtube.com/playlist?list=PLGhZWewM_75J0BZL_jSwuYxIm9m9S_NZw) - Emam Academy
* [REST API Node.js&rlm;](https://www.youtube.com/playlist?list=PLGhZWewM_75ILwl15d0Cn-W_XHpnKbNHL) - Emam Academy
#### PugJs
* [Learn PugJs](https://www.youtube.com/playlist?list=PLDoPjvoNmBAxckfbgAzwwxeoeBfi0y724) - Elzero Web School
* [Learn PugJs&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAxckfbgAzwwxeoeBfi0y724) - Elzero Web School
#### React.js
* [React.js](https://www.youtube.com/playlist?list=PLfDx4cQoUNObRCqeYOws_JK_CCGCmQv_l) - Algorithm Academy
* [React.js Hooks](https://www.youtube.com/playlist?list=PLfDx4cQoUNOZ5-WwSSWYLp0kC8xxE46YG) - Algorithm Academy
* [React.js Todo App](https://www.youtube.com/playlist?list=PLfDx4cQoUNOYKXNTPUiZw8X7dDIgsSZln) - Algorithm Academy
* [React.js&rlm;](https://www.youtube.com/playlist?list=PLfDx4cQoUNObRCqeYOws_JK_CCGCmQv_l) - Algorithm Academy
* [React.js Hooks&rlm;](https://www.youtube.com/playlist?list=PLfDx4cQoUNOZ5-WwSSWYLp0kC8xxE46YG) - Algorithm Academy
* [React.js Todo App&rlm;](https://www.youtube.com/playlist?list=PLfDx4cQoUNOYKXNTPUiZw8X7dDIgsSZln) - Algorithm Academy
#### Vue.js
* [Basic of Vue.js](https://www.youtube.com/playlist?list=PLDoPjvoNmBAxr5AqK3Yz4DWYKVSmIFziw) - Elzero Web School
* [Vue.js Apps and Practical examples](https://www.youtube.com/playlist?list=PLDoPjvoNmBAzDuaT7kEURZQbw9dQHepK9) - Elzero Web School
* [Vue.js Composition API](https://www.youtube.com/playlist?list=PLfDx4cQoUNOZiOnKcf00l1NWC-xz-TV0h) - Algorithm Academy
* [Vue.js Router Tutorial](https://www.youtube.com/playlist?list=PLfDx4cQoUNObtw2FtE4_eX_k9yCf-Fcd3) - Algorithm Academy
* [Basic of Vue.js&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAxr5AqK3Yz4DWYKVSmIFziw) - Elzero Web School
* [Vue.js Apps and Practical examples&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAzDuaT7kEURZQbw9dQHepK9) - Elzero Web School
* [Vue.js Composition API&rlm;](https://www.youtube.com/playlist?list=PLfDx4cQoUNOZiOnKcf00l1NWC-xz-TV0h) - Algorithm Academy
* [Vue.js Router Tutorial&rlm;](https://www.youtube.com/playlist?list=PLfDx4cQoUNObtw2FtE4_eX_k9yCf-Fcd3) - Algorithm Academy
### .NET
* [Arabic C# .NET](https://www.youtube.com/playlist?list=PLwj1YcMhLRN1ekZ78MzVWqpNyA5Lyb2nv) - Khalid ESSAADANI
* [ASP.NET Core Fundamentals](https://www.youtube.com/playlist?list=PLwj1YcMhLRN1zbN2olMzvIBXP06FIwoes) - Khalid ESSAADANI
* [ASP.NET Identity](https://www.youtube.com/playlist?list=PLwj1YcMhLRN1T3fIb-JDa4xNFfVQoljGI) - Khalid ESSAADANI
* [ASP.NET Identity Arabic](https://www.youtube.com/playlist?list=PLwj1YcMhLRN1T3fIb-JDa4xNFfVQoljGI) - Khalid ESSAADANI
* [ASP.NET MVC 5](https://www.youtube.com/playlist?list=PLwj1YcMhLRN3HKfGd_jgO1Odr1xWXU9Yf) - Khalid ESSAADANI
* [ASP.NET MVC From Scratch](https://www.youtube.com/playlist?list=PLwj1YcMhLRN2dz2C9ShCe9wTLrXxnJPuC) - Khalid ESSAADANI
* [ASP.NET Web REST API](https://www.youtube.com/playlist?list=PLwj1YcMhLRN1X4QNF5wslJD6T96Owkg2t) - Khalid ESSAADANI
* [Arabic C# .NET&rlm;](https://www.youtube.com/playlist?list=PLwj1YcMhLRN1ekZ78MzVWqpNyA5Lyb2nv) - Khalid ESSAADANI
* [ASP.NET Core Fundamentals&rlm;](https://www.youtube.com/playlist?list=PLwj1YcMhLRN1zbN2olMzvIBXP06FIwoes) - Khalid ESSAADANI
* [ASP.NET Identity&rlm;](https://www.youtube.com/playlist?list=PLwj1YcMhLRN1T3fIb-JDa4xNFfVQoljGI) - Khalid ESSAADANI
* [ASP.NET Identity Arabic&rlm;](https://www.youtube.com/playlist?list=PLwj1YcMhLRN1T3fIb-JDa4xNFfVQoljGI) - Khalid ESSAADANI
* [ASP.NET MVC 5&rlm;](https://www.youtube.com/playlist?list=PLwj1YcMhLRN3HKfGd_jgO1Odr1xWXU9Yf) - Khalid ESSAADANI
* [ASP.NET MVC From Scratch&rlm;](https://www.youtube.com/playlist?list=PLwj1YcMhLRN2dz2C9ShCe9wTLrXxnJPuC) - Khalid ESSAADANI
* [ASP.NET Web REST API&rlm;](https://www.youtube.com/playlist?list=PLwj1YcMhLRN1X4QNF5wslJD6T96Owkg2t) - Khalid ESSAADANI
### Operating Systems
@ -247,8 +261,8 @@ Emam Academy
### PHP
* [Arabic PHP](https://www.youtube.com/playlist?list=PLDoPjvoNmBAzH72MTPuAAaYfReraNlQgM) - Elzero Web School
* [Learn Object Oriented PHP](https://www.youtube.com/playlist?list=PLDoPjvoNmBAxXTPncg0W4lhVS32LO_xtQ) - Elzero Web School
* [Arabic PHP&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAzH72MTPuAAaYfReraNlQgM) - Elzero Web School
* [Learn Object Oriented PHP&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAxXTPncg0W4lhVS32LO_xtQ) - Elzero Web School
### Prolog
@ -258,22 +272,27 @@ Emam Academy
### Python
* [Learn Python3](https://www.youtube.com/playlist?list=PLfDx4cQoUNOazcliAXXivOrg9GiAVuoQg) - Algorithm Academy
* [Mastering Python](https://www.youtube.com/playlist?list=PLDoPjvoNmBAyE_gei5d18qkfIe-Z8mocs) - Elzero Web School
* [كورس أساسيات المفاهيم البرمجية](https://www.youtube.com/playlist?list=PLvGNfY-tFUN9OQ4xtJRutrX3zyGam6Vpm) - غريب الشيخ || Ghareeb Elshaikh&rlm; (:construction: *in process*)
* [Learn Python3&rlm;](https://www.youtube.com/playlist?list=PLfDx4cQoUNOazcliAXXivOrg9GiAVuoQg) - Algorithm Academy
* [Master Python from Beginner to Advanced in Arabic - دورة تعلم بايثون من الصفر كاملة للمبتدئين](https://www.youtube.com/playlist?list=PLuXY3ddo_8nzrO74UeZQVZOb5-wIS6krJ) - Codezilla
* [Mastering Python&rlm;](https://www.youtube.com/playlist?list=PLDoPjvoNmBAyE_gei5d18qkfIe-Z8mocs) - Elzero Web School
* [Mastering Python Tutorial - Python for Beginners \| كورس بايثون كامل للمبتدئين](https://www.youtube.com/playlist?list=PLknwEmKsW8OsG8dnisr_-2WGyx7lpgGEE) - Abdelrahman Gamal
* [Object Oriented Programming - شرح البرمجة كائنية التوجه](https://www.youtube.com/playlist?list=PLuXY3ddo_8nzUrgCyaX_WEIJljx_We-c1) - Codezilla
* [Python Beginners Tutorial](https://www.youtube.com/playlist?list=PL1DUmTEdeA6JCaY0EKssdqbiqq4sgRlUC) - محمد الدسوقي
#### Django
* [Arabic Django](https://www.youtube.com/playlist?list=PLdZYzC8fohEKjuYyvITqYc2vL0lAWRvhs) - Elsafy Hegazy
* [Arabic Django&rlm;](https://www.youtube.com/playlist?list=PLdZYzC8fohEKjuYyvITqYc2vL0lAWRvhs) - Elsafy Hegazy
* [Django 2.x](https://www.youtube.com/playlist?list=PLTcPeoMjkuCxoyflbe4AuNWMZWulKVbr4) - شبكة علوم
* [Django Create Blog](https://www.youtube.com/playlist?list=PLTcPeoMjkuCyoKpr6II_2aXUUOmtCDW4f) - شبكة علوم
* [Django Tutorial for Beginners \| كورس دجانجو كامل للمبتدئين](https://www.youtube.com/playlist?list=PLknwEmKsW8OtK_n48UOuYGxJPbSFrICxm) - Abdelrahman Gamal
#### Flask
* [Flask](https://www.youtube.com/playlist?list=PLfDx4cQoUNObFOYvkcNQG8arJX95TRE47) - Algorithm Academy
* [Flask - Project](https://www.youtube.com/playlist?list=PLfDx4cQoUNObli30BibPgVr_9JDDJ_0mZ) - Algorithm Academy
* [Flask&rlm;](https://www.youtube.com/playlist?list=PLfDx4cQoUNObFOYvkcNQG8arJX95TRE47) - Algorithm Academy
* [Flask - Project&rlm;](https://www.youtube.com/playlist?list=PLfDx4cQoUNObli30BibPgVr_9JDDJ_0mZ) - Algorithm Academy
### R
@ -293,11 +312,13 @@ Emam Academy
### TypeScript
* [TypeScript tutorial Arabic](https://www.youtube.com/playlist?list=PLF8OvnCBlEY27rEmxg4F86iFljMXyCmk1) - Hussein Al Rubaye (YouTube)
* [TypeScript tutorial Arabic&rlm;](https://www.youtube.com/playlist?list=PLF8OvnCBlEY27rEmxg4F86iFljMXyCmk1) - Hussein Al Rubaye&rlm; (YouTube)
#### Angular
* [Arabic Angular 7 from A to R احتراف الانجولار](https://www.youtube.com/playlist?list=PLL2zWZTDFZzjSjy7yeJwpj2QkJd8NKo-O) - KMR Script (YouTube)
* [Arabic Angular and Firebase App تطبيق انجولار وفايربيز](https://www.youtube.com/playlist?list=PLL2zWZTDFZzh2WEmc3fH_O4y4N05ZCqB2) - KMR Script (YouTube)
* [Arabic NgRx (Angular + Redux)](https://www.youtube.com/playlist?list=PLL2zWZTDFZzhW10baUv1esvrowMwbfd5H) - KMR Script (YouTube)
* [Arabic Angular 7 from A to R احتراف الانجولار](https://www.youtube.com/playlist?list=PLL2zWZTDFZzjSjy7yeJwpj2QkJd8NKo-O) - KMR Script&rlm; (YouTube)
* [Arabic Angular and Firebase App تطبيق انجولار وفايربيز](https://www.youtube.com/playlist?list=PLL2zWZTDFZzh2WEmc3fH_O4y4N05ZCqB2) - KMR Script&rlm; (YouTube)
* [Arabic NgRx (Angular + Redux)&rlm;](https://www.youtube.com/playlist?list=PLL2zWZTDFZzhW10baUv1esvrowMwbfd5H) - KMR Script&rlm; (YouTube)
</div>

View File

@ -41,14 +41,14 @@
* [Pattern Printing in C](https://www.youtube.com/playlist?list=PLgH5QX0i9K3oTxQhx2kejYmQn6qtRULCD) - Anisul Islam
### <a name="csharp"></a>C#
### <a id="csharp"></a>C\#
* [C# and ASP.NET MVC Full Bangla Tutorial BITM](https://www.youtube.com/playlist?list=PL_g-DE60bXDBpjMPUWGbmCLHnQDIIcw-6) - Learn With Nirash
* [C# bangla tutorial | Basic to advance in depth bangla course](https://www.youtube.com/playlist?list=PLbC4KRSNcMnqQakB2xlZPoaV6uau4wTIt) - Learn Hunter
* [C# bangla tutorial \| Basic to advance in depth bangla course](https://www.youtube.com/playlist?list=PLbC4KRSNcMnqQakB2xlZPoaV6uau4wTIt) - Learn Hunter
* [C# OOP (object oriented programming) BanglaTutorials](https://www.youtube.com/playlist?list=PLqCbg_KAOnCe1RLKP2SVmSHZOCD-fWe3p) - Asp Dot Net Explorer
### <a name="cpp"></a>C++
### <a id="cpp"></a>C++
* [C++ Bangla Tutorial Course](https://www.youtube.com/playlist?list=PLgH5QX0i9K3q0ZKeXtF--CZ0PdH1sSbYL) - Anisul Islam
@ -66,8 +66,8 @@
### Git
* [Crash Course - সহজ বাংলায় Git & GitHub - Bangla ( বাংলা ) Tutorial](https://www.youtube.com/watch?v=oe21Nlq8GS4&t=182s) - Learn with Sumit
* [Git and Github in One Video (Theory + Practical) | A 2 Z in Bangla](https://www.youtube.com/watch?v=4KdGgGsIDeA&t=787s) - SHAJ.T3CH
* [Crash Course - সহজ বাংলায় Git & GitHub - Bangla ( বাংলা ) Tutorial](https://www.youtube.com/watch?v=oe21Nlq8GS4) - Sumit Saha (Learn with Sumit)
* [Git and Github in One Video (Theory + Practical) \| A 2 Z in Bangla](https://www.youtube.com/watch?v=4KdGgGsIDeA) - SHAJ.T3CH
* [Git Bangla Tutorial Complete](https://www.youtube.com/playlist?list=PL_XxuZqN0xVDDw5eyzuRDXBzgdnW7UpDF) - Stack Learner
@ -91,12 +91,12 @@
### IDE and Editors
* [VSCode Complete Tutorial Series | VSCode টিউটোরিয়াল সিরিজ](https://www.youtube.com/playlist?list=PL_XxuZqN0xVB_lroSm_xvTqvVBCpR4PQE) - Stack Learner
* [VSCode Complete Tutorial Series \| VSCode টিউটোরিয়াল সিরিজ](https://www.youtube.com/playlist?list=PL_XxuZqN0xVB_lroSm_xvTqvVBCpR4PQE) - Stack Learner
### Java
* [Java Bangla Tutorials | CORE Java | Complete OOP](https://www.youtube.com/playlist?list=PLgH5QX0i9K3oAZUB2QXR-dZac0c9HNyRa) - Anisul Islam
* [Java Bangla Tutorials \| CORE Java \| Complete OOP](https://www.youtube.com/playlist?list=PLgH5QX0i9K3oAZUB2QXR-dZac0c9HNyRa) - Anisul Islam
* [Java Swing Bangla Tutorials](https://www.youtube.com/playlist?list=PLgH5QX0i9K3rAHKr6IteF5kdgN6BorH9l) - Anisul Islam
@ -104,14 +104,14 @@
* [Express JS Crash Course in Bangla](https://www.youtube.com/playlist?list=PL_XxuZqN0xVDm9HkiP4h_76qNBZix6XME) - Stack Learner
* [Functional JavaScript Bangla Tutorial](https://www.youtube.com/playlist?list=PL_XxuZqN0xVDPR9fASxugXgQAWkZLcmt1) - Stack Learner
* [JavaScript All You Need to Know | JS Bangla Tutorial | Stack Learner](https://www.youtube.com/playlist?list=PL_XxuZqN0xVAu_dWUVFbscqZdTzE8t6Z1) - Stack Learner
* [JavaScript All You Need to Know \| JS Bangla Tutorial \| Stack Learner](https://www.youtube.com/playlist?list=PL_XxuZqN0xVAu_dWUVFbscqZdTzE8t6Z1) - Stack Learner
* [JavaScript Bangla Tutorial Course 2021](https://www.youtube.com/playlist?list=PLgH5QX0i9K3qzryglMjcyEktz4q7ySunX) - Anisul Islam
* [JavaScript Behind The Scene Bangla Tutorial](https://www.youtube.com/playlist?list=PL_XxuZqN0xVDPaOrWvTIuhb5GRoJVWiE2) - Stack Learner
* [JavaScript Full Playlist With Order](https://www.youtube.com/playlist?list=PL_XxuZqN0xVAJTV_1ZXwB1XIiFkK0ddZA) - Stack Learner
* [Make Fun of JavaScript Array](https://www.youtube.com/playlist?list=PL_XxuZqN0xVDr08QgQHljCecWtA4jBLnS) - Stack Learner
* [JS Bangla Tutorial Series for Beginners](https://www.youtube.com/playlist?list=PLHiZ4m8vCp9OkrURufHpGUUTBjJhO9Ghy) - Learn with Sumit
* [Modern JavaScript ES6 Bangla Tutorial](https://www.youtube.com/playlist?list=PLHiZ4m8vCp9MFjMRp9EEHWKArbi0wdgXG) - Learn with Sumit
* [Play with DOM - Bangla](https://www.youtube.com/playlist?list=PLHiZ4m8vCp9MJDxMOzhYVuTrO1b5n-Tq_) - Learn with Sumit
* [JS Bangla Tutorial Series for Beginners](https://www.youtube.com/playlist?list=PLHiZ4m8vCp9OkrURufHpGUUTBjJhO9Ghy) - Sumit Saha (Learn with Sumit)
* [Modern JavaScript ES6 Bangla Tutorial](https://www.youtube.com/playlist?list=PLHiZ4m8vCp9MFjMRp9EEHWKArbi0wdgXG) - Sumit Saha (Learn with Sumit)
* [Play with DOM - Bangla](https://www.youtube.com/playlist?list=PLHiZ4m8vCp9MJDxMOzhYVuTrO1b5n-Tq_) - Sumit Saha (Learn with Sumit)
#### jQuery
@ -129,7 +129,7 @@
* [React - Redux Complete Course](https://www.youtube.com/playlist?list=PL_XxuZqN0xVAvcGzTEAyPSOqgUQA08rNB) - Stack Learner
* [Understand ReactJS Advanced Features](https://www.youtube.com/playlist?list=PL_XxuZqN0xVBaeF3qUyvr2AxoXGwDd5cx) - Stack Learner
* [Understand ReactJS Core Features](https://www.youtube.com/playlist?list=PL_XxuZqN0xVBANld2gDEE6_0G886zavUs) - Stack Learner
* [React JS Tutorial Bangla Series for Beginners](https://www.youtube.com/playlist?list=PLHiZ4m8vCp9M6HVQv7a36cp8LKzyHIePr) - Learn with Sumit
* [React JS Tutorial Bangla Series for Beginners](https://www.youtube.com/playlist?list=PLHiZ4m8vCp9M6HVQv7a36cp8LKzyHIePr) - Sumit Saha (Learn with Sumit)
### Kotlin

View File

@ -12,7 +12,7 @@
* [TypeScript](#typescript)
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [C++ Grundlagen Tutorials von Pilzschaf](https://www.youtube.com/playlist?list=PLStQc0GqppuVs05kWvLBoHcWCULX3ueIM) - Pilzschaf

View File

@ -10,11 +10,12 @@
* [Bash / Shell](#bash--shell)
* [Bootstrap](#bootstrap)
* [C](#c)
* [C#](#c-sharp)
* [C#](#csharp)
* [C++](#cpp)
* [Clojure](#clojure)
* [Cloud Computing](#cloud-computing)
* [Compilers](#compilers)
* [Computer Science](#computer-science)
* [CUDA](#cuda)
* [Dart](#dart)
* [Data Science](#data-science)
@ -54,6 +55,7 @@
* [.NET](#net)
* [Objective-C](#objective-c)
* [OCaml](#ocaml)
* [Operating Systems](#operating-systems)
* [Perl](#perl)
* [Pharo](#pharo)
* [PHP](#php)
@ -64,6 +66,7 @@
* [Flask](#flask)
* [QB64](#QB64)
* [R](#r)
* [Robotics](#robotics)
* [Ruby](#ruby)
* [Rust](#rust)
* [Scala](#scala)
@ -101,20 +104,23 @@
### Algorithms & Data Structures
* [Advanced Data Structures](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-851-advanced-data-structures-spring-2012/) - Erik Demaine
* [Algorithm Design and Implementation](https://www.youtube.com/playlist?list=PL6EF0274BD849A7D5)
* [Algorithms](https://www.youtube.com/playlist?list=PLDN4rrl48XKpZkf03iYFl-O29szjTrs_O) - Abdul Bari
* [Berkeley University CS 61B: Data Structures](http://datastructur.es/sp16/)
* [Berkeley's CS 61B: Data Structures](https://archive.org/details/ucberkeley_webcast_QMV45tHCYNI)
* [Data Structures](https://www.youtube.com/playlist?list=PL2_aWCzGMAwI3W_JlcBbtYTwiQSsOTa6P) - mycodeschool
* [Data Structures](https://stepik.org/course/579/syllabus) - Niema Moshiri and Liz Izhikevich (Stepik)
* [Data Structures and Algorithms](https://youtube.com/playlist?list=PLBZBJbE_rGRV8D7XZ08LK6z-4zPoWzu5H) - CS Dojo
* [Data Structures and Algorithms](https://www.youtube.com/playlist?list=PLdo5W4Nhv31bbKJzrsKfMpo_grxuLl8LU) - Jenny's lectures CS/IT NET&JRF
* [Data Structures and Algorithms for Beginners](https://www.youtube.com/watch?v=BBpAmxU_NQo) - Programming with Mosh
* [Data Structures and Algorithms for Beginners](https://www.youtube.com/watch?v=BBpAmxU_NQo) - Moshfegh Hamedani (Programming with Mosh)
* [Data Structures and Algorithms Specialization](https://www.coursera.org/specializations/data-structures-algorithms) - UC San Diego, HSE University
* [Data Structures and Algorithms Tutorial](https://www.tutorialspoint.com/data_structures_algorithms/) - Tutorials Point
* [Data Structures Easy to Advanced Course - Full Tutorial from a Google Engineer](https://www.youtube.com/watch?v=RBSGKlAvoiM) - William Fiset - (freeCodeCamp)
* [IIT Bombay Foundation of Data Structures (CS213.1x)](https://courses.edx.org/courses/course-v1:IITBombayX+CS213.1x+1T2017/course/)
* [Intro to Data Structures and Algorithms](https://www.udacity.com/course/data-structures-and-algorithms-in-python--ud513) - Brynn Claypoole, Horatio Thomas (Udacity)
* [MIT's Design and Analysis of Algorithms (Spring 2012)](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2012) - Dana Moshkovitz, Bruce Tidor
* [MIT's Design and Analysis of Algorithms (Spring 2015)](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2015) - Erik Demaine, Srini Devadas, Nancy Lynch
* [MIT's Introduction to Algorithms (Fall 2011)](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/)
* [MIT's Introduction to Algorithms (SMA 5503) (Fall 2005)](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005) - Charles Leiserson, Erik Demaine
* [Online Java + DSA + Interview preparation course](https://www.youtube.com/playlist?list=PL9gnSGHSqcnr_DxHsP7AW9ftq0AtAyYqJ) - Kunal Kushwaha
* [Princeton University Algorithms, Part 1](https://www.coursera.org/learn/algorithms-part1)
@ -170,7 +176,7 @@
* [AI Courses](https://software.intel.com/content/www/us/en/develop/topics/ai/training/courses.html) - Intel Corporation
* [AI Fundamentals](https://www.udacity.com/course/ai-fundamentals--ud099) - Microsoft Azure (Udacity)
* [Aml-2018 Ambient Intelligence](https://www.youtube.com/playlist?list=PLqRTLlwsxDL8fUcY2Y54sITILyJcTySpC) - Fulvio Corno, Luigi De Russis, Alberto Monge Roffarello @ Politecnico di Torino
* [Artificial Intelligence on Google Cloud Platform](https://www.youtube.com/playlist?list=PL3N9eeOlCrP6Nhv4UFp67IsQ_TVDpXqXK) - Srivatsan Srinivasan @ AIEngineering (Youtube)
* [Artificial Intelligence on Google Cloud Platform](https://www.youtube.com/playlist?list=PL3N9eeOlCrP6Nhv4UFp67IsQ_TVDpXqXK) - Srivatsan Srinivasan @ AIEngineering (YouTube)
* [CS50s Introduction to Artificial Intelligence with Python](https://cs50.harvard.edu/ai/2020/) - Brian Yu, David J. Malan (Harvard OpenCourseWare and EdX)
* [Elements of AI](https://www.elementsofai.com) - University of Helsinki, Reaktor
* [IBM AI Engineering Professional Certificate](https://www.coursera.org/professional-certificates/ai-engineer) - Romeo Kienzler, Saeed Aghabozorgi, Joseph Santarcangelo, Alex Aklson et al. (Coursera)
@ -182,6 +188,7 @@
* [Binary Exploitation / Memory Corruption by LiveOverflow](https://www.youtube.com/playlist?list=PLhixgUqwRTjxglIswKp9mpkfPNfHkzyeN) - LiveOverflow (YouTube)
* [C Programming and Assembly Language](https://nptel.ac.in/courses/106/106/106106210/) - Prof. Janakiraman Viraraghavan, IIT Madras (NPTEL)
* [Introduction to Assembly Programming with ARM](https://www.udemy.com/course/introduction-to-assembly-programming-with-arm/) - Scott Cosentino (Udemy)
* [Introduction To Reverse Engineering Software](http://opensecuritytraining.info/IntroductionToReverseEngineering.html) - Matt Briggs (OpenSecurityTraining)
* [Introductory Intel x86: Architecture, Assembly, Applications, & Alliteration](http://opensecuritytraining.info/IntroX86.html) - Xeno Kovah (OpenSecurityTraining)
@ -227,23 +234,23 @@
### C
* [C Language Tutorial for Beginners (With Notes)](https://www.youtube.com/watch?v=_MF8L7ZxwRE) - ProgrammingWithHarry [youtube]
* [C Language Tutorial for Beginners (With Notes)](https://www.youtube.com/watch?v=_MF8L7ZxwRE) - ProgrammingWithHarry (YouTube)
* [C Programming Tutorial](https://www.youtube.com/playlist?list=PL_RGaFnxSHWoGzOXqtKeM71OLpvZbuU0P)
* [C Programming Tutorial for Beginners](https://www.youtube.com/watch?v=KJgsSFOSQv0) - Mike Dane - (freeCodeCamp)
* [Introduction to Computer Science](https://www.edx.org/course/cs50s-introduction-to-computer-science)
* [The Arduino Platform and C Programming](https://www.coursera.org/learn/arduino-platform)
### C Sharp
### <a id="csharp"></a>C\#
* [C# 101](https://channel9.msdn.com/Series/CSharp-101) - Scott Hanselman, Kendra Havens Microsoft.
* [C# Programming All-in-One Tutorial Series (6 HOURS!)](https://www.youtube.com/watch?v=qOruiBrXlAw) - Caleb Curry (YouTube)
* [C# Tutorial - Full Course for Beginners](https://www.youtube.com/watch?v=GhQdlIFylQ8) - Mike Dane - (freeCodeCamp)
* [C# Tutorial For Beginners - Learn C# Basics in 1 Hour](https://www.youtube.com/watch?v=gfkTfcpWqAY) - Moshfegh Hamedani, Programming with Mosh (YouTube)
* [C# Tutorial For Beginners - Learn C# Basics in 1 Hour](https://www.youtube.com/watch?v=gfkTfcpWqAY) - Moshfegh Hamedani (Programming with Mosh)
* [Learn how to program: C# and .NET](https://www.learnhowtoprogram.com/c-and-net) - Epicodus Inc.
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [C++ For Programmers](https://www.udacity.com/course/c-for-programmers--ud210) - Catherine Gamboa (Udacity)
* [C++ Programming Tutorial for Beginners (For Absolute Beginners)](https://www.youtube.com/playlist?list=PLS1QulWo1RIYSyC6w2-rDssprPrEsgtVK) - ProgrammingKnowledge
@ -262,6 +269,7 @@
### Cloud Computing
* [Cloud Computing and Development](https://uaceit.com/courses/cloud-computing-and-development) - Ashwin Kumar Ramaswamy (UAceIt) (email address *required*)
* [Cloud Computing Full Course In 11 Hours \| Cloud Computing Tutorial For Beginners](https://www.youtube.com/watch?v=2LaAJq1lB1Q) - Edureka!
* [Microsoft Certified: Azure Fundamentals](https://docs.microsoft.com/en-us/learn/certifications/azure-fundamentals/) - Microsoft
@ -272,6 +280,18 @@
* [Stanford's Compilers](https://www.edx.org/course/compilers)
### Computer Science
* [Berkeley's CS 61A: Taught using SICP](https://archive.org/details/ucberkeley-webcast-PL3E89002AA9B9879E?tab=collection)
* [LouvainX Paradigms of Computer Programming Abstraction and Concurrency](https://www.edx.org/course/paradigms-computer-programming-louvainx-louv1-2x-1#!)
* [LouvainX Paradigms of Computer Programming Fundamentals](https://www.edx.org/course/paradigms-computer-programming-louvainx-louv1-1x-1)
* [MIT 6.824 Distributed Systems (Spring 2020)](https://www.youtube.com/playlist?list=PLrw6a1wE39_tb2fErI4-WkMbsvGQk9_UB)
* [MIT's Computer Language Engineering](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-035-computer-language-engineering-sma-5502-fall-2005/lecture-notes/)
* [MIT's Introduction to Computer Science and Programming](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc-introduction-to-computer-science-and-programming-spring-2011/) - John Guttag (MIT OpenCourseWare)
* [MIT's Introduction to Computer Science and Programming in Python](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/) - Ana Bell, Eric Grimson, John Guttag (MIT OpenCourseWare)
* [MIT's Mathematics for Computer Science](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/video-lectures/)
### Cuda
* [Intro to Parallel Programming Using CUDA to Harness the Power of GPUs](https://www.udacity.com/course/intro-to-parallel-programming--cs344) (Udacity)
@ -280,7 +300,7 @@
### Dart
* [Dart Course for Beginners](https://www.udemy.com/course/dartlang) (Udemy)
* [Dart Programming in 4 hours \| Full beginners tutorial](https://www.youtube.com/watch?v=5xlVP04905w) - Mike Dane (Youtube)
* [Dart Programming in 4 hours \| Full beginners tutorial](https://www.youtube.com/watch?v=5xlVP04905w) - Mike Dane (YouTube)
* [Dart Programming Tutorial - Full Course](https://www.youtube.com/watch?v=Ej_Pcr4uC2Q) - Mahmud Ahsan (FreeCodeCamp)
* [Dart Programming Tutorial \| Learn the Dart for Flutter](https://www.udemy.com/course/dart-programming-tutorial-learn-the-dart-for-flutter) (Udemy)
@ -300,6 +320,7 @@
* [IBM Data Science Professional Certificate](https://www.coursera.org/professional-certificates/ibm-data-science) (Coursera)
* [Intro to Data Analysis](https://www.udacity.com/course/intro-to-data-analysis--ud170) - Udacity
* [Introduction to Data Science in Python](https://www.coursera.org/learn/python-data-analysis) - Christopher Brooks (Coursera)
* [MIT's Introduction to Computational Thinking and Data Science](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0002-introduction-to-computational-thinking-and-data-science-fall-2016/) - Eric Grimson, John Guttag, Ana Bell (MIT OpenCourseWare)
* [More Data Mining with Weka MOOC](https://www.cs.waikato.ac.nz/ml/weka/mooc/moredataminingwithweka/)
* [The Analytics Edge](https://www.edx.org/course/analytics-edge-mitx-15-071x-3)
@ -326,7 +347,7 @@
* [Introduction to Database Queries](https://www.edx.org/course/introduction-to-database-queries) - (edX New York University) - (Aspen Olmsted)
* [Introduction to Databases and SQL Querying](https://www.udemy.com/course/introduction-to-databases-and-sql-querying/) - Rakesh Gopalakrishnan (Udemy)
* [Learn SQL](https://popsql.com/learn-sql) - PopSQL
* [MySQL Tutorial for Beginners [Full Course]](https://www.youtube.com/watch?v=7S_tz1z_5bA) - Programming with Mosh
* [MySQL Tutorial for Beginners [Full Course]](https://www.youtube.com/watch?v=7S_tz1z_5bA) - Moshfegh Hamedani (Programming with Mosh)
* [SQL Foundations](https://www.udemy.com/course/sql-essentials-for-beginners/) - Sagar Uppuluri (Udemy)
* [SQL Tutorial](https://www.youtube.com/playlist?list=PL_RGaFnxSHWr_6xTfF2FrIw-NAOo3iWMy)
* [SQL Tutorial - Full Database Course for Beginners](https://www.youtube.com/watch?v=HXV3zeQKqGY) - Mike Dane (freeCodeCamp)
@ -334,6 +355,7 @@
### Deep Learning
* [Advanced NLP using spaCy](https://course.spacy.io) - Ines Montani
* [Complete Deep Learning](https://www.youtube.com/playlist?list=PLZoTAELRMXVPGU70ZGsckrMdr0FteeRUi) - Krish Naik
* [Convolutional Neural Networks for Visual Recognition](http://cs231n.github.io)
* [Deep Learning for Natural Language Processing](http://cs224d.stanford.edu)
@ -358,7 +380,6 @@
### Docker
* [Docker](https://www.youtube.com/playlist?list=PLhW3qG5bs-L99pQsZ74f-LC-tOEsBp2rK) - Raghav Pal
* [Docker Tutorial](https://www.tutorialspoint.com/docker/index.htm) - TutorialsPoint
* [Docker Tutorial for Beginners ](https://www.youtube.com/playlist?list=PL6gx4Cwl9DGBkvpSIgwchk0glHLz7CQ-7) - Thenewboston
* [Docker Tutorial for Beginners](https://www.youtube.com/watch?v=fqMOX6JJhGo) - FreeCodeCamp
* [Docker Tutorial Videos \| DevOps Tool](https://www.youtube.com/playlist?list=PL9ooVrP1hQOHUKuqGuiWLQoJ-LD25KxI5) - edureka!
@ -406,7 +427,7 @@
* [GIT for beginners](https://www.eduonix.com/git-for-beginners) - Maksym Rudnyi (Eduonix Learning Solutions) *(account or email address required)*
* [Git How To](https://githowto.com) - Alexander Shvets
* [Git Tutorial - Learn Command-line Git & GitHub](https://www.youtube.com/playlist?list=PLpcSpRrAaOarEpNz71TSfNVd0eQmsZSgN) - LearnWebCode (YouTube)
* [Git Tutorial for Beginners: Learn Git in 1 Hour](https://www.youtube.com/watch?v=8JJ101D3knE) - Moshfegh Hamedani, Programming with Mosh (YouTube)
* [Git Tutorial for Beginners: Learn Git in 1 Hour](https://www.youtube.com/watch?v=8JJ101D3knE) - Moshfegh Hamedani (Programming with Mosh)
* [How to Use Git and GitHub](https://www.udacity.com/course/how-to-use-git-and-github--ud775) (Udacity)
* [Introduction to Git and GitHub](https://www.coursera.org/learn/introduction-git-github) - Google (Coursera)
* [Learn Git with Bitbucket Cloud](https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud) - Atlassian
@ -416,12 +437,12 @@
* [A Tour Of Go](https://tour.golang.org/welcome/1)
* [DevOps BootCamp](https://github.com/jeffotoni/goworkshopdevops) - Jefferson Otoni Lima et al.
* [Go Tutorial](http://www.tutorialspoint.com/go/index.htm)
* [Golang \| Gin HTTP Framework](https://www.youtube.com/playlist?list=PL3eAkoh7fypr8zrkiygiY1e9osoqjoV9w) - Pragmatic Reviews
* [Golang basics](https://www.youtube.com/playlist?list=PLve39GJ2D71xX0Ham0WoPaYfl8oTzZfN6) - Golang dojo
* [Golang in under an hour](https://www.youtube.com/watch?v=N0fIANJkwic) - Eli Goldberg
* [Golang Tutorial - Learn Go Programming Language](https://www.geeksforgeeks.org/golang-tutorial-learn-go-programming-language/) - GeeksforGeeks
* [Gophercises: Free Coding Exercises for Budding Gophers](https://gophercises.com) - Jon Calhoun (email address *required*)
* [Learn Go \| Learn Go Programming](https://golangr.com) - golangr.com
* [Learn Go Programming - Golang Tutorial for Beginners](https://www.youtube.com/watch?v=YS4e4q9oBaU) - FreeCodeCamp
* [Let's go with golang](https://www.youtube.com/playlist?list=PLRAV69dS1uWQGDQoBYMZWKjzuhCaOnBpa) - Hitesh Choudhary
@ -445,11 +466,11 @@
* [Build Dynamic Websites](https://web.archive.org/web/20210812200413/http://cs75.tv/2010/fall/) - David J. Malan [(YouTube)](https://www.youtube.com/playlist?list=PLvJoKWRPIu8GhAhDBAH0BFB9BS7YxM1WT)
* [Code Your First Game: Arcade Classic in JavaScript on Canvas](https://www.udemy.com/code-your-first-game/) - Chris DeLeon (Udemy)
* [Complete HTML/CSS BootCamp](https://frontendmasters.com/bootcamp/) - FrontEnd Masters
* [Conquering freeCodeCamp's Curriculum](https://youtube.com/playlist?list=PLgBH1CvjOA62oNEVgz-dECiCZCE_Q3ZFH) - Florin Pop (Youtube)
* [Conquering freeCodeCamp's Curriculum](https://youtube.com/playlist?list=PLgBH1CvjOA62oNEVgz-dECiCZCE_Q3ZFH) - Florin Pop (YouTube)
* [CSS Flexbox - Mastering the Basics](https://www.udemy.com/css-flexbox-mastering-the-basics/) - Vishwas Gopinath (Udemy)
* [CSS Grid](https://cssgrid.io) - Wesbos
* [CSS Tutorial](https://www.youtube.com/playlist?list=PL_RGaFnxSHWqMH9a9DY8LFKrJ5NJCFHHe)
* [CSS Tutorials](https://youtube.com/playlist?list=PLDyQo7g0_nsUjf046cCHKJ16U1SoXrElZ) - Dev Ed (Youtube)
* [CSS Tutorials](https://youtube.com/playlist?list=PLDyQo7g0_nsUjf046cCHKJ16U1SoXrElZ) - Dev Ed (YouTube)
* [CSS3 tutorial for beginners \| Learn CSS3](https://www.udemy.com/course/css3-tutorial-for-beginners-learn-css3/) - Udemy
* [Flexbox in 30 Days](https://github.com/samanthaming/Flexbox30) - Samantha Ming
* [HTML & CSS](https://www.youtube.com/playlist?list=PLillGF-RfqbZTASqIqdvm1R5mLrQq79CU) - Brad Traversy, Traversy Media (YouTube)
@ -497,6 +518,7 @@
* [Java Server Tutorials - Happy Coding](https://happycoding.io/tutorials/java-server/) - Kevin Workman
* [Java tutorial for beginners](https://youtube.com/playlist?list=PLZPZq0r_RZOMhCAyywfnYLlrjiVOkdAI1) - Bro Code (YouTube)
* [Java Tutorial for Complete Beginners](https://www.udemy.com/course/java-tutorial/) - John Purcell (Udemy)
* [JSP (Java server pages) and servlet basics](https://www.udemy.com/course/jsp-servlet-free/) - StudyEasy Organisation, Chaand Sheikh (Udemy)
* [Learn how to program: Java](https://www.learnhowtoprogram.com/java-june-2017) - Epicodus Inc.
* [Learn Java](https://www.sololearn.com/learning/1068) - Sololearn *(email address required)*
* [Object Oriented Programming (OOP) In Java Course](https://www.youtube.com/playlist?list=PL9gnSGHSqcno1G3XjUbwzXHL8_EttOuKk) - Kunal Kushwaha (YouTube)
@ -516,7 +538,7 @@
* [Bento JavaScript Learning Track](https://bento.io/topic/javascript) (Bento)
* [Cycle.js Fundamentals](https://egghead.io/courses/cycle-js-fundamentals) - André Staltz
* [ES6 and Typescript Tutorial](https://www.youtube.com/playlist?list=PLC3y8-rFHvwhI0V5mE9Vu6Nm-nap8EcjV) - Codevolution, Vishwas Gopinath (YouTube)
* [Functional Programming in Javascript](https://www.youtube.com/playlist?list=PL0zVEGEvSaeEd9hlmCXrk5yUyqUag-n84) - Mattias Petter Johansson «Fun Fun Function» (Youtube)
* [Functional Programming in Javascript](https://www.youtube.com/playlist?list=PL0zVEGEvSaeEd9hlmCXrk5yUyqUag-n84) - Mattias Petter Johansson «Fun Fun Function» (YouTube)
* [Intro to JavaScript ES6 programming](https://www.youtube.com/playlist?list=PL-xu4i_QDSxcoDNeh8rx5-pHCCTOg0XsI)
* [Intro To JavaScript Unit Testing & BDD](https://www.youtube.com/watch?v=u5cLK1UrFyQ) - Traversy Media
* [Javascript Array Methods](https://youtube.com/playlist?list=PLgBH1CvjOA62PBFIDq55-S6Beivje30A2) - Florin Pop (YouTube)
@ -525,8 +547,8 @@
* [Javascript Essentials](https://www.udemy.com/javascript-essentials/) - Lawrence Turton (Udemy)
* [Javascript Mini Course 2020](https://www.udemy.com/course/javascript-essentials-mini-course/) - Kalob Taulien (Udemy)
* [JavaScript Tutorial for Beginners](https://www.youtube.com/playlist?list=PL4cUxeGkcC9i9Ae2D9Ee1RvylH38dKuET) - The Net Ninja
* [JavaScript Tutorial for beginners](https://www.youtube.com/watch?v=W6NZfCO5SIk) - Programming with Mosh (youtube)
* [JavaScript Tutorials](https://www.youtube.com/playlist?list=PLTjRvDozrdlxEIuOBZkMAK5uiqp8rHUax) - Programming with Mosh (YouTube)
* [JavaScript Tutorial for beginners](https://www.youtube.com/watch?v=W6NZfCO5SIk) - Moshfegh Hamedani (Programming with Mosh)
* [JavaScript Tutorials](https://www.youtube.com/playlist?list=PLTjRvDozrdlxEIuOBZkMAK5uiqp8rHUax) - Moshfegh Hamedani (Programming with Mosh)
* [Javascript30](https://javascript30.com) - Wesbos
* [Learn how to program: JavaScript](https://www.learnhowtoprogram.com/javascript) - Epicodus Inc.
* [Learn JavaScript](https://youtube.com/playlist?list=PLgBH1CvjOA636I8hnHSyuOnX341XQrBth) - Florin Pop (YouTube)
@ -580,15 +602,15 @@
#### NodeJS
* [Beginner's Series to: Node.js](https://youtube.com/playlist?list=PLlrxD0HtieHje-_287YJKhY8tDeSItwtg) - Microsoft Developer (YouTube)
* [Building a RESTful API with Node.js](https://www.youtube.com/playlist?list=PL55RiY5tL51q4D-B63KBnygU6opNPFk_q) - Academind (Youtube)
* [Express JS Crash Course](https://www.youtube.com/watch?v=L72fhGm1tfE) - Brad Traversy, Traversy Media (Youtube)
* [Building a RESTful API with Node.js](https://www.youtube.com/playlist?list=PL55RiY5tL51q4D-B63KBnygU6opNPFk_q) - Academind (YouTube)
* [Express JS Crash Course](https://www.youtube.com/watch?v=L72fhGm1tfE) - Brad Traversy, Traversy Media (YouTube)
* [ExpressJS Fundamentals](https://www.udemy.com/course/expressjs-fundamentals/) - Patrick Schroeder (Udemy)
* [Node and Express Tutorial](https://www.youtube.com/watch?v=TNV0_7QRDwY) - John Smilga, Coding Addict (YouTube)
* [Node.js API Development for Beginners](https://www.udemy.com/course/node-js-api-tutorial/) (Udemy)
* [Node.js Basics](https://www.youtube.com/playlist?list=PLqq-6Pq4lTTa-d0iZg41U2RDqECol9C5B) - Java Brains (Youtube)
* [Node.js Basics](https://www.youtube.com/playlist?list=PLqq-6Pq4lTTa-d0iZg41U2RDqECol9C5B) - Java Brains (YouTube)
* [Node.js Crash Course Tutorial](https://www.youtube.com/playlist?list=PL4cUxeGkcC9jsz4LDYc6kv3ymONOKxwBU) - The Net Ninja
* [Node.js Tutorial for Beginners](https://www.youtube.com/playlist?list=PLsyeobzWxl7occsESx2X1E2R2Uw5wCoeG) - Telusko (YouTube)
* [Node.js Tutorial for Beginners: Learn Node in 1 Hour](https://www.youtube.com/watch?v=TlB_eWDSMt4) - Moshfegh Hamedani, Programming with Mosh (YouTube)
* [Node.js Tutorial for Beginners: Learn Node in 1 Hour](https://www.youtube.com/watch?v=TlB_eWDSMt4) - Moshfegh Hamedani (Programming with Mosh)
#### React
@ -628,7 +650,7 @@
#### Vue.js
* [Full Stack Vue.js, Express & MongoDB](https://www.youtube.com/playlist?list=PLillGF-RfqbYSx-Ab1xWVanGKtowTsnNm) - Traversy Media (Youtube)
* [Full Stack Vue.js, Express & MongoDB](https://www.youtube.com/playlist?list=PLillGF-RfqbYSx-Ab1xWVanGKtowTsnNm) - Traversy Media (YouTube)
* [Get Started with Nuxt](https://explorers.netlify.com/learn/get-started-with-nuxt) - Debbie O'Brien (Netlify)
* [Internationalization with vue-i18n](https://vueschool.io/courses/internationalization-with-vue-i18n)
* [Intro to Vue 2](https://www.vuemastery.com/courses/intro-to-vue-js/vue-instance)
@ -638,7 +660,7 @@
* [Vue Router for Everyone](https://vueschool.io/courses/vue-router-for-everyone)
* [Vue.js Components Fundamentals](https://vueschool.io/courses/vuejs-components-fundamentals)
* [Vue.js Fundamentals](https://vueschool.io/courses/vuejs-fundamentals)
* [Vue.js Tutorial](https://www.youtube.com/playlist?list=PL4cUxeGkcC9hYYGbV60Vq3IXYNfDk8At1) - The Net Ninja (Youtube)
* [Vue.js Tutorial](https://www.youtube.com/playlist?list=PL4cUxeGkcC9hYYGbV60Vq3IXYNfDk8At1) - The Net Ninja (YouTube)
* [Vuex for Everyone](https://vueschool.io/courses/vuex-for-everyone)
@ -672,12 +694,13 @@
* [Learn Lua in 15 Minutes](http://tylerneylon.com/a/learn-lua/) - Tyler Neylon (HTML)
* [Lua Interactive Crash Course](https://web.archive.org/web/20201111225216/luatut.com/crash_course.html)
* [Lua Tutorial](http://www.tutorialspoint.com/lua/)
### Machine Learning
* [AWS Machine Learning Foundations Course](https://www.udacity.com/course/aws-machine-learning-foundations--ud065) - AWS (Udacity)
* [Caltech's Learning From data](https://work.caltech.edu/telecourse.html)
* [Complete Machine Learning in Python playlist](https://www.youtube.com/playlist?list=PLZoTAELRMXVPBTrWtJkn3wWQxZkmTXGwe) - Krish Naik (YouTube)
* [Deep Learning Fundamentals by DeepLearning.TV](https://cognitiveclass.ai/courses/introduction-deep-learning) (cognitiveclass.ai)
* [Google's Machine Learning Crash Course](https://developers.google.com/machine-learning/crash-course/)
* [Intro to Machine Learning](https://www.kaggle.com/learn/intro-to-machine-learning) (Kaggle)
@ -687,13 +710,14 @@
* [Machine Learning](https://www.sololearn.com/Course/machine-learning) (SoloLearn) *(account required)*
* [Machine Learning Recipes with Josh Gordon](https://www.youtube.com/playlist?list=PLOU2XLYxmsIIuiBfYad6rFYQU_jL2ryal)
* [Machine Learning Tutorial Python \| Machine Learning For Beginners](https://www.youtube.com/playlist?list=PLeo1K3hjS3uvCeTYTeyfe0-rN5r8zn9rw) - Dhaval Patel
* [Machine Learning with Python - Youtube Playlist](https://www.youtube.com/playlist?list=PLZoTAELRMXVPBTrWtJkn3wWQxZkmTXGwe) - Krish Naik (YouTube)
* [Machine Learning with Python by Saeed Aghabozorgi](https://cognitiveclass.ai/courses/machine-learning-with-python) (cognitiveclass.ai)
* [Machine Learning with Python: Zero to GBMs](https://jovian.ai/learn/machine-learning-with-python-zero-to-gbms) (Jovian)
* [Made with ML](https://madewithml.com) - Goku Mohandas (Applied ML · MLOps · Production)
* [Mathematics for Machine Learning - Linear Algebra](https://www.youtube.com/playlist?list=PLiiljHvN6z1_o1ztXTKWPrShrMrBLo5P3) - Imperial College London, Dr David Dye, Dr Sam Cooper
* [Mathematics for Machine Learning - Multivariate Calclus](https://www.youtube.com/playlist?list=PLiiljHvN6z193BBzS0Ln8NnqQmzimTW23) - Imperial College London, Dr David Dye, Dr Sam Cooper
* [Pattern Recognition and Machine Learning](https://www.microsoft.com/en-us/research/people/cmbishop/#!prml-book)
* [PyTorch tutorials by PyTorch.org](https://pytorch.org/tutorials)
* [Stanford SEE 229 - Machine Learning](https://see.stanford.edu/Course/CS229)
* [Stanford University Machine Learning](https://www.coursera.org/learn/machine-learning)
@ -715,42 +739,16 @@
### Misc
* [Advanced Adobe XD (Web Design)](https://webdesign.tutsplus.com/courses/advanced-adobe-xd-for-everyone) - Adi Purdila
* [Advanced Data Structures](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-851-advanced-data-structures-spring-2012/)
* [Advanced NLP using spaCy](https://course.spacy.io) - Ines Montani
* [Algorithm Design and Implementation](https://www.youtube.com/playlist?list=PL6EF0274BD849A7D5)
* [Berkeley's CS 61A: Taught using SICP](https://archive.org/details/ucberkeley-webcast-PL3E89002AA9B9879E?tab=collection)
* [Berkeley's CS 61B: Data Structures](https://archive.org/details/ucberkeley_webcast_QMV45tHCYNI)
* [Berkeley's CS 162: Operating Systems and Systems Programming](https://www.youtube.com/watch?v=feAOZuID1HM)
* [Berkeley's CS 169: Software Engineering](https://www.youtube.com/watch?v=fXokQpWsszU)
* [Berkeley's CS 194: What is an Operating System?](http://www.infocobuild.com/education/audio-video-courses/computer-science/cs194-spring2013-berkeley.html)
* [Bits: The Computer Science of Digital Information](http://www.extension.harvard.edu/open-learning-initiative/bits)
* [Caltech's Learning From data](https://work.caltech.edu/telecourse.html)
* [Cloud Computing and Development](https://uaceit.com/courses/cloud-computing-and-development) - Ashwin Kumar Ramaswamy (UAceIt)
* [Computer Graphics](http://nptel.ac.in/courses/106106090/)
* [Embedded Software Safety](https://www.youtube.com/playlist?list=PLAQopGWlIcyaqDBW1zSKx7lHfVcOmWSWt) (P. Koopman)
* [FindLectures.com](https://web.archive.org/web/20161219180842/https://www.findlectures.com/?class1=Technology) - Index of conference talks by language / topic (:card_file_box: *archived*)
* [Introduction to Information Security](https://www.udacity.com/course/intro-to-information-security--ud459)
* [Introduction to Quantum Computing and Quantum Hardware](https://qiskit.org/learn/intro-qc-qh) - Qiskit
* [Introduction to Reinforcement Learning with David Silver](https://deepmind.com/learning-resources/-introduction-reinforcement-learning-david-silver) - David Silver
* [LouvainX Paradigms of Computer Programming Abstraction and Concurrency](https://www.edx.org/course/paradigms-computer-programming-louvainx-louv1-2x-1#!)
* [LouvainX Paradigms of Computer Programming Fundamentals](https://www.edx.org/course/paradigms-computer-programming-louvainx-louv1-1x-1)
* [Made with ML](https://madewithml.com) - Goku Mohandas (Applied ML · MLOps · Production)
* [MIT 6.824 Distributed Systems (Spring 2020)](https://www.youtube.com/playlist?list=PLrw6a1wE39_tb2fErI4-WkMbsvGQk9_UB) - MIT 6.824 Distributed Systems
* [MIT Numerical Methods (2014)](http://www.iitg.ernet.in/kartha/CE601-14/CourseSchedule.htm)
* [MIT's Computer Language Engineering](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-035-computer-language-engineering-sma-5502-fall-2005/lecture-notes/)
* [MIT's Introduction to Algorithms](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/)
* [MIT's Mathematics for Computer Science](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/video-lectures/)
* [Principles of Reactive Programming](https://www.coursera.org/course/reactive)
* [Robotics I](https://www.youtube.com/playlist?list=PLAQopGWlIcyaqDBW1zSKx7lHfVcOmWSWt) - (A. De Luca)
* [Shawn Hymel Presents: Introduction to RTOS](https://www.youtube.com/playlist?list=PLEBQazB0HUyQ4hAPU1cJED6t3DU0h34bz) - Digi-Key (Youtube)
* [Stanford Cryptography I](https://www.coursera.org/course/crypto)
* [Stanford Cryptography II](https://www.coursera.org/course/crypto2)
* [Stanford SEE 229 - Machine Learning](https://see.stanford.edu/Course/CS229)
### .NET
* [Learn how to program: .NET](https://www.learnhowtoprogram.com/net) - Epicodus Inc.
> :information_source: See also &#8230; [C#](#csharp)
### Objective-C
@ -764,6 +762,12 @@
* [Introduction to Functional Programming in OCaml](https://www.fun-mooc.fr/courses/parisdiderot/56002S02/session02/about)
### Operating Systems
* [Berkeley's CS 162: Operating Systems and Systems Programming](https://www.youtube.com/watch?v=feAOZuID1HM)
* [Berkeley's CS 194: What is an Operating System?](http://www.infocobuild.com/education/audio-video-courses/computer-science/cs194-spring2013-berkeley.html)
### Perl
* [Perl Tutorial](https://www.youtube.com/playlist?list=PL_RGaFnxSHWpqRBcStwV0NwMA3nXMh5GC)
@ -830,7 +834,7 @@
* [Practical Python Programming](https://dabeaz-course.github.io/practical-python/) - David Beazley
* [Programming, Data Structures And Algorithms Using Python](https://nptel.ac.in/courses/106/106/106106145/) - Prof. Madhavan Mukund (NPTEL)
* [Programming Foundations with Python](https://www.udacity.com/course/programming-foundations-with-python--ud036) (Udacity)
* [Python 101 Introduction to Programming](https://www.tutorialspoint.com/python_101_andndash_introduction_to_programming/index.asp) - Zenva (TutorialsPoint)
* [Python 101 Introduction to Programming](https://www.tutorialspoint.com/python_101_andndash_introduction_to_programming/index.asp) - Zenva (Tutorials Point)
* [Python 3](https://www.sololearn.com/Course/Python/) (SoloLearn)
* [Python And Cryptocurrency: Build 5 Real World Applications](https://www.udemy.com/course/coinmarketcap/) Ian Annase (Udemy)
* [Python Built in Functions A to Z Tutorial and Examples](https://www.youtube.com/playlist?list=PLrJGwAG1U62RW_hGGnk7xXG0LciHkT54X) - Brainy Things
@ -844,11 +848,11 @@
* [Python OOP Tutorials - Working with Classes](https://www.youtube.com/playlist?list=PL-osiE80TeTsqhIuOqKhwlXsIBIdSeYtc) - Corey Schafer
* [Python Pandas For Your Grandpa](https://www.gormanalysis.com/blog/python-pandas-for-your-grandpa/) - Ben Gorman
* [Python Programming Essentials](https://www.coursera.org/learn/python-programming) - Scott Rixner, Joe Warren (Coursera)
* [Python Programming From Scratch With Practicals](https://www.tutorialspoint.com/python_programming_from_scratch_with_practicals/index.asp) - Sundeep Saradhi Kanthety (TutorialsPoint)
* [Python Programming From Scratch With Practicals](https://www.tutorialspoint.com/python_programming_from_scratch_with_practicals/index.asp) - Sundeep Saradhi Kanthety (Tutorials Point)
* [Python Programming Language](https://www.geeksforgeeks.org/python-programming-language/) (Geeks for Geeks)
* [Python Programming Tutorial](https://www.youtube.com/playlist?list=PL_RGaFnxSHWpX_byHyTEj9hecPngl2DqR)
* [Python Programming Tutorials](https://www.youtube.com/playlist?list=PLzMcBGfZo4-mFu00qxl0a67RhjjZj3jXm) - Tech With Tim
* [Python Tutorial - Python for Beginners [Full Course]](https://www.youtube.com/watch?v=_uQrJ0TkZlc) (Programming with Mosh)
* [Python Tutorial - Python for Beginners [Full Course]](https://www.youtube.com/watch?v=_uQrJ0TkZlc) - Moshfegh Hamedani (Programming with Mosh)
* [Python Tutorials](https://www.youtube.com/playlist?list=PLTjRvDozrdlxj5wgH4qkvwSOdHLOCx10f) - Programming with Mosh (YouTube)
* [Python Tutorials](https://www.youtube.com/playlist?list=PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU) - Corey Schafer
* [SoloLearn](https://www.sololearn.com/Course/Python/)
@ -861,7 +865,7 @@
* [Django 3.0 Crash Course Tutorials \| Customer Management App](https://www.youtube.com/playlist?list=PL-51WBLyFTg2vW-_6XBoUpE7vpmoR3ztO) - Dennis Ivy
* [Django for Everybody](https://www.dj4e.com) - Charles R. Severence
* [Django Tutorial for Beginners](https://www.youtube.com/playlist?list=PLsyeobzWxl7r2ukVgTqIQcl-1T0C2mzau) - Navin Reddy
* [Django Tutorial for Beginners (2021)](https://www.youtube.com/watch?v=rHux0gMZ3Eg) - Programming with Mosh (YouTube)
* [Django Tutorial for Beginners (2021)](https://www.youtube.com/watch?v=rHux0gMZ3Eg) - Moshfegh Hamedani (Programming with Mosh)
* [Django Tutorials](https://www.youtube.com/playlist?list=PL-osiE80TeTtoQCKZ03TU5fNfx2UY6U4p) - Corey Schafer
* [Django Tutorials for Beginners](https://www.youtube.com/playlist?list=PLK8cqdr55Tsv-D2HMdrnD32oOVBNvmxjr) - Programming With Harry(English)
* [Python Django Tutorial 2018 for Beginners](https://www.youtube.com/playlist?list=PL-J2q3Ga50oOpni_xS2PPUe4mf9lM96dD) - Clever Programmer
@ -872,7 +876,6 @@
#### Flask
* [Flask Tutorials](https://www.youtube.com/playlist?list=PL-osiE80TeTs4UjLw5MM6OjgkjFeUxCYH) - Corey Schafer
* [Python Flask Tutorial](https://www.tutorialspoint.com/flask/flask_overview.htm) (TutorialsPoint)
### QB64
@ -888,6 +891,12 @@
* [R Tutorial For Beginners \| Edureka](https://www.youtube.com/watch?v=fDRa82lxzaU) - (Edureka)
### Robotics
* [Introduction to RTOS](https://www.youtube.com/playlist?list=PLEBQazB0HUyQ4hAPU1cJED6t3DU0h34bz) - Shawn Hymel, Digi-Key (YouTube)
* [Robotics 1](https://www.youtube.com/playlist?list=PLAQopGWlIcyaqDBW1zSKx7lHfVcOmWSWt) - A. De Luca
### Ruby
* [Agile Development Using Ruby on Rails - Advanced](https://www.edx.org/course/agile-development-using-ruby-rails-uc-berkeleyx-cs169-2x#!)
@ -911,27 +920,29 @@
### Spark
* [Spark Tutorial | Spark Tutorial for Beginners | Apache Spark Full Course - Learn Apache Spark 2020](https://www.youtube.com/watch?v=zC9cnh8rJd0) Great Learning
* [Spark Tutorial \| Spark Tutorial for Beginners \| Apache Spark Full Course - Learn Apache Spark 2020](https://www.youtube.com/watch?v=zC9cnh8rJd0) Great Learning
### Scala
* [Functional Programming Principles in Scala](https://www.coursera.org/course/progfun)
* [Principles of Reactive Programming](https://www.coursera.org/course/reactive)
* [Functional Programming in Scala Specialization](https://www.coursera.org/course/reactive)
### Security
* [Computer Systems Security](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-858-computer-systems-security-fall-2014) - Prof. Nickolai Zeldovich (MIT OpenCourseWare)
* [Ethical Hacking](https://www.hacker101.com/videos) -(Hacker101)
* [Introduction to Information Security](https://www.udacity.com/course/intro-to-information-security--ud459) - Wenke Lee, Mustaque Ahamad, Catherine Gamboa (Udacity)
* [Stanford Cryptography I](https://www.coursera.org/course/crypto) - Dan Boneh
* [Stanford Cryptography II](https://www.coursera.org/course/crypto2) - Dan Boneh
* [The Complete Cyber Security & Hacking Course](https://academy.ehacking.net/p/cyber-security-training-hacking-course) -(Insec Techs- EH Academy)
* [Zero to Hero: A Practical Network Penetration Testing Course](https://www.youtube.com/playlist?list=PLLKT__MCUeiwBa7d7F_vN1GUwz_2TmVQj) - The Cyber Mentor
### Solidity
* [Learn Solidity](https://youtube.com/playlist?list=PL16WqdAj66SCOdL6XIFbke-XQg2GW_Avg) - Will it Scale (Youtube)
* [MASTER Solidity for Blockchain](https://youtube.com/playlist?list=PLS5SEs8ZftgVnWHv2_mkvJjn5HBOkde3g) - Dapp University (Youtube)
* [Learn Solidity](https://youtube.com/playlist?list=PL16WqdAj66SCOdL6XIFbke-XQg2GW_Avg) - Will it Scale (YouTube)
* [MASTER Solidity for Blockchain](https://youtube.com/playlist?list=PLS5SEs8ZftgVnWHv2_mkvJjn5HBOkde3g) - Dapp University (YouTube)
* [Solidity Tutorial - A Full Course on Ethereum, Blockchain Development, Smart Contracts, and the EVM](https://www.youtube.com/watch?v=ipwxYa-F1uY) - Gregory McCubbin @ freeCodeCamp.org & Dapp University (YouTube)
@ -966,13 +977,15 @@
#### Angular
> :information_source: See also &#8230; [AngularJS](#angularjs)
* [Angular 12 Course](https://www.youtube.com/playlist?list=PLjsBk8SIQEi-RqkglLcn19TaeeopcuDXV) - Slobodan Gajic
* [Angular 6 Tutorials](https://www.youtube.com/playlist?list=PLYxzS__5yYQlqCmHqDyW3yo5V79C7eaTe) - codedamn (YouTube)
* [Angular Courses](https://www.youtube.com/playlist?list=PLTjRvDozrdlxAhsPP4ZYtt3G8KbJ449oT) - Programming with Mosh (YouTube)
* [Angular Courses](https://www.youtube.com/playlist?list=PLTjRvDozrdlxAhsPP4ZYtt3G8KbJ449oT) - Moshfegh Hamedani (Programming with Mosh)
* [Angular Crash Course 2021](https://www.youtube.com/watch?v=3dHNOWTI7H8) - Brad Traversy, Traversy Media (YouTube)
* [Angular Fast Crash Course](https://www.udemy.com/angular-fast-crash-course/) - Edwin Diaz, Coding Faculty Solutions (Udemy)
* [Angular for Beginners](https://www.udemy.com/course/angular-for-beginners-course/) - Angular University (Udemy)
* [Angular Tutorial For Beginners](https://www.youtube.com/playlist?list=PLC3y8-rFHvwhBRAgFinJR8KHIrCdTkZcZ) - Codevolution (YouTube)
* [Learn Angular 5 from Scratch](https://www.udemy.com/course/angular-5/) - Gary Simon (Udemy)
#### Deno

View File

@ -33,7 +33,7 @@
* [Aprende a programar tu primera app](https://www.edx.org/es/course/jugando-con-android-aprende-programar-tu-uamx-android301x-4)
* [Introducción a la programación Android](https://www.edx.org/es/course/android-introduccion-la-programacion-upvalenciax-aip201x-1)
* [Introducción a la programación Android](https://campusvirtual.ull.es/ocw/course/view.php?id=130)
* [Material Design con Android Studio](https://www.youtube.com/playlist?list=PLEtcGQaT56ch37mnavd8p5cbnkDvXLGsX) - Jesús Conde (Youtube)
* [Material Design con Android Studio](https://www.youtube.com/playlist?list=PLEtcGQaT56ch37mnavd8p5cbnkDvXLGsX) - Jesús Conde (YouTube)
### Arduino

View File

@ -50,7 +50,7 @@
### JavaScript
* [آموزش فارسی جاوا اسکریپت مقدماتی تا پیشرفته - JavaScript Tutorial](https://youtube.com/playlist?list=PLfbD3-Ao6cPpt5Y3Nkue_W-DrmdOLOaTH) - Mansour Kalagar
* [دوره اموزشی جاوا اسکریپت از صفر](https://www.youtube.com/playlist?list=PLAt10Vana3Yctuu576LSxK6AiskBiWgOF) - Silicium
* [دوره اموزشی جاوا اسکریپت از صفر](https://www.youtube.com/playlist?list=PLAt10Vana3Yctuu576LSxK6AiskBiWgOF) - Mehran Tarif (Silicium)
#### React
@ -120,7 +120,7 @@
### Django
* [دوره اموزش جنگو مقدماتی تا پیشرفته](https://www.youtube.com/playlist?list=PLAt10Vana3YeAwS_LyLCeu7chml8eP8bh) - Silicium
* [دوره اموزش جنگو مقدماتی تا پیشرفته](https://www.youtube.com/playlist?list=PLAt10Vana3YeAwS_LyLCeu7chml8eP8bh) - Mehran Tarif (Silicium)
* [سوکت نویسی با کتابخانه جنگو چنلز](https://www.youtube.com/playlist?list=PLRU2zoAmuzJ2GD68st5SinXXv_Gv1lWRm) - Shahriar Shariati
* [Django2 All In One Course - دوره کامل جنگو و مهندسی بک اند](https://www.youtube.com/playlist?list=PLGlWjLcdLyGyqEqh9rBQ-9toPsFeHWrMr) - Boby Cloud
@ -136,6 +136,5 @@
* [آموزش طراحی وب](https://www.youtube.com/playlist?list=PLF10DSJQktjlCvLNuyxNjMPIHThHuIVqG) - Siavash Mahmoudian
* [برنامه نویسی وب](https://maktabkhooneh.org/course/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%88%D8%A8-mk74) - Mohammad Salehe
* [برنامه نویسی وب با HTML و CSS](https://holosen.net/web-design/) - Hossein Badrnezhad *(نیاز به ثبت نام دارد)*
* [دوره اموزشی بوت استرپ 5](https://www.youtube.com/playlist?list=PLAt10Vana3YciJv9EIcNSsm1yTGpOdJIp) - Mehran Tarif «Silicium»
* [دوره اموزشی بوت استرپ 5](https://www.youtube.com/playlist?list=PLAt10Vana3YciJv9EIcNSsm1yTGpOdJIp) - Mehran Tarif (Silicium)
* [وب‌فریم‌ورک‌ها چگونه کار می‌کنند؟](https://www.youtube.com/playlist?list=PLRU2zoAmuzJ33x-___WkhyTJ8dDPaoOPk) - Shahriar Shariati

View File

@ -1,12 +1,12 @@
### Index
* [C#](#C#)
* [C#](#csharp)
* [Other](#other)
* [Python](#python)
* [Web Development](#web-development)
### C#
### <a id="csharp"></a>C\#
* [Jyväskylän yliopiston C#-kieli ohjelmointikurssi](https://tim.jyu.fi/view/kurssit/tie/ohj1/moniste/Ohjelmointi-1) - Ilmainen verkkokurssi

View File

@ -4,7 +4,7 @@
* [APL](#apl)
* [Bash / Shell](#bash--shell)
* [C](#c)
* [C#](#c-sharp)
* [C#](#csharp)
* [C++](#cpp)
* [Git](#git)
* [HTML / CSS](#html--css)
@ -46,16 +46,16 @@
* [TUTOS C](https://www.youtube.com/playlist?list=PLEagTQfI6nPOWS4JPnxW5pRVgeyLuS5oC) - PrimFX
### <a name="cpp"></a>C++
* [La programmation en C++ moderne](https://zestedesavoir.com/tutoriels/822/la-programmation-en-c-moderne/) - Zeste de savoir informaticienzero mehdidou99
### C Sharp
### <a id="csharp"></a>C\#
* [C# - Cours](https://www.youtube.com/playlist?list=PLrSOXFDHBtfGBHAMEg9Om9nF_7R7h5mO7) - Formation Video
### <a id="cpp"></a>C++
* [La programmation en C++ moderne](https://zestedesavoir.com/tutoriels/822/la-programmation-en-c-moderne/) - Zeste de savoir informaticienzero mehdidou99
### Git
* [Apprendre à utiliser Git et GitHub \| Cours Complet (2020)](https://www.pierre-giraud.com/git-github-apprendre-cours/) - Pierre Giraud

View File

@ -5,7 +5,7 @@
* [R](#r)
### <a name="cpp"></a>C++
### <a id="cpp"></a>C++
* [מבוא לתכנות בשפת C++](https://campus.gov.il/course/course-v1-basmach-pc264/) (קמפוסIL ובסמ״ח)
@ -20,4 +20,3 @@
### R
* [מבוא לתכנות ועיבוד נתונים בשפת R](https://campus.gov.il/course/telhai-acd-rfp4-telhai-r/) (קמפוסIL ומכללת תל־חי)

View File

@ -24,21 +24,21 @@
### Algorithms
* [Binary Search | Interview Questions | Coding | Tutorials | Algorithm](https://www.youtube.com/playlist?list=PL_z_8CaSLPWeYfhtuKHj-9MpYb6XQJ_f2) - Aditya Verma
* [Binary Search \| Interview Questions \| Coding \| Tutorials \| Algorithm](https://www.youtube.com/playlist?list=PL_z_8CaSLPWeYfhtuKHj-9MpYb6XQJ_f2) - Aditya Verma
* [Binary Trees - Level 1](https://www.youtube.com/playlist?list=PL-Jc9J83PIiHYxUk8dSu2_G7MR1PaGXN4) - Pepcoding
* [Dynamic Programming Playlist | Coding | Interview Questions | Tutorials | Algorithm](https://www.youtube.com/playlist?list=PL_z_8CaSLPWekqhdCPmFohncHwz8TY2Go) - Aditya Verma
* [Dynamic Programming Playlist \| Coding \| Interview Questions \| Tutorials \| Algorithm](https://www.youtube.com/playlist?list=PL_z_8CaSLPWekqhdCPmFohncHwz8TY2Go) - Aditya Verma
* [Generic Trees - Level 1](https://www.youtube.com/playlist?list=PL-Jc9J83PIiEmjuIVDrwR9h5i9TT2CEU_) - Pepcoding
* [Graphs - Level 1](https://www.youtube.com/playlist?list=PL-Jc9J83PIiHfqDcLZMcO9SsUDY4S3a-v) - Pepcoding
* [Recursion & Backtracking - Level 1](https://www.youtube.com/playlist?list=PL-Jc9J83PIiFxaBahjslhBD1LiJAV7nKs) - Pepcoding
* [Recursion & Backtracking - Level 2](https://www.youtube.com/playlist?list=PL-Jc9J83PIiHO9SQ6lxGuDsZNt2mkHEn0) - Pepcoding
* [Recursion Playlist | Coding | Interview Questions | Algorithm | Tutorials](https://www.youtube.com/playlist?list=PL_z_8CaSLPWeT1ffjiImo0sYTcnLzo-wY) - Aditya Verma
* [Recursion Playlist \| Coding \| Interview Questions \| Algorithm \| Tutorials](https://www.youtube.com/playlist?list=PL_z_8CaSLPWeT1ffjiImo0sYTcnLzo-wY) - Aditya Verma
* [Time and Space - Level 1](https://www.youtube.com/playlist?list=PL-Jc9J83PIiFc7hJ5eeCb579PS8p-en4f) - Pepcoding
### Android
* [Android Development Tutorial for Beginners](https://www.youtube.com/playlist?list=PLUcsbZa0qzu3Mri2tL1FzZy-5SX75UJfb) - Anuj Bhaiya
* [Android Development Tutorials in Hindi](https://www.youtube.com/playlist?list=PLu0W_9lII9aiL0kysYlfSOUgY5rNlOhUd) - Harry
* [Android Development Tutorials in Hindi](https://www.youtube.com/playlist?list=PLu0W_9lII9aiL0kysYlfSOUgY5rNlOhUd) - CodeWithHarry
* [Complete Android Development Course in Hindi](https://www.youtube.com/playlist?list=PLUhfM8afLE_Ok-0Lx2v9hfrmbxi3GgsX1) - Neat Roots
@ -52,7 +52,7 @@
### C++
* [C++ Full Course | C++ Tutorial \| Data Structures & Algorithms](https://www.youtube.com/playlist?list=PLfqMhTWNBTe0b2nM6JHVCnAkhQRGiZMSJ) - Apna College
* [C++ Full Course \| C++ Tutorial \| Data Structures & Algorithms](https://www.youtube.com/playlist?list=PLfqMhTWNBTe0b2nM6JHVCnAkhQRGiZMSJ) - Apna College
* [C++ Programming in Hindi](https://www.youtube.com/playlist?list=PLDA2q3s0-n15yszaZ2yRKEoxY-WWkuAt4) - Sumit Bisht (Edutainment 1.0)
* [C++ Programming in Hindi](https://www.youtube.com/playlist?list=PLbGui_ZYuhijXuOfBSdQgK296Y7wUDWLn) - Rajesh Kumar, Geeky Shows
* [C++ Programming Tutorial in Hindi](https://www.youtube.com/playlist?list=PLoVVmGDgrrnS5_TiSg193ezTPd-Ukb25k) - Rakesh Roshan, Learn TechToTech
@ -67,7 +67,7 @@
* [2-D Arrays - Level 1](https://www.youtube.com/playlist?list=PL-Jc9J83PIiFkOETg2Ybq-FMuJjkZSGeH) - Pepcoding
* [All Data Structure Concepts \| Hindi](https://www.youtube.com/playlist?list=PLsFNQxKNzefJNztGGoQC-59UhSwIaiIW3) - Saurabh Shukla
* [All Sorting algorithms and Programs \| Hindi](https://www.youtube.com/playlist?list=PLsFNQxKNzefJU-Sj__mljvrmJHZVKWbEm) - Saurabh Shukla
* [C++ Full Course | C++ Tutorial | Data Structures & Algorithms](https://www.youtube.com/playlist?list=PLfqMhTWNBTe0b2nM6JHVCnAkhQRGiZMSJ) - Apna College
* [C++ Full Course \| C++ Tutorial \| Data Structures & Algorithms](https://www.youtube.com/playlist?list=PLfqMhTWNBTe0b2nM6JHVCnAkhQRGiZMSJ) - Apna College
* [Data Structure Programs \| Hindi](https://www.youtube.com/playlist?list=PLsFNQxKNzefK_DAUwnQwBizOmcY7aDLoY) - Saurabh Shukla
* [Data Structures and Algorithms Course in Hindi](https://www.youtube.com/playlist?list=PLu0W_9lII9ahIappRPN0MCAgtOu3lQjQi) - CodeWithHarry
* [DSA-One Course- The Complete Data Structure and Algorithms Course](https://www.youtube.com/playlist?list=PLUcsbZa0qzu3yNzzAxgvSgRobdUUJvz7p) - Anuj Bhaiya (YouTube)
@ -76,7 +76,7 @@
* [Java + Data Structures + Algorithms](https://www.youtube.com/playlist?list=PLKKfKV1b9e8ps6dD3QA5KFfHdiWj9cB1s) - Apni Kaksha
* [Java + DSA](https://www.youtube.com/playlist?list=PLfqMhTWNBTe3LtFWcvwpqTkUSlB32kJop) - Apna College (YouTube)
* [Linked Lists - Level 1](https://www.youtube.com/playlist?list=PL-Jc9J83PIiF5VZmktfqW6WVU1pxBF6l_) - Pepcoding
* [Stack Playlist | Interview Questions | Coding | Tutorials | Data Structures](https://www.youtube.com/playlist?list=PL_z_8CaSLPWdeOezg68SKkeLN4-T_jNHd) - Aditya Verma
* [Stack Playlist \| Interview Questions \| Coding \| Tutorials \| Data Structures](https://www.youtube.com/playlist?list=PL_z_8CaSLPWdeOezg68SKkeLN4-T_jNHd) - Aditya Verma
### DevOps
@ -96,7 +96,7 @@
* [HTML CSS & Browser APIs](https://www.youtube.com/playlist?list=PL-Jc9J83PIiHU9RkY9sfh3G64-bd0ptvC) - Pepcoding
* [Web Development Course](https://www.youtube.com/playlist?list=PLfqMhTWNBTe3H6c9OGXb5_6wcc1Mca52n) - Apna College
* [Web Development Tutorials for Beginners in Hindi: HTML, CSS, JavaScript and more](https://www.youtube.com/playlist?list=PLu0W_9lII9agiCUZYRsvtGTXdxkzPyItg) - Code With Harry
* [Web Development Tutorials for Beginners in Hindi: HTML, CSS, JavaScript and more](https://www.youtube.com/playlist?list=PLu0W_9lII9agiCUZYRsvtGTXdxkzPyItg) - CodeWithHarry
### Java
@ -109,19 +109,19 @@
* [Java Programming Tutorial (HINDI/URDU)](https://www.youtube.com/playlist?list=PLiOa6ike4WAHljIOitb3vR0nXQgneUedR) - Vikas Pandey, Easytuts4you
* [Java Tutorial](https://youtube.com/playlist?list=PLX9Zi6XTqOKQ7TdRz0QynGIKuMV9Q2H8E) - Saurabh Shukla Sir
* [Java Tutorials for Beginners](https://www.youtube.com/playlist?list=PLlhM4lkb2sEhfuXL-2BDrJ67WkUdQ2v9b) - Deepak Panwar, Smart Programming
* [Java Tutorials For Beginners In Hindi](https://www.youtube.com/playlist?list=PLu0W_9lII9agS67Uits0UnJyrYiXhDS6q) - Harry
* [Java Tutorials For Beginners In Hindi](https://www.youtube.com/playlist?list=PLu0W_9lII9agS67Uits0UnJyrYiXhDS6q) - CodeWithHarry
* [Spring Boot Tutorial For Beginners (in Hindi)](https://www.youtube.com/playlist?list=PL5mjp3QjkuoLPS-L28yKCKyzCMX8WRVno) - ProgRank
### Javascript
* [JavaScript Tutorial \| Hindi](https://www.youtube.com/playlist?list=PLu0W_9lII9ajyk081To1Cbt2eI5913SsL) - Harry
* [JavaScript Tutorial \| Hindi](https://www.youtube.com/playlist?list=PLu0W_9lII9ajyk081To1Cbt2eI5913SsL) - CodeWithHarry
* [JavaScript Tutorial for Beginners (In Hindi)](https://www.youtube.com/playlist?list=PLwGdqUZWnOp1hqyT6h7pY0RlXIIGlE5U0) - Vinod Bahadur Thapa (Thapa Technical)
* [RxJS Series (In Hindi)](https://youtube.com/playlist?list=PLLhsXdvz0qjI68a8tLUUMyXmNhl608mcn) - UX Trendz
* [Web Development Course](https://www.youtube.com/playlist?list=PLfqMhTWNBTe3H6c9OGXb5_6wcc1Mca52n) - Apna College
<h4 id="nextjs">Next.js</h4>
#### Next.js
* [NextJS Tutorial In Hindi](https://www.youtube.com/playlist?list=PLwGdqUZWnOp2rDbpfKAeUi9f8qZMS7_cv) - Vinod Bahadur Thapa (Thapa Technical)
@ -154,11 +154,11 @@
### Python
* [Advance Python (Hindi)](https://www.youtube.com/playlist?list=PLbGui_ZYuhijd1hUF2VWiKt8FHNBa7kGb) - Rajesh Kumar, Geeky Shows
* [Class 12 Board | Python \| Computer Science](https://www.youtube.com/playlist?list=PLKKfKV1b9e8oyESqu5mrGN-eDxHdNoi_j) - Apni Kaksha
* [Class 12 Board \| Python \| Computer Science](https://www.youtube.com/playlist?list=PLKKfKV1b9e8oyESqu5mrGN-eDxHdNoi_j) - Apni Kaksha
* [Complete Python Tutorial in Hindi (2020)](https://www.youtube.com/playlist?list=PLwgFb6VsUj_lQTpQKDtLXKXElQychT_2j) - Harshit Vashisth
* [Core Python (Hindi)](https://www.youtube.com/playlist?list=PLbGui_ZYuhigZkqrHbI_ZkPBrIr5Rsd5L) - Rajesh Kumar, Geeky Shows
* [Python Programming in Hindi](https://www.greatlearning.in/academy/learn-for-free/courses/python-programming-in-hindi) (Great Learning) *(account required)*
* [Python Tutorial For Beginners \| Hindi (With Notes)](https://www.youtube.com/playlist?list=PLu0W_9lII9agICnT8t4iYVSZ3eykIAOME) - Harry
* [Python Tutorial For Beginners \| Hindi (With Notes)](https://www.youtube.com/playlist?list=PLu0W_9lII9agICnT8t4iYVSZ3eykIAOME) - CodeWithHarry
* [Python Tutorial in Hindi](https://www.youtube.com/playlist?list=PLQbQOmlGYH3tC535nKa7xB7dd7pZtYMZX) - edureka! Hindi

View File

@ -4,7 +4,7 @@
* [Apache Kafka](#apache-kafka)
* [AR / VR](#ar--vr)
* [C / C++](#c--c)
* [C#](#c)
* [C#](#csharp)
* [Construct](#construct)
* [Dart](#dart)
* [Desain dan Arsitektur](#desain-dan-arsitektur)
@ -44,11 +44,13 @@
### Android
* [Belajar Android Jetpack Pro](https://www.dicoding.com/academies/129) - Dicoding, membutuhkan registrasi
* [Belajar Android Studio](https://www.malasngoding.com/category/android-studio/) - Muzanni (Malas Ngoding)
* [Belajar Fundamental Aplikasi Android](https://www.dicoding.com/academies/14) - Dicoding, membutuhkan registrasi
* [Belajar Membuat Aplikasi Android untuk Pemula](https://www.dicoding.com/academies/51) - Dicoding, membutuhkan registrasi
* [Menjadi Android Developer Expert](https://www.dicoding.com/academies/165) - Dicoding, membutuhkan registrasi
* [Tutorial Android (Java)](https://www.youtube.com/playlist?list=PLKPnl-eD7EA4rAzNeXikfCq5yiMuFI1zo) - Kopianan
* [Tutorial Android (Kotlin)](https://www.youtube.com/playlist?list=PLaoF-xhnnrRUEbF6cvk4-CeBAEOSbp8sS) - EDMT Dev
* [Tutorial Android Dasar (Bahasa Indonesia)](https://www.youtube.com/watch?v=pUTz5IOkBtE) - Eko Kurniawan Khannedy, Programmer Zaman Now (YouTube)
* [Tutorial Dasar Android Studio Bahasa Indonesia](https://www.udemy.com/course/tutorial-dasar-android-studio-bahasa-indonesia-gratis) - Udemy
@ -72,7 +74,7 @@
* [Memulai Pemrograman dengan C](https://www.dicoding.com/academies/120) - Dicoding, membutuhkan registrasi
### C#
### <a id="csharp"></a>C\#
* [Belajar Pemrograman C#](https://www.youtube.com/playlist?list=PLuGFxya63u253zhOzhxanaSBNJ_UiIhUb) - Galih Pratama
@ -126,7 +128,7 @@
* [Apa itu GitHub](https://www.youtube.com/playlist?list=PLCZlgfAG0GXCtwnagWsUzZum1CFZYqrB5) - Hilman Ramadhan, Sekolah Koding (YouTube)
* [Belajar Git](https://www.youtube.com/playlist?list=PLuGFxya63u24bmP-ILRaiGeMwZh3PGxW4) - Galih Pratama
* [Belajar GIT (Source Code Management)](https://www.youtube.com/playlist?list=PL8bBYpHH3RI6BlCzFTMQvt7sGSycUj7S-) - Eka Putra, UpKoding (YouTube)
* [Git & Github](https://www.youtube.com/playlist?list=PLFIM0718LjIVknj6sgsSceMqlq242-jNf) - Sandhika Galih, Web Programming UNPAS (YouTube)
* [GIT & GITHUB](https://www.youtube.com/playlist?list=PLFIM0718LjIVknj6sgsSceMqlq242-jNf) - Sandhika Galih, Web Programming UNPAS (YouTube)
* [Git Tutorial - Bahasa Indonesia](https://www.youtube.com/playlist?list=PL-CtdCApEFH_lYGV8hxqjtKmFA_xeLupq) - Eko Kurniawan Khannedy, Programmer Zaman Now (YouTube)
* [Source Code Management untuk Pemula](https://www.dicoding.com/academies/116) - Dicoding, membutuhkan registrasi
* [Tutorial GIT Bahasa Indonesia Lengkap](https://www.youtube.com/playlist?list=PL1aMeb5UP_PHXTV_Xpt-19x_rVPXrymOM) - IDStack (YouTube)
@ -138,6 +140,7 @@
* [Belajar Golang Basic Bahasa Indonesia](https://www.youtube.com/playlist?list=PLCZlgfAG0GXDztO-BFc9R5afhP26Dhsgm) - Sekolah Koding
* [Golang Fundamental](https://buildwithangga.com/kelas/golang-fundamental?thumbnail=nk4neM2UyG.54&main_leads=browse) - BuildWithAngga
* [Golang Tutorial - Bahasa Indonesia](https://www.youtube.com/playlist?list=PL-CtdCApEFH-0i9dzMzLw6FKVrFWv3QvQ) - Eko Kurniawan Khannedy, Programmer Zaman Now (YouTube)
* [Mahir Golang Dari Dasar](https://youtube.com/playlist?list=PL1aMeb5UP_PHPHEBNrZ3L1V4qpyuC6Aa8) - IDStack
* [Tutorial Golang Fundamental Bahasa Indonesia](https://www.youtube.com/watch?v=xzNT4JywW0A) - Agung Setiawan
* [Tutorial Golang Web API Bahasa Indonesia - Full Course](https://www.youtube.com/watch?v=GjI0GSvmcSU) - Agung Setiawan
* [Tutorial Golang Website Development Bahasa Indonesia](https://www.youtube.com/watch?v=K76y2_ZQYwY) - Agung Setiawan
@ -173,6 +176,7 @@
* [Belajar Java Bahasa Indonesia (Dasar)](https://www.youtube.com/playlist?list=PLZS-MHyEIRo51w0Hmqi0C8h2KWNzDfo6F) - Kelas Terbuka
* [Belajar Java OOP Bahasa Indonesia](https://www.youtube.com/playlist?list=PLiuHSY2x882bBLmmli1ly06MWZY-EOqX8) - Imam Farisi (YouTube)
* [Belajar Java Untuk Pemula](https://www.youtube.com/playlist?list=PLCZlgfAG0GXDUvrO3Bc_VUvIjWKnYIRJ1) - Hilman Ramadhan, Sekolah Koding (YouTube)
* [Java Dasar](https://www.malasngoding.com/category/java/) - Muzanni (Malas Ngoding)
* [JAVA TUTORIAL - BAHASA INDONESIA](https://www.youtube.com/playlist?list=PL-CtdCApEFH-p_Q2GyK4K3ORoAT0Yt7CX) - Eko Kurniawan Khannedy, Programmer Zaman Now (YouTube)
* [Memulai Pemrograman dengan Java](https://www.dicoding.com/academies/60) - Dicoding, membutuhkan registrasi
@ -180,7 +184,7 @@
#### Spring
* [Belajar Spring Dasar Bahasa Indonesia](https://www.youtube.com/playlist?list=PLiuHSY2x882aeiESAgna5eVa_cOpFnxQm) - Imam Farisi (YouTube)
* [Spring Framework and Spring Boot Tutorial (Project CRUD)](https://www.youtube.com/playlist?list=PLFfUPa9IV8Lp-Uognr1ALuqlKyxANO77x) - Wafiq Subhi, Mastahcode (Youtube)
* [Spring Framework and Spring Boot Tutorial (Project CRUD)](https://www.youtube.com/playlist?list=PLFfUPa9IV8Lp-Uognr1ALuqlKyxANO77x) - Wafiq Subhi, Mastahcode (YouTube)
* [SpringBoot](https://www.youtube.com/playlist?list=PLRjWo99hnirwyafPfaxfu0psMR0hUmdQc) - Hendro Steven Tampake, Kelas Koding (YouTube)
* [Tutorial Spring Framework & Spring Boot Dasar - Bahasa Indonesia](https://www.youtube.com/watch?v=VM3rwdMBORY) - Eko Kurniawan Khannedy, Programmer Zaman Now (YouTube)
@ -193,6 +197,7 @@
* [Dasar Pemrograman dengan JavaScriipt](https://www.youtube.com/playlist?list=PLFIM0718LjIWXagluzROrA-iBY9eeUt4w) - Web Programming UNPAS
* [ExpressJS Tutorial Indonesia](https://www.youtube.com/playlist?list=PL9At9z2rvOC-sgzJx7rM_wMDONnEM4E0A) - Ekky Ridyanto (Balademy)
* [JavaScript dan DOM (Document Object Model)](https://www.youtube.com/playlist?list=PLFIM0718LjIWB3YRoQbQh82ZewAGtE2-3) - Web Programming UNPAS
* [JavaScript Dasar](https://www.malasngoding.com/category/javascript/) - Diki Alfarabi Hadi (Malas Ngoding)
* [JavaScript Lanjutan](https://www.youtube.com/playlist?list=PLFIM0718LjIUGpY8wmE41W7rTJo_3Y46-) - Web Programming UNPAS
* [JavaScript Tutorial Bahasa Indonesia](https://www.youtube.com/playlist?list=PL-CtdCApEFH8SS0Gsj9_a0cC0jypFEoSg) - Eko Kurniawan Khannedy, Programmer Zaman Now (YouTube)
* [Main Main JavaScript](https://www.youtube.com/playlist?list=PLCZlgfAG0GXCyd70hT8jYl24bLuPpH9iR) - Sekolah Koding
@ -218,6 +223,7 @@
* [ReactJS-Firebase Tutorial](https://www.youtube.com/playlist?list=PLU4DS8KR-LJ2CnIvj7tI0zoijDSgR1m9j) - Prawito Hudoro
* [ReactJS Tutorial](https://www.youtube.com/playlist?list=PLU4DS8KR-LJ03qEsHn9zV4qdhcWtusBqb) - Prawito Hudoro
* [ReactJS Untuk Pemula](https://www.petanikode.com/reactjs-untuk-pemula/) - Petani Kode
* [Tutorial Project React.js 2022](https://youtube.com/playlist?list=PL1aMeb5UP_PHUa0RxQDYJYZZNc_h-jE67) - IDStack
* [Tutorial React JS Bahasa Indonesia](https://www.youtube.com/playlist?list=PLp6BJq2fT_g91yCNCWi_bIe-ng7S7rt6V) - Lampung JS
* [Tutorial React Native Bahasa Indonesia (Futsal App)](https://www.youtube.com/playlist?list=PLIan8aHxsPj2NeWJew3o86bSptVPXOppa) - Wahidev Academy
* [Tutorial React Native Indonesia](https://youtube.com/playlist?list=PLU4DS8KR-LJ3SP3PpRb870UoT_0_rjLpV) - Prawito Hudoro (YouTube)
@ -228,6 +234,10 @@
* [Tutorial Vue JS Bahasa Indonesia](https://www.youtube.com/playlist?list=PLCZlgfAG0GXCFeOD_wBc9GrYF9pA8loLQ) - Sekolah Koding
* [Tutorial Vuejs Bahasa Indonesia](https://www.youtube.com/playlist?list=PL9At9z2rvOC-Z6Gt8uO1XMp4oyMlE3gml) - Baledemy
* [Tutorial VueJs dengan API Bahasa Indonesia](https://www.youtube.com/playlist?list=PLIan8aHxsPj3a7oLHb2a8pw8IHBq45WYu) - Wahidev Academy
* [Vue 3 - Pinia](https://youtube.com/playlist?list=PLnQvfeVegcJYV7uSax0W8z3peCyiOxr6W) - Nusendra Hanggarawan (Nusendra.com)
* [Vue 3 Advance](https://youtube.com/playlist?list=PLnQvfeVegcJbbmFmN5ZMnkylQXp6mb7gP) - Nusendra Hanggarawan (Nusendra.com)
* [Vue 3 Composition API](https://youtube.com/playlist?list=PLnQvfeVegcJbn7ZDOUNbRN25obY4htSlB) - Nusendra Hanggarawan (Nusendra.com)
* [Vue 3 Dasar](https://youtube.com/playlist?list=PLnQvfeVegcJbV2NGXpay7ulU6ybASzAlG) - Nusendra Hanggarawan (Nusendra.com)
### Kotlin
@ -257,8 +267,8 @@
### Machine Learning
* [Belajar Dasar Visualisasi Data](https://www.dicoding.com/academies/177) - Dicoding, membutuhkan registrasi
* [Classic Time Series Forecasting | Indonesia](https://www.youtube.com/playlist?list=PLGn1wRmlR3Ms7wr2zgtcC4LaE_NHQAEjx) - Wira DKP, JCOp Untuk Indonesia (Youtube)
* [Tutorial Belajar Machine Learning Dasar \| Python Scikit-Learn](https://www.youtube.com/playlist?list=PL2O3HdJI4voHNEv59SdXKRQVRZAFmwN9E) - Setia Budi, Indonesia Belajar (Youtube)
* [Classic Time Series Forecasting \| Indonesia](https://www.youtube.com/playlist?list=PLGn1wRmlR3Ms7wr2zgtcC4LaE_NHQAEjx) - Wira DKP, JCOp Untuk Indonesia (YouTube)
* [Tutorial Belajar Machine Learning Dasar \| Python Scikit-Learn](https://www.youtube.com/playlist?list=PL2O3HdJI4voHNEv59SdXKRQVRZAFmwN9E) - Setia Budi, Indonesia Belajar (YouTube)
### Microservices
@ -277,7 +287,7 @@
* [Belajar MySQL](https://alwaysngoding.com/belajar-mysql/teori) - Muhammad Saleh Solahudin, Always Ngoding (account *required*)
* [Belajar MySQL](https://www.youtube.com/playlist?list=PL2O3HdJI4voGs6CiEUPXwt1fhLLqu30E_) - Indonesia Belajar
* [Belajar MySQL/MariaDB](https://www.youtube.com/playlist?list=PLF82-I80PwDN7KSzsJOmd8mwHYe4aAqfF) - Guntur Budi
* [MYSQL Tutorial Bahasa Indonesia](https://www.youtube.com/playlist?list=PL-CtdCApEFH_P2_2zR6pvDublvpD3fF6W) - Programmer Zaman Now (Youtube)
* [MYSQL Tutorial Bahasa Indonesia](https://www.youtube.com/playlist?list=PL-CtdCApEFH_P2_2zR6pvDublvpD3fF6W) - Programmer Zaman Now (YouTube)
### PHP
@ -286,15 +296,17 @@
* [Belajar PHP untuk PEMULA](https://www.youtube.com/playlist?list=PLFIM0718LjIUqXfmEIBE3-uzERZPh3vp6) - Web Programming UNPAS
* [Membuat Aplikasi MVC dengan PHP](https://www.youtube.com/playlist?list=PLFIM0718LjIVEh_d-h5wAjsdv2W4SAtkx) - Web Programming UNPAS
* [OOP Dasar pada PHP](https://www.youtube.com/playlist?list=PLFIM0718LjIWvxxll-6wLXrC_16h_Bl_p) - Web Programming UNPAS
* [PHP Dasar](https://www.malasngoding.com/category/php/) - Diki Alfarabi Hadi, Muzanni (Malas Ngoding)
* [PHP The Right Way](https://www.youtube.com/playlist?list=PLFIM0718LjIVcKOrB2tFKi4eWYXHvS3CU) - Web Programming UNPAS
* [PHP Tutorial Bahasa Indonesia](https://www.youtube.com/playlist?list=PL-CtdCApEFH9EmZy4zYfW1ATIJ-qMXxGt) - Eko Kurniawan Khannedy, Programmer Zaman Now (YouTube)
* [Tutorial CodeIgniter 4](https://www.youtube.com/playlist?list=PLFIM0718LjIUkkIq1Ub6B5dYNb6IlMvtc) - Web Programming UNPAS
* [Tutorial CodeIgniter untuk pemula](https://www.youtube.com/playlist?list=PLCZlgfAG0GXCYh65VSFR2yzC7CuPBcAjt) - Sekolah Koding
#### Codeigniter
* [Tutorial Codeigniter](https://www.youtube.com/playlist?list=PLce3Eyp7oY9_5lzhkUtrV6ygriYcttMlg) - Framework Indonesia
* [TUTORIAL CODEIGNITER 4](https://youtube.com/playlist?list=PLFIM0718LjIUkkIq1Ub6B5dYNb6IlMvtc) - Sandhika Galih (Web Programming UNPAS)
* [Tutorial Codeigniter 4 Indonesia](https://youtube.com/playlist?list=PL1aMeb5UP_PFkC4mY3prujavZBehsWAC3) - IDStack
* [Tutorial Sistem Informasi Akademik dengan Codeigniter](https://www.youtube.com/playlist?list=PLce3Eyp7oY9_hXzGACf988F1ojvQlYmB0) - Framework Indonesia

View File

@ -5,7 +5,7 @@
* [Architettura degli Elaboratori](#architettura-degli-elaboratori)
* [Assembly](#assembly)
* [C](#c)
* [C Sharp](#c-sharp)
* [C#](#csharp)
* [C++](#cpp)
* [Database](#database)
* [SQL](#sql)
@ -66,12 +66,12 @@
* [Linguaggio C - Corso completo](https://www.youtube.com/playlist?list=PL83Ordjpzm5oUl7tFEjc4iirkPBiv7FxR) - Programmazione Time
### C Sharp
### <a id="csharp"></a>C\#
* [Programmazione ad oggetti in C#](https://www.youtube.com/watch?v=aSgikNnGEKM&list=PLktbfd3yXeH8yQpHM3O468k8l-aTC6Hl6) - G. Pellegrini Parisi
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [C++ 11](https://www.youtube.com/playlist?list=PL0qAPtx8YtJfZpJD7uFxAXglkiHSEhktG) (F. Camuso)
* [C++ libreria QT - playlist 1](https://www.youtube.com/playlist?list=PL0qAPtx8YtJdH4GVwL_3QeJjPcz3DHE2t) (F. Camuso)
@ -126,6 +126,7 @@
### Java
* [Algoritmi e Strutture Dati Java](http://www.vitoantoniobevilacqua.it/wiki/index.php?title=Pagina_principale#Dispense_di_Algoritmi_e_Strutture_Dati_in_Java) - V. Bevilacqua (Politecnico di Bari)
* [Corso di Java Spring Framework](https://www.youtube.com/playlist?list=PLCbSCJEIR6CqgCLyVzqp49xOm8A5YDTKA) - Mauro Cicolella
* [Design Patterns in Java](https://www.youtube.com/playlist?list=PLCbSCJEIR6Cq-ac90TGvJ8Wo8TtyZ4nhu) (M. Cicolella)
* [Esercitazioni di Spring Boot](https://www.youtube.com/playlist?list=PLCbSCJEIR6CpGchit9OCI6fX_qVYs78d_) (M. Cicolella)
* [Java EE](https://www.youtube.com/playlist?list=PLjGYWJ4Dcy-erfReHXB9Ush0cREGSmyIe) (S. Zorba)

View File

@ -0,0 +1,8 @@
### Index
* [Scratch](#scratch)
### Scratch
* [Scratch for CS First でプログラミングをはじめよう](https://csfirst.withgoogle.com/c/cs-first/ja/welcome-to-cs-first/overview.html) - Grow with Google プログラム (Google/Scratch アカウントが*必要* ※必須ではない)

View File

@ -5,7 +5,7 @@
* [Arduino](#arduino)
* [ASP.NET](#asp.net)
* [C/C++](#c/c++)
* [C#](#c-sharp)
* [C#](#csharp)
* [Circuit](#circuit)
* [Deep Learning](#deep-learning)
* [Flutter](#flutter)
@ -80,7 +80,7 @@
* [C언어 코딩도장](https://dojang.io/course/view.php?id=2)
### C Sharp
### <a id="csharp"></a>C\#
* [예제로 배우는 C# 강좌](https://www.youtube.com/playlist?list=PL4PkN2EXiuVF3Xl0HNVMdY-_kMM3oyBds)

View File

@ -0,0 +1,33 @@
### Index
* [Android](#android)
* [Javascript](#javascript)
* [PHP](#php)
* [Python](#python)
* [Django](#django)
### Android
* [Android App Development Tutorial Malayalam](https://youtube.com/playlist?list=PLZ78Q1BKkdA1-eMVQOiBiMtQQb_vYWnvV) - Sabith Pkc Mnr
### Javascript
* [JavaScript Malayalam Tutorial](https://www.youtube.com/watch?v=3mjwtu4_0uk) - Yes Tech Media
### PHP
* [PHP Programming Malayalam Tutorial for Beginners](https://www.youtube.com/watch?v=nFYWCouZ1UA) - Yes Tech Media
### Python
* [Python Programming Malayalam Tutorial](https://www.youtube.com/watch?v=ihnWXGPxNEk) - Yes Tech Media
#### Django
* [Python Django malayalam tutorial](https://www.youtube.com/watch?v=Obu5qj9sdaE) - Tintu Vlogger
* [Python Django Tutorial for Beginners in malayalam](https://www.youtube.com/playlist?list=PLbasZIkCgHJGXEjcatJ3aO1NpS2PsOtoQ) - Code Band

View File

@ -4,7 +4,7 @@
* [Bash](#bash)
* [Brainfuck](#brainfuck)
* [C](#c)
* [C#](#c-sharp)
* [C#](#csharp)
* [C++](#cpp)
* [CSS](#css)
* [HTML](#html)
@ -36,12 +36,12 @@
* [Kurs Programowania w C](https://www.youtube.com/playlist?list=PLgeFsJ0yZyikV_e8YDl5rixXu-H6wFIIZ)
### C Sharp
### <a id="csharp"></a>C\#
* [Podstawy programowania w języku C#](https://www.youtube.com/playlist?list=PLk5dbESAmUZh1cLITav0ZmDEqRujsPa93)
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [Kurs C++](https://www.youtube.com/playlist?list=PLE84826ABF088F7E8)
* [Podejście obiektowe dla znających już podstawy C++ (VIDEO)](https://www.youtube.com/playlist?list=PLOYHgt8dIdozvOVheSRb_qPVU-4ZJA7uB) - Mirosław Zelent, Damian Stelmach

View File

@ -2,7 +2,7 @@
* [Android](#android)
* [C](#c)
* [C Sharp](#c-sharp)
* [C#](#csharp)
* [C++](#cpp)
* [CSS](#css)
* [Dart](#dart)
@ -51,11 +51,11 @@
### C
* [Aprenda C e C++ - Fundamentos Para Lógica de Programação](https://www.udemy.com/c-e-c-fundamentos-para-logica-de-programacao/) - One Day Code (Udemy)
* [Curso de C](https://www.youtube.com/playlist?list=PLesCEcYj003SwVdufCQM5FIbrOd0GG1M4) - eXcript (Youtube)
* [Curso de C](https://www.youtube.com/playlist?list=PLesCEcYj003SwVdufCQM5FIbrOd0GG1M4) - Cláudio Rogério Carvalho Filho (eXcript)
* [Programação Moderna em C](https://www.youtube.com/playlist?list=PLIfZMtpPYFP5qaS2RFQxcNVkmJLGQwyKE) - Papo Binário (Youtube)
### C Sharp
### <a id="csharp"></a>C\#
* [C# e Windows Forms: Consultar CEP no WebService dos Correios](https://www.udemy.com/webservice-correios/) - Gilseone Moraes, Training4All Cursos (Udemy)
* [C# e Windows Forms: Encurtando URLs com a API do Bitly](https://www.udemy.com/bitly-api/) - Gilseone Moraes, Training4All Cursos (Udemy)
@ -65,7 +65,7 @@
* [Manipulando Listas Genéricas em C#](https://www.udemy.com/listas-genericas-em-csharp/) - Gilseone Moraes, Training4All Cursos (Udemy)
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [Curso de C++ - A linguagem de programação fundamental para quem quer ser um programador](https://www.youtube.com/playlist?list=PLx4x_zx8csUjczg1qPHavU1vw1IkBcm40) - Canal Fessor Bruno (CFBCursos)
@ -73,7 +73,7 @@
### CSS
* [Introdução à linguagem CSS](https://www.udemy.com/introducao-a-linguagem-css/) - Diego Mariano (Udemy)
* [Novo curso HTML5 e CSS3: 100% atual](https://www.youtube.com/playlist?list=PLHz_AreHm4dkZ9-atkcmcBaMZdmLHft8n) - Curso em Vídeo (Youtube)
* [Novo curso HTML5 e CSS3: 100% atual](https://www.youtube.com/playlist?list=PLHz_AreHm4dkZ9-atkcmcBaMZdmLHft8n) - Gustavo Guanabara (Curso em Vídeo)
### Dart
@ -97,7 +97,7 @@
### Flutter
* [Criando seu primeiro App com Flutter](https://app.balta.io/courses/7184) - Andre Baltieri (balta.io)
* [Curso COMPLETO de Flutter](https://youtube.com/playlist?list=PLlBnICoI-g-d-J57QIz6Tx5xtUDGQdBFB) - Flutterando (Youtube)
* [Curso COMPLETO de Flutter](https://youtube.com/playlist?list=PLlBnICoI-g-d-J57QIz6Tx5xtUDGQdBFB) - Flutterando (YouTube)
### Git
@ -114,7 +114,6 @@
* [Curso de Introdução a Linguagem Go (Golang)](https://www.youtube.com/playlist?list=PLXFk6ROPeWoAvLMyJ_PPfu8oF0-N_NgEI) - EuProgramador (YouTube)
* [Curso Golang](https://www.youtube.com/playlist?list=PL3IMfVHTpXw14FL_TRIdHfeYTeOet1GS9) - Universo Mainframe (YouTube)
* [Go - Aprenda a Programar (Curso)](https://www.youtube.com/playlist?list=PLCKpcjBB_VlBsxJ9IseNxFllf-UFEXOdg) - Ellen Körbes (YouTube)
* [Programar em Go](https://www.youtube.com/playlist?list=PLV5KfEYwFC1G3r7XlgVCE5HVdVKj-UdRa) - Caffeine Algorithm (YouTube)
### Gulp
@ -130,7 +129,7 @@
### HTML
* [Introdução à Linguagem HTML](https://www.udemy.com/introducao-a-linguagem-html/) - Diego Mariano (Udemy)
* [Novo curso HTML5 e CSS3: 100% atual](https://www.youtube.com/playlist?list=PLHz_AreHm4dkZ9-atkcmcBaMZdmLHft8n) - Curso em Vídeo (Youtube)
* [Novo curso HTML5 e CSS3: 100% atual](https://www.youtube.com/playlist?list=PLHz_AreHm4dkZ9-atkcmcBaMZdmLHft8n) - Gustavo Guanabara (Curso em Vídeo)
### IDE
@ -170,7 +169,7 @@
### JavaScript
* [Bootcamp da Brainn de React](https://www.youtube.com/playlist?list=PLF7Mi9HNzvVmzOyDyl--xQVdi60jxduU1) - Canal Brainn Co. (YouTube)
* [Curso Grátis de JavaScript e ECMAScript para Iniciantes](https://www.youtube.com/playlist?list=PLHz_AreHm4dlsK3Nr9GVvXCbpQyHQl1o1) - Curso em Vídeo
* [Curso Grátis de JavaScript e ECMAScript para Iniciantes](https://www.youtube.com/playlist?list=PLHz_AreHm4dlsK3Nr9GVvXCbpQyHQl1o1) - Gustavo Guanabara (Curso em Vídeo)
* [Curso Intensivo de Next.js & React](https://www.cod3r.com.br/courses/curso-intensivo-next-react) - Leonardo Leitão (Cod3r)
* [Curso Starter ES6, Node, React e React Native](https://app.rocketseat.com.br/discover/courses) - Rocketseat
* [Fast & Furious](https://www.youtube.com/playlist?list=PLy5T05I_eQYOoUz2TtAqq35RLCc-xBZCe) - Codecasts
@ -184,25 +183,25 @@
### Kotlin
* [Aprenda Kotlin do zero - Módulo Básico](https://www.udemy.com/kotlin-aprenda-do-zero-modulo-basico/) - Pedro Massango (Udemy)
* [Curso de Kotlin 2020 | Básico](https://www.youtube.com/playlist?list=PLPs3nlHFeKTr-aDDvUxU971rPSVTyQ6Bn) - Douglas Motta (Youtube)
* [Curso de Kotlin 2020 \| Básico](https://www.youtube.com/playlist?list=PLPs3nlHFeKTr-aDDvUxU971rPSVTyQ6Bn) - Douglas Motta (YouTube)
* [Desenvolvedor Kotlin Iniciante](https://www.udemy.com/desenvolvedor-kotlin-iniciante/) - Gabriel Ferrari, Adriano Sacardo (Udemy)
### Kubernetes
* [Maratona Kubernetes](https://www.youtube.com/playlist?list=PLB1hpnUGshULerdlzMknMLrHI810xIBJv&origin=CursosErickWendel) - Microsoft Brasil (Youtube)
* [Maratona Kubernetes](https://www.youtube.com/playlist?list=PLB1hpnUGshULerdlzMknMLrHI810xIBJv&origin=CursosErickWendel) - Microsoft Brasil (YouTube)
### Linux
* [Curso de Linux - Primeiros Passos](https://www.youtube.com/playlist?list=PLHz_AreHm4dlIXleu20uwPWFOSswqLYbV) - Gustavo Guanabara (Youtube)
* [Curso de Linux - Primeiros Passos](https://www.youtube.com/playlist?list=PLHz_AreHm4dlIXleu20uwPWFOSswqLYbV) - Gustavo Guanabara (YouTube)
* [Introdução ao Sistema Operacional Linux](https://www.udemy.com/course/linux-ubuntu/) - Diego Mariano (Udemy)
* [Terminal Linux](https://www.udemy.com/course/terminal-de-comandos-linux/) - Diego Mariano (Udemy)
### Lua
* [Introdução a Programação com Lua](https://www.youtube.com/playlist?list=PLqYboeh3Jru55Yq4J08zsBoOwwwjUtZNA) - Alfred R. Baudisch (Youtube)
* [Introdução a Programação com Lua](https://www.youtube.com/playlist?list=PLqYboeh3Jru55Yq4J08zsBoOwwwjUtZNA) - Alfred R. Baudisch (YouTube)
### Machine Learning
@ -220,14 +219,14 @@
### Networking
* [Curso de IPv6 Básico a Distância](http://saladeaula.nic.br/courses/course-v1:NIC.br+IPV6-001+T001/about) - NIC.br
* [Curso Redes de Computadores](https://www.youtube.com/playlist?list=PLHz_AreHm4dkd4lr9G0Up-W-YaHYdTDuP) - Curso em vídeo (YouTube)
* [Curso Redes de Computadores](https://www.youtube.com/playlist?list=PLHz_AreHm4dkd4lr9G0Up-W-YaHYdTDuP) - Gustavo Guanabara (Curso em Vídeo)
### Node.js
* [Criando APIs com NodeJs ](https://www.youtube.com/playlist?list=PLHlHvK2lnJndvvycjBqQAbgEDqXxKLoqn) - Balta.io (YouTube)
* [Curso de Node.js](https://www.youtube.com/playlist?list=PLJ_KhUnlXUPtbtLwaxxUxHqvcNQndmI4B) - Victor Lima Guia do Programador (YouTube)
* [Do Zero A Produção: Aprenda A Construir Uma API Node.Js Com Typescript](https://www.youtube.com/playlist?list=PLz_YTBuxtxt6_Zf1h-qzNsvVt46H8ziKh) - Waldemar Neto Dev Lab (Youtube)
* [Do Zero A Produção: Aprenda A Construir Uma API Node.Js Com Typescript](https://www.youtube.com/playlist?list=PLz_YTBuxtxt6_Zf1h-qzNsvVt46H8ziKh) - Waldemar Neto Dev Lab (YouTube)
* [Imersão em desenvolvimento de APIs com Node.js](https://erickwendel.teachable.com/p/node-js-para-iniciantes-nodebr) - Erick Wendel (Teachable)
* [RESTful com Node.js e Restify](https://www.youtube.com/playlist?list=PLy5T05I_eQYO5Y3S3kVqBxQzkUNllPazF) - Codecasts (YouTube)
@ -237,7 +236,7 @@
* [Boas práticas em PHP](https://www.udemy.com/boas-praticas-em-php/) - Diego Mariano (Udemy)
* [Curso Básico de Bootstrap 4 , PHP e MySQL](https://www.udemy.com/curso-basico-de-bootstrap-4-php-e-mysql-gratis/) - Ricardo Milbrath Gonçalves (Udemy)
* [Curso de CodeIgniter para iniciantes](https://www.youtube.com/playlist?list=PLInBAd9OZCzz2vtRFDwum0OyUmJg8UqDV) - RBtech
* [Curso de PHP para Iniciantes](https://www.youtube.com/playlist?list=PLHz_AreHm4dm4beCCCmW4xwpmLf6EHY9k) - Gustavo Guanabara (Curso em Video)
* [Curso de PHP para Iniciantes](https://www.youtube.com/playlist?list=PLHz_AreHm4dm4beCCCmW4xwpmLf6EHY9k) - Gustavo Guanabara (Curso em Vídeo)
* [Curso Introdução ao Laravel 8](https://academy.especializati.com.br/curso/introducao-ao-laravel-8) - Carlos Ferreira (Especializati academy)
* [Introdução à Criação de Sites Dinâmicos com PHP](https://www.udemy.com/criacao-de-paginas-de-internet-dinamicas-com-php-basico/) - Diego Mariano (Udemy)
* [Introdução ao PHP orientado a objetos](https://www.udemy.com/php-orientado-a-objetos/) - Diego Mariano (Udemy)
@ -252,17 +251,18 @@
* [Algoritmos em Python](https://algoritmosempython.com.br) - Douglas do Couto
* [Aprenda Python 3 em 6 horas](https://www.udemy.com/course/aprenda-python-3-em-6h/) - Alcimar A. Costa (Udemy)
* [Aulas Python](https://www.youtube.com/playlist?list=PLfCKf0-awunOu2WyLe2pSD2fXUo795xRe) - Ignorância zero (You Tube)
* [Construindo API's robustas utilizando Python](https://github.com/luizalabs/tutorial-python-brasil) - Cássio Botaro et al.
* [Curso de Programação em Python](https://www.youtube.com/playlist?list=PLFKhhNd35zq_INvuX9YzXIbtpo_LGDzYK) - Prime Cursos do Brasil
* [Curso de Python](https://www.youtube.com/playlist?list=PLesCEcYj003QxPQ4vTXkt22-E11aQvoVj) - eXcript (YouTube)
* [Curso de Python](https://www.youtube.com/playlist?list=PLesCEcYj003QxPQ4vTXkt22-E11aQvoVj) - Cláudio Rogério Carvalho Filho (eXcript)
* [Curso de Python 3 - Mundo 1: Fundamentos](https://www.youtube.com/playlist?list=PLHz_AreHm4dlKP6QQCekuIPky1CiwmdI6) - Gustavo Guanabara (Curso em Vídeo)
* [Curso em vídeo - Python](https://www.youtube.com/playlist?list=PLvE-ZAFRgX8hnECDn1v9HNTI71veL3oW0) - Joao Pedro Araujo
* [Curso em vídeo - Python](https://www.youtube.com/playlist?list=PLvE-ZAFRgX8hnECDn1v9HNTI71veL3oW0) - Gustavo Guanabara, Joao Pedro Araujo (Curso em Vídeo)
* [Data Science: Visualização de Dados com Python](https://www.udemy.com/visualizacao-de-dados-com-python/) - Diego Mariano (Udemy)
* [Django 2.0 - Aprendendo os conceitos fundamentais](https://www.udemy.com/django-20-aprendendo-os-conceitos-fundamentais/) - Gregory Pacheco (Udemy)
* [Do zero à implantação utilizando Python](https://github.com/cassiobotaro/do_zero_a_implantacao) - Cássio Botaro et al.
* [Estruturas compostas em Python](https://www.youtube.com/playlist?list=PLHz_AreHm4dksnH2jVTIVNviIMBVYyFnH&pbjreload=102) - Gustavo Guanabara. (Curso em Video)
* [Estruturas de controle em Python](https://www.youtube.com/playlist?list=PLHz_AreHm4dk_nZHmxxf_J0WRAqy5Czye) - Gustavo Guanabara. (Curso em Video)
* [Fundamentamentos em Python](https://www.youtube.com/playlist?list=PLHz_AreHm4dlKP6QQCekuIPky1CiwmdI6) - Gustavo Guanabara. (Curso em Video)
* [Estruturas compostas em Python](https://www.youtube.com/playlist?list=PLHz_AreHm4dksnH2jVTIVNviIMBVYyFnH&pbjreload=102) - Gustavo Guanabara (Curso em Vídeo)
* [Estruturas de controle em Python](https://www.youtube.com/playlist?list=PLHz_AreHm4dk_nZHmxxf_J0WRAqy5Czye) - Gustavo Guanabara (Curso em Vídeo)
* [Fundamentamentos em Python](https://www.youtube.com/playlist?list=PLHz_AreHm4dlKP6QQCekuIPky1CiwmdI6) - Gustavo Guanabara (Curso em Vídeo)
* [Introdução à Ciência da Computação com Python - Parte 1](https://pt.coursera.org/learn/ciencia-computacao-python-conceitos) - USP (Coursera)
* [Introdução à Ciência da Computação com Python - Parte 2](https://pt.coursera.org/learn/ciencia-computacao-python-conceitos-2) - USP (Coursera)
* [Introdução a linguagem de programação python](https://www.udemy.com/introducao-programacaopython/) - Abraão Passos de Oliveira (Udemy)
@ -337,8 +337,8 @@
### WordPress
* [Curso de Loja Virtual: WooCommerce + WordPress](https://www.youtube.com/playlist?list=PLHz_AreHm4dkZNE5PAYc0h4iVkqBCgBZR) - Curso em vídeo (YouTube)
* [Curso de WordPress: Criando um site do zero](https://www.youtube.com/playlist?list=PLHz_AreHm4dmDP_RWdiKekjTEmCuq_MW2) - Curso em vídeo (YouTube)
* [Curso de Loja Virtual: WooCommerce + WordPress](https://www.youtube.com/playlist?list=PLHz_AreHm4dkZNE5PAYc0h4iVkqBCgBZR) - Gustavo Guanabara (Curso em Vídeo)
* [Curso de WordPress: Criando um site do zero](https://www.youtube.com/playlist?list=PLHz_AreHm4dmDP_RWdiKekjTEmCuq_MW2) - Gustavo Guanabara (Curso em Vídeo)
### Segurança da Informação

View File

@ -29,12 +29,12 @@ INT - Cредний. Расширенные возможности.
ADV - Продвинутый. Тонкости.
<h3 id="design-architecture">Дизайн и Aрхитектура</h3>
### <a id="design-architecture"></a>Дизайн и Aрхитектура
* [Туториал по SOLID](https://ota-solid.now.sh) - Саша Беспоясов и Артём Самофалов (INT)
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [Введение в программирование (C++)](https://stepik.org/course/363) - Stepik (BEG)
* [Основы разработки на С++: белый пояс](https://www.coursera.org/learn/c-plus-plus-white) - Шишков Илья Иванович, Парамонов Евгений Анатольевич, Полднев Антон Вячеславович, Лежанкин Иван Андреевич (Coursera) (INT)
@ -172,5 +172,3 @@ ADV - Продвинутый. Тонкости.
* [Введение в Ruby](https://ru.hexlet.io/courses/ruby) - Hexlet (BEG)
* [Путь Rubyrush](https://rubyrush.ru/steps) (BEG)
* [Ruby - первое знакомство](https://stepik.org/course/87996) - Stepik (BEG)

View File

@ -1,7 +1,7 @@
### Index
* [C](#c)
* [C#](#c-sharp)
* [C#](#csharp)
* [C++](#cpp)
* [Git](#git)
* [JavaScript](#javascript)
@ -19,12 +19,12 @@
* [ภาษา C](http://marcuscode.com/lang/c) - MarcusCode
### C-Sharp
### <a id="csharp"></a>C\#
* [ภาษา C#](http://marcuscode.com/lang/csharp) - MarcusCode
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [ภาษา C++](http://marcuscode.com/lang/cpp) - MarcusCode

View File

@ -18,22 +18,22 @@
### HTML / CSS
* [Bootstrap Eğitim Serisi](https://youtube.com/playlist?list=PLGrTHqyRDvx5ZUs7h8mfGACFpnVipTNkA) - Hakan Yalçınkaya | Kodluyoruz
* [CSS Eğitim Serisi](https://youtube.com/playlist?list=PLGrTHqyRDvx501K3-IMgS1fz-KfEB37gM) - Hakan Yalçınkaya | Kodluyoruz
* [HTML Eğitim Serisi](https://youtube.com/playlist?list=PLGrTHqyRDvx7aP99nDNRKDi70bLFr_kX-) - Hakan Yalçınkaya | Kodluyoruz
* [Bootstrap Eğitim Serisi](https://youtube.com/playlist?list=PLGrTHqyRDvx5ZUs7h8mfGACFpnVipTNkA) - Hakan Yalçınkaya \| Kodluyoruz
* [CSS Eğitim Serisi](https://youtube.com/playlist?list=PLGrTHqyRDvx501K3-IMgS1fz-KfEB37gM) - Hakan Yalçınkaya \| Kodluyoruz
* [HTML Eğitim Serisi](https://youtube.com/playlist?list=PLGrTHqyRDvx7aP99nDNRKDi70bLFr_kX-) - Hakan Yalçınkaya \| Kodluyoruz
* [HTML+CSS Öğreniyoruz](https://www.youtube.com/playlist?list=PLadt0EaV4m3Ae9mBaQNylUKUaFK38F4EB) - Adem Ilter
* [Sıfırdan CSS Eğitim](https://www.youtube.com/playlist?list=PLadt0EaV4m3BX9JaZbKS9B8076bruv93Y) - Adem Ilter
### IDE / Editors
* [Visual Studio Code Eğitim Serisi](https://youtube.com/playlist?list=PLGrTHqyRDvx72uHNQ6aZXxa1pSKViqIhE) - Hakan Yalçınkaya | Kodluyoruz
* [Visual Studio Code Eğitim Serisi](https://youtube.com/playlist?list=PLGrTHqyRDvx72uHNQ6aZXxa1pSKViqIhE) - Hakan Yalçınkaya \| Kodluyoruz
### JavaScript
* [JavaScript Dersleri](https://javascript.sitesi.web.tr) - Murat Eliçalişkan
* [JavaScript Eğitim Serisi](https://youtube.com/playlist?list=PLGrTHqyRDvx6PqKkqSPwph57HNN4RWgR2) - Hakan Yalçınkaya | Kodluyoruz
* [JavaScript Eğitim Serisi](https://youtube.com/playlist?list=PLGrTHqyRDvx6PqKkqSPwph57HNN4RWgR2) - Hakan Yalçınkaya \| Kodluyoruz
### Java
@ -61,7 +61,5 @@
### Version Control Systems
* [Git Giriş Eğitim Serisi](https://youtube.com/playlist?list=PLGrTHqyRDvx4WAg9LPX_GKk7cKF7KBXOg) - Hakan Yalçınkaya | Kodluyoruz
* [Git Giriş Eğitim Serisi](https://youtube.com/playlist?list=PLGrTHqyRDvx4WAg9LPX_GKk7cKF7KBXOg) - Hakan Yalçınkaya \| Kodluyoruz
* [Git İleri Eğitim Serisi](https://youtube.com/playlist?list=PLGrTHqyRDvx6PVwxJmcQ0Veg1uoXRxQY8) - Kodluyoruz

View File

@ -5,7 +5,7 @@
* [Python](#python)
<h3 id="cpp">C++</h3>
### <a id="cpp"></a>C++
* [Мова програмування C++](https://stepik.org/course/67114) - Stepik

View File

@ -6,7 +6,8 @@
* [Bash](#bash)
* [Bootstrap](#bootstrap)
* [C](#c)
* [C#](#c-sharp)
* [C#](#csharp)
* [Cấu trúc dữ liệu và Giải thuật](#cautrucdulieuvagiaithuat)
* [CSS](#css)
* [Git](#git)
* [Go](#go)
@ -81,7 +82,7 @@
* [Series Con trỏ trong C](http://diendan.congdongcviet.com/threads/t42977::tim-hieu-ban-chat-cua-con-tro-tu-co-ban-den-nang-cao.cpp) - Cộng đồng C Việt
### C-Sharp
### <a id="csharp"></a>C\#
* [C# Căn Bản](https://www.youtube.com/playlist?list=PL33lvabfss1wUj15ea6W0A-TtDOrWWSRK)
* [C# Căn Bản](https://www.youtube.com/playlist?list=PLRhlTlpDUWsyOEc-S8ovGVG5L92mZEjVu) - TEDU
@ -103,9 +104,14 @@
* [CSS Cơ Bản](https://www.youtube.com/playlist?list=PLl4nkmb3a8w1cnIhegAj5_mE8w_mbYvY4) - Thạch Phạm
### Cấu trúc dữ liệu và Giải thuật
* [Cấu trúc dữ liệu và Giải thuật](https://www.youtube.com/playlist?list=PLoaAbmGPgTSNMAzkKBHkh2mLuBk54II5L) - Ông Dev
### Git
* [Cách sử dụng Git trong THỰC TẾ | Github](https://www.youtube.com/watch?v=O5uT6p6VWjY) - Ông Dev
* [Cách sử dụng Git trong THỰC TẾ \| Github](https://www.youtube.com/watch?v=O5uT6p6VWjY) - Ông Dev
* [Git - from Zero to Hero](https://www.youtube.com/playlist?list=PLkY6Xj8Sg8-viFVtaVps_h_Emi2wQyE7q) - CodersX
* [Từ gà tới pro Git và Github trong 20 phút - Tự học Git siêu tốc](https://www.youtube.com/watch?v=1JuYQgpbrW0) - Phạm Huy Hoàng (toidicodedao)

View File

@ -28,4 +28,4 @@ verzija 1.3.0, dostupna na https://contributor-covenant.org/version/1/3/0/
[homepage]: https://contributor-covenant.org
[Translations](../README.md#translations)
[Translations](README.md#translations)

View File

@ -52,4 +52,4 @@ Version 1.3.0, verfügbar unter https://www.contributor-covenant.org/de/version/
[homepage]: https://contributor-covenant.org
[Translations](../README.md#translations)
[Translations](README.md#translations)

View File

@ -43,4 +43,4 @@
[homepage]: https://contributor-covenant.org
[Translations](../README.md#translations)
[Translations](README.md#translations)

View File

@ -26,4 +26,4 @@ Este Código de Conducta está adaptado del [Pacto de Colaboradores][homepage],
[homepage]: https://contributor-covenant.org
[Traducciones / otros idiomas](../README.md#translations)
[Traducciones / otros idiomas](README.md#translations)

View File

@ -1,47 +1,46 @@
<div dir="rtl">
<div dir="rtl" markdown="1">
# مرام‌نامه‌ی مشارکت‌کنندگان
# مرام‌نامه‌ی مشارکت‌کنندگان
ما به عنوان مشارکت کنندگان و نگهدارندگان این پروژه و به منظور تقویت یک جامعه باز و استقبال کننده،
متعهد می شویم به همه افرادی که از طریق گزارش مسائل، ارسال درخواست ویژگی ها، به روزرسانی اسناد،
ارسال پول ریکوئست یا پچ‌ها و سایر فعالیت ها کمک می کنند احترام بگذاریم.
ما به عنوان مشارکت کنندگان و نگهدارندگان این پروژه و به منظور تقویت یک جامعه باز و استقبال کننده،
متعهد می شویم به همه افرادی که از طریق گزارش مسائل، ارسال درخواست ویژگی ها، به روزرسانی اسناد،
ارسال پول ریکوئست یا پچ‌ها و سایر فعالیت ها کمک می کنند احترام بگذاریم.
ما متعهد هستیم که مشارکت در این پروژه را بدون در نظر گرفتن سطح تجربه،
جنسیت، هویت و بیان جنسیتی، گرایش جنسی، معلولیت ظاهر شخصی ،
اندازه بدن، نژاد، قومیت، سن، مذهب یا ملیت، تجربه ای بدون آزار و اذیت برای همه ایجاد کنیم.
ما متعهد هستیم که مشارکت در این پروژه را بدون در نظر گرفتن سطح تجربه،
جنسیت، هویت و بیان جنسیتی، گرایش جنسی، معلولیت ظاهر شخصی ،
اندازه بدن، نژاد، قومیت، سن، مذهب یا ملیت، تجربه ای بدون آزار و اذیت برای همه ایجاد کنیم.
نمونه‌هایی از رفتارهای غیرقابل قبول شرکت‌کنندگان عبارتند از:
نمونه‌هایی از رفتارهای غیرقابل قبول شرکت‌کنندگان عبارتند از:
* استفاده از زبان یا تصاویر جنسی‌شده
* حملات شخصی
* نظرات توهین‌آمیز یا تحقیرآمیز
* آزار و اذیت عمومی یا خصوصی
* انتشار اطلاعات خصوصی دیگران، مانند آدرس‌های فیزیکی یا الکترونیکی بدون کسب اجازه‌ی صریح
* سایر رفتارهای غیراخلاقی یا غیرحرفه‌ای
* استفاده از زبان یا تصاویر جنسی‌شده
* حملات شخصی
* نظرات توهین‌آمیز یا تحقیرآمیز
* آزار و اذیت عمومی یا خصوصی
* انتشار اطلاعات خصوصی دیگران، مانند آدرس‌های فیزیکی یا الکترونیکی بدون کسب اجازه‌ی صریح
* سایر رفتارهای غیراخلاقی یا غیرحرفه‌ای
نگهدارندگان پروژه حق حذف و ویرایش یا رد نظرات، کامیت‌ها، کد،
ویرایش های ویکی، ایشوها و سایر مشارکت‌هایی را دارند که
با این مرامنامه مطابقت ندارند، همچنین می‌توانند هرگونه مشارکت‌کننده را به طور موقت
یا دائم برای سایر رفتارها که نامناسب، تهدیدآمیز، توهین‌آمیز یا مضر می‌دانند،از پروژه حذف کنند.
نگهدارندگان پروژه حق حذف و ویرایش یا رد نظرات، کامیت‌ها، کد،
ویرایش های ویکی، ایشوها و سایر مشارکت‌هایی را دارند که
با این مرامنامه مطابقت ندارند، همچنین می‌توانند هرگونه مشارکت‌کننده را به طور موقت
یا دائم برای سایر رفتارها که نامناسب، تهدیدآمیز، توهین‌آمیز یا مضر می‌دانند،از پروژه حذف کنند.
با تصویب این مرامنامه، نگهدارندگان پروژه متعهد می شوند که
این اصول را به طور منصفانه و پیوسته در هر جنبه‌ای
از مدیریت این پروژه به کار گیرند. نگهدارندگان پروژه که از قوانین رفتاری پیروی نمی‌کنند یا آنها را اجرا نمی‌کنند
ممکن است برای همیشه از تیم پروژه حذف شوند.
با تصویب این مرامنامه، نگهدارندگان پروژه متعهد می شوند که
این اصول را به طور منصفانه و پیوسته در هر جنبه‌ای
از مدیریت این پروژه به کار گیرند. نگهدارندگان پروژه که از قوانین رفتاری پیروی نمی‌کنند یا آنها را اجرا نمی‌کنند
ممکن است برای همیشه از تیم پروژه حذف شوند.
این مرامنامه هم در فضاهای پروژه و هم در فضاهای عمومی هنگامی که فردی نماینده‌ی پروژه یا عضو جامعه‌ی آن است اعمال می‌شود.
این مرامنامه هم در فضاهای پروژه و هم در فضاهای عمومی هنگامی که فردی نماینده‌ی پروژه یا عضو جامعه‌ی آن است اعمال می‌شود.
مواردی از رفتارهای توهین آمیز، آزاردهنده یا غیرقابل قبول می‌توانند با تماس با نگهدارنده پروژه از طریق
victorfelder در gmail.com گزارش شوند.
همه شکایات مورد بررسی و بررسی قرار می گیرند و منجر به پاسخی می شوند
که لازم و مناسب شرایط موجود تلقی می‌شود. نگهدارندگان موظف به حفظ محرمانه بودن گزارشگر واقعه هستند.
مواردی از رفتارهای توهین آمیز، آزاردهنده یا غیرقابل قبول می‌توانند با تماس با نگهدارنده پروژه از طریق
victorfelder در gmail.com گزارش شوند.
همه شکایات مورد بررسی و بررسی قرار می گیرند و منجر به پاسخی می شوند
که لازم و مناسب شرایط موجود تلقی می‌شود. نگهدارندگان موظف به حفظ محرمانه بودن گزارشگر واقعه هستند.
این مرامنامه از این جا گرفته شده است: [Contributor Covenant][homepage],
نسخه‌ی 1.3.0 در این جا در دسترس است: https://contributor-covenant.org/version/1/3/0/
[homepage]: https://contributor-covenant.org
این مرامنامه از این جا گرفته شده است: [Contributor Covenant][homepage],
نسخه‌ی 1.3.0 در این جا در دسترس است: [https://contributor-covenant.org/version/1/3/0/](https://contributor-covenant.org/version/1/3/0/)
</div>
[Translations](../README.md#translations)
[homepage]: https://contributor-covenant.org
[Translations](README.md#translations)

View File

@ -47,4 +47,4 @@ version 1.3.0, available at https://contributor-covenant.org/version/1/3/0/
[homepage]: https://contributor-covenant.org
[Translations](../README.md#translations)
[Translations](README.md#nslations)

View File

@ -52,4 +52,4 @@ version 1.3.0, disponible à https://contributor-covenant.org/fr/version/1/3/0/c
[homepage]: https://www.contributor-covenant.org
[Translations](../README.md#translations)
[Translations](README.md#translations)

View File

@ -32,4 +32,4 @@ https://contributor-covenant.org/version/1/3/0/
[homepage]: https://contributor-covenant.org
[Translations](../README.md#translations)
[Translations](README.md#translations)

View File

@ -46,4 +46,4 @@ versi 1.3.0, avaible at https://contributor-covenant.org/version/1/3/0/
[homepage]: https://contributor-covenant.org
[Translations](../README.md#translations)
[Translations](README.md#nslations)

View File

@ -27,4 +27,4 @@ versione 1.3.0, disponibile a https://contributor-covenant.org/version/1/3/0/
[homepage]: https://contributor-covenant.org
[Translations](../README.md#translations)
[Translations](README.md#translations)

View File

@ -37,4 +37,4 @@
[homepage]: https://contributor-covenant.org
[Translations](../README.md#translations)
[Translations](README.md#translations)

View File

@ -27,4 +27,4 @@ wersja 1.3.0, dostępna pod adresem https://contributor-covenant.org/version/1/3
[homepage]: https://contributor-covenant.org
[Translations](../README.md#translations)
[Translations](README.md#translations)

View File

@ -47,4 +47,4 @@ versão 1.3.0, disponível em https://www.contributor-covenant.org/pt-br/version
[homepage]: https://contributor-covenant.org
[Translations](../README.md#translations)
[Translations](README.md#translations)

View File

@ -42,4 +42,4 @@ version 1.3.0, available at https://contributor-covenant.org/version/1/3/0/
[homepage]: https://contributor-covenant.org
[Translations](../README.md#translations)
[Translations](README.md#translations)

View File

@ -41,4 +41,4 @@ version 1.3.0, available at https://contributor-covenant.org/version/1/3/0/
[homepage]: https://contributor-covenant.org
[Translations](../README.md#translations)
[Translations](README.md#nslations)

View File

@ -47,4 +47,4 @@ version 1.3.0, available at https://contributor-covenant.org/version/1/3/0/
[homepage]: https://contributor-covenant.org
[Translations](../README.md#translations)
[Translations](README.md#translations)

View File

@ -1,37 +1,47 @@
*[Diese Anleitung in anderen Sprachen](../README.md#translations)*
*[Diese Anleitung in anderen Sprachen](README.md#translations)*
## Lizenzvereinbarung für Mitwirkende
Durch Deine Mitwirkung akzeptierst Du die [Lizenz](../LICENSE) dieses Repositorys.
## Verhaltenskodex für Mitwirkende
Durch Deine Mitwirkung verpflichtest Du Dich, dem [Verhaltenskodex](CODE_OF_CONDUCT-de.md) dieses Repositorys zu folgen. ([translations](../README.md#translations))
Durch Deine Mitwirkung verpflichtest Du Dich, dem [Verhaltenskodex](CODE_OF_CONDUCT-de.md) dieses Repositorys zu folgen. ([translations](README.md#translations))
## Kurzfassung
1. „Ein Link, um ein Buch auf einfache Weise herunterzuladen“ ist nicht immer ein Link zu einem *kostenlosen* Buch. Bitte füge nur kostenlose Inhalte hinzu. Vergewissere Dich, dass sie kostenlos sind. Wir akzeptieren keine Links zu Seiten, die *voraussetzen*, dass man sich mit einer funktionierenden E-Mail-Adresse registriert, um ein Buch herunterzuladen, aber wir heißen Seiten willkommen, die um (optionale) Eingaben von E-Mail-Adressen bitten.
2. Du musst Dich nicht mit Git auskennen: Wenn Du etwas Interessantes gefunden hast, *das noch nicht in einer der Listen enthalten ist*, öffne bitte ein [Issue](https://github.com/EbookFoundation/free-programming-books/issues) mit Deinen Linkvorschlägen.
- Wenn Du Dich mit Git auskennst, erstelle einen Fork des Repositorys und sende einen Pull Request.
- Wenn Du Dich mit Git auskennst, erstelle einen Fork des Repositorys und sende einen Pull Request (PR).
3. Wir führen 5 Arten von Listen. Achte darauf, die richtige zu wählen:
- *Bücher*: PDF, HTML, ePub, eine auf gitbook.io basierende Seite, ein Git Repo etc.
- *Kurse*: Ein Kurs beschreibt Lernmaterialien, die nicht in Buchform existieren. [Dies ist ein Kurs](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/).
- *Interaktive Tutorials*: Eine interaktive Webseite, die den Benutzer Sourcecode oder Kommandos eingeben lässt und das Resultat auswertet (mit "auswerten" meinen wir nicht "bewerten"). z.&nbsp;B.: [Try Haskell](http://tryhaskell.org), [Try Github](http://try.github.io).
- *Interaktive Tutorials*: Eine interaktive Webseite, die den Benutzer Sourcecode oder Kommandos eingeben lässt und das Resultat auswertet (mit "auswerten" meinen wir nicht "bewerten"). z.&nbsp;B.: [Try Haskell](http://tryhaskell.org), [Try GitHub](http://try.github.io).
- *Podcasts und Screencasts*: Podcasts und Screencasts.
- *Problem Sets & Competitive Programming*: Eine Webseite oder Software, die Dir die Möglichkeit gibt, Deine Programmierfähigkeiten durch die Lösung einfacher oder komplexer Problemstellungen auf die Probe zu stellen, mit oder ohne Code Review und mit oder ohne den Vergleich der Leistungen mit anderen Besuchern der Seite.
4. Stell sicher, dass Du den [Richtlinien](#richtlinien) folgst und die [Markdown Formatierung](#formatierung) der Dateien beachtest.
5. GitHub Actions werden Tests ausführen, um sicherzustellen, dass die Listen korrekt alphabetisiert sind und den Formatierungsregeln Folge geleistet wurde. Stell sicher, dass Deine Änderungen diese Tests bestehen.
5. GitHub Actions werden Tests ausführen, um sicherzustellen, dass die **Listen korrekt alphabetisiert sind** und den **Formatierungsregeln Folge geleistet wurde**. **Stell sicher**, dass Deine Änderungen diese Tests bestehen.
### Richtlinien
- Stell sicher, dass ein Buch wirklich kostenlos ist. Vergewissere Dich noch einmal, falls nötig. Es hilft den Administratoren, wenn Du in Deinem PR beschreibst, warum Du der Ansicht bist, dass das jeweilige Buch kostenlos ist.
- Wir nehmen keine Dateien auf, die auf Google Drive, Dropbox, Mega, Scribd, Issuu oder einer vergleichbaren Upload-Plattform liegen.
- Füge die Links in alphabetischer Reihenfolge ein. Wenn Du einen fehlerhaft eingefügten Link findest, korrigiere bitte die Reihenfolge und öffne eine PR.
- Wähle immer den Link der maßgeblichen Quelle aus (das heißt, dass die Website des Autors besser ist als die eines Redakteurs, welche wiederum besser wäre als die einer Drittanbieterseite)
+ Keine File Hosting Plattformen (inklusive Links zu Dropbox, Google Drive u.ä.)
- Keine File Hosting Plattformen (inklusive Links zu Dropbox, Google Drive u.ä.)
- Ein `https` Link sollte einem `http` Link immer vorgezogen werden -- solange sie auf dieselbe Domain und denselben Inhalt verweisen.
- Auf Root Domains sollte der abschließende Schrägstrich entfernt werden: `http://example.com` anstelle von `http://example.com/`
- Wähle immer den kürzesten Link: `http://example.com/dir/` ist besser als `http://example.com/dir/index.html`
+ Benutze keine URL-Verkürzer
- Benutze keine URL-Verkürzer
- Wähle bevorzugt den Link zur aktuellsten Version anstatt eine konkrete Version zu verlinken: `http://example.com/dir/book/current/` ist besser als `http://example.com/dir/book/v1.0.0/index.html`
- Wenn ein Link ein abgelaufenes oder selbst-signiertes Zertifikat nutzt oder ein anderes SSL Problem aufweist:
1. *ersetze ihn* mit seinem `http` Gegenstück, wenn möglich (weil es auf Mobilgeräten kompliziert sein kann, Ausnahmen zuzulassen).
@ -39,20 +49,23 @@ Durch Deine Mitwirkung verpflichtest Du Dich, dem [Verhaltenskodex](CODE_OF_COND
3. *entferne ihn* anderenfalls.
- Wenn ein Link in verschiedenen Formaten existiert, füge einen separaten Link hinzu mit einem Hinweis zu jedem Format
- Wenn ein Inhalt an mehreren Stellen im Internet verfügbar ist
+ wähle den Link der maßgeblichen Quelle aus (das heißt, dass die Website des Autors besser ist als die eines Redakteurs, welche wiederum besser wäre als die einer Drittanbieterseite)
+ wenn sie verschiedene Ausgaben verlinken und Du der Meinung bist, dass sich diese Ausgaben in einem Maße unterscheiden, dass man alle aufheben sollte, füge einen separaten Link hinzu mit einem Hinweis zu jeder Ausgabe (siehe [Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353), um Dich an der Diskussion zur Formatierung zu beteiligen.)
- wähle den Link der maßgeblichen Quelle aus (das heißt, dass die Website des Autors besser ist als die eines Redakteurs, welche wiederum besser wäre als die einer Drittanbieterseite)
- wenn sie verschiedene Ausgaben verlinken und Du der Meinung bist, dass sich diese Ausgaben in einem Maße unterscheiden, dass man alle aufheben sollte, füge einen separaten Link hinzu mit einem Hinweis zu jeder Ausgabe (siehe [Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353), um Dich an der Diskussion zur Formatierung zu beteiligen).
- Bevorzuge atomare Commits (ein Commit pro Änderung), anstatt größere Commits zu machen. Es besteht keine Notwendigkeit, die Commits vor dem Abschicken des PR zu squashen. (Wir werden die Befolgung dieser Regel niemals erzwingen, da es sich hier nur um die Vermeidung von Unannehmlichkeiten für die Maintainer handelt)
- Vermerke das Datum der Veröffentlichung im Titel, wenn es sich um ein älteres Buch handelt.
- Erfasse gegebenenfalls den Namen des oder der Autoren. Eine längere Liste von Autoren kann mit dem Zusatz "et al." gekürzt werden.
- Wenn das Buch noch nicht fertiggestellt ist und sich noch in Bearbeitung befindet, füge wie [unten](#in_process) beschrieben einen "in Bearbeitung" Hinweis hinzu.
- Wenn eine funktionierende E-Mail Adresse oder das Einrichten eines Benutzerkontos vor Aktivierung des Downloads erbeten wird, sollten angemessene Hinweise in Klammern angegeben werden, z.&nbsp;B.: `(E-Mail Adresse *erbeten*, nicht erforderlich)`
- Erfasse gegebenenfalls den Namen des oder der Autoren. Eine längere Liste von Autoren kann mit dem Zusatz "`et al.`" gekürzt werden.
- Wenn das Buch noch nicht fertiggestellt ist und sich noch in Bearbeitung befindet, füge wie [unten](#in_process) beschrieben einen "`in process`" Hinweis hinzu.
- Wenn eine funktionierende E-Mail Adresse oder das Einrichten eines Benutzerkontos vor Aktivierung des Downloads erbeten wird, sollten angemessene Hinweise in Klammern angegeben werden, z.&nbsp;B.: `(E-Mail Adresse *erbeten*, nicht erforderlich)`.
### Formatierung
- Bei allen Listen handelt es sich um `.md` Dateien. Versuche bitte, Dir die [Markdown](https://guides.github.com/features/mastering-markdown/) Syntax anzueignen. Sie ist ganz einfach!
- Alle Listen beginnen mit einem Inhaltsverzeichnis, in dem alle Abschnitte und Unterabschnitte verlinkt werden sollten. Bitte halte eine alphabetische Reihenfolge ein.
- Abschnitte nutzen Überschriften der Ebene 3 (`###`), während Unterabschnitte die 4. Ebene (`####`) nutzen.
Folgende Formatierungsregeln sollten eingehalten werden:
- `2` Leerzeilen zwischen dem letzten Link und einem neuen Abschnitt.
- `1` Leerzeile zwischen der Überschrift und dem ersten Link eines Abschnitts.
- `0` Leerzeilen zwischen zwei Links.
@ -60,104 +73,113 @@ Folgende Formatierungsregeln sollten eingehalten werden:
Beispiel:
[...]
* [Ein tolles Buch](http://example.com/example.html)
```text
[...]
* [Ein tolles Buch](http://example.com/example.html)
(Leerzeile)
(Leerzeile)
### Beispiel
### Beispiel
(Leerzeile)
* [Noch ein tolles Buch](http://example.com/book.html)
* [Ein anderes Buch](http://example.com/other.html)
* [Noch ein tolles Buch](http://example.com/book.html)
* [Ein anderes Buch](http://example.com/other.html)
```
- Keine Leerzeichen zwischen `]` und `(` einfügen:
```
FALSCH : * [Noch ein tolles Buch] (http://example.com/book.html)
RICHTIG: * [Noch ein tolles Buch](http://example.com/book.html)
```
```text
FALSCH : * [Noch ein tolles Buch] (http://example.com/book.html)
RICHTIG: * [Noch ein tolles Buch](http://example.com/book.html)
```
- Wenn Du den Autor nennst, nutze ` - ` (einen mit Leerzeichen eingefassten Gedankenstrich):
```
FALSCH : * [Noch ein tolles Buch](http://example.com/book.html)- John Doe
RICHTIG: * [Noch ein tolles Buch](http://example.com/book.html) - John Doe
```
```text
FALSCH : * [Noch ein tolles Buch](http://example.com/book.html)- John Doe
RICHTIG: * [Noch ein tolles Buch](http://example.com/book.html) - John Doe
```
- Füge ein einzelnes Leerzeichen zwischen dem Link und seinem Dateiformat ein:
```
FALSCH : * [Ein sehr tolles Buch](https://example.org/book.pdf)(PDF)
RICHTIG: * [Ein sehr tolles Buch](https://example.org/book.pdf) (PDF)
```
```text
FALSCH : * [Ein sehr tolles Buch](https://example.org/book.pdf)(PDF)
RICHTIG: * [Ein sehr tolles Buch](https://example.org/book.pdf) (PDF)
```
- Der Autor wird vor dem Format genannt:
```
FALSCH : * [Ein sehr tolles Buch](https://example.org/book.pdf)- (PDF) Jane Roe
RICHTIG: * [Ein sehr tolles Buch](https://example.org/book.pdf) - Jane Roe (PDF)
```
```text
FALSCH : * [Ein sehr tolles Buch](https://example.org/book.pdf)- (PDF) Jane Roe
RICHTIG: * [Ein sehr tolles Buch](https://example.org/book.pdf) - Jane Roe (PDF)
```
- Verschiedene Formate:
```
FALSCH : * [Noch ein tolles Buch](http://example.com/)- John Doe (HTML)
FALSCH : * [Noch ein tolles Buch](https://downloads.example.org/book.html)- John Doe (download site)
RICHTIG: * [Noch ein tolles Buch](http://example.com/) - John Doe (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
```text
FALSCH : * [Noch ein tolles Buch](http://example.com/)- John Doe (HTML)
FALSCH : * [Noch ein tolles Buch](https://downloads.example.org/book.html)- John Doe (download site)
RICHTIG: * [Noch ein tolles Buch](http://example.com/) - John Doe (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
- Nenne das Jahr der Veröffentlichung im Titel bei älteren Publikationen:
```
FALSCH : * [Ein sehr tolles Buch](https://example.org/book.html) - Jane Roe - 1970
RICHTIG: * [Ein sehr tolles Buch (1970)](https://example.org/book.html) - Jane Roe
```
```text
FALSCH : * [Ein sehr tolles Buch](https://example.org/book.html) - Jane Roe - 1970
RICHTIG: * [Ein sehr tolles Buch (1970)](https://example.org/book.html) - Jane Roe
```
<a name="in_process"></a>
- Bücher in Bearbeitung:
- <a id="in_process"></a>Bücher in Bearbeitung:
```text
RICHTIG: * [Wird bald ein tolles Buch sein](http://example.com/book2.html) - John Doe (HTML) (:construction: *in Bearbeitung*)
```
```
RICHTIG: * [Wird bald ein tolles Buch sein](http://example.com/book2.html) - John Doe (HTML) (:construction: *in Bearbeitung*)
```
### Hinweise
Während die Grundlagen relativ einfach sind, existiert eine große Vielfalt von Ressourcen in unseren Listen. Es folgen einige Hinweise, wie wir mit dieser Vielfalt umgehen.
#### Metadaten
Unsere Listen enthalten einen minimalen Satz an Metadaten: Titel, URLs, Autoren, Plattformen und Zugriffshinweise.
##### Titel
- Keine erfundenen Titel. Wir versuchen, die Titel den Inhalten selbst zu entnehmen; Mitwirkende werden dazu ermahnt, sich keine Titel auszudenken oder redaktionell zu nutzen, falls dies vermieden werden kann. Eine Ausnahme bilden ältere Werke; wenn sie vor allem von historischem Interesse sind, kann das Hinzufügen einer Jahreszahl in Klammern den Nutzern helfen zu bestimmen, ob die Inhalte für sie nützlich sind.
- Keine Titel, die NUR GROßBUCHSTABEN ENTHALTEN. Titelkapitalisierung ist normalerweise angemessen, aber im Zweifel nutze einfach die Formatierung der Originalquelle.
##### URLs
- Wir erlauben keine gekürzten URLs.
- Sämtliche Tracking-Codes sind aus der URL zu entfernen.
- Internationale URLs sollten entsprechend maskiert/escaped werden. Auch wenn Adressleisten in Browsern diese üblicherweise in Unicode darstellen, nutze bitte kopieren & einfügen.
- Sichere (https) URLs werden immer nicht-sicheren (http) URLs vorgezogen, wenn von der Quelle https implementiert wurde.
- Sichere (`https`) URLs werden immer nicht-sicheren (`http`) URLs vorgezogen, wenn von der Quelle HTTPS implementiert wurde.
- Wir mögen keine URLs, die auf Webseiten zeigen, die den angegebenen Inhalt nicht bereitstellen, sondern stattdessen an andere Stelle umleiten.
##### Urheber
- Wir wollen alle Urheber kostenloser Inhalte angemessen nennen, inklusive eventueller Übersetzer!
- For übersetzte Werke sollte der Autor des ursprünglichen Werks genannt werden.
- Wir erlauben keine Links für Urheber.
- Für Sammlungen oder neu zusammengestellte Werke, benötigt der "Urheber" eventuell eine Beschreibung. Bücher von "GoalKicker" werden z.&nbsp;B. als "Zusammengestellt aus StackOverflow Dokumentationen" gekennzeichnet.
- Für Sammlungen oder neu zusammengestellte Werke, benötigt der "Urheber" eventuell eine Beschreibung. Bücher von "GoalKicker" werden z.&nbsp;B. als "`Zusammengestellt aus StackOverflow Dokumentationen`" (auf englisch: "`Compiled from StackOverflow documentation`") gekennzeichnet.
##### Plattformen und Zugriffshinweise
- Kurse. Insbesondere bei unseren Kurslisten spielt die Plattform eine wichtige Rolle in der Beschreibung des Inhalts. Der Grund dafür ist, dass Kurs-Plattformen unterschiedliche Zugangsmodelle und Angebotscharakter haben. Obwohl wir keine Bücher aufnehmen, die eine Registrierung erfordern, können viele Kurs-Plattformen ohne irgendeine Art der Registrierung nicht funktionieren. Beispiele für Kurs-Plattformen sind Coursera, EdX, Udacity und Udemy. Wenn ein Kurs von einer bestimmten Plattform abhängt, sollte der Name der Plattform in Klammern angehängt werden.
- YouTube. Wir haben viele Kurse in Form von YouTube Wiedergabelisten. Wir führen Youtube nicht als Plattform auf, sondern versuchen den Urheber des Kurses zu nennen, der oftmals eine Unter-Plattform darstellt.
- YouTube. Wir haben viele Kurse in Form von YouTube Wiedergabelisten. Wir führen YouTube nicht als Plattform auf, sondern versuchen den Urheber des Kurses zu nennen, der oftmals eine Unter-Plattform darstellt.
- YouTube Videos. Wir verlinken normalerweise keine einzelnen YouTube Videos. Ausnahmen bilden Videos von mehr als einer Stunde Länge, die wie ein Kurs oder Tutorial strukturiert sind.
- Leanpub. Leanpub beherbergt Bücher mit einer Vielzahl von Zugangsmodellen. Manchmal kann ein Buch ohne Registrierung gelesen werden; in anderen Fällen wird ein Leanpub Konto für einen kostenfreien Zugang benötigt. Aufgrund der Qualität der Bücher und der unterschiedlichen und fließenden Zugangsmodelle erlauben wir die Aufnahme letzterer, wenn sie mit dem Zugriffshinweis *(Leanpub Konto oder gültige E-Mail angefordert)* versehen sind.
- Leanpub. Leanpub beherbergt Bücher mit einer Vielzahl von Zugangsmodellen. Manchmal kann ein Buch ohne Registrierung gelesen werden; in anderen Fällen wird ein Leanpub Konto für einen kostenfreien Zugang benötigt. Aufgrund der Qualität der Bücher und der unterschiedlichen und fließenden Zugangsmodelle erlauben wir die Aufnahme letzterer, wenn sie mit dem Zugriffshinweis `*(Leanpub Konto oder gültige E-Mail angefordert)*` versehen sind.
#### Genre
Die wichtigste Regel zur korrekten Zuordnung von Inhalten in Listen ist zu schauen, wie die Ressource sich selbst beschreibt. Wenn sie sich als Buch bezeichnet, dann ist sie vielleicht ein Buch.
##### Genres, die wir nicht aufnehmen
Da das Internet unermesslich ist, nehmen wir folgende Inhalte nicht in unsere Listen auf:
@ -165,7 +187,7 @@ Da das Internet unermesslich ist, nehmen wir folgende Inhalte nicht in unsere Li
- Blogs
- Blogeinträge
- Artikel
- Webseiten (außer jene, die SEHR viele Inhalte bereitstellen, die wir in unseren Listen führen.)
- Webseiten (außer jene, die SEHR viele Inhalte bereitstellen, die wir in unseren Listen führen).
- Videos, die keine Kurse oder Screencasts sind.
- einzelne Buchkapitel
- Teaser oder Muster aus Büchern
@ -174,6 +196,7 @@ Da das Internet unermesslich ist, nehmen wir folgende Inhalte nicht in unsere Li
Unsere Listen zu Programmierwettbewerben setzen diese Verbote nicht so strikt um. Art und Umfang des Repositorys wird von der Community bestimmt; wenn Du eine Änderung oder Ausweitung der Ausrichtung vorschlagen möchtest, eröffne bitte ein Issue, um den Vorschlag zu unterbreiten.
##### Buch vs. anderes Zeug
Wir sind nicht kleinlich, was die Definition, was ein Buch ist und was nicht. Hier sind einige Eigenschaften, die darauf hinweisen, dass es sich bei einer bestimmten Ressource um ein Buch handelt:
@ -188,25 +211,28 @@ Wir sind nicht kleinlich, was die Definition, was ein Buch ist und was nicht. Hi
Vielen Büchern in unseren Listen fehlen diese Eigenschaften; es kann vom Kontext abhängen.
##### Buch vs. Kurs
Das ist manchmal gar nicht so leicht zu unterscheiden!
Kurse kommen oftmals mit begleitenden Lehrbüchern, die wir in unseren Bücherlisten führen würden. Kurse bieten Vorträge, Übungen, Tests, Anmerkungen oder andere Lernhilfen. Ein einzelner Vortrag oder Video allein ist kein Kurs. Eine Powerpoint-Präsentation ist kein Kurs.
##### Interaktive Tutorials vs. anderes Zeug
Wenn etwas ausgedruckt werden kann, ohne dass es seinen Nutzen verliert, ist es kein interaktives Tutorial.
### Automatisierung
- Die Durchsetzung der Formatierungsregeln wird über [GitHub Actions](https://github.com/features/actions) mittels [fpb-lint](https://github.com/vhf/free-programming-books-lint) sichergestellt (siehe [.github/workflows/fpb-lint.yml](.github/workflows/fpb-lint.yml))
- Die Durchsetzung der Formatierungsregeln wird über [GitHub Actions](https://github.com/features/actions) mittels [fpb-lint](https://github.com/vhf/free-programming-books-lint) sichergestellt (siehe [`.github/workflows/fpb-lint.yml`](../.github/workflows/fpb-lint.yml))
- Die URLs werden über [awesome_bot](https://github.com/dkhamsing/awesome_bot) validiert.
- Um die URL-Validierung auszulösen, kann ein Commit abgeschickt werden, der `check_urls=file_to_check` enthält:
```
check_urls=free-programming-books.md free-programming-books-en.md
```
```properties
check_urls=free-programming-books.md free-programming-books-de.md
```
- Man kann mehr als eine zu überprüfende Datei angeben, wobei die Einträge mit einem einzelnen Leerzeichen getrennt werden.
- Bei Angabe von mehr als einer Datei basiert das Ergebnis des Builds auf dem Ergebnis der letzten geprüften Datei. Du solltest Dir darüber im Klaren sein, dass dies zu gültigen Builds führen kann und daher das Build Protokoll am Ende des Pull Request durch Klick auf "Show all checks" -> "Details" genau geprüft werden sollte.

View File

@ -1,49 +1,51 @@
*[Διαβάστε το σε διαφορετικές γλώσσες](../README.md#translations)*
*[Διαβάστε το σε διαφορετικές γλώσσες](README.md#translations)*
<a name="contributor-license-agreement"></a>
<!----><a id="contributor-license-agreement"></a>
## Συμφωνία Άδειας Χρήσης Συνεισφερόντων
Συνεισφέροντας συμφωνείτε με την [ΑΔΕΙΑ](../LICENSE) αυτού του αποθετηρίου. ([translations](../README.md#translations))
Συνεισφέροντας συμφωνείτε με την [ΑΔΕΙΑ](../LICENSE) αυτού του αποθετηρίου.
<a name="contributor-code-of-conduct"></a>
<!----><a id="contributor-code-of-conduct"></a>
## Κώδικας Δεοντολογίας Συνεισφερόντων
Συνεισφέροντας συμφωνείτε να σέβεστε τον [Κώδικα Δεοντολογίας](CODE_OF_CONDUCT-el.md) αυτού του αποθετηρίου.
Συνεισφέροντας συμφωνείτε να σέβεστε τον [Κώδικα Δεοντολογίας](CODE_OF_CONDUCT-el.md) αυτού του αποθετηρίου. ([translations](README.md#translations))
<a name="in-a-nutshell"></a>
<!----><a id="in-a-nutshell"></a>
## Με λίγα λόγια
1. "Ένας σύνδεσμος για να κατεβάσω εύκολα ένα βιβλίο" δεν είναι πάντα ένας σύνδεσμος για *δωρεάν* βιβλίο. Παρακαλούμε να συνεισφέρετε μόνο δωρεάν περιεχόμενο. Να σιγουρεύετε ότι είναι δωρεάν. Δεν δεχόμαστε συνδέσμους για σελίδες που *απαιτούν* λειτουργικές ηλεκτρονικές διευθύνσεις για να αποκτηθούν βιβλία, αλλά είναι ευπρόσδεκτες καταχωρήσεις που τις ζητούν προαιρετικά.
2. Δεν χρειάζεται να γνωρίζετε Git: αν βρήκατε κάτι ενδιαφέρον που *δεν βρίσκεται ήδη σε αυτό το αποθετήριο*, παρακαλώ ανοίξτε ένα [Issue](https://github.com/EbookFoundation/free-programming-books/issues) με τις προτάσεις σας για συνδέσμους.
- Αν γνωρίζετε Git, παρακαλούμε να κάνετε Fork αυτό το αποθετήριο και να στέλνετε Pull Requests (PR).
3. Έχουμε 5 τύπους λιστών. Επιλέξτε την κατάλληλη:
- *Βιβλία* : PDF, HTML, ePub, ένας ιστότοπος που βασίζεται στο gitbook.io, ένα αποθετήριο Git, κλπ.
- *Μαθήματα* : Ένα μάθημα είναι εκπαιδευτικό υλικό που δεν είναι βιβλίο. [Αυτό είναι ένα μάθημα](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/).
- *Διαδραστικά σεμινάρια* : Μια διαδραστική ιστοσελίδα που επιτρέπει στον χρήστη να γράψει κώδικα ή εντολές και αξιολογεί τα αποτελέσματα (με το "αξιολογεί" δεν εννοούμε "βαθμολογεί"). π.χ. [Try Haskell](http://tryhaskell.org), [Try Github](http://try.github.io).
- *Διαδραστικά σεμινάρια* : Μια διαδραστική ιστοσελίδα που επιτρέπει στον χρήστη να γράψει κώδικα ή εντολές και αξιολογεί τα αποτελέσματα (με το "αξιολογεί" δεν εννοούμε "βαθμολογεί"). π.χ. [Try Haskell](http://tryhaskell.org), [Try GitHub](http://try.github.io).
- *Podcasts και Screencasts*: Podcasts και screencasts.
- *Προβλήματα και Ανταγωνιστικός Προγραμματισμός*: Ένας ιστότοπος ή ένα λογισμικό που σου επιτρέπει να αξιολογήσεις τις προγραμματιστικές σου ικανότητες λύνοντας απλά ή περίπλοκα προβλήματα, με ή χωρίς επιθεώρηση του κώδικα, συγκρίνοντας ή όχι τα αποτελέσματα με άλλους χρήστες.
4. Σιγουρευτείτε ότι ακολουθείτε τις [παρακάτω κατευθυντήριες γραμμές](#guidelines) και σέβεστε τη [μορφοποίηση Markdown](#formatting) των αρχείων.
5. Το GitHub Actions τρέχει δοκιμές για να ελέγξει ότι οι λίστες σας είναι σε αλφαβητική σειρά και τηρούνται οι κανόνες μορφοποίησης. Να θυμάστε να ελέγχετε ότι οι αλλαγές σας περνούν τις δοκιμές.
5. Το GitHub Actions τρέχει δοκιμές για να ελέγξει ότι **οι λίστες σας είναι σε αλφαβητική σειρά** και **τηρούνται οι κανόνες μορφοποίησης**. **Να θυμάστε να** ελέγχετε ότι οι αλλαγές σας περνούν τις δοκιμές.
<a name="guidelines"></a>
<!----><a id="guidelines"></a>
### Κατευθυντήριες Γραμμές
- σιγουρευτείτε ότι το βιβλίο είναι δωρεάν. Επανελέγξτε αν χρειάζεται. Βοηθάει τους διαχειριστές αν σχολιάζετε στο PR τον λόγο που πιστεύετε ότι αυτό το βιβλίο είναι δωρεάν.
- δεν δεχόμαστε αρχεία που φιλοξενούνται στα Google Drive, Dropbox, Mega, Scribd, Issuu και άλλες παρόμοιες πλατφόρμες ανεβάσματος αρχείων
- εισάγετε τους συνδέσμους σας σε αλφαβητική σειρά. Αν βάλετε έναν σύνδεσμο σε λάθος θέση, παρακαλούμε διορθώστε το και υποβάλλετε νέο PR
- χρησιμοποιήστε έναν σύνδεσμο με την πιο έγκυρη πηγή (που σημαίνει ότι η ιστοσελίδα του συγγραφέα είναι καλύτερη από τη σελίδα του εκδότη, η οποία είναι καλύτερη από μια τρίτη ιστοσελίδα)
+ δεν επιτρέπονται υπηρεσίες φιλοξενίας αρχείων (αυτό περιλαμβάνει (αλλά δεν περιορίζεται στους) συνδέσμους από Dropbox και Google Drive)
- δεν επιτρέπονται υπηρεσίες φιλοξενίας αρχείων (αυτό περιλαμβάνει (αλλά δεν περιορίζεται στους) συνδέσμους από Dropbox και Google Drive)
- να προτιμάτε ένα σύνδεσμο `https` από έναν `http` -- αρκεί να είναι στο ίδιο domain και να εξυπηρετούν τον ίδιο περιεχόμενο
- στα root domains, αφαιρέστε την τελευταία κάθετο: `http://example.com` αντί για `http://example.com/`
- να προτιμάτε πάντα τους μικρότερους συνδέσμους: `http://example.com/dir/` είναι καλύτερα από `http://example.com/dir/index.html`
+ δεν επιτρέπονται περικομμένοι σύνδεσμοι (URL shortener)
- δεν επιτρέπονται περικομμένοι σύνδεσμοι (URL shortener)
- να προτιμάτε συνήθως τους "τρέχοντες" συνδέσμους από τους συνδέσμους "εκδόσεων": `http://example.com/dir/book/current/` είναι καλύτερα από `http://example.com/dir/book/v1.0.0/index.html`
- αν ένας σύνδεσμος έχει ληγμένο πιστοποιητικό/αυτοϋπογεγραμμένο πιστοποιητικό/κάποια θέμα άλλου είδους με SSL:
1. *αντικαταστήστε το* με το `http` αντίστοιχό του αν είναι δυνατό (επειδή το να γίνονται αποδεκτές εξαιρέσεις μπορεί να είναι περίπλοκο σε φορητές συσκευές).
@ -51,17 +53,17 @@
3. *αφαιρέστε το* σε κάθε άλλη περίπτωση
- αν ένας σύνδεσμος υπάρχει σε διαφορετικά format, προσθέστε διαφορετικό σύνδεσμο με μια σημείωση για κάθε format
- αν κάποιο υλικό υπάρχει σε διαφορετικά μέρη στο Internet
+ χρησιμοποιείστε τον σύνδεσμο με την πιο έγκυρη πηγή (που σημαίνει ότι η ιστοσελίδα του συγγραφέα είναι καλύτερη από τη σελίδα του εκδότη, η οποία είναι καλύτερη από μια τρίτη ιστοσελίδα)
+ αν οδηγούν σε διαφορετικές εκδόσεις, και θεωρείτε πως αυτές οι εκδόσεις είναι αρκετά διαφορετικές ώστε να έχει αξία η διατήρησή τους, προσθέστε διαφορετικό σύνδεσμο με μια σημείωση για κάθε έκδοση (δείτε το [Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353) για να συνεισφέρετε στη συζήτηση για τη μορφοποίηση)
- χρησιμοποιείστε τον σύνδεσμο με την πιο έγκυρη πηγή (που σημαίνει ότι η ιστοσελίδα του συγγραφέα είναι καλύτερη από τη σελίδα του εκδότη, η οποία είναι καλύτερη από μια τρίτη ιστοσελίδα)
- αν οδηγούν σε διαφορετικές εκδόσεις, και θεωρείτε πως αυτές οι εκδόσεις είναι αρκετά διαφορετικές ώστε να έχει αξία η διατήρησή τους, προσθέστε διαφορετικό σύνδεσμο με μια σημείωση για κάθε έκδοση (δείτε το [Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353) για να συνεισφέρετε στη συζήτηση για τη μορφοποίηση)
- προτιμήστε ατομικά commits (ένα commit ανά προσθήκη/διαγραφή/τροποποίηση) αντί για μεγαλύτερα commits. Δεν υπάρχει ανάγκη να συνενώνετε τα commits πριν υποβάλλετε ένα PR. (Δεν θα επιβάλλουμε ποτέ αυτόν τον κανόνα εφ' όσον είναι απλά ζήτημα διευκόλυνσης για τους διατηρητές)
- αν το βιβλίο είναι παλιό, περιλαμβάνετε την ημερομηνία δημοσίευσης με τον τίτλο
- συμπεριλαμβάνετε το όνομα ή τα ονόματα του συγγραφέα όπου είναι απαραίτητο. Μπορείτε να μικρύνετε τις λίστες συγγραφέων με το "et al."
- αν το βιβλίο δεν έχει τελειώσει, και βρίσκεται ακόμα υπό συγγραφή, προσθέστε τη σημείωση "σε εξέλιξη", όπως περιγράφεται [παρακάτω.](#in_process)
- αν το υλικό έχει ανακτηθεί χρησιμοποιώντας το Internet's Archive Wayback Machine (ή παρόμοια), προσθέτε την ένδειξη "αρχείοθετημένο" (στα αγγλικά: "archived"), όπως περιγράφεται [παρακάτω](#archived). Οι καλύτερες εκδοχές για να χρησιμοποιήσετε είναι οι πρόσφατες και πλήρεις.
- αν ζητείται διεύθυνση ηλεκτρονικού ταχυδρομείου ή δημιουργία λογαριασμού πριν την ενεργοποίηση της λήψης, προσθέστε κατάλληλες σημειώσεις ανάλογα με τη γλώσσα σε παρένθεση, π.χ. `(διεύθυνση email *ζητείται*, δεν είναι απαραίτητη)`
- συμπεριλαμβάνετε το όνομα ή τα ονόματα του συγγραφέα όπου είναι απαραίτητο. Μπορείτε να μικρύνετε τις λίστες συγγραφέων με το "`et al.`".
- αν το βιβλίο δεν έχει τελειώσει, και βρίσκεται ακόμα υπό συγγραφή, προσθέστε τη σημείωση "`in process`", όπως περιγράφεται [παρακάτω](#in_process).
- αν το υλικό έχει ανακτηθεί χρησιμοποιώντας το [*Internet Archive's Wayback Machine*](https://web.archive.org) (ή παρόμοια), προσθέτε την ένδειξη "`αρχείοθετημένο`" (στα αγγλικά: "`archived`"), όπως περιγράφεται [παρακάτω](#archived). Οι καλύτερες εκδοχές για να χρησιμοποιήσετε είναι οι πρόσφατες και πλήρεις.
- αν ζητείται διεύθυνση ηλεκτρονικού ταχυδρομείου ή δημιουργία λογαριασμού πριν την ενεργοποίηση της λήψης, προσθέστε κατάλληλες σημειώσεις ανάλογα με τη γλώσσα σε παρένθεση, π.χ. `(διεύθυνση email *ζητείται*, δεν είναι απαραίτητη)`.
<a name="formatting"></a>
<!----><a id="formatting"></a>
### Μορφοποίηση
- Όλες οι λίστες είναι αρχεία `.md`. Προσπαθήστε να μάθετε τη σύνταξη του [Markdown](https://guides.github.com/features/mastering-markdown/). Είναι απλή!
@ -69,6 +71,7 @@
- Οι ενότητες χρησιμοποιούν επικεφαλίδες επιπέδου 3 (`###`), και οι υποενότητες είναι επικεφαλίδες επιπέδου 4 (`####`).
Η ιδέα είναι να έχουμε:
- `2` κενές γραμμές μεταξύ τελευταίου συνδέσμου και νέας ενότητας
- `1` κενή γραμμή μεταξύ επικεφαλίδας & πρώτου συνδέσμου της ενότητάς του
- `0` κενές γραμμές μεταξύ δύο συνδέσμων
@ -76,93 +79,99 @@
Παράδειγμα:
[...]
* [Ένα Φοβερό Βιβλίο](http://example.com/example.html)
```text
[..].
* [Ένα Φοβερό Βιβλίο](http://example.com/example.html)
(κενή γραμμή)
(κενή γραμμή)
### Παράδειγμα
### Παράδειγμα
(κενή γραμμή)
* [Άλλο Φοβερό Βιβλίο](http://example.com/book.html)
* [Κάποιο Άλλο Βιβλίο](http://example.com/other.html)
* [Άλλο Φοβερό Βιβλίο](http://example.com/book.html)
* [Κάποιο Άλλο Βιβλίο](http://example.com/other.html)
```
- Μη βάζετε κενό μεταξύ `]` και `(`:
```
ΚΑΚΟ: * [Άλλο Φοβερό Βιβλίο] (http://example.com/book.html)
ΚΑΛΟ: * [Άλλο Φοβερό Βιβλίο](http://example.com/book.html)
```
```text
ΚΑΚΟ: * [Άλλο Φοβερό Βιβλίο] (http://example.com/book.html)
ΚΑΛΟ: * [Άλλο Φοβερό Βιβλίο](http://example.com/book.html)
```
- Αν συμπεριλαμβάνετε συγγραφέα, χρησιμοποιήστε ` - ` (μια παύλα που περιβάλλεται από κενά):
```
ΚΑΚΟ: * [Άλλο Φοβερό Βιβλίο](http://example.com/book.html)- John Doe
ΚΑΛΟ: * [Άλλο Φοβερό Βιβλίο](http://example.com/book.html) - John Doe
```
```text
ΚΑΚΟ: * [Άλλο Φοβερό Βιβλίο](http://example.com/book.html)- John Doe
ΚΑΛΟ: * [Άλλο Φοβερό Βιβλίο](http://example.com/book.html) - John Doe
```
- Εισάγετε ένα κενό μεταξύ του συνδέσμου και του format του:
```
ΚΑΚΟ: * [Ένα Πολύ Φοβερό Βιβλίο](https://example.org/book.pdf)(PDF)
ΚΑΛΟ: * [Ένα Πολύ Φοβερό Βιβλίο](https://example.org/book.pdf) (PDF)
```
```text
ΚΑΚΟ: * [Ένα Πολύ Φοβερό Βιβλίο](https://example.org/book.pdf)(PDF)
ΚΑΛΟ: * [Ένα Πολύ Φοβερό Βιβλίο](https://example.org/book.pdf) (PDF)
```
- Ο συγγραφέας μπαίνει πριν το format
```
ΚΑΚΟ: * [Ένα Πολύ Φοβερό Βιβλίο](https://example.org/book.pdf)- (PDF) Jane Roe
ΚΑΛΟ: * [Ένα Πολύ Φοβερό Βιβλίο](https://example.org/book.pdf) - Jane Roe (PDF)
```
```text
ΚΑΚΟ: * [Ένα Πολύ Φοβερό Βιβλίο](https://example.org/book.pdf)- (PDF) Jane Roe
ΚΑΛΟ: * [Ένα Πολύ Φοβερό Βιβλίο](https://example.org/book.pdf) - Jane Roe (PDF)
```
- Πολλαπλά formats:
```
ΚΑΚΟ: * [Ένα Πολύ Φοβερό Βιβλίο](http://example.com/)- John Doe (HTML)
ΚΑΚΟ: * [Ένα Πολύ Φοβερό Βιβλίο](https://downloads.example.org/book.html)- John Doe (download site)
ΚΑΛΟ: * [Ένα Πολύ Φοβερό Βιβλίο](http://example.com/) - John Doe (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
```text
ΚΑΚΟ: * [Ένα Πολύ Φοβερό Βιβλίο](http://example.com/)- John Doe (HTML)
ΚΑΚΟ: * [Ένα Πολύ Φοβερό Βιβλίο](https://downloads.example.org/book.html)- John Doe (download site)
ΚΑΛΟ: * [Ένα Πολύ Φοβερό Βιβλίο](http://example.com/) - John Doe (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
- Συμπεριλαμβάνετε χρονιά δημοσιεύσης στον τίτλο για παλαιότερα βιβλία:
```
ΚΑΚΟ: * [Ένα Πολύ Φοβερό Βιβλίο](https://example.org/book.html) - Jane Roe - 1970
ΚΑΛΟ: * [Ένα Πολύ Φοβερό Βιβλίο (1970)](https://example.org/book.html) - Jane Roe
```
<a name="in_process"></a>
- Βιβλία σε εξέλιξη:
```text
ΚΑΚΟ: * [Ένα Πολύ Φοβερό Βιβλίο](https://example.org/book.html) - Jane Roe - 1970
ΚΑΛΟ: * [Ένα Πολύ Φοβερό Βιβλίο (1970)](https://example.org/book.html) - Jane Roe
```
```
ΚΑΛΟ: * [Θα Είναι Σύντομα Ένα Φοβερό Βιβλίο](http://example.com/book2.html) - John Doe (HTML) (:construction: *σε εξέλιξη*)
```
<a name="archived"></a>
- Αρχειοθετημένοι σύνδεσμοι:
- <a id="in_process"></a>Βιβλία σε εξέλιξη:
```
ΚΑΛΟ: * [Ένα Ενδιαφέρον Way-backed Βιβλίο](https://web.archive.org/web/20211016123456/http://example.com/) - John Doe (HTML) *(:card_file_box: αρχειοθετημένο)*
```
```text
ΚΑΛΟ: * [Θα Είναι Σύντομα Ένα Φοβερό Βιβλίο](http://example.com/book2.html) - John Doe (HTML) (:construction: *σε εξέλιξη*)
```
- <a id="archived"></a>Αρχειοθετημένοι σύνδεσμοι:
```text
ΚΑΛΟ: * [Ένα Ενδιαφέρον Way-backed Βιβλίο](https://web.archive.org/web/20211016123456/http://example.com/) - John Doe (HTML) *(:card_file_box: αρχειοθετημένο)*
```
<a name="notes"></a>
<!----><a id="notes"></a>
### Σημειώσεις
Αν και τα βασικά είναι σχετικά απλά, υπάρχει μεγάλη ποικιλία στο υλικό που παρουσιάζουμε. Ορίστε μερικές σημειώσεις για το πως να αντιμετωπίσετε αυτή την ποικιλία
#### Metadata
Οι λίστες μας παρέχουν ένα ελάχιστο σύνολο από metadata: τίτλους, URLs, δημιουργούς, πλατφόρμες, και σημειώσεις πρόσβασης
#### Τίτλοι
- Όχι δικοί σας τίτλοι. Προσπαθούμε να πάρουμε τους τίτλους από τις ίδιες τις πηγές· οι συνεισφέροντες επιβάλλεται να μη εφευρίσκουν τίτλους ή να τους χρησιμοποιούν εκδοτικά αν αυτό μπορεί να αποφευχθεί. Μια εξαίρεση είναι για παλαιότερα έργα· αν είναι παρουσιάζουν κυρίως ιστορικό ενδιαφέρον, το έτος στην παρένθεση προσαρτημένο με τον τίτλο βοηθά τους χρήστες να γνωρίζουν αν τους ενδιαφέρει.
- Όχι τίτλοι αποκλειστικά σε ΚΕΦΑΛΑΙΑ. Η συνήθης κεφαλαιοποίηση τίτλων (title case) είναι κατάλληλη, αλλά όταν υπάρχουν αμφιβολίες χρησιμοποιήστε την κεφαλαιοποίηση της πηγής
#### URLs
- Δεν επιτρέπουμε περικομμένα URLs.
- Κωδικοί ανίχνευσης πρέπει να αφαιρεθούν από το URL.
- Τα διεθνή URLs πρέπει να είναι escaped. Οι browsers τυπικά τα μετατρέπουν σε Unicode, αλλά χρησιμοποιήστε αντιγραφή και επικόλληση, παρακαλούμε.
- Ασφαλή (https) URLs προτιμώνται πάντα αντί για μη ασφαλή (http) urls για τα οποία έχει υλοποιηθεί https.
- Ασφαλή (`https`) URLs προτιμώνται πάντα αντί για μη ασφαλή (`http`) urls για τα οποία έχει υλοποιηθεί HTTPS.
- Δεν μας αρέσουν URLs που οδηγούν σε ιστοσελίδες που δεν φιλοξενούν το υλικό που αναφέρεται, αλλά αντ' αυτού οδηγούν αλλού.
#### Δημιουργοί
- Θέλουμε να αναφέρονται τα ονόματα των δημιουργών δωρεάν υλικού όπου κρίνεται κατάλληλο, συμπεριλαμβανομένων των μεταφραστών!
@ -170,18 +179,21 @@
- Δεν επιτρέπουμε συνδέσμους για Δημιουργούς.
- Για συλλεγμένα ή επεξεργασμένα έργα, ο "δημιουργός" ίσως χρειάζεται περιγραφή. Για παράδειγμα, τα βιβλία από το "GoalKicker" ή "RIP Tutorial" αναφέρονται ως "`Συντάχθηκαν από documentation του StackOverflow`" (στα αγγλικά: "`Compiled from StackOverflow documentation`").
#### Πλατφόρμες και Σημειώσεις Πρόσβασης
- Μαθήματα. Ειδικά για τις λίστες μαθημάτων μας, η πλατφόρμα είναι ένα σημαντικό κομμάτι της περιγραφής του υλικού. Αυτό επειδή οι πλατφόρμες με μαθήματα έχουν διαφορετική προσβασιμότητα και μοντέλα πρόσβασης. Ενώ συνήθως δεν θα προσθέσουμε ένα βιβλίο που απαιτεί εγγραφή, πολλές πλατφόρμες μαθημάτων έχουν χαρακτηριστικά που δεν θα δουλέψουν χωρίς κάποιο τύπο λογαριασμού. Παραδείγματα πλατφορμών μαθημάτων περιλαμβάνουν τα Coursera, EdX, Udacity και Udemy. Όταν ένα μάθημα εξαρτάται από την πλατφόρμα, το όνομα της πλατφόρμας θα πρέπει να αναφέρεται σε παρένθεση.
- YouTube. Έχουμε πολλά μαθήματα που αποτελούνται από playlists στο YouTube. Δεν παραθέτουμε το YouTube σαν πλατφόρμα, προσπαθούμε να αναφέρουμε τον δημιουργό στο YouTube, που είναι συνήθως υπό-πλατφόρμα.
- Βίντεο στο YouTube. Συνήθως δεν δεχόμαστε σε ατομικά βίντεο του YouTube εκτός αν είναι περισσότερο από μια ώρα και έχουν δομή σαν μάθημα ή σεμινάριο.
- Leanpub. Το Leanpub φιλοξενεί βιβλία με διαφορετικά μοντέλα πρόσβασης. Κάποιες φορές ένα βιβλίο μπορεί να διαβαστεί εγγραφή· κάποιες φορές ένα βιβλίο απαιτεί λογαριασμό στο Leanpub για δωρεάν πρόσβαση. Δεδομένης της ποιότητας των βιβλίων και του μίγματος και της ρευστότητας των μοντέλων πρόσβασης του Leanpub, επιτρέπουμε την παράθεση του τελευταίου με τη σημείωση πρόσβασης `*(Ζητείται λογαριασμός Leanpub ή έγκυρο email)*`
- Leanpub. Το Leanpub φιλοξενεί βιβλία με διαφορετικά μοντέλα πρόσβασης. Κάποιες φορές ένα βιβλίο μπορεί να διαβαστεί εγγραφή· κάποιες φορές ένα βιβλίο απαιτεί λογαριασμό στο Leanpub για δωρεάν πρόσβαση. Δεδομένης της ποιότητας των βιβλίων και του μίγματος και της ρευστότητας των μοντέλων πρόσβασης του Leanpub, επιτρέπουμε την παράθεση του τελευταίου με τη σημείωση πρόσβασης `*(Ζητείται λογαριασμός Leanpub ή έγκυρο email)*`.
<a name="genres"></a>
<!----><a id="genres"></a>
#### Είδη
Ο πρώτος κανόνας στην απόφαση για το σε ποια λίστα ανήκει το υλικό είναι να δείτε πώς περιγράφει τον εαυτό του. Αν αυτοαποκαλείται βιβλίο, τότε ίσως είναι βιβλίο.
#### Είδη που δεν παραθέτουμε
Επειδή το Internet είναι μεγάλο, δεν περιέχουμε στις λίστες μας:
@ -189,7 +201,7 @@
- blogs
- blog posts
- άρθρα
- ιστοσελίδες (εκτός από αυτές που φιλοξενούν ΠΟΛΛΑ από τα αντικείμενα που παραθέτουμε.)
- ιστοσελίδες (εκτός από αυτές που φιλοξενούν ΠΟΛΛΑ από τα αντικείμενα που παραθέτουμε).
- βίντεο που δεν είναι μαθήματα ή screencasts.
- κεφάλαια βιβλίων
- δείγματα από βιβλία
@ -226,16 +238,16 @@
Αν μπορείτε να το τυπώσετε και να διατηρήσετε την ουσία του, δεν είναι Διαδραστικό Σεμινάριο.
<a name="automation"></a>
<!----><a id="automation"></a>
### Αυτοματισμός
- Η επιβολή των κανόνων μορφοποίησης αυτοματοποιείται από το [GitHub Actions](https://github.com/features/actions) χρησιμοποιώντας [fpb-lint](https://github.com/vhf/free-programming-books-lint) (βλ. [.github/workflows/fpb-lint.yml](.github/workflows/fpb-lint.yml))
- Η επιβολή των κανόνων μορφοποίησης αυτοματοποιείται από το [GitHub Actions](https://github.com/features/actions) χρησιμοποιώντας [fpb-lint](https://github.com/vhf/free-programming-books-lint) (βλ. [`.github/workflows/fpb-lint.yml`](../.github/workflows/fpb-lint.yml))
- Η επικύρωση των URL χρησιμοποιεί το [awesome_bot](https://github.com/dkhamsing/awesome_bot)
- Για να ενεργοποιήσετε την επικύρωση του URL, κάντε push ένα commit που περιέχει ένα μήνυμα στο οποίο υπάρχει το `check_urls=file_to_check`:
```
check_urls=free-programming-books.md free-programming-books-en.md
```
```properties
check_urls=free-programming-books.md free-programming-books-el.md
```
- Μπορείτε να προσδιορίσετε πάνω από ένα αρχείο για έλεγχο, χρησιμοποιώντας ένα κενό για να ξεχωρίσετε κάθε καταχώρηση.
- Αν προσδιορίσετε πάνω από ένα αρχείο, τα αποτελέσματα του build βασίζονται στα αποτελέσματα του τελευταίου αρχείου που ελέγχθηκε. Θα πρέπει να γνωρίζετε ότι ενδέχεται να πάρετε επικυρωμένα builds εξαιτίας αυτού οπότε να είστε σίγουροι ότι επιβλέπετε το αρχείο του build στο τέλος του pull request πατώντας στο "Show all checks" -> "Details".
- Αν προσδιορίσετε πάνω από ένα αρχείο, τα αποτελέσματα του build βασίζονται στα αποτελέσματα του τελευταίου αρχείου που ελέγχθηκε. Θα πρέπει να γνωρίζετε ότι ενδέχεται να πάρετε επικυρωμένα builds εξαιτίας αυτού οπότε να είστε σίγουροι ότι επιβλέπετε το αρχείο του build στο τέλος του Pull Request πατώντας στο "Show all checks" -> "Details".

View File

@ -1,23 +1,26 @@
*[Lea esto en otros idiomas][translations-list-link]*
<a name="contributor-license-agreement"></a>
<!----><a id="contributor-license-agreement"></a>
## Acuerdo de Licencia
Al contribuir, acepta la [LICENCIA][license] de este repositorio.
<a name="contributor-code-of-conduct"></a>
<!----><a id="contributor-code-of-conduct"></a>
## Código de Conducta como Colaborador
Al contribuir, acepta respetar el [Código de Conducta][coc] ([traducciones / otros idiomas][translations-list-link]) presente en el repositorio.
<a name="in-a-nutshell"></a>
<!----><a id="in-a-nutshell"></a>
## Breve resumen
1. "Un enlace para descargar fácilmente un libro" no siempre es un enlace a un libro *gratuito*. Por favor, contribuya solo con contenido gratuito. Asegúrese de que se ofrezca gratis. No se aceptan enlaces a páginas que *requieran* de direcciones de correo electrónico para la obtención de libros, pero sí damos la bienvenida a aquellos listados que así se soliciten.
2. No es necesario conocer Git: si encontró algo de interés que *no esté ya en este repositorio*, tenga el gusto de abrir una [Issue][issues] con su propuesta de enlaces.
- Si ya maneja Git, haga un Fork del repositorio y envíe su contribución mediante Pull Request (PR).
3. Dispone de 5 categorías. Seleccione aquel listado que crea conveniente según:
- *Libros* : PDF, HTML, ePub, un recurso alojado en gitbook.io, un repositorio Git, etc.
@ -28,21 +31,21 @@ Al contribuir, acepta respetar el [Código de Conducta][coc] ([traducciones / ot
4. Asegúrese de seguir la [guía de pautas que mostramos a continuación][guidelines] así como de respetar el [formato Markdown][formatting] de los ficheros.
5. GitHub Actions ejecutará pruebas para asegurarse de que las listas esten ordenadas alfabéticamente y de que se siga dicha normalización de formateo. Asegúrese de verificar que sus cambios pasen todas estas comprobaciones de calidad.
5. GitHub Actions ejecutará pruebas para asegurarse de que **las listas esten ordenadas alfabéticamente** y de que se **siga dicha normalización de formateo**. **Asegúrese** de verificar que sus cambios pasen todas estas comprobaciones de calidad.
<a name="guidelines"></a>
<!----><a id="guidelines"></a>
### Pautas
- Revise si el libro es gratuito. Hágalo las veces que sean necesarias. Ayude a los administradores comentando en las Pull Request por qué cree que el libro se ofrece gratis o es valioso.
- Revise si el libro es gratuito. Hágalo las veces que sean necesarias. Ayude a los administradores comentando en las PR por qué cree que el libro se ofrece gratis o es valioso.
- No se aceptan ficheros alojados en Google Drive, Dropbox, Mega, Scribd, Issuu u otras plataformas de almacenamiento y/o descarga similares.
- Inserte los enlaces ordenados alfabéticamente. Si se encuentra por casualidad con un enlace fuera de sitio, por favor ordénelo y envíe la correspondiente PR para poder arreglarlo.
- Use el enlace que apunte a la fuente más fidedigna. Esto es, el sitio web del autor es mejor que el del editor y éste a su vez mejor que uno de terceros.
+ No use servicios de almacenamiento en la nube. Esto incluye, aunque sin limitar, enlaces a Dropbox y Google Drive.
- No use servicios de almacenamiento en la nube. Esto incluye, aunque sin limitar, enlaces a Dropbox y Google Drive.
- Es siempre preferible el uso de enlaces con protocolo `https` en vez de `http` si ambos se refieren al mismo dominio y sirven el mismo contenido.
- En los dominios raíz, elimine la barra inclinada del final: `http://example.com` en lugar de `http://example.com/`.
- Utilice preferentemente la forma corta de los hipervínculos: `http://example.com/dir/` es mejor que `http://example.com/dir/index.html`.
+ No se admiten acortadores de enlaces URL.
- No se admiten acortadores de enlaces URL.
- Por lo general, se prefiere el enlace "actual" sobre el de "versión": `http://example.com/dir/book/current/` es más asequible que `http://example.com/dir/book/v1.0.0/index.html`.
- Si en un enlace se encuentra con algún problema de certificados, ya sea caducado, autofirmado o de cualquier otro tipo:
1. *Reemplácelo* con su análogo `http` si fuera posible (porque aceptar excepciones puede ser complicado en dispositivos móviles).
@ -50,17 +53,17 @@ Al contribuir, acepta respetar el [Código de Conducta][coc] ([traducciones / ot
3. *Elimínelo* en cualquier otro caso.
- Si existe un mismo enlace con varios formatos, anexe enlaces aparte con una nota sobre cada formato.
- Si un recurso existe en diferentes lugares de Internet:
+ Use aquella fuente más fidedigna (lo que significa que el sitio web del propio autor es más asequible que el sitio web del editor y a su vez éste es mejor que una fuente de terceros).
+ Si apuntan a diferentes ediciones y considera que estas ediciones son lo suficientemente dispares como para que valga la pena conservarlas, agregue por separado un nuevo enlace haciendo alusión a cada edición. Diríjase al [Issue \#2353](https://github.com/EbookFoundation/free-programming-books/issues/2353) si desea contribuir en la discusión acerca del formateo que deben seguir dichos registros.
- Use aquella fuente más fidedigna (lo que significa que el sitio web del propio autor es más asequible que el sitio web del editor y a su vez éste es mejor que una fuente de terceros).
- Si apuntan a diferentes ediciones y considera que estas ediciones son lo suficientemente dispares como para que valga la pena conservarlas, agregue por separado un nuevo enlace haciendo alusión a cada edición. Diríjase al [Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353) si desea contribuir en la discusión acerca del formateo que deben seguir dichos registros.
- Es preferible realizar commits atómicos (un commit por cada adición/eliminación/modificación) frente a unos con mayor calado. No es necesario realizar un squash de todos ellos antes de enviar una PR. (Nunca aplicaremos esta regla, ya que solamente es una cuestión de conveniencia para quien mantiene el proyecto).
- Si se trata de un libro más antiguo, incluya su fecha de publicación dentro del título.
- Incluya el nombre o nombres de autor/es cuando corresponda. Puede valerse de "`et al.`" para acortar esa enumeración de autores.
- Si el libro no está terminado y aún se está trabajando en él, agregue la anotación de "`en proceso`", tal y como se describe [a continuación][in_process].
- Si el libro no está terminado y aún se está trabajando en él, agregue la anotación de "`in process`", tal y como se describe [a continuación][in_process].
- En el caso de que decida recuperar un recurso usando servicios como [*Internet Archive's Wayback Machine*](https://web.archive.org), anexe la anotación "`archived`" (en consonancia con el idioma) tal y como se describe [a continuación][archived]. Use como mejor versión aquella que sea la más reciente y completa.
- Si se solicita una dirección de correo electrónico o configuración de cuenta antes de habilitar la descarga, agregue entre paréntesis dichas notas y en consonancia con el idioma. Por ejemplo: `(*se solicita* email, no requerido...)`.
<a name="formatting"></a>
<!----><a id="formatting"></a>
### Formato normalizado
- Como podrá observar, los listados tienen `.md` como extensión de fichero. Intente aprender la sintaxis [Markdown][markdown_guide]. ¡Es bastante simple!
@ -68,6 +71,7 @@ Al contribuir, acepta respetar el [Código de Conducta][coc] ([traducciones / ot
- Las secciones utilizan encabezados de nivel 3 (`###`) y las subsecciones de nivel 4 (`####`).
La idea es tener:
- `2` líneas vacías entre el último enlace de una sección y el título de la siguiente sección.
- `1` línea vacía entre la cabecera y el primer enlace de una determinada sección.
- `0` líneas en blanco entre los distintos enlaces.
@ -75,99 +79,103 @@ La idea es tener:
Ejemplo:
[...]
* [Un libro increíble](http://example.com/example.html)
```text
[...]
* [Un libro increíble](http://example.com/example.html)
(línea en blanco)
(línea en blanco)
### Sección de ejemplo
### Sección de ejemplo
(línea en blanco)
* [Otro libro fascinante](http://example.com/book.html)
* [Otro libro más](http://example.com/other.html)
* [Otro libro fascinante](http://example.com/book.html)
* [Otro libro más](http://example.com/other.html)
```
- Omita los espacios entre `]` y `(`:
```
INCORRECTO : * [Otro libro fascinante] (http://example.com/book.html)
```text
INCORRECTO: * [Otro libro fascinante] (http://example.com/book.html)
CORRECTO : * [Otro libro fascinante](http://example.com/book.html)
```
- Si en el registro decide incluir al autor, emplee ` - ` (un guión rodeado de espacios simples) como separador:
```
INCORRECTO : * [Un libro sencillamente fabuloso](http://example.com/book.html)- John Doe
```text
INCORRECTO: * [Un libro sencillamente fabuloso](http://example.com/book.html)- John Doe
CORRECTO : * [Un libro sencillamente fabuloso](http://example.com/book.html) - John Doe
```
- Ponga un solo espacio entre el enlace al contenido y su formato:
```
INCORRECTO : * [Un libro muy interesante](https://example.org/book.pdf)(PDF)
```text
INCORRECTO: * [Un libro muy interesante](https://example.org/book.pdf)(PDF)
CORRECTO : * [Un libro muy interesante](https://example.org/book.pdf) (PDF)
```
- El autor se antepone al formato:
```
INCORRECTO : * [Un libro muy interesante](https://example.org/book.pdf)- (PDF) Jane Roe
```text
INCORRECTO: * [Un libro muy interesante](https://example.org/book.pdf)- (PDF) Jane Roe
CORRECTO : * [Un libro muy interesante](https://example.org/book.pdf) - Jane Roe (PDF)
```
- Múltiples formatos:
```
INCORRECTO : * [Otro libro interesante](http://example.com/) - John Doe (HTML)
INCORRECTO : * [Otro libro interesante](https://downloads.example.org/book.html) - John Doe (sitio de descarga)
```text
INCORRECTO: * [Otro libro interesante](http://example.com/) - John Doe (HTML)
INCORRECTO: * [Otro libro interesante](https://downloads.example.org/book.html) - John Doe (sitio de descarga)
CORRECTO : * [Otro libro interesante](http://example.com/) - John Doe (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
- Incluya el año de publicación como parte del título de los libros más antiguos:
```
INCORRECTO : * [Un libro bastante especial](https://example.org/book.html) - Jane Roe - 1970
```text
INCORRECTO: * [Un libro bastante especial](https://example.org/book.html) - Jane Roe - 1970
CORRECTO : * [Un libro bastante especial (1970)](https://example.org/book.html) - Jane Roe
```
<a name="in_process"></a>
- Libros en proceso / no acabados aún:
- <a id="in_process"></a>Libros en proceso / no acabados aún:
```
CORRECTO: * [A punto de ser un libro fascinante](http://example.com/book2.html) - John Doe (HTML) (:construction: *en proceso*)
```text
CORRECTO : * [A punto de ser un libro fascinante](http://example.com/book2.html) - John Doe (HTML) (:construction: *en proceso*)
```
<a name="archived"></a>
- Enlaces archivados:
- <a id="archived"></a>Enlaces archivados:
```
CORRECTO: * [Un recurso recuperado a partir de su línea de tiempo](https://web.archive.org/web/20211016123456/http://example.com/) - John Doe (HTML) *(:card_file_box: archivado)*
```text
CORRECTO : * [Un recurso recuperado a partir de su línea de tiempo](https://web.archive.org/web/20211016123456/http://example.com/) - John Doe (HTML) *(:card_file_box: archivado)*
```
<a name="notes"></a>
<!----><a id="notes"></a>
### Anotaciones
Si bien los conceptos básicos son relativamente simples, existe una gran diversidad entre los recursos que enumeramos. Aquí hay algunas notas sobre cómo nos ocupamos de esta diversidad.
<a name="metadata"></a>
<!----><a id="metadata"></a>
#### Metadatos
Nuestros listados proporcionan un conjunto mínimo de metadatos: títulos, URL, autores, formato, plataformas y notas de acceso.
<a name="titles"></a>
<!----><a id="titles"></a>
##### Títulos
- Sin títulos inventados: Intentamos tomar el texto de los propios recursos; se advierte a los colaboradores que, si puede evitarse, no inventen títulos ni los utilicen editorialmente. Una excepción es para obras más antiguas: si son principalmente de interés histórico, un año entre paréntesis adjunto al título ayuda a los usuarios a saber si estos son de interés.
- Sin títulos todo en mayúsculas: Por lo general, es apropiado tener cada primera letra de palabra en mayúsculas, pero en caso de duda, use siempre el estilo tal y como viene en la fuente original.
- Sin títulos TODO EN MAYÚSCULAS: Por lo general, es apropiado tener cada primera letra de palabra en mayúsculas, pero en caso de duda, use siempre el estilo tal y como viene en la fuente original.
<a name="urls"></a>
<!----><a id="urls"></a>
##### Direcciones URL
- No se permiten acortadores de URLs para los enlaces.
- Los parámetros de consulta o códigos referentes al seguimiento o campañas de marketing deben eliminarse de la URL.
- Las URL internacionales deben escaparse. Las barras del navegador suelen representar los caracteres en Unicode, pero utilice copiar y pegar, por favor; es la forma más rápida de construir un hipervínculo válido.
- Las URL seguras (https) siempre son mejor opción frente a las no seguras (http) donde se ha implementado el protocolo de comunicación encriptado HTTPS.
- Las URL seguras (`https`) siempre son mejor opción frente a las no seguras (`http`) donde se ha implementado el protocolo de comunicación encriptado HTTPS.
- No nos gustan las URL que apuntan a páginas web que no alojen el recurso mencionado, enlazando por el contrario a otra parte.
<a name="creators"></a>
<!----><a id="creators"></a>
##### Atribuciones
- Queremos dar crédito a los creadores de recursos gratuitos cuando sea apropiado, ¡incluso traductores!
@ -175,20 +183,23 @@ Nuestros listados proporcionan un conjunto mínimo de metadatos: títulos, URL,
- No permitimos enlaces directos al creador.
- En el caso de recopilaciones u obras remezcladas, el "creador" puede necesitar una descripción. Por ejemplo, los libros de "GoalKicker" o "RIP Tutorial" se acreditan como "`Creado a partir de la documentación de StackOverflow`" (en inglés: "`Compiled from StackOverflow documentation`").
<a name="platforms-and-access-notes"></a>
<!----><a id="platforms-and-access-notes"></a>
##### Plataformas y Notas de Acceso
- Cursos. Especialmente para nuestras listas de cursos, la plataforma es una parte importante de la descripción del recurso. Esto se debe a que las plataformas de cursos tienen diferentes prestaciones y modelos de acceso. Si bien generalmente no incluimos un libro que requiere de registro previo, muchas plataformas de cursos tienen la casualidad de no funcionar sin algún tipo de cuenta. Un ejemplo de plataformas de cursos podrían ser: Coursera, EdX, Udacity y Udemy. Cuando un curso depende de una plataforma, el nombre de dicha plataforma debe aparecer entre paréntesis.
- YouTube. Tenemos muchos cursos que consisten en listas de reproducción de YouTube. No incluimos Youtube como plataforma, sino que tratamos de incluir al creador de Youtube, el cuál es a menudo una sub-plataforma en sí.
- YouTube. Tenemos muchos cursos que consisten en listas de reproducción de YouTube. No incluimos YouTube como plataforma, sino que tratamos de incluir al creador de YouTube, el cuál es a menudo una sub-plataforma en sí.
- Vídeos de YouTube. Por lo general, no vinculamos a vídeos individuales de YouTube a menos que tengan más de una hora de duración y estén estructurados como un curso o un tutorial.
- LeanPub. LeanPub aloja libros con una amplia variedad de modelos de acceso. A veces, un libro se puede leer sin registrarse; en otras, un libro requiere una cuenta LeanPub para tener acceso gratuito. Dada la calidad de los libros y la mezcla y fluidez de los modelos de acceso Leanpub, damos validez a estos últimos anexando la nota de acceso: `*(cuenta Leanpub o email válido requerido)*`.
- Leanpub. Leanpub aloja libros con una amplia variedad de modelos de acceso. A veces, un libro se puede leer sin registrarse; en otras, un libro requiere una cuenta Leanpub para tener acceso gratuito. Dada la calidad de los libros y la mezcla y fluidez de los modelos de acceso Leanpub, damos validez a estos últimos anexando la nota de acceso: `*(cuenta Leanpub o email válido requerido)*`.
<a name="genres"></a>
<!----><a id="genres"></a>
#### Géneros
La primera regla para decidir en qué listado encaja un determinado recurso es ver cómo se describe a sí mismo. Si por ejemplo se retrata a sí mismo como un libro, entonces tal vez es que lo sea.
<a name="genres-we-dont-list"></a>
<!----><a id="genres-we-dont-list"></a>
##### Géneros no aceptados
Ya que en Internet podemos encontrar una variedad infinita de recursos, no incluimos en nuestro registro:
@ -205,12 +216,13 @@ Ya que en Internet podemos encontrar una variedad infinita de recursos, no inclu
El [listado donde incluimos sitios o software de programación competitiva][programming_playgrounds_list] no es tan restrictivo. El alcance de este repositorio es determinado por la comunidad; si desea sugerir un cambio o extender el alcance, utilice los [issues][issues] para registrar dicha sugerencia.
<a name="books-vs-other-stuff"></a>
<!----><a id="books-vs-other-stuff"></a>
##### Libros vs. Otro Material
No somos tan quisquillosos con lo que consideramos como libro. A continuación, se muestran algunas propiedades que un recurso pueda encajar como libro:
- tiene un ISBN
- tiene un ISBN (International Standard Book Number)
- tiene una Tabla de Contenidos (TOC)
- se ofrece una versión para su descarga electrónica, especialmente ePub.
- tiene diversas ediciones
@ -220,37 +232,39 @@ No somos tan quisquillosos con lo que consideramos como libro. A continuación,
Hay muchos libros que enumeramos los cuáles no poseen estos atributos; esto puede depender del contexto.
<a name="books-vs-courses"></a>
<!----><a id="books-vs-courses"></a>
##### Libros vs. Cursos
¡A veces distinguir puede ser dificultoso!
Los cursos suelen tener libros de texto asociados, que incluiríamos en nuestras listas de libros. Además, los cursos tienen conferencias, ejercicios, pruebas, apuntes u otras ayudas didácticas. Una sola conferencia o vídeo por sí solo no es un curso. Un presentación de PowerPoint tampoco puede ser catalogado como curso.
<a name="interactive-tutorials-vs-other-stuff"></a>
<!----><a id="interactive-tutorials-vs-other-stuff"></a>
##### Tutoriales interactivos vs. Otro Material
Si es posible imprimirlo y conservar su esencia, no es un Tutorial Interactivo.
<a name="automation"></a>
<!----><a id="automation"></a>
### Automatización
- El cumplimiento de las reglas de formateado se automatiza vía [GitHub Actions](https://docs.github.com/en/actions) usando [fpb-lint](https://github.com/vhf/free-programming-books-lint) (ver [.github/workflows/fpb-lint.yml](.github/workflows/fpb-lint.yml))
- El cumplimiento de las reglas de formateado se automatiza vía [GitHub Actions](https://docs.github.com/en/actions) usando [fpb-lint](https://github.com/vhf/free-programming-books-lint) (ver [`.github/workflows/fpb-lint.yml`](../.github/workflows/fpb-lint.yml))
- La validación de URLs se realiza mediante [awesome_bot](https://github.com/dkhamsing/awesome_bot)
- Para activar esta validación de URL, envíe un commit que incluya como mensaje de confirmación `check_urls=fichero_a_comprobar`:
```
check_urls=free-programming-books.md free-programming-books-en.md
```properties
check_urls=free-programming-books.md free-programming-books-es.md
```
- Es posible especificar más de un fichero a comprobar. Simplemente use un espacio para separar cada entrada.
- Si especifica más de un archivo, los resultados obtenidos se basan en el estado del último archivo verificado. Debe tenerlo en cuenta ya que, debido a esto, puede obtener falsos positivos al finalizar el proceso. Así que tras el envío de la pull request asegúrese de inspeccionar el registro de compilación haciendo clic en "Show all checks" -> "Details".
- Si especifica más de un archivo, los resultados obtenidos se basan en el estado del último archivo verificado. Debe tenerlo en cuenta ya que, debido a esto, puede obtener falsos positivos al finalizar el proceso. Así que tras el envío de la Pull Request asegúrese de inspeccionar el registro de compilación haciendo clic en "Show all checks" -> "Details".
[license]: ../LICENSE
[coc]: CODE_OF_CONDUCT-es.md
[translations-list-link]: ../README.md#translations
[translations-list-link]: README.md#translations
[issues]: https://github.com/EbookFoundation/free-programming-books/issues
[formatting]: #formato-normalizado
[guidelines]: #pautas

View File

@ -1,6 +1,7 @@
*[این متن را در زبان‌های دیگر بخوانید](../README.md#translations)*
*[این متن را در زبان‌های دیگر بخوانید](README.md#translations)*
<div dir="rtl">
<div dir="rtl" markdown="1">
## توافقنامه‌ی مجوز همکاری
@ -9,30 +10,33 @@
## مرام‌نامه‌ی همکار
مشارکت در این پروژه به معنی موافقت با احترام به [مرام‌نامه‌ی](CODE_OF_CONDUCT-fa_IR.md) این مخزن است. ([translations](../README.md#translations))
مشارکت در این پروژه به معنی موافقت با احترام به [مرام‌نامه‌ی](CODE_OF_CONDUCT-fa_IR.md) این مخزن است. ([translations](README.md#translations))
## به طور خلاصه
1. "لینکی برای دانلود ساده‌ی یک کتاب" همیشه به معنی لینکی به یک کتاب *رایگان* نیست. لطفا فقط محتوای رایگان را قرار دهید. مطمئن شوید که این محتوا رایگان است. ما لینک‌هایی را که وارد کردن ایمیل کاری را برای دانلود کتاب *اجباری* کرده‌اند نمی‌پذیریم اما اگر بدون اجبار، این ایمیل را بخواهند، در این مخزن فهرستشان می‌کنیم.
2. نیاز نیست گیت بلد باشید: اگر چیز جذابی پیدا کردید که *در این مخزن وجود ندارد*، یک [Issue](https://github.com/EbookFoundation/free-programming-books/issues) با نوشتن لینک‌ها درست کنید.
* اگر گیت می‌دانید، لطفا مخزن را فورک کنید و پول‌ریکوئست بفرستید.
* اگر Git را می شناسید، لطفاً مخزن را Fork کنید و درخواست های کششی (PR) ارسال کنید.
3. ما پنج نوع فهرست داریم. فهرست درست را انتخاب کنید:
* *کتاب‌ها* : PDF، HTML، ePub، سایت بر اساس gitbook.io، یک مخزن گیت و غیره.
* *دوره‌ها* : دوره محتوایی آموزشی است که کتاب نیست. مثلا [این یک دوره است](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/).
* *آموزش‌های تعاملی* : وبسایتی تعاملی که به کاربر اجازه‌ی تایپ کد یا دستور می‌دهد و نتیجه را ارزیابی می‌کند (منظور ما از "ارزیابی"، "نمره‌دهی" نیست). مثلا: [Try Haskell](http://tryhaskell.org), [Try Github](http://try.github.io).
* *آموزش‌های تعاملی* : وبسایتی تعاملی که به کاربر اجازه‌ی تایپ کد یا دستور می‌دهد و نتیجه را ارزیابی می‌کند (منظور ما از "ارزیابی"، "نمره‌دهی" نیست). مثلا: [Try Haskell](http://tryhaskell.org), [Try GitHub](http://try.github.io).
* *پادکست‌ها و اسکرین‌کست‌ها*
* *مجموعه مشکلات و برنامه‌نویسی رقابتی* : وبسایت یا نرم‌افزاری که به شما امکان بررسی مهارت‌های برنامه‌نویسی را با کمک حل مشکلات ساده یا پیچیده، با یا بدون بررسی کد، با یا بدون مقایسه‌ی نتایج با کاربران دیگر می‌دهد.
4. مطمئن شوید که از [راهنماها](#راهنماها) پیروی می‌کنید و طبق [فرمت‌بندی مارک‌داون](#فرمت‌بندی] می‌نویسید.
4. مطمئن شوید که از [راهنماها](#guidelines) پیروی می‌کنید و طبق [فرمت‌بندی مارک‌داون](#formatting) می‌نویسید.
5. Github Actions تست‌هایی را اجرا می‌کند که مطمئن شود فهرست شما الفبایی است و قوانین فرمت‌بندی رعایت شده است. مطمئن شوید که تغییرات شما تست‌ها را با موفقیت گذرانده است.
5. GitHub Actions تست‌هایی را اجرا می‌کند که مطمئن شود **فهرست شما الفبایی است** و **قوانین فرمت‌بندی رعایت شده است**. **مطمئن شوید که** تغییرات شما تست‌ها را با موفقیت گذرانده است.
<!----><a id="guidelines"></a>
### راهنماها
* مطمئن شوید که یک کتاب رایگان است. اگر لازم بود، دوباره هم بررسی کنید. اگر درباره‌ی علت این که فکر می‌کنید کتاب رایگان است در پول‌ریکوئست، کامنت بگذارید، به ادمین‌ها کمک کرده‌اید.
* مطمئن شوید که یک کتاب رایگان است. اگر لازم بود، دوباره هم بررسی کنید. اگر درباره‌ی علت این که فکر می‌کنید کتاب رایگان است در پول‌ریکوئست (PR)، کامنت بگذارید، به ادمین‌ها کمک کرده‌اید.
* ما فایل‌هایی را قبول نمی‌کنیم که روی گوگل‌درایو، دراپ‌باکس، مگا، اسکریبد، ایسیو یا پلتفرم‌های آپلود فایل مشابه قرار دارند
* لینک‌های خود را به ترتیب الفبایی وارد کنید. اگر لینکی را خارج از ترتیب درست دیدید، لطفا مرتیش کنید و یک پی‌آر ثبت کنید
* از لینک معتبرترین منبع استفاده کنید (این یعنی وبسایت نویسنده بهتر از وبسایت ویراستار و وبسایت ویراستار بهتر از وبسایت سوم شخص است)
@ -52,93 +56,99 @@
* اگر به ویرایش‌های مختلف لینک شده است و شما معتقدید این ویرایش‌ها به حد کافی متفاوت هستند که هر دو نگه داشته شوند، یک لینک جدا با یادداشتی درباره‌ی هر ویرایش بنویسید (برای مشارکت در فرمت‌بندی [Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353) را ببینید).
* کامیت‌های تکی (یک کامیت اضافه کردن/ حذف کردن/ تغییر دادن) بهتر از کامیت‌های بزرگ هستند. نیاز نیست کامیت‌های خود را قبل از ثبت یک پی‌آر خرد کنید (ما به دنبال اجباری کردن این قانون نیستیم چون این قانون فقط به خاطر راحتی نگه‌دارندگان مخزن است)
* اگر کتاب قدیمی است، تاریخ انتشار را در کنار عنوان بنویسید.
* نام نویسنده یا نویسندگان را در صورت امکان بنویسید. می‌توانید فهرست نویسندگان را با "و همکاران" کوتاه کنید.
* اگر کتاب هنوز تمام نشده است و هنوز روی آن کار می‌شود، عبارت "in process" را همان طور که در [پایین صفحه](#in_process) آمده به آن اضافه کنید.
* اگر پیش از دانلود، نشانی ایمیل یا ساخت حساب کاربری خواسته می‌شود، در پرانتز توضیح متناسبی بنویسید. مثلا: `(نشانی ایمیل *خواسته می‌شود* اما اجباری نیست)`
* نام نویسنده یا نویسندگان را در صورت امکان بنویسید. می‌توانید فهرست نویسندگان را با "و همکاران" (به انگلیسی: "`et al.`") کوتاه کنید.
* اگر کتاب هنوز تمام نشده است و هنوز روی آن کار می‌شود، عبارت "`in process`" را همان طور که در [پایین صفحه](#in_process) آمده به آن اضافه کنید.
* اگر پیش از دانلود، نشانی ایمیل یا ساخت حساب کاربری خواسته می‌شود، در پرانتز توضیح متناسبی بنویسید. مثلا: `(نشانی ایمیل *خواسته می‌شود* اما اجباری نیست)`.
<!----><a id="formatting"></a>
### فرمت‌بندی
* همه فهرست‌ها فایل‌های ".md" هستند. سعی کنید دستور زبان [Markdown](https://guides.github.com/features/mastering-markdown/) را یاد بگیرید. ساده است!
* همه فهرست‌ها با یک فهرست محتوایی شروع می‌شود. ایده این است که همه بخش‌ها و زیربخش‌ها در این فهرست محتوایی لیست و لینک شوند. این فهرست محتوایی را به ترتیب الفبایی قرار دهید.
* بخش‌ها از تیترهای سطح 3 (`###`) استفاده می‌کنند و زیربخش‌ها از تیترهای سطح 4 (`###`).
ایده این است که این موارد رعایت شوند:
* `2` خط خالی بین آخرین لینک و بخش جدید
* `1` خط خالی بین تیتر و لینک اول همان بخش
* `0` خط خالی بین دو لینک
* `1` خط خالی در آخر هر فایل `.md`
مثال:
[...]
* [یک کتاب عالی](http://example.com/example.html)
```text
[...]
* [یک کتاب عالی](http://example.com/example.html)
(خط خالی)
(خط خالی)
### مثال
### مثال
(خط خالی)
* [یک کتاب عالی دیگر](http://example.com/book.html)
* [یک کتاب دیگر](http://example.com/other.html)
* [یک کتاب عالی دیگر](http://example.com/book.html)
* [یک کتاب دیگر](http://example.com/other.html)
```
* بین `]` و `(` space نگذارید:
```
بد : * [یک کتاب عالی دیگر] (http://example.com/book.html)
خوب: * [یک کتاب عالی دیگر](http://example.com/book.html)
```
```text
بد : * [یک کتاب عالی دیگر] (http://example.com/book.html)
خوب: * [یک کتاب عالی دیگر](http://example.com/book.html)
```
* اگر اسم نویسنده را اضافه می‌کنید، از ` - ` استفاده کنید (یک dash با دو single space):
```
بد : * [یک کتاب عالی دیگر](http://example.com/book.html)- نام نویسنده
خوب: * [یک کتاب عالی دیگر](http://example.com/book.html) - نام نویسنده
```
```text
بد : * [یک کتاب عالی دیگر](http://example.com/book.html)- نام نویسنده
خوب: * [یک کتاب عالی دیگر](http://example.com/book.html) - نام نویسنده
```
* یک single space بین لینک و فرمت قرار دهید:
```
بد : * [یک کتاب خیلی عالی](https://example.org/book.pdf)(PDF)
خوب: * [یک کتاب خیلی عالی](https://example.org/book.pdf) (PDF)
```
```text
بد : * [یک کتاب خیلی عالی](https://example.org/book.pdf)(PDF)
خوب: * [یک کتاب خیلی عالی](https://example.org/book.pdf) (PDF)
```
* نویسنده قبل از فرمت می‌آید:
```
بد : * [یک کتاب خیلی عالی](https://example.org/book.pdf)- (PDF) نام نویسنده
خوب: * [یک کتاب خیلی عالی](https://example.org/book.pdf) - یک نویسنده دیگر (PDF)
```
```text
بد : * [یک کتاب خیلی عالی](https://example.org/book.pdf)- (PDF) نام نویسنده
خوب: * [یک کتاب خیلی عالی](https://example.org/book.pdf) - یک نویسنده دیگر (PDF)
```
* چند فرمتی‌ها:
```
بد : * [یک کتاب عالی دیگر](http://example.com/)- نام نویسنده (HTML)
بد : * [یک کتاب عالی دیگر](https://downloads.example.org/book.html)- نام نویسنده (download site)
خوب: * [یک کتاب عالی دیگر](http://example.com/) - نام نویسنده (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
```text
بد : * [یک کتاب عالی دیگر](http://example.com/)- نام نویسنده (HTML)
بد : * [یک کتاب عالی دیگر](https://downloads.example.org/book.html)- نام نویسنده (download site)
خوب: * [یک کتاب عالی دیگر](http://example.com/) - نام نویسنده (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
* سال انتشار برای کتاب‌های قدیمی را در عنوان ینویسید:
```
بد : * [یک کتاب خیلی عالی](https://example.org/book.html) - نام نویسنده - 1970
خوب: * [یک کتاب خیلی عالی (1970)](https://example.org/book.html) - نام نویسنده
```
```text
بد : * [یک کتاب خیلی عالی](https://example.org/book.html) - نام نویسنده - 1970
خوب: * [یک کتاب خیلی عالی (1970)](https://example.org/book.html) - نام نویسنده
```
<a name="in_process"></a>
* کتاب‌های در دست تالیف:
* <a id="in_process"></a>کتاب‌های در دست تالیف:
```text
خوب: * [کتابی که عالی خواهدشد](http://example.com/book2.html) - نام نویسنده (HTML) (:construction: *in process*)
```
```
خوب: * [کتابی که عالی خواهدشد](http://example.com/book2.html) - نام نویسنده (HTML) (:construction: *in process*)
```
### خودکارسازی
* قوانین فرمت‌بندی از طریق [Github Actions](https://docs.github.com/en/actions) با استفاده از [fpb-lint](https://github.com/vhf/free-programming-books-lint) بررسی می‌شوند ([.github/workflows/fpb-lint.yml](.github/workflows/fpb-lint.yml) را ببینید)
* قوانین فرمت‌بندی از طریق [GitHub Actions](https://docs.github.com/en/actions) با استفاده از [fpb-lint](https://github.com/vhf/free-programming-books-lint) بررسی می‌شوند ([`.github/workflows/fpb-lint.yml`](../.github/workflows/fpb-lint.yml) را ببینید)
* اعتبارسنجی لینک‌ها با استفاده از [awesome_bot](https://github.com/dkhamsing/awesome_bot) انجام می‌شود.
* برای اجرای اعتبارسنجی لینک‌ها، کامیتی پوش کنید که در بدنه‌ی آن `check_urls=file_to_check` نوشته شده باشد:
```
check_urls=free-programming-books.md free-programming-books-en.md
```
```properties
check_urls=free-programming-books.md free-programming-books-fa_IR.md
```
* با استفاده از single space برای جدا کردن هر ورودی، می‌توانید بیشتر از یک فایل را برای بررسی مشخص کنید.
* اگر بیش از یک فایل را مشخص کردید، نتایج بیلد بر اساس نتیجه آخرین فایل بررسی‌شده خواهد بود. دقت کنید که ممکن است به همین علت، نتیجه سبز را ببینید. پس برای اطمینان لاگ بیلد را با کلیک روی "Show all checks" -> "Details" در پایان پول ریکوئست ببینید.
* اگر بیش از یک فایل را مشخص کردید، نتایج بیلد بر اساس نتیجه آخرین فایل بررسی‌شده خواهد بود. دقت کنید که ممکن است به همین علت، نتیجه سبز را ببینید. پس برای اطمینان لاگ بیلد را با کلیک روی "Show all checks" -> "Details" در پایان پول ریکوئست (PR) ببینید.
</div>

View File

@ -1,38 +1,48 @@
*[Basahin ito sa ibang mga wika](../README.md#translations)*
*[Basahin ito sa ibang mga wika](README.md#translations)*
## Kasunduan sa Lisensya ng Contributor
Sa pamamagitan ng pag-aambag sumasang-ayon ka sa [LICENSE](../LICENSE) ng repositoryong ito.
## Kodigo ng Pag-uugali ng Contributor
Sa pamamagitan ng pag-aambag sumasang-ayon kang igalang ang [Code of Conduct](CODE_OF_CONDUCT-fil.md) ng repositoryong ito. ([translations](../README.md#translations))
Sa pamamagitan ng pag-aambag sumasang-ayon kang igalang ang [Code of Conduct](CODE_OF_CONDUCT-fil.md) ng repositoryong ito. ([translations](README.md#translations))
## Sa maikling sabi
1. "Ang isang link para madaling mag-download ng libro" ay hindi palaging isang link sa isang *libre* na libro. Mangyaring mag-ambag lamang ng libreng nilalaman. Tiyaking libre ito. Hindi kami tumatanggap ng mga link sa mga pahina na *nangangailangan* ng gumaganang mga email address upang makakuha ng mga aklat, ngunit malugod naming tinatanggap ang mga listahan na humihiling sa kanila.
2. Hindi mo kailangang malaman ang Git: kung nakakita ka ng isang bagay na interesado na *wala pa sa repo na ito*, mangyaring magbukas ng [Issue](https://github.com/EbookFoundation/free-programming-books/issues) kasama ang iyong mga proposisyon ng link.
- Kung alam mo ang Git, mangyaring Fork ang repo at magpadala ng mga Pull Request (PR).
3. Mayroon kaming 5 uri ng mga listahan. Piliin ang tama:
- *Mga libro* : PDF, HTML, ePub, isang site na nakabatay sa gitbook.io, a Git repo, etc.
- *Kurso* : Ang kurso ay isang materyal sa pag-aaral na hindi isang libro. [This is a course](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/).
- *Mga Interactive na Tutorial* : Isang interactive na website na nagbibigay-daan sa user na mag-type ng code o command at suriin ang resulta (sa pamamagitan ng "suriin" hindi namin ibig sabihin ay "grado"). e.g.: [Try Haskell](http://tryhaskell.org), [Try Github](http://try.github.io).
- *Mga Interactive na Tutorial* : Isang interactive na website na nagbibigay-daan sa user na mag-type ng code o command at suriin ang resulta (sa pamamagitan ng "suriin" hindi namin ibig sabihin ay "grado"). e.g.: [Try Haskell](http://tryhaskell.org), [Try GitHub](http://try.github.io).
- *Mga Podcast at Screencast* : Mga podcast at screencast.
- *Mga Set ng Problema at Kompetisyon sa Programming* : Isang website o software na nagbibigay-daan sa iyong tasahin ang iyong mga kasanayan sa programming sa pamamagitan ng paglutas ng mga simple o kumplikadong problema, mayroon man o walang code review, mayroon man o walang paghahambing ng mga resulta sa ibang mga user.
4. Siguraduhing sundin ang [guidelines below](#guidelines) at igalang ang [Markdown formatting](#formatting) ng mga file.
5. Ang GitHub Actions ay magpapatakbo ng mga pagsubok upang matiyak na ang iyong mga listahan ay naka-alpabeto at sinusunod ang mga panuntunan sa pag-format. Siguraduhing suriin na ang iyong mga pagbabago ay pumasa sa mga pagsubok.
5. Ang GitHub Actions ay magpapatakbo ng mga pagsubok upang matiyak na **ang iyong mga listahan ay naka-alpabeto** at **sinusunod ang mga panuntunan sa pag-format**. **Siguraduhing** suriin na ang iyong mga pagbabago ay pumasa sa mga pagsubok.
<a name="guidelines"></a>
<!----><a id="guidelines"></a>
### Mga Alituntunin
- siguraduhin na ang isang libro ay libre. I-double check kung kinakailangan. Nakakatulong ito sa mga admin kung magkomento ka sa PR kung bakit sa tingin mo ay libre ang libro.
- hindi kami tumatanggap ng mga file na naka-host sa Google Drive, Dropbox, Mega, Scribd, Issuu at iba pang katulad na mga platform sa pag-upload ng file
- ipasok ang iyong mga link sa alphabetical order. Kung makakita ka ng maling lugar na link, mangyaring muling ayusin ito at magsumite ng PR
- gamitin ang link na may pinakamakapangyarihang pinagmulan (ibig sabihin ang website ng may-akda ay mas mahusay kaysa sa website ng editor, na mas mahusay kaysa sa isang third party na website)
+ walang mga serbisyo sa pagho-host ng file (kabilang dito ang (ngunit hindi limitado sa) mga link ng Dropbox at Google Drive)
- walang mga serbisyo sa pagho-host ng file (kabilang dito ang (ngunit hindi limitado sa) mga link ng Dropbox at Google Drive)
- palaging mas gusto ang isang link na `https` kaysa sa isang link na `http` -- hangga't sila ay nasa parehong domain at naghahatid ng parehong nilalaman
- sa mga root domain, tanggalin ang trailing slash: `http://example.com` sa halip na `http://example.com/`
- palaging mas gusto ang pinakamaikling link: `http://example.com/dir/` ay mas mabuti kaysa sa `http://example.com/dir/index.html`
+ walang URL shortener link
- walang URL shortener link
- kadalasang mas gusto ang "kasalukuyang" link kaysa sa "bersyon": `http://example.com/dir/book/current/` ay mas mabuti kaysa sa `http://example.com/dir/book/v1.0.0/index.html`
- kung ang isang link ay nag-expire na certificate/self-signed certificate/SSL isyu ng anumang iba pang uri:
1. *palitan ito* ng katapat nitong `http` kung maaari (dahil ang pagtanggap ng mga pagbubukod ay maaaring kumplikado sa mga mobile device).
@ -40,22 +50,25 @@ Sa pamamagitan ng pag-aambag sumasang-ayon kang igalang ang [Code of Conduct](CO
3. *tanggalin mo* kung hindi.
- kung mayroong isang link sa maraming format, magdagdag ng isang hiwalay na link na may tala tungkol sa bawat format
- kung mayroong isang mapagkukunan sa iba't ibang lugar sa Internet
+ gamitin ang link na may pinaka-makapangyarihang pinagmulan (ibig sabihin ang website ng may-akda ay mas mahusay kaysa sa website ng editor ay mas mahusay kaysa sa third party na website)
+ kung nagli-link ang mga ito sa iba't ibang mga edisyon, at hinuhusgahan mo na ang mga edisyong ito ay sapat na naiiba upang maging sulit na panatilihin ang mga ito, magdagdag ng hiwalay na link na may tala tungkol sa bawat edisyon (see [Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353) upang mag-ambag sa talakayan sa pag-format.)
- gamitin ang link na may pinaka-makapangyarihang pinagmulan (ibig sabihin ang website ng may-akda ay mas mahusay kaysa sa website ng editor ay mas mahusay kaysa sa third party na website)
- kung nagli-link ang mga ito sa iba't ibang mga edisyon, at hinuhusgahan mo na ang mga edisyong ito ay sapat na naiiba upang maging sulit na panatilihin ang mga ito, magdagdag ng hiwalay na link na may tala tungkol sa bawat edisyon (see [Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353) upang mag-ambag sa talakayan sa pag-format).
- mas gusto ang atomic commit (one commit by addition/deletion/modification) higit sa mas malalaking commit. Hindi na kailangang i-squash ang iyong mga commit bago magsumite ng PR. (Hindi namin kailanman ipapatupad ang panuntunang ito dahil ito ay isang bagay lamang ng kaginhawahan para sa mga nagpapanatili)
- kung mas luma ang aklat, isama ang petsa ng publikasyon na may pamagat.
- isama ang pangalan ng may-akda o mga pangalan kung saan naaangkop. Maaari mong paikliin ang mga listahan ng may-akda gamit ang "`et al.`"
- kung ang aklat ay hindi pa tapos, at ginagawa pa rin, idagdag ang "in process" notation, gaya ng inilarawan [below.](#in_process)
- kung ang isang mapagkukunan ay naibalik gamit ang Wayback Machine ng Internet Archive (o katulad), idagdag ang "naka-archive" na notation, tulad ng inilarawan [below](#archived). Ang pinakamahusay na mga bersyon na gagamitin ay bago at kumpleto.
- kung humiling ng email address o pag-setup ng account bago i-enable ang pag-download, magdagdag ng mga tala na naaangkop sa wika sa mga panaklong, hal.: `(email address *requested*, not required)`
- isama ang pangalan ng may-akda o mga pangalan kung saan naaangkop. Maaari mong paikliin ang mga listahan ng may-akda gamit ang "`et al.`".
- kung ang aklat ay hindi pa tapos, at ginagawa pa rin, idagdag ang "`in process`" notation, gaya ng inilarawan [below](#in_process).
- kung ang isang mapagkukunan ay naibalik gamit ang [*Wayback Machine ng Internet Archive*](https://web.archive.org) (o katulad), idagdag ang "`naka-archive`" na notation, tulad ng inilarawan [below](#archived). Ang pinakamahusay na mga bersyon na gagamitin ay bago at kumpleto.
- kung humiling ng email address o pag-setup ng account bago i-enable ang pag-download, magdagdag ng mga tala na naaangkop sa wika sa mga panaklong, hal.: `(email address *requested*, not required)`.
<a name="formatting"></a>
<!----><a id="formatting"></a>
### Pag-format
- Ang lahat ng mga listahan ay `.md` files. Subukang matuto [Markdown](https://guides.github.com/features/mastering-markdown/) syntax. Simple lang!
- Ang lahat ng mga listahan ay nagsisimula sa isang Index. Ang ideya ay ilista at i-link ang lahat ng seksyon at subsection doon. Panatilihin ito sa alpabetikong pagkakasunud-sunod.
- Gumagamit ang mga seksyon ng antas 3 na mga heading (`###`), at ang mga subsection ay level 4 na mga heading (`####`).
The idea is to have:
- `2` walang laman na linya sa pagitan ng huling link at bagong seksyon.
- `1` walang laman na linya sa pagitan ng heading.
- `0` walang laman na linya sa pagitan ng dalawang link.
@ -63,111 +76,119 @@ The idea is to have:
Halimbawa:
[...]
* [An Awesome Book](http://example.com/example.html)
```text
[...]
* [An Awesome Book](http://example.com/example.html)
(blank line)
(blank line)
### Example
### Example
(blank line)
* [Another Awesome Book](http://example.com/book.html)
* [Some Other Book](http://example.com/other.html)
* [Another Awesome Book](http://example.com/book.html)
* [Some Other Book](http://example.com/other.html)
```
- Huwag maglagay ng mga puwang sa pagitan `]` at `(`:
```
BAD : * [Another Awesome Book] (http://example.com/book.html)
GOOD: * [Another Awesome Book](http://example.com/book.html)
```
```text
BAD : * [Another Awesome Book] (http://example.com/book.html)
GOOD: * [Another Awesome Book](http://example.com/book.html)
```
- Kung isasama mo ang may-akda, gamitin ` - ` (isang gitling na napapalibutan ng mga solong espasyo):
```
BAD : * [Another Awesome Book](http://example.com/book.html)- John Doe
GOOD: * [Another Awesome Book](http://example.com/book.html) - John Doe
```
```text
BAD : * [Another Awesome Book](http://example.com/book.html)- John Doe
GOOD: * [Another Awesome Book](http://example.com/book.html) - John Doe
```
- Maglagay ng isang puwang sa pagitan ng link at ang format nito:
```
BAD : * [A Very Awesome Book](https://example.org/book.pdf)(PDF)
GOOD: * [A Very Awesome Book](https://example.org/book.pdf) (PDF)
```
```text
BAD : * [A Very Awesome Book](https://example.org/book.pdf)(PDF)
GOOD: * [A Very Awesome Book](https://example.org/book.pdf) (PDF)
```
- Nauna ang may-akda sa format:
```
BAD : * [A Very Awesome Book](https://example.org/book.pdf)- (PDF) Jane Roe
GOOD: * [A Very Awesome Book](https://example.org/book.pdf) - Jane Roe (PDF)
```
```text
BAD : * [A Very Awesome Book](https://example.org/book.pdf)- (PDF) Jane Roe
GOOD: * [A Very Awesome Book](https://example.org/book.pdf) - Jane Roe (PDF)
```
- Maramihang format:
```
BAD : * [Another Awesome Book](http://example.com/)- John Doe (HTML)
BAD : * [Another Awesome Book](https://downloads.example.org/book.html)- John Doe (download site)
GOOD: * [Another Awesome Book](http://example.com/) - John Doe (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
```text
BAD : * [Another Awesome Book](http://example.com/)- John Doe (HTML)
BAD : * [Another Awesome Book](https://downloads.example.org/book.html)- John Doe (download site)
GOOD: * [Another Awesome Book](http://example.com/) - John Doe (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
- Isama ang taon ng publikasyon sa pamagat para sa mga mas lumang aklat:
```
BAD : * [A Very Awesome Book](https://example.org/book.html) - Jane Roe - 1970
GOOD: * [A Very Awesome Book (1970)](https://example.org/book.html) - Jane Roe
```
```text
BAD : * [A Very Awesome Book](https://example.org/book.html) - Jane Roe - 1970
GOOD: * [A Very Awesome Book (1970)](https://example.org/book.html) - Jane Roe
```
<a name="in_process"></a>
- In-process books:
- <a id="in_process"></a>In-process books:
```
GOOD: * [Will Be An Awesome Book Soon](http://example.com/book2.html) - John Doe (HTML) (:construction: *in process*)
```
```text
GOOD: * [Will Be An Awesome Book Soon](http://example.com/book2.html) - John Doe (HTML) (:construction: *in process*)
```
<a name="archived"></a>
- Archived link:
- <a id="archived"></a>Archived link:
```text
GOOD: * [A Way-backed Interesting Book](https://web.archive.org/web/20211016123456/http://example.com/) - John Doe (HTML) *(:card_file_box: archived)*
```
```
GOOD: * [A Way-backed Interesting Book](https://web.archive.org/web/20211016123456/http://example.com/) - John Doe (HTML) *(:card_file_box: archived)*
```
### Mga Tala
Bagama't medyo simple ang mga pangunahing kaalaman, mayroong malaking pagkakaiba-iba sa mga mapagkukunang inilista namin. Narito ang ilang tala sa kung paano natin haharapin ang pagkakaiba-iba na ito.
#### Metadata
Nagbibigay ang aming mga listahan ng kaunting hanay ng metadata: mga pamagat, URL, tagalikha, platform, at tala sa pag-access.
##### Mga pamagat
- Walang naimbentong pamagat. Sinusubukan naming kumuha ng mga pamagat mula sa mga mapagkukunan mismo; ang mga nag-aambag ay pinapayuhan na huwag mag-imbento ng mga pamagat o gamitin ang mga ito sa editoryal kung ito ay maiiwasan. Ang isang pagbubukod ay para sa mas lumang mga gawa; kung pangunahin ang mga ito sa makasaysayang interes, ang isang taon sa panaklong na nakadugtong sa pamagat ay tumutulong sa mga user na malaman kung sila ay interesado.
- Walang pamagat ng ALLCAPS. Kadalasan ay angkop ang title case, ngunit kapag may pagdududa, gamitin ang capitalization mula sa source
##### URLs
- Hindi namin pinahihintulutan ang mga pinaikling URL.
- Dapat alisin ang mga tracking code sa URL.
- Dapat na i-escape ang mga internasyonal na URL. Karaniwang nire-render ito ng mga browser bar sa Unicode, ngunit gumamit ng kopya at i-paste.
- Ang mga Secure (https) na URL ay palaging mas gusto kaysa sa mga hindi secure na (http) na mga url kung saan ipinatupad ang https.
- Ang mga Secure (`https`) na URL ay palaging mas gusto kaysa sa mga hindi secure na (`http`) na mga url kung saan ipinatupad ang HTTPS.
- Hindi namin gusto ang mga URL na tumuturo sa mga webpage na hindi nagho-host ng nakalistang mapagkukunan, ngunit sa halip ay tumuturo sa ibang lugar.
##### Mga tagalikha
- Gusto naming pasalamatan ang mga lumikha ng mga libreng mapagkukunan kung saan naaangkop, kabilang ang mga tagasalin!
- Para sa mga isinaling gawa ang orihinal na may-akda ay dapat na kredito.
- Hindi namin pinahihintulutan ang mga link para sa Mga Tagalikha.
- Para sa compilation o remixed na mga gawa, maaaring kailanganin ng "creator" ang isang paglalarawan. Halimbawa, ang mga aklat na "GoalKicker" o "RIP Tutorial" ay kinikilala bilang "`Compiled from StackOverflow Documentation`"
- Para sa compilation o remixed na mga gawa, maaaring kailanganin ng "creator" ang isang paglalarawan. Halimbawa, ang mga aklat na "GoalKicker" o "RIP Tutorial" ay kinikilala bilang "`Compiled from StackOverflow Documentation`".
##### Mga Platform at Mga Tala sa Pag-access
- Kurso. Lalo na para sa aming mga listahan ng kurso, ang platform ay isang mahalagang bahagi ng paglalarawan ng mapagkukunan. Ito ay dahil ang mga platform ng kurso ay may iba't ibang mga affordance at mga modelo ng pag-access. Bagama't karaniwang hindi namin ilista ang isang aklat na nangangailangan ng pagpaparehistro, maraming mga platform ng kurso ang may mga affordance na hindi gumagana nang walang isang uri ng account. Kasama sa mga halimbawang platform ng kurso ang Coursera, EdX, Udacity, at Udemy. Kapag ang isang kurso ay nakasalalay sa isang platform, ang pangalan ng platform ay dapat na nakalista sa mga panaklong.
- YouTube. Marami kaming mga kurso na binubuo ng mga playlist sa YouTube. Hindi namin inilista ang Youtube bilang isang platform, sinusubukan naming ilista ang tagalikha ng Youtube, na kadalasan ay isang sub-platform.
- YouTube. Marami kaming mga kurso na binubuo ng mga playlist sa YouTube. Hindi namin inilista ang YouTube bilang isang platform, sinusubukan naming ilista ang tagalikha ng YouTube, na kadalasan ay isang sub-platform.
- Mga video ng YouTube. Karaniwang hindi kami nagli-link sa mga indibidwal na video sa YouTube maliban kung ang mga ito ay higit sa isang oras ang haba at nakabalangkas tulad ng isang kurso o isang tutorial.
- Leanpub. Nagho-host ang Leanpub ng mga aklat na may iba't ibang modelo ng access. Minsan ang isang libro ay maaaring basahin nang walang pagpaparehistro; minsan ang isang libro ay nangangailangan ng isang Leanpub account para sa libreng pag-access. Dahil sa kalidad ng mga aklat at ang pinaghalong mga modelo ng pag-access sa Leanpub, pinahihintulutan namin ang paglilista ng huli kasama ang tala sa pag-access `*(Leanpub account o valid na email ang hinihiling)*`
- Leanpub. Nagho-host ang Leanpub ng mga aklat na may iba't ibang modelo ng access. Minsan ang isang libro ay maaaring basahin nang walang pagpaparehistro; minsan ang isang libro ay nangangailangan ng isang Leanpub account para sa libreng pag-access. Dahil sa kalidad ng mga aklat at ang pinaghalong mga modelo ng pag-access sa Leanpub, pinahihintulutan namin ang paglilista ng huli kasama ang tala sa pag-access `*(Leanpub account o valid na email ang hinihiling)*`.
#### Mga genre
Ang unang tuntunin sa pagpapasya kung saang listahan kabilang ang isang mapagkukunan ay upang makita kung paano inilalarawan ng mapagkukunan ang sarili nito. Kung ito ay tinatawag na isang libro, marahil ito ay isang libro.
##### Mga genre na hindi namin inililista
Dahil malawak ang Internet, hindi namin isinasama sa aming mga listahan:
@ -175,7 +196,7 @@ Dahil malawak ang Internet, hindi namin isinasama sa aming mga listahan:
- blogs
- blog posts
- articles
- websites (except for those that host LOTS of items that we list.)
- websites (except for those that host LOTS of items that we list).
- videos that aren't courses or screencasts.
- book chapters
- teaser samples from books
@ -214,13 +235,13 @@ Kung maaari mong i-print ito at panatilihin ang kakanyahan nito, hindi ito isang
### Automation
- Ang pagpapatupad ng mga panuntunan sa pag-format ay awtomatiko sa pamamagitan ng [GitHub Actions](https://github.com/features/actions) gamit [fpb-lint](https://github.com/vhf/free-programming-books-lint) (see [.github/workflows/fpb-lint.yml](.github/workflows/fpb-lint.yml))
- Ang pagpapatupad ng mga panuntunan sa pag-format ay awtomatiko sa pamamagitan ng [GitHub Actions](https://github.com/features/actions) gamit [fpb-lint](https://github.com/vhf/free-programming-books-lint) (see [`.github/workflows/fpb-lint.yml`](../.github/workflows/fpb-lint.yml))
- Gumagamit ng pagpapatunay ng URL [awesome_bot](https://github.com/dkhamsing/awesome_bot)
- Upang ma-trigger ang pagpapatunay ng URL, mag-push ng commit na may kasamang commit na mensahe na naglalaman `check_urls=file_to_check`:
```
check_urls=free-programming-books.md free-programming-books-en.md
```
```properties
check_urls=free-programming-books.md free-programming-books-fil.md
```
- Maaari kang tumukoy ng higit sa isang file na susuriin, gamit ang isang puwang upang paghiwalayin ang bawat entry.
- Kung tumukoy ka ng higit sa isang file, ang mga resulta ng build ay batay sa resulta ng huling file na nasuri. Dapat mong malaman na maaari kang makapasa sa mga berdeng build dahil dito kaya siguraduhing suriin ang build log sa dulo ng pull request sa pamamagitan ng pag-click sa "Show all checks" -> "Details".
- Kung tumukoy ka ng higit sa isang file, ang mga resulta ng build ay batay sa resulta ng huling file na nasuri. Dapat mong malaman na maaari kang makapasa sa mga berdeng build dahil dito kaya siguraduhing suriin ang build log sa dulo ng Pull Request sa pamamagitan ng pag-click sa "Show all checks" -> "Details".

View File

@ -1,39 +1,47 @@
*[Lisez ceci dans d'autres langues](../README.md#translations)*
*[Lisez ceci dans d'autres langues](README.md#translations)*
## Contrat de Licence des Contributeurs
En contribuant, vous acceptez la [LICENCE](../LICENSE) de ce repositoire.
## Code de conduite des contributeurs
En contribuant, vous acceptez de respecter le [Code de Contrat](CODE_OF_CONDUCT-fr.md) de ce repositoire. ([translations](../README.md#translations))
En contribuant, vous acceptez de respecter le [Code de Contrat](CODE_OF_CONDUCT-fr.md) de ce repositoire. ([translations](README.md#translations))
## En bref
1. "Un lien pour télécharger facilement un livre" n'est pas toujours un lien vers un livre *gratuit*. Merci de ne contribuer qu'à du contenu gratuit. Assurez-vous que c'est gratuit. Nous n'acceptons pas les liens vers des pages qui *nécessitent* des adresses e-mail valides pour obtenir des livres, mais nous accueillons les annonces qui en font la demande.
2. Vous n'êtes pas obligé de connaître Git : si vous avez trouvé quelque chose d'intéressant qui n'est *pas déjà dans ce repositoire*, veuillez ouvrir un [Problème](https://github.com/EbookFoundation/free-programming-books/issues) avec vos propositions de liens.
- Si vous savez Git, Forkez le repo et envoyez vos pull requests.
- Si vous savez Git, Forkez le repo et envoyez vos Pull Requests (PR).
3. Nous avons 5 types de listes. Choisissez le bon:
- *Livres* : PDF, HTML, ePub, un site basé sur gitlivre.io, un repositoire Git, etc.
- *Cours* : Un cours est un matériel d'apprentissage qui n'est pas un livre. [Ceci est un cours](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/).
- *Tutoriels interactifs* : Un site Web interactif qui permet à l'utilisateur de saisir du code ou des commandes et d'évaluer le résultat (par "évaluer" nous ne voulons pas dire "noter"). par exemple : [Essayez Haskell](http://tryhaskell.org), [Essayez Github](http://try.github.io).
- *Tutoriels interactifs* : Un site Web interactif qui permet à l'utilisateur de saisir du code ou des commandes et d'évaluer le résultat (par "évaluer" nous ne voulons pas dire "noter"). par exemple : [Essayez Haskell](http://tryhaskell.org), [Essayez GitHub](http://try.github.io).
- *Podcasts et Screencasts* : Podcasts et screencasts.
- *Ensembles de Problèmes et Programmation Compétitive* : Un site Web ou un logiciel qui vous permet d'évaluer vos compétences en programmation en résolvant des problèmes simples ou complexes, avec ou sans revue de code, avec ou sans comparaison des résultats avec d'autres utilisateurs.
4. Assurez-vous de suivre les [directives ci-dessous](#directrices) et de respecter [la format Markdown](#formatage) des fichers.
5. Github Actions exécutera des tests pour s'assurer que vos listes sont classées par ordre alphabétique et que les règles de formatage sont respectées. Assurez-vous de vérifier que vos modifications passent les tests.
5. GitHub Actions exécutera des tests pour s'assurer que vos **listes sont classées par ordre alphabétique** et que **les règles de formatage sont respectées**. **Assurez-vous** de vérifier que vos modifications passent les tests.
### Directrices
- assurez-vous qu'un livre est gratuit. Vérifiez si nécessaire. Cela aide les administrateurs si vous commentez dans le PR pourquoi vous pensez que le livre est gratuit.
- nous n'acceptons pas les fichiers hébergés sur Google Drive, Dropbox, Mega, Scribd, Issuu et autres plateformes de téléchargement de fichiers similaires.
- insérez vos liens par ordre alphabétique. Si vous voyez un lien égaré, veuillez le réorganiser et soumettre un PR
- utiliser le lien avec la source la plus autoritaire (c'est-à-dire que le site de l'auteur est meilleur que le site de l'éditeur, qui est meilleur qu'un site tiers)
+ pas de services d'hébergement de fichiers (cela inclut (mais n'est pas limité à) les liens Dropbox et Google Drive)
- pas de services d'hébergement de fichiers (cela inclut (mais n'est pas limité à) les liens Dropbox et Google Drive)
- préférez toujours un lien `https` à un `http` - tant qu'ils sont sur le même domaine et servent le même contenu
- sur les domaines root, supprimez la barre oblique finale: `http://exemple.com` au lieu de `http://exemple.com/`
- préférez toujours le lien le plus court : `http://exemple.com/dir/` est préférable à `http://exemple.com/dir/index.html`
+ pas de liens de raccourcissement d'URL
- pas de liens de raccourcissement d'URL
- préférez généralement le lien "actuel" à celui de "version": `http://exemple.com/dir/livre/current/` est meilleur que `http://exemple.com/dir/livre/v1.0.0 /index.html`
- si un lien a un certificat expiré/certificat auto-signé/problème SSL de toute autre nature:
1. *remplacez-le* par son équivalent `http` si possible (car accepter les exceptions peut être compliqué sur les appareils mobiles)
@ -41,20 +49,23 @@ En contribuant, vous acceptez de respecter le [Code de Contrat](CODE_OF_CONDUCT-
3. *supprimez-le* sinon.
- si un lien existe dans plusieurs formats, ajoutez un lien séparé avec une note sur chaque format
- si une ressource existe à différents endroits sur Internet
+ utiliser le lien avec la source la plus autoritaire (c'est-à-dire que le site de l'auteur est meilleur que le site de l'éditeur, qui est meilleur qu'un site tiers)
+ s'ils renvoient à des éditions différentes et que vous jugez que ces éditions sont suffisamment différentes pour qu'elles valent la peine d'être conservées, ajoutez un lien séparé avec une note sur chaque édition (voir [Problème #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353) pour contribuer à la discussion sur le formatage.))
- utiliser le lien avec la source la plus autoritaire (c'est-à-dire que le site de l'auteur est meilleur que le site de l'éditeur, qui est meilleur qu'un site tiers)
- s'ils renvoient à des éditions différentes et que vous jugez que ces éditions sont suffisamment différentes pour qu'elles valent la peine d'être conservées, ajoutez un lien séparé avec une note sur chaque édition (voir [Problème #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353) pour contribuer à la discussion sur le formatage).
- préférer les commits atomiques (un commit par ajout/suppression/modification) aux plus gros commits. Pas besoin d'écraser vos commits avant de soumettre un PR. (Nous n'appliquerons jamais cette règle car c'est juste une question de commodité pour les responsables)
- si le livre est plus ancien, indiquez la date de parution avec le titre.
- incluez le ou les noms de l'auteur, le cas échéant. Vous pouvez raccourcir les listes d'auteurs avec "et al."
- si le livre n'est pas terminé, et est toujours en cours de travail, ajoutez la notation "en cours", comme décrit [ci-dessous.](#in_process)
- si une adresse e-mail ou la configuration d'un compte est demandée avant l'activation du téléchargement, ajoutez des notes adaptées à la langue entre parenthèses, par exemple: `(adresse e-mail *demandée*, non obligatoire)`
- incluez le ou les noms de l'auteur, le cas échéant. Vous pouvez raccourcir les listes d'auteurs avec "`et al.`".
- si le livre n'est pas terminé, et est toujours en cours de travail, ajoutez la notation "`en cours`", comme décrit [ci-dessous](#in_process).
- si une adresse e-mail ou la configuration d'un compte est demandée avant l'activation du téléchargement, ajoutez des notes adaptées à la langue entre parenthèses, par exemple: `(adresse e-mail *demandée*, non obligatoire)`.
### Formatage
- Toutes les listes sont des fichiers `.md`. Essayez d'apprendre la syntaxe [Markdown](https://guides.github.com/features/mastering-markdown/). C'est simple!
- Toutes les listes commencent par un Index. L'idée est d'y lister et de lier toutes les sections et sous-sections. Gardez-le par ordre alphabétique.
- Les sections utilisent des titres de niveau 3 (`###`) et les sous-sections sont des titres de niveau 4 (`####`).
l'idée est d'avoir:
- `2` lignes vides entre le dernier lien et la nouvelle section
- `1` ligne vide entre le titre et le premier lien de sa section
- `0` ligne vide entre deux liens
@ -62,104 +73,113 @@ l'idée est d'avoir:
Exemple:
[...]
* [Un Livre Génial](http://exemple.com/exemple.html)
```text
[..].
* [Un Livre Génial](http://exemple.com/exemple.html)
(ligne blanche)
(ligne blanche)
### Exemple
### Exemple
(ligne blanche)
* [Un Autre Livre Génial](http://exemple.com/livre.html)
* [Un Autre Livre](http://exemple.com/autre.html)
* [Un Autre Livre Génial](http://exemple.com/livre.html)
* [Un Autre Livre](http://exemple.com/autre.html)
```
- Mettez pas des espaces entre `]` et `(`:
```
MAUVAIS : * [Un Autre Livre Génial] (http://exemple.com/livre.html)
BIEN : * [Un Autre Livre Génial](http://exemple.com/livre.html)
```
```text
MAUVAIS: * [Un Autre Livre Génial] (http://exemple.com/livre.html)
BIEN : * [Un Autre Livre Génial](http://exemple.com/livre.html)
```
- Si vous incluez l'auteur, utilisez ` - ` (un tiret entouré d'un espaces):
```
MAUVAIS : * [Un Autre Livre Génial](http://exemple.com/livre.html)- John Doe
BIEN : * [Un Autre Livre Génial](http://exemple.com/livre.html) - John Doe
```
```text
MAUVAIS: * [Un Autre Livre Génial](http://exemple.com/livre.html)- John Doe
BIEN : * [Un Autre Livre Génial](http://exemple.com/livre.html) - John Doe
```
- Mettez un seul espace entre le lien et son format:
```
MAUVAIS : * [Un Autre Livre Génial](https://exemple.org/livre.pdf)(PDF)
BIEN : * [Un Autre Livre Génial](https://exemple.org/livre.pdf) (PDF)
```
```text
MAUVAIS: * [Un Autre Livre Génial](https://exemple.org/livre.pdf)(PDF)
BIEN : * [Un Autre Livre Génial](https://exemple.org/livre.pdf) (PDF)
```
- L'auteur vient avant le format:
```
MAUVAIS : * [Un Autre Livre Génial](https://exemple.org/livre.pdf)- (PDF) Jane Roe
BIEN : * [Un Autre Livre Génial](https://exemple.org/livre.pdf) - Jane Roe (PDF)
```
```text
MAUVAIS: * [Un Autre Livre Génial](https://exemple.org/livre.pdf)- (PDF) Jane Roe
BIEN : * [Un Autre Livre Génial](https://exemple.org/livre.pdf) - Jane Roe (PDF)
```
- Formats multiples:
```
MAUVAIS : * [Un Autre Livre Génial](http://exemple.com/)- John Doe (HTML)
MAUVAIS : * [Un Autre Livre Génial](https://downloads.exemple.org/livre.html)- John Doe (site de téléchargement)
BIEN : * [Un Autre Livre Génial](http://exemple.com/) - John Doe (HTML) [(PDF, EPUB)](https://downloads.exemple.org/livre.html)
```
```text
MAUVAIS: * [Un Autre Livre Génial](http://exemple.com/)- John Doe (HTML)
MAUVAIS: * [Un Autre Livre Génial](https://downloads.exemple.org/livre.html)- John Doe (site de téléchargement)
BIEN : * [Un Autre Livre Génial](http://exemple.com/) - John Doe (HTML) [(PDF, EPUB)](https://downloads.exemple.org/livre.html)
```
- Inclure l'année de publication dans le titre pour les livres plus anciens :
```
MAUVAIS : * [Un Autre Livre Génial](https://exemple.org/livre.html) - Jane Roe - 1970
BIEN : * [Un Autre Livre Génial (1970)](https://exemple.org/livre.html) - Jane Roe
```
```text
MAUVAIS: * [Un Autre Livre Génial](https://exemple.org/livre.html) - Jane Roe - 1970
BIEN : * [Un Autre Livre Génial (1970)](https://exemple.org/livre.html) - Jane Roe
```
<a name="in_process"></a>
- Livres en cours :
- <a id="in_process"></a>Livres en cours :
```
BIEN : * [Sera bientôt un livre génial](http://exemple.com/livre2.html) - John Doe (HTML) (:construction: *in process*)
```
```
BIEN : * [Sera bientôt un livre génial](http://exemple.com/livre2.html) - John Doe (HTML) (:construction: *in process*)
```
### Remarques
Bien que les bases soient relativement simples, il existe une grande diversité dans les ressources que nous répertorions. Voici quelques notes sur la façon dont nous gérons cette diversité.
#### Métadonnées
Nos listes fournissent un ensemble minimal de métadonnées : titres, URL, créateurs, plateformes et notes d'accès.
##### Titres
- Pas de titres inventés. Nous essayons de prendre les titres des ressources elles-mêmes ; les contributeurs sont avertis de ne pas inventer de titres ou de ne pas les utiliser éditorialement si cela peut être évité. Une exception est pour les œuvres plus anciennes; s'ils présentent principalement un intérêt historique, une année entre parenthèses ajoutée au titre aide les utilisateurs à savoir s'ils présentent un intérêt.
- Pas de titres TOUTES EN MAJUSCULES. Habituellement, la casse du titre est appropriée, mais en cas de doute, utilisez la majuscule de la source
##### URLs
- Nous n'autorisons pas les URL raccourcies.
- Les codes de suivi doivent être supprimés de l'URL.
- Les URL internationales doivent être échappées. Les barres du navigateur les rendent généralement en Unicode, mais utilisez le copier-coller, s'il vous plaît.
- Les URL sécurisées (https) sont toujours préférées aux URL non sécurisées (http) où https a été implémenté.
- Les URL sécurisées (`https`) sont toujours préférées aux URL non sécurisées (`http`) où HTTPS a été implémenté.
- Nous n'aimons pas les URL qui pointent vers des pages Web qui n'hébergent pas la ressource répertoriée, mais pointent plutôt ailleurs.
##### Créateurs
- Nous voulons créditer les créateurs de ressources gratuites le cas échéant, y compris les traducteurs !
- Pour les œuvres traduites, l'auteur original doit être crédité.
- Nous n'autorisons pas les liens pour les créateurs.
- Pour les compilations ou les travaux remixés, le "créateur" peut avoir besoin d'une description. Par exemple, les livres "GoalKicker" sont crédités comme "Compilé à partir de la documentation StackOverflow"
- Pour les compilations ou les travaux remixés, le "créateur" peut avoir besoin d'une description. Par exemple, les livres "GoalKicker" sont crédités comme "`Compilé à partir de la documentation StackOverflow`" (en anglais: `Compiled from StackOverflow documentation`).
##### Plateformes et notes d'accès
- Cours. Surtout pour nos listes de cours, la plateforme est une partie importante de la description de la ressource. En effet, les plates-formes de cours ont des options et des modèles d'accès différents. Bien que nous ne répertoriions généralement pas un livre nécessitant une inscription, de nombreuses plateformes de cours ont des options qui ne fonctionnent pas sans une sorte de compte. Des exemples de plates-formes de cours incluent Coursera, EdX, Udacity et Udemy. Lorsqu'un cours dépend d'une plateforme, le nom de la plate-forme doit être indiqué entre parenthèses.
- Youtube. Nous avons de nombreux cours qui se composent de listes de lecture YouTube. Nous ne répertorions pas Youtube comme plateforme, nous essayons de répertorier le créateur Youtube, qui est souvent une sous-plateforme.
- Vidéos youtube. Nous ne créons généralement pas de liens vers des vidéos YouTube individuelles, sauf si elles durent plus d'une heure et sont structurées comme un cours ou un didacticiel.
- Leanpub. Leanpub héberge des livres avec une variété de modèles d'accès. Parfois, un livre peut être lu sans inscription ; parfois un livre nécessite un compte Leanpub pour un accès gratuit. Compte tenu de la qualité des livres et du mélange et de la fluidité des modèles d'accès Leanpub, nous autorisons l'inscription de ces derniers avec la note d'accès *(compte Leanpub ou email valide demandé)*
- YouTube. Nous avons de nombreux cours qui se composent de listes de lecture YouTube. Nous ne répertorions pas YouTube comme plateforme, nous essayons de répertorier le créateur YouTube, qui est souvent une sous-plateforme.
- Vidéos YouTube. Nous ne créons généralement pas de liens vers des vidéos YouTube individuelles, sauf si elles durent plus d'une heure et sont structurées comme un cours ou un didacticiel.
- Leanpub. Leanpub héberge des livres avec une variété de modèles d'accès. Parfois, un livre peut être lu sans inscription ; parfois un livre nécessite un compte Leanpub pour un accès gratuit. Compte tenu de la qualité des livres et du mélange et de la fluidité des modèles d'accès Leanpub, nous autorisons l'inscription de ces derniers avec la note d'accès `*(compte Leanpub ou email valide demandé)*`.
#### Genres
La première règle pour décider à quelle liste appartient une ressource est de voir comment la ressource se décrit. S'il s'appelle un livre, alors c'est peut-être un livre.
##### Genres que nous ne listons pas
Parce qu'Internet est vaste, nous n'incluons pas dans nos listes:
@ -167,7 +187,7 @@ Parce qu'Internet est vaste, nous n'incluons pas dans nos listes:
- les blogs
- articles de blog
- des articles
- des sites Web (à l'exception de ceux qui hébergent BEAUCOUP d'articles que nous répertorions.)
- des sites Web (à l'exception de ceux qui hébergent BEAUCOUP d'articles que nous répertorions).
- des vidéos qui ne sont pas des cours ou des screencasts.
- les chapitres du livre
- échantillons teaser de livres
@ -176,6 +196,7 @@ Parce qu'Internet est vaste, nous n'incluons pas dans nos listes:
Nos listes de programmation compétitive ne sont pas aussi strictes sur ces exclusions. La portée du repo est déterminée par la communauté ; si vous souhaitez suggérer un changement ou un ajout à la portée, veuillez utiliser un issue pour faire la suggestion.
##### Livres vs. autres choses
Nous ne sommes pas si pointilleux sur la livreté. Voici quelques attributs qui signifient qu'une ressource est un livre :
@ -205,13 +226,13 @@ Si vous pouvez l'imprimer et conserver son essence, ce n'est pas un didacticiel
### Automatisation
- L'application des règles de formatage est automatisée via [Github Actions](https://docs.github.com/en/actions) en utilisant [fpb-lint](https://github.com/vhf/free-programming-livres-lint) (voir [ .github/workflows/fpb-lint.yml](.github/workflows/fpb-lint.yml))
- L'application des règles de formatage est automatisée via [GitHub Actions](https://docs.github.com/en/actions) en utilisant [fpb-lint](https://github.com/vhf/free-programming-books-lint) (voir [`.github/workflows/fpb-lint.yml`](../.github/workflows/fpb-lint.yml))
- La validation d'URL utilise [awesome_bot](https://github.com/dkhamsing/awesome_bot)
- Pour déclencher la validation d'URL, poussez un commit qui inclut un message de commit contenant `check_urls=file_to_check` :
- Pour déclencher la validation d'URL, poussez un commit qui inclut un message de commit contenant `check_urls=file_to_check`:
```
check_urls=free-programming-livres.md free-programming-livres-en.md
```
```properties
check_urls=free-programming-books.md free-programming-books-fr.md
```
- Vous pouvez spécifier plus d'un fichier à vérifier, en utilisant un seul espace pour séparer chaque entrée
- Si vous spécifiez plus d'un fichier, les résultats de la construction sont basés sur le résultat du dernier fichier vérifié. Vous devez savoir que vous pouvez obtenir des versions vertes de réussite à cause de cela, alors assurez-vous d'inspecter le journal de construction à la fin de la demande d'extraction en cliquant sur "Show all checks" -> "Details".
- Si vous spécifiez plus d'un fichier, les résultats de la construction sont basés sur le résultat du dernier fichier vérifié. Vous devez savoir que vous pouvez obtenir des versions vertes de réussite à cause de cela, alors assurez-vous d'inspecter le journal de construction à la fin de la Pull Request en cliquant sur "Show all checks" -> "Details".

View File

@ -1,42 +1,254 @@
*[Instruksi ini dalam bahasa lain](../README.md#translations)*
*[Instruksi ini dalam bahasa lain](README.md#translations)*
<!----><a id="contributor-license-agreement"></a>
## Perjanjian lisensi kontributor
Dengan kerja sama Anda, Anda menerima [lisensi](../LICENSE) dari repositori ini.
## Kode Etik untuk Kontributor
Dengan partisipasi Anda, Anda berjanji untuk mengikuti [Kode Etik](CODE_OF_CONDUCT-id.md) dari repositori ini. ([translations](../README.md#translations))
<!----><a id="contributor-code-of-conduct"></a>
## Kode Etik untuk Kontributor
Dengan partisipasi Anda, Anda berjanji untuk mengikuti [Kode Etik](CODE_OF_CONDUCT-id.md) dari repositori ini. ([translations](README.md#translations))
<!----><a id="in-a-nutshell"></a>
## Versi pendek
1. "Tautan untuk mengunduh buku dengan mudah" tidak selalu merupakan tautan ke buku *gratis*. Harap hanya menambahkan konten gratis. Pastikan mereka gratis. Kami tidak menerima tautan ke situs yang * mengharuskan * Anda mendaftar dengan alamat email yang berfungsi untuk mengunduh buku, tetapi kami menyambut situs yang meminta alamat email.
1. "Tautan untuk mengunduh buku dengan mudah" tidak selalu merupakan tautan ke buku *gratis*. Harap hanya menambahkan konten gratis. Pastikan mereka gratis. Kami tidak menerima tautan ke situs yang *mengharuskan* Anda mendaftar dengan alamat email yang berfungsi untuk mengunduh buku, tetapi kami menyambut situs yang meminta alamat email.
2. Anda tidak harus terbiasa dengan Git: Jika Anda telah menemukan sesuatu yang menarik *yang belum ada di salah satu daftar*, silakan buka [Masalah](https://github.com/EbookFoundation/free-programming-books/issues) dengan tautan yang Anda sarankan.
- Jika Anda sudah familiar dengan Git, fork repositori dan kirim pull request.
- Jika Anda sudah familiar dengan Git, fork repositori dan kirim Pull Request (PR).
3. Kami menyimpan 5 jenis daftar. Pastikan untuk memilih yang tepat:
- *Buku*: PDF, HTML, ePub, halaman berdasarkan gitbook.io, repo Git, dll.
- *Kursus*: Kursus menggambarkan materi pembelajaran yang tidak ada dalam bentuk buku. [Ini adalah kursus](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/).
- *Tutorial interaktif*: Situs web interaktif yang memungkinkan pengguna memasukkan kode sumber atau perintah dan mengevaluasi hasilnya (dengan "mengevaluasi" kami tidak bermaksud "mengevaluasi"). misalnya: [Coba Haskell](http://tryhaskell.org), [Coba Github](http://try.github.io).
- *Tutorial interaktif*: Situs web interaktif yang memungkinkan pengguna memasukkan kode sumber perintah dan mengevaluasi hasilnya (dengan "mengevaluasi" kami tidak bermaksud "menilai"). misalnya: [Coba Haskell](http://tryhaskell.org), [Coba GitHub](http://try.github.io).
- *Podcast dan Screencasts*: Podcast dan Screencasts.
- *Kumpulan Masalah & Pemrograman Kompetitif*: Situs web atau perangkat lunak yang memberi Anda kesempatan untuk menguji keterampilan pemrograman Anda dengan memecahkan masalah sederhana atau kompleks, dengan atau tanpa tinjauan kode dan dengan atau tanpa membandingkan kinerja dengan orang lain Pengunjung situs .
- *Kumpulan Masalah & Pemrograman Kompetitif*: Situs web atau perangkat lunak yang memberi Anda kesempatan untuk menguji keterampilan pemrograman Anda dengan memecahkan masalah sederhana atau kompleks, dengan atau tanpa tinjauan kode dan dengan atau tanpa membandingkan kinerja dengan orang lain Pengunjung situs.
4. Pastikan Anda mengikuti [Guidelines](#guidelines) dan [Markdown Formatting](#formatting) dari file.
4. Pastikan Anda mengikuti [Guidelines](#guidelines) dan hormati [Markdown Formatting](#formatting) dari file.
5. GitHub Actions akan menjalankan tes untuk memastikan bahwa daftar diurutkan berdasarkan abjad dengan benar dan bahwa aturan pemformatan telah diikuti. Pastikan perubahan Anda lulus tes ini.
5. GitHub Actions akan menjalankan tes untuk memastikan bahwa **daftar diurutkan berdasarkan abjad dengan benar** dan bahwa **aturan pemformatan telah diikuti**. **Pastikan** perubahan Anda lulus tes ini.
<!----><a id="guidelines"></a>
### Pedoman
- Pastikan sebuah buku benar-benar gratis. Periksa kembali jika perlu. Ini membantu administrator jika Anda menjelaskan dalam PR Anda mengapa menurut Anda buku tersebut gratis.
- Kami tidak merekam file yang ada di Google Drive, Dropbox, Mega, Scribd, Issuu atau platform unggahan yang sebanding.
- Masukkan tautan dalam urutan abjad. Jika Anda menemukan tautan yang salah dimasukkan, harap perbaiki pesanan dan buka PR.
- Kami tidak merekam file yang ada di Google Drive, Dropbox, Mega, Scribd, Issuu atau platform unggah file lainnya sebanding.
- Masukkan tautan dalam urutan abjad. Jika Anda menemukan tautan yang salah dimasukkan, harap perbaiki pesanan dan kirimkan PR.
- Selalu pilih tautan dari sumber otoritatif (yaitu, situs web penulis lebih baik daripada situs web editor, yang pada gilirannya akan lebih baik daripada situs web pihak ketiga)
+ tidak ada platform hosting file (termasuk tautan ke Dropbox, Google Drive, dll.)
- tidak ada platform hosting file (termasuk tautan ke Dropbox, Google Drive, dll.).
- Tautan `https` harus selalu lebih disukai daripada tautan `http` - selama tautan tersebut mengarah ke domain dan konten yang sama.
- Garis miring harus dihapus pada domain root: `http://example.com` alih-alih `http://example.com/ `
- Selalu pilih tautan terpendek: `http://example.com/dir/` lebih baik daripada `http://example.com/dir/index.html`
+ jangan gunakan penyingkat url
- Pilih tautan ke versi terbaru alih-alih menautkan ke versi tertentu: `http://example.com/dir/book/current/` lebih baik daripada `http://example.com/dir/book/v1.0.0/index.html`
- Garis miring harus dihapus pada domain root: `http://example.com` alih-alih `http://example.com/`
- Selalu pilih tautan terpendek: `http://example.com/dir/` lebih baik daripada `http://example.com/dir/index.html`.
- jangan gunakan penyingkat URL.
- Pilih tautan ke "versi terbaru" alih-alih menautkan ke "versi tertentu": `http://example.com/dir/book/current/` lebih baik daripada `http://example.com/dir/book/v1.0.0/index.html`.
- Jika tautan menggunakan sertifikat yang kedaluwarsa atau ditandatangani sendiri atau memiliki masalah SSL lain:
1. *ganti* dengan mitra `http` jika memungkinkan (karena mungkin sulit untuk mengizinkan pengecualian pada perangkat seluler).
2. *biarkan apa adanya* jika versi `http` tidak tersedia, tetapi tautan dapat diakses melalui` https` dengan mengabaikan peringatan di browser atau menambahkan pengecualian.
1. *ganti* dengan mitra `http` jika memungkinkan (karena menerima pengecualian dapat menjadi rumit pada perangkat seluler).
2. *biarkan apa adanya* jika versi `http` tidak tersedia, tetapi tautan dapat diakses melalui `https` dengan mengabaikan peringatan di browser atau menambahkan pengecualian.
3. *hapus* jika tidak.
- jika ada tautan dalam format yang berbeda, tambahkan tautan terpisah dengan referensi ke setiap format
- jika sepotong konten tersedia di beberapa tempat di Internet
+ pilih tautan otoritatif
- jika ada tautan dalam format yang berbeda, tambahkan tautan terpisah dengan catatan tentang setiap format.
- jika sepotong konten tersedia di beberapa tempat di Internet.
- pilih tautan otoritatif.
- gunakan tautan dengan sumber paling otoritatif (artinya situs web penulis lebih baik daripada situs web editor lebih baik daripada situs web pihak ketiga).
- jika mereka menautkan ke edisi yang berbeda dan Anda menilai edisi ini cukup berbeda sehingga layak untuk disimpan, tambahkan tautan terpisah dengan catatan tentang setiap edisi (lihat [Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353) untuk berkontribusi pada diskusi tentang pemformatan).
- lebih suka komit atom (satu komit dengan penambahan/penghapusan/modifikasi) daripada komit yang lebih besar. Tidak perlu menekan komitmen Anda sebelum mengirimkan PR. (Kami tidak akan pernah menegakkan aturan ini karena ini hanya masalah kenyamanan bagi pengelola).
- jika buku lebih tua, sertakan tanggal penerbitan dengan judul.
- sertakan nama penulis atau nama yang sesuai. Anda dapat mempersingkat daftar penulis dengan "`et al.`".
- jika buku belum selesai, dan masih dalam pengerjaan, tambahkan notasi "`dalam proses`", seperti yang dijelaskan [di bawah ini](#in_process).
- jika alamat email atau pengaturan akun diminta sebelum pengunduhan diaktifkan, tambahkan catatan bahasa yang sesuai dalam tanda kurung, misalnya: `(alamat email *diminta*, tidak wajib)`.
<!----><a id="formatting"></a>
### Pemformatan
- Semua daftar adalah file `.md`. Coba pelajari sintaks [Markdown](https://guides.github.com/features/mastering-markdown/). Itu mudah!
- Semua daftar dimulai dengan Indeks. Idenya adalah untuk membuat daftar dan menautkan semua bagian dan subbagian di sana. Simpan dalam urutan abjad.
- Bagian menggunakan heading level 3 (`###`), dan subbagian menggunakan heading level 4 (`####`).
Idenya adalah untuk memiliki:
- `2` baris kosong antara tautan terakhir dan bagian baru.
- `1` baris kosong antara heading & tautan pertama dari bagiannya.
- `0` baris kosong di antara dua tautan.
- `1` baris kosong di akhir setiap file `.md`.
Contoh:
```text
[...]
* [Contoh Buku](http://example.com/example.html)
(baris kosong)
(baris kosong)
### Contoh
(baris kosong)
* [Contoh Buku Lainnya](http://example.com/book.html)
* [Beberapa Buku Lain](http://example.com/other.html)
```
- Jangan gunakan spasi diantara `]` dan `(`:
```text
BURUK : * [Contoh Buku Lainnya] (http://example.com/book.html)
BAIK : * [Contoh Buku Lainnya](http://example.com/book.html)
```
- Jika Anda menyertakan penulis, gunakan ` - ` (tanda hubung yang dikelilingi oleh satu spasi):
```text
BURUK : * [Contoh Buku Lainnya](http://example.com/book.html)- John Doe
BAIK : * [Contoh Buku Lainnya](http://example.com/book.html) - John Doe
```
- Letakkan satu spasi di antara tautan dan formatnya:
```text
BURUK : * [Buku yang Sangat Bagus](https://example.org/book.pdf)(PDF)
BAIK : * [Buku yang Sangat Bagus](https://example.org/book.pdf) (PDF)
```
- Penulis diletakan sebelum format file:
```text
BURUK : * [Buku yang Sangat Bagus](https://example.org/book.pdf)- (PDF) Jane Roe
BAIK : * [Buku yang Sangat Bagus](https://example.org/book.pdf) - Jane Roe (PDF)
```
- Format lebih dari satu:
```text
BURUK : * [Contoh Buku Lainnya](http://example.com/)- John Doe (HTML)
BURUK : * [Contoh Buku Lainnya](https://downloads.example.org/book.html)- John Doe (situs download)
BAIK : * [Contoh Buku Lainnya](http://example.com/) - John Doe (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
- Cantumkan tahun penerbitan dalam judul buku lama:
```text
BURUK : * [Buku yang Sangat Bagus](https://example.org/book.html) - Jane Roe - 1970
BAIK : * [Buku yang Sangat Bagus (1970)](https://example.org/book.html) - Jane Roe
```
- <a id="in_process"></a>Buku dalam proses:
```text
BAIK : * [Akan Segera Menjadi Buku yang Luar Biasa](http://example.com/book2.html) - John Doe (HTML) (:construction: *in process*)
```
<!----><a id="notes"></a>
### Catatan
Meskipun dasar-dasarnya relatif sederhana, ada keragaman besar dalam sumber daya yang kami daftarkan. Berikut adalah beberapa catatan tentang bagaimana kita menghadapi keragaman ini.
#### Metadata
Daftar kami menyediakan kumpulan metadata minimal: judul, URL, pembuat, platform, dan catatan akses.
<!----><a id="titles"></a>
##### Judul
- Tidak ada judul yang diciptakan. Kami mencoba mengambil judul dari sumber itu sendiri; kontributor diperingatkan untuk tidak membuat judul atau menggunakannya secara editorial jika hal ini dapat dihindari. Pengecualian adalah untuk karya yang lebih tua; jika mereka terutama memiliki minat historis, satu tahun dalam tanda kurung yang ditambahkan ke judul membantu pengguna mengetahui apakah mereka menarik.
- Tidak ada judul SEMUANYA KAPITAL. Biasanya judul kasus sesuai, tetapi jika ragu gunakan kapitalisasi dari sumbernya.
##### URLs
- Kami tidak mengizinkan URL yang dipersingkat.
- Kode pelacakan harus dihapus dari URL.
- URL internasional harus diloloskan. Bilah peramban biasanya merender ini ke Unicode, tetapi gunakan salin dan tempel.
- URL aman (`https`) selalu lebih disukai daripada url tidak aman (`http`) di mana HTTPS telah diterapkan.
- Kami tidak menyukai URL yang mengarah ke halaman web yang tidak menghosting sumber daya yang terdaftar, melainkan menunjuk ke tempat lain.
<!----><a id="creators"></a>
##### Pencipta
- Kami ingin menghargai pencipta sumber daya gratis jika perlu, termasuk penerjemah!
- Untuk karya terjemahan penulis asli harus dikreditkan.
- Kami tidak mengizinkan tautan untuk Kreator.
- Untuk karya kompilasi atau remix, "pencipta" mungkin memerlukan deskripsi. Misalnya, buku "GoalKicker" dikreditkan sebagai "`Dikompilasi dari dokumentasi StackOverflow`" (dalam Bahasa Inggris: `Compiled from StackOverflow documentation`).
<!----><a id="platforms-and-access-notes"></a>
##### Platform dan Catatan Akses
- Kursus. Khusus untuk daftar kursus kami, platform merupakan bagian penting dari deskripsi sumber daya. Ini karena platform kursus memiliki keterjangkauan dan model akses yang berbeda. Meskipun kami biasanya tidak akan mencantumkan buku yang memerlukan pendaftaran, banyak platform kursus memiliki keterjangkauan yang tidak berfungsi tanpa semacam akun. Contoh platform kursus termasuk Coursera, EdX, Udacity , dan Udemy. Jika kursus bergantung pada platform, nama platform harus dicantumkan dalam tanda kurung.
- YouTube. Kami memiliki banyak kursus yang terdiri dari daftar putar YouTube. Kami tidak mencantumkan YouTube sebagai platform, kami mencoba mencantumkan pembuat YouTube, yang seringkali merupakan sub-platform.
- Video YouTube. Kami biasanya tidak menautkan ke video YouTube individu kecuali jika durasinya lebih dari satu jam dan terstruktur seperti kursus atau tutorial.
- Leanpub. Leanpub menyelenggarakan buku dengan berbagai model akses. Terkadang sebuah buku dapat dibaca tanpa registrasi; terkadang sebuah buku memerlukan akun Leanpub untuk akses gratis. Mengingat kualitas buku dan campuran dan fluiditas model akses Leanpub, kami mengizinkan daftar yang terakhir dengan catatan akses `*(Akun Leanpub atau email yang valid diminta)*`.
<!----><a id="genres"></a>
#### Genre
Aturan pertama dalam memutuskan daftar mana yang termasuk dalam sumber daya adalah melihat bagaimana sumber daya itu menggambarkan dirinya sendiri. Jika itu menyebut dirinya sebuah buku, maka mungkin itu adalah sebuah buku.
<!----><a id="genres-we-dont-list"></a>
##### Genre yang tidak kami cantumkan
Karena Internet sangat luas, kami tidak memasukkan dalam daftar kami:
- blog
- postingan blog
- artikel
- situs web (kecuali yang menghosting BANYAK item yang kami daftarkan).
- video yang bukan kursus atau screencasts.
- bab buku
- sampel penggoda dari buku
- Saluran IRC atau Telegram
- Celana panjang atau milis
Daftar pemrograman kompetitif kami tidak seketat pengecualian ini. Lingkup repo ditentukan oleh komunitas; jika Anda ingin menyarankan perubahan atau penambahan ruang lingkup, silakan gunakan masalah untuk membuat saran.
<!----><a id="books-vs-other-stuff"></a>
##### Buku vs. Barang Lainnya
Kami tidak rewel tentang kebukuan. Berikut adalah beberapa atribut yang menandakan bahwa sumber daya adalah sebuah buku:
- memiliki ISBN (Nomor Buku Standar Internasional)
- memiliki Daftar Isi
- versi yang diunduh, terutama ePub, ditawarkan
- memiliki edisi
- itu tidak tergantung pada konten atau video interaktif
- mencoba untuk mencakup topik secara komprehensif
- itu mandiri
Ada banyak buku yang kami daftarkan yang tidak memiliki atribut ini; itu bisa tergantung pada konteksnya.
<!----><a id="books-vs-courses"></a>
##### Buku vs. Kursus
Terkadang ini sulit untuk dibedakan!
Kursus sering kali memiliki buku teks terkait, yang akan kami daftarkan dalam daftar buku kami. Kursus memiliki kuliah, latihan, tes, catatan atau alat bantu didaktik lainnya. Sebuah kuliah atau video dengan sendirinya bukanlah sebuah kursus. Sebuah powerpoint bukanlah kursus.
<!----><a id="interactive-tutorials-vs-other-stuff"></a>
##### Tutorial Interaktif vs. Hal-hal lain
Jika Anda dapat mencetaknya dan mempertahankan esensinya, itu bukan Tutorial Interaktif.
<!----><a id="automation"></a>
### Otomatisasi
- Pemformatan penegakan aturan otomatis melalui [GitHub Actions](https://github.com/features/actions) gunakan [fpb-lint](https://github.com/vhf/free-programming-books-lint) (lihat [`.github/workflows/fpb-lint.yml`](../.github/workflows/fpb-lint.yml)).
- Validasi URL menggunakan [awesome_bot](https://github.com/dkhamsing/awesome_bot).
- Untuk memicu validasi URL, *push commit* yang menyertakan pesan komit yang berisi `check_urls=file_to_check`:
```properties
check_urls=free-programming-books.md free-programming-books-id.md
```
- Anda dapat menentukan lebih dari satu file untuk diperiksa, menggunakan satu spasi untuk memisahkan setiap entri.
- Jika Anda menentukan lebih dari satu file, hasil build didasarkan pada hasil file terakhir yang diperiksa. Anda harus menyadari bahwa Anda dapat melewati build hijau karena hal ini, jadi pastikan untuk memeriksa log build di akhir Pull Request dengan mengklik "Show all checks" -> "Details".

View File

@ -1,38 +1,48 @@
*[Leggilo in altre lingue](../README.md#translations)*
*[Leggilo in altre lingue](README.md#translations)*
## Accordo di Licenza
Contribuendo tu accetti alla [LICENZA](../LICENSE) di questa repository.
## Codice di Comportamento del Collaboratore
I collaboratori accettano di rispettare il [Codice di Comportamento](CODE_OF_CONDUCT-it.md) di questa repository. ([translations](../README.md#translations))
I collaboratori accettano di rispettare il [Codice di Comportamento](CODE_OF_CONDUCT-it.md) di questa repository. ([translations](README.md#translations))
## In breve
1. "Un link per scaricare facilmente un libro" non è sempre un link per scaricare un libro *gratuito*. Per favore contribuisci solo con contenuti gratuiti. Assicurati che sia gratuito. Non accettiamo link a pagine che *richiedono* email funzionanti per ottenere il libro, ma diamo il benvenuto agli annunci che li richiedono.
2. Non devi conoscere Git: se trovi qualcosa di interessante che che non è *ancora in questa repo*, apri un [Issue](https://github.com/EbookFoundation/free-programming-books/issues) con il link della risorsa.
- Se conosci Git, forka questa repository e crea una Pull Request.
- Se conosci Git, forka questa repository e crea una Pull Request (PR).
3. Abbiamo 5 tipi di liste. Scegli quella giusta:
- *Libri* : PDF, HTML, ePub, gitbook.io, una Git repo, etc.
- *Corsi* : Un corso è del materiale gratuito che non è un libro. [Questo è un corso](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/).
- *Tutorial Interattivi* : Un sito interattivo permette all'utente di scrivere codice o comandi e analizzarne il risultato. esempi: [Try Haskell](http://tryhaskell.org), [Try Github](http://try.github.io).
- *Tutorial Interattivi* : Un sito interattivo permette all'utente di scrivere codice o comandi e analizzarne il risultato. esempi: [Try Haskell](http://tryhaskell.org), [Try GitHub](http://try.github.io).
- *Podcasts e Screencasts* : Podcasts and screencasts.
- *Set di problemi & Programmazione competitiva* : Un sito o software che ti permette di valutare le tue skills da programmatore risolvendo problemi semplici o complessi, con o senza la revisione del codice, con o senza la comparazione del risultato con gli altri utenti.
4. Assicurati di seguire le [linee guida qui sotto](#guidelines) e rispettare la [formattazione Markdown](#formatting) dei file.
5. GitHub Actions avvierà dei test per assicurarsi che le tue liste siano ordinate alfabeticamente e formattate correttamente. Assicurati che i tuoi cambiamenti passino il test.
5. GitHub Actions avvierà dei test per assicurarsi che le tue **liste siano ordinate alfabeticamente e formattate correttamente**. **Assicurati che** i tuoi cambiamenti passino il test.
<a name="guidelines"></a>
<!----><a id="guidelines"></a>
### Linee guida
- assicurati che il libro sia gratuito. Controlla più volte se necessario. Commentare nella PR il perché pensi che il libro sia gratuito aiuta gli admin.
- non accettiamo file hostati su Google Drive, Dropbox, Mega, Scribd, Issuu e altre piattaforme simili per l'upload dei file
- inserisci i link ordinandoli alfabeticamente. Se sbagli la posizione di un link, riordinalo e invia la PR
- usa il link più "autorevole" per segnalare la risorsa (significa che il sito web dell'autore è migliore del sito web dell'editore, che è migliore di un sito web di terze parti)
+ nessun servizio di file hosting (questo include (ma non è limitato a) link di Dropbox e Google Drive)
- nessun servizio di file hosting (questo include (ma non è limitato a) link di Dropbox e Google Drive)
- preferisci sempre un link `https` rispetto ad un `http` -- purché si trovino sullo stesso dominio e contengano lo stesso contenuto
- sul dominio di root, elimina il trailing slash (lo slash finale): `http://example.com` invece di `http://example.com/`
- preferisci sempre link più corti: `http://example.com/dir/` è migliore di `http://example.com/dir/index.html`
+ niente link accorciati
- niente link accorciati
- generalmente preferisci il link "current" rispetto al link "version": `http://example.com/dir/book/current/` è migliore di `http://example.com/dir/book/v1.0.0/index.html`
- se un link ha un certificato scaduto/certificato auto-firmato/problemi di SSL o di qualsiasi altro tipo:
1. *sostituiscilo* con la controparte in `http` se possibile (perché accettare eccezione può essere complicato sui dispositivi mobile).
@ -40,22 +50,25 @@ I collaboratori accettano di rispettare il [Codice di Comportamento](CODE_OF_CON
3. *rimuovilo* altrimenti.
- se un link esiste in più formati, aggiungi un link separato con una nota riguardante il formato
- se una risorsa è presente in posti differenti su internet
+ usa il link più "autorevole" per segnalare la risorsa (significa che il sito web dell'autore è migliore del sito web dell'editore, che è migliore di un sito web di terze parti)
+ se reindirizzano a edizioni differenti e tu credi che queste edizioni siano abbastanza diverse tra loro da valere la pena di essere tenute, aggiungi un link separato con una nota riguardante ogni edizione (guarda [Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353) per contribuire alla discussione sulla formattazione.)
- usa il link più "autorevole" per segnalare la risorsa (significa che il sito web dell'autore è migliore del sito web dell'editore, che è migliore di un sito web di terze parti)
- se reindirizzano a edizioni differenti e tu credi che queste edizioni siano abbastanza diverse tra loro da valere la pena di essere tenute, aggiungi un link separato con una nota riguardante ogni edizione (guarda [Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353) per contribuire alla discussione sulla formattazione).
- preferisci gli atomic commits (un commit per aggiunta/modifica/eliminazione) rispetto ai grandi commit. Non c'è bisogno di raggruppare i commit per inviarli in una sola PR. (Non applichiamo mai questa regola, è solo per comodità dei moderatori)
- se il libro è più vecchio, includi la data di pubblicazione assieme al titolo.
- includi il nome o i nomi degli autori se è il caso. Puoi accorciare il nome degli autori con "et al."
- se il libro non è ancora finito, e ci stanno ancora lavorando su, aggiungi "in process", come descritto [qui sotto](#in_process). Seleziona sempre l'ultima versione disponibile in questi siti.
- se una risorsa è archiviata usando la Wayback Machine di Internet Archive (o simili), aggiungi la notazione "archived", come descritto [qui sotto](#archived). La versione migliore da utilizzare è quella più recente/completa.
- se è richiesto un indirizzo email o un account per poter scaricare il libro, aggiungilo tra parentesi, esempio: `(email address *requested*, not required)`
- includi il nome o i nomi degli autori se è il caso. Puoi accorciare il nome degli autori con "`et al.`".
- se il libro non è ancora finito, e ci stanno ancora lavorando su, aggiungi "`in process`", come descritto [qui sotto](#in_process). Seleziona sempre l'ultima versione disponibile in questi siti.
- se una risorsa è archiviata usando la [*Wayback Machine di Internet Archive*](https://web.archive.org) (o simili), aggiungi la notazione "`archived`", come descritto [qui sotto](#archived). La versione migliore da utilizzare è quella più recente/completa.
- se è richiesto un indirizzo email o un account per poter scaricare il libro, aggiungilo tra parentesi, esempio: `(email address *requested*, not required)`.
<a name="formatting"></a>
<!----><a id="formatting"></a>
### Formattazione
- Tutte le liste sono file `.md`. Prova ad imparare la sintassi [Markdown](https://guides.github.com/features/mastering-markdown/). È semplice!
- Tutte le liste iniziano con un Index. L'idea è di elencare e collegare tutte le sezioni e sottosezioni lì. Mantienila in ordine alfabetico.
- Le sezioni utilizzano il livello 3 di heading (`###`), e le sottosezioni utilizzano il livello 4 di heading (`####`).
L'idea è di avere:
- `2` linee vuote tra l'ultimo link e la nuova sezione.
- `1` linea vuota tra il titolo e il primo link della sezione.
- `0` linee vuote tra due link.
@ -63,111 +76,119 @@ L'idea è di avere:
Esempi:
[...]
* [An Awesome Book](http://example.com/example.html)
```text
[...]
* [An Awesome Book](http://example.com/example.html)
(linea vuota)
(linea vuota)
### Esempio
### Esempio
(linea vuota)
* [Another Awesome Book](http://example.com/book.html)
* [Some Other Book](http://example.com/other.html)
* [Another Awesome Book](http://example.com/book.html)
* [Some Other Book](http://example.com/other.html)
```
- Non mettere uno spazio tra `]` e `(`:
```
SCORRETTO : * [Another Awesome Book] (http://example.com/book.html)
CORRETTO: * [Another Awesome Book](http://example.com/book.html)
```
```text
SCORRETTO: * [Another Awesome Book] (http://example.com/book.html)
CORRETTO : * [Another Awesome Book](http://example.com/book.html)
```
- Se includi gli autori, usa ` - ` (un trattino circondato da spazi singoli):
```
SCORRETTO : * [Another Awesome Book](http://example.com/book.html)- John Doe
CORRETTO: * [Another Awesome Book](http://example.com/book.html) - John Doe
```
```text
SCORRETTO: * [Another Awesome Book](http://example.com/book.html)- John Doe
CORRETTO : * [Another Awesome Book](http://example.com/book.html) - John Doe
```
- Metti uno spazio tra il link e il formato:
```
SCORRETTO : * [A Very Awesome Book](https://example.org/book.pdf)(PDF)
CORRETTO: * [A Very Awesome Book](https://example.org/book.pdf) (PDF)
```
```text
SCORRETTO: * [A Very Awesome Book](https://example.org/book.pdf)(PDF)
CORRETTO : * [A Very Awesome Book](https://example.org/book.pdf) (PDF)
```
- Gli autori vanno prima del formato:
```
SCORRETTO : * [A Very Awesome Book](https://example.org/book.pdf)- (PDF) Jane Roe
CORRETTO: * [A Very Awesome Book](https://example.org/book.pdf) - Jane Roe (PDF)
```
```text
SCORRETTO: * [A Very Awesome Book](https://example.org/book.pdf)- (PDF) Jane Roe
CORRETTO : * [A Very Awesome Book](https://example.org/book.pdf) - Jane Roe (PDF)
```
- Formati multipli:
```
SCORRETTO : * [Another Awesome Book](http://example.com/)- John Doe (HTML)
SCORRETTO : * [Another Awesome Book](https://downloads.example.org/book.html)- John Doe (download site)
CORRETTO: * [Another Awesome Book](http://example.com/) - John Doe (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
```text
SCORRETTO: * [Another Awesome Book](http://example.com/)- John Doe (HTML)
SCORRETTO: * [Another Awesome Book](https://downloads.example.org/book.html)- John Doe (download site)
CORRETTO : * [Another Awesome Book](http://example.com/) - John Doe (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
- Includi l'anno di pubblicazione nel titolo per i libri più vecchi:
```
SCORRETTO : * [A Very Awesome Book](https://example.org/book.html) - Jane Roe - 1970
CORRETTO: * [A Very Awesome Book (1970)](https://example.org/book.html) - Jane Roe
```
```text
SCORRETTO: * [A Very Awesome Book](https://example.org/book.html) - Jane Roe - 1970
CORRETTO : * [A Very Awesome Book (1970)](https://example.org/book.html) - Jane Roe
```
<a name="in_process"></a>
- Libri in sviluppo:
- <a id="in_process"></a>Libri in sviluppo:
```
CORRETTO: * [Will Be An Awesome Book Soon](http://example.com/book2.html) - John Doe (HTML) (:construction: *in process*)
```
```text
CORRETTO : * [Will Be An Awesome Book Soon](http://example.com/book2.html) - John Doe (HTML) (:construction: *in process*)
```
<a name="archived"></a>
- Link archiviato:
- <a id="archived"></a>Link archiviato:
```text
CORRETTO : * [A Way-backed Interesting Book](https://web.archive.org/web/20211016123456/http://example.com/) - John Doe (HTML) *(:card_file_box: archived)*
```
```
CORRETTO: * [A Way-backed Interesting Book](https://web.archive.org/web/20211016123456/http://example.com/) - John Doe (HTML) *(:card_file_box: archived)*
```
### Note
Mentre le basi sono relativamente semplici, c'è una notevole differenza tra le risorse che inseriamo nelle liste. Qui ci sono alcuni appunti su come affrontiamo queste diversità.
#### Metadata
I nostri elenchi forniscono un set minimo di metadati: titoli, URLs, autori, piattaforme e note di accesso.
##### Titoli
- Non inventiamo i titoli. Cerchiamo di prendere i titoli dalla risorsa originale; i contributori sono invitati a non inventare titoli o usarli editorialmente se questo può essere evitato. Un'eccezione è per i libri più vecchi; se sono principalmente di interesse storico, l'anno tra parentesi inserito nel titolo aiuta gli utenti a capire se sono interessati a quella risorsa.
- Niente titoli completamente in MAIUSCOLO. Di solito il title case è appropriato, ma in caso di dubbio usa le maiuscole utilizzate nella fonte.
##### URLs
- Non per mettiamo di rimpicciolire il link con gli appositi strumenti.
- Il codice di tracciamento deve essere rimosso dall'URL.
- Gli URL internazionali devono essere evitati. Le barre del browser in genere li rendono in Unicode, ma usa copia e incolla, per favore.
- I link sicuri (https) sono preferibili al posto dei link non sicuri (http), dove l'https è stato implementato.
- I link sicuri (`https`) sono preferibili al posto dei link non sicuri (`http`), dove l'HTTPS è stato implementato.
- Non ci piacciono gli URL che reindirizzano in una pagina che non hosta la risorsa, ma invece reindirizza altrove.
##### Autori
- Vogliamo dare i crediti agli autori ove appropriato, anche ai traduttori!
- Per i lavori tradotti, l'autore originale dovrebbe essere incluso.
- Non permettiamo collegamenti per gli autori.
- Per le compilation o remix, il "creatore" potrebbe aver bisogno di una descrizione. Ad esempio, i libri "GoalKicker" o "RIP Tutorial" sono accreditati come "Compiled from StackOverflow documentation"
- Per le compilation o remix, il "creatore" potrebbe aver bisogno di una descrizione. Ad esempio, i libri "GoalKicker" o "RIP Tutorial" sono accreditati come "`Compiled from StackOverflow documentation`".
##### Piattaforme e note di accesso
- Corsi. Specialmente per la nostra liste dei corsi, la piattaforma è una parte importante della descrizione. Questo perché le varie piattaforme di corsi hanno diverse affordance e metodi di accesso. Mentre solitamente i libri non hanno bisogno di un account per essere letti, molte piattaforme di corsi ne hanno bisogno. Esempi di piattaforme di corsi sono Coursera, EdX, Udacity e Udemy. Quando un corso dipende dalla piattaforma, il suo nome dovrebbe essere incluso tra parentesi.
- YouTube. Abbiamo molti corsi che consistono in playlist di YouTube. Non consideriamo YouTube come piattaforma, cerchiamo di inserire il creatore del corso, che è spesso una sotto-piattaforma.
- Video YouTube. Solitamente non accettiamo singoli video YouTube, a meno che non siano più lunghi di un'ora e che siano strutturati come un corso o un tutorial.
- Leanpub. Leanpub ospita libri con varie modalità di accesso. Alcune volte i libri possono essere letti senza l'obbligo di registrazione; alcune volte è necessario creare un account gratuito su Leanpub. Data la qualità dei libri e la commistione e fluidità dei modelli di accesso Leanpub, consentiamo di elencare questi ultimi con la nota di accesso *(Leanpub account or valid email requested)*
- Leanpub. Leanpub ospita libri con varie modalità di accesso. Alcune volte i libri possono essere letti senza l'obbligo di registrazione; alcune volte è necessario creare un account gratuito su Leanpub. Data la qualità dei libri e la commistione e fluidità dei modelli di accesso Leanpub, consentiamo di elencare questi ultimi con la nota di accesso `*(Leanpub account or valid email requested)*`.
#### Generi
La prima regola è decidere a quale lista appartiene di più una risorsa. Se si definisce un libro, allora forse è un libro.
##### Generi che non accettiamo
Essendo che internet è vasto, noi non accettiamo:
@ -175,7 +196,7 @@ Essendo che internet è vasto, noi non accettiamo:
- blog
- blog posts
- articoli
- siti web (ad eccezione di quelli che ospitano MOLTI articoli che elenchiamo.)
- siti web (ad eccezione di quelli che ospitano MOLTI articoli che elenchiamo).
- video che non sono corsi o screencasts.
- capitoli dei libri
- teaser dei libri
@ -214,13 +235,13 @@ Se riesci a stamparlo e conservarne l'essenza, non è un tutorial interattivo.
### Automazione
- L'applicazione delle regole di formattazione è automatizzata tramite [GitHub Actions](https://github.com/features/actions) usando [fpb-lint](https://github.com/vhf/free-programming-books-lint) (guarda [.github/workflows/fpb-lint.yml](.github/workflows/fpb-lint.yml))
- L'applicazione delle regole di formattazione è automatizzata tramite [GitHub Actions](https://github.com/features/actions) usando [fpb-lint](https://github.com/vhf/free-programming-books-lint) (guarda [`.github/workflows/fpb-lint.yml`](../.github/workflows/fpb-lint.yml))
- La validazione dell'URL usa [awesome_bot](https://github.com/dkhamsing/awesome_bot)
- Per attivare la convalida dell'URL, invia un commit che includa un messaggio di commit contenente `check_urls=file_to_check`:
```
check_urls=free-programming-books.md free-programming-books-en.md
```
```properties
check_urls=free-programming-books.md free-programming-books-it.md
```
- È possibile specificare più di un file da controllare, utilizzando un singolo spazio per separare ogni voce.
- Se specifichi più di un file, i risultati della build si basano sul risultato dell'ultimo file controllato. Dovresti essere consapevole che potresti ottenere il passaggio di build verdi a causa di ciò, quindi assicurati di ispezionare il registro di build alla fine della richiesta pull facendo clic su "Show all checks" -> "Details".
- Se specifichi più di un file, i risultati della build si basano sul risultato dell'ultimo file controllato. Dovresti essere consapevole che potresti ottenere il passaggio di build verdi a causa di ciò, quindi assicurati di ispezionare il registro di build alla fine della Pull Request facendo clic su "Show all checks" -> "Details".

View File

@ -1,27 +1,38 @@
*[이 문서를 다른 언어로 보시려면](../README.md#translations)*
*[이 문서를 다른 언어로 보시려면](README.md#translations)*
## 기여자 라이선스 동의서
이 프로젝트의 기여자들은 리포지토리의 [약관](../LICENSE) 에 동의하는 것으로 간주됩니다.
## 기여자 행도 강령
이 리포지토리 기여함으로서, 모든 기여자는 이 [행동강령](CODE_OF_CONDUCT-ko.md) 에 동의한 것으로 간주됩니다. ([translations](../README.md#translations))
이 리포지토리 기여함으로서, 모든 기여자는 이 [행동강령](CODE_OF_CONDUCT-ko.md) 에 동의한 것으로 간주됩니다. ([translations](README.md#translations))
## 요약
1. "책을 쉽게 내려받을 수 있는 바로가기"는 해당 책이 무료임을 보장하지 않습니다. 이 프로젝트에 기여하기 전에 해당 바로가기가 무료임을 확인해 주십시오. 저희는 또한 작동하는 이메일을 요구하는 바로가기는 허용하지 않습니다만, 이메일을 요청하는 것들은 허용됩니다.
2. 깃에 대해 알고 있을 필요는 없습니다: 만약 당신이 조건에 부합하면서 이미 등재되지 않은 바로가기를 발견한다면, 새로운 바로가기와 함께 새로운 [이슈](https://github.com/EbookFoundation/free-programming-books/issues)를 열 수 있습니다.
- 만약 깃 사용법을 알고 있다면, 해당 리포지토리를 Fork 하며 Pull request를 보내주세요.
2. Git을 알 필요는 없습니다: 만약 당신이 조건에 부합하면서 *이미 등재되지 않은* 바로가기를 발견한다면, 새로운 바로가기와 함께 새로운 [이슈](https://github.com/EbookFoundation/free-programming-books/issues)를 열 수 있습니다.
- 만약 깃 사용법을 알고 있다면, 해당 리포지토리를 Fork 하며 Pull Request (PR)를 보내주세요.
3. 저희는 다섯 가지의 리스트를 제공하고 있습니다. 올바른 것을 선택해 주세요:
- *책* : PDF, HTML, ePub, gitbook.io 기반 웹사이트, 깃 리포지토리, 등.
- *강좌* : 여기서 강좌는 책이 아닌 교육 도구를 칭합니다. [강좌 예시](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/).
- *상호작용을 할 수 있는 강좌* : 사용자가 코드를 입력하거나 명령어를 입력하여 평가을 받을 수 있는 웹사이트를 칭합니다(평가는 채점이 아닙니다). 예시: [Try Haskell](http://tryhaskell.org), [Try Github](http://try.github.io).
- *상호작용을 할 수 있는 강좌* : 사용자가 코드를 입력하거나 명령어를 입력하여 평가을 받을 수 있는 웹사이트를 칭합니다(평가는 채점이 아닙니다). 예시: [Try Haskell](http://tryhaskell.org), [Try GitHub](http://try.github.io).
- *팟캐스트와 화면 녹화*
- *문제집 & 경쟁 하며 배우는 프로그래밍* : 문제를 풂으로서 프로그래밍 실력을 향상시키는데 도움을 주는 소프트웨어 또는 웹사이트를 칭합니다. 해당 소프트웨어 또는 웹사이트는 동료가 주체가 되는 코드 검토를 포함 할 수 있습니다.
4. 아래의 [가이드라인](#가이드라인) 을 참조하고 [마크다운 규격](#규격) 을 준수하여 주십시오.
5. 깃허브 액션이 각각의 리스트가 오름차순인지, 또하 규격이 준수되었는지 검수 할 것입니다. 각 제출이 검수를 통과하는지 확인해주십시오.
5. GitHub Actions는 각각의 **리스트가 오름차순인지**, 또하 **마크다운 규격이 준수되었는지** 검수 할 것입니다. 각 제출이 검수를 통과하**는지 확인해**주십시오.
### 가이드라인
- 책이 무료인지 반드시 확인 해 주십시오. 해당 책이 무료라고 생각하는 이유를 PR의 comment에 포함하는 것은 관리자들에게 큰 도움이 됩니다.
- 저희는 Google Drive, Dropbox, Mega, Scribd, Issuu 또는 유사한 파일 공유 시스템에 업로드된 파일들을 수락하지 않습니다.
- 바로가기를 오름차순으로 정렬해 주십시오. 만약 당신이 오름차순이 아닌 파일을 발견한다면, 수정후 PR을 보내주세요.
@ -35,19 +46,22 @@
2. `http` 버젼이 존재하지 않는다면, 기존의 링크를 사용하십시오. `https`형식또한 예외를 추가한다면 사용할 수 있습니다.
3. 이외의 경우에 *제외하십시오*
- 만약 바로가기가 여러 형식으로 존재한다면, 각각을 쪽지와 함께 모두 첨부해주세요.
- 만약 자료가 여러 사이트에 분산되어 있다면, 가장 믿을 수 있는 바로가기를 첨부해주세요. 만약 각각의 바로가기가 다른 버젼으로 향한다면, 쪽지와 함께 모두 포함하십시오. (참고: [Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353) 해당문서는 규격에 대해 설명합니다.)
- 만약 자료가 여러 사이트에 분산되어 있다면, 가장 믿을 수 있는 바로가기를 첨부해주세요. 만약 각각의 바로가기가 다른 버젼으로 향한다면, 쪽지와 함께 모두 포함하십시오. (참고: [Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353) 해당문서는 규격에 대해 설명합니다).
- 대량의 자료를 포함한 하나의 커밋보다는 작은 변화를 포함하는 여러개의 커밋이 선호됩니다.
- 만약 오래된 책이라면, 출판일을 제목과 함께 포함하세요.
- 작가(들)의 이름을 명시하십시오. "et al."을 사용하여 단축 할 수 있습니다.
- 만약 책이 아직 완결되지 않았다면, [아래](#in_process)에 명시되어 있다시피, "in progress" 표시를 추가하십시오.
- 만약 이메일 주소 또는 계정 생성이 다운로드 이전에 요청된다면, 별도의 노트를 첨부하세요.
- 작가(들)의 이름을 명시하십시오. "`et al.`"을 사용하여 단축 할 수 있습니다.
- 만약 책이 아직 완결되지 않았다면, [아래](#in_process)에 명시되어 있다시피, "`in process`" 표시를 추가하십시오.
- 만약 이메일 주소 또는 계정 생성이 다운로드 이전에 요청된다면, 별도의 노트를 첨부하세요. 예: `(이메일 주소 *요청됨*, 필요 없음)`.
### 규격
- 모든 목록은 `.md`파일 형식 이어야 합니다. 해당 형식의 문법은 간단하며, [Markdown](https://guides.github.com/features/mastering-markdown/) 에서 찾아 볼 수 있습니다.
- 모든 목록은 목차와 함께 시작해야 합니다. 각 항목을 목차에 연결하는 것이 목표입니다. 오름차순으로 정렬되어 있어야 합니다.
- 각 섹션은 3단계 헤딩을 사용합니다 (`###`). 하위 섹션은 4단계 헤딩을 사용합니다 (`####`).
반드시 포함하여야 하는 항목들:
- 마지막 바로가기와 새로운 섹션 사이의 줄바꿈 `2`
- 머리말과 섹션의 첫 바로가기 사이의 줄바꿈 `1`
- 두 바로가기 사이의 줄바꿈 `0`
@ -55,104 +69,113 @@
예시:
[...]
* [An Awesome Book](http://example.com/example.html)
```text
[...]
* [An Awesome Book](http://example.com/example.html)
(blank line)
(blank line)
### Example
### Example
(blank line)
* [Another Awesome Book](http://example.com/book.html)
* [Some Other Book](http://example.com/other.html)
* [Another Awesome Book](http://example.com/book.html)
* [Some Other Book](http://example.com/other.html)
```
- `]``(` 사이에 공백을 넣지 마십시오:
```
BAD : * [Another Awesome Book] (http://example.com/book.html)
GOOD: * [Another Awesome Book](http://example.com/book.html)
```
```text
BAD : * [Another Awesome Book] (http://example.com/book.html)
GOOD: * [Another Awesome Book](http://example.com/book.html)
```
- 저자를 표시할 경우, ` - `를 사용하십시오 (띄어쓰기 - 띄어쓰기):
```
BAD : * [Another Awesome Book](http://example.com/book.html)- John Doe
GOOD: * [Another Awesome Book](http://example.com/book.html) - John Doe
```
```text
BAD : * [Another Awesome Book](http://example.com/book.html)- John Doe
GOOD: * [Another Awesome Book](http://example.com/book.html) - John Doe
```
- 바로가기와 형식 사이에는 공백을 삽입 하십시오:
```
BAD : * [A Very Awesome Book](https://example.org/book.pdf)(PDF)
GOOD: * [A Very Awesome Book](https://example.org/book.pdf) (PDF)
```
```text
BAD : * [A Very Awesome Book](https://example.org/book.pdf)(PDF)
GOOD: * [A Very Awesome Book](https://example.org/book.pdf) (PDF)
```
- 저자는 형식 전에 옵니다:
```
BAD : * [A Very Awesome Book](https://example.org/book.pdf)- (PDF) Jane Roe
GOOD: * [A Very Awesome Book](https://example.org/book.pdf) - Jane Roe (PDF)
```
```text
BAD : * [A Very Awesome Book](https://example.org/book.pdf)- (PDF) Jane Roe
GOOD: * [A Very Awesome Book](https://example.org/book.pdf) - Jane Roe (PDF)
```
- 여러가지의 파일 형식이 존재할떄:
```
BAD : * [Another Awesome Book](http://example.com/)- John Doe (HTML)
BAD : * [Another Awesome Book](https://downloads.example.org/book.html)- John Doe (download site)
GOOD: * [Another Awesome Book](http://example.com/) - John Doe (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
```text
BAD : * [Another Awesome Book](http://example.com/)- John Doe (HTML)
BAD : * [Another Awesome Book](https://downloads.example.org/book.html)- John Doe (download site)
GOOD: * [Another Awesome Book](http://example.com/) - John Doe (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
- 오래된 책들은 출판 년도를 포함하세요:
```
BAD : * [A Very Awesome Book](https://example.org/book.html) - Jane Roe - 1970
GOOD: * [A Very Awesome Book (1970)](https://example.org/book.html) - Jane Roe
```
```text
BAD : * [A Very Awesome Book](https://example.org/book.html) - Jane Roe - 1970
GOOD: * [A Very Awesome Book (1970)](https://example.org/book.html) - Jane Roe
```
<a name="in_process"></a>
- 작성중인 책:
- <a id="in_process"></a>작성중인 책:
```text
GOOD: * [Will Be An Awesome Book Soon](http://example.com/book2.html) - John Doe (HTML) (:construction: *in process*)
```
```
GOOD: * [Will Be An Awesome Book Soon](http://example.com/book2.html) - John Doe (HTML) (:construction: *in process*)
```
### 노트(쪽지)
각 파일의 형식은 간단하지만, 목록에는 다양한 형태와 종류의 자료들이 존재할 수 있습니다. 아래에 나열될 항목들은 저희가 그런 다양성을 어떻게 다르는지에 대한 설명 입니다.
#### 메타데이터
각 목록은 최소한의 메타데이터만을 제공합니다: 제목, 바로가기 주소, 제작자, 플랫폼, 그리고 접속 노트
##### 제목
- 원제를 사용하세요. 저희는 원작(원본)의 제목을 사용하기를 원합니다. 기여자들은 가능한 원제에 가깝거나 동일한 제목을 제공하여야 합니다. 예외는 오래된 책들입니다. 독자들의 더 쉬운 이해와 검색을 위해 현대의 언어로 제목을 새로 짓는것은 허가됩니다.
- 대문자로만 이루어진 제목은 금지됩니다. 대부분 경우에 title case가 허가되지만, 확실하지 않다면 자료에 명시된 방식으로 기술 하세요.
##### 바로가기 주소
- 주소 길이를 줄이는 행위는 허가되지 않습니다.
- 추적을 위한 코드는 주소에서 제거되어야 합니다.
- 주소에 영어가 아닌 언어가 포함 된 주소는 허가되지 않습니다. 대부분의 브라우져에서 정상적인 동작을 하지만, 주소창을 그대로 복사해주세요. 부탁드립니다.
- 보안 주소(https)가 존재하는 경우, 보안 주소가 일반 주소(http)보다 선호됩니다.
- 보안 주소(`https`)가 존재하는 경우, 보안 주소가 일반 주소(`http`)보다 선호됩니다.
- 설명과 다른 웹페이지로 향하는 바로가기 주소는 선호되지 않습니다.
##### 제작자
- 저희는 무료로 자료들을 배포하는 제작자들(번역가들 포함)에게 감사함을 표합니다!
- 번역된 자료들의 경우, 원작자들이 우선적으로 명시되어야 합니다.
- 제작자들의 정보로 향하는 바로가기 주소는 허가되지 않습니다.
- 여러 작업물이 조합된 자료의 경우, "제작자"는 설명이 필요할 수 있습니다. 예를 들어, "GoalKicker" 책들의 제작자들은 "Compiled from StackOverflow documentation"로 명시되어야 합니다.
- 여러 작업물이 조합된 자료의 경우, "제작자"는 설명이 필요할 수 있습니다. 예를 들어, "GoalKicker" 책들의 제작자들은 "`Compiled from StackOverflow documentation`"로 명시되어야 합니다.
##### 플랫폼과 접속 노트
- 강좌, 특히 걍좌 목록의 경우, 플랫폼을 명시하는것이 필수적입니다. 각각의 강좌들의 플랫폼을 추가하여야 무료로 접속할 수 있음을 이용자들이 인지 할 수 있습니다. 일반적으로 로그인이 필요한 책은 목록에 포함하지 않지만, 강좌는 대부분 계정을 생성하지 않으면 접근 할 수 없기 때문에 예외로 합니다. 예시로는 Coursera, EdX, Udacity, 그리고 Udemy가 있습니다. 해당 강좌들이 플랫폼 의존적이라면, 플랫폼의 이름은 반드시 포함되어야 합니다.
- 만약 강좌가 유튜브에 존재하는 경우, 유튜브는 플랫폼으로 간주하지 않고, 크리에이터를 명시합니다.
- 유튜브 영상들은 각각의 영상이 한시간이 넘지 않는 경우에는 바로가기 주소를 포함하지 않습니다.
- Leanpub는 많은 책들과 강좌에 접근을 제공합니다. 경우에 따라 회원가입 없이 접근 할 수 있는 책들 또한 존재합니다. 경우에 따라 *(Leanpub account or valid email requested)* 노트를 포함하여 목록을 작성해야 합니다.
- 유튜브. YouTube 재생 목록으로 구성된 많은 과정이 있습니다. YouTube를 플랫폼으로 나열하지 않고 종종 하위 플랫폼인 YouTube 제작자를 나열하려고 합니다.
- 유튜브 영상. 우리는 일반적으로 1시간 이상 길이가 코스나 튜토리얼처럼 구성되지 않는 한 개별 YouTube 동영상에 링크하지 않습니다.
- Leanpub는 많은 책들과 강좌에 접근을 제공합니다. 경우에 따라 회원가입 없이 접근 할 수 있는 책들 또한 존재합니다. 경우에 따라 `*(Leanpub account or valid email requested)*` 노트를 포함하여 목록을 작성해야 합니다.
#### 장르
자료가 어떤 장르에 속하는지 결정하는 첫번째 방법은 해당 자료의 분류에 따르는 것입니다.
##### 기술하지않는 장르
인터넷에는 너무 다양하고 정확하지않은 자료들이 있기에, 저희는 다음 장르를 포함하지 않습니다:
@ -191,6 +214,7 @@ GOOD: * [Will Be An Awesome Book Soon](http://example.com/book2.html) - John Doe
강좌는 종종 책을 보조교재로 사용하는데, 이것은 상기한 책의 특성에 의해 목록에 추가 될 수 있습니다. 이 보조교재에는 종종 강의 노트, 연습 문제, 시험, 등등이 포함됩니다. 영상/강의 하나는 강좌로 간주되지 않습니다. 또한, 파워포인트는 강좌가 아닙니다.
##### 상호작용 강의 vs. 다른 자료
만약 강의가 인쇄되어서도 사용 될 수 있다면, 상호작용 강의에 포함되지 않습니다.
@ -198,13 +222,13 @@ GOOD: * [Will Be An Awesome Book Soon](http://example.com/book2.html) - John Doe
### 자동화
- 규격 규칙은 [GitHub Actions](https://github.com/features/actions)에 의해 [fpb-lint](https://github.com/vhf/free-programming-books-lint)를 사용하여 강제됩니다 (see [.github/workflows/fpb-lint.yml](.github/workflows/fpb-lint.yml))
- 규격 규칙은 [GitHub Actions](https://github.com/features/actions)에 의해 [fpb-lint](https://github.com/vhf/free-programming-books-lint)를 사용하여 강제됩니다 (see [`.github/workflows/fpb-lint.yml`](../.github/workflows/fpb-lint.yml))
- 바로가기 주소 검증은 [awesome_bot](https://github.com/dkhamsing/awesome_bot)를 이용합니다
- 바로가기 주소 검증을 위해 커밋 메시지에 `check_urls=file_to_check`을 포함해 주세요:
```
check_urls=free-programming-books.md free-programming-books-en.md
```
```properties
check_urls=free-programming-books.md free-programming-books-ko.md
```
- 각 입력을 공백으로 구문하여 하나 이상의 파일을 검사 할 수 있습니다.
- 만약 하나 이상의 파일을 검사한다면, 검사 결과는 마지막 파일의 검사 결과가 표시됩니다. 이 특성으로 인하여 통과를 받았더라도 관리자에 의하여 최종 승인이 보류 될 수 있습니다. 정확한 결과를 확인 하려면, "Show all checks" -> "Details"로 가세요.

View File

@ -1,38 +1,47 @@
*[Leia em outros idiomas](../README.md#translations)*
*[Leia em outros idiomas](README.md#translations)*
## Acordo de Licença do Contribuidor
Ao contribuir você concorda com a [LICENSE](../LICENSE) deste repositório.
## Código de Conduta do Contribuidor
Ao contribuir você concorda em respeitar o [Código de Conduta](CODE_OF_CONDUCT-pt_BR.md) deste repositório. ([translations](../README.md#translations))
Ao contribuir você concorda em respeitar o [Código de Conduta](CODE_OF_CONDUCT-pt_BR.md) deste repositório. ([translations](README.md#translations))
## Em poucas palavras
1. "Um _link_ para baixar um livro facilmente" nem sempre é um _link_ para um livro *gratuito*. Por favor contribua apenas com conteúdo gratuito. Certifique-se de que é grátis. Não são aceitos _links_ para páginas que *requerem* um endereço de email para obter livros, mas aceitamos listas que requerem.
2. Não é necessário saber Git: se você encontrou algo interessante que *não está presente neste repositório*, por favor abra uma [Issue](https://github.com/EbookFoundation/free-programming-books/issues) com todas as propostas de _links_.
- Se você sabe Git, faça um _Fork_ do repositório e mande um _pull request_.
- Se você sabe Git, faça um _Fork_ do repositório e mande um _Pull Request (PR)_.
3. Possuimos 5 tipos de listas. Escolha a mais adequada:
- *Livros*: PDF, HTML, ePub, sites baseados no gitbook.io, um repositório Git, etc.
- *Cursos*: Um curso é um material didático que não é um livro. [Isso é um curso](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/).
- *Tutoriais Interativos*: Um site interativo que permite ao usuário digitar código ou comandos e computa o resulta (por "computar" não queremos dizer "avaliar"). Por exemplo: [Try Haskell](http://tryhaskell.org), [Try Github](http://try.github.io).
- *Tutoriais Interativos*: Um site interativo que permite ao usuário digitar código ou comandos e computa o resulta (por "computar" não queremos dizer "avaliar"). Por exemplo: [Try Haskell](http://tryhaskell.org), [Try GitHub](http://try.github.io).
- *Podcasts e Screencasts* : Podcasts e screencasts.
- *Conjuntos de Problemas e Programação Competitiva* : Um site ou software que permite avaliar suas habilidades de programação através da resolução de problemas simples ou complexos, com ou sem revisão de código, com ou sem comparação de resultados com outros usuários.
4. Certifique-se de seguir as [diretrizes abaixo](#diretrizes) e respeitar a [formatação de Markdown](#formatação) dos arquivos.
5. GitHub Actions executará testes para assegurar que suas listas estão em ordem alfabética e seguem as regras de formatação. Cerfique-se de que suas alterações passaram pelos testes.
5. GitHub Actions executará testes para assegurar que suas **listas estão em ordem alfabética** e **seguem as regras de formatação**. **Cerfique-se** de que suas alterações passaram pelos testes.
### Diretrizes
- certifique-se de que o livro é gratuito. Verifique múltiplas vezes se necessário. Comentar no PR por quê você acha que o livro é gratuito ajuda os administradores.
- não aceitamos arquivos hospedados no Google Drive, Dropbox, Mega, Scribd, Issuu e outras plataformas similares de _upload_ de arquivos.
- insira seus _links_ em ordem alfabética. Se vir um _link_ fora de ordem, por favor reordene-o e crie um PR.
- use o _link_ com a fonte mais oficial (isso significa que o site do próprio autor é melhor que o site da editora, que é melhor que sites de terceiros)
+ sem serviços de hospedagem de arquivos (isso inclui (mas não se limita a) _links_ do Dropbox e Google Drive)
- sem serviços de hospedagem de arquivos (isso inclui (mas não se limita a) _links_ do Dropbox e Google Drive)
- sempre prefira um _link_ `https` em vez de `http` -- desde que estejam no mesmo domínio e sirvam o mesmo conteúdo.
- em domínios raiz, remova a barra final: `http://exemplo.com` ao invés de `http://exemplo.com/`
- sempre prefira o _link_ mais curto: `http://exemplo.com/dir/` é melhor que `http://exemplo.com/dir/index.html`
+ sem _links_ vindos de encurtadores de _links_
- sem _links_ vindos de encurtadores de _links_
- prefira o _link_ "_current_" ao invés de _"version"_: `http://exemplo.com/dir/book/current/` é melhor que `http://exemplo.com/dir/book/v1.0.0/index.html`
- se um _link_ possui um certificado expirado/autoassinado/problema de SSL de qualquer outro tipo:
1. *substitua-o* por seu equivalente `http` se possível (pois aceitar exceções pode ser complicado em dispositivos móveis).
@ -40,20 +49,23 @@ Ao contribuir você concorda em respeitar o [Código de Conduta](CODE_OF_CONDUCT
3. *remova-o* caso contrário.
- se o _link_ existir em múltiplos formatos, adicione um _link_ separado com uma observação sobre cada formato.
- se o material existe em diferentes lugares na Internet
+ use o _link_ com a fonte mais oficial (isso significa que o site do autor é melhor que o site da editora que é melhor que sites de terceiros)
+ se eles referenciam diferentes edições, e você julgar que essas edições são diferentes o bastante para mantê-las, adicione um _link_ separado com uma observação para cada edição (veja [Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353) para contribuir com a discussão sobre formatação).
- use o _link_ com a fonte mais oficial (isso significa que o site do autor é melhor que o site da editora que é melhor que sites de terceiros)
- se eles referenciam diferentes edições, e você julgar que essas edições são diferentes o bastante para mantê-las, adicione um _link_ separado com uma observação para cada edição (veja [Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353) para contribuir com a discussão sobre formatação).
- prefira _commits_ atômicos (um _commit_ para cada adição/deleção/modificação) ao invés de _commits_ maiores. Não é necessário fazer o _squash_ de seus _commits_ antes de submeter um PR. Nunca iremos impor esta regra dado que é apenas uma questão de conveniência para os mantenedores).
- se o livro for mais antigo, inclua a data de publicação no título.
- inclua o(s) nome(s) do(s) autor(es) onde for apropriado. Você pode encurtar a lista de autores com "et al".
- se o livro não estiver completo, e ainda está sendo escrito, adicione a notação "em processo", como descrito [abaixo.](#em_processo)
- inclua o(s) nome(s) do(s) autor(es) onde for apropriado. Você pode encurtar a lista de autores com "`et al`".
- se o livro não estiver completo, e ainda está sendo escrito, adicione a notação "`in process`", como descrito [abaixo](#in_process).
- se um endereço de email ou configuração de conta for solicitado antes que o _download_ seja habilitado, adicione uma observação no idioma apropriado e entre parênteses. Por exemplo: `(endereço de email é *pedido*, não obrigatório)`.
### Formatação
- Todas as listas são arquivos `.md`. Tente aprender a sintaxe de [Markdown](https://guides.github.com/features/mastering-markdown/). É simples!
- Todas as listas começam com um Índice. A ideia é listar e "_linkar_" todas as seções e subseções lá. Mantenha-o em ordem alfabética.
- Seções são títulos de nível 3 (`###`), e subseções são títulos de nível 4 (`####`).
A ideia é ter:
- `2` linhas em branco entre o último _link_ e a nova seção.
- `1` linha em branco entre o título e o primeiro _link_ da seção.
- `0` linhas em branco entre dois _links_.
@ -61,104 +73,113 @@ A ideia é ter:
Exemplo:
[...]
* [Um Livro Incrível](http://exemplo.com/exemplo.html)
```text
[...]
* [Um Livro Incrível](http://exemplo.com/exemplo.html)
(linha em branco)
(linha em branco)
### Exemplo
### Exemplo
(linha em branco)
* [Outro Livro Incrível](http://exemplo.com/livro.html)
* [Outro Livro Qualquer](http://exemplo.com/outro.html)
* [Outro Livro Incrível](http://exemplo.com/livro.html)
* [Outro Livro Qualquer](http://exemplo.com/outro.html)
```
- Não coloque espaços entre `]` e `(`:
```
RUIM : * [Outro Livro Incrível] (http://exemplo.com/livro.html)
BOM : * [Outro Livro Incrível](http://exemplo.com/livro.html)
```
```text
RUIM: * [Outro Livro Incrível] (http://exemplo.com/livro.html)
BOM : * [Outro Livro Incrível](http://exemplo.com/livro.html)
```
- Se incluir o autor, use ` - ` (um traço envolto por espaços simples):
```
RUIM : * [Outro Livro Incrível](http://exemplo.com/livro.html)- Fulano de Tal
BOM : * [Outro Livro Incrível](http://exemplo.com/livro.html) - Fulano de Tal
```
```text
RUIM: * [Outro Livro Incrível](http://exemplo.com/livro.html)- Fulano de Tal
BOM : * [Outro Livro Incrível](http://exemplo.com/livro.html) - Fulano de Tal
```
- Coloque um espaço simples entre o _link_ e seu formato:
```
RUIM : * [Um Livro Muito Incrível](https://exemplo.org/livro.pdf)(PDF)
BOM : * [Um Livro Muito Incrível](https://exemplo.org/livro.pdf) (PDF)
```
```text
RUIM: * [Um Livro Muito Incrível](https://exemplo.org/livro.pdf)(PDF)
BOM : * [Um Livro Muito Incrível](https://exemplo.org/livro.pdf) (PDF)
```
- Autor vem antes do formato:
```
RUIM : * [Um Livro Muito Incrível](https://exemplo.org/livro.pdf)- (PDF) Fulana de Tal
BOM : * [Um Livro Muito Incrível](https://exemplo.org/livro.pdf) - Fulana de Tal (PDF)
```
```text
RUIM: * [Um Livro Muito Incrível](https://exemplo.org/livro.pdf)- (PDF) Fulana de Tal
BOM : * [Um Livro Muito Incrível](https://exemplo.org/livro.pdf) - Fulana de Tal (PDF)
```
- Múltiplos formatos:
```
RUIM : * [Outro Livro Incrível](http://exemplo.com/)- Fulano de Tal (HTML)
RUIM : * [Outro Livro Incrível](https://downloads.exemplo.org/livro.html)- Fulano de Tal (download site)
BOM : * [Outro Livro Incrível](http://exemplo.com/) - Fulano de Tal (HTML) [(PDF, EPUB)](https://downloads.exemplo.org/livro.html)
```
```text
RUIM: * [Outro Livro Incrível](http://exemplo.com/)- Fulano de Tal (HTML)
RUIM: * [Outro Livro Incrível](https://downloads.exemplo.org/livro.html)- Fulano de Tal (download site)
BOM : * [Outro Livro Incrível](http://exemplo.com/) - Fulano de Tal (HTML) [(PDF, EPUB)](https://downloads.exemplo.org/livro.html)
```
- Inclua o ano de publicação no título de livros antigos:
```
RUIM : * [Um Livro Muito Incrível](https://exemplo.org/livro.html) - Fulana de Tal - 1970
BOM : * [Um Livro Muito Incrível (1970)](https://exemplo.org/livro.html) - Fulana de Tal
```
```text
RUIM: * [Um Livro Muito Incrível](https://exemplo.org/livro.html) - Fulana de Tal - 1970
BOM : * [Um Livro Muito Incrível (1970)](https://exemplo.org/livro.html) - Fulana de Tal
```
<a name="em_processo"></a>
- Livros em processo:
- <a id="in_process"></a>Livros em processo:
```text
BOM : * [Será Um Livro Incrível Em Breve](http://exemplo.com/livro2.html) - Fulano de Tal (HTML) (:construction: *em processo*)
```
```
BOM : * [Será Um Livro Incrível Em Breve](http://exemplo.com/livro2.html) - Fulano de Tal (HTML) (:construction: *em processo*)
```
### Observações
As noções básicas são relativamente simples, mas há uma grande diversidade de materiais que listamos. Aqui estão algumas observações sobre como tratamos essa diversidade.
#### Metadados
Nossas listas fornecem um conjunto mínimo de metadados: títulos, URLs, criadores, plataformas e notas de acesso.
##### Títulos
- Sem títulos inventados. Tentamos utilizar os títulos dos próprios materiais; contribuidores são aconselhados a não inventar títulos ou usá-los editorialmente se possível evitar. Uma exceção é para trabalhos antigos; se forem primariamente de interesse histórico, o ano entre parênteses adicionado ao título ajuda os usuários a saber se é de seu interesse.
- Sem título EM CAIXA ALTA. Normalmente "_title case_" é apropriado. Em caso de dúvida, use a capitalização da fonte.
##### URLs
- Não permitimos encurtadores de URLs.
- Códigos de rastreamento devem ser removidos da URL.
- URLs internacionais devem ser escapadas. Barras de endereço dos navegadores normalmente renderizam eles em Unicode, mas use copiar e colar, por favor.
- URLs seguras (https) sempre são preferidas no lugar de URLs não-seguras (http) quando https estiver disponível.
- URLs seguras (`https`) sempre são preferidas no lugar de URLs não-seguras (`http`) quando HTTPS estiver disponível.
- Não gostamos de URLs que apontam para páginas que não hospedam o material listado, mas apontam para outro lugar.
##### Criadores
- Queremos creditar os criadores do material gratuito apropriadamente, incluindo tradutores!
- Para trabalhos traduzidos, o autor original deve ser creditado.
- Não permitimos _links_ para Criadores.
- Para compilações ou trabalhos remixados, o "criador" pode precisar de uma descrição. Por exemplo, os livros "GoalKicker" são creditados como "Compilado da documento do StackOverflow"
- Para compilações ou trabalhos remixados, o "criador" pode precisar de uma descrição. Por exemplo, os livros "GoalKicker" são creditados como "`Compilado da documento do StackOverflow`" (em inglês: "`Compiled from StackOverflow documentation`").
##### Plataforma e Notas de Acesso
- Cursos. Especificamente para nossa lista de cursos, a plataforma é uma parte importante da descrição do material. Isso acontece pois plataformas de cursos possuem _affordances_ e modelos de acesso diferentes. Normalmente não listamos um livro que requer um cadastro, muitas plataformas de cursos possuem _affordances_ que não funcionam sem algum tipo de conta. Exemplos de plataformas de cursos incluem Coursera, EdX, Udacity, e Udemy. Quando o curso depende da plataforma, o nome da plataforma deve ser listado em parênteses.
- YouTube. Temos muitos cursos que consistem em _playlists_ do YouTube. Não listamos YouTube como uma plataforma, tentamos listar o criador no YouTube, que normalmente é uma subplataforma.
- Vídeos do YouTube. Normalmente não usamos vídeos do YouTube individuais a não ser que tenham mais de uma hora e sejam estruturados como um curso ou tutorial.
- Leanpub. Leanpub hospeda livros com uma variedade de modelos de acesso. Algumas vezes, um livro pode ser lido sem necessidade de registro; algumas vezes um livro requer uma conta Leanpub para acesso gratuito. Dada a qualidade dos livros e a mistura e fluidez dos modelos de acesso do Leanpub, permitimos a listagem deste com uma observação de acesso *(Conta Leanpub ou email válido solicitado)*
- Leanpub. Leanpub hospeda livros com uma variedade de modelos de acesso. Algumas vezes, um livro pode ser lido sem necessidade de registro; algumas vezes um livro requer uma conta Leanpub para acesso gratuito. Dada a qualidade dos livros e a mistura e fluidez dos modelos de acesso do Leanpub, permitimos a listagem deste com uma observação de acesso `*(Conta Leanpub ou email válido solicitado)*`.
#### Gêneros
A primeira regra ao decidir a qual lista um material pertence é ver como o próprio material se descreve. Se diz que é um livro, então talvez seja um livro.
##### Gêneros não listados
Dada a vastidão da Internet, não incluimos em nossas listas:
@ -205,13 +226,13 @@ Se você pode capturar a tela ou imprimí-la e reter sua essência, então não
### Automação
- Aplicação das regras de formatação é automatizada via [GitHub Actions](https://github.com/features/actions) usando [fpb-lint](https://github.com/vhf/free-programming-books-lint) (veja [.github/workflows/fpb-lint.yml](.github/workflows/fpb-lint.yml))
- Aplicação das regras de formatação é automatizada via [GitHub Actions](https://github.com/features/actions) usando [fpb-lint](https://github.com/vhf/free-programming-books-lint) (veja [`.github/workflows/fpb-lint.yml`](../.github/workflows/fpb-lint.yml))
- Validação de URL usa [awesome_bot](https://github.com/dkhamsing/awesome_bot)
- Para ativar a validação de URL, dê _push_ num _commit_ que inclua uma mensagem de _commit_ contendo `check_urls=file_to_check`:
```
check_urls=free-programming-books.md free-programming-books-pt_BR.md
```
```properties
check_urls=free-programming-books.md free-programming-books-pt_BR.md
```
- Você pode especificar mais de um arquivo para checagem, usando um espaço simples para separar cada entrada.
- Se você especificar mais de um arquivo, os resultados de _build_ serão baseados no resultado do último arquivo verificado. Você deve se atentar para o fato de que pode obter um _build_ com verde de sucesso devido a isso. Então, certifique-se de inspecionar o _build log_ ao final de cada _pull request_ clicando em "Show all checks" -> "Details".
- Se você especificar mais de um arquivo, os resultados de _build_ serão baseados no resultado do último arquivo verificado. Você deve se atentar para o fato de que pode obter um _build_ com verde de sucesso devido a isso. Então, certifique-se de inspecionar o _build log_ ao final de cada _Pull Request_ clicando em "Show all checks" -> "Details".

View File

@ -1,67 +1,76 @@
*[Доступно на других языках](../README.md#translations)*
*[Доступно на других языках](README.md#
<a name="contributor-license-agreement"></a>
<!----><a id="contributor-license-agreement"></a>
## Лицензионное соглашение с участником
Принимая участие, вы соглашаетесь с [ЛИЦЕНЗИЕЙ](../LICENSE) этого репозитория.
<a name="contributor-code-of-conduct"></a>
<!----><a id="contributor-code-of-conduct"></a>
## Кодекс поведения автора
Принимая участие, вы соглашаетесь соблюдать [Кодекс поведения](CODE_OF_CONDUCT-ru.md) этого репозитория. ([translations](../README.md#translations))
Принимая участие, вы соглашаетесь соблюдать [Кодекс поведения](CODE_OF_CONDUCT-ru.md) этого репозитория. ([translations](README.md#
<a name="in-a-nutshell"></a>
<!----><a id="in-a-nutshell"></a>
## В двух словах
1. «Ссылка для легкой загрузки книги» не всегда является ссылкой на *бесплатную* книгу. Пожалуйста, размещайте только бесплатный контент. Убедитесь, что это бесплатно. Мы не принимаем ссылки на страницы, которым *требуются* адреса электронной почты на рабочем домене для получения книг. Однако мы приветствуем списки, которые запрашивают их.
2. Вам необязательно знать Git: если вы нашли что-то интересное, чего *еще нет в этом репозитории*, пожалуйста, откройте [Issue](https://github.com/EbookFoundation/free-programming-books/issues) с вашими предложениями.
- Если вы знакомы с Git, пожалуйста форкните репозиторий и пришлите пулреквест.
- Если вы знакомы с Git, пожалуйста форкните репозиторий и пришлите пулреквест (PR).
3. У нас есть 5 видов списков. Выберите подходящий:
- *Книги*: PDF, HTML, ePub, сайт на основе gitbook.io, репозиторий Git и т. Д.
- *Курсы*: курс - это учебный материал, который не является книгой. [Это курс](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/).
- *Интерактивные учебные пособия*: интерактивный веб-сайт, который позволяет пользователю вводить код или команды и оценивать результат (под «результатом» мы не подразумеваем «оценку»). например: [Попробуйте Haskell](http://tryhaskell.org), [Попробуйте Github](http://try.github.io).
- *Интерактивные учебные пособия*: интерактивный веб-сайт, который позволяет пользователю вводить код или команды и оценивать результат (под «результатом» мы не подразумеваем «оценку»). например: [Попробуйте Haskell](http://tryhaskell.org), [Попробуйте GitHub](http://try.github.io).
- *Подкасты и скринкасты*: подкасты и скринкасты.
- *Наборы задач и соревновательное программирование*: веб-сайт или программа, которое позволяет вам оценить свои навыки программирования, решая простые или сложные задачи, с проверкой кода или без нее, со сравнением результатов с результатами других пользователей или без него.
4. Обязательно следуйте [Руководству, приведённому ниже](#guidelines) и соблюдайте [Markdown форматирование](#formatting) файлов.
5. GitHub Actions запустит тесты, чтобы убедиться, что ваши списки отсортированы по алфавиту и соблюдаются правила форматирования. Обязательно проверьте, чтобы ваши изменения прошли проверку.
5. GitHub Actions запустит тесты, чтобы убедиться, что ваши **списки отсортированы по алфавиту** и **соблюдаются правила форматирования**. **Обязательно проверьте**, чтобы ваши изменения прошли проверку.
<a name="guidelines"></a>
<!----><a id="guidelines"></a>
### Руководство
- Убедитесь что книга бесплатна. При необходимости проверьте еще раз. Администраторам помогает, если вы описываете в PR, почему вы думаете, что книга бесплатная.
- Мы не принимаем файлы, размещенные на Google Drive, Dropbox, Mega, Scribd, Issuu и других подобных платформах для загрузки файлов.
- Вставляйте ссылки в алфавитном порядке. Если вы видите ссылку нарушающую порядок, измените ее порядок и отправьте PR
- Используйте ссылку с наиболее авторитетным источником (то есть сайт автора лучше, чем сайт редактора, что лучше, чем сторонний сайт)
+ не с файловых хостингов (включая (но не ограничиваясь) ссылками на Dropbox и Google Drive)
- всегда предпочитайте ссылку https вместо ссылки http - если они находятся в одном домене и обслуживают один и тот же контент
- не с файловых хостингов (включая (но не ограничиваясь) ссылками на Dropbox и Google Drive)
- всегда предпочитайте ссылку `https` вместо ссылки `http` - если они находятся в одном домене и обслуживают один и тот же контент
- в корневых доменах удалите косую черту в конце: `http://example.com` вместо `http://example.com/`
- всегда предпочитайте самую короткую ссылку: `http://example.com/dir/` лучше, чем `http://example.com/dir/index.html`
+ избегайте сервисы сокращения ссылок
- избегайте сервисы сокращения ссылок
- Обычно предпочитают ссылку на "актуальную" версию, чем на конкретную: `http://example.com/dir/book/current/` лучше, чем `http://example.com/dir/book/v1.0.0/index.html`
- Если ссылка имеет просроченный сертификат/самоподписанный сертификат/SSL-сертификат любого другого типа:
1. *замените её* его эквивалентом http, если это возможно (поскольку принятие исключений может быть затруднено на мобильных устройствах).
2. *оставьте её*, если версия http недоступна, но ссылка все еще доступна через https путем добавления исключения в браузер или игнорирования предупреждения.
2. *оставьте её*, если версия http недоступна, но ссылка все еще доступна через `https` путем добавления исключения в браузер или игнорирования предупреждения.
3. *удалите* в противном случае.
- Если ссылка существует в нескольких форматах, добавьте отдельную ссылку с примечанием о каждом формате
- Если ресурс существует в разных местах в Интернете
+ используйте ссылку с наиболее авторитетным источником (это означает, что сайт автора лучше, чем сайт редактора, лучше, чем сторонний сайт)
+ если они ссылаются на разные выпуски и вы считаете, что эти выпуски достаточно разные, чтобы их стоило сохранить, добавьте отдельную ссылку с примечанием о каждом выпуске (см. [Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353), чтобы обсудить форматирование.)
- используйте ссылку с наиболее авторитетным источником (это означает, что сайт автора лучше, чем сайт редактора, лучше, чем сторонний сайт)
- если они ссылаются на разные выпуски и вы считаете, что эти выпуски достаточно разные, чтобы их стоило сохранить, добавьте отдельную ссылку с примечанием о каждом выпуске (см. [Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353), чтобы обсудить форматирование).
- Предпочитайте атомарные коммиты (по одному коммиту на каждое добавление/удаление/модификацию) большим коммитам. Не нужно собирать все коммиты в один перед тем, как отправить PR. (Мы никогда не будем настаивать на этом, поскольку это просто вопрос удобства для сопровождающих)
- Если книга более старая, укажите дату публикации в названии.
- Укажите имя автора или имена там, где это необходимо. Вы можете сократить списки авторов с помощью «и др.».
- если книга не закончена, и работа над ней продолжается, добавьте пометку «в процессе», как описано [ниже.](#in_process)
- если перед загрузкой запрашивается адрес электронной почты или настройка учетной записи, добавьте в скобки примечания на соответствующем языке, например: `(адрес электронной почты *запрашивают*, но он не требуется для загрузки)`
- Укажите имя автора или имена там, где это необходимо. Вы можете сократить списки авторов с помощью «`и др.`» («`et al.`»).
- если книга не закончена, и работа над ней продолжается, добавьте пометку «`в процессе`», как описано [ниже](#in_process).
- если перед загрузкой запрашивается адрес электронной почты или настройка учетной записи, добавьте в скобки примечания на соответствующем языке, например: `(адрес электронной почты *запрашивают*, но он не требуется для загрузки)`.
<a name="formatting"></a>
<!----><a id="formatting"></a>
### Форматирование
- Все списки представляют собой файлы с расширением .md. Попробуйте изучить синтаксис [Markdown](https://guides.github.com/features/mastering-markdown/). Это просто!
- Все списки представляют собой файлы с расширением `.md`. Попробуйте изучить синтаксис [Markdown](https://guides.github.com/features/mastering-markdown/). Это просто!
- Все списки начинаются с индекса. Идея состоит в том, чтобы перечислить и связать там все разделы и подразделы. Храните их в алфавитном порядке.
- В разделах используются заголовки уровня 3 (`###`), а в подразделах используются заголовки уровня 4 (`####`).
Идея состоит в том, чтобы иметь:
- `2` пустые строки между последней ссылкой и новым разделом.
- `1` пустую строку между заголовком и первой ссылкой его раздела.
- `0` пустых ссылок между двумя ссылками.
@ -69,111 +78,121 @@
Пример:
[...]
* [Шикарная книга](http://example.com/example.html)
```text
[...]
* [Шикарная книга](http://example.com/example.html)
(пустая строка)
(пустая строка)
### Пример
### Пример
(пустая строка)
* [Другая шикарная книга](http://example.com/book.html)
* [Ещё одна другая книга](http://example.com/other.html)
* [Другая шикарная книга](http://example.com/book.html)
* [Ещё одна другая книга](http://example.com/other.html)
```
- Не вставляйте пробел между `]` и `(`:
```
ПЛОХО : * [Другая шикарная книга] (http://example.com/book.html)
ХОРОШО: * [Другая шикарная книга](http://example.com/book.html)
```
```text
ПЛОХО : * [Другая шикарная книга] (http://example.com/book.html)
ХОРОШО: * [Другая шикарная книга](http://example.com/book.html)
```
- Если вы указываете автора, используйте ` - ` (тире, окруженное одиночными пробелами):
```
ПЛОХО : * [Другая шикарная книга](http://example.com/book.html)- Джон Доу
ХОРОШО: * [Другая шикарная книга](http://example.com/book.html) - Джон Доу
```
```text
ПЛОХО : * [Другая шикарная книга](http://example.com/book.html)- Джон Доу
ХОРОШО: * [Другая шикарная книга](http://example.com/book.html) - Джон Доу
```
- Отбейте ссылку и её формат пробелом:
```
ПЛОХО : * [Очень хорошая книга](https://example.org/book.pdf)(PDF)
ХОРОШО: * [Очень хорошая книга](https://example.org/book.pdf) (PDF)
```
```text
ПЛОХО : * [Очень хорошая книга](https://example.org/book.pdf)(PDF)
ХОРОШО: * [Очень хорошая книга](https://example.org/book.pdf) (PDF)
```
- Сперва автор, потом формат:
```
ПЛОХО : * [Очень хорошая книга](https://example.org/book.pdf)- (PDF) Джейн Роу
ХОРОШО: * [Очень хорошая книга](https://example.org/book.pdf) - Джейн Роу (PDF)
```
```text
ПЛОХО : * [Очень хорошая книга](https://example.org/book.pdf)- (PDF) Джейн Роу
ХОРОШО: * [Очень хорошая книга](https://example.org/book.pdf) - Джейн Роу (PDF)
```
- Несколько форматов:
```
ПЛОХО : * [Другая шикарная книга](http://example.com/)- Джон Доу (HTML)
ПЛОХО : * [Другая шикарная книга](https://downloads.example.org/book.html)- Джон Доу (cайт для загрузки)
ХОРОШО: * [Другая шикарная книга](http://example.com/) - Джон Доу (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
```text
ПЛОХО : * [Другая шикарная книга](http://example.com/)- Джон Доу (HTML)
ПЛОХО : * [Другая шикарная книга](https://downloads.example.org/book.html)- Джон Доу (cайт для загрузки)
ХОРОШО: * [Другая шикарная книга](http://example.com/) - Джон Доу (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
- Включите год публикации в заголовок для старых книг:
```
ПЛОХО : * [Очень хорошая книга](https://example.org/book.html) - Джейн Роу - 1970
ХОРОШО: * [Очень хорошая книга (1970)](https://example.org/book.html) - Джейн Роу
```
```text
ПЛОХО : * [Очень хорошая книга](https://example.org/book.html) - Джейн Роу - 1970
ХОРОШО: * [Очень хорошая книга (1970)](https://example.org/book.html) - Джейн Роу
```
<a name="in_process"></a>
- Незавершенные книги:
- <a id="in_process"></a>Незавершенные книги:
```
ХОРОШО: * [Скоро будет отличная книга](http://example.com/book2.html) - Джон Доу (HTML) (:construction: *in process*)
```
<a name="notes"></a>
```text
ХОРОШО: * [Скоро будет отличная книга](http://example.com/book2.html) - Джон Доу (HTML) (:construction: *in process*)
```
<!----><a id="notes"></a>
### Примечания
Хотя основы относительно просты, перечисленные нами ресурсы очень разнообразны. Вот несколько замечаний о том, как мы справляемся с этим разнообразием.
<a name="metadata"></a>
<!----><a id="metadata"></a>
#### Метаданные
Наши списки предоставляют минимальный набор метаданных: заголовки, URL-адреса, создателей, платформы и примечания к доступу.
<a name="titles"></a>
<!----><a id="titles"></a>
##### Заголовки
- Никаких вымышленных названий. Мы стараемся брать названия с самих ресурсов; призываем авторов пулреквестов не придумывать заголовки и не использовать их в редакционных целях, если этого можно избежать. Исключение составляют более старые работы; если они представляют в первую очередь исторический интерес, год в скобках, добавленный к названию, помогает пользователям узнать, представляют ли они интерес.
- Избегайте заголовков ПОЛНОСТЬЮ ЗАГЛАВНЫМИ БУКВАМИ. Обычно уместен регистр заголовка, но в случае сомнений используйте заглавные буквы из источника.
<a name="urls"></a>
<!----><a id="urls"></a>
##### URLs
- Мы не разрешаем сокращенные URL-адреса.
- Коды отслеживания должны быть удалены из URL.
- Международные URL-адреса должны быть экранированы. Адресная панель браузера обычно отображают их в Unicode, но, пожалуйста, используйте копирование и вставку.
- Безопасные (https) URL-адреса всегда предпочтительнее небезопасных (http) URL-адресов, в которых реализован https.
- Безопасные (`https`) URL-адреса всегда предпочтительнее небезопасных (`http`) URL-адресов, в которых реализован HTTPS.
- Нам не нравятся URL-адреса, которые указывают на страницы со ссылкой на другое место вместо указанного ресурса.
<a name="creators"></a>
<!----><a id="creators"></a>
##### Creators
- Хотим поблагодарить создателей бесплатных ресурсов, где это возможно, в том числе переводчиков!
- Для переведенных работ следует указать оригинального автора.
- Мы не разрешаем ссылки на авторов.
- Для подборок и смешенных изданий «создателю» может потребоваться описание. Например, книги «GoalKicker» считаются «Скомпилированными из документации StackOverflow».
- Для подборок и смешенных изданий «создателю» может потребоваться описание. Например, книги «GoalKicker» считаются «`Скомпилированными из документации StackOverflow`» ("на английском: «`Compiled from StackOverflow documentation`»).
<a name="platforms-and-access-notes"></a>
<!----><a id="platforms-and-access-notes"></a>
##### Платформы и примечания к доступу
- Курсы. Платформа является важной частью описания ресурсов, особенно для наших списков курсов. Это связано с тем, что платформы курсов имеют разные возможности и модели доступа. Хотя мы обычно не перечисляем книги, требующие регистрации, на многих платформах курсов есть возможности, которые не работают без какой-либо учетной записи. Например, как на Coursera, EdX, Udacity и Udemy. Если курс зависит от платформы, название платформы должно быть указано в скобках.
- YouTube. У нас есть много курсов, состоящих из плейлистов YouTube. Мы не указываем Youtube как платформу, мы пытаемся указать автора на Youtube, который часто является под-платформой.
- YouTube. У нас есть много курсов, состоящих из плейлистов YouTube. Мы не указываем YouTube как платформу, мы пытаемся указать автора на YouTube, который часто является под-платформой.
- YouTube видео. Обычно мы не ссылаемся на отдельные видео YouTube, если они не длится более часа или не структурированы как курс или учебное пособие.
- Leanpub. Leanpub размещает книги с различными моделями доступа. Иногда книгу можно прочитать без регистрации; иногда для бесплатного доступа к книге требуется учетная запись Leanpub. Учитывая качество книг, а также сочетание и гибкость моделей доступа к Leanpub, мы разрешаем перечисление последних с указанием доступа *(требуется учетная запись Leanpub или действующий адрес электронной почты)*
- Leanpub. Leanpub размещает книги с различными моделями доступа. Иногда книгу можно прочитать без регистрации; иногда для бесплатного доступа к книге требуется учетная запись Leanpub. Учитывая качество книг, а также сочетание и гибкость моделей доступа к Leanpub, мы разрешаем перечисление последних с указанием доступа `*(требуется учетная запись Leanpub или действующий адрес электронной почты)*`.
<a name="genres"></a>
<!----><a id="genres"></a>
#### Жанры
Первое правило при принятии решения, к какому списку принадлежит ресурс, — это посмотреть, как ресурс описывает себя. Если он называет себя книгой, то, возможно, это книга.
<a name="genres-we-dont-list"></a>
<!----><a id="genres-we-dont-list"></a>
##### Жанры, которые мы не вносим в списки
Поскольку Интернет огромен, мы не включаем в наши списки:
@ -181,7 +200,7 @@
- блоги
- Сообщения в блоге
- статьи
- веб-сайты (за исключением тех, размещающих МНОГО элементов которые мы перечисляем.)
- веб-сайты (за исключением тех, размещающих МНОГО элементов которые мы перечисляем).
- видео, не являющиеся курсами или скринкастами.
- главы книги
- ознакомительные образцы из книг
@ -190,7 +209,8 @@
В наших списках соревновательного программирования эти исключения не так строги. Объем репо определяется сообществом; если вы хотите предложить изменение или дополнение к области, пожалуйста, используйте Issue, чтобы сделать предложение.
<a name="books-vs-other-stuff"></a>
<!----><a id="books-vs-other-stuff"></a>
##### Книги против прочих ресурсов
Мы не так привередливы в "книжности" ресурса. Вот некоторые атрибуты, которые указывают на то, что ресурс - это книга:
@ -205,28 +225,31 @@
Мы перечисляем множество книг, у которых нет этих атрибутов; это может зависеть от контекста.
<a name="books-vs-courses"></a>
<!----><a id="books-vs-courses"></a>
##### Книги против курсов
Иногда их бывает трудно отличить!
С курсами часто связаны учебники, которые мы перечисляем в наших списках книг. В курсах есть лекции, упражнения, тесты, заметки или другие дидактические пособия. Отдельная лекция или видео - это не курс. PowerPoint - это не курс.
<a name="interactive-tutorials-vs-other-stuff"></a>
<!----><a id="interactive-tutorials-vs-other-stuff"></a>
##### Интерактивные учебники и другие материалы
Если вы можете распечатать его и сохранить его суть, это не интерактивное руководство.
<a name="automation"></a>
<!----><a id="automation"></a>
### Автоматизация
- Применение правил форматирования автоматизировано с помощью [GitHub Actions](https://github.com/features/actions) с использованием [fpb-lint](https://github.com/vhf/free-programming-books-lint) (см. [.github/workflows/fpb-lint.yml](.github/workflows/fpb-lint.yml))
- Применение правил форматирования автоматизировано с помощью [GitHub Actions](https://github.com/features/actions) с использованием [fpb-lint](https://github.com/vhf/free-programming-books-lint) (см. [`.github/workflows/fpb-lint.yml`](../.github/workflows/fpb-lint.yml))
- Для проверки URL используется [awesome_bot](https://github.com/dkhamsing/awesome_bot)
- Чтобы запустить проверку URL, нажмите фиксацию, которая включает сообщение фиксации, содержащее `check_urls = ссылка_для_проверки`:
- Чтобы запустить проверку URL, нажмите фиксацию, которая включает сообщение фиксации, содержащее `check_urls=ссылка_для_проверки`:
```
check_urls=free-programming-books.md free-programming-books-en.md
```
```properties
check_urls=free-programming-books.md free-programming-books-ru.md
```
- Вы можете указать более одного файла для проверки, используя один пробел для разделения каждой записи.
- Если вы укажете более одного файла, результаты сборки будут основаны на результате последнего проверенного файла. Вы должны знать, что из-за этого вы можете получить проходящие зеленые сборки, поэтому обязательно проверьте журнал сборки в конце пулреквеста, нажав "Show all checks" -> "Details".

View File

@ -1,47 +1,57 @@
*[Đọc bằng ngôn ngữ khác](../README.md#translations)*
*[Đọc bằng ngôn ngữ khác](README.md#translations)*
Bản dịch Tiếng Việt:
* Bản dịch này mục đích để khuyến khích các bạn đóng góp vào dự án `free-programming-books` mà chưa thể đọc tốt được Tiếng Anh. Tôi cũng mong Việt Nam có thể có nhiều hơn những khóa học, những cuốn sách miễn phí về lập trình để giúp các bạn trẻ hiện nay có thể sớm tiếp cận với công nghệ, phát triển sớm được niềm đam mê của bản thân.
- Bản dịch này mục đích để khuyến khích các bạn đóng góp vào dự án `free-programming-books` mà chưa thể đọc tốt được Tiếng Anh. Tôi cũng mong Việt Nam có thể có nhiều hơn những khóa học, những cuốn sách miễn phí về lập trình để giúp các bạn trẻ hiện nay có thể sớm tiếp cận với công nghệ, phát triển sớm được niềm đam mê của bản thân.
* Tôi đã cố gắng dịch chính xác, nhưng khó có thể tránh khỏi một số sai sót, mong các bạn lượng thứ.
- Tôi đã cố gắng dịch chính xác, nhưng khó có thể tránh khỏi một số sai sót, mong các bạn lượng thứ.
* Mọi ý kiến, đóng góp về bản dịch, vui lòng [tạo một issue mới](/issues/new) hoặc bạn có thể chỉnh sửa và tạo pull Request.
- Mọi ý kiến, đóng góp về bản dịch, vui lòng [tạo một issue mới](/issues/new) hoặc bạn có thể chỉnh sửa và tạo pull Request.
---
## Giấy Phép Thỏa Thuận Cộng Tác Viên
Bằng cách đóng góp, bạn đồng ý với [LICENSE](../LICENSE) của kho lưu trữ này.
## Quy Tắc Ứng Xử của Cộng Tác Viên
Bằng cách đóng góp, bạn đồng ý tôn trọng [Quy Tắc Ứng Xử](CODE_OF_CONDUCT.md) của kho lưu trữ này. ([translations](../README.md#translations))
Bằng cách đóng góp, bạn đồng ý tôn trọng [Quy Tắc Ứng Xử](CODE_OF_CONDUCT.md) của kho lưu trữ này. ([translations](README.md#translations))
## Tóm Tắt
1. "Một liên kết để tải một cuốn sách" không có nghĩa nó là một cuốn sách *miễn phí*. Vui lòng chỉ đóng góp nội dung miễn phí. Đảm bảo rằng nó là miễn phí. Chúng tôi không chấp nhận các liên kết đến các trang có *yêu cầu bắt buộc* nhập địa chỉ email để nhận sách, nhưng chúng tôi hoan nghênh những danh sách yêu cầu chúng.
2. Bạn không cần phải biết về Git: nếu bạn tìm được thứ gì đó thú vị *và chưa có trong kho lưu trữ này*, vui lòng mở một [Issue](https://github.com/EbookFoundation/free-programming-books/issues) với các đề xuất mà bạn muốn đóng góp.
- Nếu bạn biết Git, vui lòng Fork kho lưu trữ này và gửi pull requests.
- Nếu bạn biết Git, vui lòng Fork kho lưu trữ này và gửi Pull Requests (PR).
3. Chúng tôi có 5 loại tài liệu, bạn có thể chọn một trong những cái dưới đây:
- *Sách* : PDF, HTML, ePub, một trang web dựa trên gitbook.io, một kho lưu trữ Git, v.v.
- *Khóa Học* : Một khóa học là một tài liệu học tập, không phải là sách. [Đây là một khóa học](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/).
- *Hướng Dẫn Trực Quan* : Một trang web cho phép người dùng lập trình hoặc chạy chương trình dựa trên kết quả và đánh giá. Ví dụ: [Try Haskell](http://tryhaskell.org), [Try Github](http://try.github.io).
- *Hướng Dẫn Trực Quan* : Một trang web cho phép người dùng lập trình hoặc chạy chương trình dựa trên kết quả và đánh giá. Ví dụ: [Try Haskell](http://tryhaskell.org), [Try GitHub](http://try.github.io).
- *Podcasts và Screencasts* : Podcasts và screencasts.
- *Bài Tập & Cuộc Thi Lập Trình* : Trang web hoặc phần mềm cho phép bạn đánh giá kỹ năng lập trình của mình bằng cách giải quyết các vấn đề đơn giản hoặc phức tạp, có hoặc không có đánh giá mã nguồn, có hoặc không so sánh kết quả với những người khác.
4. Đảm bảo tuân thủ theo [những nguyên tắc bên dưới](#Những Nguyên Tắc) và đảm bảo sử dụng đúng [định dạng Markdown](#Định Dạng).
5. Github Actions sẽ chạy các test để đảm bảo danh sách của bạn được sắp xếp theo thứ tự bảng chữ cái và các nguyên tắc định dạng được tuân thủ. Kiểm tra để đảm bảo các thay đổi của bạn có vượt qua các bài test.
5. GitHub Actions sẽ chạy các test để đảm bảo **danh sách của bạn được sắp xếp theo thứ tự bảng chữ cái** và các **nguyên tắc định dạng được tuân thủ**. **Kiểm tra để đảm bảo** các thay đổi của bạn có vượt qua các bài test.
### Những Nguyên Tắc
- đảm bảo rằng một cuốn sách là miễn phí. Kiểm tra kỹ nếu cần. Nó sẽ giúp cho các quản trị viên nếu bạn nhận xét trong phần PR về lý do tại sao bạn cho rằng cuốn sách là miễn phí.
- chúng tôi không chấp nhận các tệp được lưu trữ trên Google Drive, Dropbox, Mega, Scribd, Issuu và các nền tảng tải lên tệp tương tự khác.
- chèn các liên kết của bạn theo thứ tự bảng chữ cái. Nếu bạn thấy một liên kết bị đặt sai vị trí, vui lòng sắp xếp lại nó và gửi một PR.
- sử dụng liên kết với nguồn có thẩm quyền nhất (có nghĩa là trang web của tác giả tốt hơn trang web của người biên tập, tốt hơn trang web của bên thứ ba)
+ không có dịch vụ lưu trữ tệp (điều này bao gồm (nhưng không giới hạn) liên kết Dropbox và Google Drive)
- không có dịch vụ lưu trữ tệp (điều này bao gồm (nhưng không giới hạn) liên kết Dropbox và Google Drive)
- một giao thức `https` tốt hơn giao thức `http` - miễn là chúng ở trên cùng một domain và thể hiện cùng một nội dung.
- trên các miền gốc, bỏ dấu gạch chéo sau: `http://example.com` thay vì `http://example.com/`
- luôn luôn ưu tiên đường dẫn ngắn: `http://example.com/dir/` tốt hơn là `http://example.com/dir/index.html`
+ không sử dụng link rút gọn
- không sử dụng link rút gọn
- thường ưu tiên những liên kết "mới nhất" hơn những liên kết có "phiên bản (version)": `http://example.com/dir/book/current/` tốt hơn `http://example.com/dir/book/v1.0.0/index.html`
- nếu một liên kết có chứng chỉ hết hạn như chứng chỉ/ tự chứng chỉ / chứng chỉ SSL hoặc các vấn đề tương tự:
1. *thay thế nó* bằng giao thức `http` nếu có thể (bởi vì việc chấp nhận các lỗi ngoại lệ có thể phức tạp trên các thiết bị di động)
@ -49,20 +59,23 @@ Bằng cách đóng góp, bạn đồng ý tôn trọng [Quy Tắc Ứng Xử](C
3. *xóa nó đi* nếu không thể làm gì khác
- nếu một liên kết tồn tại ở nhiều định dạng, hãy thêm một ghi chú riêng về từng định dạng
- nếu một tài liệu tồn tại ở những nơi khác nhau trên Internet
+ sử dụng liên kết với nguồn có thẩm quyền nhất (có nghĩa là trang web của tác giả tốt hơn trang web của người biên tập và tốt hơn trang web của bên thứ ba)
+ nếu chúng liên kết đến các ấn bản khác nhau và bạn đánh giá các ấn bản này đủ khác nhau để có giá trị giữ chúng, hãy thêm một ghi chú riêng về từng ấn bản (xem [Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353) để đóng góp vào cuộc thảo luận về định dạng.)
- sử dụng liên kết với nguồn có thẩm quyền nhất (có nghĩa là trang web của tác giả tốt hơn trang web của người biên tập và tốt hơn trang web của bên thứ ba)
- nếu chúng liên kết đến các ấn bản khác nhau và bạn đánh giá các ấn bản này đủ khác nhau để có giá trị giữ chúng, hãy thêm một ghi chú riêng về từng ấn bản (xem [Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353) để đóng góp vào cuộc thảo luận về định dạng).
- ưu tiên các commit nhỏ (atomic commits - một commit chỉ có thêm, xóa hoặc sửa) hơn các commit lớn. Không cần phải giấu các commits của bạn trước khi gửi PR. (Chúng tôi sẽ không bao giờ thực thi những thứ này vì nó thuận tiện sau này cho người bảo trì)
- nếu sách cũ, hãy bao gồm ngày xuất bản cùng với tên sách.
- bao gồm tên tác giả hoặc tên nếu thích hợp. Bạn có thể rút ngắn danh sách tác giả với "et al."
- nếu cuốn sách chưa hoàn thành và vẫn đang được hoàn thiện, hãy thêm ký hiệu "đang xử lý", như được mô tả [dưới đây.](#in_process)
- nếu địa chỉ email hoặc thiết lập tài khoản được yêu cầu trước khi kích hoạt tải xuống, hãy thêm ghi chú phù hợp với ngôn ngữ trong ngoặc đơn, ví dụ: `(địa chỉ email *được yêu cầu*, không bắt buộc)`
- bao gồm tên tác giả hoặc tên nếu thích hợp. Bạn có thể rút ngắn danh sách tác giả với "`et al.`".
- nếu cuốn sách chưa hoàn thành và vẫn đang được hoàn thiện, hãy thêm ký hiệu "`đang xử lý`", như được mô tả [dưới đây](#in_process).
- nếu địa chỉ email hoặc thiết lập tài khoản được yêu cầu trước khi kích hoạt tải xuống, hãy thêm ghi chú phù hợp với ngôn ngữ trong ngoặc đơn, ví dụ: `(địa chỉ email *được yêu cầu*, không bắt buộc)`.
### Định Dạng
- Tất cả danh sách đều là tệp `.md`. Cố gắng học các cú pháp [Markdown](https://guides.github.com/features/mastering-markdown/). Nó rất đơn giản!
- Tất cả các danh sách bắt đầu bằng một Chỉ mục. Ý tưởng là liệt kê và liên kết tất cả các phần và tiểu mục ở đó. Giữ nó theo thứ tự bảng chữ cái.
- Các phần đang sử dụng tiêu đề cấp 3 (`###`) và các tiểu mục là tiêu đề cấp 4 (`####`).
Ý tưởng là phải có
- `2` dòng trống giữa liên kết cuối cùng và phần mới
- `1` dòng trống giữa tiêu đề và liên kết đầu tiên của phần của nó
- `0` dòng trống giữa hai liên kết
@ -70,104 +83,113 @@ Bằng cách đóng góp, bạn đồng ý tôn trọng [Quy Tắc Ứng Xử](C
Ví dụ:
[...]
* [Một cuốn sách tuyệt vời](http://example.com/example.html)
```text
[...]
* [Một cuốn sách tuyệt vời](http://example.com/example.html)
(dòng trống)
(dòng trống)
### Ví dụ
### Ví dụ
(dòng trống)
* [Một cuốn sách tuyệt vời khác](http://example.com/book.html)
* [Một số sách khác](http://example.com/other.html)
* [Một cuốn sách tuyệt vời khác](http://example.com/book.html)
* [Một số sách khác](http://example.com/other.html)
```
- Không đặt dấu cách giữa `]``(`:
```
Tệ : * [Một cuốn sách tuyệt vời khác] (http://example.com/book.html)
Tốt: * [Một cuốn sách tuyệt vời khác](http://example.com/book.html)
```
```text
TỆ : * [Một cuốn sách tuyệt vời khác] (http://example.com/book.html)
TỐT: * [Một cuốn sách tuyệt vời khác](http://example.com/book.html)
```
- Nếu bao gồm tác giả, hãy sử dụng ` - ` (dấu gạch ngang được bao quanh bởi các khoảng trắng):
```
Tệ : * [Một cuốn sách tuyệt vời khác](http://example.com/book.html)- John Doe
Tốt: * [Một cuốn sách tuyệt vời khác](http://example.com/book.html) - John Doe
```
```text
TỆ : * [Một cuốn sách tuyệt vời khác](http://example.com/book.html)- John Doe
TỐT: * [Một cuốn sách tuyệt vời khác](http://example.com/book.html) - John Doe
```
- Đặt một khoảng trắng giữa liên kết và định dạng của nó:
```
Tệ : * [Một cuốn sách rất tuyệt vời](https://example.org/book.pdf)(PDF)
Tốt: * [Một cuốn sách rất tuyệt vời](https://example.org/book.pdf) (PDF)
```
```text
TỆ : * [Một cuốn sách rất tuyệt vời](https://example.org/book.pdf)(PDF)
TỐT: * [Một cuốn sách rất tuyệt vời](https://example.org/book.pdf) (PDF)
```
- Tác giả đặt trước định dạng:
```
Tệ : * [Một cuốn sách rất tuyệt vời](https://example.org/book.pdf)- (PDF) Jane Roe
Tốt: * [Một cuốn sách rất tuyệt vời](https://example.org/book.pdf) - Jane Roe (PDF)
```
```text
TỆ : * [Một cuốn sách rất tuyệt vời](https://example.org/book.pdf)- (PDF) Jane Roe
TỐT: * [Một cuốn sách rất tuyệt vời](https://example.org/book.pdf) - Jane Roe (PDF)
```
- Nhiều định dạng:
```
Tệ : * [Một cuốn sách tuyệt vời khác](http://example.com/)- John Doe (HTML)
Tệ : * [Một cuốn sách tuyệt vời khác](https://downloads.example.org/book.html)- John Doe (download site)
Tốt: * [Một cuốn sách tuyệt vời khác](http://example.com/) - John Doe (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
```text
TỆ : * [Một cuốn sách tuyệt vời khác](http://example.com/)- John Doe (HTML)
TỆ : * [Một cuốn sách tuyệt vời khác](https://downloads.example.org/book.html)- John Doe (download site)
TỐT: * [Một cuốn sách tuyệt vời khác](http://example.com/) - John Doe (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
- Bao gồm năm xuất bản trong tiêu đề cho các sách cũ hơn:
```
Tệ : * [Một cuốn sách rất tuyệt vời](https://example.org/book.html) - Jane Roe - 1970
Tốt: * [Một cuốn sách rất tuyệt vời (1970)](https://example.org/book.html) - Jane Roe
```
```text
TỆ : * [Một cuốn sách rất tuyệt vời](https://example.org/book.html) - Jane Roe - 1970
TỐT: * [Một cuốn sách rất tuyệt vời (1970)](https://example.org/book.html) - Jane Roe
```
<a name="in_process"></a>
- Sách đang trong quá trình viết:
- <a id="in_process"></a>Sách đang trong quá trình viết:
```text
TỐT: * [Sách sẽ sớm trở nên tuyệt vời](http://example.com/book2.html) - John Doe (HTML) (:construction: *in process*)
```
```
Tốt: * [Sách sẽ sớm trở nên tuyệt vời](http://example.com/book2.html) - John Doe (HTML) (:construction: *in process*)
```
### Ghi Chú
Mặc dù những điều cơ bản tương đối đơn giản, nhưng có sự đa dạng lớn trong các nguồn mà chúng tôi liệt kê. Dưới đây là một số lưu ý về cách chúng ta phân loại những sự đa dạng này.
#### Metadata
Danh sách của chúng tôi cung cấp một metadata: tiêu đề, URL, người tạo, nền tảng và ghi chú truy cập.
##### Tiêu Đề
- Không được phát minh ra tiêu đề. Chúng tôi cố gắng lấy các tiêu đề từ chính các nguồn tài liệu đó; những người đóng góp được khuyến cáo không phát minh ra tiêu đề hoặc chỉnh sửa chúng nếu điều này có thể tránh được. Một ngoại lệ là đối với các tác phẩm cũ hơn; nếu họ chủ yếu quan tâm đến lịch sử, thêm số năm vào trong dấu ngoặc đơn nằm trong tiêu đề sẽ giúp người dùng biết liệu họ có quan tâm hay không.
- Không sử dụng tiêu đề viết hoa toàn bộ. Thông thường, viết hoa tiêu đề là phù hợp, nhưng khi không chắc chắn, hãy sử dụng chữ viết hoa từ nguồn.
- Không sử dụng tiêu đề viết HOA TOÀN BỘ. Thông thường, viết hoa tiêu đề là phù hợp, nhưng khi không chắc chắn, hãy sử dụng chữ viết hoa từ nguồn.
##### Các Liên Kết
- Chúng tôi không cho phép các liên kết rút gọn.
- Mã theo dõi phải được xóa khỏi liên kết.
- Liên kết quốc tế phải được thoát. Các thanh trình duyệt thường hiển thị chúng thành Unicode, nhưng vui lòng sử dụng sao chép và dán.
- Các liên kết an toàn (https) luôn được ưu tiên hơn các liên kết không an toàn (http) nơi https đã được triển khai.
- Các liên kết an toàn (`https`) luôn được ưu tiên hơn các liên kết không an toàn (``http`) nơi HTTPS đã được triển khai.
- Chúng tôi không thích các liên kết trỏ đến các trang web không lưu trữ tài liệu được liệt kê, mà thay vào đó trỏ đến nơi khác.
##### Người Sáng Tạo
- Chúng tôi muốn ghi công những người tạo ra các tài liệu miễn phí nếu thích hợp, bao gồm cả những người dịch!
- Đối với các tác phẩm đã dịch, tác giả gốc nên được ghi công.
- Chúng tôi không cho phép liên kết bởi Người sáng tạo.
- Đối với các tác phẩm tổng hợp hoặc phối lại, "người sáng tạo" có thể cần mô tả. Ví dụ: sách "GoalKicker" được ghi là "Được tổng hợp từ tài liệu StackOverflow"
- Đối với các tác phẩm tổng hợp hoặc phối lại, "người sáng tạo" có thể cần mô tả. Ví dụ: sách "GoalKicker" được ghi là "`Được tổng hợp từ tài liệu StackOverflow`" (bằng tiếng anh: "`Compiled from StackOverflow documentation`").
##### Nền Tảng và Ghi Chú Truy Cập
- Các khóa học. Đặc biệt đối với danh sách khóa học của chúng tôi, nền tảng là một phần quan trọng của mô tả tài liệu. Điều này là do các khóa học nền tảng có khả năng chi trả và mô hình truy cập khác nhau. Mặc dù chúng tôi thường không liệt kê một cuốn sách yêu cầu đăng ký, nhưng nhiều nền tảng khóa học có khả năng không hoạt động nếu không có một số loại tài khoản. Các nền tảng khóa học ví dụ bao gồm Coursera, EdX, Udacity và Udemy. Khi một khóa học phụ thuộc vào một nền tảng, tên nền tảng phải được liệt kê trong ngoặc đơn.
- YouTube. Chúng tôi có nhiều khóa học bao gồm các danh sách phát trên YouTube. Chúng tôi không cho rằng Youtube như một nền tảng, chúng tôi cố gắng liệt kê người sáng tạo nội dung trên YouTube, thường là một nền tảng phụ.
- YouTube. Chúng tôi có nhiều khóa học bao gồm các danh sách phát trên YouTube. Chúng tôi không cho rằng YouTube như một nền tảng, chúng tôi cố gắng liệt kê người sáng tạo nội dung trên YouTube, thường là một nền tảng phụ.
- Video trên YouTube. Chúng tôi thường không có các liên kết đến các video YouTube riêng lẻ trừ khi chúng dài hơn một giờ và có cấu trúc giống như một khóa học hoặc một hướng dẫn.
- Leanpub. Leanpub lưu trữ sách với nhiều mô hình truy cập. Đôi khi một cuốn sách có thể được đọc mà không cần đăng ký; đôi khi một cuốn sách yêu cầu tài khoản Leanpub để được truy cập miễn phí. Do chất lượng của sách và sự hỗn hợp và tính linh hoạt của các mô hình truy cập Leanpub, chúng tôi cho phép liệt kê mô hình sau cùng với ghi chú truy cập *(yêu cầu tài khoản Leanpub hoặc email hợp lệ)*
- Leanpub. Leanpub lưu trữ sách với nhiều mô hình truy cập. Đôi khi một cuốn sách có thể được đọc mà không cần đăng ký; đôi khi một cuốn sách yêu cầu tài khoản Leanpub để được truy cập miễn phí. Do chất lượng của sách và sự hỗn hợp và tính linh hoạt của các mô hình truy cập Leanpub, chúng tôi cho phép liệt kê mô hình sau cùng với ghi chú truy cập `*(yêu cầu tài khoản Leanpub hoặc email hợp lệ)*`.
#### Thể Loại
Quy tắc đầu tiên để quyết định tài liệu thuộc danh sách nào là xem tài liệu đó mô tả thế nào. Nếu nó tự gọi nó là một cuốn sách, thì có lẽ nó là một cuốn sách.
##### Các Thể Loại chúng tôi không liệt kê
Vì Internet rất rộng lớn, chúng tôi không đưa chúng vào danh sách của mình:
@ -175,7 +197,7 @@ Vì Internet rất rộng lớn, chúng tôi không đưa chúng vào danh sách
- blogs
- bài đăng trên blog
- bài viết
- các trang web (ngoại trừ những nơi lưu trữ RẤT NHIỀU tài liệu mà chúng tôi liệt kê.)
- các trang web (ngoại trừ những nơi lưu trữ RẤT NHIỀU tài liệu mà chúng tôi liệt kê).
- video không phải là khóa học hoặc video truyền hình.
- các chương của cuốn sách
- các ví dụ khó từ sách
@ -189,7 +211,7 @@ Danh sách của chúng tôi không nghiêm ngặt về những loại trừ nà
Chúng tôi không quá cầu kỳ về sách. Dưới đây là một số thuộc tính biểu thị rằng nguồn tài liệu là sách:
- nó có một ISBN
- nó có một ISBN (International Standard Book Number)
- nó có một Mục lục
- một phiên bản đã tải xuống, đặc biệt là ePub
- nó có các tái bản
@ -214,13 +236,13 @@ Nếu bạn có thể in nó ra và giữ lại bản chất của nó, thì đ
### Tự động hóa
- Việc thực thi nguyên tắc định dạng được tự động hóa qua [Github Actions](https://docs.github.com/en/actions) sử dụng [fpb-lint](https://github.com/vhf/free-programming-books-lint) (xem file [.github/workflows/fpb-lint.yml](.github/workflows/fpb-lint.yml))
- Việc thực thi nguyên tắc định dạng được tự động hóa qua [GitHub Actions](https://docs.github.com/en/actions) sử dụng [fpb-lint](https://github.com/vhf/free-programming-books-lint) (xem file [`.github/workflows/fpb-lint.yml`](../.github/workflows/fpb-lint.yml))
- Sử dụng xác thực liên kết [awesome_bot](https://github.com/dkhamsing/awesome_bot)
- Để kích hoạt xác thực liên kết, hãy push một commit bao gồm một commit message chứa `check_urls=file_to_check`:
```
check_urls=free-programming-books.md free-programming-books-en.md
```
```properties
check_urls=free-programming-books.md free-programming-books-vi.md
```
- Bạn có thể chỉ định nhiều tệp để kiểm tra, sử dụng một khoảng trắng duy nhất để tách từng mục nhập.
- Nếu bạn chỉ định nhiều hơn một tệp, kết quả của việc xây dựng sẽ dựa trên kết quả của tệp cuối cùng được kiểm tra. Bạn nên biết rằng bạn có thể nhận được bản xây dựng thành công, vì vậy hãy đảm bảo kiểm tra log ở cuối pull request bằng cách nhấp vào "Show all checks" -> "Details".
- Nếu bạn chỉ định nhiều hơn một tệp, kết quả của việc xây dựng sẽ dựa trên kết quả của tệp cuối cùng được kiểm tra. Bạn nên biết rằng bạn có thể nhận được bản xây dựng thành công, vì vậy hãy đảm bảo kiểm tra log ở cuối Pull Request bằng cách nhấp vào "Show all checks" -> "Details".

View File

@ -1,4 +1,4 @@
*[阅读本文的其他语言版本](../README.md#translations)*
*[阅读本文的其他语言版本](README.md#nslations)*
## 贡献者许可协议
@ -8,25 +8,27 @@
## 贡献者行为准则
请同意并遵循此[行为准则](CODE_OF_CONDUCT.md)参与贡献。([translations](../README.md#translations))
请同意并遵循此[行为准则](CODE_OF_CONDUCT.md)参与贡献。([translations](README.md#nslations))
## 概要
1. "一个可以轻易下载一本书的链接" 并不代表它指向的就是 *免费* 书籍。 请只提供免费内容。 确信你所提供的书籍是免费的。我们不接受指向*需要*工作电子邮件地址才能获取书籍的页面的链接,但我们欢迎有需求它们的列表。
2. 你不需要会 Git如果你发现了一些有趣的东西 *尚未出现在本仓库* 中,请开一个[Issue](https://github.com/EbookFoundation/free-programming-books/issues)进行主题讨论。
* 如果你已经知晓Git请Fork本仓库并提交PR
* 如果你已经知晓Git请Fork本仓库并提交Pull Request (PR)
3. 这里有5种列表请选择正确的一个
* *Books* PDF、HTML、ePub、基于一个 gitbook.io的站点、一个Git仓库等等。
* *Courses* :课程是一种学习材料,而不是一本书 [This is a course](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/)。
* *Interactive Tutorials* :一个交互式网站,它允许用户输入代码或命令并对结果进行评估。例如:[Try Haskell](http://tryhaskell.org)[Try Github](http://try.github.io)。
* *Interactive Tutorials* :一个交互式网站,它允许用户输入代码或命令并对结果进行评估。例如:[Try Haskell](http://tryhaskell.org)[Try GitHub](http://try.github.io)。
* *Podcasts and Screencasts* :播客和视频。
* *Problem Sets & Competitive Programming* :一个网站或软件,让你通过解决简单或复杂的问题来评估你的编程技能,有或没有代码审查,有或没有与其他用户对比结果。
4. 确保遵循下面的[基本准则](#基本准则),并遵循本仓库文件的[Markdown规定格式](#规定格式)。
5. Github Actions 将运行测试,以确保你的列表是 **按字母顺序排列** 的,并 **遵循格式化规则**。请 **确保** 你的更改通过了该测试。
5. GitHub Actions 将运行测试,以确保你的列表是 **按字母顺序排列** 的,并 **遵循格式化规则**。请 **确保** 你的更改通过了该测试。
### 基本准则
@ -43,7 +45,7 @@
* 优先选择使用 "current" 链接代替有 "version" 链接:使用 `http://example.com/dir/book/current/` 比使用 `http://example.com/dir/book/v1.0.0/index.html` 更好。
* 如果一个链接存在过期的证书/自签名证书/SSL问题的任何其他类型
1. *replace it* :如果可能的话,将其 *替换* 为对应的`http`(因为在移动设备上接受异常可能比较复杂)。
2. *leave it* 如果没有http版本但仍然可以通过https访问链接则在浏览器中添加异常或忽略警告。
2. *leave it* :如果没有`http`版本,但仍然可以通过`https`访问链接,则在浏览器中添加异常或忽略警告。
3. *remove it* :上述以外删除掉它。
* 如果一个链接以多种格式存在,请添加一个单独的链接,并注明每种格式。
* 如果一个资源存在于Internet上的不同位置
@ -51,8 +53,8 @@
* 如果它们链接到不同的版本,你认为这些版本差异很大,值得保留,那么添加一个单独的链接,并对每个版本做一个说明(参见[Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353)有助于格式化问题的讨论)。
* 相较一个比较大的提交,我们更倾向于原子提交(通过添加/删除/修改进行一次提交)。在提交PR之前没有必要压缩你的提交。(我们永远不会执行这个规则,因为这只是维护人员的方便)。
* 如果一本书比较旧,请在书名中注明出版日期。
* 包含作者的名字或适当的名字。中文版本可以用 “等” 缩短作者列表。
* 如果一本书还没有完成,并且仍在编写中,则需添加 “编写中” 符号,参见[下文](#in_process)所述。
* 包含作者的名字或适当的名字。中文版本可以用 “`等`” (“`et al.`”) 缩短作者列表。
* 如果一本书还没有完成,并且仍在编写中,则需添加 “`in process`” 符号,参见[下文](#in_process)所述。
* 如果在开始下载之前需要电子邮件地址或帐户设置,请在括号中添加合适的语言描述,例如:`(*需要*电子邮件,但不是必须的)`
@ -62,18 +64,16 @@
* 所有的列表都以索引开始。它的作用是列出并链接所有的sections(章节/段落)或subsections(子段落/子章节)。务必遵循字母顺序排列。
* Sections(章节/段落)使用3级标题(`###`)subsections(子段落/子章节)使用4级标题 (`####`)。
#### 整体思想为:
整体思想为:
* `2` 新添加的Section与末尾链接间必须留有`2`个空行
* `1` :标题和第一个链接之间必须留有`1`个空行的空行
* `0` :任何两个链接之间不能留有任何空行
* `1` :每个`.md`文件末尾必须留有`1`个空行
举例:
#### 举例:
```
```text
[...]
* [一本很有用的书](http://example.com/example.html)
(空行)
@ -86,66 +86,65 @@
*`]``(` 之间不要留有空格:
```
错误:* [一本很有用的书] (http://example.com/book.html)
正确:* [一本很有用的书](http://example.com/book.html)
```
```text
错误:* [一本很有用的书] (http://example.com/book.html)
正确:* [一本很有用的书](http://example.com/book.html)
```
* 如果包括作者,请使用' - '(由单个空格(英文半角)包围的破折号)
```
错误:* [一本很有用的书](http://example.com/book.html)- 张显宗
正确:* [一本很有用的书](http://example.com/book.html) - 张显宗
```
```text
错误:* [一本很有用的书](http://example.com/book.html)- 张显宗
正确:* [一本很有用的书](http://example.com/book.html) - 张显宗
```
* 在链接和电子书格式之间放一个空格:
```
错误:* [一本很有用的书](https://example.org/book.pdf)(PDF)
正确:* [一本很有用的书](https://example.org/book.pdf) (PDF)
```
```text
错误:* [一本很有用的书](https://example.org/book.pdf)(PDF)
正确:* [一本很有用的书](https://example.org/book.pdf) (PDF)
```
* 如需备注或注解,请使用英文半角括号`( )`
```
错误:* [一本很有用的书](https://example.org/book.pdf) (繁体中文)
正确:* [一本很有用的书](https://example.org/book.pdf) (繁体中文)
```
```text
错误:* [一本很有用的书](https://example.org/book.pdf) (繁体中文)
正确:* [一本很有用的书](https://example.org/book.pdf) (繁体中文)
```
* 作者在电子书格式之前:
```
错误:* [一本很有用的书](https://example.org/book.pdf)- (PDF) 张显宗
正确:* [一本很有用的书](https://example.org/book.pdf) - 张显宗 (PDF)
```
```text
错误:* [一本很有用的书](https://example.org/book.pdf)- (PDF) 张显宗
正确:* [一本很有用的书](https://example.org/book.pdf) - 张显宗 (PDF)
```
* 多重格式:
```
错误:* [一本很有用的书](http://example.com/)- 张显宗 (HTML)
错误:* [一本很有用的书](https://downloads.example.org/book.html)- 张显宗 (download site)
正确:* [一本很有用的书](http://example.com/) - 张显宗 (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
```text
错误:* [一本很有用的书](http://example.com/)- 张显宗 (HTML)
错误:* [一本很有用的书](https://downloads.example.org/book.html)- 张显宗 (download site)
正确:* [一本很有用的书](http://example.com/) - 张显宗 (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
* 多作者,多译者时,请使用中文 `` 进行分隔,在译者名字后请使用英文半角括号包围的 `(翻译)`,可以用 “等” 缩短作者列表:
```
错误:* [一本很有用的书](https://example.org/book.pdf) - 张显宗,岳绮罗
正确:* [一本很有用的书](https://example.org/book.pdf) - 张显宗、岳绮罗(翻译)
正确:* [一本很有用的书](https://example.org/book.pdf) - 张显宗、岳绮罗、顾玄武、出尘子 等
```
```text
错误:* [一本很有用的书](https://example.org/book.pdf) - 张显宗,岳绮罗
正确:* [一本很有用的书](https://example.org/book.pdf) - 张显宗、岳绮罗(翻译)
正确:* [一本很有用的书](https://example.org/book.pdf) - 张显宗、岳绮罗、顾玄武、出尘子 等
```
* 在旧书的标题中包括出版年份:
```
错误:* [一本很有用的书](https://example.org/book.html) - 张显宗 - 1970
正确:* [一本很有用的书 (1970)](https://example.org/book.html) - 张显宗
```
```text
错误:* [一本很有用的书](https://example.org/book.html) - 张显宗 - 1970
正确:* [一本很有用的书 (1970)](https://example.org/book.html) - 张显宗
```
<a name="in_process"></a>
* 编写(翻译)中的书籍:
* <a id="in_process"></a>编写(翻译)中的书籍:
```
正确:* [马上出版的一本书](http://example.com/book2.html) - 张显宗 (HTML) (:construction: *编写中*)
正确:* [马上出版的一本书](http://example.com/book2.html) - 张显宗 (HTML) (:construction: *翻译中*)
```
```text
正确:* [马上出版的一本书](http://example.com/book2.html) - 张显宗 (HTML) (:construction: *编写中*)
正确:* [马上出版的一本书](http://example.com/book2.html) - 张显宗 (HTML) (:construction: *翻译中*)
```

View File

@ -1,4 +1,4 @@
*[閱讀其他語言版本的文件](../README.md#translations)*
*[閱讀其他語言版本的文件](README.md#nslations)*
## 貢獻者許可協議
@ -8,7 +8,7 @@
## 貢獻者行為準則
請同意並遵循此 [行為準則](CODE_OF_CONDUCT.md) 參與貢獻。([translations](../README.md#translations))
請同意並遵循此 [行為準則](CODE_OF_CONDUCT.md) 參與貢獻。([translations](README.md#nslations))
## 概要
@ -16,19 +16,19 @@
1. "一個可以輕易下載一本書的連結" 並不代表它導向的就是 *免費* 書籍。 請只提供免費內容。 確信你所提供的書籍是免費的。我們不接受導向 *需要* 工作電子郵件地址才能獲取書籍頁面的連結,但我們歡迎有需求這些連結的列表。
2. 你不需要會 Git如果你發現了一些有趣的東西 *尚未出現在此 repo* 中,請開一個 [Issue](https://github.com/EbookFoundation/free-programming-books/issues) 進行主題討論。
* 如果你已經知道 Git請 Fork 此 repo 並提交 PR
* 如果你已經知道 Git請 Fork 此 repo 並提交 Pull Request (PR)
3. 這裡有五種列表,請選擇正確的一項:
* *Books* PDF、HTML、ePub、基於 gitbook.io 的網站、Git 的 repo 等。
* *Courses* :課程是一種學習素材,而不是一本書 [This is a course](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/)。
* *Interactive Tutorials* :一個互動式網站,允許用戶輸入程式碼或指令並執行結果。例如:[Try Haskell](http://tryhaskell.org)[Try Github](http://try.github.io)。
* *Interactive Tutorials* :一個互動式網站,允許用戶輸入程式碼或指令並執行結果。例如:[Try Haskell](http://tryhaskell.org)[Try GitHub](http://try.github.io)。
* *Podcasts and Screencasts* Podcast 和影音。
* *Problem Sets & Competitive Programming* :一個網站或軟體,讓你透過解決簡單或複雜的問題來評估你的程式技能,可能有程式碼檢查,或與其他用戶比對结果。
4. 確保遵循下方的 [基本準則](#基本準則),並遵循此 repo 文件的 [Markdown 規定格式](#規定格式)。
5. Github Actions 將運行測試,以確保你的列表是 **按字母顺序排列** 的,並 **遵循格式化規則**。請 **確保** 你的更改通過該測試。
5. GitHub Actions 將運行測試,以確保你的列表是 **按字母顺序排列** 的,並 **遵循格式化規則**。請 **確保** 你的更改通過該測試。
### 基本準則
@ -45,7 +45,7 @@
* 優先選擇使用 "current" 連結代替有 "version" 連結:使用 `http://example.com/dir/book/current/` 比使用 `http://example.com/dir/book/v1.0.0/index.html` 更好。
* 如果一個連結存在過期的證書/自簽名證書/SSL問題的任何其他類型
1. *replace it* :如果可能的話,將其 *替換* 為對應的 `http` (因為在移動設備上接受異常可能比較複雜)。
2. *leave it* 如果沒有http版本但仍然可以通過https造訪連結則在瀏覽器中添加異常或忽略警告。
2. *leave it* :如果沒有`http`版本,但仍然可以通過`https`造訪連結,則在瀏覽器中添加異常或忽略警告。
3. *remove it* :上述狀況以外則刪除掉它。
* 如果一個連結以多種格式存在,請添加一個單獨的連結,並註明每種格式。
* 如果一個資源存在於Internet上的不同位置
@ -53,8 +53,8 @@
* 如果它們連結到不同的版本,你認為這些版本差異很大,值得保留,那麼添加一個單獨的連結,並對每個版本做說明(參考 [Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353) 有助於格式化問題的討論)。
* 相較一個比較大的提交,我們更傾向於原子提交(通過添加/删除/修改進行一次提交)。在提交PR之前没有必要壓縮你的提交。(為了維護人員的方便,我們永遠不會執行這個規則)。
* 如果一本書比較舊,請在書名中註明出版日期。
* 包含作者的名字或適當的名字。中文版本可以用 “等” 縮短作者列表。
* 如果一本書還没有完成,並且仍在編寫中,則需添加 “編寫中” 符號,參考 [下文](#in_process) 所述。
* 包含作者的名字或適當的名字。中文版本可以用 “`等`” (“`et al.`”) 縮短作者列表。
* 如果一本書還没有完成,並且仍在編寫中,則需添加 “`in process`” 符號,參考 [下文](#in_process) 所述。
* 如果在開始下載之前需要電子郵件地址或帳户設置,請在括號中添加合適的語言描述,例如:`(*需要* 電子郵件,但不是必需的)`
@ -64,18 +64,16 @@
* 所有的列表都以索引開始。它的作用是列出並連結所有的 sections (章節/段落)或 subsections (子段落/子章節)。務必遵循字母順序排列。
* Sections (章節/段落)使用3級標題(`###`)subsections (子段落/子章節)使用4級標題 (`####`)。
#### 整體思維為:
整體思維為:
* `2` :新添加的 Section 與末尾連結間必需留有 `2` 個空行
* `1` :標題和第一個連結之間必需留有 `1` 個空行的空行
* `0` :任何兩個連結之間不能留有任何空行
* `1` :每個 `.md` 文件末尾必需留有 `1` 個空行
舉例:
#### 舉例:
```
```text
[...]
* [一本很有用的書](http://example.com/example.html)
(空行)
@ -88,78 +86,79 @@
*`]``(` 之間不要留有空格:
```
錯誤:* [一本很有用的書] (http://example.com/book.html)
正確:* [一本很有用的書](http://example.com/book.html)
```
```text
錯誤:* [一本很有用的書] (http://example.com/book.html)
正確:* [一本很有用的書](http://example.com/book.html)
```
* 如果包括作者,請使用' - '(由單個空格(英文半型)包圍的破折號)
```
錯誤:* [一本很有用的書](http://example.com/book.html)- 張顯宗
正確:* [一本很有用的書](http://example.com/book.html) - 張顯宗
```
```text
錯誤:* [一本很有用的書](http://example.com/book.html)- 張顯宗
正確:* [一本很有用的書](http://example.com/book.html) - 張顯宗
```
* 在連結和電子書格式之間放一個空格:
```
錯誤:* [一本很有用的書](https://example.org/book.pdf)(PDF)
正確:* [一本很有用的書](https://example.org/book.pdf) (PDF)
```
```text
錯誤:* [一本很有用的書](https://example.org/book.pdf)(PDF)
正確:* [一本很有用的書](https://example.org/book.pdf) (PDF)
```
* 如需備注或注解,請使用英文半型括號`( )`
```
錯誤:* [一本很有用的書](https://example.org/book.pdf) (繁體中文)
正確:* [一本很有用的書](https://example.org/book.pdf) (繁體中文)
```
```text
錯誤:* [一本很有用的書](https://example.org/book.pdf) (繁體中文)
正確:* [一本很有用的書](https://example.org/book.pdf) (繁體中文)
```
* 作者在電子書格式之前:
```
錯誤:* [一本很有用的書](https://example.org/book.pdf)- (PDF) 張顯宗
正確:* [一本很有用的書](https://example.org/book.pdf) - 張顯宗 (PDF)
```
```text
錯誤:* [一本很有用的書](https://example.org/book.pdf)- (PDF) 張顯宗
正確:* [一本很有用的書](https://example.org/book.pdf) - 張顯宗 (PDF)
```
* 多重格式:
```
錯誤:* [一本很有用的書](http://example.com/)- 張顯宗 (HTML)
錯誤:* [一本很有用的書](https://downloads.example.org/book.html)- 張顯宗 (download site)
正確:* [一本很有用的書](http://example.com/) - 張顯宗 (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
```text
錯誤:* [一本很有用的書](http://example.com/)- 張顯宗 (HTML)
錯誤:* [一本很有用的書](https://downloads.example.org/book.html)- 張顯宗 (download site)
正確:* [一本很有用的書](http://example.com/) - 張顯宗 (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
* 多作者,多譯者時,請使用中文 `` 進行分隔,在譯者名字後請使用英文半型括號包圍的 `(翻譯)`,可以用 “等” 縮短作者列表:
```
錯誤:* [一本很有用的書](https://example.org/book.pdf) - 張顯宗,岳綺羅
正確:* [一本很有用的書](https://example.org/book.pdf) - 張顯宗、岳綺羅(翻譯)
正確:* [一本很有用的書](https://example.org/book.pdf) - 張顯宗、岳綺羅、顧玄武、出塵子 等
```
```text
錯誤:* [一本很有用的書](https://example.org/book.pdf) - 張顯宗,岳綺羅
正確:* [一本很有用的書](https://example.org/book.pdf) - 張顯宗、岳綺羅(翻譯)
正確:* [一本很有用的書](https://example.org/book.pdf) - 張顯宗、岳綺羅、顧玄武、出塵子 等
```
* 在舊書的標題中包括出版年份:
```
錯誤:* [一本很有用的書](https://example.org/book.html) - 張顯宗 - 1970
正確:* [一本很有用的書 (1970)](https://example.org/book.html) - 張顯宗
```
```text
錯誤:* [一本很有用的書](https://example.org/book.html) - 張顯宗 - 1970
正確:* [一本很有用的書 (1970)](https://example.org/book.html) - 張顯宗
```
<a name="in_process"></a>
* 編寫(翻譯)中的書籍:
* <a id="in_process"></a>編寫(翻譯)中的書籍:
```text
正確:* [即將出版的一本書](http://example.com/book2.html) - 張顯宗 (HTML) (:construction: *編寫中*)
正確:* [即將出版的一本書](http://example.com/book2.html) - 張顯宗 (HTML) (:construction: *翻譯中*)
```
```
正確:* [即將出版的一本書](http://example.com/book2.html) - 張顯宗 (HTML) (:construction: *編寫中*)
正確:* [即將出版的一本書](http://example.com/book2.html) - 張顯宗 (HTML) (:construction: *翻譯中*)
```
### 自動化測試
- 規定格式驗證是由 [Github Actions](https://docs.github.com/en/actions) 自動化進行,使用 [fpb-lint](https://github.com/vhf/free-programming-books-lint) 套件 (參閱 [.github/workflows/fpb-lint.yml](.github/workflows/fpb-lint.yml))。
- 規定格式驗證是由 [GitHub Actions](https://docs.github.com/en/actions) 自動化進行,使用 [fpb-lint](https://github.com/vhf/free-programming-books-lint) 套件 (參閱 [`.github/workflows/fpb-lint.yml`](../.github/workflows/fpb-lint.yml))。
- 使用 [awesome_bot](https://github.com/dkhamsing/awesome_bot) 進行連結驗證。
- 可以藉由提交一個內容包含`check_urls=file_to_check`來觸發連結驗證:
```
check_urls=free-programming-books.md free-programming-books-en.md
```
```properties
check_urls=free-programming-books.md free-programming-books-zh.md
```
- 您可以以一個空白區隔出想要進行驗證的檔案名稱來一次驗證多個檔案。
- 如果您一次驗證多個檔案,自動化測試的結果會是基於最後一個驗證的檔案。您的測試可能會因此通過,因此請詳加確認測試日誌。可以在 pull request 結果中點選"Show all checks" -> "Details" 來查看。
- 如果您一次驗證多個檔案,自動化測試的結果會是基於最後一個驗證的檔案。您的測試可能會因此通過,因此請詳加確認測試日誌。可以在 Pull Request 結果中點選"Show all checks" -> "Details" 來查看。

View File

@ -1,37 +1,48 @@
*[Read this in other languages](../README.md#translations)*
*[Read this in other languages](README.md#translations)*
## Contributor License Agreement
By contributing you agree to the [LICENSE](https://github.com/EbookFoundation/free-programming-books/blob/main/LICENSE) of this repository.
By contributing you agree to the [LICENSE](../LICENSE) of this repository.
## Contributor Code of Conduct
By contributing you agree to respect the [Code of Conduct](CODE_OF_CONDUCT.md) of this repository. ([translations](../README.md#translations))
By contributing you agree to respect the [Code of Conduct](CODE_OF_CONDUCT.md) of this repository. ([translations](README.md#translations))
## In a nutshell
1. "A link to easily download a book" is not always a link to a *free* book. Please only contribute free content. Make sure it's free. We do not accept links to pages that *require* working email addresses to obtain books, but we welcome listings that request them.
2. You don't have to know Git: if you found something of interest which is *not already in this repo*, please open an [Issue](https://github.com/EbookFoundation/free-programming-books/issues) with your links propositions.
- If you know Git, please Fork the repo and send pull requests.
3. We have 5 kinds of lists. Choose the right one:
- If you know Git, please Fork the repo and send Pull Requests (PR).
3. We have 6 kinds of lists. Choose the right one:
- *Books* : PDF, HTML, ePub, a gitbook.io based site, a Git repo, etc.
- *Courses* : A course is a learning material which is not a book. [This is a course](http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/).
- *Interactive Tutorials* : An interactive website which lets the user type code or commands and evaluates the result (by "evaluate" we don't mean "grade"). e.g.: [Try Haskell](http://tryhaskell.org), [Try Github](http://try.github.io).
- *Interactive Tutorials* : An interactive website which lets the user type code or commands and evaluates the result (by "evaluate" we don't mean "grade"). e.g.: [Try Haskell](http://tryhaskell.org), [Try GitHub](http://try.github.io).
- *Playgrounds* : are online and interactive websites, games or desktop software for learning programming. Write, compile (or run), and share code snippets. Playgrounds often allow you to fork and get your hands dirty by playing with code.
- *Podcasts and Screencasts* : Podcasts and screencasts.
- *Problem Sets & Competitive Programming* : A website or software which lets you assess your programming skills by solving simple or complex problems, with or without code review, with or without comparing the results with other users.
4. Make sure to follow the [guidelines below](#guidelines) and respect the [Markdown formatting](#formatting) of the files.
5. GitHub Actions will run tests to make sure your lists are alphabetized and formatting rules are followed. Be sure to check that your changes pass the tests.
5. GitHub Actions will run tests to **make sure your lists are alphabetized** and **formatting rules are followed**. **Be sure** to check that your changes pass the tests.
### Guidelines
- make sure a book is free. Double-check if needed. It helps the admins if you comment in the PR as to why you think the book is free.
- we don't accept files hosted on Google Drive, Dropbox, Mega, Scribd, Issuu and other similar file upload platforms
- insert your links in alphabetical order. If you see a misplaced link, please reorder it and submit a PR
- use the link with the most authoritative source (meaning the author's website is better than the editor's website, which is better than a third party website)
+ no file hosting services (this includes (but is not limited to) Dropbox and Google Drive links)
- no file hosting services (this includes (but is not limited to) Dropbox and Google Drive links)
- always prefer a `https` link over a `http` one -- as long as they are on the same domain and serve the same content
- on root domains, strip the trailing slash: `http://example.com` instead of `http://example.com/`
- always prefer the shortest link: `http://example.com/dir/` is better than `http://example.com/dir/index.html`
+ no URL shortener links
- no URL shortener links
- usually prefer the "current" link over the "version" one: `http://example.com/dir/book/current/` is better than `http://example.com/dir/book/v1.0.0/index.html`
- if a link has an expired certificate/self-signed certificate/SSL issue of any other kind:
1. *replace it* with its `http` counterpart if possible (because accepting exceptions can be complicated on mobile devices).
@ -39,21 +50,24 @@ By contributing you agree to respect the [Code of Conduct](CODE_OF_CONDUCT.md) o
3. *remove it* otherwise.
- if a link exists in multiple format, add a separate link with a note about each format
- if a resource exists at different places on the Internet
+ use the link with the most authoritative source (meaning author's website is better than editor's website is better than third party website)
+ if they link to different editions, and you judge these editions are different enough to be worth keeping them, add a separate link with a note about each edition (see [Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353) to contribute to the discussion on formatting.)
- use the link with the most authoritative source (meaning author's website is better than editor's website is better than third party website)
- if they link to different editions, and you judge these editions are different enough to be worth keeping them, add a separate link with a note about each edition (see [Issue #2353](https://github.com/EbookFoundation/free-programming-books/issues/2353) to contribute to the discussion on formatting).
- prefer atomic commits (one commit by addition/deletion/modification) over bigger commits. No need to squash your commits before submitting a PR. (We will never enforce this rule as it's just a matter of convenience for the maintainers)
- if the book is older, include the publication date with the title.
- include the author name or names where appropriate. You can shorten author lists with "et al."
- if the book is not finished, and is still being worked on, add the "in process" notation, as described [below.](#in_process)
- if a resource is restored using the Internet Archive's Wayback Machine (or similar), add the "archived" notation, as described [below](#archived). The best versions to use are recent and complete.
- if an email address or account setup is requested before download is enabled, add language-appropriate notes in parentheses, e.g.: `(email address *requested*, not required)`
- include the author name or names where appropriate. You can shorten author lists with "`et al.`".
- if the book is not finished, and is still being worked on, add the "`in process`" notation, as described [below](#in_process).
- if a resource is restored using the [*Internet Archive's Wayback Machine*](https://web.archive.org) (or similar), add the "`archived`" notation, as described [below](#archived). The best versions to use are recent and complete.
- if an email address or account setup is requested before download is enabled, add language-appropriate notes in parentheses, e.g.: `(email address *requested*, not required)`.
### Formatting
- All lists are `.md` files. Try to learn [Markdown](https://guides.github.com/features/mastering-markdown/) syntax. It's simple!
- All the lists start with an Index. The idea is to list and link all sections and subsections there. Keep it in alphabetical order.
- Sections are using level 3 headings (`###`), and subsections are level 4 headings (`####`).
The idea is to have:
- `2` empty lines between last link and new section.
- `1` empty line between heading & first link of its section.
- `0` empty line between two links.
@ -61,111 +75,119 @@ The idea is to have:
Example:
[...]
* [An Awesome Book](http://example.com/example.html)
```text
[...]
* [An Awesome Book](http://example.com/example.html)
(blank line)
(blank line)
### Example
### Example
(blank line)
* [Another Awesome Book](http://example.com/book.html)
* [Some Other Book](http://example.com/other.html)
* [Another Awesome Book](http://example.com/book.html)
* [Some Other Book](http://example.com/other.html)
```
- Don't put spaces between `]` and `(`:
```
BAD : * [Another Awesome Book] (http://example.com/book.html)
GOOD: * [Another Awesome Book](http://example.com/book.html)
```
```text
BAD : * [Another Awesome Book] (http://example.com/book.html)
GOOD: * [Another Awesome Book](http://example.com/book.html)
```
- If you include the author, use ` - ` (a dash surrounded by single spaces):
```
BAD : * [Another Awesome Book](http://example.com/book.html)- John Doe
GOOD: * [Another Awesome Book](http://example.com/book.html) - John Doe
```
```text
BAD : * [Another Awesome Book](http://example.com/book.html)- John Doe
GOOD: * [Another Awesome Book](http://example.com/book.html) - John Doe
```
- Put a single space between the link and its format:
```
BAD : * [A Very Awesome Book](https://example.org/book.pdf)(PDF)
GOOD: * [A Very Awesome Book](https://example.org/book.pdf) (PDF)
```
```text
BAD : * [A Very Awesome Book](https://example.org/book.pdf)(PDF)
GOOD: * [A Very Awesome Book](https://example.org/book.pdf) (PDF)
```
- Author comes before format:
```
BAD : * [A Very Awesome Book](https://example.org/book.pdf)- (PDF) Jane Roe
GOOD: * [A Very Awesome Book](https://example.org/book.pdf) - Jane Roe (PDF)
```
```text
BAD : * [A Very Awesome Book](https://example.org/book.pdf)- (PDF) Jane Roe
GOOD: * [A Very Awesome Book](https://example.org/book.pdf) - Jane Roe (PDF)
```
- Multiple formats:
```
BAD : * [Another Awesome Book](http://example.com/)- John Doe (HTML)
BAD : * [Another Awesome Book](https://downloads.example.org/book.html)- John Doe (download site)
GOOD: * [Another Awesome Book](http://example.com/) - John Doe (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
```text
BAD : * [Another Awesome Book](http://example.com/)- John Doe (HTML)
BAD : * [Another Awesome Book](https://downloads.example.org/book.html)- John Doe (download site)
GOOD: * [Another Awesome Book](http://example.com/) - John Doe (HTML) [(PDF, EPUB)](https://downloads.example.org/book.html)
```
- Include publication year in title for older books:
```
BAD : * [A Very Awesome Book](https://example.org/book.html) - Jane Roe - 1970
GOOD: * [A Very Awesome Book (1970)](https://example.org/book.html) - Jane Roe
```
```text
BAD : * [A Very Awesome Book](https://example.org/book.html) - Jane Roe - 1970
GOOD: * [A Very Awesome Book (1970)](https://example.org/book.html) - Jane Roe
```
<a name="in_process"></a>
- In-process books:
- <a id="in_process"></a>In-process books:
```
GOOD: * [Will Be An Awesome Book Soon](http://example.com/book2.html) - John Doe (HTML) (:construction: *in process*)
```
```text
GOOD: * [Will Be An Awesome Book Soon](http://example.com/book2.html) - John Doe (HTML) (:construction: *in process*)
```
<a name="archived"></a>
- Archived link:
- <a id="archived"></a>Archived link:
```text
GOOD: * [A Way-backed Interesting Book](https://web.archive.org/web/20211016123456/http://example.com/) - John Doe (HTML) *(:card_file_box: archived)*
```
```
GOOD: * [A Way-backed Interesting Book](https://web.archive.org/web/20211016123456/http://example.com/) - John Doe (HTML) *(:card_file_box: archived)*
```
### Notes
While the basics are relatively simple, there is a great diversity in the resources we list. Here are some notes on how we deal with this diversity.
#### Metadata
Our lists provide a minimal set of metadata: titles, URLs, creators, platforms, and access notes.
##### Titles
- No invented titles. We try to take titles from the resources themselves; contributors are admonished not to invent titles or use them editorially if this can be avoided. An exception is for older works; if they are primarily of historical interest, a year in parentheses appended to the title helps users know if they are of interest.
- No ALLCAPS titles. Usually title case is appropriate, but when doubt use the capitalization from the source
##### URLs
- We don't permit shortened URLs.
- Tracking codes must be removed from the URL.
- International URLs should be escaped. Browser bars typically render these to Unicode, but use copy and paste, please.
- Secure (https) URLs are always preferred over non-secure (http) urls where https has been implemented.
- Secure (`https`) URLs are always preferred over non-secure (`http`) urls where HTTPS has been implemented.
- We don't like URLs that point to webpages that don't host the listed resource, but instead point elsewhere.
##### Creators
- We want to credit the creators of free resources where appropriate, including translators!
- For translated works the original author should be credited.
- We do not permit links for Creators.
- For compilation or remixed works, the "creator" may need a description. For example, "GoalKicker" or "RIP Tutorial" books are credited as "Compiled from StackOverflow documentation"
- For compilation or remixed works, the "creator" may need a description. For example, "GoalKicker" or "RIP Tutorial" books are credited as "`Compiled from StackOverflow documentation`".
##### Platforms and Access Notes
- Courses. Especially for our course lists, the platform is an important part of the resource description. This is because course platforms have different affordances and access models. While we usually won't list a book that requires a registration, many course platforms have affordances that don't work without some sort of account. Example course platforms include Coursera, EdX, Udacity, and Udemy. When a course depends on a platform, the platform name should be listed in parentheses.
- YouTube. We have many courses which consist of YouTube playlists. We do not list Youtube as a platform, we try to list the Youtube creator, which is often a sub-platform.
- YouTube. We have many courses which consist of YouTube playlists. We do not list YouTube as a platform, we try to list the YouTube creator, which is often a sub-platform.
- YouTube videos. We usually don't link to individual YouTube videos unless they are more than an hour long and are structured like a course or a tutorial.
- Leanpub. Leanpub hosts books with a variety of access models. Sometimes a book can be read without registration; sometimes a book requires a Leanpub account for free access. Given quality of the books and the mixture and fluidity of Leanpub access models, we permit listing of the latter with the access note *(Leanpub account or valid email requested)*
- Leanpub. Leanpub hosts books with a variety of access models. Sometimes a book can be read without registration; sometimes a book requires a Leanpub account for free access. Given quality of the books and the mixture and fluidity of Leanpub access models, we permit listing of the latter with the access note `*(Leanpub account or valid email requested)*`.
#### Genres
The first rule in deciding which list a resource belongs in is to see how the resource describes itself. If it calls itself a book, then maybe it's a book.
##### Genres we don't list
Because the Internet is vast, we don't include in our lists:
@ -173,7 +195,7 @@ Because the Internet is vast, we don't include in our lists:
- blogs
- blog posts
- articles
- websites (except for those that host LOTS of items that we list.)
- websites (except for those that host LOTS of items that we list).
- videos that aren't courses or screencasts.
- book chapters
- teaser samples from books
@ -212,13 +234,13 @@ If you can print it out and retain its essence, it's not an Interactive Tutorial
### Automation
- Formatting rules enforcement is automated via [GitHub Actions](https://github.com/features/actions) using [fpb-lint](https://github.com/vhf/free-programming-books-lint) (see [.github/workflows/fpb-lint.yml](.github/workflows/fpb-lint.yml))
- Formatting rules enforcement is automated via [GitHub Actions](https://github.com/features/actions) using [fpb-lint](https://github.com/vhf/free-programming-books-lint) (see [`.github/workflows/fpb-lint.yml`](../.github/workflows/fpb-lint.yml))
- URL validation uses [awesome_bot](https://github.com/dkhamsing/awesome_bot)
- To trigger URL validation, push a commit that includes a commit message containing `check_urls=file_to_check`:
```
check_urls=free-programming-books.md free-programming-books-en.md
```
```properties
check_urls=free-programming-books.md free-programming-books-en.md
```
- You may specify more than one file to check, using a single space to separate each entry.
- If you specify more than one file, results of the build are based on the result of the last file checked. You should be aware that you may get passing green builds due to this so be sure to inspect the build log at the end of the pull request by clicking on "Show all checks" -> "Details".
- If you specify more than one file, results of the build are based on the result of the last file checked. You should be aware that you may get passing green builds due to this so be sure to inspect the build log at the end of the Pull Request by clicking on "Show all checks" -> "Details".

View File

@ -1,19 +1,40 @@
*[إقرأ هذا بلغات أخرى](../README.md#translations)*
# How-To at a glance
مرحبا بكم في *!Free-Programming-Books* نرحّب بجميع المساهمين الجدد؛ ونرحب أيضا بهؤلاء الذين يريدون تقديم أول بولّ ريكويست لهم علي جيت هبّ. إن كنت واحدا منهم، فإليك بعض المصادر التي ربما تساعدك:
<div align="right" markdown="1">
* [ 🇺🇸 عن البولّ ريكويست](https://help.github.com/articles/about-pull-requests/)
* [ 🇺🇸 إنشاء بولّ ريكويست](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request)
* [ 🇺🇸 جيت هبّ مرحبا يا عالَم](https://guides.github.com/activities/hello-world/)
* [ 🇺🇸 يوتيوب - دورات تعليمية عن جيت هبّ للمبتدئين](https://www.youtube.com/watch?v=0fKg7e37bQE)
* [ 🇺🇸 يوتيوب - كيف تنشئ نسختك من مستودع علي جيت هبّ وتقوم بتقديم بولّ ريكويست](https://www.youtube.com/watch?v=G1I3HF4YWEw)
* [ 🇺🇸 يوتيوب - دورة تعليمية مكثفة عن لغة المارك داون](https://www.youtube.com/watch?v=HUBNt18RFbo)
* [ 🇩🇿 يوتيوب - دورة تعليمية مكثفة عن لغة المارك داون](https://www.youtube.com/watch?v=1lZCkU5VpIs)
* [ 🇪🇬 يوتيوب - دورات تعليمية عن جيت هبّ للمبتدئين](https://www.youtube.com/playlist?list=PLDoPjvoNmBAw4eOj58MZPakHjaO3frVMF)
*[إقرأ هذا بلغات أخرى](README.md#translations)*
</div>
<div dir="rtl" markdown="1">
**مرحبا بكم في *!`Free-Programming-Books`**
نرحّب بجميع المساهمين الجدد؛ ونرحب أيضا بهؤلاء الذين يريدون تقديم أول Pull Request (PR) لهم علي GitHub. إن كنت واحدا منهم، فإليك بعض المصادر التي ربما تساعدك:
* [عن البولّ ريكويست](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) *(in English)*
* [إنشاء بولّ ريكويست](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) *(in English)*
* [GitHub مرحبا يا عالَم](https://docs.github.com/en/get-started/quickstart/hello-world) *(in English)*
* [YouTube - دورات تعليمية عن GitHub للمبتدئين](https://www.youtube.com/watch?v=0fKg7e37bQE) *(in English)*
* [YouTube - كيف تنشئ نسختك من مستودع علي GitHub وتقوم بتقديم بولّ ريكويست](https://www.youtube.com/watch?v=G1I3HF4YWEw) *(in English)*
* [YouTube - دورة تعليمية مكثفة عن لغة المارك داون](https://www.youtube.com/watch?v=HUBNt18RFbo) *(in English)*
* [YouTube - دورة تعليمية مكثفة عن لغة المارك داون](https://www.youtube.com/watch?v=1lZCkU5VpIs) *(in Algerian Arabic / بالجزائري)*
* [YouTube - دورات تعليمية عن GitHub للمبتدئين](https://www.youtube.com/playlist?list=PLDoPjvoNmBAw4eOj58MZPakHjaO3frVMF) *(in Egyptian Arabic / بالمصري)*
لا تخجل من أن تسأل، كل مساهم بدأ بأول بولّ ريكويست له، ربما تكون من الآلاف المساهمين لدينا!
لا تخجل من أن تسأل، كل مساهم بدأ بأول PR له، ربما تكون من الآلاف المساهمين لدينا! لذا... لما لا تنضم إلى مجتمعنا [الكبير والمزدهر](https://www.apiseven.com/en/contributor-graph?chart=contributorOverTime&repo=ebookfoundation/free-programming-books).
حتي لو كنت مساهما متمرسا في المشاريع مفتوحة المصدر، هناك بعض الأشياء التي ربما تقف في طريقك. فعند تقديمك للبولّ ريكويست، يقوم *جيت هبّ أكشن* بتشغيل فاحص تلقائيا لاكتشاف بعض الأخطاء الصغيرة التي قد تحدث بسبب المسافات أو الأخطاء الأبجدية. فإذا كان الزر أخضرا، هذا يعني أن الكود جاهز للمراجعة، ولكن إن كان غير ذلك، إضغط علي "تفاصيل" تحت الإختبار الذي فشل لتري ما هي الأخطاء التي يجب أن تصححها قبل مراجعة الكود. بعد تصحيح الأخطاء قم بعمل كومّيت لإضافة التعديلات للبولّ ريكويست.
<details align="center" markdown="1">
<summary>إضغط لترى الرسم البياني لنمو المساهمين بالنسبة للزمن.</summary>
في النهاية، إذا لم تتأكد من أن المصادر التي تريد إضافتها مناسبة لـ *Free-Programming-Books*، فقم بقرآءة الدليل الإرشادي في [CONTRIBUTING](CONTRIBUTING.md). ([translations](../README.md#translations))
[![EbookFoundation/free-programming-books's Contributor over time Graph](https://contributor-overtime-api.apiseven.com/contributors-svg?chart=contributorOverTime&repo=ebookfoundation/free-programming-books)](https://www.apiseven.com/en/contributor-graph?chart=contributorOverTime&repo=ebookfoundation/free-programming-books)
[![EbookFoundation/free-programming-books's Monthly Active Contributors graph](https://contributor-overtime-api.apiseven.com/contributors-svg?chart=contributorMonthlyActivity&repo=ebookfoundation/free-programming-books)](https://www.apiseven.com/en/contributor-graph?chart=contributorMonthlyActivity&repo=ebookfoundation/free-programming-books)
</details>
حتي لو كنت مساهما متمرسا في المشاريع مفتوحة المصدر، هناك بعض الأشياء التي ربما تقف في طريقك. فعند تقديمك للـPR، يقوم ***GitHub Actions* بتشغيل فاحص تلقائيا لاكتشاف بعض الأخطاء الصغيرة التي قد تحدث بسبب المسافات أو الأخطاء الأبجدية.** فإذا كان الزر أخضرا، هذا يعني أن الكود جاهز للمراجعة، ولكن إن كان غير ذلك، إضغط علي "تفاصيل" تحت الإختبار الذي فشل لتري ما هي الأخطاء التي يجب أن تصححها قبل مراجعة الكود. بعد تصحيح الأخطاء قم بعمل كومّيت لإضافة التعديلات للـPR.
في النهاية، إذا لم تتأكد من أن المصادر التي تريد إضافتها مناسبة لـ `Free-Programming-Books`، فقم بقرآءة الدليل الإرشادي في [CONTRIBUTING](CONTRIBUTING.md). ([translations](README.md#translations))
</div>

View File

@ -1,16 +1,34 @@
*[অন্য ভাষায় এটা পড়ুন](../README.md#translations)*
# How-To at a glance
Free-Programming-Books রিপোজটরি তে স্বাগতম! আমরা নবাগত কন্ট্রিবিউটরস দের স্বাগতম জানাই; এমনকি যারা গিটহাবে এই প্রথম কোন "পুল রিকোয়েস্ট" তৈরি কয়েছেন। যদি আপনি তাদের একজন হয়ে থাকেন তাহলে নিচের রিসোর্স গুলো আপনার কাজে লাগতে পারেঃ
<div align="right" markdown="1">
* [:us: পুল রিকোয়েস্ট কি?](https://help.github.com/articles/about-pull-requests/) *(in english)*
* [:us: কিভাবে পুল রিকোয়েস্ট দিব](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request) *(in english)*
* [:us: গিটহাব হ্যালো ওয়ার্ল্ড](https://guides.github.com/activities/hello-world/) *(in english)*
* [:us: ইউটিউব - নতুনদের জন্য গিটহাব](https://www.youtube.com/watch?v=0fKg7e37bQE) *(in english)*
* [:us: ইউটিউব - কিভাবে একটি গিটহাব রিপোজিটরি ফোর্ক করবেন এবং পুল রিকোয়েস্ট সাবমিট করবেন](https://www.youtube.com/watch?v=G1I3HF4YWEw) *(in english)*
* [:us: ইউটিউব - মার্কডাউন ক্র্যাশ কোর্স ](https://www.youtube.com/watch?v=HUBNt18RFbo) *(in english)*
*[অন্য ভাষায় এটা পড়ুন](README.md#translations)*
কোন প্রশ্ন করতে দ্বিধাবোধ করবেন না। সব কন্ট্রিবিউটরই ফার্স্ট পুল রিকোয়েস্ট থেকে শুরু করেছিল। আপনিও হতে পারেন আমাদের সহস্রতম কন্ট্রিবিউটর!
</div>
এমনকি আপনি যদি একজন অভিজ্ঞ ওপেন-সোর্স কন্ট্রিবিউটর ও হয়ে থাকেন, কখনও কখনো কিছু জিনিস ভুল হতেই পারে। যখন আপনি আপনার পুল রিকোয়েস্ট সাবমিট করবেন গিটহাব একশনস আপনার কোড কে যাচাই-বাছাই করবে, কখনো বা স্পেসিং বা ক্যাপিটালাইজেশন এর মত ছোটখাটো জিনিস খুঁজে বের করবে। যদি আপনি সবুজ বাটন পেয়ে যান, তাহলে বুঝতে পারবেন সবকিছু রিভিউ এর জন্য প্রস্তুত। কিন্তু যদি আপনি সবুজ বাটন না পান তাহলে ফেইল্ড হওয়া চেক এর নিচে "Details" এ ক্লিক করলে সমস্যাগুলি খুঁজে বের করতে পারবেন। তারপর সেই সমস্যাগুলো ফিক্স করার পর আপনার পুল রিকোয়েস্ট এ কমিট করবেন।
**`Free-Programming-Books` রিপোজটরি তে স্বাগতম!**
যদি আপনার সন্দেহ হয় যে আপনার রিসোর্স "Free-Programming-Books" এর জন্য উপযুক্ত কিনা, এই গাইডলাইন্স পড়ে দেখুন- [CONTRIBUTING](CONTRIBUTING.md) ([translations](../README.md#translations))
আমরা নবাগত কন্ট্রিবিউটরস দের স্বাগতম জানাই; এমনকি যারা GitHub এই প্রথম কোন Pull Request (PR) তৈরি কয়েছেন। যদি আপনি তাদের একজন হয়ে থাকেন তাহলে নিচের রিসোর্স গুলো আপনার কাজে লাগতে পারেঃ
* [পুল রিকোয়েস্ট কি?](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) *(in english)*
* [কিভাবে পুল রিকোয়েস্ট দিব](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) *(in english)*
* [GitHub হ্যালো ওয়ার্ল্ড](https://docs.github.com/en/get-started/quickstart/hello-world) *(in english)*
* [YouTube - নতুনদের জন্য GitHub](https://www.youtube.com/watch?v=0fKg7e37bQE) *(in english)*
* [YouTube - কিভাবে একটি GitHub রিপোজিটরি ফোর্ক করবেন এবং পুল রিকোয়েস্ট সাবমিট করবেন](https://www.youtube.com/watch?v=G1I3HF4YWEw) *(in english)*
* [YouTube - মার্কডাউন ক্র্যাশ কোর্স](https://www.youtube.com/watch?v=HUBNt18RFbo) *(in english)*
কোন প্রশ্ন করতে দ্বিধাবোধ করবেন না। সব কন্ট্রিবিউটরই ফার্স্ট PR থেকে শুরু করেছিল। So... why not join our [large, growing](https://www.apiseven.com/en/contributor-graph?chart=contributorOverTime&repo=ebookfoundation/free-programming-books) community.কন্ট্রিবিউটর!
<details align="center" markdown="1">
<summary>Click to see the growth users vs. time graphs.</summary>
[![EbookFoundation/free-programming-books's Contributor over time Graph](https://contributor-overtime-api.apiseven.com/contributors-svg?chart=contributorOverTime&repo=ebookfoundation/free-programming-books)](https://www.apiseven.com/en/contributor-graph?chart=contributorOverTime&repo=ebookfoundation/free-programming-books)
[![EbookFoundation/free-programming-books's Monthly Active Contributors graph](https://contributor-overtime-api.apiseven.com/contributors-svg?chart=contributorMonthlyActivity&repo=ebookfoundation/free-programming-books)](https://www.apiseven.com/en/contributor-graph?chart=contributorMonthlyActivity&repo=ebookfoundation/free-programming-books)
</details>
এমনকি আপনি যদি একজন অভিজ্ঞ ওপেন-সোর্স কন্ট্রিবিউটর ও হয়ে থাকেন, কখনও কখনো কিছু জিনিস ভুল হতেই পারে। যখন আপনি আপনার PR সাবমিট করবেন ***GitHub Actions* আপনার কোড কে যাচাই-বাছাই করবে, কখনো বা স্পেসিং বা ক্যাপিটালাইজেশন এর মত ছোটখাটো জিনিস খুঁজে বের করবে**। যদি আপনি সবুজ বাটন পেয়ে যান, তাহলে বুঝতে পারবেন সবকিছু রিভিউ এর জন্য প্রস্তুত। কিন্তু যদি আপনি সবুজ বাটন না পান তাহলে ফেইল্ড হওয়া চেক এর নিচে "Details" এ ক্লিক করলে সমস্যাগুলি খুঁজে বের করতে পারবেন। তারপর সেই সমস্যাগুলো ফিক্স করার পর আপনার PR এ কমিট করবেন।
যদি আপনার সন্দেহ হয় যে আপনার রিসোর্স `Free-Programming-Books` এর জন্য উপযুক্ত কিনা, এই গাইডলাইন্স পড়ে দেখুন- [CONTRIBUTING](CONTRIBUTING.md) ([translations](README.md#translations))

View File

@ -1,17 +1,34 @@
*[Pročitaj ovo u drugim jezicima](../README.md#translations)*
# How-To at a glance
Dobrodošli u Free-Programming-Books! Primamo nove kontributore; čak i one koji tek prave svoj prvi pull request na GitHub-u. Ako ste jedan od njih, ovdje je nekoliko izvora koji bi Vam mogli pomoći:
<div align="right" markdown="1">
* [O pull request-ima](https://help.github.com/articles/about-pull-requests/)
* [Kreiranje pull request-a](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request)
* [GitHub Hello World](https://guides.github.com/activities/hello-world/)
* [YouTube - GitHub tutorijal za početnike](https://www.youtube.com/watch?v=0fKg7e37bQE)
* [YouTube - Kako fork-ati GitHub repozitorij i postaviti pull request](https://www.youtube.com/watch?v=G1I3HF4YWEw)
* [YouTube - Markdown Crash Course](https://www.youtube.com/watch?v=HUBNt18RFbo)
*[Pročitaj ovo u drugim jezicima](README.md#translations)*
</div>
**Dobrodošli u `Free-Programming-Books`!**
Primamo nove kontributore; čak i one koji tek prave svoj prvi Pull Request (PR) na GitHub-u. Ako ste jedan od njih, ovdje je nekoliko izvora koji bi Vam mogli pomoći:
* [O pull request-ima](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) *(in english)*
* [Kreiranje pull request-a](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) *(in english)*
* [GitHub Hello World](https://docs.github.com/en/get-started/quickstart/hello-world) *(in english)*
* [YouTube - GitHub tutorijal za početnike](https://www.youtube.com/watch?v=0fKg7e37bQE) *(in english)*
* [YouTube - Kako fork-ati GitHub repozitorij i postaviti pull request](https://www.youtube.com/watch?v=G1I3HF4YWEw) *(in english)*
* [YouTube - Markdown Crash Course](https://www.youtube.com/watch?v=HUBNt18RFbo) *(in english)*
Namojte se ustručavati da postavljate pitanja; svaki kontributor je započeo sa prvim PR-om. Vi biste mogli biti naš hiljaditi!
Namojte se ustručavati da postavljate pitanja; svaki kontributor je započeo sa prvim PR-om. So... why not join our [large, growing](https://www.apiseven.com/en/contributor-graph?chart=contributorOverTime&repo=ebookfoundation/free-programming-books) community.
Čak i ako ste iskusan open source kontributor, postoje stvari u kojma biste se mogli zapetljati. Nakon što ste postavili Vaš PR, GitHub Actions će pokrenuti linter, koji često pronalazi problemčiće sa proredom ili abecednim redoslijedom. Ako dobijete zeleno dugme, sve je spremno za pregled, u suprotnom, kliknite "Details" ispod provjere koja nije uspjela kako biste otkrili šta se linter-u nije svidjelo. Ispravite problem i dodajte commit Vašem PR-u.
<details align="center" markdown="1">
<summary>Click to see the growth users vs. time graphs.</summary>
Na kraju, ako niste sigurni da je resurs koji želite dodati prikladan za Free-Programming-Books, pročitajte smjernice u [CONTRIBUTING](CONTRIBUTING.md). ([translations](../README.md#translations))
[![EbookFoundation/free-programming-books's Contributor over time Graph](https://contributor-overtime-api.apiseven.com/contributors-svg?chart=contributorOverTime&repo=ebookfoundation/free-programming-books)](https://www.apiseven.com/en/contributor-graph?chart=contributorOverTime&repo=ebookfoundation/free-programming-books)
[![EbookFoundation/free-programming-books's Monthly Active Contributors graph](https://contributor-overtime-api.apiseven.com/contributors-svg?chart=contributorMonthlyActivity&repo=ebookfoundation/free-programming-books)](https://www.apiseven.com/en/contributor-graph?chart=contributorMonthlyActivity&repo=ebookfoundation/free-programming-books)
</details>
Čak i ako ste iskusan open source kontributor, postoje stvari u kojma biste se mogli zapetljati. Nakon što ste postavili Vaš PR, ***GitHub Actions* će pokrenuti *linter*, koji često pronalazi problemčiće sa proredom ili abecednim redoslijedom**. Ako dobijete zeleno dugme, sve je spremno za pregled, u suprotnom, kliknite "Details" ispod provjere koja nije uspjela kako biste otkrili šta se linter-u nije svidjelo. Ispravite problem i dodajte commit Vašem PR-u.
Na kraju, ako niste sigurni da je resurs koji želite dodati prikladan za `Free-Programming-Books`, pročitajte smjernice u [CONTRIBUTING](CONTRIBUTING.md). ([translations](README.md#translations))

View File

@ -1,16 +1,33 @@
*[Lese das hier auch in anderen Sprachen](../README.md#translations)*
# How-To at a glance
Willkommen zu *Free-Programming-Books*! Wir heißen neue Beitragende herzlich willkommen. Auch die, die ihren ersten Pull Request (PR) auf GitHub machen möchten. Wenn Du eine dieser Personen bist, dann findest Du hier einige nützliche Ressourcen:
<div align="right" markdown="1">
* [Informationen zu Pull Requests](https://docs.github.com/de/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)
* [Pull Requests erstellen](https://docs.github.com/de/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request)
* [GitHub Hallo Welt](https://guides.github.com/activities/hello-world/) *(auf Englisch)*
*[Lese das hier auch in anderen Sprachen](README.md#translations)*
</div>
**Willkommen zu `Free-Programming-Books`!**
Wir heißen neue Beitragende herzlich willkommen. Auch die, die ihren ersten Pull Request (PR) auf GitHub machen möchten. Wenn Du eine dieser Personen bist, dann findest Du hier einige nützliche Ressourcen:
* [Informationen zu Pull Requests](https://docs.github.com/de/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/about-pull-requests)
* [Pull Requests erstellen](https://docs.github.com/de/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request)
* [GitHub Hallo Welt](https://docs.github.com/en/get-started/quickstart/hello-world) *(auf Englisch)*
* [YouTube - Tutorial GitHub für Anfänger](https://www.youtube.com/watch?v=0fKg7e37bQE) *(auf Englisch)*
* [YouTube - So forkst Du ein GitHub-Repo und sendest einen Pull Request](https://www.youtube.com/watch?v=G1I3HF4YWEw) *(auf Englisch)*
* [YouTube - GitHub Markdown](https://www.youtube.com/watch?v=HUBNt18RFbo) *(auf Englisch)*
Habe keine Angst eine Frage zu stellen. Jeder fängt mal an und macht irgendwann seinen allerersten Pull Request. Du könntest unser tausendster sein.
Habe keine Angst eine Frage zu stellen. Jeder fängt mal an und macht irgendwann seinen allerersten PR. So... why not join our [large, growing](https://www.apiseven.com/en/contributor-graph?chart=contributorOverTime&repo=ebookfoundation/free-programming-books) community.
Selbst, wenn Du ein erfahrener Open-Source-Mitwirkender bist, könnte es Dinge geben, die Dich ins Straucheln bringen. Sobald Du Deinen PR eingereicht hast, führt GitHub Actions einen Linter aus und findet oft kleine Probleme mit Absätzen oder Alphabetisierung. Wenn Du eine grüne Schaltfläche siehst, ist alles zur Überprüfung bereit. Aber wenn das nicht der Fall ist, klicke unter der fehlgeschlagenen Überprüfung auf "Details", um herauszufinden, was dem Linter nicht gefallen hat. Behebe das Problem und füge Deinem PR einen Commit hinzu.
<details align="center" markdown="1">
<summary>Click to see the growth users vs. time graphs.</summary>
Wenn Du Dir nicht sicher bist, ob die Ressource, die Du hinzufügen möchtest, für Free-Programming-Books geeignet ist, lies Dir die Richtlinien in [Mitwirken](CONTRIBUTING-de.md) durch. ([translations](../README.md#translations))
[![EbookFoundation/free-programming-books's Contributor over time Graph](https://contributor-overtime-api.apiseven.com/contributors-svg?chart=contributorOverTime&repo=ebookfoundation/free-programming-books)](https://www.apiseven.com/en/contributor-graph?chart=contributorOverTime&repo=ebookfoundation/free-programming-books)
[![EbookFoundation/free-programming-books's Monthly Active Contributors graph](https://contributor-overtime-api.apiseven.com/contributors-svg?chart=contributorMonthlyActivity&repo=ebookfoundation/free-programming-books)](https://www.apiseven.com/en/contributor-graph?chart=contributorMonthlyActivity&repo=ebookfoundation/free-programming-books)
</details>
Selbst, wenn Du ein erfahrener Open-Source-Mitwirkender bist, könnte es Dinge geben, die Dich ins Straucheln bringen. Sobald Du Deinen PR eingereicht hast, führt ***GitHub Actions* einen *Linter* aus und findet oft kleine Probleme mit Absätzen oder Alphabetisierung**. Wenn Du eine grüne Schaltfläche siehst, ist alles zur Überprüfung bereit. Aber wenn das nicht der Fall ist, klicke unter der fehlgeschlagenen Überprüfung auf "Details", um herauszufinden, was dem Linter nicht gefallen hat. Behebe das Problem und füge Deinem PR einen Commit hinzu.
Wenn Du Dir nicht sicher bist, ob die Ressource, die Du hinzufügen möchtest, für `Free-Programming-Books` geeignet ist, lies Dir die Richtlinien in [Mitwirken](CONTRIBUTING-de.md) durch. ([translations](README.md#translations))

View File

@ -1,17 +1,34 @@
*[Διαβάστε το σε διαφορετικές γλώσσες](../README.md#translations)*
# How-To at a glance
Καλώς ήλθατε στο Free-Programming-Books! Καλωσορίζουμε τους νέους συνεισφέροντες· ακόμα και αυτούς που κάνουν το πρώτο τους pull request (PR) στο Github. Αν είστε ένας από αυτούς, ορίστε λίγο υλικό που μπορεί να βοηθήσει:
<div align="right" markdown="1">
* [Σχετικά με τα Pull Requests](https://help.github.com/articles/about-pull-requests/) *(στα αγγλικά)*
* [Δημιουργώντας pull request](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request) *(στα αγγλικά)*
* [Hello World στο Github](https://guides.github.com/activities/hello-world/) *(στα αγγλικά)*
* [Youtube - Tutorial στο Github Για Αρχάριους](https://www.youtube.com/watch?v=0fKg7e37bQE) *(στα αγγλικά)*
* [Youtube - Πως να Κάνετε Fork ένα αποθετήριο στο GitHub και να Υποβάλετε Ένα Pull Request](https://www.youtube.com/watch?v=G1I3HF4YWEw) *(στα αγγλικά)*
* [Youtube - Σύντομο Μάθημα Markdown](https://www.youtube.com/watch?v=HUBNt18RFbo) *(στα αγγλικά)*
*[Διαβάστε το σε διαφορετικές γλώσσες](README.md#translations)*
</div>
**Καλώς ήλθατε στο `Free-Programming-Books`!**
Καλωσορίζουμε τους νέους συνεισφέροντες· ακόμα και αυτούς που κάνουν το πρώτο τους Pull Request (PR) στο GitHub. Αν είστε ένας από αυτούς, ορίστε λίγο υλικό που μπορεί να βοηθήσει:
* [Σχετικά με τα Pull Requests](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) *(στα αγγλικά)*
* [Δημιουργώντας pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) *(στα αγγλικά)*
* [Hello World στο GitHub](https://docs.github.com/en/get-started/quickstart/hello-world) *(στα αγγλικά)*
* [YouTube - Tutorial στο GitHub Για Αρχάριους](https://www.youtube.com/watch?v=0fKg7e37bQE) *(στα αγγλικά)*
* [YouTube - Πως να Κάνετε Fork ένα αποθετήριο στο GitHub και να Υποβάλετε Ένα Pull Request](https://www.youtube.com/watch?v=G1I3HF4YWEw) *(στα αγγλικά)*
* [YouTube - Σύντομο Μάθημα Markdown](https://www.youtube.com/watch?v=HUBNt18RFbo) *(στα αγγλικά)*
Μη διστάσετε να κάνετε ερωτήσεις· κάθε συνεισφέρων ξεκίνησε ένα πρώτο PR. Μπορεί να είστε το χιλιοστό μας!
Μη διστάσετε να κάνετε ερωτήσεις· κάθε συνεισφέρων ξεκίνησε ένα πρώτο PR. So... why not join our [large, growing](https://www.apiseven.com/en/contributor-graph?chart=contributorOverTime&repo=ebookfoundation/free-programming-books) community.
Ακόμα και αν είστε έμπειρος συνεισφέρων, υπάρχουν πράγματα που μπορεί να σας μπερδέψουν. Όταν έχετε υποβάλλει το PR σας, το GitHub Actions θα τρέχει ένα linter, που βρίσκει συνήθως μικρά θέματα με τα κενά ή την αλφαβητική σειρά. Αν δείτε ένα πράσινο κουμπί, όλα είναι έτοιμα για ανασκόπηση, αλλά αν όχι, πατήστε "Details" (λεπτομέρειες) κάτω από τον έλεγχο που απέτυχε για να μάθετε τι δεν άρεσε στον linter. Διορθώστε το πρόβλημα και προσθέστε ένα commit στο PR σας.
<details align="center" markdown="1">
<summary>Click to see the growth users vs. time graphs.</summary>
Τέλος, αν δεν είστε σίγουροι αν το υλικό που θέλετε να προσθέσετε είναι κατάλληλο για το Free-Programming-Books, διαβάστε προσεκτικά τις κατευθυντήριες γραμμές στο [CONTRIBUTING](CONTRIBUTING-el.md). ([translations](../README.md#translations))
[![EbookFoundation/free-programming-books's Contributor over time Graph](https://contributor-overtime-api.apiseven.com/contributors-svg?chart=contributorOverTime&repo=ebookfoundation/free-programming-books)](https://www.apiseven.com/en/contributor-graph?chart=contributorOverTime&repo=ebookfoundation/free-programming-books)
[![EbookFoundation/free-programming-books's Monthly Active Contributors graph](https://contributor-overtime-api.apiseven.com/contributors-svg?chart=contributorMonthlyActivity&repo=ebookfoundation/free-programming-books)](https://www.apiseven.com/en/contributor-graph?chart=contributorMonthlyActivity&repo=ebookfoundation/free-programming-books)
</details>
Ακόμα και αν είστε έμπειρος συνεισφέρων, υπάρχουν πράγματα που μπορεί να σας μπερδέψουν. Όταν έχετε υποβάλλει το PR σας, το ***GitHub Actions* θα τρέχει ένα *linter*, που βρίσκει συνήθως μικρά θέματα με τα κενά ή την αλφαβητική σειρά**. Αν δείτε ένα πράσινο κουμπί, όλα είναι έτοιμα για ανασκόπηση, αλλά αν όχι, πατήστε "Details" (λεπτομέρειες) κάτω από τον έλεγχο που απέτυχε για να μάθετε τι δεν άρεσε στον linter. Διορθώστε το πρόβλημα και προσθέστε ένα commit στο PR σας.
Τέλος, αν δεν είστε σίγουροι αν το υλικό που θέλετε να προσθέσετε είναι κατάλληλο για το `Free-Programming-Books`, διαβάστε προσεκτικά τις κατευθυντήριες γραμμές στο [CONTRIBUTING](CONTRIBUTING-el.md). ([translations](README.md#translations))

Some files were not shown because too many files have changed in this diff Show More