paint-brush
RaspberryPi: Sobrecarga tecnol贸gica: LAMP馃暞 a UASP馃悵por@tudoracheabogdan
445 lecturas
445 lecturas

RaspberryPi: Sobrecarga tecnol贸gica: LAMP馃暞 a UASP馃悵

por Bogdan Tudorache4m2024/04/30
Read on Terminal Reader

Demasiado Largo; Para Leer

La pila LAMP se ha redise帽ado para que a los desarrolladores les resulte m谩s f谩cil comenzar. La pila incluye un sistema operativo, un servidor web, una base de datos y un lenguaje de programaci贸n. Veremos c贸mo se puede aplicar esta pila a Raspberry Pi y otras computadoras peque帽as.
featured image - RaspberryPi: Sobrecarga tecnol贸gica: LAMP馃暞 a UASP馃悵
Bogdan Tudorache HackerNoon profile picture
0-item

Pila:

Es posible que los desarrolladores e ingenieros m谩s antiguos recuerden la pila LAMP馃挕 y, aunque est谩 redise帽ada, si reducimos todo a lo b谩sico, lo que encontramos y necesitamos es:


  1. un sistema operativo

  2. un servidor web

  3. una base de datos

  4. un lenguaje de programaci贸n


Lo que les voy a hablar hoy es c贸mo reinvent茅 la pila LAMP en un formato alternativo :

  • linux
  • apache
  • MySQL
  • Php a:
  • ubuntu
  • apache
  • Sqlite3
  • Pit贸n

驴Qu茅 se necesita?

Hoy en d铆a, todo lo que escucho con demasiada frecuencia es: "Quiero convertirme en desarrollador, 驴c贸mo empiezo?", "Quiero convertirme en desarrollador, 驴qu茅 computadora port谩til necesito?". o "驴Necesito comprar la 煤ltima MacBook para convertirme en desarrollador?" y para ser honesto, est谩 empezando a afectarme.


No, ni帽os , no necesitan la 煤ltima tecnolog铆a sofisticada ni un cohete馃殌 para convertirse en desarrollador, lo que necesitan es un sistema operativo que sea capaz de instalar paquetes de programaci贸n y compilarlos; Incluso puedes usar la vieja computadora port谩til de tu abuela. Y ahora preguntas: 鈥溌÷緾贸mo puede ser esto?!鈥


Hagamos un breve viaje al pasado; Hace casi 3 a帽os y medio, comenc茅 a jugar con un SBC , una computadora de placa 煤nica que cuesta menos de 50E para comprar, y en este momento tengo un servidor web, una base de datos, estoy realizando cientos de raspados web por hora y, adem谩s, estoy trabajando en el desarrollo de un punto final API.


Este SBC ni siquiera es el 煤ltimo de su gama y tiene:

  • 8 GB de memoria interna LPDDR4

  • CPU ARM Cortex-A72 de cuatro n煤cleos a 1,5 GHz (lanzada en 2015): puede overclockear de forma f谩cil y segura a 2 GHz (+extensi贸n de ventilador y disipador de calor)


