- Java 8
Métodos Default: Me permite adcionar metodos na interface sem precisar fazer alterações
nas classes que extendem a interface uma vez que elas não precisam herdar este metodo.
- Java 8
Funções Lambda: Função anonima, não precisa dar um nome um tipo de
retorno e nem um modificador de acesso. Voce declara o método no mesmo
lugar que vai usar. Não esta ligada a nem uma classe e pode ser passada como
argumento para um método ou guardada em uma variavel.
Seu objetivo é diminuir o codigo.
Passando expressão lambda como parametro para o metodo
- Java 9 REPL
●Jshell: É uma ferramenta para testar os codigos, não precisa criar um
projeto ou a classe main nele você faz testes rapidos.
- Java 9 Modularização
●Permite isolar as bibliotecas
●Melhora o encapsulamento podendo declarar quais componentes são publicos e quais
não são
●Torna mais facil a manutenção e desenvolvimento
●Isto também melhora o desempenho dos aplicativos
Fazendo Requisição e Exportando
●Requires: funciona igual um import.
●Exports: exporta os objetos públicos do módulo
- Java 10
● Inferência de tipos para variáveis locais
● Não precisamos definir o tipo de variavel local, o java faz isto automaticamente após definir
como var.
- Java 10
● Garbage-Collector Interface
● Ele gerencia a memória recuperando espaços que não estão mais
sendo usados, na prática, isso significa que agora é muito mais fácil
excluir um GC de uma compilação do JDK, além de facilitar a
inclusão de um novo GC sem afetar o código já existente.
- Java 11
● Anotações de tipo em expressões lambda
● A mudança da sintax agora passa a permitir definir a variavel como var dentro da
expressão lambda, então oque era assim:
(valor, conversorMoeda) -> conversorMoeda.converter(valor);
Agora passar a ser assim:
(var valor, var conversorMoeda) -> conversorMoeda.converter(valor);
- Java 11
● Aprimoramento o launcher do Java
● Por exemplo, se um arquivo chamado HelloWorld.java contém uma classe chamada
hello.World, então o comando abaixo vai compilar e executar o HelloWorld
●java HelloWorld.java.
- HTTP
●HyperText Transfer Protocol
● É um padrão de escrita para que cliente e servidor possam se comunicar atravez de
requisições e respostas.
- Métodos HTTP
●Get: Requisita um recurso expecifico por exp: XML ou Json.
●Head: Retorna o cabeçalho sem o corpo.
● Post: Envia uma entidade ou requisita que o servidor aceite.
● Put: Requisita que um entidade seja armazenada embaixo da URI fornecida. Se a URI se refere
a um recurso que já existe, ele é modificado, se a URI não aponta para um recurso existente,
então o servidor pode criar o recurso.
● Delete: Apaga o recurso especificado.
● Trace: Chama de volta a requisição recebida para ver se sofreu alguma alteração ou se foi
adcionado algo por servidores intermediarios.
●Options: Retorna os métodos HTTP que o servidor suporta para a URL especificada.
● Connect: Converte a requisição de conecxão para facilitar a comunicação criptografada atravez
de um proxy HTTP não criptografado.
- Códigos HTTP
●Os códigos http tem 3 dígitos sendo que o primeiro define a qual das 5 categorias ele
pertence.
●1xx: Informativo – a solicitação foi aceita ou o processo continua em andamento.
●2xx: Confirmação – a ação foi concluída ou entendida.
●3xx: Redirecionamento – indica que algo mais precisa ser feito ou precisou ser feito
para completar a solicitação.
●4xx: Erro do cliente- indica que a solicitação não pode ser concluída ou contém a
sintaxe incorreta.
●5xx: Erro no servidor – o servidor falhou ao concluir a solicitação.
- Principais códigos de erro HTTP
● Erro 403 – Forbidden é o erro “Proibido”. Isso significa que o servidor entendeu a solicitação do
navegador mas se recusa a fazê-lo, pois o navegador não possui autorização para isso.
● Erro 404 - Quando você digita uma URL e recebe a mensagem ERROR 404 – PAGE NOT
FOUND quer dizer que esta URL não te levou a lugar nenhum. Os motivos podem ser que a página
não existe mais, a URL deste site mudou ou você digitou a URL errada.
● Erro 500 - Erro 500 significa que algum script ou solicitação não foi compreendida – o que nem
sempre indica um problema com o servidor. Os motivos podem ser arquivos .htaccess corrompidos,
permissões de arquivo incorreto, tempo limite de script, versão do PHP incompatível ou
atualizações do WordPress.
● Erro 503 - significa serviço temporariamente indisponível pode ser causado por plugins e temas
bugados, servidor com recursos insuficientes e até ataques de negação de serviço entre outras coisas.
- HTTPS
● HTTPS é uma implementação do protocolo HTTP sobre uma camada adicional
de segurança que utiliza o protocolo SSL/TLS. Essa camada adicional permite que
os dados sejam transmitidos por meio de uma conexão criptografada e que se
verifique a autenticidade do servidor e do cliente por meio de certificados digitais.
- SOA(Arquitetura Orientada a Serviços)
●É um processo de desenvolvimento de softwares e serviços, organizando informações ou
recursos que são disponibilizados em forma de serviços. Ela apenas sugere propõe e define
informações de serviço pode ser considerada uma filosofia arquitetural.
● Vantagens
● Aumento de Produtividade
● Organização de Serviços
● Redução de custos
● Facilidade de Gerenciar tudo
● Características
● Compartilham de um contrato formal
● Seus serviços são reutilizáveis
● Possuem um baixo acoplamento
● São autônomos
- MicroService
● São pequenas aplicações ou ferramentas(Serviços) de um sistema que trabalha de forma
independente
● Características
● São pequenos
● Autônomos
● Independentes de tecnologia
● Normalmente tem um DB independente para
cada serviço
●Vantagens
● Se um serviço cai, o software não tera um
impacto prejudicial tão grande e poderá
continuar em funcionamento.
● Aplicação Descentralizada
● Fácil Manutenção
● Equipes podem trabalhar simultaneamente
- Ilustração
- Versionamento de contratos
● Versionamento de api serve para não termos um quebra de comunicação
entre servidor e cliente.
● Temos 2 modos de fazer isto pela URL e pelo Header.
- URL
● Url é um endereço virtual que indica onde esta oque o usuario esta procurando, pode
ser um arquivo, uma maquina, um site ou uma pasta.
●Versionando pela URL:
●Tem três maneiras de fazer isso: subdomínio, path ou query string.
● Subdomínio: você especifica a versão logo no início da URL:
● https://api-v1.meusite/carro
● Path: você especifica a versão após a base URL:
● https://api.meusite/v1/carro
● Query String:
● https://api.meusite/carro?version=1.0&pais=brasil
- Header
●Accept:
●https://api.minhagastronomia/vinhos
●Accept: application/vnd.gastronomia.v2+json
●Tambem podemos usar o Header customizado:
●https://api.minhagastronomia.com/vinhos
●api-version: 2

