paint-brush
RaspberryPi: sobrecarga de tecnologia - LAMP🕯 para UASP🐝por@tudoracheabogdan
499 leituras
499 leituras

RaspberryPi: sobrecarga de tecnologia - LAMP🕯 para UASP🐝

por Bogdan Tudorache4m2024/04/30
Read on Terminal Reader

Muito longo; Para ler

A pilha LAMP foi reprojetada para facilitar o início dos desenvolvedores. A pilha inclui um sistema operacional, um servidor web, um banco de dados e uma linguagem de programação. Veremos como essa pilha pode ser aplicada ao Raspberry Pi e outros computadores pequenos.
featured image - RaspberryPi: sobrecarga de tecnologia - LAMP🕯 para UASP🐝
Bogdan Tudorache HackerNoon profile picture
0-item

Pilha:

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 é:


  1. um sistema operacional

  2. um servidor web

  3. um banco de dados

  4. uma linguagem de programação


O que vou falar com vocês hoje é como reinventei a pilha LAMP em um formato alternativo :

  • Linux
  • Apache
  • MySQL
  • PHP para:
  • Ubuntu
  • Apache
  • SQLite3
  • Pitão

O que é necessário?

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:


  • Memória interna LPDDR4 de 8 GB:
  • LPDDR4 é um tipo de RAM relativamente rápido e com baixo consumo de energia, comumente usado em dispositivos móveis e alguns laptops.
  • 8 GB é uma quantidade moderada de memória que deve ser suficiente para tarefas diárias, como navegação na web, trabalho de escritório e multitarefa leve. Ele também pode lidar com jogos moderados e aplicativos de criação de conteúdo.
  • No entanto, para tarefas mais exigentes, como edição de vídeo, design gráfico ou execução de máquinas virtuais, 8 GB podem ser limitantes e você pode enfrentar gargalos de desempenho.
  • CPU ARM Cortex-A72 quad-core de 1,5 GHz:
    • 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 :

  • 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?

Conclusão:

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?