O dicionário do programador (completo)

COMPARTILHAR:

Neste artigo mostraremos o dicionário do programador-desenvolvedor de forma completa para você entender os principais termos técnicos de tecnologias que envolvem o mundo do desenvolvimento de software.

Jamstack? Docker? HOME? Sem servidor?

Que diacho é isso que todo mundo tá falando???

Se você é novo nesse negócio de desenvolvimento de software e fica confuso com algumas das palavras que as pessoas usam quando falam sobre desenvolvimento software, então continue porque aqui, estarei compilando as palavras e frases mais comuns relacionadas a desenvolvimento software. 

Claro, vai levar muito mais tempo para aprender os detalhes de cada uma das coisas que mencionarei. Cada uma das palavras e frases será resumida para dar uma ideia do que essas palavras e frases significam, para que você possa entender o que as pessoas estão referindo quando falam sobre certas áreas de desenvolvimento software.

Parte 1: O essencial

Front-end

A parte de um aplicativo ou site com a qual o usuário interage diretamente.

Back-end

A parte de um aplicativo ou site com a qual o usuário não pode ver ou interagir diretamente.

Full-stack

A totalidade de um aplicativo ou site da Web, incluindo o front-end e o back-end.

DOM

O Document Object Model (DOM) é uma interface de programação para documentos da web. Ele representa a página para que os programas possam alterar a estrutura, o estilo e o conteúdo do documento.

API

API significa: Interface de Programação de Aplicativos. Seu objetivo é fornecer uma maneira para que os programas acessem e troquem dados facilmente.

Criptografia

O processo de conversão de informações ou dados em um código, especialmente para impedir o acesso não autorizado.

Descriptografar

Enquanto a criptografia converte informações em um código, o objetivo da descriptografia é converter o código da mesma informação de volta à sua forma original.

HTTP

Protocolo de Transferência de Hipertexto, o protocolo de transferência de dados usado na World Wide Web.

HTTPS

Basicamente o mesmo que HTTP, mas usa métodos de criptografia para proteger os dados transmitidos de e para páginas da web.

CI / CD

CI / CD significa: Integração Contínua, Entrega Contínua e o objetivo dos sistemas CI / CD é entregar alterações de código para um aplicativo ou site da Web com mais frequência e confiabilidade.

UI

UI significa: Interface do usuário. Os desenvolvedores de IU tentam tornar a interface de um site fácil de usar e navegar.

UX

UX significa: Experiência do Usuário. Os desenvolvedores de UX se concentram em tornar o design de um site mais atraente para seus visitantes.

Serverless

Conforme escrito no blog do cloudflare: A computação sem servidor é um método de fornecer serviços de back-end conforme o uso. Um provedor sem servidor permite que os usuários escrevam e implantem código sem o incômodo de se preocupar com a infraestrutura subjacente. Uma empresa que obtém serviços de back-end de um fornecedor sem servidor é cobrada com base em sua computação e não precisa reservar e pagar por uma quantidade fixa de largura de banda ou número de servidores, pois o serviço é escalonado automaticamente. Observe que, apesar do nome sem servidor, os servidores físicos ainda são usados, mas os desenvolvedores não precisam estar cientes deles.

Operações de back-end

Estas são operações executadas no back-end porque consomem muito tempo ou memória para o front-end, ou essas operações simplesmente não podem ser executadas no front-end porque exigem bibliotecas ou frameworks que funcionam apenas no Processo interno.

Request/Response (Solicitação / Resposta)

A maneira como o front-end e o back-end se comunicam por meio de solicitações e respostas. Um script de front-end pode solicitar dados do back-end e um script no back-end pode enviar esses dados como uma resposta.

Cache

O cache é onde os dados podem ser armazenados temporariamente em um navegador ou computador para economizar tempo ao carregar os mesmos dados repetidamente sempre que necessário.

Command-line (Linha de comando)

