Às vezes, o mais difícil são os nomes. Mesmo quem curte tecnologia pode, às vezes, ficar meio perdido. Com base em uma publicação no blog do engenheiro Benjy Weinberger, resolvemos explicar o significado dos dez termos essenciais da tecnologia atual. Vamos lá?
APIEm português, é sigla para Interface de Programação de Aplicativos; trata-se de uma interface de programação que ajuda diferentes componentes do
software
a interagirem entre si. Os aplicativos são desenvolvidos e organizados em diferentes módulos, cada um responsável por uma tarefa distinta. E, claro, esses módulos precisam conversar entre si – e é aí que entram as APIs. Vamos pegar como exemplo o Google Maps – diversos sites utilizam o serviço em suas páginas. Isto é realizado através da API: é como se fosse uma parte do Google Maps rodando dentro de um outro site. Para resumir, uma API é como se fosse uma parte de um programa maior, mas que pode funcionar de forma independente. Stack (Pilha de Tecnologia)
A maioria dos projetos de engenharia tem muitos problemas em comum: armazenar e recuperar dados de forma eficiente, alimentar sites através da rede, lidar com logins de usuários e etc. O desperdício seria grande se cada equipe resolvesse apenas seus problemas. Mas a "pilha de tecnologia", um conjunto de componentes, faz esse trabalho para todas as áreas. Exemplos são a pilha LAMP para Linux, Apache para servidores web, MySQL para banco de dados e PH.tec
DNS (Sistemas de Nomes de Domínios)É um diretório global que converte nomes de domínios legíveis em endereços IP – que na verdade são uma sequência de números separados por pontos. Quando você digita www.olhardigital.com.br na barra de endereços do seu navegador, é o DNS que traduz as palavras para o endereço IP – que é um conjunto de números - do servidor do nosso site.
Open Source (Plataforma aberta)Esta é mais simples. São projetos de abertos para tornar o código do
software
disponível ao público gratuitamente. Assim, qualquer usuário pode modificar e melhorar um código ou até mesmo usá-lo para outros fins. Talvez o exemplo mais popular seja o Linux.Aprendizado de MáquinaOs computadores são excelentes para tarefas rotineiras como pesquisas, classificação e, claro, nestes casos são mais rápidos que nós, seres humanos. Mas há coisas que nós somos bem melhores como, por exemplo, a conversão de voz para texto. Para tarefas como esta, são os algoritmos de aprendizagem que aplicam regras gerais a partir de um conjunto de exemplos – algo bastante parecido com a aprendizagem
humana
. O Siri, do iPhone, é um bom exemplo; trata-se de um algoritmo de aprendizagem que se aproxima à compreensão da fala humana.Controle de Versão
Ajuda colegas de uma mesma organização a não substituírem uns os trabalhos dos outros. Estes sistemas armazenam todas as versões anteriores dos arquivos. Isso permite que os desenvolvedores evoluam e aprimorem seus códigos ao mesmo tempo em que continuam sendo capazes de depurar servidores que executam versões mais antigas do código.
AlgoritmosSão comparados a receitas gastronômicas. São listas de instruções passo-a-passo que podem ser executadas por uma máquina de forma inequívoca e rápida. Todo desenvolvimento de software é, em sua essência, uma implementação de algoritmos.
Cliente e Servidor
Quando dois computadores interagem em uma rede, o cliente é o que inicia a interação através do envio de uma solicitação. Por sua vez, o servidor realiza a tarefa e retorna os resultados para o cliente. Os navegadores de internet e dispositivos móveis são frequentemente referidos como “clientes", afinal, eles normalmente são os primeiros que solicitam alguma coisa da rede. Voltando ao nosso site: quando você digita no nosso endereço: olhardigital.com.br, o seu computador é um cliente, que solicita que os nossos servidores entreguem as páginas via internet.
UNIX/Linux
UNIX é um sistema operacional desenvolvido no início da década de 70. É notável, pois muitas de suas inovações influenciaram muito sistemas operacionais posteriores. Já o Linux é um sistema operacional de código aberto muito semelhante ao UNIX. Ao contrário do Windows ou Mac OS, o Linux é totalmente gratuito.
Sistemas DistribuídosUm sistema distribuído usa vários computadores, conectados em rede, para executar uma tarefa ou prestar um serviço. Grandes empresas como Google e Facebook, por exemplo, contam com um sistema distribuído para lidar com sua carga maciça de dados e solicitações de servidores. Sistemas distribuídos oferecem duas vantagens: podem lidar com mais dados e mais tráfego do que uma única máquina e ainda são muito mais confiáveis.
Fonte: Olhar digital
Nenhum comentário:
Postar um comentário