Backend Developer Guide
The guide to boost your career
Below you will find content to guide you and help you become a back-end developer. If you already work as a back-end developer, check out the repositories to discover new tools for your day-to-day life, the paths you can take and the technologies to incorporate into your stack to become an updated and differentiated professional in the back-end, make good use of the guide and good studies!
Follow us on social media for more content:
? Donations
Hello! If you're reading this, you're probably already familiar with my GitHub repository, which offers free content to help developers improve their skills. And if you're here, perhaps you're considering contributing a donation to support the project's continuation.
- Click here to make a donation! ?
If you want to contribute, there are several options available, including PayPal, PagSeguro, Mercado Pago, Buy Me A Coffe, Pic Pay and Pix. Any donation, no matter how small, is extremely welcome and will be used responsibly and transparently. Thank you for considering supporting my project! Together, we can continue to share knowledge and help create a stronger, more collaborative developer community.
E-Book
This repository is a free project for the developer community. You can help me by purchasing the "e-Front" e-book if you are interested in learning or improving your front-end development skills. The e-book is complete and covers essential technologies such as HTML, CSS, JavaScript, React, TypeScript and more. The value is symbolic and your purchase helps me produce and provide more free content to the community. Get it now and start your journey in front-end development.
- eFront - Studying Front-end Development from Scratch. Click here to buy
️ Important notice
First of all, you can help me and collaborate, it took a lot of work to create this repository and organize it to make your study or work better, so you can help me in the following ways
- Follow me on Github
- Access Guia Dev Brasil’s social networks
- Send feedback on LinkedIn
? Copyright
This project took the roadmaps made by the roadmap.sh project as a reference to create. the creation of this repository.
- Roadmap.sh - Roadmap.sh website where you will find several roadmaps in English.
- Official Project Repository - Official project repository in English.
Our proposal
The purpose of this guide is to provide study content and tools to guide you if you are confused about what to learn next, not to influence you to follow the 'hypes' and 'trends' of the moment. We believe that with greater knowledge of the different structures and solutions available, you will be able to choose the tool that best applies to your demands. And remember, 'hypes' and 'trends' are not always the best options.
? For those just starting out
Don't be scared by the amount of content presented in this guide. I believe that those who are starting out can use it not as an objective, but as support for their studies. At this point, focus on what gives you productivity and mark the rest as See later . As your knowledge becomes broader, this guide tends to make more sense and be easier to assimilate. Happy studying and get in touch whenever you want! ?
Collaborate
- Open Pull Requests with updates
- Discuss ideas in Issues
- Share the repository with your community
? Translation
If you wish to follow this repository in a language other than Brazilian Portuguese, you can choose the language choices below. You can also collaborate with the translation into other languages and corrections of possible spelling errors, the community is grateful.
・English — Click Here
・Spanish — Click Here
・Chinese — Click Here
・Hindi — Click Here
・Arabic — Click Here
・French — Click Here
・Italian — Click Here
・Korean — Click Here
・Russian — Click Here
・German — Click Here
・Japanese — Click Here
INDEX
?️ Backend roadmap
? Linux
? Git & Github
? HTTP
? APIs
? HTML
? CSS
? JavaScript
? Python
? Java
? W
? C++
? W#
? R
? Kotlin
? Golang
? PHP
? TypeScript
? Ruby
?❄️ Grunt
? Gulp.js
? Moon
? Django
? Node.js
? Ext.js
? MongoDB
? PostgreeSQL
? SQL
? MySQL
? ASP.net
? Raspberry Pi
? AWS Cloud
? Artificial intelligence
? Machine Learning
? Data Science
? NumPy
? Pandas
? SciPy
? Matplotlib
? Statistic
? XML
?️ XML AJAX
? XML DOM
? XML DTD
? XML Schema
? XSLT
? XPath
? XQuery
? Rest API
? Json API
? Docker
? Architectural patterns
Book recommendation
Tools & Challenges
?️ Backend roadmap
◾Linux
Linux is a term popularly used to refer to operating systems or operating systems that use the Linux Kernel. The core was developed by Finnish programmer Linus Torvalds.
- Best Linux distros for programmers - Below is the list of the best Linux distros for programmers, directly from the general Dev Brazil Guide archive.
- Guia Foca - GuiaFoca is a guide that ranges from basic explanations about computers and the GNU/Linux system to system administration and security. The topics in the guide are explained in clear language and organized in a linear and didactic manner, avoiding technical terms at the initial levels, until the user gradually becomes accustomed to using them.
- Distro Information - Information and updates about distros.
- Linux Courses - Linux courses to guide you from basic to advanced.
◾ Git & Github
Git is a distributed version control system used primarily in software development, but can be used to record the edit history of any type of file.
- Git - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- Git4Noobs - The idea is to teach beginner users that Git is not a "monster" to learn and also to teach how to use it in an environment where there is more than one developer working on the project without disorganizing or losing any trace of code in the process.
- Getting to know Git's super powers - Guide with selection of commands for working with Git and GitHub
- Learn Git - Learn how to use Git and its commands through this site.
- Git School - Git School, various tools to train and learn Git.
- Git Flow Cheatsheet - This cheatsheet demonstrates the basic usage and effect of git-flow operations
- Git & Github Courses - Git & Github Courses from the Guia Dev Brasil general repository
◾ HTTP
The Hypertext Transfer Protocol, acronym HTTP, is a communication protocol used for hypermedia, distributed and collaborative information systems. It is the basis for data communication on the World Wide Web.
- MDN - HTTP - MDN Web Docs is Mozilla's official website for web standards development
◾ APIs
The concept of API is nothing more than a form of communication between systems. They allow integration between two systems, in which one of them provides information and services that can be used by the other, without the need for the system that consumes the API to know software implementation details, APIs allow the end user to use an application , software or even a simple spreadsheet, querying, changing and storing data from different systems, without the user needing to access them directly.
- MDN - APIs - MDN Web Docs is Mozilla's official website for developing web standards
- Public APIs - A collective list of free APIs for use in software and web development
◾HTML
HTML (HyperText Markup Language) is the most basic building block of the web. Defines the meaning and structure of web content. Technologies other than HTML are generally used to describe the appearance/presentation (CSS) or functionality/behavior (JavaScript) of a web page, so HTML is an essential language for you who want to become a front-end developer.
- MDN - HTML - MDN Web Docs is Mozilla's official website for web standards development
- HTML Courses - HTML Courses from the general repository of Guia Dev Brasil
◾ CSS
CSS (Cascading Style Sheets) is a mechanism for adding style to a web document. CSS code can be applied directly to tags or contained within <style> tags. It is also possible, instead of placing the formatting within the document, to create a link to a CSS file that contains the styles.
- MDN - CSS - MDN Web Docs is Mozilla's official website for developing web standards
- CSS Courses - CSS Courses from the general repository of Guia Dev Brasil
◾ JavaScript
JavaScript is a structured, high-level scripting, weakly dynamically typed, multi-paradigm interpreted programming language. Along with HTML and CSS, JavaScript is one of the three main technologies of the World Wide Web.
- MDN - JavaScript - MDN Web Docs is Mozilla's official website for web standards development
- JavaScript Courses - JavaScript courses from the Guia Dev Brasil general repository
◾ Python
Python is a high-level, script-interpreted, imperative, object-oriented, functional, dynamically typed, and strong programming language. One of the uses of Python is to automate tasks, however, the language also allows you to collect, organize and save information from pages on the internet; monitor social networks; build a website or app; create games; run machine learning algorithms; create artificial intelligence (AI) applications, among others
- Python - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- Python language documentation - Official Python language documentation in PT-BR
- Python Courses - Python courses directly from the Guia Dev Brasil general repository.
◾ Java
Java is an object-oriented programming language. Java lets you run games, upload photos, chat online, take virtual tours, and use services such as online training, online banking, and interactive maps. If you don't have Java, many applications and websites simply won't work, learn Java and program on any platform: One of the great advantages of Java is that, in addition to being a language, it is a development platform. With it, you can develop applications for desktop, cell phone, card, web, digital television, etc.
- Java - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- Java language documentation - Java documentation is in English but you can use an extension or Google Translate to translate
- Learn Java Programming in Detail - Scaler Topics - Scaler Topics provides programming articles related to Python, Java, Data Structures, C/C++ and other popular programming languages with easy-to-follow tutorials and example programs.
- Java Courses - Java courses directly from the general repository of Guia Dev Brasil.
◾C
C is a general purpose, structured, imperative, procedural compiled programming language, standardized by the International Organization for Standardization, the C language can be easily found in major games on the current market, image and video editors, robots, automation systems, and also many operating systems are programmed entirely or partially in C, such as Windows, Linux and Mac OS.
- C - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- C language documentation - Official documentation of the C language in PT-BR
- C Courses - C Courses directly from the general repository of Guia Dev Brasil
◾ C++
C++ is a general-purpose, multi-paradigm compiled programming language used for the development of embedded systems, graphic libraries, games, operating systems, among others, allowing you to develop everything from simple tasks such as command line or web applications, to complex real-time systems, widely used in the financial market. In academic teaching, it is widely accepted because it covers high- and low-level languages and is open source.
- C++ - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- C++ language documentation - Official C++ language documentation in PT-BR
- C++ Courses - C++ Courses directly from the general repository of Guia Dev Brasil
- C++ Tutorial for Beginners - Learn C++ for Beginners. This tutorial consists of complete step by step C++ topics.
◾ C#
C# is a strongly typed, multi-paradigm programming language developed by Microsoft as part of the .NET platform. Its object-oriented syntax was based on C++ but includes many influences from other programming languages, such as Object Pascal and, mainly, Java.
- C# language tour - A little more about the C# language and what it can do.
- C# - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- C# language documentation - Official C# language documentation in PT-BR
- C# Courses - C# Courses directly from the general repository of Guia Dev Brasil
◾ R
R is a multi-paradigm object-oriented programming language, functional programming, dynamic, weakly typed, aimed at manipulating, analyzing and visualizing data. Therefore, the R programming language helps in the collection, treatment and transformation of this data. Additionally, she is responsible for helping implement algorithms to perform statistical analysis, inference models, regression, and data visualization.
- R - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- R language documentation - Official documentation for the R language, not available in PT-BR but can be translated into the language of your choice using Google translate.
- R Courses - R Courses directly from the general repository of Guia Dev Brasil
◾ Kotlin
Kotlin is a static, open-source programming language that supports object-oriented and functional programming. Kotlin provides similar syntax and concepts from other languages, including C#, Java, and Scala, among many others, and is a programming language widely used by Android developers everywhere.
- Kotlin - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- Kotlin language documentation - Official documentation for the Kotlin language, not available in PT-BR but can be translated into the language of your choice using Google translate.
- Kotlin Courses - Kotlin Courses directly from the general Guia Dev Brasil repository
◾Go
Golang is an explicitly designed language intended to solve problems with existing languages and tools while natively leveraging modern hardware architectures. It was designed not only with developer teams in mind, but also with long-term maintenance teams.
- GO - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- GO language documentation - Official GO language documentation, not available in PT-BR but can be translated into the language of your choice using Google translate.
- GO Courses - GO courses directly from the general Guia Dev Brasil repository.
◾ PHP
PHP (a recursive acronym for PHP: Hypertext Preprocessor) is a widely used, general-purpose open source scripting language especially suited for web development and that can be embedded within HTML.
- PHP - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- PHP language documentation - Official PHP language documentation in PT-BR
- PHP Courses - PHP courses directly from the general Guia Dev Brasil repository.
◾ TypeScript
It is a tool that allows you to write code, carrying out object-oriented programming without losing its advantages. When compiling TypeScript code, JavaScript code is generated, and this code is what will be executed in the browser
- TypeScript - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- TypeScript language documentation - Official documentation for the TypeScript language, not available in PT-BR but can be translated into the language of your choice using Google translate.
- TypeScript Course - TypeScript courses directly from the general Guia Dev Brasil repository.
◾ Ruby
Ruby is a relatively new programming language. It is interpreted multi-paradigm, has dynamic typing and even has automatic memory management. It is also a multiplatform language, thus being supported by different types of operating systems, Windows, Linux, among others. Many famous applications use Ruby, such as the websites Airbnb and SoundCloud, the social network Twitch and the series and film streaming website Hulu. Ruby can be very useful, as it can be used to create different desktop programs.
- Ruby in 20 minutes - This is a short Ruby tutorial that shouldn't take you more than 20 minutes to complete.
- Ruby language documentation - Official Ruby language documentation in PT-BR
- Ruby Courses - Ruby Courses directly from the general Guia Dev Brasil repository.
◾Grunt
Grunt is a JavaScript task runner, a tool used to automatically perform frequent tasks such as minification, compilation, unit testing, and fluff. It uses a command-line interface to perform custom tasks defined in a file.
- Grunt Documentation - Official Grunt documentation in English.
- Grunt Courses - Grunt Courses directly from the general Dev Brazil Guide repository.
◾ Gulp js
Gulp. js is a JavaScript task automation tool. Tasks such as minifying, optimizing and compiling files, which are so repetitive and necessary for development, can be automated with Gulp.
- Gulp Documentation - Official Gulp documentation in English.
- Gulp.js Courses - Gulp.js Courses directly from the general Dev Brazil Guide repository.
◾ Moon
Lua is an interpreted programming language, with high-level scripting, with dynamic and multiparadigm typing, reflective and lightweight, designed by Tecgraf from PUC-Rio in 1993 to expand applications in general, in an extensible way, for prototyping and to be embedded in complex software, such as games.
- Lua language documentation - Official documentation of the Lua language in PT-BR.
- Lua Courses - Lua Courses directly from the general repository of Guia Dev Brasil.
◾Django
Django is a framework for rapid web development, written in Python, which uses the model-template-view pattern, used in large companies such as Instagram, Mozilla and Pinterest, the Django Framework attracts attention from Python developers because it allows the creation of web applications with highly optimized processes.
- Django - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- Django Documentation - Django documentation in English.
- Django Courses - Django Courses directly from the general Guia Dev Brasil repository.
◾Node JS
The Node. js is a runtime environment on standard port 80, based on the open web stack (HTML, CSS and JS). In other words, it is a platform on which it is possible to create Javascript applications without depending on a browser for execution. Its single-thread execution does not require a response to each request.
- Node.js - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- Node.js Documentation - Node.js documentation in English.
- Node.js Courses - Node.js Courses directly from the general Dev Brazil Guide repository.
◾Ext JS
ExtJS is a pure Java Script application framework that works in any browser, from IE6 to the latest version of Chrome. It allows you to create the best cross-platform applications using nothing but a browser, and it has a phenomenal API.
- Ext.js Documentation - Official ExtJS documentation in English.
- Ext.js Courses - Ext.js Courses directly from the general Guia Dev Brasil repository.
◾ MongoDB
MongoDB is a free, open source, cross-platform document-oriented database software written in the C++ language. Classified as a NoSQL database program, MongoDB uses JSON-like documents with schemas.
- MongoDB Documentation - Official MongoDB Documentation in English.
- MongoDB Courses - MongoDB Courses directly from the general Dev Brazil Guide repository.
◾ PostgreeSQL
PostgreSQL is an object-relational database management system based on POSTGRES, Version 4.2, developed at the University of California at Berkeley's Department of Computer Science, which pioneered many concepts that became available in some databases commercials later.
- PostgreeSQL Documentation - Official PostgreeSQL Documentation in English
- PostgreeSQL documentation in PT-BR - PostgreeSQL documentation in PT-BR
- PostgreeSQL Courses - PostgreeSQL courses directly from the general Dev Brazil Guide repository.
◾ SQL
Structured Query Language, or Structured Query Language, or SQL, is the standard declarative query language for relational databases. Many of SQL's original features were inspired by relational algebra.
- SQL - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- SQL Documentation - Official SQL Documentation in English
- SQL Courses - SQL courses directly from the general repository of Guia Dev Brasil.
◾ MySQL
MySQL is a database management system that uses the SQL language as an interface. It is currently one of Oracle Corporation's most popular database management systems, with more than 10 million installations worldwide.
- MySQL - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- MySQL Documentation - Official MySQL Documentation in English
- MySQL Courses - MySQL courses directly from the general repository of Guia Dev Brasil.
◾ Nestjs
Nestjs is a framework that allows you to create efficient and scalable node applications. It uses Express behind the scenes, but it is also compatible with Fastify. Its architecture is very similar to Angular.
- Nest - Official documentation.
- Train Web - Hellow World with Nest.
- EZDevs - Basic tutorial on a CRUD with Nest and Mongo.
- Youtube - Video tutorial from basic to advanced (For beginners).
◾ ASP net
ASP.NET is Microsoft's platform for developing Web applications and is the successor to ASP technology. It allows, through a programming language integrated into the .NET Framework, to create dynamic pages. It is neither a programming language like VBScript, PHP, nor a web server like IIS or Apache.
- ASP - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- ASP.net Documentation - Official PostgreeSQL Documentation in PT-BR.
- ASP.net Courses - ASP.net Courses directly from the general repository of Guia Dev Brasil.
◾ Raspberry Pi
Raspberry Pi is a series of small-sized, cross-platform, single-board mini-computers with integrated components that connect to a computer monitor or television, and use a standard keyboard and mouse.
- Raspberry Pi - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- Raspberry Pi Documentation - Official PostgreeSQL Documentation in English
- Raspberry Pi Course - Raspberry Pi Courses directly from the general Guia Dev Brasil repository.
◾ AWS Cloud
Amazon Web Services, also known as AWS, is a platform of cloud computing services, which form a cloud computing platform offered by Amazon.com. Services are offered in various geographic areas throughout the world.
- AWS Cloud - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- AWS Documentation - Official Lua language documentation in English.
- AWS Cloud - Escola da Nuvem - Escola da Nuvem is a non-profit civil society organization that prepares students for cloud careers and connects them with potential employers.
- AWS Courses - AWS courses directly from the general Guia Dev Brasil repository.
◾ Artificial intelligence
Artificial intelligence is human-like intelligence displayed by software systems, and is also a field of academic study.
- IA - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- Artificial intelligence - What is AI? - Topic about what artificial intelligence is.
- Artificial Intelligence Courses - Artificial Intelligence Courses directly from the general repository of Guia Dev Brasil.
◾ Machine Learning
Machine learning or automatic learning or also machine learning or machine learning is a subfield of engineering and computer science that evolved from the study of pattern recognition and the theory of computational learning in artificial intelligence.
- Machine Learning - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- Azure Machine Learning documentation - Official documentation on Machine Learning in PT-BR.
- Machine Learning Courses - Machine Learning Courses directly from the general Guia Dev Brasil repository.
◾ Data Science
Data science is an interdisciplinary area focused on the study and analysis of structured and unstructured economic, financial and social data, which aims to extract knowledge, detect patterns and/or obtain insights for possible decision making.
- Data Science - W3School - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- Tools and organization in a Data Science project - Tools and organization to put into practice in a Data Science project.
- Data Science Courses - Data Science Courses directly from the general repository of Guia Dev Brasil.
◾ NumPy
NumPy is a library for the Python programming language, which supports the processing of large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these matrices.
- NumPy - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- NumPy Documentation - Official NumPy documentation in English.
- NumPy Courses - NumPy Courses directly from the general Dev Brazil Guide repository.
◾ Pandas
In computer programming, pandas is a software library created for the Python language for data manipulation and analysis. In particular, it offers structures and operations for manipulating numerical tables and time series. It is free software under the BSD license.
- Pandas - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- Pandas Documentation - Official Pandas documentation in English.
- Pandas Courses - Pandas Courses directly from the general repository of Guia Dev Brasil.
◾ SciPy
SciPy is an Open Source library in Python language that was made for mathematicians, scientists and engineers. It is also named after a popular scientific programming conference with Python. Its core library is NumPy which provides convenient and fast manipulation of an N-dimensional array.
- SciPy - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- SciPy Documentation - Official SciPy documentation in English.
- SciPy Courses - SciPy Courses directly from the general Dev Brasil Guide repository.
◾ Matplotlib
Matplotlib is a software library for creating graphs and general data visualizations, made for and in the Python programming language and its NumPy mathematics extension. Originally created by American biologist and neuroscientist John D
- Matplotlib - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- Matplotlib Documentation - Official Matplotlib documentation in English.
- Matplotlib Courses - Matplotlib Courses directly from the general Guia Dev Brasil repository.
◾ Statistics
Statistics is the science that uses probabilistic theories to explain the frequency of occurrence of events, both in observational studies and in experiments to model randomness and uncertainty in order to estimate or enable the prediction of future phenomena, as appropriate.
- Statistics - W3Schools - W3Schools is an educational website focused on learning web technologies. Its content includes tutorials and references related to different languages.
- Statistics Courses - Statistics Courses directly from the General Repository of the Dev Brazil Guide.
◾ xml
XML is a W3C recommendation to generate marking languages for special needs. It is one of the SGML subtypes capable of describing various types of data. Its main purpose is the ease of sharing information through the internet.
- XML - W3Schools - W3Schools is an educational site focused on learning web technologies. Its content includes tutorials and references related to various languages.
- XML Documentation - Official XML documentation in PT -BR.
- XML Courses - XML Courses directly from the General Repository of the Dev Brasil Guide.
◾ xml ajax
Ajax is the methodological use of technologies such as JavaScript and XML, provided by browsers, to make web pages more interactive with the user, using asynchronous information requests. It was initially developed by the scholar Jessé James Garret and later by various associations.
- XML AJAX - W3Schools - W3Schools is an educational site focused on learning web technologies. Its content includes tutorials and references related to various languages.
- AJAX - MDN - Official Ajax documentation in PT -BR.
- AJAX COURSES - XML AJAX courses directly from the General Repository of the Dev Brasil Guide.
◾ XML DOM
The XML document object (document object model (DM) is a representation in the memory of an XML document. The gift allows you to read, manipulate and programming an XML document. The Xmlreader class also reads XML. However, it provides non -stored access in cache, only referral and reading only.
- XML DOM - W3Schools - W3Schools is an educational site focused on learning web technologies. Its content includes tutorials and references related to various languages.
- Document Object Model (DOM) - Official XML Dom Documentation in PT -BR.
- DOM COURSES - DOM XML Courses directly from the General Repository of Guia Dev Brasil.
◾ XML DTD
A definition of document type is a set of marking statements that define a type of document for a SGML family marking language. A document type definition defines the lawful building blocks of an XML document.
- XML DTD - W3Schools - W3Schools is an educational site focused on web technology learning. Its content includes tutorials and references related to various languages.
- Documents with DTDs - PT -BR DTD Documents from UFRJ.
- DTD XML Courses - DTD XML Courses directly from the General Repository of the Dev Brazil Guide.
◾ XML Schema
XML Schema is a language based on XML format to define validation rules in XML format documents. It was the first scheme language for XML to obtain the recommendation status from W3C. This language is an alternative to DTD, whose syntax is not based on XML format.
- XML SCHEMA - W3SCHOOLS - W3SCHOOLS is an educational site focused on learning web technologies. Its content includes tutorials and references related to various languages.
- XML Schema for XML Documents - Study on XML Schema for XML documents.
- XML Courses - Schema XML Courses directly from the General Repository of the Dev Brazil Guide.
◾ XSLT
XSL Transformations, or XSLT, is an XML marking language used to create XSL documents that, in turn, define the presentation of XML documents in browsers and other applications that support them. It is important to note that the XSL document does not change the original XML document, ie it does not create another document.
- XLST - W3Schools - W3Schools is an educational site focused on learning web technologies. Its content includes tutorials and references related to various languages.
- Introduction to XSLT - Introduction to XSLT in PT -BR
- XSLT Courses - XSLT Courses directly from the General Repository of the DEV BRAZIL Guide.
◾ xpath
XPath, XML Path Language, is a consultation language to select us from an XML document. In addition, Xpath can be used to compute values of the content of an XML document. XPath was defined by the World Wide Web Consortium
- XPATH - W3Schools - W3Schools is an educational site focused on learning web technologies. Its content includes tutorials and references related to various languages.
- XPATH Documentation - Official XPath documentation in PT -BR.
- XPATH Courses - XPath courses directly from the General Repository of the Dev Brazil Guide.
◾ xQuery
XQuery is a consultation language, with some programming features, which is designed to make queries at XML data collections. It is semantically similar to SQL. XQuery was developed by the W3C XML Query Working Group. It was developed in collaboration with XSLT 2.0 by the XSL working group.
- XQuery - W3Schools - W3Schools is an educational site focused on learning web technologies. Its content includes tutorials and references related to various languages.
- XQuery Documentation - Official XQuery documentation in PT -BR.
- XQuery Courses - XQuery Courses directly from the General Repository of the Dev Brazil Guide.
◾ API REST
Representative State Transfer, in Portuguese State Representational Transfer, is a software architecture style that defines a set of restrictions to be used for web service creation.
- What is API REST? - What is an API REST and how does it work?
- REST API COURSES - REST API COURSES DIRECTLY FROM THE GUIDE GUIDE GUIDE BRAZIL.
◾ API JSON
The JSON API is a format that works with http. It describes how customers should request or edit data from a server and how the server should respond to these requests.
- A specification for building APIs in JSON - Specification for building APIs in JSON
- JSON API Courses - JSON API Courses directly from the General Repository of Guia Dev Brasil.
◾ Docker
Docker is a platform products set as a service that use operating system level virtualization to deliver software to packages called containers. Containers are isolated from each other and group their own software, libraries and configuration files.
- Docker 101 Tutorial - In this practical and individualized tutorial, you will learn how to create images, run containers, use volumes to persist data and assemble in the source code and define your application using Docker Composis. You will even learn about some advanced topics, such as recommended network creation and image practices.
- Docker documentation - Docker documentation in English.
- Docker Courses - Docker courses directly from the General Repository of Guia Dev Brasil.
◾ Architecture standards
An architecture pattern is a general and reusable solution to a problem that often occurs in software architecture within a given context. Architecture patterns are similar to software design patterns, but have a broader scope
- Refactoring Guru - Design patterns
- What are the types of software architecture and how to choose the best for your project - best types of software architecture.
◾ Book recommendation
- Clean Code
- Refactoring - Refactoring
- Clean Architecture - Clean Architecture
- The pragmatic programmer
◾ Tools and Challenges
Sites to train back-end projects
- Dev Challenge Back-End - Train your skills with Back-end challenges
- HackerRank - Back-end Programming Challenges. Integrated IDE
- CoderByte - Back-end Programming Challenges. Integrated IDE
- CodeWars - Back-end Programming Challenges. Integrated IDE
- Coding Games - Back-end Programming Challenges with a focus on gaming themes. Integrated IDE
- Edabit - Back-end Programming Challenges. Integrated IDE
- ChallengeRocket - Back-end Programming Challenges. Integrated IDE
- CodeForces - Back-end Programming Challenges with compilation and testing done by the platform but without an integrated IDE
- CodeSignal - Back-end Programming Challenges. Integrated IDE
- Codility - Back-end Programming Challenges. Integrated IDE
- CSES - Back-end Programming Challenges. Integrated IDE
- DailyCodingProblem - Back-end Programming Challenges sent by email. Premium Problem Solution
- Exercism.io - Back-end Programming Challenges. No integrated IDE. Requires CLI download.
- LeetCode - Back-end Programming Challenges. Integrated IDE
- BinarySearch - Back-end Programming Challenges. Integrated IDE
- CodeAbbey - Back-end Programming Challenges. Integrated IDE
- ProjectEuler - Back-end Programming Challenges focused on mathematical problems. Integrated IDE
- Sphere Onlune Judge (SPOJ) - Back-end Programming Challenges with compilation and testing done by the platform but without an integrated IDE
- TopCoder - Back-end Programming Challenges and Arena. Integrated IDE
- URI/Beecrowd - Back-end Programming, mathematical and SQL challenges. Integrated IDE