paint-brush
RaspberryPi: Technologie-Überlastung – LAMP🕯 zu UASP🐝von@tudoracheabogdan
499 Lesungen
499 Lesungen

RaspberryPi: Technologie-Überlastung – LAMP🕯 zu UASP🐝

von Bogdan Tudorache4m2024/04/30
Read on Terminal Reader

Zu lang; Lesen

Der LAMP-Stack wurde überarbeitet, um Entwicklern den Einstieg zu erleichtern. Der Stack umfasst ein Betriebssystem, einen Webserver, eine Datenbank und eine Programmiersprache. Wir werden uns ansehen, wie dieser Stack auf dem Raspberry Pi und anderen kleinen Computern angewendet werden kann.
featured image - RaspberryPi: Technologie-Überlastung – LAMP🕯 zu UASP🐝
Bogdan Tudorache HackerNoon profile picture
0-item

Stapel:

Ältere Entwickler und Ingenieure erinnern sich vielleicht noch an den LAMP-Stack💡 und obwohl er überarbeitet wurde, finden und benötigen wir, wenn wir alles auf das Wesentliche reduzieren , Folgendes:


  1. ein Betriebssystem

  2. ein Webserver

  3. eine Datenbank

  4. eine Programmiersprache


Worüber ich heute mit Ihnen sprechen werde, ist, wie ich den LAMP-Stack in einem alternativen Format neu konzipiert habe:

  • Linux
  • Apache
  • MySQL
  • PHP zu:
  • Ubuntu
  • Apache
  • SQLite3
  • Python

Was braucht es?

Heutzutage höre ich nur noch zu oft: „Ich möchte Entwickler werden, wie fange ich an?“, „Ich möchte Entwickler werden, welchen Laptop brauche ich?“ oder „Muss ich das neueste MacBook kaufen, um Entwickler zu werden?“ und um ehrlich zu sein, fängt das an, mir auf die Nerven zu gehen.


Nein, Kinder , ihr braucht weder die neueste, schicke Technik noch eine Rakete🚀, um Entwickler zu werden. Was ihr braucht, ist ein Betriebssystem, das Programmierpakete installieren und kompilieren kann. Ihr könnt sogar den alten Laptop eurer Großmutter verwenden. Und jetzt fragt ihr euch: „Wie kann das sein?!“


Lassen Sie uns eine kurze Reise in die Vergangenheit unternehmen: Vor fast dreieinhalb Jahren begann ich, an einem SBC ( Single Board Computer ) herumzubasteln, der ab 50 Euro zu haben ist. Jetzt habe ich darauf einen Webserver und eine Datenbank, führe Hunderte von Web-Scrapings pro Stunde durch und arbeite darüber hinaus an der Entwicklung eines API-Endpunkts.


Dieser SBC ist nicht einmal der neueste seiner Art und verfügt über:

  • 8 GB interner LPDDR4-Speicher

  • 1,5 GHz Quad-Core ARM Cortex-A72 CPU (auf den Markt gebracht 2015) – die Sie einfach und sicher auf 2 GHz übertakten können (+Lüftererweiterung und Kühlkörper)


