free-programming-books

:books: Freely available programming books. Owned by @EbookFoundation

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

阅读本文的其他语言版本

贡献者许可协议

请遵循此许可协议参与贡献。

贡献者行为准则

请同意并遵循此行为准则参与贡献。(translations)

概要

  1. “一个可以轻易下载一本书的链接” 并不代表它指向的就是 免费 书籍。 请只提供免费内容。 确信你所提供的书籍是免费的。我们不接受指向需要工作电子邮件地址才能获取书籍的页面的链接,但我们欢迎有需求它们的列表。

  2. 你不需要会 Git:如果你发现了一些有趣的东西 尚未出现在本仓库 中,请开一个Issue进行主题讨论。
    • 如果你已经知晓Git,请Fork本仓库并提交Pull Request (PR)。
  3. 这里有6种列表,请选择正确的一个:

    • Books :PDF、HTML、ePub、基于一个 gitbook.io的站点、一个Git仓库等等。
    • Courses :课程是一种学习材料,而不是一本书 This is a course
    • Interactive Tutorials :一个交互式网站,它允许用户输入代码或命令并对结果进行评估。例如:Try HaskellTry GitHub
    • Playgrounds : Playgrounds 可能是学习编程的在线交互式网站、游戏或桌面软件。你可以在上面编写、编译、运行或分享代码片段。Playgrounds 通常允许你 fork 代码然后在其中尽情的编写代码。
    • Podcasts and Screencasts :播客和视频。
    • Problem Sets & Competitive Programming :一个网站或软件,让你通过解决简单或复杂的问题来评估你的编程技能,有或没有代码审查,有或没有与其他用户对比结果。
  4. 确保遵循下面的基本准则,并遵循本仓库文件的Markdown规定格式

  5. GitHub Actions 将运行测试,以确保你的列表是 按字母顺序排列 的,并 遵循格式化规则。请 确保 你的更改通过了该测试。

基本准则

规定格式

整体思想为:

举例:

[...]
* [一本很有用的书](http://example.com/example.html)
                                (空行)
                                (空行)
### 电子书种类标题
                                (空行)
* [Another 很有用的书](http://example.com/book.html)
* [Other 有用的书](http://example.com/other.html)

Alphabetical order

If you see a misplaced link, check the linter error message to know which lines should be swapped.

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
URLs
Creators
Platforms and Access Notes

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:

Our competitive programming lists are not as strict about these exclusions. The scope of the repo is determined by the community; if you want to suggest a change or addition to the scope, please use an issue to make the suggestion.

Books vs. Other Stuff

We’re not that fussy about book-ness. Here are some attributes that signify that a resource is a book:

There are lots of books that we list that don’t have these attributes; it can depend on context.

Books vs. Courses

Sometimes these can be hard to distinguish!

Courses often have associated textbooks, which we would list in our books lists. Courses have lectures, exercises, tests, notes or other didactic aids. A single lecture or video by itself is not a course. A powerpoint is not a course.

Interactive Tutorials vs. Other stuff

If you can print it out and retain its essence, it’s not an Interactive Tutorial.

Automation