Pular para o conteúdo principal

2 postagens marcadas com "NodeJS"

Ver todas os Marcadores

· Leitura de 6 minutos
Anderson Marlon

"É normal questionar se TypeScript é ou não uma linguagem de programação por algumas razões. Primeiramente, TypeScript é um superset de JavaScript, o que significa que é uma extensão da sintaxe e recursos da linguagem JavaScript."

Afinal, TypeScript é uma linguagem de programação?

É normal questionar se TypeScript é ou não uma linguagem de programação por algumas razões. Primeiramente, TypeScript é um superset de JavaScript, o que significa que é uma extensão da sintaxe e recursos da linguagem JavaScript.

No entanto, é importante entender que, embora o TypeScript compile em JavaScript, ele é uma linguagem de programação de alto nível que possui suas próprias características, como a tipagem estática, sua própria sintaxe, recursos e compilador.

Passo a passo para iniciar um projeto

  1. Certifique-se de ter o Node.js instalado em sua máquina.
  2. Abra um terminal e navegue até o diretório onde você deseja criar o seu projeto.
  3. Execute o seguinte comando para criar um novo projeto com o npm:
npm init
  1. Em seguida, instale o TypeScript como uma dependência de desenvolvimento:
npm install -g typescript
  1. Crie um arquivo de configuração do TypeScript chamado tsconfig.json. Este arquivo contém as opções de configuração do TypeScript para o seu projeto. Você pode criar este arquivo manualmente ou executar o seguinte comando para criar um arquivo padrão:
npx tsc --init

Agora você pode começar a escrever código TypeScript em arquivos com a extensão .ts

O que é tipagem estática?

A tipagem estática é uma característica do TypeScript que permite definir o tipo de dados de uma variável durante a sua declaração. Isso ajuda a identificar erros de tipos em tempo de compilação, antes que o código seja executado, evitando assim erros de programação que podem causar bugs e afetar o funcionamento do software.

Em JavaScript, podemos definir uma variável com a palavra-chave "const" sem especificar seu tipo.

const idade = 21;

Já em TypeScript, podemos definir o tipo da variável "idade" como "number", da seguinte forma:

const idade: number = 21;

Isso significa que a variável "idade" só pode armazenar valores do tipo "number". Caso tentemos atribuir um valor de um tipo diferente a essa variável, como por exemplo uma string, o TypeScript detectará um erro em tempo de compilação e sinalizará um aviso.

No entanto, é importante ressaltar que mesmo que o código não apresente erros de compilação, ainda podem ocorrer comportamentos inesperados durante a execução. Precisamos lembrar que todo o código TypeScript é removido no processo de compilação e o servidor em produção rodará o código JavaScript resultante. Portanto, declarar um tipo em TypeScript não implica que um valor de tipo diferente aparecerá na variável durante a execução do programa.

Tipos de Dados: Primitivos e Não-Primitivos

Os tipos de dados primitivos são valores básicos e simples que representam dados diretamente. Esses tipos incluem number, string, boolean, null, undefined, symbol, e bigint.

Por outro lado, os tipos de dados não primitivos são complexos e não representam diretamente valores, mas sim referências a objetos que contêm valores. Esses tipos incluem object, array, function, e class.

Type VS Interface

Essa é uma discussão imensa na comunidade e por isso decidi exemplificar o que são e deixar você decidir como usar.

Basicamente, um type é uma forma de definir uma estrutura de dados, que pode ser usado para definir o tipo de uma variável, função, parâmetro ou qualquer outra coisa que tenha um tipo.

export type Metrics = "px" | "em" | "rem" | "vh" | "vw" | "%";

Já uma interface é uma forma de definir uma estrutura de dados que descreve a forma ou formato que um objeto deve ter. Ela define um conjunto de propriedades que um objeto deve ter, bem como os tipos dessas propriedades.

As interfaces podem ser usadas para descrever objetos, classes, funções e outros tipos de estruturas de dados.

export interface Genre {
id: number;
name: string;
}