linha de comando é uma interface para digitar comandos diretamente no sistema operacional de um computador. Esta é a maneira mais direta e rápida de realizar operações no sistema operacional de um computador, como iniciar um servidor PHP, criar diretório, executar scripts, alterar permissões de arquivo e muito mais.

Máquina virtual

Uma máquina virtual é um sistema de computador que emula uma máquina física remota para realizar operações nessa máquina, como hospedar um site da Web ou armazenar dados.

AWS

AWS, que significa: Amazon Web Services, é atualmente o maior provedor dessas máquinas virtuais, além de muitos outros serviços, como armazenamento de arquivos.

Banco de dados

Um banco de dados é uma coleção estruturada de dados; na maioria das vezes, os bancos de dados são necessários para armazenar grandes volumes de dados do usuário.

Parte 2: o mais avançado

XML

XML significa eXtensible Markup Language ou Linguagem de Marcação Estendida. XML desempenha um papel importante em muitos sistemas de TI diferentes e é frequentemente usado para distribuir dados pela Internet. 

JSX

JSX significa JavaScript XML. JSX permite que você escreva HTML no ReactJS.

JSON

JSON é um acrônimo para JavaScript Object Notation. É um formato padrão aberto, que é leve e baseado em texto, projetado explicitamente para o intercâmbio de dados legíveis por humanos. É um formato de dados independente do idioma. Ele oferece suporte a quase todos os tipos de linguagem, estrutura e biblioteca.

Firewall

Um sistema de segurança de rede que monitora e controla o tráfego de entrada e saída da rede com base em regras de segurança predeterminadas.

Endereço IP

Um endereço IP é uma string exclusiva de caracteres que identifica cada computador que usa o protocolo da Internet para se comunicar em uma rede. Os endereços IP vêm em 2 tipos: IPv4 e IPv6.

Os endereços IPv4

IPv4 (IP versão 4) são inteiros de 32 bits que serão expressos em notação decimal. Exemplo: 192.0.2.126 pode ser um endereço IPv4. Os endereços IPv4 são os mais comuns.

IPv6

IPv6 (IP versão 6) é a versão aprimorada do IPv4. Os endereços IPv6 são mais exclusivos do que os endereços IPv4 e, portanto, oferecem mais variações de endereço. Além de oferecer mais endereços, o IPv6 também implementa recursos não presentes no IPv4. Ele simplifica os aspectos de configuração de endereço, renumeração de rede e anúncios de roteador ao alterar os provedores de conectividade de rede.

Servidor Proxy

Este é um servidor que atua como intermediário entre um cliente e seu servidor de destino. Um servidor proxy pode permitir que você faça solicitações da Web por meio de um endereço IP diferente. Os proxies são usados ​​mais popularmente em VPNs e são úteis se você deseja ocultar sua localização, dados pessoais ou sua identidade geral na web.

VPN

VPN significa “rede privada virtual”. As VPNs protegem sua conexão com a Internet e privacidade online. Eles criam um túnel criptografado para seus dados, protegem sua identidade online ocultando seu endereço IP usando servidores proxy e permitem que você use hotspots Wi-Fi públicos com segurança.

Nginx

Nginx, pronunciado como “engine-ex”, é um servidor da web de código aberto usado para processar solicitações da web.

Apache

Apache é o software de servidor da web mais amplamente usado, semelhante ao Nginx.

Jamstack

Jamstack é uma arquitetura projetada para tornar a web mais rápida, segura e fácil de escalar. Ele se baseia em muitas das ferramentas e fluxos de trabalho que os desenvolvedores amam, como o ReactJS. Os princípios básicos de pré-renderização e desacoplamento permitem que sites e aplicativos sejam entregues com mais confiança e resiliência do que nunca.

Sudo

Sudo, que significa “SuperUser DO”, é usado para acessar arquivos e operações restritas. Por padrão, os sistemas Linux restringem o acesso a certas partes do sistema, evitando que arquivos confidenciais sejam comprometidos. O comando sudo eleva temporariamente os privilégios, permitindo que os usuários concluam tarefas confidenciais sem efetuar login como usuário root.

