free-programming-books

:books: Freely available programming books

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

Läs detta på andra språk

Contributor License Agreement

Genom att bidra godkänner du LICENS för detta arkiv.

Contributor Code of Conduct

Genom att bidra samtycker du till att respektera Code of Conduct för detta arkiv. (translations)

I ett nötskal

  1. “En länk för att enkelt ladda ner en bok” är inte alltid en länk till en gratis bok. Bidra bara med gratis innehåll. Se till att det är gratis. Vi accepterar inte länkar till sidor som kräver fungerande e-postadresser för att få böcker, men vi välkomnar listor som begär dem.

  2. Du behöver inte känna till Git: om du hittat något av intresse som inte redan finns i denna repo, vänligen öppna ett issue med dina länkförslag.
    • Om du känner till Git, vänligen Forka repot och skicka Pull Requests (PR).
  3. Vi har 6 sorters listor. Välj rätt:

    • Böcker : PDF, HTML, ePub, en gitbook.io-baserad webbplats, en Git-repo, etc.
    • Kurser : En kurs är ett läromedel som inte är en bok. Detta är en kurs.
    • Interaktiva handledningar : En interaktiv webbplats som låter användaren skriva kod eller kommandon och utvärdera resultatet (med “utvärdera” menar vi inte “betyg”). t.ex.: Testa Haskell, Testa GitHub.
    • Playgrounds : är online och interaktiva webbplatser, spel eller datorprogramvara för att lära sig programmering. Skriv, kompilera (eller kör) och dela kodavsnitt. Lekplatser låter dig ofta klaffa och smutsa ner händerna genom att leka med kod.
    • Podcasts och screencasts : Podcasts och screencasts.
    • Problemuppsättningar och konkurrenskraftig programmering : En webbplats eller programvara som låter dig bedöma dina programmeringsfärdigheter genom att lösa enkla eller komplexa problem, med eller utan kodgranskning, med eller utan att jämföra resultaten med andra användare.
  4. Se till att följa riktlinjerna nedan och respektera Markdown-formatering för filerna.

  5. GitHub Actions kommer att köra tester för att se till att dina listor är alfabetiserade och att formateringsregler följs. Se till att kontrollera att dina ändringar klarar testerna.

Riktlinjer

Formatering

Tanken är att ha:

Exempel:

[...]
* [An Awesome Book](http://example.com/example.html)
                                (blank line)
                                (blank line)
### Example
                                (blank line)
* [Another Awesome Book](http://example.com/book.html)
* [Some Other Book](http://example.com/other.html)

Alfabetisk ordning

Om du ser en felplacerad länk, kontrollera linter-felmeddelandet för att veta vilka rader som bör bytas.

Anteckningar

Även om grunderna är relativt enkla, finns det en stor mångfald i resurserna vi listar. Här är några anteckningar om hur vi hanterar denna mångfald.

Metadata

Våra listor ger en minimal uppsättning metadata: titlar, webbadresser, skapare, plattformar och åtkomstanteckningar.

Titlar
Webbadresser
Skapare

– Vi vill kreditera skaparna av gratisresurser där det är lämpligt, inklusive översättare!

Plattformar och åtkomstanteckningar

Genrer

Den första regeln för att bestämma vilken lista en resurs tillhör är att se hur resursen beskriver sig själv. Om den kallar sig en bok, så kanske det är en bok.

Genrer vi inte listar

Eftersom internet är enormt inkluderar vi inte i våra listor:

Våra konkurrenskraftiga programlistor är inte lika strikta när det gäller dessa undantag. Omfattningen av repan bestäms av samhället; om du vill föreslå en ändring eller tillägg till omfattningen, använd en fråga för att göra förslaget.

Böcker kontra andra saker

Vi är inte så noga med bokkänsla. Här är några attribut som betyder att en resurs är en bok:

Det finns massor av böcker som vi listar som inte har dessa attribut; det kan bero på sammanhanget.

Böcker vs. kurser

Ibland kan dessa vara svåra att urskilja!

Kurser har ofta tillhörande läroböcker, som vi skulle lista i våra boklistor. Kurser har föreläsningar, övningar, prov, anteckningar eller andra didaktiska hjälpmedel. En enskild föreläsning eller video i sig är inte en kurs. En powerpoint är inte en kurs.

Interaktiva självstudier kontra andra saker

Om du kan skriva ut den och behålla dess essens är det inte en interaktiv handledning.

Automation

– Upprätthållande av formateringsregler automatiseras via GitHub Actions med fpb-lint ( se .github/workflows/fpb-lint.yml)