Apres s3

  • 1.
    - Java 8 MétodosDefault: Me permite adcionar metodos na interface sem precisar fazer alterações nas classes que extendem a interface uma vez que elas não precisam herdar este metodo.
  • 2.
    - Java 8 FunçõesLambda: Função anonima, não precisa dar um nome um tipo de retorno e nem um modificador de acesso. Voce declara o método no mesmo lugar que vai usar. Não esta ligada a nem uma classe e pode ser passada como argumento para um método ou guardada em uma variavel. Seu objetivo é diminuir o codigo.
  • 3.
    Passando expressão lambdacomo parametro para o metodo
  • 4.
    - Java 9REPL ●Jshell: É uma ferramenta para testar os codigos, não precisa criar um projeto ou a classe main nele você faz testes rapidos.
  • 5.
    - Java 9Modularização ●Permite isolar as bibliotecas ●Melhora o encapsulamento podendo declarar quais componentes são publicos e quais não são ●Torna mais facil a manutenção e desenvolvimento ●Isto também melhora o desempenho dos aplicativos
  • 6.
    Fazendo Requisição eExportando ●Requires: funciona igual um import. ●Exports: exporta os objetos públicos do módulo
  • 7.
    - Java 10 ●Inferência de tipos para variáveis locais ● Não precisamos definir o tipo de variavel local, o java faz isto automaticamente após definir como var.
  • 8.
    - Java 10 ●Garbage-Collector Interface ● Ele gerencia a memória recuperando espaços que não estão mais sendo usados, na prática, isso significa que agora é muito mais fácil excluir um GC de uma compilação do JDK, além de facilitar a inclusão de um novo GC sem afetar o código já existente.
  • 9.
    - Java 11 ●Anotações de tipo em expressões lambda ● A mudança da sintax agora passa a permitir definir a variavel como var dentro da expressão lambda, então oque era assim: (valor, conversorMoeda) -> conversorMoeda.converter(valor); Agora passar a ser assim: (var valor, var conversorMoeda) -> conversorMoeda.converter(valor);
  • 10.
    - Java 11 ●Aprimoramento o launcher do Java ● Por exemplo, se um arquivo chamado HelloWorld.java contém uma classe chamada hello.World, então o comando abaixo vai compilar e executar o HelloWorld ●java HelloWorld.java.
  • 11.
    - HTTP ●HyperText TransferProtocol ● É um padrão de escrita para que cliente e servidor possam se comunicar atravez de requisições e respostas.
  • 12.
    - Métodos HTTP ●Get:Requisita um recurso expecifico por exp: XML ou Json. ●Head: Retorna o cabeçalho sem o corpo. ● Post: Envia uma entidade ou requisita que o servidor aceite. ● Put: Requisita que um entidade seja armazenada embaixo da URI fornecida. Se a URI se refere a um recurso que já existe, ele é modificado, se a URI não aponta para um recurso existente, então o servidor pode criar o recurso. ● Delete: Apaga o recurso especificado. ● Trace: Chama de volta a requisição recebida para ver se sofreu alguma alteração ou se foi adcionado algo por servidores intermediarios. ●Options: Retorna os métodos HTTP que o servidor suporta para a URL especificada. ● Connect: Converte a requisição de conecxão para facilitar a comunicação criptografada atravez de um proxy HTTP não criptografado.
  • 13.
    - Códigos HTTP ●Oscódigos http tem 3 dígitos sendo que o primeiro define a qual das 5 categorias ele pertence. ●1xx: Informativo – a solicitação foi aceita ou o processo continua em andamento. ●2xx: Confirmação – a ação foi concluída ou entendida. ●3xx: Redirecionamento – indica que algo mais precisa ser feito ou precisou ser feito para completar a solicitação. ●4xx: Erro do cliente- indica que a solicitação não pode ser concluída ou contém a sintaxe incorreta. ●5xx: Erro no servidor – o servidor falhou ao concluir a solicitação.
  • 14.
    - Principais códigosde erro HTTP ● Erro 403 – Forbidden é o erro “Proibido”. Isso significa que o servidor entendeu a solicitação do navegador mas se recusa a fazê-lo, pois o navegador não possui autorização para isso. ● Erro 404 - Quando você digita uma URL e recebe a mensagem ERROR 404 – PAGE NOT FOUND quer dizer que esta URL não te levou a lugar nenhum. Os motivos podem ser que a página não existe mais, a URL deste site mudou ou você digitou a URL errada. ● Erro 500 - Erro 500 significa que algum script ou solicitação não foi compreendida – o que nem sempre indica um problema com o servidor. Os motivos podem ser arquivos .htaccess corrompidos, permissões de arquivo incorreto, tempo limite de script, versão do PHP incompatível ou atualizações do WordPress. ● Erro 503 - significa serviço temporariamente indisponível pode ser causado por plugins e temas bugados, servidor com recursos insuficientes e até ataques de negação de serviço entre outras coisas.
  • 15.
    - HTTPS ● HTTPSé uma implementação do protocolo HTTP sobre uma camada adicional de segurança que utiliza o protocolo SSL/TLS. Essa camada adicional permite que os dados sejam transmitidos por meio de uma conexão criptografada e que se verifique a autenticidade do servidor e do cliente por meio de certificados digitais.
  • 16.
    - SOA(Arquitetura Orientadaa Serviços) ●É um processo de desenvolvimento de softwares e serviços, organizando informações ou recursos que são disponibilizados em forma de serviços. Ela apenas sugere propõe e define informações de serviço pode ser considerada uma filosofia arquitetural. ● Vantagens ● Aumento de Produtividade ● Organização de Serviços ● Redução de custos ● Facilidade de Gerenciar tudo ● Características ● Compartilham de um contrato formal ● Seus serviços são reutilizáveis ● Possuem um baixo acoplamento ● São autônomos
  • 17.
    - MicroService ● Sãopequenas aplicações ou ferramentas(Serviços) de um sistema que trabalha de forma independente ● Características ● São pequenos ● Autônomos ● Independentes de tecnologia ● Normalmente tem um DB independente para cada serviço ●Vantagens ● Se um serviço cai, o software não tera um impacto prejudicial tão grande e poderá continuar em funcionamento. ● Aplicação Descentralizada ● Fácil Manutenção ● Equipes podem trabalhar simultaneamente
  • 18.
  • 19.
    - Versionamento decontratos ● Versionamento de api serve para não termos um quebra de comunicação entre servidor e cliente. ● Temos 2 modos de fazer isto pela URL e pelo Header.
  • 20.
    - URL ● Urlé um endereço virtual que indica onde esta oque o usuario esta procurando, pode ser um arquivo, uma maquina, um site ou uma pasta. ●Versionando pela URL: ●Tem três maneiras de fazer isso: subdomínio, path ou query string.
  • 21.
    ● Subdomínio: vocêespecifica a versão logo no início da URL: ● https://api-v1.meusite/carro ● Path: você especifica a versão após a base URL: ● https://api.meusite/v1/carro ● Query String: ● https://api.meusite/carro?version=1.0&pais=brasil
  • 22.
    - Header ●Accept: ●https://api.minhagastronomia/vinhos ●Accept: application/vnd.gastronomia.v2+json ●Tambempodemos usar o Header customizado: ●https://api.minhagastronomia.com/vinhos ●api-version: 2