Desenvolvedores e engenheiros mais antigos podem se lembrar da pilha LAMP💡 e, embora ela tenha sido reprojetada, se reduzirmos tudo ao básico , o que encontramos e precisamos é:
um sistema operacional
um servidor web
um banco de dados
uma linguagem de programação
O que vou falar com vocês hoje é como reinventei a pilha LAMP em um formato alternativo :
Hoje em dia, tudo o que ouço com frequência é: “Quero me tornar um desenvolvedor, como faço para começar?”, “Quero me tornar um desenvolvedor, de que laptop preciso?” ou “Preciso comprar o MacBook mais recente para me tornar um desenvolvedor?” e para ser honesto, isso está começando a me afetar.
Não, crianças , você não precisa da tecnologia mais recente ou de um foguete🚀 para se tornar um desenvolvedor, o que você precisa é de um sistema operacional que seja capaz de instalar pacotes de programação e compilá-los; você pode até usar o laptop antigo da sua avó. E agora você pergunta: “Como pode ser isso?!”
Vamos fazer uma curta viagem pela estrada da memória; quase 3 anos e meio atrás, comecei a mexer em um SBC - computador de placa única que começa em menos de 50E para comprar, e nele agora, tenho um servidor web, um banco de dados, estou realizando centenas de web-scrapes por hora e, além disso, estou trabalhando no desenvolvimento de um endpoint de API.
Este SBC nem é o mais recente na sua gama e tem:
8 GB de memória interna LPDDR4
CPU ARM Cortex-A72 quad-core de 1,5 GHz (lançada em 2015) - que você pode fazer overclock com facilidade e segurança a 2 GHz (+ extensão de ventoinha e dissipador de calor)
Aqui está o que o GPT tem a dizer sobre essas especificações: As especificações fornecidas são decentes para certos tipos de tarefas de computação, mas podem não ser suficientes para outras. Aqui está uma avaliação:
O ARM Cortex-A72 é um design de processador capaz comumente encontrado em smartphones, tablets e outros dispositivos móveis.
Uma configuração quad-core significa que possui quatro núcleos, permitindo lidar com várias tarefas simultaneamente com mais eficiência.
A velocidade de clock de 1,5 GHz é decente para tarefas de computação de uso geral, incluindo navegação na web, consumo de mídia e aplicativos de produtividade.
No entanto, para tarefas mais exigentes, como jogos, edição de vídeo ou execução de software complexo, uma velocidade de clock mais alta e possivelmente mais núcleos proporcionariam melhor desempenho. Em resumo, estas especificações são adequadas para tarefas de computação leves a moderadas, como produtividade diária, navegação na web e consumo de multimídia. No entanto, para tarefas mais exigentes ou preparadas para o futuro, você pode considerar a atualização para um sistema com mais RAM e uma CPU mais rápida.
Acredite em mim, no início, leve a moderado é mais que suficiente, então com uma placa Pi, você pode facilmente ter um ambiente de área de trabalho funcional no qual você pode aprender como codificar, e não apenas linguagens de programação de front-end, mas até mesmo de back-end, como Python , c++ (que é ainda mais eficiente em termos de energia) ou javascript.
O que eu uso?
No meu Raspberry Pi, estou desenvolvendo código com:
Ubuntu Desktop - cortesia dedesktopify :
firewalls
antivírus
software de prevenção de intrusões IPS
rede
gerenciamento de senha forte
VSCode conectando-se remotamente ao servidor
Scripts Python3 que raspam a web e criam páginas HTML incorporadas por CSS
solicitações de
selênio
pandas
processamento paralelo - concurrent.futures
Javascript acoplado com PHP aqui e ali.
Scripts Python3 que gravam automaticamente em meu banco de dados SQLite3 no formato JSON .
Aplicativo Flask , uma estrutura web Python pequena e leve que fornece ferramentas e recursos úteis que facilitam a criação de aplicativos web em Python.
E, por último, um trecho de código Javascript que chama o endpoint Flask - um endpoint RESTful API
Por quase 4 anos a um custo definitivamente amortizado de 120E e < 4E por mês em eletricidade🔌.
Para resumir tudo, aqui está a arquitetura do sistema BerryNews:
Os principais fatores aqui são utilização eficiente de recursos + restrições de utilização de recursos .
Por que fazer alarde quando você pode escrever um código eficiente?
Se resumissemos tudo, teríamos uma mesa como esta num computador de 100 dólares:
Categoria | Palavras-chave |
---|---|
Linguagens de programação | Python3, Javascript, PHP, CSS, HTML, SQL |
Formatos de dados | JSON |
Estruturas | frasco, selênio, concurrent.futures |
Bancos de dados | sqlite3 |
Rede | configuração do roteador, DNS |
Cíber segurança | UFW ( firewall ), ClamAV ( antivírus ), Fail2ban ( IPS ), gerenciamento de senhas, chaves SSH, Let's Encrypt ( certificado SSL ) |
Linux | Raspberry Pi, Ubuntu Desktop, VSCode |
Então, diga-me, você ainda acha que precisa das especificações mais recentes de laptop para se tornar um desenvolvedor?