API, em 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 ou 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.
DNS ou 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.
Plataforma Aberta; em
inglês, Open Source;
esta é mais simples. São projetos de códigos abertos para tornar o código
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 sistema operacional Linux.
Aprendizado de
Máquina;
os 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.
O “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.
Algoritmos sã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ídos; um 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.
Em um vídeo divulgado recemente, grandes nomes como Mark Zuckerberg, Bill
Gates e Jack Dorsey, o fundador do Twitter, defendem que a programação deveria
ser disciplina básica nas escolas e toda criança deveria aprender a programar.
E você, concorda?Fonte: http://benjyw.com/post/50031659939/10-tech-concepts-everyone-should-know em inglês
Legal, gostei; me ajudou no trabalho da escola de informática. Ass.: Joelma
ResponderExcluir