Les développeurs et ingénieurs plus âgés se souviennent peut-être de la pile LAMP💡 et bien qu'elle soit repensée, si nous réduisons tout à l' essentiel , ce que nous trouvons et dont nous avons besoin est :
un système d'exploitation
un serveur web
une base de données
un langage de programmation
Ce que je vais vous parler aujourd'hui, c'est comment j'ai réinventé la pile LAMP dans un format alternatif :
De nos jours, tout ce que j’entends trop souvent c’est : « Je veux devenir développeur, comment commencer ? », « Je veux devenir développeur, de quel ordinateur portable ai-je besoin ? » ou "Dois-je acheter le dernier MacBook pour devenir développeur ?" et pour être honnête, ça commence à m'atteindre.
Non, les enfants , vous n'avez pas besoin des dernières technologies sophistiquées ou d'une fusée🚀 pour devenir développeur, ce dont vous avez besoin c'est d'un système d'exploitation capable d'installer des packages de programmation et de les compiler ; vous pouvez même utiliser le vieil ordinateur portable de votre grand-mère. Et maintenant vous demandez : « Comment est-ce possible ?! »
Faisons un petit voyage dans le passé ; il y a presque 3 ans et demi, j'ai commencé à bricoler un ordinateur SBC - monocarte qui commence à moins de 50E à l'achat, et dessus en ce moment, j'ai un serveur Web, une base de données, j'effectue des centaines de web-scrapes par personne. heure, et en plus, je travaille sur le développement d'un point de terminaison d'API.
Ce SBC n'est même pas le dernier né de sa gamme et possède :
8 Go de mémoire interne LPDDR4
Processeur ARM Cortex-A72 quadricœur à 1,5 GHz (lancé en 2015) - que vous pouvez overclocker facilement et en toute sécurité à 2 GHz (+ extension de ventilateur et dissipateur thermique)
Voici ce que GPT a à dire à propos de ces spécifications : Les spécifications que vous avez fournies sont correctes pour certains types de tâches informatiques, mais elles peuvent ne pas être suffisantes pour d'autres. Voici une évaluation :
L'ARM Cortex-A72 est une conception de processeur performante que l'on trouve couramment dans les smartphones, tablettes et autres appareils mobiles.
Une configuration quad-core signifie qu’il dispose de quatre cœurs, ce qui lui permet de gérer plusieurs tâches simultanément plus efficacement.
La vitesse d'horloge de 1,5 GHz est adéquate pour les tâches informatiques générales, notamment la navigation sur le Web, la consommation multimédia et les applications de productivité.
Cependant, pour les tâches plus exigeantes telles que les jeux, le montage vidéo ou l'exécution de logiciels complexes, une vitesse d'horloge plus élevée et éventuellement plus de cœurs offriraient de meilleures performances. En résumé, ces spécifications conviennent aux tâches informatiques légères à modérées, telles que la productivité quotidienne, la navigation Web et la consommation multimédia. Cependant, pour des tâches plus exigeantes ou pour une pérennité, vous pouvez envisager de passer à un système doté de plus de RAM et d'un processeur plus rapide.
Croyez-moi, au début, léger à modéré est plus que suffisant, donc avec une carte Pi, vous pouvez facilement disposer d'un environnement de bureau fonctionnel dans lequel vous pouvez apprendre à coder, et non seulement des langages de programmation frontend mais même backend tels que Python. , c++ (qui est encore plus économe en énergie) ou javascript.
Qu'est-ce que j'utilise ?
Sur mon Raspberry Pi, je développe du code avec :
Ubuntu Desktop - gracieuseté dedesktopify :
pare-feu
antivirus
logiciel de prévention des intrusions IPS
la mise en réseau
gestion rigoureuse des mots de passe
VSCode se connectant à distance au serveur
Scripts Python3 qui grattent le Web et créent des pages Web HTML incarnées par CSS
demandes
sélénium
pandas
traitement parallèle - concurrent.futures
Javascript couplé à PHP ici et là.
Scripts Python3 qui écrivent automatiquement dans ma base de données SQLite3 au format JSON .
Application Flask , un framework Web Python petit et léger qui fournit des outils et des fonctionnalités utiles permettant de créer des applications Web en Python.
Et enfin, un morceau de code Javascript qui appelle le point de terminaison Flask - un point de terminaison d'API RESTful
Pour près de 4 ans à un coût définitivement amorti de 120E et < 4E par mois en électricité🔌.
Pour résumer le tout, voici l'architecture du système BerryNews :
Les facteurs clés ici sont l'utilisation efficace des ressources + les contraintes d'utilisation des ressources .
Pourquoi faire des folies quand on peut écrire du code efficace ?
Si nous devions tout résumer, nous nous retrouverions avec un tableau comme celui-ci sur un ordinateur à 100 dollars :
Catégorie | Mots clés |
---|---|
Langages de programmation | Python3, Javascript, PHP, CSS, HTML, SQL |
Formats de données | JSON |
Cadres | flacon, sélénium, concurrent.futures |
Bases de données | sqlite3 |
La mise en réseau | configuration du routeur, DNS |
La cyber-sécurité | UFW ( pare-feu ), ClamAV ( antivirus ), Fail2ban ( IPS ), gestion des mots de passe, Clés SSH, Let's Encrypt ( certificat SSL ) |
Linux | Raspberry Pi, bureau Ubuntu, VSCode |
Alors, dites-moi, pensez-vous toujours que vous avez besoin des dernières spécifications d'ordinateur portable pour devenir développeur ?