free-programming-books

:books: Freely available programming books

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

Доступно на других языках

Лицензионное соглашение с участником

Принимая участие, вы соглашаетесь с ЛИЦЕНЗИЕЙ этого репозитория.

Кодекс поведения автора

Принимая участие, вы соглашаетесь соблюдать Кодекс поведения этого репозитория. (translations*

В двух словах

  1. «Ссылка для легкой загрузки книги» не всегда является ссылкой на бесплатную книгу. Пожалуйста, размещайте только бесплатный контент. Убедитесь, что это бесплатно. Мы не принимаем ссылки на страницы, которым требуются адреса электронной почты на рабочем домене для получения книг. Однако мы приветствуем списки, которые запрашивают их.

  2. Вам необязательно знать Git: если вы нашли что-то интересное, чего еще нет в этом репозитории, пожалуйста, откройте Issue с вашими предложениями.
    • Если вы знакомы с Git, пожалуйста форкните репозиторий и пришлите пулреквест (PR).
  3. У нас есть 6 видов списков. Выберите подходящий:

    • Книги: PDF, HTML, ePub, сайт на основе gitbook.io, репозиторий Git и т. Д.
    • Курсы: курс - это учебный материал, который не является книгой. Это курс.
    • Интерактивные учебные пособия: интерактивный веб-сайт, который позволяет пользователю вводить код или команды и оценивать результат (под «результатом» мы не подразумеваем «оценку»). например: Попробуйте Haskell, Попробуйте 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. Обязательно следуйте Руководству, приведённому ниже и соблюдайте Markdown форматирование файлов.

  5. GitHub Actions запустит тесты, чтобы убедиться, что ваши списки отсортированы по алфавиту и соблюдаются правила форматирования. Обязательно проверьте, чтобы ваши изменения прошли проверку.

Руководство

Форматирование

Идея состоит в том, чтобы иметь:

Пример:

[...]
* [Шикарная книга](http://example.com/example.html)
                                (пустая строка)
                                (пустая строка)
### Пример
                                (пустая строка)
* [Другая шикарная книга](http://example.com/book.html)
* [Ещё одна другая книга](http://example.com/other.html)

Алфавитный порядок

Если вы видите неправильную ссылку, то проверьте сообщение линтера об ошибке, чтобы знать, какие строки следует поменять местами.

Примечания

Хотя основы относительно просты, перечисленные нами ресурсы очень разнообразны. Вот несколько замечаний о том, как мы справляемся с этим разнообразием.

Метаданные

Наши списки предоставляют минимальный набор метаданных: заголовки, URL-адреса, создателей, платформы и примечания к доступу.

Заголовки

URL-адреса

Создатели

Платформы и примечания к доступу

Жанры

Первое правило при принятии решения, к какому списку принадлежит ресурс, — это посмотреть, как ресурс описывает себя. Если он называет себя книгой, то, возможно, это книга.

Жанры, которые мы не вносим в списки

Поскольку Интернет огромен, мы не включаем в наши списки:

В наших списках соревновательного программирования эти исключения не так строги. Объем репо определяется сообществом; если вы хотите предложить изменение или дополнение к области, пожалуйста, используйте Issue, чтобы сделать предложение.

Книги против прочих ресурсов

Мы не так привередливы в “книжности” ресурса. Вот некоторые атрибуты, которые указывают на то, что ресурс - это книга:

Мы перечисляем множество книг, у которых нет этих атрибутов; это может зависеть от контекста.

Книги против курсов

Иногда их бывает трудно отличить!

С курсами часто связаны учебники, которые мы перечисляем в наших списках книг. В курсах есть лекции, упражнения, тесты, заметки или другие дидактические пособия. Отдельная лекция или видео - это не курс. PowerPoint - это не курс.

Интерактивные учебники и другие материалы

Если вы можете распечатать его и сохранить его суть, это не интерактивное руководство.

Автоматизация