As principais diferenças entre os dois são:

  • Flexibilidade: Type é mais flexível e permite a definição de tipos complexos, como uniões (demonstrado no exemplo acima), tipos de diferença e inferência de tipos. Já as interfaces são mais restritas e têm como objetivo principal definir a estrutura de objetos.

  • Herança: Tanto as interfaces quanto os tipos são capazes de oferecer herança, porém as interfaces possuem uma sintaxe mais amigável e suportam a união de diversas interfaces em uma única, enquanto os tipos usam o operador Union para criar um novo tipo a partir da união de outros tipos existentes.

  • Nomenclatura: Em geral, interfaces são usadas para representar objetos, enquanto type é usado para representar qualquer tipo de dados, incluindo objetos.

type Animal = {
name: string;
eat: (food: string) => void;
}

type Dog = Animal & {
breed: string;
bark: () => void;
}
interface Animal {
name: string;
eat(food: string): void;
}

interface Dog extends Animal {
breed: string;
bark(): void;
}

Como tipar Objetos e Funções

Para tipar objetos, podemos utilizar interfaces. Interfaces são uma forma de definir um conjunto de propriedades e tipos que um objeto deve ter. Por exemplo, para definir um objeto que representa uma pessoa com nome e idade, podemos fazer:

interface Pessoa {
nome: string;
idade: number;
}

Neste exemplo, definimos a interface Pessoa com duas propriedades: nome, que é uma string, e idade, que é um número. Agora, podemos utilizar essa interface para tipar um objeto que representa uma pessoa:

const pessoa: Pessoa = {
nome: "Justin",
idade: 30
};

Assim, garantimos que o objeto pessoa possui as propriedades e tipos definidos na interface Pessoa.

Para tipar uma função, é necessário especificar os tipos dos seus parâmetros e também o tipo do seu retorno. Por exemplo, para definir uma função que recebe dois parâmetros numéricos e retorna a soma desses valores, podemos fazer:

function soma(a: number, b: number): number {
return a + b;
}

Neste exemplo, utilizamos a sintaxe : number para especificar que a função retorna um valor numérico.

Referências

Ao escrever este artigo, foi dada a devida importância em utilizar fontes confiáveis de informação, visando garantir a precisão e a relevância do conteúdo abordado. A única fonte utilizada foi a documentação oficial do TypeScript.

· Leitura de 5 minutos
Anderson Marlon

"Realizar o update NodeJS com certa frequência é o melhor caminho para ter acesso a todas as novidades que são lançadas de tempos em tempos no software. "

Afinal, assim como acontece com outras tecnologias de código-aberto, o NodeJS está em constante evolução, seja para aumentar a estabilidade e segurança da ferramenta ou, então, para corrigir bugs e adicionar novas features.

Sim, saber como atualizar Node é importantíssimo. A boa notícia é que existem muitos métodos que podem ser usados com esse propósito – portanto, não há desculpas para ficar para trás. Para ajudá-lo nessa missão, reunimos algumas das maneiras mais simples e eficazes para realizar o update NodeJS para a versão mais recente em máquinas Linux, Windows e MacOS.

Antes de começarmos, temos uma dica: verifique qual versão do NodeJS você está usando atualmente. Isso pode ser feito executando node -v em um terminal!

Três formas de dar update NodeJS em máquinas Linux

Quando o assunto é atualizar Node Linux, há três formas principais com as quais isso pode ser feito. Na sequência, daremos detalhes sobre cada uma delas.

Meu node/npm não está instalado

Apenas execute esse comando, ele irá instalar uma versão antiga do node, já considerada deprecated ou desatualizada, mas como iremos atualizar em seguida, não terá problema.

O comando cURL é:

curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs

Usando nvm

O Node Version Manager, mais conhecido como NVM, é de longe a melhor maneira para se dar update NodeJS em máquinas Linux.

Para isso, você precisará de um compilador de C++, do pacote build-essential e da biblioteca libssl-dev. Rode um update primeiro para depois instalar os pacotes, de acordo com os comandos abaixo:

Atualização: sudo apt-get update

Instalação dos pacotes: sudo apt-get install build-essential checkinstall libssl-dev