Web Scraping

Web Scraping é o processo de extração de dados de sites externos. Algumas das bibliotecas de Web Scraping mais populares incluem: Puppeteer , Selenium e BeautifulSoup .

Git

Git é usado para rastrear alterações em arquivos e diretórios. Git é geralmente usado para coordenar o trabalho entre desenvolvedores que desenvolvem código-fonte de forma colaborativa durante o desenvolvimento de software.

Cron jobs

Cron jobs são jobs agendados pelo back-end para serem executados em intervalos definidos. Cron jobs são usados ​​principalmente para gerenciar jobs de back-end criados por usuários por meio do front-end.

Web Design

Responsivo Web design responsivo, também conhecido como design RWD, é uma abordagem de design moderno que permite que sites sejam renderizados (ou exibidos) em todos os dispositivos e tamanhos de tela, adaptando-se automaticamente à tela, seja um desktop, laptop, tablet ou smartphone.

MySQL

MySQL é um sistema de gerenciamento de banco de dados relacional (RDBMS) desenvolvido pela Oracle que é baseado em linguagem de consulta estruturada (SQL). Um banco de dados é uma coleção estruturada de dados. Pode ser qualquer coisa, desde uma simples lista de compras a uma galeria de fotos ou um local para armazenar grandes quantidades de informações em uma rede corporativa.

NoSQL

NoSQL é famoso por sua alta funcionalidade e facilidade de desenvolvimento com desempenho em escala. NoSQL é chamado de banco de dados não relacional. Ele não segue as regras dos sistemas de gerenciamento de banco de dados relacional (RDBMS) e, portanto, não usa instruções SQL tradicionais para consultar dados. 2 exemplos famosos de sistemas NoSQL são MongoDB e Neo4J .

Variáveis ​​de ambiente

Uma variável de ambiente é uma variável cujo valor é definido fora de um programa, normalmente por meio do sistema operacional. As variáveis ​​de ambiente eliminam a necessidade de definir e redefinir variáveis ​​por meio de programas.


Parte 3: As linguagens, ferramentas e estruturas

ReactJS

Você provavelmente já ouviu falar muito sobre o React no dev.to, mas o que exatamente é o ReactJS?

React é atualmente a estrutura de front-end javascript mais popular.
Desenvolvido pelo Facebook em 2013, React é usado para construir interfaces de usuário interativas.

AngularJS

Angular é uma plataforma de desenvolvimento, construída em TypeScript. Como plataforma, o Angular inclui:

Uma estrutura baseada em componentes para a construção de aplicativos da web escaláveis
Uma coleção de bibliotecas bem integradas que cobrem uma ampla variedade de recursos, incluindo roteamento, gerenciamento de formulários, comunicação cliente-servidor e muito mais.

Um conjunto de ferramentas de desenvolvedor para ajudá-lo a desenvolver, construir, teste e atualize seu código
Com o Angular, você está aproveitando as vantagens de uma plataforma que pode ser dimensionada de projetos de desenvolvedor único a aplicativos de nível empresarial. O Angular foi projetado para tornar a atualização o mais direta possível, portanto, aproveite as vantagens dos desenvolvimentos mais recentes com um mínimo de esforço.

Docker

Docker é uma plataforma de software que permite construir, testar e implantar aplicativos rapidamente. O Docker empacota o software em unidades padronizadas chamadas contêineres que têm tudo o que o software precisa para ser executado, incluindo bibliotecas, ferramentas do sistema, código e tempo de execução. Usando o Docker, você pode implantar e dimensionar aplicativos rapidamente em qualquer ambiente e saber que seu código será executado.

Kubernetes

Kubernetes é uma plataforma portátil, extensível e de código aberto para o gerenciamento de cargas de trabalho e serviços em contêineres.

O nome Kubernetes se origina do grego, significando timoneiro ou piloto. K8s como uma abreviatura resulta da contagem das oito letras entre o “K” e o “s”. O Google abriu o código do projeto Kubernetes em 2014. O Kubernetes combina mais de 15 anos de experiência do Google executando cargas de trabalho de produção em escala com as melhores ideias e práticas da comunidade.

