Showing preview only (3,103K chars total). Download the full file or copy to clipboard to get everything.
Repository: EbookFoundation/free-programming-books-search
Branch: main
Commit: 7a8990c85c43
Files: 23
Total size: 2.9 MB
Directory structure:
gitextract_i0x01oor/
├── .github/
│ ├── PULL_REQUEST_TEMPLATE.md
│ └── workflows/
│ └── parser.yml
├── .gitignore
├── LICENSE
├── README.md
├── fpb.json
├── package.json
├── public/
│ ├── index.html
│ ├── manifest.json
│ └── robots.txt
└── src/
├── App.css
├── App.js
├── App.test.js
├── components/
│ ├── LangFilters.js
│ ├── MarkdownParser.js
│ ├── ParsedLink.js
│ ├── SearchBar.js
│ └── SearchResult.js
├── darkMode.js
├── index.css
├── index.js
├── reportWebVitals.js
└── setupTests.js
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
## What does this PR do?
Add feature(s) | Remove feature(s) | Fix | Add info
### Description
================================================
FILE: .github/workflows/parser.yml
================================================
name: free-programming-books-parse
on:
workflow_dispatch:
inputs:
reason:
required: true
default: "update json files"
schedule:
- cron: '0 0 * * *'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout self
uses: actions/checkout@v2
with:
path: json
- name: Checkout programming books
uses: actions/checkout@v2
with:
repository: EbookFoundation/free-programming-books
path: fpb
- name: Checkout parser
uses: actions/checkout@v2
with:
repository: EbookFoundation/free-programming-books-parser
path: parser
- name: Use Node.js
uses: actions/setup-node@v1
with:
node-version: '14.x'
- run: npm install -g https://github.com/EbookFoundation/free-programming-books-parser
- run: fpb-parse --output ./json/fpb.json
- name: Commit Changes
run: |
cd './json'
git config user.name 'github-actions[bot]'
git config user.email 'github-actions[bot]@users.noreply.github.com'
git add -f 'fpb.json'
git commit -m "update fpb.json"
- name: Push changes
uses: ad-m/github-push-action@master
with:
directory: "./json"
================================================
FILE: .gitignore
================================================
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
##########
# GENERAL
##########
# dependencies
/node_modules
/.pnp
.pnp.js
# testing
/coverage
# production
/build
##########
# MACOS
##########
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
##########
# WINDOWS
##########
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
##########
# LINUX
##########
*~
# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
##########
# VS CODE
##########
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets
# Local History for Visual Studio Code
.history/
# Built Visual Studio Code Extensions
*.vsix
##########
# VIM
##########
# Swap
[._]*.s[a-v][a-z]
!*.svg # comment out if you don't need vector files
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
# Session
Session.vim
Sessionx.vim
# Temporary
.netrwhist
*~
# Auto-generated tag files
tags
# Persistent undo
[._]*.un~
## ECLIPSE
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
.recommenders
# External tool builders
.externalToolBuilders/
# Locally stored "Eclipse launch configurations"
*.launch
# PyDev specific (Python IDE for Eclipse)
*.pydevproject
# CDT-specific (C/C++ Development Tooling)
.cproject
# CDT- autotools
.autotools
# Java annotation processor (APT)
.factorypath
# PDT-specific (PHP Development Tools)
.buildpath
# sbteclipse plugin
.target
# Tern plugin
.tern-project
# TeXlipse plugin
.texlipse
# STS (Spring Tool Suite)
.springBeans
# Code Recommenders
.recommenders/
# Annotation Processing
.apt_generated/
.apt_generated_test/
# Scala IDE specific (Scala & Java development for Eclipse)
.cache-main
.scala_dependencies
.worksheet
# Uncomment this line if you wish to ignore the project description file.
# Typically, this file would be tracked if it contains build/dependency configurations:
#.project
##########
# NOTEPAD++
##########
# Notepad++ backups #
*.bak
##########
# NODE
##########
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# Snowpack dependency directory (https://snowpack.dev/)
web_modules/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional stylelint cache
.stylelintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache
# Next.js build output
.next
out
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# vuepress v2.x temp and cache directory
.temp
.cache
# Docusaurus cache and generated files
.docusaurus
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port
# Stores VSCode versions used for testing VSCode extensions
.vscode-test
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
##########
# BACKUP
##########
*.bak
*.gho
*.ori
*.orig
*.tmp
================================================
FILE: LICENSE
================================================
BSD 2-Clause License
Copyright (c) 2022, Free Ebook Foundation
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
================================================
FILE: README.md
================================================
# free-programming-books-search
The free-programming-books-search is a companion project of [free-programming-books](https://ebookfoundation.github.io/free-programming-books/). It allows users to search by book title or author and filter by language. The search index is updated once per day, so changes made on [free-programming-books](https://ebookfoundation.github.io/free-programming-books/) may not be immediately reflected.
## Contents
- [Contents](#contents)
- [How It All Works](#how-it-all-works)
- [Installation](#installation)
- [NPM Installation](#npm-installation)
- [Running the Website](#running-the-website)
- [Deployment](#deployment)
- [FAQ](#faq)
## How It All Works
1. THERE IS NO DATABASE INVOLVED. Rather, the books are stored in a markdown on [free-programming-books](https://ebookfoundation.github.io/free-programming-books/) and is parsed daily by [free-programming-books-parser](https://github.com/EbookFoundation/free-programming-books-parser). The books and all info pertaining to them are stored in a JSON file called `fpb.json`.
2. This JSON is downloaded locally and searched locally when the actual search function is used.
## Installation
### NPM Installation
1. Make sure you have [Node.js](https://nodejs.org/en/) installed. If you already do, skip to [Running the Website](#running-the-website).
2. Otherwise, download the LTS installer from [Node.js](https://nodejs.org/en/) website.
3. Follow the instructions of the installer, make sure npm is listed as a package to be installed.
4. Click Install.
5. Verify that Node.Js has been installed by going to command line and typing in `node`. It should show the current version.
6. Close out of Node by either closing and reopening the command line or with <kbd>Ctrl + C</kbd>.
7. Make sure to check out the [NPM website](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) for more info.
### Running the Website
1. Make sure you have [Git](https://git-scm.com/downloads) installed.
2. Clone the repo from Github with Git.
3. Navigate to the folder using command line. A easy way is to type "`cd`" and then drag and drop the folder into command line.
4. Type `npm install`.
5. Type `npm install react-scripts`.
6. Type `npm start`. At this point, the command prompt should start up the server, and a tab in your default browser should open up to localhost.
## Deployment
MAKE SURE YOU HAVE COMPLETED THE INSTALLATION STEPS FIRST!
1. First, make sure that you the local folder containing the files has a remote configured called "`origin`".
1. If you aren't sure, navigate to the folder using Git (type "`cd`", then drag and drop folder in to Git command line).
2. Type `git init`.
3. Type `git remote add origin <repo url>`, replacing `<repo url>` with the url of your github repository.
2. Now, run `npm install -g gh-pages`.
3. Run `npm run deploy`.
4. This should deploy your code to "`https://yourusername.github.io/free-programming-books-search/`".
## FAQ
- What database are we using to store the books?
- NONE! The books are stored in a JSON file which is downloaded locally.
- I added a book but it's not showing up on search?
- Give it some time. The parser is run once a day, so it may take up to 24 hours for the search to reflect that.
================================================
FILE: fpb.json
================================================
{
"type": "root",
"children": [
{
"type": "books",
"index": {},
"children": [
{
"language": {
"code": "ar",
"name": "Arabic"
},
"index": {},
"sections": [
{
"section": "Arduino",
"entries": [
{
"url": "https://www.ev-center.com/uploads/2/1/2/6/21261678/arduino.pdf",
"title": "احترف الأردوينو",
"author": "Working Group",
"notes": [
"PDF"
]
},
{
"url": "https://simplyarduino.com/%D9%83%D8%AA%D8%A7%D8%A8-%D8%A7%D8%B1%D8%AF%D9%88%D9%8A%D9%86%D9%88-%D8%A8%D8%A8%D8%B3%D8%A7%D8%B7%D8%A9/",
"title": "اردوينو ببساطة",
"author": "عبدالله علي عبدالله, Abdallah Ali Abdallah Elmasry",
"notes": [
"PDF"
]
},
{
"url": "https://github.com/abdallah-ali-abdallah/Simply-AVR-Book",
"title": "AVR ببساطة: من تشغيل دايود ضوئي إلى أنظمة الوقت الحقيقي",
"author": "عبدالله علي عبدالله, Abdallah Ali Abdallah Elmasry",
"notes": [
"ODT, PDF"
]
}
],
"subsections": []
},
{
"section": "Artificial Intelligence",
"entries": [
{
"url": "https://academy.hsoub.com/files/17-%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D9%88%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/",
"title": "مدخل إلى الذكاء الاصطناعي وتعلم الآلة",
"author": "Mohamed Lahlah",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "C#",
"entries": [
{
"url": "https://www.mobarmijoun.com/2014/04/c_19.html",
"title": "سبيلك المختصر لتعلم لغة c# - برمجة الواجهات",
"author": "Khaled Al-Saadani",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "DB & DBMS",
"entries": [
{
"url": "https://academy.hsoub.com/files/26-تصميم-قواعد-البيانات/",
"title": "تصميم قواعد البيانات",
"author": "Adrienne Watt, Nelson Eng، ترجمة أيمن طارق وعلا عباس",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "HTML and CSS",
"entries": [
{
"url": "https://academy.hsoub.com/files/14-التحريك-عبر-css/",
"title": "التحريك عبر CSS",
"author": "Donovan Hutchinson, Mohamed Beghat",
"notes": [
"PDF"
]
},
{
"url": "https://academy.hsoub.com/files/13-نحو-فهم-أعمق-لتقنيات-html5/",
"title": "نحو فهم أعمق لتقنيات HTML5",
"author": "Mark Pilgrim, Abdullatif Eymash",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Introduction to Programming in Arabic",
"entries": [
{
"url": "https://alyassen.github.io/Brief-guide-to-programming-languages-v1.2.4.pdf",
"title": "مختصر دليل لغات البرمجة",
"author": "Ali Al-Yassen",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Java",
"entries": [
{
"url": "https://librebooks.org/tafheem-alkhawazimyat/",
"title": "تفهيم الخوارزميات – الجزء الأول",
"author": "جمال بن نوار",
"notes": [
"PDF"
]
},
{
"url": "https://librebooks.org/tafheem-alkhawazimyat-p2/",
"title": "تفهيم الخوارزميات – الجزء الثاني",
"author": "جمال بن نوار",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "JavaScript",
"entries": [
{
"url": "https://itwadi.com/node/3002",
"title": "تعلم JavaScript",
"author": "Cody Lindley, عبداللطيف ايمش",
"notes": [
"PDF"
]
},
{
"url": "https://blog.abdelhadi.org/learn-nextjs-in-arabic/",
"title": "سلسلة تعلم Next.js بالعربية",
"author": "Flavio Copes, عبدالهادي الأندلسي"
},
{
"url": "https://rabahboudia.gitbooks.io/arabic-eloquent-js/",
"title": "Eloquent Javascript (Second Edition)",
"author": "Marijn Haverbeke, Rabah Boudia",
"notes": [
"gitbook"
]
}
],
"subsections": [
{
"section": "Vue.js",
"entries": [
{
"url": "https://academy.hsoub.com/files/22-أساسيات-إطار-العمل-vuejs/",
"title": "أساسيات إطار العمل Vue.js",
"author": "حسام برهان",
"notes": [
"PDF"
]
}
]
}
]
},
{
"section": "Linux",
"entries": [
{
"url": "https://librebooks.org/gnu-linux-advanced-administration/",
"title": "الإدارة المتقدمة لجنو/لينكس",
"author": "Remo Suppi Boldrito, Josep Jorba Esteve, Abdel Rahim Ghaleb",
"notes": [
"PDF"
]
},
{
"url": "https://www.simplyubuntu.com",
"title": "أوبنتو ببساطة",
"author": "Ahmed AbouZaid",
"notes": [
"PDF"
]
},
{
"url": "https://ar.debian-handbook.info",
"title": "دفتر مدير دبيان",
"author": "Raphaël Hertzog, Roland Mas, MUHAMMET SAİT Muhammet Sait",
"notes": [
"PDF, HTML"
]
},
{
"url": "https://academy.hsoub.com/files/10-دليل-إدارة-خواديم-أوبنتو/",
"title": "دليل إدارة خواديم أوبنتو 14.04",
"author": "Ubuntu documentation team, Abdullatif Eymash",
"notes": [
"PDF"
]
},
{
"url": "https://itwadi.com/node/2765",
"title": "سطر أوامر لينكس",
"author": "Willam E. Shotts Jr., ترجمة عبد اللطيف ايمش",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Open Source Software",
"entries": [
{
"url": "https://librebooks.org/strategic-dimensions-of-free-and-open-source-software/",
"title": "الأبعاد الاستراتيجية للبرمجيات الحرة مفتوحة المصدر",
"author": "فيجن للأنظمة المتقدمة",
"notes": [
"PDF"
]
},
{
"url": "https://librebooks.org/digital-freedoms-main-concepts/",
"title": "الحريات الرقمية - المفاهيم الرئيسية",
"author": "محمد الطاهر",
"notes": [
"PDF"
]
},
{
"url": "https://librebooks.org/opensource-ultimate-options/",
"title": "المصادر المفتوحة خيارات بلا حدود",
"author": "محمد أنس طويلة",
"notes": [
"PDF"
]
},
{
"url": "https://librebooks.org/know-free-software/",
"title": "تعرف على البرمجيات الحرة",
"author": "فهد السعيدي",
"notes": [
"PDF"
]
},
{
"url": "https://www.freeopensourceguide.com",
"title": "دليل البرمجيات الحرة مفتوحة",
"author": "أحمد م. أبوزيد",
"notes": [
"PDF"
]
},
{
"url": "https://librebooks.org/bref-about-foss-licenses/",
"title": "نبذة عن رخص البرمجيات الحرة",
"author": "جلال شفرور",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Operating Systems",
"entries": [
{
"url": "https://librebooks.org/intro-to-os-analysis-and-design/",
"title": "المقدمة في تحليل وتصميم أنظمة",
"author": "Ahmed Lexis"
},
{
"url": "https://academy.hsoub.com/files/24-أنظمة-التشغيل-للمبرمجين/",
"title": "أنظمة التشغيل للمبرمجين",
"author": "Allen B. Downey ,ترجمة علا عباس",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "PHP",
"entries": [
{
"url": "https://librebooks.org/learn-programming-with-php/",
"title": "تعلم البرمجة بلغة PHP",
"author": "Ahmed Abu Al-Saud , Abdul Latif Amish"
}
],
"subsections": []
},
{
"section": "Python",
"entries": [
{
"url": "https://academy.hsoub.com/files/15-البرمجة-بلغة-بايثون/",
"title": "البرمجة بلغة بايثون"
}
],
"subsections": []
},
{
"section": "Raspberry Pi",
"entries": [
{
"url": "https://www.ev-center.com/uploads/2/1/2/6/21261678/كتاب_احترف_الرازبيري_باي.pdf",
"title": "احترف الرازبيري باي",
"notes": [
"PDF"
]
},
{
"url": "https://librebooks.org/simply-raspberry-pi/",
"title": "راسبيري باي السهل",
"author": "Abdullah Ali Abdullah",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Ruby",
"entries": [
{
"url": "https://librebooks.org/intro-to-ruby/",
"title": "مقدمة في روبي",
"author": "Ahmed Youssef",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Scratch",
"entries": [
{
"url": "https://librebooks.org/learn-programming-with-scratch-cat/",
"title": "تعلم البرمجة مع القط سكراتش",
"author": "نورا حاتم",
"notes": [
"PDF"
]
},
{
"url": "https://www.ev-center.com/uploads/2/1/2/6/21261678/scratch.pdf",
"title": "كتاب احترف سكراتش",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Security",
"entries": [
{
"url": "https://mohamedation.github.io/securing-wifi",
"title": "تأمين الشبكات اللاسلكية للمستخدم المنزلي",
"author": "Mohamed Adel",
"notes": [
"HTML"
]
},
{
"url": "https://librebooks.org/physical-hacking-techniques/",
"title": "تقنيات الاختراق المادي",
"author": "Abdullah Ali Abdullah",
"notes": [
"PDF"
]
},
{
"url": "https://academy.hsoub.com/files/20-%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%A3%D9%85%D8%A7%D9%86-%D8%A7%D9%84%D8%B1%D9%82%D9%85%D9%8A/",
"title": "دليل الأمان الرقمي"
},
{
"url": "https://librebooks.org/security-in-a-box/",
"title": "عُدَّة الأمان الرقمي",
"author": "working group"
}
],
"subsections": []
},
{
"section": "SEO",
"entries": [
{
"url": "https://librebooks.org/search-engine-optimization-seo-starter-guide-ar/",
"title": "تحسين محركات البحث SEO - دليل المبتدئين",
"author": "The Google"
}
],
"subsections": []
},
{
"section": "SQL",
"entries": [
{
"url": "https://academy.hsoub.com/files/16-%D9%85%D9%84%D8%A7%D8%AD%D8%B8%D8%A7%D8%AA-%D9%84%D9%84%D8%B9%D8%A7%D9%85%D9%84%D9%8A%D9%86-%D8%A8%D9%84%D8%BA%D8%A9-sql/",
"title": "ملاحظات للعاملين بلغة SQL"
}
],
"subsections": [
{
"section": "PostgreSQL",
"entries": [
{
"url": "https://academy.hsoub.com/files/18-%D8%A7%D9%84%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%B9%D9%85%D9%84%D9%8A-%D8%A5%D9%84%D9%89-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-postgresql/",
"title": "الدليل العملي إلى قواعد بيانات PostgreSQL",
"author": "Craig Kerstiens، مصطفى عطا العايش",
"notes": [
"PDF"
]
},
{
"url": "https://itwadi.com/PostgreSQL_Cookbook",
"title": "بوستجريسكل كتاب الوصفات",
"author": "Chitij Chauhan",
"notes": [
"PDF"
]
}
]
}
]
}
]
},
{
"language": {
"code": "az",
"name": "Azerbaijani"
},
"index": {},
"sections": [
{
"section": "C",
"entries": [
{
"url": "http://ilkaddimlar.com/ders/c-proqramlasdirma-dili",
"title": "C Proqramlaşdırma Dili"
}
],
"subsections": []
},
{
"section": "HTML and CSS",
"entries": [
{
"url": "http://ilkaddimlar.com/ders/css",
"title": "CSS"
},
{
"url": "http://ilkaddimlar.com/ders/html",
"title": "HTML"
}
],
"subsections": []
},
{
"section": "JavaScript",
"entries": [
{
"url": "http://ilkaddimlar.com/ders/javascript",
"title": "JavaScript"
}
],
"subsections": []
},
{
"section": "Linux",
"entries": [
{
"url": "http://ilkaddimlar.com/ders/linux",
"title": "Linux"
}
],
"subsections": []
},
{
"section": "PHP",
"entries": [
{
"url": "http://ilkaddimlar.com/ders/php",
"title": "PHP"
}
],
"subsections": []
}
]
},
{
"language": {
"code": "bg",
"name": "Bulgarian"
},
"index": {},
"sections": [
{
"section": "C",
"entries": [
{
"url": "https://programirane.org/download-now",
"title": "Програмиране = ++Алгоритми;",
"author": "Преслав Наков и Панайот Добриков"
},
{
"url": "https://www.progstarter.com/index.php?option=com_content&view=article&id=8&Itemid=121&lang=bg",
"title": "ANSI C - Курс за начинаещи",
"author": "Димо Петков"
},
{
"url": "https://progstarter.com/index.php?option=com_content&view=article&id=9&Itemid=122&lang=bg",
"title": "ANSI C - Пълен справочник",
"author": "Димо Петков"
}
],
"subsections": []
},
{
"section": "C#",
"entries": [
{
"url": "https://csharp-book.softuni.bg",
"title": "Основи на програмирането със C#",
"author": "Светлин Наков и колектив"
},
{
"url": "https://introprogramming.info/intro-csharp-book",
"title": "Принципи на програмирането със C#",
"author": "Светлин Наков, Веселин Колев и колектив"
},
{
"url": "https://www.devbg.org/dotnetbook",
"title": "Програмиране за .NET Framework",
"author": "Светлин Наков и колектив"
}
],
"subsections": []
},
{
"section": "C++",
"entries": [
{
"url": "https://cpp-book.softuni.bg",
"title": "Основи на програмирането със C++",
"author": "Светлин Наков и колектив"
}
],
"subsections": []
},
{
"section": "Java",
"entries": [
{
"url": "https://introprogramming.info/intro-java-book",
"title": "Въведение в програмирането с Java",
"author": "Светлин Наков и колектив"
},
{
"url": "https://nakov.com/books/inetjava",
"title": "Интернет програмиране с Java",
"author": "Светлин Наков"
},
{
"url": "https://java-book.softuni.bg",
"title": "Основи на програмирането с Java",
"author": "Светлин Наков и колектив"
},
{
"url": "https://nakov.com/books/signatures",
"title": "Java за цифрово подписване на документи в уеб",
"author": "Светлин Наков"
}
],
"subsections": []
},
{
"section": "JavaScript",
"entries": [
{
"url": "https://js-book.softuni.bg",
"title": "Основи на програмирането с JavaScript",
"author": "Светлин Наков и колектив"
},
{
"url": "https://to6esko.github.io",
"title": "Eloquent JavaScript",
"author": "Marijn Haverbeke",
"notes": [
"HTML"
]
}
],
"subsections": []
},
{
"section": "LaTeX",
"entries": [
{
"url": "https://www.ctan.org/tex-archive/info/lshort/bulgarian",
"title": "Кратко въведение в LaTeX2ε",
"author": "Стефка Караколева"
}
],
"subsections": []
},
{
"section": "Python",
"entries": [
{
"url": "https://python-book.softuni.bg",
"title": "Основи на програмирането с Python",
"author": "Светлин Наков и колектив"
}
],
"subsections": []
}
]
},
{
"language": {
"code": "bn",
"name": "Bengali"
},
"index": {},
"sections": [
{
"section": "Algorithms",
"entries": [
{
"url": "https://dp-bn.github.io",
"title": "Dynamic Programming Book «ডাইনামিক প্রোগ্রামিং বই»",
"author": "Tasmeem Reza, Mamnoon Siam",
"notes": [],
"manualReviewRequired": true
}
],
"subsections": []
},
{
"section": "C",
"entries": [
{
"url": "https://cpbook.subeen.com",
"title": "Computer Programming «কম্পিউটার প্রোগ্রামিং ১ম খণ্ড»",
"author": "Tamim Shahriar Subeen",
"notes": [
"HTML"
]
},
{
"url": "https://c.howtocode.dev",
"title": "বাংলায় C প্রোগ্রামিং ল্যাঙ্গুয়েজ শেখার কোর্স",
"author": "Jakir Hossain, et al."
}
],
"subsections": []
},
{
"section": "C++",
"entries": [
{
"url": "https://www.academia.edu/16658418/c_programming_bangla_book",
"title": "সিপিপি পরিগণনা Computer Programming",
"author": "Mahmudul Hasan",
"notes": [
"PDF, HTML"
]
}
],
"subsections": []
},
{
"section": "Data Science",
"entries": [
{
"url": "https://datasinsightsbd.gitbook.io",
"title": "ডাটা সাইন্সের হাতেখড়ি",
"author": "Fazle Rabbi Khan",
"notes": [
"gitbook"
]
}
],
"subsections": []
},
{
"section": "Go",
"entries": [
{
"url": "https://golang.howtocode.dev",
"title": "বাংলায় গোল্যাং (golang) টিউটোরিয়াল",
"author": "Shafquat Mahbub",
"notes": [
"howtocode.dev"
]
}
],
"subsections": []
},
{
"section": "Java",
"entries": [
{
"url": "http://java.howtocode.dev",
"title": "বাংলায় জাভা প্রোগ্রামিং শেখার কোর্স",
"author": "Bazlur Rahman, et al.",
"notes": [
"howtocode.dev"
]
}
],
"subsections": []
},
{
"section": "JavaScript",
"entries": [
{
"url": "https://zonayed.js.org",
"title": "হাতেকলমে জাভাস্ক্রিপ্ট: সম্পূর্ণ বাংলায় হাতেকলমে জাভাস্ক্রিপ্ট শিখুন",
"author": "Zonayed Ahmed",
"notes": [
"HTML"
]
}
],
"subsections": []
},
{
"section": "Machine Learning",
"entries": [
{
"url": "https://raqueeb.gitbook.io/scikit-learn/",
"title": "শূন্য থেকে পাইথন মেশিন লার্নিং: হাতেকলমে সাইকিট-লার্ন",
"author": "Rakibul Hassan",
"notes": [],
"manualReviewRequired": true
},
{
"url": "https://rakibul-hassan.gitbook.io/mlbook-titanic/",
"title": "হাতেকলমে মেশিন লার্নিং: পরিচিতি, প্রজেক্ট টাইটানিক, আর এবং পাইথনসহ",
"author": "Rakibul Hassan",
"notes": [],
"manualReviewRequired": true
}
],
"subsections": []
},
{
"section": "Misc",
"entries": [
{
"url": "https://web.archive.org/web/20201024204437/https://sl3.app",
"title": "SL3 Framework - Code For Brain",
"author": "Stack Learners",
"accessNotes": ":card_file_box: archived"
},
{
"url": "https://imtiaz-hossain-emu.gitbook.io/system-design/",
"title": "কেমনে করে সিস্টেম ডিজাইন?"
},
{
"url": "https://devsonket.com",
"title": "ডেভসংকেত: বাংলা চিটশিটের ভান্ডার",
"author": "Devsonket Team"
}
],
"subsections": []
},
{
"section": "Python",
"entries": [
{
"url": "http://pybook.subeen.com",
"title": "পাইথন প্রোগ্রামিং বই",
"author": "Tamim Shahriar Subeen"
},
{
"url": "https://python.howtocode.dev",
"title": "বাংলায় পাইথন",
"author": "Nuhil Mehdy"
},
{
"url": "https://python.maateen.me",
"title": "সহজ ভাষায় পাইথন ৩",
"author": "Maksudur Rahman Maateen"
},
{
"url": "https://hukush-pakush.com",
"title": "হুকুশ পাকুশের প্রোগ্রামিং শিক্ষা",
"author": "Ikram Mahmud",
"notes": [
"HTML"
]
}
],
"subsections": []
},
{
"section": "Sql",
"entries": [
{
"url": "https://www.sattacademy.com/sql/sql-intro.php",
"title": "এসকিউএল পরিচিতি(SQL Introduction in Bangla)",
"author": "Satt Academy"
}
],
"subsections": []
}
]
},
{
"language": {
"code": "ca",
"name": "Catalan, Valencian"
},
"index": {},
"sections": [
{
"section": "Algorismes i Estructures de Dades",
"entries": [
{
"url": "https://repositori.udl.cat/bitstream/handle/10459.1/63471/Eines%20Josep%20M%20Ribo%20electronic.pdf?sequence=1&isAllowed=y",
"title": "Apropament a les estructures de dades des del programari lliure",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "C",
"entries": [
{
"url": "https://ca.wikibooks.org/wiki/Programaci%C3%B3_en_C",
"title": "Programació en C"
}
],
"subsections": []
},
{
"section": "Ciències de la Computació",
"entries": [
{
"url": "https://github.com/EbookFoundation/free-programming-books/files/9808381/logica-proposicional-i-predicats.pdf",
"title": "Lògica Proposicional i de Predicats",
"notes": [
"PDF"
]
}
],
"subsections": []
}
]
},
{
"language": {
"code": "cs",
"name": "Czech"
},
"index": {},
"sections": [
{
"section": "Bash",
"entries": [
{
"url": "http://i.iinfo.cz/files/root/k/bash_ocima_bohdana_milara.pdf",
"title": "Bash očima Bohdana Milara",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "C#",
"entries": [
{
"url": "https://phoenix.inf.upol.cz/esf/ucebni/sysprog.pdf",
"title": "Systémové programování v jazyce C#",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "C++",
"entries": [
{
"url": "https://akela.mendelu.cz/~xvencal2/CPP/opora.pdf",
"title": "Moderní programování objektových aplikací v C++",
"notes": [
"PDF"
]
},
{
"url": "http://media1.jex.cz/files/media1:49e6b94e79262.pdf.upl/07.%20Objektov%C3%A9%20programov%C3%A1n%C3%AD%20v%20C%2B%2B.pdf",
"title": "Objektové programování v C++",
"notes": [
"PDF"
]
},
{
"url": "http://homel.vsb.cz/~s1a10/educ/C_CPP/C_CPP_web.pdf",
"title": "Programovací jazyky C a C++",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Java",
"entries": [
{
"url": "http://i.iinfo.cz/files/root/k/java-5-0-novinky-jazyka-a-upgrade-aplikaci.pdf",
"title": "Java 5.0, novinky jazyka a upgrade aplikací",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Git",
"entries": [
{
"url": "https://knihy.nic.cz/#ProGit",
"title": "Pro Git",
"author": "Scott Chacon,",
"notes": [
"PDF, EPUB, MOBI"
]
}
],
"subsections": []
},
{
"section": "HTML and CSS",
"entries": [
{
"url": "https://knihy.nic.cz/#HTML5",
"title": "Ponořme se do HTML5",
"author": "Mark Pilgrim",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Language Agnostic",
"entries": [],
"subsections": [
{
"section": "Algoritmy a datové struktury",
"entries": [
{
"url": "http://pruvodce.ucw.cz",
"title": "Průvodce labyrintem algoritmů",
"author": "Martin Mareš, Tomáš Valla"
},
{
"url": "http://i.iinfo.cz/files/root/k/Zaklady_algorimizace.pdf",
"title": "Základy algoritmizace",
"notes": [
"PDF"
]
}
]
},
{
"section": "Bezpečnost",
"entries": [
{
"url": "https://knihy.nic.cz",
"title": "Báječný svět elektronického podpisu",
"author": "Jiří Peterka",
"notes": [
"PDF, EPUB, MOBI"
]
},
{
"url": "https://knihy.nic.cz",
"title": "Buď pánem svého prostoru",
"author": "Linda McCarthy a Denise Weldon-Siviy",
"notes": [
"PDF"
]
},
{
"url": "https://www.cybersecurity.cz/data/slovnik_v310.pdf",
"title": "Výkladový slovník Kybernetické bezpečnosti",
"author": "Petr Jirásek, Luděk Novák, Josef Požár",
"notes": [
"PDF"
]
}
]
},
{
"section": "Matematika",
"entries": [
{
"url": "https://math.fel.cvut.cz/cz/lide/habala/teaching/dma.html",
"title": "Diskrétní matematika",
"author": "Petr Habala",
"notes": [
"PDFs"
]
},
{
"url": "http://www.realisticky.cz/ucebnice.php?id=3",
"title": "Matematika SŠ",
"author": "Martin Krynický",
"notes": [
"PDFs"
]
}
]
},
{
"section": "Právo",
"entries": [
{
"url": "https://knihy.nic.cz",
"title": "Internet jako objekt práva",
"author": "Ján Matejka",
"notes": [
"PDF"
]
}
]
},
{
"section": "Regulární výrazy",
"entries": [
{
"url": "http://www.root.cz/knihy/regularni-vyrazy/",
"title": "Regulární výrazy",
"notes": [
"PDF"
]
}
]
},
{
"section": "Sítě",
"entries": [
{
"url": "https://knihy.nic.cz/#IPv6-2019",
"title": "Internetový protokol IPv6",
"author": "Pavel Satrapa",
"notes": [
"PDF"
]
}
]
}
]
},
{
"section": "LaTeX",
"entries": [
{
"url": "http://www.root.cz/knihy/ne-prilis-strucny-uvod-do-systemu-latex-2e/",
"title": "Ne příliš stručný úvod do systému LaTeX 2e",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Linux",
"entries": [
{
"url": "http://www.root.cz/knihy/linux-dokumentacni-projekt/",
"title": "Linux: Dokumentační projekt",
"notes": [
"PDF"
]
},
{
"url": "http://www.root.cz/knihy/ucebnice-abclinuxu/",
"title": "Učebnice ABCLinuxu",
"notes": [
"PDF"
]
}
],
"subsections": [
{
"section": "Distribuce",
"entries": [
{
"url": "http://www.root.cz/knihy/gentoo-handbook-cesky/",
"title": "Gentoo Handbook česky",
"notes": [
"PDF"
]
},
{
"url": "http://www.root.cz/knihy/instalace-a-konfigurace-debian-linuxu/",
"title": "Instalace a konfigurace Debian Linuxu",
"notes": [
"PDF"
]
},
{
"url": "http://www.root.cz/knihy/mandriva-linux-2008-cz/",
"title": "Mandriva Linux 2008 CZ",
"notes": [
"PDF"
]
},
{
"url": "http://www.root.cz/knihy/prirucka-uzivatele-fedora-17/",
"title": "Příručka uživatele Fedora 17",
"notes": [
"PDF"
]
},
{
"url": "http://www.root.cz/knihy/suse-linux-uzivatelska-prirucka/",
"title": "SUSE Linux: uživatelská příručka",
"notes": [
"PDF"
]
}
]
}
]
},
{
"section": "OpenSource",
"entries": [
{
"url": "http://www.root.cz/knihy/katedrala-a-trziste/",
"title": "Katedrála a tržiště",
"notes": [
"PDF"
]
},
{
"url": "https://knihy.nic.cz/#open_source",
"title": "Tvorba open source softwaru",
"author": "Karl Fogel",
"notes": [
"PDF, EPUB, MOBI"
]
},
{
"url": "https://knihy.nic.cz/#vykonnost",
"title": "Výkonnost open source aplikací",
"author": "Tavish Armstrong",
"notes": [
"PDF, EPUB, MOBI"
]
}
],
"subsections": []
},
{
"section": "PHP",
"entries": [
{
"url": "http://www.kosek.cz/php/php-tvorba-interaktivnich-internetovych-aplikaci.pdf",
"title": "PHP Tvorba interaktivních internetových aplikací",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Python",
"entries": [
{
"url": "https://knihy.nic.cz/files/nic/edice/mark_pilgrim_dip3_ver3.pdf",
"title": "Ponořme se do Pythonu 3",
"author": "Mark Pilgrim",
"notes": [
"PDF"
]
},
{
"url": "http://i.iinfo.cz/files/root/k/Ucebnice_jazyka_Python.pdf",
"title": "Učebnice jazyka Python",
"notes": [
"PDF"
]
}
],
"subsections": [
{
"section": "Django",
"entries": [
{
"url": "https://tutorial.djangogirls.org/cs/",
"title": "Django Girls Tutoriál",
"notes": [
"1.11",
"HTML",
":construction: *in process*"
]
}
]
}
]
},
{
"section": "Perl",
"entries": [
{
"url": "https://knihy.nic.cz/#perl",
"title": "Perl pro zelenáče",
"author": "Pavel Satrapa",
"notes": [
"PDF, EPUB, MOBI"
]
}
],
"subsections": []
},
{
"section": "Ruby",
"entries": [
{
"url": "http://i.iinfo.cz/files/root/k/Ruby_tutorial.pdf",
"title": "Ruby Tutoriál",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "TeX",
"entries": [
{
"url": "http://www.root.cz/knihy/prvni-setkani-s-texem/",
"title": "První setkání s TeXem",
"notes": [
"PDF"
]
},
{
"url": "http://www.root.cz/knihy/texbook-naruby/",
"title": "TeXbook naruby",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Unity",
"entries": [
{
"url": "https://knihy.nic.cz/#Unity",
"title": "Unity",
"author": "Tomáš Holan",
"notes": [
"PDF, EPUB, MOBI"
]
}
],
"subsections": []
},
{
"section": "Webdesign",
"entries": [
{
"url": "http://www.root.cz/knihy/webova-rezie-zaklady-koncepcniho-mysleni-u-webovych-projektu/",
"title": "Webová režie: základy koncepčního myšlení u webových projektů",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "XML",
"entries": [
{
"url": "http://www.root.cz/knihy/xml-pro-kazdeho/",
"title": "XML pro každého",
"notes": [
"PDF"
]
}
],
"subsections": []
}
]
},
{
"language": {
"code": "da",
"name": "Danish"
},
"index": {},
"sections": [
{
"section": "C",
"entries": [
{
"url": "https://web.archive.org/web/20190701062226/http://artcreationforever.com/bgnet.html",
"title": "Beej's Guide til Netvarksprogrammierung",
"author": "Brian \"Beej Jorgensen\" Hall, Art of Science",
"notes": [
"HTML"
],
"accessNotes": ":card_file_box: archived"
},
{
"url": "http://people.cs.aau.dk/~normark/c-prog-06/pdf/all.pdf",
"title": "Programmering i C",
"author": "Kurt Nørmark",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "C#",
"entries": [
{
"url": "http://people.cs.aau.dk/~normark/oop-csharp/pdf/all.pdf",
"title": "Object-oriented Programming in C#",
"author": "Kurt Nørmark",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "C++",
"entries": [
{
"url": "http://people.cs.aau.dk/~normark/ap/index.html",
"title": "Notes about C++",
"author": "Kurt Nørmark",
"notes": [
"HTML"
]
}
],
"subsections": []
},
{
"section": "Delphi",
"entries": [
{
"url": "http://olewitthansen.dk/Datalogi/ProgrammeringMedDelphi.pdf",
"title": "Programmering Med Delphi 7",
"author": "Ole Witt-Hansen",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Java",
"entries": [
{
"url": "http://javabog.dk",
"title": "Objektorienteret programmering i Java",
"author": "Jacob Nordfalk"
},
{
"url": "http://javabog.dk",
"title": "The Complete Reference Java",
"author": "Swaminaryan"
}
],
"subsections": []
},
{
"section": "Pascal",
"entries": [
{
"url": "http://people.cs.aau.dk/~normark/all-basis-97.pdf",
"title": "Programmering i Pascal",
"author": "Kurt Nørmark",
"notes": [
"PDF"
]
}
],
"subsections": []
}
]
},
{
"language": {
"code": "de",
"name": "German"
},
"index": {},
"sections": [
{
"section": "ABAP",
"entries": [
{
"url": "http://openbook.rheinwerk-verlag.de/einstieg_in_abap",
"title": "Einstieg in ABAP",
"author": "Karl-Heinz Kühnhauser, Thorsten Franz",
"notes": [
"Online"
]
},
{
"url": "https://github.com/SAP/styleguides/blob/master/clean-abap/CleanABAP_de.md",
"title": "SAP Code Style Guides - Clean ABAP"
}
],
"subsections": []
},
{
"section": "Action Script",
"entries": [
{
"url": "http://openbook.rheinwerk-verlag.de/actionscript",
"title": "ActionScript 1 und 2",
"author": "Sascha Wolter",
"notes": [
"Online"
]
},
{
"url": "http://openbook.rheinwerk-verlag.de/actionscript_einstieg",
"title": "Einstieg in ActionScript",
"author": "Christian Wenz, Tobias Hauser, Armin Kappler",
"notes": [
"Online"
]
}
],
"subsections": []
},
{
"section": "Android",
"entries": [
{
"url": "https://www.uni-trier.de/fileadmin/urt/doku/android/android.pdf",
"title": "Einführung in die Entwicklung von Apps für Android 8",
"author": "Bernhard Baltes-Götz",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Assembly Language",
"entries": [
{
"url": "http://drpaulcarter.com/pcasm",
"title": "PC Assembly Language",
"author": "Paul A. Carter"
},
{
"url": "https://beginners.re/RE4B-DE.pdf",
"title": "Reverse Engineering für Einsteiger",
"author": "Dennis Yurichev, Dennis Siekmeier, Julius Angres, Dirk Loser, Clemens Tamme, Philipp Schweinzer",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "C",
"entries": [
{
"url": "https://de.wikibooks.org/wiki/C-Programmierung",
"title": "C-Programmierung",
"author": "Wikibooks",
"notes": [
"HTML"
]
},
{
"url": "http://openbook.rheinwerk-verlag.de/c_von_a_bis_z",
"title": "C von A bis Z",
"author": "Jürgen Wolf",
"notes": [
"Online"
]
},
{
"url": "https://web.archive.org/web/20190214185910/http://www.asc.tuwien.ac.at/~eprog/download/schmaranz.pdf",
"title": "Softwareentwicklung in C",
"author": "Klaus Schmaranz",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "C#",
"entries": [
{
"url": "https://www.uni-trier.de/universitaet/wichtige-anlaufstellen/zimk/downloads-broschueren/programmierung/c",
"title": "Einführung in das Programmieren mit C#",
"author": "Bernhard Baltes-Götz",
"notes": [
"PDF"
]
},
{
"url": "http://www.highscore.de/csharp/einfuehrung",
"title": "Programmieren in C#: Einführung"
},
{
"url": "http://openbook.rheinwerk-verlag.de/visual_csharp_2012",
"title": "Visual C# 2012",
"author": "Andreas Kühnel",
"notes": [
"Online"
]
}
],
"subsections": []
},
{
"section": "C++",
"entries": [
{
"url": "http://dieboostcppbibliotheken.de",
"title": "Die Boost C++ Bibliotheken",
"author": "Boris Schäling",
"notes": [
"Online"
]
},
{
"url": "https://www.assets.dpunkt.de/openbooks/Openbook_Lean_Testing.pdf",
"title": "Lean Testing für C++-Programmierer (2018)",
"author": "Andreas Spillner, Ulrich Breymann",
"notes": [
"PDF"
]
},
{
"url": "http://www.highscore.de/cpp/aufbau",
"title": "Programmieren in C++: Aufbau"
},
{
"url": "http://www.highscore.de/cpp/einfuehrung",
"title": "Programmieren in C++: Einführung"
}
],
"subsections": []
},
{
"section": "Component Pascal",
"entries": [
{
"url": "http://karlheinz-hug.de/informatik/buch/Karlheinz-Hug_Module-Klassen-Vertraege.pdf",
"title": "Module, Klassen, Verträge",
"author": "Karlheinz Hug",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Delphi",
"entries": [
{
"url": "https://web.archive.org/web/20170714162427/https://downloads.delphi-treff.de/DelphiStarter.pdf",
"title": "Delphi-Starter",
"author": "Florian Hämmerle, Martin Strohal, Christian Rehn, Andreas Hausladen",
"notes": [
"PDF"
],
"accessNotes": ":card_file_box: archived"
}
],
"subsections": []
},
{
"section": "Git",
"entries": [
{
"url": "http://gitbu.ch",
"title": "Das Git-Buch",
"author": "Valentin Haenel, Julius Plenz",
"notes": [
"PDF, EPUB"
]
},
{
"url": "http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/de",
"title": "Git Magic",
"author": "Ben Lynn,",
"notes": [
"HTML, PDF"
]
},
{
"url": "https://git-scm.com/book/de/",
"title": "Pro Git",
"author": "Scott Chacon, Ben Straub,",
"notes": [
"HTML, PDF, EPUB, Kindle"
]
}
],
"subsections": []
},
{
"section": "Go",
"entries": [
{
"url": "http://www.bitloeffel.de/DOC/golang/effective_go_de.html",
"title": "Effektiv Go Programmieren",
"notes": [
"Online"
]
},
{
"url": "https://github.com/michivo/go-tour-de",
"title": "Eine Tour durch Go"
},
{
"url": "https://astaxie.gitbooks.io/build-web-application-with-golang/content/de",
"title": "Erstelle Webanwendungen mit Go"
},
{
"url": "https://github.com/Aaronmacaron/the-little-go-book-de",
"title": "The Little Go Book",
"author": "Karl Seguin,",
"notes": [],
"manualReviewRequired": true
}
],
"subsections": []
},
{
"section": "Groovy",
"entries": [
{
"url": "http://examples.oreilly.de/openbooks/pdf_groovyger.pdf",
"title": "Groovy für Java-Entwickler",
"author": "Jörg Staudemeyer",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "HTML and CSS",
"entries": [
{
"url": "http://www.peterkropff.de/site/css/css.htm",
"title": "CSS",
"author": "Peter Kropff",
"notes": [
"Grundlagen, OOP, MySQLi, PDO",
"Online, PDF"
]
},
{
"url": "http://www.peterkropff.de/site/html/html.htm",
"title": "HTML",
"author": "Peter Kropff",
"notes": [
"Online, PDF"
]
},
{
"url": "http://webkompetenz.wikidot.com/docs:html-handbuch",
"title": "HTML5-Handbuch",
"notes": [
"Online"
]
},
{
"url": "https://wiki.selfhtml.org/wiki/Startseite",
"title": "Self HTML",
"notes": [
"Online"
]
}
],
"subsections": []
},
{
"section": "iOS",
"entries": [
{
"url": "http://openbook.rheinwerk-verlag.de/apps_programmieren_fuer_iphone_und_ipad",
"title": "Apps programmieren für iPhone und iPad",
"author": "Klaus M. Rodewig, Clemens Wagner",
"notes": [
"Online"
]
},
{
"url": "http://examples.oreilly.de/openbooks/iosrecipesger.zip",
"title": "iOS-Rezepte"
},
{
"url": "http://examples.oreilly.de/openbooks/pdf_ipadprogpragger.pdf",
"title": "iPad-Programmierung",
"author": "Daniel H. Steinberg, Eric T. Freeman",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Java",
"entries": [
{
"url": "https://www.uni-trier.de/universitaet/wichtige-anlaufstellen/zimk/downloads-broschueren/programmierung/java",
"title": "Einführung in das Programmieren mit Java",
"author": "Bernhard Baltes-Götz, Johannes Götz",
"notes": [
"PDF"
]
},
{
"url": "http://bsd.de/e3fu/umfrage.html",
"title": "EJB 3 für Umsteiger: Neuerungen und Änderungen gegenüber dem EJB-2.x-Standard",
"author": "Heiko W. Rupp"
},
{
"url": "http://openbook.rheinwerk-verlag.de/java7",
"title": "Java 7 Mehr als eine Insel",
"author": "Christian Ullenboom",
"notes": [
"Online"
]
},
{
"url": "http://openbook.rheinwerk-verlag.de/javainsel",
"title": "Java ist auch eine Insel",
"author": "Christian Ullenboom",
"notes": [
"Online"
]
},
{
"url": "http://openbook.rheinwerk-verlag.de/java8",
"title": "Java SE 8 Standard-Bibliothek",
"author": "Christian Ullenboom",
"notes": [
"Online"
]
},
{
"url": "https://java-tutorial.org/index.php",
"title": "Java Tutorial - Java lernen leicht gemacht",
"author": "Björn und Britta Petri"
},
{
"url": "https://www.assets.dpunkt.de/openbooks/Hettel_Nebenlaeufige%20Programmierung%20mit%20Java_Broschuere.pdf",
"title": "Nebenläufige Programmierung mit Java",
"author": "Jörg Hettel und Manh Tien Tran",
"notes": [
"PDF"
]
},
{
"url": "http://www.highscore.de/java/aufbau",
"title": "Programmieren Java: Aufbau",
"author": "Boris Schäling",
"notes": [
"HTML"
]
},
{
"url": "http://www.highscore.de/java/einfuehrung",
"title": "Programmieren Java: Einführung",
"author": "Boris Schäling",
"notes": [
"HTML"
]
},
{
"url": "http://www.frankwestphal.de/ftp/Westphal_Testgetriebene_Entwicklung.pdf",
"title": "Testgetriebene Entwicklung mit JUnit & FIT",
"author": "Frank Westphal",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "JavaScript",
"entries": [
{
"url": "http://www.peterkropff.de/site/javascript/javascript.htm",
"title": "JavaScript",
"author": "Peter Kropff",
"notes": [
"Grundlagen, AJAX, DOM, OOP",
"Online, PDF"
]
},
{
"url": "http://openbook.rheinwerk-verlag.de/javascript_ajax",
"title": "JavaScript und AJAX",
"author": "Christian Wenz",
"notes": [
"Online"
]
},
{
"url": "http://www.highscore.de/javascript",
"title": "Webseiten erstellen mit Javascript",
"author": "Boris Schäling",
"notes": [
"HTML"
]
}
],
"subsections": [
{
"section": "React",
"entries": [
{
"url": "https://lernen.react-js.dev",
"title": "React lernen und verstehen",
"author": "Manuel Bieh",
"notes": [
"HTML"
]
}
]
}
]
},
{
"section": "LaTeX",
"entries": [
{
"url": "http://www.fernuni-hagen.de/imperia/md/content/zmi_2010/a026_latex_einf.pdf",
"title": "LaTeX - eine Einführung und ein bisschen mehr ...",
"author": "Manuela Jürgens, Thomas Feuerstack",
"notes": [
"PDF"
]
},
{
"url": "http://www.fernuni-hagen.de/imperia/md/content/zmi_2010/a027_latex_fort.pdf",
"title": "LaTeX - Forteschrittene Anwendungen (oder: Neues von den Hobbits)",
"author": "Manuela Jürgens",
"notes": [
"PDF"
]
},
{
"url": "http://www.lehmanns.de/page/latexreferenz",
"title": "LaTeX : Referenz der Umgebungen, Makros, Längen und Zähler",
"author": "Herbert Voß",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Linux",
"entries": [
{
"url": "https://debiananwenderhandbuch.de",
"title": "Debian GNU/Linux Anwenderhandbuch",
"author": "Frank Ronneburg",
"notes": [
"HTML"
]
},
{
"url": "https://openbook.rheinwerk-verlag.de/linux/",
"title": "Linux - Das umfassende Handbuch",
"author": "Johannes Plötner, Steffen Wendzel",
"notes": [
"HTML"
]
}
],
"subsections": []
},
{
"section": "Meta-Lists",
"entries": [
{
"url": "https://www.rheinwerk-verlag.de/openbook",
"title": "Galileo Computing - openbook"
}
],
"subsections": []
},
{
"section": "MySQL",
"entries": [
{
"url": "http://www.peterkropff.de/site/mysql/mysql.htm",
"title": "MySQL",
"author": "Peter Kropff [Online, PDF]"
}
],
"subsections": []
},
{
"section": "Neo4j",
"entries": [
{
"url": "https://neo4j.com/neo4j-graphdatenbank-book",
"title": "Neo4j 2.0 – Eine Graphdatenbank für alle",
"author": "Michael Hunger",
"notes": [
"PDF"
],
"accessNotes": "email requested"
}
],
"subsections": []
},
{
"section": "PHP",
"entries": [
{
"url": "http://www.peterkropff.de/site/php/php.htm",
"title": "PHP",
"author": "Peter Kropff",
"notes": [
"Grundlagen, OOP, MySQLi, PDO"
]
},
{
"url": "http://openbook.rheinwerk-verlag.de/php_pear",
"title": "PHP PEAR",
"author": "Carsten Möhrke",
"notes": [
"Online"
]
},
{
"url": "http://examples.oreilly.de/openbooks/pdf_einmysql2ger.pdf",
"title": "Praktischer Einstieg in MySQL mit PHP",
"author": "Sascha Kersken",
"notes": [
"PDF"
]
}
],
"subsections": [
{
"section": "Joomla",
"entries": [
{
"url": "https://openbook.rheinwerk-verlag.de/joomla_3/",
"title": "Joomla! 3 - Das umfassende Handbuch",
"author": "Richard Eisenmenger"
}
]
},
{
"section": "Symfony",
"entries": [
{
"url": "https://symfony.com/doc/current/the-fast-track/de/index.html",
"title": "Symfony: Auf der Überholspur",
"notes": [
"Online"
]
}
]
}
]
},
{
"section": "Python",
"entries": [
{
"url": "https://sourceforge.net/projects/abop-german.berlios/files",
"title": "A Byte of Python - Einführung in Python",
"author": "Swaroop C H, Bernd Hengelein, Lutz Horn, Bernhard Krieger, Christoph Zwerschke",
"notes": [
"PDF"
]
},
{
"url": "http://www.mschimmels.de/eigeneDateien/Python-Kurs.pdf",
"title": "Einführung in Python",
"author": "Martin Schimmels",
"notes": [
"PDF"
]
},
{
"url": "http://opentechschool.github.io/python-beginners/de",
"title": "Programmiereinführung mit Python",
"notes": [
"Online"
]
},
{
"url": "https://github.com/pbouda/pyqt-und-pyside-buch",
"title": "PyQt und PySide: GUI und Anwendungsentwicklung mit Python und Qt",
"author": "Peter Bouda, Michael Palmer, Dr. Markus Wirz",
"notes": [],
"manualReviewRequired": true
},
{
"url": "http://openbook.rheinwerk-verlag.de/python",
"title": "Python 3 - Das umfassende Handbuch",
"author": "Johannes Ernesti, Peter Kaiser",
"notes": [
"Online"
]
}
],
"subsections": [
{
"section": "Django",
"entries": [
{
"url": "https://tutorial.djangogirls.org/de",
"title": "Django Girls Tutorial",
"notes": [
"1.11",
"HTML",
":construction: *in process*"
]
}
]
},
{
"section": "R",
"entries": [
{
"url": "https://methodenlehre.github.io/einfuehrung-in-R/",
"title": "Einführung in R",
"author": "Andrew Ellis, Boris Mayer",
"notes": [
"HTML"
]
}
]
}
]
},
{
"section": "Ruby on Rails",
"entries": [
{
"url": "https://web.archive.org/web/20160328183933/https://oreilly.de/german/freebooks/rubybasger/pdf_rubybasger.pdf",
"title": "Praxiswissen Ruby",
"author": "Sascha Kersken",
"notes": [
"PDF"
],
"accessNotes": ":card_file_box: archived"
},
{
"url": "http://examples.oreilly.de/openbooks/pdf_rubyonrailsbasger.pdf",
"title": "Praxiswissen Ruby On Rails",
"author": "Denny Carl",
"notes": [
"PDF"
]
},
{
"url": "http://examples.oreilly.de/openbooks/pdf_railsckbkger.pdf",
"title": "Rails Kochbuch",
"author": "Rob Orsini",
"notes": [
"PDF"
]
},
{
"url": "http://openbook.rheinwerk-verlag.de/ruby_on_rails/",
"title": "Ruby on Rails 2",
"author": "Hussein Morsy, Tanja Otto",
"notes": [
"Online"
]
},
{
"url": "http://ruby-auf-schienen.de/3.2/",
"title": "Ruby on Rails 3.2 für Ein-, Um- und Quereinsteiger",
"notes": [
"Online"
]
}
],
"subsections": []
},
{
"section": "Rust",
"entries": [
{
"url": "https://rust-lang-de.github.io/rustbook-de/",
"title": "Die Programmiersprache Rust",
"author": "Steve Klabnik, Carol Nichols, Übersetzung durch die Rust-Gemeinschaft",
"notes": [
"HTML"
]
}
],
"subsections": []
},
{
"section": "Sage",
"entries": [
{
"url": "https://www.loria.fr/~zimmerma/sagebook/CalculDeutsch.pdf",
"title": "Rechnen mit SageMath",
"author": "Paul Zimmermann, et al.",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Scilab",
"entries": [
{
"url": "https://web.archive.org/web/20161204131517/http://buech-gifhorn.de/scilab/Einfuehrung.pdf",
"title": "Einführung in Scilab/Xcos 5.4",
"author": "Helmut Büch",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Scratch",
"entries": [
{
"url": "http://eis.ph-noe.ac.at/kreativeinformatik",
"title": "Kreative Informatik mit Scratch"
}
],
"subsections": []
},
{
"section": "Shell",
"entries": [
{
"url": "https://openbook.rheinwerk-verlag.de/shell_programmierung/",
"title": "Shell-Programmierung",
"author": "Jürgen Wolf"
}
],
"subsections": []
},
{
"section": "UML",
"entries": [
{
"url": "http://www.highscore.de/uml",
"title": "Der moderne Softwareentwicklungsprozess mit UML",
"author": "Boris Schäling",
"notes": [
"HTML"
]
}
],
"subsections": []
},
{
"section": "Unabhängig von der Programmiersprache",
"entries": [
{
"url": "http://clean-code-developer.de",
"title": "Clean Code Developer: Eine Initiative für mehr Professionalität in der Softwareentwicklung",
"notes": [
"Online"
]
},
{
"url": "http://openbook.rheinwerk-verlag.de/it_handbuch",
"title": "IT-Handbuch für Fachinformatiker",
"author": "Sascha Kersken",
"notes": [
"Online"
]
},
{
"url": "http://openbook.rheinwerk-verlag.de/oop",
"title": "Objektorientierte Programmierung",
"author": "Bernhard Lahres, Gregor Rayman",
"notes": [
"Online"
]
},
{
"url": "https://res.infoq.com/news/2007/06/scrum-xp-book/en/resources/ScrumAndXpFromTheTrenchesonline_German.pdf",
"title": "Scrum und XP im harten Projektalltag",
"author": "Henrik Kniberg",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Unix",
"entries": [
{
"url": "http://openbook.rheinwerk-verlag.de/linux_unix_programmierung",
"title": "Linux-UNIX-Programmierung",
"author": "Jürgen Wolf",
"notes": [
"Online"
]
},
{
"url": "http://openbook.rheinwerk-verlag.de/shell_programmierung",
"title": "Shell-Programmierung",
"author": "Jürgen Wolf",
"notes": [
"Online"
]
},
{
"url": "http://openbook.rheinwerk-verlag.de/unix_guru",
"title": "Wie werde ich Unix Guru?",
"author": "Arnold Willemer",
"notes": [
"Online"
]
}
],
"subsections": []
},
{
"section": "VHDL",
"entries": [
{
"url": "https://de.wikibooks.org/wiki/VHDL-Tutorium",
"title": "VHDL-Tutorium",
"author": "Wikibooks",
"notes": [
"HTML"
]
}
],
"subsections": []
},
{
"section": "Visual Basic",
"entries": [
{
"url": "http://openbook.rheinwerk-verlag.de/einstieg_vb_2012",
"title": "Einstieg in Visual Basic 2012",
"author": "Thomas Theis",
"notes": [
"Online"
]
},
{
"url": "http://openbook.rheinwerk-verlag.de/visualbasic_2008",
"title": "Visual Basic 2008",
"notes": [
"Online"
]
}
],
"subsections": []
}
]
},
{
"language": {
"code": "el",
"name": "Greek (Modern)"
},
"index": {},
"sections": [
{
"section": "C",
"entries": [
{
"url": "https://repository.kallipos.gr/bitstream/11419/1346/1/00_master%20document_KOY.pdf",
"title": "Διαδικαστικός προγραμματισμός",
"author": "Μαστοροκώστας Πάρις",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "C++",
"entries": [
{
"url": "http://www.ebooks4greeks.gr/2011.Download_free-ebooks/Pliroforikis/glossa_programmatismoy_C++__eBooks4Greeks.gr.pdf",
"title": "Εισαγωγή στη C++",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Java",
"entries": [
{
"url": "https://repository.kallipos.gr/bitstream/11419/6217/3/DataStructures-%CE%9A%CE%9F%CE%A5.pdf",
"title": "Δομές δεδομένων",
"author": "Γεωργιάδης Λουκάς, Νικολόπουλος Σταύρος, Παληός Λεωνίδας",
"notes": [
"PDF"
],
"otherLinks": [
{
"title": "EPUB",
"url": "https://repository.kallipos.gr/bitstream/11419/6217/5/DataStructures-%ce%9a%ce%9f%ce%a5.epub"
}
]
},
{
"url": "http://www.ebooks4greeks.gr/wp-content/uploads/2013/03/Java-free-book.pdf",
"title": "Εισαγωγή στη Java",
"notes": [
"PDF"
]
},
{
"url": "http://www.ebooks4greeks.gr/dowloads/Pliroforiki/Glosses.program./Java__Downloaded_from_eBooks4Greeks.gr.pdf",
"title": "Εισαγωγή στη γλώσσα προγραμματισμού JAVA",
"notes": [
"PDF"
]
},
{
"url": "http://www.ebooks4greeks.gr/wp-content/uploads/2013/04/java-2012-eBooks4Greeks.gr_.pdf",
"title": "Ηλεκτρονικό εγχειρίδιο της JAVA",
"notes": [
"PDF"
]
},
{
"url": "http://www.ebooks4greeks.gr/wp-content/uploads/2013/03/shmeiwseis-Java-eBooks4Greeks.gr_.pdf",
"title": "Σημειώσεις Java",
"notes": [
"PDF"
]
},
{
"url": "https://repository.kallipos.gr/bitstream/11419/6232/2/%CE%9A%CE%95%CE%A6%CE%91%CE%9B%CE%91%CE%99%CE%9F%2015.pdf",
"title": "Γλώσσα προγραμματισμού Java",
"notes": [
"PDF"
]
},
{
"url": "https://repository.kallipos.gr/bitstream/11419/6261/2/02_chapter_14.pdf",
"title": "Διασύνδεση με JAVA Εφαρμογές",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "JavaScript",
"entries": [
{
"url": "https://www.ebooks4greeks.gr/html5-javascript",
"title": "HTML5-JavaScript (Δημιουργώντας παιχνίδια – Ο εύκολος τρόπος)"
}
],
"subsections": []
},
{
"section": "Python",
"entries": [
{
"url": "https://www.ebooks4greeks.gr/eisagwgh-ston-programmatismo-me-arwgo-th-glwssa-python",
"title": "Εισαγωγή στον Προγραμματισμό με Αρωγό τη Γλώσσα Python"
},
{
"url": "https://archive.org/details/AByteOfPythonEl",
"title": "Ένα byte της Python"
},
{
"url": "https://repository.kallipos.gr/bitstream/11419/1708/3/85_Magoutis.pdf",
"title": "Εισαγωγή στον αντικειμενοστραφή προγραμματισμό με Python",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Scala",
"entries": [
{
"url": "https://github.com/mrdimosthenis/creative-scala",
"title": "Creative Scala",
"notes": [
"EPUB, HTML, PDF"
]
}
],
"subsections": []
},
{
"section": "SQL",
"entries": [
{
"url": "https://www.ebooks4greeks.gr/eisagwgh-sthn-sql-ergasthriakes-askhseis-se-mysql5-7",
"title": "Εισαγωγή στην SQL: Εργαστηριακές Ασκήσεις σε MySQL5.7"
},
{
"url": "https://repository.kallipos.gr/bitstream/11419/276/3/00_master_symeonidis%2028-10-2015.pdf",
"title": "Βάσεις, Αποθήκες και Εξόρυξη Δεδομένων με τον SQL Server",
"notes": [
"PDF"
]
},
{
"url": "https://repository.kallipos.gr/bitstream/11419/6248/2/02_chapter_1.pdf",
"title": "Εισαγωγή στα Συστήματα Διαχείρισης Σχεσιακών ΒΔ / MySQL 5.7",
"notes": [
"PDF"
]
}
],
"subsections": []
}
]
},
{
"language": {
"code": "en",
"name": "English",
"isSubject": false
},
"index": {},
"sections": [
{
"section": "All",
"entries": [
{
"url": "free-programming-books-langs.md",
"title": "English, By Programming Language"
},
{
"url": "free-programming-books-subjects.md",
"title": "English, By Subject",
"notes": [
"The list of books in English is here for historical reasons."
]
}
],
"subsections": []
}
]
},
{
"language": {
"code": "es",
"name": "Spanish, Castilian"
},
"index": {},
"sections": [
{
"section": "0 - Meta-Listas",
"entries": [
{
"url": "https://wiki.python.org.ar/aprendiendopython/",
"title": "Aprender Python",
"author": "Python Argentina"
},
{
"url": "http://jorgesanchez.net",
"title": "Apuntes Completos de Desarrollo Web",
"author": "Jorge Sánchez"
},
{
"url": "https://github.com/ddd-espanol/asombroso-ddd",
"title": "Asombroso DDD: Una lista curada de recursos sobre Domain Driven Design"
},
{
"url": "https://github.com/statickidz/TemarioDAW#temario-daw",
"title": "Desarrollo de Aplicaciones Web - Temario Completo",
"author": "José Luis Comesaña",
"notes": [
"GitHub"
]
},
{
"url": "https://javiergarciaescobedo.es",
"title": "Desarrollo de Aplicaciones Web y Sistemas Microinformáticos y Redes",
"author": "Javier García Escobedo"
},
{
"url": "https://github.com/rosepac/gitbook-biblioteca-impresionante-en-espanol#gitbook---gu%C3%ADas-creadas-en-gitbook-en-espa%C3%B1ol",
"title": "Gitbook - Libros útiles en español",
"author": "Pablo Alvarez Corredera",
"notes": [
"GitHub"
]
},
{
"url": "http://elvex.ugr.es",
"title": "Múltiples Cursos y Enlaces de Tecnología Informática",
"author": "Fernando Berzal Galiano"
},
{
"url": "https://openlibra.com/es/collection",
"title": "OpenLibra - Biblioteca recopilatorio de libros libres"
},
{
"url": "http://fcasua.contad.unam.mx/apuntes/interiores/plan2016_1.php",
"title": "Universidad Nacional Autónoma de México - Plan (2016)"
}
],
"subsections": []
},
{
"section": "1 - Agnósticos",
"entries": [],
"subsections": [
{
"section": "Algoritmos y Estructuras de Datos",
"entries": [
{
"url": "http://www.eduteka.org/pdfdir/AlgoritmosProgramacion.pdf",
"title": "Algoritmos y Programación (Guía para docentes)",
"author": "Juan Carlos López García",
"notes": [
"PDF"
]
},
{
"url": "http://fcasua.contad.unam.mx/apuntes/interiores/docs/20181/informatica/1/LI_1164_06097_A_Analisis_Diseno_Implantacion_Algoritmos_Plan2016.pdf",
"title": "Análisis, Diseño e Implantación de Algoritmos",
"author": "Universidad Nacional Autónoma de México, Dr. Juan Alberto Adam Siade, Gilberto Manzano Peñaloza, René Montesano Brand, Luis Fernando Zúñiga López, et al.",
"notes": [
"PDF"
]
},
{
"url": "https://openlibra.com/en/book/download/apuntes-de-algoritmos-y-estructuras-de-datos",
"title": "Apuntes de Algoritmos y Estructuras de Datos",
"author": "Alejandro Santos",
"notes": [
"PDF"
]
},
{
"url": "https://lya.fciencias.unam.mx/jloa/publicaciones/analisisdeAlgoritmos.pdf",
"title": "Breves Notas sobre Análisis de Algoritmos",
"author": "Universidad Nacional Autónoma de México, Jorge L. Ortega Arjona",
"notes": [
"PDF"
]
},
{
"url": "https://informatica.uv.es/docencia/fguia/TI/Libro/Libro_Fundamentos_Inform_Program.htm",
"title": "Fundamentos de Informática y Programación",
"author": "Gregorio Martín Quetglás, Francisco Toledo Lobo, Vicente Cerverón Lleó",
"notes": [
"HTML"
]
},
{
"url": "https://es.wikibooks.org/wiki/Fundamentos_de_programaci%C3%B3n",
"title": "Fundamentos de programación",
"author": "WikiLibros"
},
{
"url": "https://es.wikibooks.org/wiki/Introducci%C3%B3n_a_la_Programaci%C3%B3n",
"title": "Introducción a la programación",
"author": "WikiLibros"
},
{
"url": "https://lya.fciencias.unam.mx/jloa/publicaciones/estructurasdeDatos.pdf",
"title": "Temas selectos de estructuras de datos",
"author": "Universidad Nacional Autónoma de México, Jorge L. Ortega Arjona",
"notes": [
"PDF"
]
},
{
"url": "https://www.bubok.es/libros/219288/Teoria-sintacticogramatical-de-objetos",
"title": "Teoría sintáctico-gramatical de objetos",
"notes": [
"Bubok"
]
}
]
},
{
"section": "Base de Datos",
"entries": [
{
"url": "http://rua.ua.es/dspace/bitstream/10045/2990/1/ApuntesBD1.pdf",
"title": "Apuntes de Base de Datos 1",
"author": "Eva Gómez Ballester, Patricio Martínez Barco, Paloma Moreda Pozo, Armando Suárez Cueto, Andrés Montoyo Guijarro, Estela Saquete Boro",
"notes": [
"PDF"
]
},
{
"url": "http://www.uoc.edu/masters/oficiales/img/913.pdf",
"title": "Base de Datos (2005)",
"author": "Rafael Camps Paré, Luis Alberto Casillas Santillán, Dolors Costal Costa, Marc Gibert Ginestà, Carme Martín Escofet, Oscar Pérez Mora",
"notes": [
"PDF"
]
},
{
"url": "https://openlibra.com/es/book/download/bases-de-datos-2",
"title": "Base de Datos (2011)",
"author": "Mercedes Marqués",
"notes": [
"PDF"
]
},
{
"url": "https://openlibra.com/es/book/download/bases-de-datos-avanzadas",
"title": "Base de Datos Avanzadas (2013)",
"author": "María José Aramburu Cabo, Ismael Sanz Blasco",
"notes": [
"PDF"
]
},
{
"url": "https://openlibra.com/es/book/download/diseno-conceptual-de-bases-de-datos",
"title": "Diseño Conceptual de Bases de Datos",
"author": "Jorge Sánchez",
"notes": [
"PDF"
]
}
]
},
{
"section": "Ciencia Computacional",
"entries": [
{
"url": "https://lya.fciencias.unam.mx/jloa/publicaciones/automatasyLenguajes.pdf",
"title": "Breves Notas sobre Autómatas y Lenguajes",
"author": "Universidad Nacional Autónoma de México, Jorge L. Ortega Arjona",
"notes": [
"PDF"
]
},
{
"url": "https://lya.fciencias.unam.mx/jloa/publicaciones/complejidad.pdf",
"title": "Breves Notas sobre Complejidad",
"author": "Universidad Nacional Autónoma de México, Jorge L. Ortega Arjona",
"notes": [
"PDF"
]
},
{
"url": "https://lya.fciencias.unam.mx/jloa/publicaciones/teoria.pdf",
"title": "Breves Notas sobre Teoría de la Computación",
"author": "Universidad Nacional Autónoma de México, Jorge L. Ortega Arjona",
"notes": [
"PDF"
]
},
{
"url": "http://ciencias.bogota.unal.edu.co/fileadmin/Facultad_de_Ciencias/Publicaciones/Archivos_Libros/Libros_Matematicas/_Teoria_de_la_Computacion___lenguajes__automatas__gramaticas._/teoriacomputacion.pdf",
"title": "Teoría de la Computación: Lenguajes, Autómatas, Gramáticas",
"author": "Rodrigo De Castro Korgi",
"notes": [
"PDF"
]
}
]
},
{
"section": "Inteligencia Artificial",
"entries": [
{
"url": "http://www.uhu.es/publicaciones/?q=libros&code=1252",
"title": "Deep Learning",
"author": "Isaac Pérez Borrero, Manuel E. Gegúndez Arias",
"notes": [
"PDF"
]
},
{
"url": "https://iaarbook.github.io",
"title": "Libro online de IAAR",
"author": "Raúl E. López Briega, IAAR",
"notes": [
"HTML"
]
}
]
},
{
"section": "Metodologías de desarrollo de software",
"entries": [
{
"url": "http://www.navegapolis.com/files/cis.pdf",
"title": "Compendio de Ingeniería del Software",
"notes": [
"PDF"
]
},
{
"url": "https://web.archive.org/web/20150824055042/http://www.wolnm.org/apa/articulos/Ingenieria_Software.pdf",
"title": "Ingeniería de Software: Una Guía para Crear Sistemas de Información",
"author": "Alejandro Peña Ayala",
"notes": [
"PDF"
]
},
{
"url": "https://web.archive.org/web/20140209204645/http://www.cursosdeprogramacionadistancia.com/static/pdf/material-sin-personalizar-agile.pdf",
"title": "Scrum & Extreme Programming (para programadores)",
"author": "Eugenia Bahit",
"notes": [
"PDF"
]
},
{
"url": "https://scrumlevel.com/files/scrumlevel.pdf",
"title": "Scrum Level",
"author": "Juan Palacio, Scrum Manager",
"notes": [
"PDF"
],
"otherLinks": [
{
"title": "EPUB",
"url": "https://scrumlevel.com/files/scrumlevel.epub"
}
]
},
{
"url": "https://scrummanager.net/files/scrum_master.pdf",
"title": "Scrum Master - Temario troncal 1",
"author": "Marta Palacio, Scrum Manager",
"notes": [
"PDF"
],
"otherLinks": [
{
"title": "EPUB",
"url": "https://scrummanager.net/files/scrum_master.epub"
}
]
},
{
"url": "http://www.proyectalis.com/wp-content/uploads/2008/02/scrum-y-xp-desde-las-trincheras.pdf",
"title": "Scrum y XP desde las trincheras",
"author": "Henrik Kniberg,",
"notes": [
"PDF"
]
}
]
},
{
"section": "Misceláneos",
"entries": [
{
"url": "http://97cosas.com/programador/",
"title": "97 cosas que todo programador debería saber",
"author": "Kevlin Henney,",
"notes": [
"HTML"
]
},
{
"url": "https://github.com/brunocascio/docker-espanol#docker",
"title": "Docker",
"author": "Bruno Cascio",
"notes": [
"GitHub"
]
},
{
"url": "http://emanchado.github.io/camino-mejor-programador/downloads/camino_2013-01-19_0688b6e.html",
"title": "El camino a un mejor programador",
"author": "Esteban Manchado Velázquez, Joaquín Caraballo Moreno, Yeray Darias Camacho",
"notes": [
"HTML"
],
"otherLinks": [
{
"title": "PDF, ePub",
"url": "http://emanchado.github.io/camino-mejor-programador/"
}
]
},
{
"url": "https://www.rediris.es/tecniris/archie/doc/TECNIRIS47-1b.pdf",
"title": "Introducción a Docker",
"author": "Benito Cuesta, Salvador González",
"notes": [
"PDF"
]
},
{
"url": "https://losapuntesdemajo.vercel.app",
"title": "Los Apuntes de Majo",
"author": "Majo Ledesma",
"notes": [
"PDF"
]
},
{
"url": "http://libros.metabiblioteca.org/bitstream/001/271/8/Programacion_Videojuegos_SDL.pdf",
"title": "Programación de videojuegos SDL",
"author": "Alberto García Serrano",
"notes": [
"PDF"
]
}
]
},
{
"section": "Sistemas Operativos",
"entries": [
{
"url": "http://sistop.org/pdf/sistemas_operativos.pdf",
"title": "Fundamentos de Sistemas Operativos",
"author": "Gunnar Wolf, Esteban Ruiz, Federico Bergero, Erwin Meza, et al.",
"notes": [
"PDF"
]
},
{
"url": "http://sistop.gwolf.org/html/biblio/Sistemas_Operativos_-_Luis_La_Red_Martinez.pdf",
"title": "Sistemas Operativos",
"author": "Dr. David Luis la Red Martinez",
"notes": [
"PDF"
]
}
]
}
]
},
{
"section": "Android",
"entries": [
{
"url": "https://www.develou.com/android/",
"title": "Curso Android",
"notes": [
"HTML"
]
},
{
"url": "http://ns2.elhacker.net/timofonica/manuales/Manual_Programacion_Android_v2.0.pdf",
"title": "Manual de Programación Android v.2.0",
"author": "Salvador Gómez Oliver",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "C++",
"entries": [
{
"url": "https://web.archive.org/web/20100701020037/http://www.tecnun.es/asignaturas/Informat1/AyudaInf/aprendainf/cpp/avanzado/cppavan.pdf",
"title": "Aprenda C++ avanzado como si estuviera en primero",
"author": "Paul Bustamante, Iker Aguinaga, Miguel Aybar, Luis Olaizola, Iñigo Lazcano",
"notes": [
"PDF"
]
},
{
"url": "https://web.archive.org/web/20100701020025/http://www.tecnun.es/asignaturas/Informat1/AyudaInf/aprendainf/cpp/basico/cppbasico.pdf",
"title": "Aprenda C++ básico como si estuviera en primero",
"author": "Paul Bustamante, Iker Aguinaga, Miguel Aybar, Luis Olaizola, Iñigo Lazcano",
"notes": [
"PDF"
]
},
{
"url": "http://antares.sip.ucm.es/cpareja/libroCPP/",
"title": "Ejercicios de programación creativos y recreativos en C++",
"author": "Luis Llana, Carlos Gregorio, Raquel Martínez, Pedro Palao, Cristóbal Pareja",
"notes": [
"HTML"
]
}
],
"subsections": []
},
{
"section": "Ensamblador",
"entries": [
{
"url": "http://redeya.bytemaniacos.com/electronica/cursos/aesoft.htm",
"title": "Curso ASM de 80x86 por AESOFT",
"author": "Francisco Jesus Riquelme",
"notes": [
"HTML"
]
},
{
"url": "https://pacman128.github.io/static/pcasm-book-spanish.pdf",
"title": "Lenguaje Ensamblador para PC",
"author": "Paul A. Carter,",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Erlang",
"entries": [
{
"url": "https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Erlang",
"title": "Programación en Erlang",
"author": "WikiLibros"
}
],
"subsections": []
},
{
"section": "Git",
"entries": [
{
"url": "https://esparta.github.io/gitimmersion-spanish",
"title": "Git Immersión en Español",
"author": "Jim Weirich,"
},
{
"url": "https://rogerdudler.github.io/git-guide/index.es.html",
"title": "Git. La guía simple",
"author": "Roger Dudler,",
"notes": [
"HTML"
]
},
{
"url": "http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/es",
"title": "Gitmagic",
"author": "Ben Lynn,",
"notes": [
"HTML, PDF"
]
},
{
"url": "http://git-scm.com/book/es/",
"title": "Pro Git",
"author": "Scott Chacon, Ben Straub,",
"notes": [
"HTML, PDF, EPUB"
]
}
],
"subsections": []
},
{
"section": "Go",
"entries": [
{
"url": "https://raulexposito.com/the-little-go-book-en-castellano.html",
"title": "El pequeño libro Go",
"author": "Karl Seguin,",
"notes": [],
"manualReviewRequired": true
},
{
"url": "https://nachopacheco.gitbooks.io/go-es/content/doc",
"title": "Go en Español",
"author": "Nacho Pacheco",
"notes": [
"HTML"
]
}
],
"subsections": []
},
{
"section": "Haskell",
"entries": [
{
"url": "http://aprendehaskell.es/main.html",
"title": "¡Aprende Haskell por el bien de todos!",
"notes": [
"HTML"
]
},
{
"url": "http://www.cs.us.es/~jalonso/publicaciones/Piensa_en_Haskell.pdf",
"title": "Piensa en Haskell (ejercicios de programación funcional)",
"author": "José A. Alonso Jiménez, Mª José Hidalgo Doblado",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "HTML and CSS",
"entries": [
{
"url": "https://fmontes.gumroad.com/l/99tips",
"title": "99 tips para Web Development",
"author": "Freddy Montes",
"notes": [
"PDF",
"se solicita email"
]
},
{
"url": "http://librosweb.es/libro/css_avanzado",
"title": "CSS avanzado",
"author": "Javier Eguíluz Pérez",
"notes": [
"HTML"
],
"otherLinks": [
{
"title": "PDF",
"url": "https://openlibra.com/es/book/download/css-avanzado"
}
]
},
{
"url": "https://openlibra.com/es/book/download/css3-y-javascript-avanzado",
"title": "CSS3 y JavaScript avanzado",
"author": "Jordi Collell Puig",
"notes": [
"PDF"
]
},
{
"url": "http://interfacesweb.github.io/unidades/",
"title": "Diseño de Interfaces Web",
"author": "Pedro Prieto",
"notes": [
"HTML"
]
},
{
"url": "https://freeditorial.com/es/books/el-gran-libro-del-diseno-web",
"title": "El gran libro del diseño web",
"author": "Rither Cobeña C",
"notes": [
"HTML, PDF, EPUB, Kindle"
]
},
{
"url": "http://es.learnlayout.com",
"title": "Estructura con CSS",
"author": "Greg Smith, Isaac Durazo,",
"notes": [
"HTML"
]
},
{
"url": "https://openlibra.com/es/book/download/guia-completa-de-css3",
"title": "Guía Completa de CSS3",
"author": "Antonio Navajas Ojeda",
"notes": [
"PDF"
]
},
{
"url": "https://openlibra.com/es/book/html5",
"title": "HTML5",
"author": "Arkaitz Garro",
"notes": [
"PDF"
]
},
{
"url": "http://librosweb.es/libro/css/",
"title": "Introducción a CSS",
"author": "Javier Eguíluz Pérez",
"notes": [
"HTML"
],
"otherLinks": [
{
"title": "PDF",
"url": "https://openlibra.com/es/book/download/introduccion-a-css"
}
]
}
],
"subsections": []
},
{
"section": "Java",
"entries": [
{
"url": "https://openlibra.com/es/book/download/aprendiendo-java-y-poo",
"title": "Aprendiendo Java y POO (2008)",
"author": "Gustavo Guillermo Pérez",
"notes": [
"PDF"
]
},
{
"url": "https://danielme.com/curso-jakarta-ee-indice/",
"title": "Curso Jakarta EE 9",
"author": "Daniel Medina"
},
{
"url": "https://ia601504.us.archive.org/21/items/DesarrollandoConJava8Poker/DesarrollandoConJava8Poker.pdf",
"title": "Desarrollando con Java 8: Poker",
"author": "David Pérez Cabrera",
"notes": [
"PDF"
]
},
{
"url": "http://www3.uji.es/~belfern/libroJava.pdf",
"title": "Desarrollo de proyectos informáticos con Java",
"author": "Óscar Belmonte Fernández, Carlos Granell Canut, María del Carmen Erdozain Navarro, et al.",
"notes": [
"PDF"
]
},
{
"url": "https://www.arkaitzgarro.com/java/",
"title": "Ejercicios de Programación en Java",
"author": "Arkaitz Garro, Javier Eguíluz Pérez, A. García-Beltrán, J.M. Arranz",
"notes": [
"PDF"
]
},
{
"url": "https://lya.fciencias.unam.mx/jloa/publicaciones/introduccionJava.pdf",
"title": "Notas de Introducción al Lenguaje de Programación Java (2004)",
"author": "Universidad Nacional Autónoma de México, Jorge L. Ortega Arjona",
"notes": [
"PDF"
]
},
{
"url": "http://www.ungs.edu.ar/cm/uploaded_files/publicaciones/476_cid03-Pensar%20la%20computacion.pdf",
"title": "Pensando la computación como un científico (con Java)",
"notes": [
"PDF"
]
},
{
"url": "https://picodotdev.github.io/blog-bitix/assets/custom/PlugInTapestry.pdf",
"title": "PlugIn Apache Tapestry: desarrollo de aplicaciones y páginas web",
"author": "picodotdev",
"notes": [
"PDF"
],
"manualReviewRequired": true
},
{
"url": "https://openlibra.com/es/book/download/practicas-de-java",
"title": "Prácticas de Java (2009)",
"author": "Gorka Prieto Agujeta, et al.",
"notes": [
"PDF"
]
},
{
"url": "https://github.com/PabloReyes/ocpjp-resumen-espanol#ocpjp6-resumen-español",
"title": "Preparando JavaSun 6 - OCPJP6",
"author": "Pablo Reyes Almagro",
"notes": [
"GitHub"
],
"otherLinks": [
{
"title": "PDF",
"url": "https://github.com/PabloReyes/ocpjp-resumen-espanol/blob/master/OCPJP6%20Resumen.pdf"
}
]
},
{
"url": "http://elvex.ugr.es/decsai/java/",
"title": "Programación en Java",
"author": "Fernando Berzal Galiano",
"notes": [
"HTML"
]
},
{
"url": "http://static1.1.sqspcdn.com/static/f/923743/14770633/1416082087870/JavaEE.pdf",
"title": "Tutorial básico de Java EE",
"author": "Abraham Otero",
"notes": [
"PDF"
]
},
{
"url": "http://static1.1.sqspcdn.com/static/f/923743/15025126/1320942755733/Tutorial_de_Maven_3_Erick_Camacho.pdf",
"title": "Tutorial introducción a Maven 3",
"author": "Erick Camacho",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "JavaScript",
"entries": [
{
"url": "https://es.javascript.info",
"title": "El Tutorial de JavaScript Moderno",
"author": "Ilya Kantor, Elizabeth Portilla, joaquinelio, Ezequiel Castellanos, et al.",
"notes": [
"HTML"
]
},
{
"url": "https://eloquentjs-es.thedojo.mx",
"title": "Eloquent JavaScript",
"author": "Marijn Haverbeke,",
"notes": [
"HTML, PDF, EPUB, MOBI"
]
},
{
"url": "https://developer.mozilla.org/es/docs/Web/JavaScript/Guide",
"title": "Guía de JavaScript 'Mozilla'",
"notes": [
"HTML"
]
},
{
"url": "http://librosweb.es/libro/ajax",
"title": "Introducción a AJAX",
"author": "Javier Eguíluz Pérez",
"notes": [
"HTML"
],
"otherLinks": [
{
"title": "PDF",
"url": "https://openlibra.com/es/book/download/introduccion-ajax"
}
]
},
{
"url": "http://librosweb.es/libro/javascript",
"title": "Introducción a JavaScript",
"author": "Javier Eguíluz Pérez",
"notes": [
"HTML"
],
"otherLinks": [
{
"title": "PDF",
"url": "https://openlibra.com/es/book/download/introduccion-a-javascript"
}
]
},
{
"url": "http://bonsaiden.github.io/JavaScript-Garden/es",
"title": "Jardín de JavaScript",
"author": "Ivo Wetzel,",
"notes": [
"HTML"
]
},
{
"url": "https://leanpub.com/javascript-inspirate",
"title": "JavaScript, ¡Inspírate!",
"author": "Ulises Gascón González",
"notes": [
"Leanpub cuenta requerida"
]
},
{
"url": "https://jsparagatos.com",
"title": "JavaScript Para Gatos",
"author": "Maxwell Ogden,",
"notes": [
"HTML"
]
},
{
"url": "https://desarrolloweb.com/manuales/manual-javascript.html#capitulos20",
"title": "Manual de JavaScript",
"notes": [
"HTML"
]
}
],
"subsections": [
{
"section": "AngularJS",
"entries": [
{
"url": "http://raulexposito.com/documentos/como-aprender-angularjs/",
"title": "¿Cómo aprender AngularJS?",
"notes": [
"HTML"
]
},
{
"url": "https://eladrodriguez.gitbooks.io/angularjs",
"title": "AngularJS",
"author": "Elad Rodriguez",
"notes": [
"HTML"
]
},
{
"url": "https://github.com/johnpapa/angular-styleguide/blob/master/a1/i18n/es-ES.md",
"title": "Guía de estilo AngularJS",
"author": "John Papa, et al.,",
"notes": [
"HTML"
]
},
{
"url": "https://desarrolloweb.com/manuales/manual-angularjs.html",
"title": "Manual de AngularJS",
"author": "desarrolloweb.com",
"notes": [
"HTML, PDF, EPUB, Kindle"
]
}
]
},
{
"section": "D3.js",
"entries": [
{
"url": "http://gcoch.github.io/D3-tutorial/index.html",
"title": "Tutorial de D3",
"author": "Scott Murray,",
"notes": [
"HTML"
]
}
]
},
{
"section": "jQuery",
"entries": [
{
"url": "https://librosweb.es/libro/fundamentos_jquery",
"title": "Fundamentos de jQuery",
"author": "Rebecca Murphey,",
"notes": [
"HTML"
],
"otherLinks": [
{
"title": "PDF",
"url": "https://openlibra.com/es/book/download/fundamentos-de-jquery"
}
]
},
{
"url": "http://mundosica.github.io/tutorial_hispano_jQuery/",
"title": "Manual de jQuery",
"author": "MundoSICA, et al.",
"notes": [
"HTML, PDF"
]
}
]
},
{
"section": "Node.js",
"entries": [
{
"url": "https://www.nodebeginner.org/index-es.html",
"title": "El Libro para Principiantes en Node.js",
"author": "Manuel Kiessling, Herman A. Junge",
"notes": [
"HTML"
]
},
{
"url": "http://nodejskoans.com",
"title": "Introducción a Node.js a través de Koans",
"author": "Arturo Muñoz de la Torre",
"notes": [
"PDF"
]
}
]
},
{
"section": "React",
"entries": [
{
"url": "https://leanpub.com/react-redux/read",
"title": "Desarrollo de Aplicaciones Web con React.js y Redux.js",
"author": "Sergio Daniel Xalambrí",
"notes": [
"HTML"
]
},
{
"url": "https://es.survivejs.com",
"title": "SurviveJS - React de aprendiz a maestro",
"author": "Juho Vepsäläinen,",
"notes": [
"HTML, PDF"
]
}
]
}
]
},
{
"section": "Kotlin",
"entries": [
{
"url": "https://cursokotlin.com/curso-programacion-kotlin-android/",
"title": "Curso programación Android en Kotlin",
"author": "AristiDevs",
"notes": [
"HTML"
]
}
],
"subsections": []
},
{
"section": "LaTeX",
"entries": [
{
"url": "http://osl.ugr.es/CTAN/info/lshort/spanish/lshort-a4.pdf",
"title": "La introducción no-tan-corta a LaTeX 2ε",
"author": "Tobias Oetiker, Hubert Partl, Irene Hyna, Elisabeth Schlegl,",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Linux",
"entries": [
{
"url": "https://web.archive.org/web/20150307181233/http://library.originalhacker.org:80/biblioteca/articulo/ver/123",
"title": "BASH Scripting Avanzado: Utilizando Declare para definición de tipo",
"author": "Eugenia Bahit",
"notes": [
"descarga directa"
]
},
{
"url": "https://es.wikibooks.org/wiki/El_Manual_de_BASH_Scripting_B%C3%A1sico_para_Principiantes",
"title": "El Manual de BASH Scripting Básico para Principiantes",
"author": "WikiLibros"
},
{
"url": "https://debian-handbook.info/browse/es-ES/stable/",
"title": "El Manual del Administrador de Debian",
"author": "Raphaël Hertzog, Roland Mas",
"notes": [
"HTML"
]
}
],
"subsections": []
},
{
"section": "Lisp",
"entries": [
{
"url": "http://savannah.nongnu.org/git/?group=elisp-es",
"title": "Una Introducción a Emacs Lisp en Español",
"notes": [
"HTML"
]
}
],
"subsections": []
},
{
"section": "Matemáticas",
"entries": [
{
"url": "http://www.sage-para-estudiantes.com",
"title": "Sage para Estudiantes de Pregrado",
"author": "Gregory Bard,"
}
],
"subsections": []
},
{
"section": ".NET (C# / Visual Studio)",
"entries": [
{
"url": "http://dis.um.es/~bmoros/privado/bibliografia/LibroCsharp.pdf",
"title": "El lenguaje de programación C#",
"author": "José Antonio González Seco",
"notes": [
"PDF"
]
},
{
"url": "https://blogs.msdn.microsoft.com/cesardelatorre/2010/03/11/nuestro-nuevo-libro-guia-de-arquitectura-n-capas-ddd-net-4-0-y-aplicacion-ejemplo-en-disponibles-para-download-en-msdn-y-codeplex",
"title": "Guía de Arquitectura N-capas Orientadas al Dominio",
"author": "Cesar De la Torre",
"notes": [
"HTML"
]
}
],
"subsections": []
},
{
"section": "NoSQL",
"entries": [],
"subsections": [
{
"section": "MongoDB",
"entries": [
{
"url": "https://github.com/uokesita/the-little-mongodb-book",
"title": "El pequeño libro MongoDB",
"author": "Karl Seguin,"
},
{
"url": "https://dpdc.gitbooks.io/mongodb-en-espanol-tomo-1/content",
"title": "MongoDB en español: T1, El principio",
"author": "Yohan D. Graterol",
"notes": [
"HTML"
],
"accessNotes": ":construction: en proceso"
}
]
},
{
"section": "Redis",
"entries": [
{
"url": "https://raulexposito.com/the-little-redis-book-en-castellano.html",
"title": "El pequeño libro Redis",
"author": "Karl Seguin,",
"notes": [
"HTML, PDF, EPUB"
]
}
]
}
]
},
{
"section": "PHP",
"entries": [
{
"url": "https://www.youtube.com/playlist?list=PLfgj7DYkKH3DjmXTOxIMs-5fcOgDg_Dd2",
"title": "Domain Driven Design with PHP (Diseño guiado por Dominio con PHP)",
"author": "Carlos Buenosvinos Zamora",
"notes": [
"YouTube playlist"
]
},
{
"url": "https://web.archive.org/web/20140209203630/http://www.cursosdeprogramacionadistancia.com/static/pdf/material-sin-personalizar-php.pdf",
"title": "Manual de estudio introductorio al lenguaje PHP procedural",
"author": "Eugenia Bahit",
"notes": [
"PDF"
]
},
{
"url": "https://styde.net/php-y-programacion-orientada-a-objetos/",
"title": "PHP y Programación orientada a objetos",
"author": "Duilio Palacios",
"notes": [
"HTML"
]
},
{
"url": "https://bibliotecafacet.com.ar/wp-content/uploads/2014/12/eugeniabahitpooymvcenphp.pdf",
"title": "POO y MVC en PHP",
"author": "Eugenia Bahit",
"notes": [
"PDF"
]
},
{
"url": "https://openlibra.com/es/book/programacion-en-php-a-traves-de-ejemplos",
"title": "Programación en PHP a través de ejemplos",
"author": "Manuel Palomo Duarte, Ildefonso Montero Pérez",
"notes": [
"HTML"
]
},
{
"url": "http://rua.ua.es/dspace/bitstream/10045/13176/9/04-ajaxphp.pdf",
"title": "Programación web avanzada: Ajax y Google Maps",
"author": "Sergio Luján Mora, Universidad de Colima",
"notes": [
"PDF"
]
},
{
"url": "http://librosweb.es/libro/silex",
"title": "Silex, el manual oficial",
"author": "Igor Wiedler,",
"notes": [
"HTML"
]
},
{
"url": "http://librosweb.es/libro/symfony_1_4",
"title": "Symfony 1.4, la guía definitiva",
"author": "Fabien Potencier, François Zaninotto,",
"notes": [
"HTML"
],
"otherLinks": [
{
"title": "PDF",
"url": "https://openlibra.com/es/book/download/symfony-la-guia-definitiva"
}
]
},
{
"url": "http://librosweb.es/libro/symfony_2_4/",
"title": "Symfony 2.4, el libro oficial",
"author": "Fabien Potencier, Ryan Weaver,",
"notes": [
"HTML"
],
"otherLinks": [
{
"title": "PDF",
"url": "https://openlibra.com/es/book/download/manual-de-symfony2-ver-2-0-12"
}
]
}
],
"subsections": [
{
"section": "Symfony",
"entries": [
{
"url": "https://web.archive.org/web/20210805141343/https://symfony.com/doc/current/the-fast-track/es/index.html",
"title": "Symfony 5: La Vía Rápida"
}
]
}
]
},
{
"section": "Perl",
"entries": [
{
"url": "http://es.tldp.org/Tutoriales/PERL/tutoperl-print.pdf",
"title": "Tutorial Perl",
"author": "Juan Julián Merelo Guervós",
"notes": [
"PDF"
]
},
{
"url": "http://kataix.umag.cl/~ruribe/Utilidades/Tutorial%20de%20Perl.pdf",
"title": "Tutorial Perl",
"notes": [
"PDF"
]
},
{
"url": "http://perlenespanol.com/tutoriales/",
"title": "Tutoriales de Perl",
"author": "Uriel Lizama",
"notes": [
"HTML"
]
}
],
"subsections": []
},
{
"section": "Perl 6 / Raku",
"entries": [
{
"url": "https://uzluisf.gitlab.io/piensaperl6/",
"title": "Piensa en Perl 6",
"author": "Laurent Rosenfeld, Allen B. Downey,",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Python",
"entries": [
{
"url": "https://argentinaenpython.com/quiero-aprender-python/aprenda-a-pensar-como-un-programador-con-python.pdf",
"title": "Aprenda a pensar como un programador (con Python)",
"author": "Allen Downey, Jeffrey Elkner, Chris Meyers,",
"notes": [
"PDF"
]
},
{
"url": "https://aprendepython.es",
"title": "Aprende Python",
"author": "Sergio Delgado Quintero",
"notes": [
"HTML, PDF"
]
},
{
"url": "https://openlibra.com/en/book/download/aprendiendo-a-programar-en-python-con-mi-computador",
"title": "Aprendiendo a Programar en Python con mi Computador",
"notes": [
"PDF"
]
},
{
"url": "http://code.google.com/p/swfk-es/",
"title": "Doma de Serpientes para Niños: Aprendiendo a Programar con Python",
"notes": [
"HTML"
]
},
{
"url": "https://code.google.com/archive/p/inmersionenpython3/",
"title": "Inmersión en Python",
"notes": [
"HTML"
]
},
{
"url": "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/inmersionenpython3/inmersionEnPython3.0.11.pdf",
"title": "Inmersión en Python 3",
"author": "Mark Pilgrim,",
"notes": [
"PDF",
"descarga directa"
]
},
{
"url": "http://repositori.uji.es/xmlui/bitstream/handle/10234/24305/s23.pdf",
"title": "Introducción a la programación con Python",
"author": "Andrés Marzal, Isabel Gracia",
"notes": [
"PDF"
]
},
{
"url": "http://opentechschool.github.io/python-beginners/es_CL/",
"title": "Introducción a Programando con Python",
"author": "OpenTechSchool, et al.",
"notes": [
"HTML"
]
},
{
"url": "https://github.com/mgaitan/curso-python-cientifico#curso-de-python-para-ciencias-e-ingenierías",
"title": "Python para ciencia e ingeniería",
"author": "Martín Gaitán",
"notes": [
"GitHub"
]
},
{
"url": "http://librosweb.es/libro/python",
"title": "Python para principiantes",
"author": "Eugenia Bahit",
"notes": [
"HTML"
],
"otherLinks": [
{
"title": "PDF",
"url": "https://web.archive.org/web/20150421012120/http://www.cursosdeprogramacionadistancia.com/static/pdf/material-sin-personalizar-python.pdf"
}
]
},
{
"url": "https://launchpadlibrarian.net/18980633/Python%20para%20todos.pdf",
"title": "Python para todos",
"author": "Raúl González Duque",
"notes": [
"PDF"
]
}
],
"subsections": [
{
"section": "Django",
"entries": [
{
"url": "https://docs.djangoproject.com/es/3.2/",
"title": "Guía Oficial de Django",
"notes": [
"3.2",
"HTML"
]
},
{
"url": "https://tutorial.djangogirls.org/es/",
"title": "Tutorial de Django Girls",
"notes": [
"2.2.4",
"HTML"
]
}
]
},
{
"section": "Web2py",
"entries": [
{
"url": "http://www.web2py.com/books/default/chapter/41",
"title": "Web2py - Manual de Referencia Completo, 5a Edición",
"author": "Massimo Di Pierro,",
"notes": [
"HTML"
]
}
]
}
]
},
{
"section": "Ruby",
"entries": [
{
"url": "http://rubysur.org/aprende.a.programar",
"title": "Aprende a programar con Ruby",
"author": "RubySur",
"notes": [
"HTML"
]
},
{
"url": "https://github.com/alemohamad/ruby-style-guide/blob/master/README-esLA.md#preludio",
"title": "La Guía de Estilos de Ruby",
"author": "Ale Mohamad",
"notes": [
"GitHub"
]
},
{
"url": "https://www.ruby-lang.org/es/documentation/quickstart",
"title": "Ruby en 20 minutos",
"notes": [
"HTML"
]
},
{
"url": "http://rubytutorial.wikidot.com/introduccion",
"title": "Ruby tutorial o cómo pasar un buen rato programando",
"author": "Andrés Suárez García",
"notes": [
"HTML"
]
}
],
"subsections": [
{
"section": "Ruby on Rails",
"entries": [
{
"url": "http://rubysur.org/introduccion.a.rails/",
"title": "Introducción a Rails",
"author": "RubySur",
"notes": [
"HTML"
]
}
]
}
]
},
{
"section": "R",
"entries": [
{
"url": "http://cran.r-project.org/doc/contrib/Risk-Cartas-sobre-Estadistica.pdf",
"title": "Cartas sobre Estadística de la Revista Argentina de Bioingeniería",
"author": "Marcelo R. Risk",
"notes": [
"PDF"
]
},
{
"url": "http://cran.r-project.org/doc/contrib/Rivera-Tutorial_Sweave.pdf",
"title": "Generación automática de reportes con R y LaTeX",
"author": "Mario Alfonso Morales Rivera",
"notes": [
"PDF"
]
},
{
"url": "http://cran.r-project.org/doc/contrib/grafi3.pdf",
"title": "Gráficos Estadísticos con R",
"author": "Juan Carlos Correa, Nelfi González",
"notes": [
"PDF"
]
},
{
"url": "http://cran.r-project.org/doc/contrib/R-intro-1.1.0-espanol.1.pdf",
"title": "Introducción a R",
"author": "R Development Core Team,",
"notes": [
"PDF"
]
},
{
"url": "http://cran.r-project.org/doc/contrib/curso-R.Diaz-Uriarte.pdf",
"title": "Introducción al uso y programación del sistema estadístico R",
"author": "Ramón Díaz-Uriarte",
"notes": [
"PDF"
]
},
{
"url": "http://cran.r-project.org/doc/contrib/Saez-Castillo-RRCmdrv21.pdf",
"title": "Métodos Estadísticos con R y R Commander",
"author": "Antonio José Sáez Castillo",
"notes": [
"PDF"
]
},
{
"url": "http://cran.r-project.org/doc/contrib/Optimizacion_Matematica_con_R_Volumen_I.pdf",
"title": "Optimización Matemática con R: Volúmen I",
"author": "Enrique Gabriel Baquela, Andrés Redchuk",
"notes": [
"PDF"
]
},
{
"url": "http://cran.r-project.org/doc/contrib/rdebuts_es.pdf",
"title": "R para Principiantes",
"author": "Michel Schinz, Philipp Haller,",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "Scala",
"entries": [
{
"url": "http://www.scala-lang.org/docu/files/ScalaTutorial-es_ES.pdf",
"title": "Manual de Scala para programadores Java",
"author": "Emmanuel Paradis,",
"notes": [
"PDF"
]
},
{
"url": "https://github.com/ErunamoJAZZ/ScalaByExample-es",
"title": "Scala con Ejemplos",
"author": "Martin Odersky,",
"accessNotes": ":construction: en proceso"
}
],
"subsections": []
},
{
"section": "Scratch",
"entries": [
{
"url": "https://github.com/programamos/GuiaScratch",
"title": "Informática Creativa",
"author": "Karen Brennan, Christan Balch, Michelle Chung,",
"notes": [
"PDF"
]
},
{
"url": "http://lsi.vc.ehu.es/pablogn/docencia/FdI/Scratch/Aprenda%20a%20programar%20con%20Scratch%20en%20un%20par%20de%20tardes.pdf",
"title": "Manual de Scratch 2",
"author": "Pablo González Nalda",
"notes": [
"PDF"
]
}
],
"subsections": []
},
{
"section": "SQL",
"entries": [
{
"url": "http://jorgesanchez.net/manuales/sql/intro-sql-sql2016.html",
"title": "Manual de SQL",
"author": "Jorge Sanchez Asenjo",
"notes": [
"HTML"
]
},
{
"url": "http://www.desarrolloweb.com/manuales/9/",
"title": "Tutorial de SQL",
"notes": [
"HTML"
]
}
],
"subsections": []
},
{
"section": "Subversion",
"entries": [
{
"url": "http://svnbook.red-bean.com/nightly/es/index.html",
"title": "Control de versiones con Subversion",
"author": "Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato",
"notes": [
"HTML"
]
}
],
"subsections": []
},
{
"section": "TypeScript",
"entries": [
{
"url": "https://riptutorial.com/Download/typescript-es.pdf",
"title": "Aprendizaje TypeScript",
"author": "Compiled from StackOverflow Documentation",
"notes": [
"PDF"
]
},
{
"url": "https://khru.gitbooks.io/typescript/",
"title": "Introduccion a TypeScript",
"author": "Emmanuel Valverde Ramos",
"notes": [
"HTML"
]
},
{
"url": "https://github.com/melissarofman/typescript-book",
"title": "TypeScript Deep Dive",
"author": "Basarat Ali Syed,",
"notes": [
"HTML"
]
},
{
"url": "https://neliosoftware.com/es/blog/uso-avanzado-de-typescript/",
"title": "Uso avanzado de TypeScript en un ejemplo real",
"author": "Nelio Software",
"notes": [
"HTML"
]
}
],
"subsections": [
{
"section": "Angular",
"entries": [
{
"url": "https://rldona.gitbooks.io/angular-2-book",
"title": "Angular 2",
"author": "Raúl López",
"notes": [
"HTML"
]
},
{
"url": "https://ngchallenges.gitbook.io",
"title": "Aprendiendo Angular",
"author": "Vanessa Aristizabal",
"notes": [
"HTML"
]
},
{
"url": "https://riptutorial.com/Download/angular-es.pdf",
"title": "Aprendizaje Angular",
"author": "Compiled from StackOverflow Documentation",
"notes": [
"PDF"
]
},
{
"url": "https://riptutorial.com/Download/angular-2-es.pdf",
"title": "Aprendizaje Angular 2",
"author": "Compiled from StackOverflow Documentation",
"notes": [
"PDF"
]
},
{
"url": "https://jorgeucano.gitbook.io/entendiendo-angular/",
"title": "Entendiendo Angular",
"author": "Jorge Cano",
"notes": [],
"manualReviewRequired": true
}
]
}
]
}
]
},
{
"language": {
"code": "et",
"name": "Estonian"
},
"index": {},
"sections": [
{
"section": "Algoritmid ja andmestruktuurid",
"entries": [
{
"url": "https://dspace.ut.ee/bitstream/handle/10062/16872/9985567676.pdf",
"title": "Algoritmid ja andmestruktuurid (2003, Kolmas, parandatud ja täiendatud trükk)",
"author": "Jüri Kiho",
"notes": [
"PDF"
]
}
gitextract_i0x01oor/
├── .github/
│ ├── PULL_REQUEST_TEMPLATE.md
│ └── workflows/
│ └── parser.yml
├── .gitignore
├── LICENSE
├── README.md
├── fpb.json
├── package.json
├── public/
│ ├── index.html
│ ├── manifest.json
│ └── robots.txt
└── src/
├── App.css
├── App.js
├── App.test.js
├── components/
│ ├── LangFilters.js
│ ├── MarkdownParser.js
│ ├── ParsedLink.js
│ ├── SearchBar.js
│ └── SearchResult.js
├── darkMode.js
├── index.css
├── index.js
├── reportWebVitals.js
└── setupTests.js
SYMBOL INDEX (8 symbols across 7 files)
FILE: src/App.js
function jsonToArray (line 16) | function jsonToArray(json) {
function App (line 58) | function App() {
FILE: src/components/LangFilters.js
function LangFilters (line 4) | function LangFilters({ changeParameter, data, langCode }) {
FILE: src/components/MarkdownParser.js
function MarkdownParser (line 10) | function MarkdownParser({ file, sect }) {
FILE: src/components/ParsedLink.js
function ParsedLink (line 3) | function ParsedLink({ children, sect, href, id }) {
FILE: src/components/SearchBar.js
function SearchBar (line 3) | function SearchBar(props) {
FILE: src/components/SearchResult.js
function SearchResult (line 3) | function SearchResult({ data }) {
FILE: src/darkMode.js
function ThemeContextWrapper (line 33) | function ThemeContextWrapper(props) {
Condensed preview — 23 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (3,291K chars).
[
{
"path": ".github/PULL_REQUEST_TEMPLATE.md",
"chars": 96,
"preview": "## What does this PR do?\nAdd feature(s) | Remove feature(s) | Fix | Add info\n\n### Description\n\n\n"
},
{
"path": ".github/workflows/parser.yml",
"chars": 1250,
"preview": "name: free-programming-books-parse\n\non: \n workflow_dispatch:\n inputs:\n reason:\n required: true\n d"
},
{
"path": ".gitignore",
"chars": 5020,
"preview": "# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.\n\n##########\n# GENERAL\n##########\n\n"
},
{
"path": "LICENSE",
"chars": 1331,
"preview": "BSD 2-Clause License\n\nCopyright (c) 2022, Free Ebook Foundation\nAll rights reserved.\n\nRedistribution and use in source a"
},
{
"path": "README.md",
"chars": 3271,
"preview": "# free-programming-books-search\n\nThe free-programming-books-search is a companion project of [free-programming-books](ht"
},
{
"path": "fpb.json",
"chars": 3016357,
"preview": "{\n \"type\": \"root\",\n \"children\": [\n {\n \"type\": \"books\",\n \"index\": {},\n \"children\": [\n "
},
{
"path": "package.json",
"chars": 1245,
"preview": "{\n \"homepage\": \"https://ebookfoundation.github.io/free-programming-books-search/\",\n \"name\": \"fpb_search_page\",\n \"vers"
},
{
"path": "public/index.html",
"chars": 1653,
"preview": "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\" />\n <meta name=\"viewport\" content=\"width=device-w"
},
{
"path": "public/manifest.json",
"chars": 499,
"preview": "{\n \"short_name\": \"FPB Search\",\n \"name\": \"Free Programming Books Search\",\n \"icons\": [\n {\n \"src\": \"favicon.ico\""
},
{
"path": "public/robots.txt",
"chars": 67,
"preview": "# https://www.robotstxt.org/robotstxt.html\nUser-agent: *\nDisallow:\n"
},
{
"path": "src/App.css",
"chars": 5643,
"preview": "body {\n background-color: #fff;\n padding:50px;\n font: 14px/1.5 -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto,"
},
{
"path": "src/App.js",
"chars": 11917,
"preview": "import React, { useState, useEffect } from \"react\";\nimport axios from \"axios\";\nimport Fuse from \"fuse.js\";\nimport { useC"
},
{
"path": "src/App.test.js",
"chars": 246,
"preview": "import { render, screen } from '@testing-library/react';\nimport App from './App';\n\ntest('renders learn react link', () ="
},
{
"path": "src/components/LangFilters.js",
"chars": 2755,
"preview": "import { React, useState, useEffect } from \"react\";\nimport queryString from \"query-string\";\n\nfunction LangFilters({ chan"
},
{
"path": "src/components/MarkdownParser.js",
"chars": 2478,
"preview": "import React, { useEffect, useState } from \"react\";\nimport axios from \"axios\";\n\nimport ReactMarkdown from \"react-markdow"
},
{
"path": "src/components/ParsedLink.js",
"chars": 1409,
"preview": "import React, { useState, useEffect } from \"react\";\n\nfunction ParsedLink({ children, sect, href, id }) {\n const [folder"
},
{
"path": "src/components/SearchBar.js",
"chars": 675,
"preview": "import React, {useEffect} from \"react\";\n\nfunction SearchBar(props) {\n useEffect(() => {\n document.getElementById(\"se"
},
{
"path": "src/components/SearchResult.js",
"chars": 305,
"preview": "import React from \"react\";\n\nfunction SearchResult({ data }) {\n return (\n <li className=\"result\">\n <a href={da"
},
{
"path": "src/darkMode.js",
"chars": 1171,
"preview": "import React, { useState, createContext } from \"react\";\n\n//https://levelup.gitconnected.com/dark-mode-in-react-533faaee3"
},
{
"path": "src/index.css",
"chars": 366,
"preview": "body {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Can"
},
{
"path": "src/index.js",
"chars": 676,
"preview": "import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './App.css';\nimport App from './App';\nimport ThemeCo"
},
{
"path": "src/reportWebVitals.js",
"chars": 362,
"preview": "const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals'"
},
{
"path": "src/setupTests.js",
"chars": 241,
"preview": "// jest-dom adds custom jest matchers for asserting on DOM nodes.\n// allows you to do things like:\n// expect(element).to"
}
]
About this extraction
This page contains the full source code of the EbookFoundation/free-programming-books-search GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 23 files (2.9 MB), approximately 765.7k tokens, and a symbol index with 8 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.