Hier ist, was GPT zu diesen Spezifikationen zu sagen hat: Die von Ihnen angegebenen Spezifikationen sind für bestimmte Arten von Computeraufgaben angemessen, für andere reichen sie jedoch möglicherweise nicht aus. Hier ist eine Bewertung:


  • 8 GB interner LPDDR4-Speicher:
  • LPDDR4 ist ein relativ schneller und energieeffizienter RAM-Typ, der häufig in Mobilgeräten und einigen Laptops verwendet wird.
  • 8 GB sind eine moderate Speichermenge, die für alltägliche Aufgaben wie Surfen im Internet, Büroarbeit und leichtes Multitasking ausreichen sollte. Es kann auch moderate Spiele und Anwendungen zur Inhaltserstellung verarbeiten.
  • Bei anspruchsvolleren Aufgaben wie Videobearbeitung, Grafikdesign oder dem Ausführen virtueller Maschinen stellen 8 GB jedoch möglicherweise eine Einschränkung dar und es kann zu Leistungsengpässen kommen.
  • 1,5 GHz Quad-Core ARM Cortex-A72 CPU:
    • Der ARM Cortex-A72 ist ein leistungsfähiger Prozessortyp, der häufig in Smartphones, Tablets und anderen Mobilgeräten zu finden ist.

    • Eine Quad-Core-Konfiguration bedeutet, dass der Rechner über vier Kerne verfügt und somit mehrere Aufgaben gleichzeitig effizienter bewältigen kann.

    • Die Taktfrequenz von 1,5 GHz ist für allgemeine Computeraufgaben wie Surfen im Internet, Medienkonsum und Produktivitätsanwendungen ausreichend.

    • Für anspruchsvollere Aufgaben wie Spiele, Videobearbeitung oder das Ausführen komplexer Software würden jedoch eine höhere Taktfrequenz und möglicherweise mehr Kerne eine bessere Leistung bieten. Zusammenfassend lässt sich sagen, dass diese Spezifikationen für leichte bis mittelschwere Computeraufgaben wie alltägliche Produktivität, Surfen im Internet und Multimedia-Konsum geeignet sind. Für anspruchsvollere Aufgaben oder zur Zukunftssicherheit sollten Sie jedoch ein Upgrade auf ein System mit mehr RAM und einer schnelleren CPU in Betracht ziehen.


Vertrauen Sie mir, zu Beginn ist leichtes bis mittleres Wissen mehr als ausreichend. Mit einem Pi-Board können Sie also problemlos eine funktionierende Desktop- Umgebung einrichten, in der Sie das Programmieren erlernen können, und zwar nicht nur das Frontend, sondern auch Backend-Programmiersprachen wie Python, C++ (das sogar noch energieeffizienter ist) oder JavaScript.


Was verwende ich?

Auf meinem Raspberry Pi entwickle ich Code mit:

  • Ubuntu- Desktop – mit freundlicher Genehmigung vonDesktopify :

  • VSCode stellt eine Remoteverbindung zum Server her


  • Python3 -Skripte, die das Web durchsuchen und HTML- Webseiten erstellen, die durch CSS verkörpert werden

    • Anfragen

    • Selen

    • Pandas

    • Parallele Verarbeitung - concurrent.futures


  • Hier und da Javascript mit PHP gekoppelt.


  • Python3-Skripte, die automatisch im JSON- Format in meine Sqlite3- Datenbank schreiben.


  • Flask -App, ein kleines und leichtes Python -Web-Framework , das nützliche Tools und Funktionen bietet, die das Erstellen von Webanwendungen in Python erleichtern.


  • Und schließlich ein Javascript-Code, der den Flask- Endpunkt aufruft - einen RESTful- API-Endpunkt


    Für fast 4 Jahre bei definitiv amortisierten Kosten von 120 € und < 4 € pro Monat für Strom🔌.


Um alles zusammenzufassen, hier ist die Systemarchitektur von BerryNews:

Die Schlüsselfaktoren sind hierbei effiziente Ressourcennutzung + Einschränkungen der Ressourcennutzung .


Warum Geld ausgeben, wenn Sie effizienten Code schreiben können?

Abschluss:

Würden wir alles zusammenrechnen, käme man auf einem 100-Dollar-Computer auf eine Tabelle wie diese:

Kategorie

Schlüsselwörter

Programmiersprachen

Python3, Javascript, PHP, CSS, HTML, SQL

Datenformate

JSON

Rahmenbedingungen

Flasche, Selen, Concurrent.Futures

Datenbanken

sqlite3

Vernetzung

Routerkonfiguration, DNS

Internet-Sicherheit

UFW ( Firewall ), ClamAV ( Antivirus ), Fail2ban ( IPS ), Passwortverwaltung, SSH-Schlüssel, Let’s Encrypt ( SSL- Zertifikat )

Linux

Raspberry Pi, Ubuntu Desktop, VSCode

Also, sagen Sie mir: Glauben Sie immer noch, dass Sie die neuesten Laptop-Spezifikationen benötigen, um Entwickler zu werden?