Rust

Rust é uma linguagem de programação estaticamente tipada projetada para desempenho e segurança, especialmente simultaneidade segura e gerenciamento de memória.

TensorFlow

TensorFlow é uma plataforma de código aberto de ponta a ponta para aprendizado de máquina. Ele tem um ecossistema abrangente e flexível de ferramentas, bibliotecas e recursos da comunidade que permite aos pesquisadores impulsionar o estado da arte em ML e aos desenvolvedores criar e implantar facilmente aplicativos baseados em ML.

Solidity

Solidity é uma linguagem de programação de chaves estaticamente tipadas, projetada para o desenvolvimento de contratos inteligentes que rodam no Ethereum.

Laravel

Laravel é um framework PHP com sintaxe expressiva e elegante. É o framework PHP mais popular.

A linguagem Go

Go é uma linguagem de programação desenvolvida inicialmente no Google no ano de 2007 por Robert Griesemer, Rob Pike e Ken Thompson. É uma linguagem estaticamente tipada com sintaxe semelhante à de C. Ela fornece coleta de lixo, segurança de tipo, capacidade de tipagem dinâmica, muitos tipos integrados avançados, como matrizes de comprimento variável e mapas de valor-chave. Ele também fornece uma rica biblioteca padrão. A linguagem de programação Go foi lançada em novembro de 2009 e é usada em alguns dos sistemas de produção do Google.

jQuery

jQuery é uma biblioteca JavaScript rápida, pequena e rica em recursos. Ele torna as coisas como passagem e manipulação de documentos HTML, tratamento de eventos, animação e AJAX muito mais simples com uma API fácil de usar que funciona em vários navegadores. Com uma combinação de versatilidade e extensibilidade, o jQuery mudou a maneira como milhões de pessoas escrevem JavaScript.

AJAX

Ajax significa Asynchronous Javascript And XML. Ajax é apenas um meio de carregar dados do servidor e atualizar seletivamente partes de uma página da web sem recarregar a página inteira.

Basicamente, o que AJAX faz é usar o objeto XMLHttpRequest (XHR) interno do navegador para enviar e receber informações de e para um servidor web de forma assíncrona, em segundo plano, sem bloquear a página ou interferir na experiência do usuário.

O Ajax se tornou tão popular que dificilmente você encontrará um aplicativo que não use o Ajax até certo ponto. O exemplo de alguns aplicativos on-line em grande escala com Ajax são: Gmail, Google Maps, Google Docs, YouTube, Facebook, Flickr e muitos mais.

NodeJS

Node.js é um ambiente de tempo de execução de back-end JavaScript de código aberto, plataforma cruzada que roda no mecanismo V8 e executa código JavaScript fora de um navegador da web. O Node.js permite que os desenvolvedores usem JavaScript para escrever ferramentas de linha de comando e para scripts do lado do servidor para produzir conteúdo dinâmico de página da web antes que a página seja enviada ao navegador do usuário. Consequentemente, o Node.js representa um paradigma “JavaScript em todos os lugares”, unificando o desenvolvimento de aplicativos da web em torno de uma única linguagem de programação, em vez de linguagens diferentes para scripts do lado do servidor e do lado do cliente.

NPM

NPM é duas coisas: em primeiro lugar, é um repositório online para a publicação de projetos Node.js de código aberto; segundo, é um utilitário de linha de comando para interagir com o referido repositório que ajuda na instalação do pacote, gerenciamento de versão e gerenciamento de dependência. Uma infinidade de bibliotecas e aplicativos Node.js são publicados no npm e muitos mais são adicionados todos os dias. Esses aplicativos podem ser pesquisados ​​em seu site . Assim que tiver um pacote que deseja instalar, ele pode ser instalado com um único comando.

CSS

