free-programming-books

:books: Freely available programming books

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

閱讀其他語言版本的文件

貢獻者許可協議

請遵循此 許可協議 參與貢獻。

貢獻者行為準則

請同意並遵循此 行為準則 參與貢獻。(translations)

概要

  1. “一個可以輕易下載一本書的連結” 並不代表它導向的就是 免費 書籍。 請只提供免費內容。 確信你所提供的書籍是免費的。我們不接受導向 需要 工作電子郵件地址才能獲取書籍頁面的連結,但我們歡迎有需求這些連結的列表。

  2. 你不需要會 Git:如果你發現了一些有趣的東西 尚未出現在此 repo 中,請開一個 Issue 進行主題討論。
    • 如果你已經知道 Git,請 Fork 此 repo 並提交 Pull Request (PR)。
  3. 這裡有六種列表,請選擇正確的一項:

    • Books :PDF、HTML、ePub、基於 gitbook.io 的網站、Git 的 repo 等。
    • Courses :課程是一種學習素材,而不是一本書 This is a course
    • Interactive Tutorials :一個互動式網站,允許用戶輸入程式碼或指令並執行結果。例如:Try HaskellTry GitHub
    • Playgrounds : Playgrounds 是學習程式設計的線上互動式網站、遊戲或桌面軟體。你可以在上面編寫、編譯、運行或分享程式碼片段。 Playgrounds 通常允許你 fork 程式碼然後在其中盡情的編寫程式碼。
    • Podcasts and Screencasts :Podcast 和影音。
    • Problem Sets & Competitive Programming :一個網站或軟體,讓你透過解決簡單或複雜的問題來評估你的程式技能,可能有程式碼檢查,或與其他用戶比對结果。
  4. 確保遵循下方的 基本準則,並遵循此 repo 文件的 Markdown 規定格式

  5. GitHub Actions 將運行測試,以確保你的列表是 按字母顺序排列 的,並 遵循格式化規則。請 確保 你的更改通過該測試。

基本準則

規定格式

整體思維為:

舉例:

[...]
* [一本很有用的書](http://example.com/example.html)
                                (空行)
                                (空行)
### 電子書種類標題
                                (空行)
* [Another 很有用的書](http://example.com/book.html)
* [Other 有用的書](http://example.com/other.html)

依照字母排序

如果你看到錯誤的連結,請檢查 linter 的錯誤訊息來找到哪一行順序需要交換

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