Esto es lo que GPT tiene que decir sobre estas especificaciones: Las especificaciones que proporcion贸 son decentes para ciertos tipos de tareas inform谩ticas, pero pueden no ser suficientes para otras. Aqu铆 una evaluaci贸n:


  • Memoria interna LPDDR4 de 8 GB:
  • LPDDR4 es un tipo de RAM relativamente r谩pido y de bajo consumo que se usa com煤nmente en dispositivos m贸viles y algunas computadoras port谩tiles.
  • 8 GB es una cantidad moderada de memoria que deber铆a ser suficiente para tareas cotidianas como navegaci贸n web, trabajo de oficina y multitarea ligera. Tambi茅n puede manejar aplicaciones moderadas de creaci贸n de contenido y juegos.
  • Sin embargo, para tareas m谩s exigentes como edici贸n de v铆deo, dise帽o gr谩fico o ejecuci贸n de m谩quinas virtuales, 8 GB pueden ser una limitaci贸n y es posible que experimente cuellos de botella en el rendimiento.
  • CPU ARM Cortex-A72 de cuatro n煤cleos a 1,5 GHz:
    • El ARM Cortex-A72 es un dise帽o de procesador capaz que se encuentra com煤nmente en tel茅fonos inteligentes, tabletas y otros dispositivos m贸viles.

    • Una configuraci贸n de cuatro n煤cleos significa que tiene cuatro n煤cleos, lo que le permite manejar m煤ltiples tareas simult谩neamente de manera m谩s eficiente.

    • La velocidad de reloj de 1,5 GHz es decente para tareas inform谩ticas de uso general, incluida la navegaci贸n web, el consumo de medios y las aplicaciones de productividad.

    • Sin embargo, para tareas m谩s exigentes, como juegos, edici贸n de v铆deo o ejecutar software complejo, una velocidad de reloj m谩s alta y posiblemente m谩s n煤cleos proporcionar铆an un mejor rendimiento. En resumen, estas especificaciones son adecuadas para tareas inform谩ticas de ligeras a moderadas, como la productividad diaria, la navegaci贸n web y el consumo multimedia. Sin embargo, para tareas m谩s exigentes o para el futuro, es posible que desee considerar actualizar a un sistema con m谩s RAM y una CPU m谩s r谩pida.


Cr茅ame, al principio, de ligero a moderado es m谩s que suficiente, por lo que con una placa Pi, puede tener f谩cilmente un entorno de escritorio funcional en el que pueda aprender a codificar, y no solo lenguajes de programaci贸n frontend sino incluso backend como Python. , c++ (que es a煤n m谩s eficiente energ茅ticamente) o javascript.


驴Qu茅 uso?

En mi Raspberry Pi, estoy desarrollando c贸digo con:

  • Escritorio Ubuntu - cortes铆a deDesktopify :

  • VSCode conect谩ndose remotamente al servidor


  • Scripts de Python3 que raspan la web y crean p谩ginas web HTML incorporadas por CSS

    • peticiones

    • selenio

    • pandas

    • procesamiento paralelo - concurrent.futures


  • Javascript junto con PHP aqu铆 y all谩.


  • Scripts Python3 que escriben autom谩ticamente en mi base de datos Sqlite3 en formato JSON .


  • Aplicaci贸n Flask , un marco web Python peque帽o y liviano que proporciona herramientas y caracter铆sticas 煤tiles que facilitan la creaci贸n de aplicaciones web en Python.


  • Y, por 煤ltimo, un fragmento de c贸digo Javascript que llama al punto final de Flask: un punto final de API RESTful


    Durante cerca de 4 a帽os a un coste definitivamente amortizado de 120E y < 4E al mes en electricidad馃攲.


Para resumir todo, aqu铆 est谩 la arquitectura del sistema BerryNews:

Los factores clave aqu铆 son Utilizaci贸n eficiente de recursos + Restricciones de utilizaci贸n de recursos .


驴Por qu茅 derrochar cuando puedes escribir c贸digo eficiente?

Conclusi贸n:

Si tuvi茅ramos que resumir todo, terminar铆amos con una tabla como esta en una computadora de 100 d贸lares:

Categor铆a

Palabras clave

Lenguajes de programaci贸n

Python3, Javascript, PHP, CSS, HTML, SQL

Formatos de datos

JSON

Marcos

matraz, selenio, futuros concurrentes

Bases de datos

sqlite3

Redes

configuraci贸n del enrutador, DNS

La seguridad cibern茅tica

UFW ( firewall ), ClamAV ( antivirus ), Fail2ban ( IPS ), gesti贸n de contrase帽as, claves SSH, Let's Encrypt ( certificado SSL )

linux

Raspberry Pi, escritorio Ubuntu, VSCode

Entonces, dime, 驴todav铆a crees que necesitas las 煤ltimas especificaciones de port谩tiles para convertirte en desarrollador?