free-programming-books

این متن را در زبان‌های دیگر بخوانید

توافقنامه‌ی مجوز همکاری

مشارکت در این مخزن به معنی موافقت شما با مجوز LICENSE این مخزن است.

مرام‌نامه‌ی همکار

مشارکت در این پروژه به معنی موافقت با احترام به مرام‌نامه‌ی این مخزن است. (translations)

به طور خلاصه

  1. “لینکی برای دانلود ساده‌ی یک کتاب” همیشه به معنی لینکی به یک کتاب رایگان نیست. لطفا فقط محتوای رایگان را قرار دهید. مطمئن شوید که این محتوا رایگان است. ما لینک‌هایی را که وارد کردن ایمیل کاری را برای دانلود کتاب اجباری کرده‌اند نمی‌پذیریم اما اگر بدون اجبار، این ایمیل را بخواهند، در این مخزن فهرستشان می‌کنیم.

  2. نیاز نیست گیت بلد باشید: اگر چیز جذابی پیدا کردید که در این مخزن وجود ندارد، یک Issue با نوشتن لینک‌ها درست کنید.
    • اگر Git را می شناسید، لطفاً مخزن را Fork کنید و درخواست های کششی (PR) ارسال کنید.
  3. ما شش نوع فهرست داریم. فهرست درست را انتخاب کنید:

    • کتاب‌ها : PDF، HTML، ePub، سایت بر اساس gitbook.io، یک مخزن گیت و غیره.
    • دوره‌ها : دوره محتوایی آموزشی است که کتاب نیست. مثلا این یک دوره است.
    • آموزش‌های تعاملی : وبسایتی تعاملی که به کاربر اجازه‌ی تایپ کد یا دستور می‌دهد و نتیجه را ارزیابی می‌کند (منظور ما از “ارزیابی”، “نمره‌دهی” نیست). مثلا: Try Haskell, Try GitHub.
    • 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.
    • پادکست‌ها و اسکرین‌کست‌ها
    • مجموعه مشکلات و برنامه‌نویسی رقابتی : وبسایت یا نرم‌افزاری که به شما امکان بررسی مهارت‌های برنامه‌نویسی را با کمک حل مشکلات ساده یا پیچیده، با یا بدون بررسی کد، با یا بدون مقایسه‌ی نتایج با کاربران دیگر می‌دهد.
  4. مطمئن شوید که از راهنماها پیروی می‌کنید و طبق فرمت‌بندی مارک‌داون می‌نویسید.

  5. GitHub Actions تست‌هایی را اجرا می‌کند که مطمئن شود فهرست شما الفبایی است و قوانین فرمت‌بندی رعایت شده است. مطمئن شوید که تغییرات شما تست‌ها را با موفقیت گذرانده است.

راهنماها

فرمت‌بندی

ایده این است که این موارد رعایت شوند:

مثال:

[...]
* [یک کتاب عالی](http://example.com/example.html)
                                (خط خالی)
                                (خط خالی)
### مثال
                                (خط خالی)
* [یک کتاب عالی دیگر](http://example.com/book.html)
* [یک کتاب دیگر](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.

خودکارسازی