> For the complete documentation index, see [llms.txt](https://abb-vlaanderen.gitbook.io/abb/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://abb-vlaanderen.gitbook.io/abb/development/general-technical-overview/required-knowledge.md).

# Required knowledge

The glossary above should help you build a correct nomological network in your head. In order to work effectively for ABB (to make apps at least) you should have knowledge of the following topics. I've included some links to existing docs with each one.

If you're a total beginner don't get lost by clicking too many links. They are here as a reference.

* TCP/IP, HTTP, internet and web infrastructure is good to know
  * [Great to learn networking: Tanenbaum](https://csc-knu.github.io/sys-prog/books/Andrew%20S.%20Tanenbaum%20-%20Computer%20Networks.pdf)
* General development tools (IDE choice is your own):
  * Git
  * Github
  * JIRA
  * SSH in terminal
* Web development: HTML, CSS, Javascript, JSON
  * [W3Schools](https://www.w3schools.com/)
  * [MDN](https://developer.mozilla.org/en-US/)
  * [You don't know Javascript](https://github.com/getify/You-Dont-Know-JS)
* Backend/full stack:
  * [NodeJS](https://nodejs.org/docs/latest/api/)
  * [Javascript template container by Redpencil](https://github.com/mu-semtech/mu-javascript-template)
  * Lisp, Ruby and Elixir are also used in some cases. But this is not for beginners
  * Some basic knowledge concerning [NGINX](https://www.nginx.com/) could come in handy as well as understanding of DNS, TLS, cryptography and certificates
* Ember framework
  * [Ember docs for 5.X (newer apps)](https://guides.emberjs.com/release/)
  * [Ember docs for 3.14 (Loket and OP; pre 'octane')](https://guides.emberjs.com/v3.14.0/)
  * [Redpencil's start guide contains more links](https://docs.google.com/document/d/1volqVdqlStWxKwWFpbY_EXqFauL8xLpH6VK2iSBRgrc/)
  * [More about the CLI and build system: broccoli (newer apps)](https://cli.emberjs.com/release/advanced-use/)
* Docker and micro services
  * [Docker docs: overview](https://docs.docker.com/get-started/overview/)
    * Images, containers, networks, image repositories
  * [Docker compose](https://docs.docker.com/compose/)
  * [Redpencil video's: Masterclass on docker](https://drive.google.com/drive/u/1/folders/1BYH_PsBiycorEzNtJvJWS4riIQIZCa0s)
* Linked data, triple stores virtuoso and SPARQL:
  * [Book suggestion: The working ontologist](https://www.google.be/books/edition/Semantic_Web_for_the_Working_Ontologist/_qGKPOlB1DgC?hl=en)
  * [Redpencil video's: Masterclass on virtuoso and SPARQL](https://drive.google.com/drive/u/1/folders/1BYH_PsBiycorEzNtJvJWS4riIQIZCa0s)
  * [W3C about RDF](https://www.w3.org/wiki/RDF)
  * [W3C about SPARQL](https://www.w3.org/wiki/SPARQL)
  * [SPARQL Spec](https://www.w3.org/TR/sparql11-query/)
  * [W3C about RDFS](https://www.w3.org/wiki/RDFS)
  * [W3C about n-triples](https://www.w3.org/TR/n-triples/)
  * [W3C about n-quads](https://www.w3.org/TR/n-quads/)
  * [W3C about turtle](https://www.w3.org/TR/https://www.w3.org/TR/turtle//)
  * [Openlink Virtuoso universal server docs](https://docs.openlinksw.com/virtuoso/)
  *