Cascading Style Sheets (CSS) é uma linguagem de folha de estilo usada para descrever a apresentação de um documento escrito em uma linguagem de marcação, como HTML. CSS é uma tecnologia fundamental da World Wide Web, ao lado de HTML e JavaScript.

CSS é projetado para permitir a separação de apresentação e conteúdo, incluindo layout, cores e fontes. Essa separação pode melhorar a acessibilidade do conteúdo; fornecer mais flexibilidade e controle na especificação das características de apresentação; permitir que várias páginas da web compartilhem a formatação especificando o CSS relevante em um arquivo .css separado, o que reduz a complexidade e a repetição no conteúdo estrutural; e permitir que o arquivo .css seja armazenado em cache para melhorar a velocidade de carregamento da página entre as páginas que compartilham o arquivo e sua formatação.

Git

Git é um software usado para rastrear alterações em qualquer conjunto de arquivos, geralmente usado para coordenar o trabalho entre os programadores que desenvolvem código-fonte de forma colaborativa durante o desenvolvimento do software. Seus objetivos incluem velocidade, integridade de dados e suporte para fluxos de trabalho não lineares distribuídos (milhares de ramificações paralelas em execução em sistemas diferentes).

AWS

Amazon Web Services, Inc. (AWS) é uma subsidiária da Amazon que fornece plataformas de computação em nuvem sob demanda e APIs para indivíduos, empresas e governos, com base no pagamento conforme o uso. Esses serviços da web de computação em nuvem fornecem uma variedade de infraestrutura técnica abstrata básica e blocos de construção e ferramentas de computação distribuída. Um desses serviços é o Amazon Elastic Compute Cloud (EC2), que permite ao usuário ter à disposição um cluster virtual de computadores, disponível o tempo todo, por meio da Internet. Os computadores virtuais da AWS emulam a maioria dos atributos de um computador real, incluindo unidades de processamento central de hardware (CPUs) e unidades de processamento gráfico (GPUs) para processamento; memória local / RAM; armazenamento em disco rígido / SSD; uma escolha de sistemas operacionais; networking; e software de aplicativo pré-carregado, como servidores web, bancos de dados,

Google Cloud

Google Cloud Platform (GCP), oferecido pelo Google, é um conjunto de serviços de computação em nuvem executado na mesma infraestrutura que o Google usa internamente para seus produtos de usuário final, como Pesquisa Google, Gmail, Google Drive e YouTube. Junto com um conjunto de ferramentas de gerenciamento, ele fornece uma série de serviços modulares em nuvem, incluindo computação, armazenamento de dados, análise de dados e aprendizado de máquina.

Microsoft Azure

O Microsoft Azure, frequentemente referido como Azure, é um serviço de computação em nuvem operado pela Microsoft para gerenciamento de aplicativos por meio de data centers gerenciados pela Microsoft. Ele fornece software como serviço (SaaS), plataforma como serviço (PaaS) e infraestrutura como serviço (IaaS) e oferece suporte a muitas linguagens de programação, ferramentas e estruturas diferentes, incluindo software e sistemas específicos da Microsoft e de terceiros.

Selenium

O pacote selenium é usado para automatizar a interação do navegador da web a partir do Python. É freqüentemente usado para fazer bots e web scrapers.

Django

Django é uma estrutura da web Python de alto nível que incentiva o desenvolvimento rápido e um design limpo e pragmático. Construído por desenvolvedores experientes, ele cuida de grande parte do trabalho de desenvolvimento da web, para que você possa se concentrar em escrever seu aplicativo sem precisar reinventar a roda. É gratuito e de código aberto.

Esse é o dicionário do programador/desenvolvedor que você deve conhecer.

Leia também: PHP 8: análise completa da versão

COMPARTILHAR:
brayan

Brayan Monteiro

Bacharel em Sistemas de Informação pela Faculdade Maurício de Nassau e desenvolvedor PHP. Além de programador, produzo conteúdo e gerencio blogs. Sou especialista em desenvolvimento de software, SEO de sites e em negócios digitais.