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.
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 hoặc bạn có thể chỉnh sửa và tạo Pull Request (PR).
Bằng cách đóng góp, bạn đồng ý với LICENSE của kho lưu trữ này.
Bằng cách đóng góp, bạn đồng ý tôn trọng Quy Tắc Ứng Xử của kho lưu trữ này. (translations)
"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.
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 với các đề xuất mà bạn muốn đóng góp.
Chúng tôi có 6 loại tài liệu, bạn có thể chọn một trong những cái dưới đây:
Đảm bảo tuân thủ theo những nguyên tắc bên dưới và đảm bảo sử dụng đúng định dạng Markdown.
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.
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.http://example.com thay vì http://example.com/http://example.com/dir/ tốt hơn là http://example.com/dir/index.html
http://example.com/dir/book/current/ tốt hơn http://example.com/dir/book/v1.0.0/index.htmlhttp 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)http nhưng liên kết có thể truy cập được thông qua https bằng cách thêm một ngoại lệ vào trình duyệt hoặc có thể bỏ qua cảnh báoet al.".đang xử lý", như được mô tả dưới đây.lưu trữ", như được mô tả bên dưới. Các phiên bản tốt nhất để sử dụng là gần đây và hoàn chỉnh.(địa chỉ email *được yêu cầu*, không bắt buộc)..md. Cố gắng học các cú pháp Markdown. Nó rất đơn giản!###) 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ới1 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ết1 dòng trống ở cuối mỗi tệp .mdVí dụ:
[...]
* [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ụ
(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)
Không đặt dấu cách giữa ] và (:
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
Đặ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)
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)
Nhiều định dạng (Chúng tôi ưu tiên một liên kết duy nhất cho mỗi tài nguyên. Khi không có duy nhất một liên kết nào có thể dễ dàng truy cập vào các định dạng khác nhau, nhiều liên kết có thể được sử dụng. Nhưng mỗi liên kết thêm vào đều tạo ra khó khăn trong bảo trì nên chúng tôi cố gắng tránh điều đó.):
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
Sách đang trong quá trình viết:
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: * [A Way-backed Interesting Book](https://web.archive.org/web/20211016123456/http://example.com/) - John Doe (HTML) *(:card_file_box: archived)*
aa đứng trướcab.một hai đến trước mộthaiNếu bạn thấy một liên kết bị đặt sai vị trí, hãy kiểm tra thông báo lỗi với linter để biết dòng nào nên được hoán đổi.
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 tôi phân loại những sự đa dạng này.
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.
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.Đối với các tác phẩm đã dịch, tác giả gốc nên được đề cập. Chúng tôi cân nhắc sử dụng MARC relators để đề cập tới người sáng tạo không phải tác giả, như ví dụ dưới đây:
* [A Translated Book](http://example.com/book-vi.html) - John Doe, `trl.:` Mike The Translator
ở đây, chú thích trl.: sử dụng MARC liên quan đến "người dịch".
Sử dụng một dấu phẩu , để phân định mỗi tác giả trong danh sách tác giả.
Bạn có thể rút ngắn tác giả với "et al.".
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" hoặc "RIP Tutorial" được ghi là "Được tổng hợp từ tài liệu StackOverflow" (tiếng Anh là "Compiled from StackOverflow documentation").
Chúng tôi không sử dụng kính ngữ như "GS (Giáo sử)" hoặc "Tiến sĩ" trong tên người sáng tạo.
*(yêu cầu tài khoản Leanpub hoặc email hợp lệ)*.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.
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:
Danh sách của chúng tôi không nghiêm ngặt về những loại trừ này. Phạm vi của kho lưu trữ được xác định bởi cộng đồng; nếu bạn muốn đề xuất thay đổi hoặc bổ sung, vui lòng tạo một Issue để đưa ra đề xuất.
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:
Có rất nhiều sách mà chúng tôi liệt kê không có các thuộc tính này; nó có thể phụ thuộc vào ngữ cảnh.
Đôi khi chúng có thể khó phân biệt!
Các khóa học thường có sách giáo trình liên quan, mà chúng tôi sẽ liệt kê trong danh sách sách của chúng tôi. Các khóa học có các bài giảng, bài tập, bài kiểm tra, ghi chú hoặc các hỗ trợ giáo khoa khác. Bản thân một bài giảng hoặc video không phải là một khóa học. Powerpoint không phải là một khóa học.
Nếu bạn có thể in nó ra và giữ lại bản chất của nó, thì đó không phải là Hướng Dẫn Trực Quan.
.github/workflows/fpb-lint.yml)Để 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-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".