Para instalar ou atualizar o NVM, por sua vez, você pode conseguir o script de instalação usando o cURL: curl -o https://raw.githubusercontent.com/creationix/nvm/v0.35.2/install.sh | bash

Após fechar e abrir o terminal, você poderá verificar se a instalação foi um sucesso rodando: nvm -v

Se tudo tiver ocorrido da forma esperada, o comando irá retornar a versão do nvm. Depois de configurar, você verá que dar update NodeJS será bem mais fácil!

Além disso, você pode verificar quais versões estão atualmente instaladas com o comando no terminal nvm ls e ver o que está disponível para instalação usando o nvm ls-remote.

Baixe, instale e compile versões mais recentes do NodeJS com nvm install #.#.#. Lembrando que é preciso substituir os #s pela versão do NodeJS desejada.

Já para verificar qual é a versão mais recente, basta acessar o site do NodeJS.

Usando um gerenciador de pacotes

Se o NVM não funcionou para você ou prefere um jeito mais tranquilo, um gerenciador de pacotes é agora o seu melhor caminho.

O Node Package Manager, ou NPM, pode te ajudar a descobrir, compartilhar e usar código, junto com dependências. E o melhor de tudo é que o NodeJS já vem com o NPM pré-instalado, porém, ele é atualizado com mais frequência que o Node.

Para verificar qual é a sua versão atual, basta rodar npm -v no terminal. Na sequência, rode npm install npm@latest g para instalar a versão mais recente (caso já não esteja usando-a) e npm –v novamente, para ter certeza de que a atualização deu certo.

Após essa etapa, será o momento de finalmente realizar o sonhado update NodeJS. E, para isso, você precisará instalar um módulo do NPM chamado “n”.

Portanto, para limpar o cache do NPM, instalar o módulo “n” e instalar a mais recente versão do NodeJS, rode as seguintes linhas de código no seu terminal:

sudo npm cache clean -f

sudo npm install -g n

sudo n stable

Para você instalar a versão mais recente, seja estável ou não, rode sudo n latest. Outra alternativa é rodar n #.#.#, para atualizar NodeJS para uma versão específica.

Usando pacotes binários

Vamos ser honestos, você provavelmente não quer seguir este caminho…

Mas, se as outras opções não deram certo e você estiver desesperado, existe a possibilidade de ir para a página oficial de downloads para conseguir um pacote binário 32-bit ou 64-bit para dar update NodeJS ou instalar.

Você pode instalar o pacote pelo próprio browser, mas, caso prefira usar o terminal, tenha em mente que a versão específica do Node pode mudar enquanto atualizações forem lançadas. wget https://nodejs.org/dist/node-latest.tar.gz

Para descompactar o arquivo, você precisará instalar o pacote xz-utils. Portanto, rode o seguinte comando no seu terminal:
sudo apt-get install xz-utils

Já para instalar o pacote binário em /usr/local, rode: tar -C /usr/local –strip-componentes 1 -xJf node-latest.tar.gz

Agora que você tem o Node e o NPM em mãos, considere dar uma nova chance para a opção 2 na próxima vez que for atualizar Node Linux.

Update NodeJS no Windows e no macOS

Agora que já explicamos como atualizar Node no Linux, partiremos para a segunda parte deste conteúdo, que é voltada para quem utiliza Windows ou MacOS.

Você pode começar essa jornada acessando a página de downloads do Node, afinal, lá é possível encontrar pacotes binários para atualizar Node Windows e para o MacOS.

Usar os pré-instaladores, com extensão .msi para o Windows e .pkg para o macOS, é o melhor caminho para tornar o processo de instalação e update do NodeJS muito mais fácil e eficiente! Basta fazer o download, rodar o arquivo e deixar o instalador cuidar de todo o resto! Com cada update instalado, as novas versões do NodeJS e do NPM vão repor as versões mais velhas.

Alternativamente, os usuários de macOS podem também usar a opção do npm e do módulo “n” e os usuários Windows, caso possuam WSL, também usar a opção do npm e do módulo “n”.