No Especializado Back-End Web Development irás adquirir todos os conhecimentos teóricos e competências necessários para ingressar no mercado de trabalho e assumir uma atividade profissional ligada a competências com tecnologias de Back-end.
No final do curso, estarás apto a ingressar no mercado de trabalho enquanto profissional de Back-end Developer, Back-end Engineer, SQL Developer.
Intro
Os programadores, ou developers, têm sido dos profissionais mais procurados no mercado de trabalho, com salários acima da média.
O que torna possível o Front-end de um site? Onde estão armazenados todos os dados? O Back-End de um site consiste num servidor, uma aplicação e uma base de dados.
Um Back-End Developer constrói e mantém a tecnologia que alimenta esses componentes e que, em conjunto, permitem que o lado orientado para o utilizador do site ainda exista em primeiro lugar.
Enquanto Back-end Web Developer deverás ter o domínio de diversas ferramentas e linguagens para criar ou contribuir para o bom funcionamento de aplicações para a web com um código limpo, leve e bem documentado. Mas antes de escrever esse código, precisas de saber como colaborar com todos os Stakeholders para entender as suas necessidades específicas, traduzindo-as em requisitos técnicos e elaborando a solução mais efetiva e eficiente para a arquitetura da tecnologia a utilizar.
Porquê apostar numa carreira em Programação Web?
- Empregabilidade
O mercado está cheio de ofertas de emprego para developers de soluções web nos mais variados domínios e a possibilidade de emprego além-fronteiras é uma realidade.
- Versatilidade
Na área de desenvolvimento web tens variadas opções de carreira, ditadas pela linguagem de programação em que te especializares ou meio para o qual programares.
- Valorização
Ao complementares a tua formação de base com conhecimentos de programação estarás a valorizar o teu currículo e percurso formativo, com uma forte competência digital, que te irá distinguir enquanto profissional com visão tecnológica.
- Reconhecimento
De acordo com o relatório Tech Careers 2020 da Landing.jobs, o salário médio do perfil de programador aumentou mais do que 15% nos últimos três anos.
Por onde deves começar?
Com o curso Especializado Back-end Web Development vais:
- Dominar todos os conceitos-base necessários ao trabalho com servidores e configurações de host, integrações de dados (MySQL) e solução de problemas de back-end;
- Conhecer as melhores práticas no mercado da programação web, a nível nacional e internacional;
- Estudar as principais linguagens de programação, de estilo e interfaces/softwares usados no desenvolvimento web: PHP, Laravel, REST APIs, MongoDB e ExpressJS;
- Construir o teu portfólio profissional através dos projetos desenvolvidos ao longo do curso, para que possas demonstrar o teu know-how, criatividade e capacidade de execução às entidades empregadoras.
Por onde deves começar?
Com o curso Especializado Back-end Web Development vais:
- Dominar todos os conceitos-base necessários ao trabalho com servidores e configurações de host, integrações de dados (MySQL) e solução de problemas de back-end;
- Conhecer as melhores práticas no mercado da programação web, a nível nacional e internacional;
- Estudar as principais linguagens de programação, de estilo e interfaces/softwares usados no desenvolvimento web: PHP, Laravel, REST APIs, MongoDB e ExpressJS;
- Construir o teu portfólio profissional através dos projetos desenvolvidos ao longo do curso, para que possas demonstrar o teu know-how, criatividade e capacidade de execução às entidades empregadoras.
Objetivos
Ao terminares este curso poderás trabalhar em qualquer empresa que desenvolva (para os seus clientes internos ou externos) produtos web, desempenhando funções de:
- Back-end Developer, enquanto profissional que cria ou contribui para o bom funcionamento de aplicações para a web e mantém um código limpo, leve e bem documentado.
- Web Developer, enquanto programador especializado no desenvolvimento de sistemas para a internet, responsável pelo perfeito funcionamento de um website ou aplicação web.
Destinatários
Todos os programadores web interessados em iniciar ou consolidar uma atividade profissional como Back-end Developer.
Condições
- Taxa de inscrição: 10% do valor do curso, dedutível no valor total
- Possibilidade de pagamento faseado do restante valor para clientes particulares
- Oferta de 5% de desconto no valor total da propina mediante pronto pagamento (válida apenas para inscrições a título particular)
- Estudantes não residentes no território nacional, terão de efetuar um pagamento de 50% do valor total da propina no momento da inscrição.
- Os valores apresentados não incluem IVA. Isenção do valor do IVA a particulares.
- Para informações completas sobre os requisitos e condições financeiras disponíveis, contacte-nos através do botão Saber +
Pré-Requisitos
- Para frequentares o curso Especializado Back-End Web Development deverás ter gosto e apetência pela área de desenvolvimento, raciocínio lógico, experiência prévia em Front-End e conhecimentos de CSS e Javascript.
- Deverás ter também uma mente criativa e curiosa, orientação para a resolução de problemas e domínio do inglês.
Metodologia
Formação Presencial ou Live Training (Formação Online Síncrona).
Programa
- Bases de Dados relacionais com MySQL (15h)
- Fundamentos de Node.js e servidores (24h)
- Desenvolvimento de API’s com Express.js (30h)
- Workshop: Testes automatizados com Jest (9h)
- PHP (30h)
- Pitstop* (3h)
- Projeto: API completa com integração em bases dados* (18h)
*O projeto e pitstop decorrem no formato Live-Training.
Bases de dados relacionais com MySQL
Implementação de bases de dados usando o modelo relacional
- Conceitos de bases de dados relacionais e como desenhar base de dados, usando diagramas de entidade relação
- Conceitos de tabelas, registos, chaves, graus de relações etc.
Criação de diagramas entidade relação
- Criação de DER, para visualização da base dados
Instalação e configuração do MySQL
- Instalação e interação com MySQL
Linguagem SQL
- Uso da linguagem SQL para interagir com o MySQL
Comandos DDL
- Comandos SQL para criação de estrutura (Data Definition Language) da base dados.
- Comandos como CREATE para criação de estruturas como a própria base dados ou tabelas, comando DROP para apagar estruturas, etc.
Comandos DML
- Comandos SQL para interagir com os dados (Data Manipulation Language).
- Comandos SELECT para obter dados da base de dados e aprender aprofundadamente como este comando funciona (LIMIT, GROUP BY, HAVING, AS, etc.)
- Comando INSERT para inserir dados na base de dados.
- Comando UPDATE para atualizar dados na base de dados.
- Comando DELETE para apagar dados da base de dados.
- Filtrar dados com o comando WHERE e os seus operadores mais complexos (IN, BETWEEN, LIKE, etc.)
Junção de tabelas com JOINS
- Consultar dados que dependem de múltiplas tabelas usando o JOIN
- Diferentes tipos de JOIN e quando usar cada um deles
Subqueries
- Como criar consultas umas dentro de outras, quando é necessário criar um dataset dinâmico
Criação de VIEWS
- Como criar VIEWS para guardar consultas complexas na base de dados
Criação e execução de STORED PROCEDURES
- Como criar ações na base de dados usando STORED PROCEDURES
Fundamentos de Node.js e servidores
Fundamentos do NodeJS Instalação e configuração do NodeJS
Execução de uma aplicação no NodeJS
Diferentes tipos de módulos no NodeJS
- Core Modules
- Local Modules
- Third Party Modules
Core modules (fs, http, path, os, etc)
- Diferentes core modules incluídos no NodeJS
- Módulos como fs, para interação com o sistema de ficheiros, http para criar servidores HTTP, path para trabalhar com caminhos, etc.
Criação de aplicações web com o módulo HTTP Ligação a bases de dados MySQL
- Ligação a uma base de dados MySQL usando o NodeJS
- Conceitos de Query Builders e ORM’s no que toca a integração de aplicações web com bases de dados
Desenvolvimento de API’s com NodeJS e Express Conceitos de uma API REST
- Conceitos de uma API REST
- Estruturar uma api usando os recursos do protocolo HTTP, como os tipos de pedido e códigos de resposta
- Construção de endereços semânticos para uma boa API REST
Instalação do express.js Criação de rotas
- Criação rotas no express.js
- Diferentes tipos de rota e como agrupar rotas
- Interpretação de endereços com segmentos dinâmicos
Interpretação do pedido e da resposta HTTP
- Interpretação do pedido e da resposta HTTP
- Obter os dados enviados do cliente em JSON através do pedido HTTP, tal como responder de novo para o cliente usando a resposta HTTP, também em JSON usando o código de resposta mais adequado
Criação de middlewares
- Uso dos middlewares do express e criar os próprios middlewares
- Uso de middlewares para a organização da aplicação
Autenticação com base em tokens
- Como funciona a autenticação de uma API REST, com base em tokens
- Como funciona o envio e o processamento de um token
- Diferença entre tokens assinados e tokens persistidos
- O que é um JWT e como utilizar em conjunto com o express.js
Workshop de testes automatizados com Jest
Conceitos de testes aplicacionais
Testes unitários
- Como dividir unidades de código para que possam ser testadas individualmente
Testes de integração
- Como testar a integração de várias funcionalidades em conjunto
Testes e2e
- Testes de todo um fluxo de uma aplicação
- Divisão dos use cases da aplicação para que possam ser testados de forma autónoma
Instalação e configuração do Jest
- Instalação do Jest e a configurá-lo juntamente com um projeto Javascript, para que se possa criar os testes de seguida
Assertions
- Utilidade das assertions para que possa garantir que a funcionalidade testada funciona corretamente
Isolamento de testes
- Boas práticas de testes, isolando o ambiente de execução dos testes para que não haja contaminação
Mocks e stubs
- Conceitos conceitos de mocks e stubs, para funcionalidades que necessitam de dados simulados
Cobertura de código
PHP
- Introdução ao PHP
- Anatomia de um script
- Tipos de dados Variáveis e operadores
- Estruturas de controlo e decisão
- Gestão de erros
- Funções
- Sintaxe base
- Retornar valores
- Domínio de variáveis (scope)
- Arrays
- Introdução às arrays
- Operações (comparação, contagem, pesquisa e gestão de elementos)
- Iterações (ponteiros)
- Ordenação
- Strings
- Introdução às strings
- Comparação, pesquisa e substituição de caracteres
- Formatação
- OOP
- Declarar uma classe e criar instâncias
- Métodos e propriedades
- Interfaces
- Programação Web
- Formulários e URLs (GET, POST, Uploads)
- HTTP Headers (redireccionamento, cookies, sessões)
- Envio de emails (função mail)
- Integração com MySQL
- Abrir e fechar uma ligação ao MySQL
- Executar comandos SQL
- Processar dados da base de dados
- Streams
- Aceder a ficheiros
- Trabalhar com diretorias
Pitstop
Projeto: API completa com integração em bases dados