Você está na página 1de 5

API’S

API – Interface de programação de aplicativos.

São instruções e padrões de programação para acesso a um aplicativo ou software.


Conectam softwares, aplicações, databases e servidores, substituindo a necessidade de
uma programação mais complexa.

API síncrona – Cada operação deve ser concluída antes da próxima ser iniciada.

API assíncrona – inicia uma operação e retorna imediatamente antes da conclusão da


operação.

THREADS

Threads compartilham conteúdo de memória, são 100x mais leves que um processo.
Podem ser consideradas processos dentro de processos. Respondem à processos ‘pais’ e
não à aplicação em si.

Operações não bloqueantes guardam informações numa pilha para serem utilizadas de
acordo com a necessidade.

Event-Loop – delega operações de entrada e saída para uma thread de forma assíncrona
e contínua.

Call-back – é um comando que fica esperando para dar um retorno imediato. A função
call-back requer uma solicitação e um objeto de resposta como argumento.

Node.js

Casos de uso mais comum:

- Aplicações em tempo real;

- Ambientes escaláveis;

- Camada de entrada do servidor;

- Mocks e protótipos (protótipos de API e serviços de backend)

Node.js

- Ambiente de execução de código JavaScript do lado do servidor (server-side);

- Arquitetura orientada a objetos;


- Tecnologia assíncrona que trabalha em uma única thread de execução;
(Assíncrona – cada requisição ao nodeJs não bloqueia o processo do mesmo.

- Diferente da maioria das linguagens que trabalha com o conceito multi-thread.


É mais fácil de programar, mas mais oneroso para o hardware, consumindo mais recursos.

- Não é uma linguagem de programação;

- Não é uma framework JavaScript (é mais como uma plataforma de aplicação)

REST – série de recursos para criar aplicações de API no modo server-side.

Manifesto – Tipo de arquivo que gerencia os padrões.

NPM - Maior depósito que existe para repositórios de software. Gerencia módulos do
node, baixando da web módulos e dependências.

Npm install ( para qualquer instalação no node)

PACKAGE.JSON – Local onde a NPM armazena os nomes e versões do pacote de


dependências instalados. (evitar instalar ferramentas redundantes).

Routes.js – Contem as informações de roteamento da aplicação.

App.js – Apenas repassa as requisições conforme regras básicas.

EXPRESS

Características do Express

- MVR (Model View Routes)

- MVC (Model View Controller) – Metódo trabalhando de forma independente.

- Roteamento de URLS via call-backs

- Middleware

- Interface RESTFUL

- Suporte a File Uploads

- Integração com Template Engines


Express é um middleware web(funcionalidade que executa processos intermediário).
Uma camada que fica entre o HTTP server criado usando o módulo HTTP do node.js e a
aplicação web interpretando requisições, aplicando regras, carregando telas, etc.

É a biblioteca subjacente para uma série de outros frameworks.

Gerencia requisitos de diferentes rotas e URLS. Combina mecanismos de renderização


de view inserindo dados em módulos. Define configurações como a porta a ser usada para
conexão e a localização dos modelos usados.

Pode ser entendido como um quadro não organizado, com a forma de importar módulos
e bibliotecas dependendo em muito das necessidades e preferências do usuário. Estrutura
de aplicativos web muito leve tendo seu maior benefício e potencial através de bibliotecas
e recursos de terceiros.

Aplicativos express podem usar qualquer mecanismo de banco de dados suportado pelo
node.

Routes – Regras para manipulação de requisições HTTP. (rotas = caminhos URL)

‘/’ – caminho raiz da aplicação.

Parâmetros do Middleware:

Req: Contém informações da requisição HTTP que disparou a function.

Res: é o objeto para enviar uma resposta ao requisitante (response.

Next: é um objeto que permite repassar a requisição para outra função manipular.

(req é a requisição e res a resposta)

No node basicamente todos os arquivos.js são módulos e basicamente todos exportam um


objeto que pode ser facilmente chamado em qualquer lugar do código.

REQUISIÇÕES HTTP

GET – sempre uma função de listagem. Uma representação será devolvida pelo servidor
em aplicações web, normalmente é retornado uma representação HTML.

POST – Cria um recurso no servidor a partir de uma representação. (formulários, por


exemplo)
PUT – Permite a atualização de um recurso no servidor.

DELETE – Remove um recurso no servidor.

GET, POST E PUT retornam um Json (Notação de objeto JavaScript – formatação leve
de troca de dados) DELETE não.

Arquivos estáticos que podem ser chamados: Imagens, códigos, folhas de estilo.

Para tornar objetos disponíveis fora do módulo é necessário atribuí-los ao objeto exports.

Ex: o módulo square.js exporta métodos área( ) e perimeter ( ). É possível importar o


módulo usando require ( ) e depois liga-lo com os métodos exportados.

Node – v → Retorna a versão do node instalada na máquina.

O mais comum é dividir o aplicativo express em arquivos com base em:

• função – gerenciamento de contas, blogs, fóruns de discussão


• e domínio de problema arquitetônico – Modelo, exibição e controlador –
arquitetura MVC

O banco de dados relacional nós teremos os dados sendo guardados em forma de tabelas.
Dentro das tabelas os dados são organizados em colunas e em cada coluna contém um
tipo de dado (strings, inteiros…). Os dados que irão para cada coluna são guardados como
suas linhas. Além disso, no modelo relacional, primeiramente toda a estrutura do banco
de dados deve ser projetada, caso os esquemas das tabelas não estejam definidos, não será
possível inserir dados nelas

NoSQL (Not Only SQL) é o termo utilizado para banco de dados não relacionais de alto
desempenho, onde geralmente não é utilizado o SQL como linguagem de consulta. O
NoSQL foi criado para ter uma performance melhor e uma escalabilidade mais horizontal
para suprir necessidades onde os bancos relacionais não são eficazes. No geral, temos 4
tipos de bancos de dados NoSQL

NOSQL

Banco de dados orientados a documentos;


O próprio documento define como deve ser apresentado e qual o significado dos dados
armazenados.

Possui identificadores únicos universais (UUID)

Ao invés de armazenar dados relacionados em uma área de armazenamento separado, os


bancos de documentos integram esses dados ao próprio documento.

URI – Identificador de recursos uniforme. São os padrões para identificação de


documentos com uma curta sequencia de números, letras e símbolos.

Evitar alterações na URI uma vez que ela esteja definida e disponibilizada.

CORS – compartilhamento de recursos com origens diferentes (permite que um site


acesse recursos de outro site.

APP.USE(CORS( )); - o parênteses vazio permite pleno acesso. Permite acessar a API
publicamente.

Inserção de campos:

Ex: title (titulo do produto com os parâmetros: )

Type: string

Required: true (campo obrigatório)

CRUD – Quatro operações básicas usadas em bacos de dados relacionais

Create - criação

Retrieve – consulta

Update – atualização (FindByIDAndUpdate)

Delete - exclusão (FindByIDAndRemove)

Você também pode gostar