paint-brush
RaspberryPi: технологическая перегрузка — от LAMP🕯 до UASP🐝к@tudoracheabogdan
499 чтения
499 чтения

RaspberryPi: технологическая перегрузка — от LAMP🕯 до UASP🐝

к Bogdan Tudorache4m2024/04/30
Read on Terminal Reader

Слишком долго; Читать

Стек LAMP был переработан, чтобы разработчикам было проще начать работу. Стек включает в себя операционную систему, веб-сервер, базу данных и язык программирования. Мы рассмотрим, как этот стек можно применить к Raspberry Pi и другим небольшим компьютерам.
featured image - RaspberryPi: технологическая перегрузка — от LAMP🕯 до UASP🐝
Bogdan Tudorache HackerNoon profile picture
0-item

Куча:

Разработчики и инженеры старшего возраста, возможно, помнят стек LAMP💡, и хотя он был переработан, если мы разберем все до основ , мы обнаружим и нам понадобится следующее:


  1. операционная система

  2. веб-сервер

  3. база данных

  4. язык программирования


Сегодня я собираюсь поговорить с вами о том, как я переосмыслил стек LAMP в альтернативном формате :

  • Линукс
  • Апач
  • MySql
  • Пхп для:
  • Убунту
  • Апач
  • Склайт3
  • Питон

Чего это стоит?

Сейчас все, что я слышу слишком часто: «Я хочу стать разработчиком, с чего мне начать?», «Я хочу стать разработчиком, какой ноутбук мне нужен?» или «Нужно ли мне покупать последний MacBook, чтобы стать разработчиком?» и, честно говоря, меня это начинает доходить.


Нет, дети , вам не нужны новейшие технологии или ракета🚀, чтобы стать разработчиком, вам нужна операционная система, способная устанавливать пакеты программирования и компилировать их; вы даже можете использовать старый ноутбук вашей бабушки. И теперь вы спрашиваете: «Как такое может быть?!»


Давайте совершим небольшое путешествие по воспоминаниям; почти 3 с половиной года назад я начал возиться с SBCодноплатным компьютером , стоимость которого начинается от 50 евро, и на нем прямо сейчас у меня есть веб-сервер, база данных, я выполняю сотни операций веб-очистки за штуку. час, и помимо этого я работаю над разработкой конечной точки API.


Этот SBC даже не является последним в своей линейке и имеет:

  • 8 ГБ встроенной памяти LPDDR4.

  • Четырехъядерный процессор ARM Cortex-A72 с тактовой частотой 1,5 ГГц (выпущен в 2015 году), который можно легко и безопасно разогнать до частоты 2 ГГц (+удлинитель вентилятора и радиатор)


Вот что GPT говорит об этих спецификациях: Предоставленные вами спецификации подходят для определенных типов вычислительных задач, но могут оказаться недостаточными для других. Вот оценка:


  • Внутренняя память 8 ГБ LPDDR4:
  • LPDDR4 — это относительно быстрый и энергоэффективный тип оперативной памяти, обычно используемый в мобильных устройствах и некоторых ноутбуках.
  • 8 ГБ — это умеренный объем памяти, которого должно быть достаточно для повседневных задач, таких как просмотр веб-страниц, офисная работа и легкая многозадачность. Он также может работать с умеренными игровыми приложениями и приложениями для создания контента.
  • Однако для более требовательных задач, таких как редактирование видео, графический дизайн или запуск виртуальных машин, 8 ГБ могут быть ограничены, и вы можете столкнуться с узкими местами в производительности.
  • Четырехъядерный процессор ARM Cortex-A72 с тактовой частотой 1,5 ГГц:
    • ARM Cortex-A72 — это мощный процессор, обычно встречающийся в смартфонах, планшетах и других мобильных устройствах.

    • Четырехъядерная конфигурация означает, что он имеет четыре ядра, что позволяет более эффективно выполнять несколько задач одновременно.

    • Тактовая частота 1,5 ГГц достаточна для вычислительных задач общего назначения, включая просмотр веб-страниц, потребление мультимедиа и приложения для повышения производительности.

    • Однако для более требовательных задач, таких как игры, редактирование видео или запуск сложного программного обеспечения, более высокая тактовая частота и, возможно, больше ядер обеспечат лучшую производительность. Таким образом, эти характеристики подходят для легких и средних вычислительных задач, таких как повседневная производительность, просмотр веб-страниц и потребление мультимедиа. Однако для более требовательных задач или перспективности вы можете рассмотреть возможность обновления до системы с большим объемом оперативной памяти и более быстрым процессором.


Поверьте мне, вначале от легкого до умеренного более чем достаточно, поэтому с платой Pi вы можете легко получить рабочую среду рабочего стола , в которой вы сможете научиться кодировать, и не только интерфейсный, но даже серверный языки программирования, такие как Python , C++ (который еще более энергоэффективен) или JavaScript.


Что я использую?

На моем Raspberry Pi я разрабатываю код с помощью:

  • Рабочий стол Ubuntu — предоставленоDesktopify :

  • VSCode удаленно подключается к серверу


  • Скрипты Python3 , которые очищают Интернет и создают веб-страницы HTML , воплощенные в CSS.

    • Запросы

    • селен

    • панды

    • параллельная обработка — concurrent.futures


  • Javascript в сочетании с PHP здесь и там.


  • Скрипты Python3, которые автоматически записывают в мою базу данных Sqlite3 в формате JSON .


  • Приложение Flask — небольшая и легкая веб-платформа Python, предоставляющая полезные инструменты и функции, позволяющие создавать веб-приложения на Python.


  • И, наконец, фрагмент кода Javascript, который вызывает конечную точку Flask — конечную точку RESTful API.


    В течение почти 4 лет по определенно амортизированной стоимости 120E и <4E в месяц на электроэнергию🔌.


Подводя итог, вот архитектура системы BerryNews:

Ключевыми факторами здесь являются эффективное использование ресурсов + ограничения использования ресурсов .


Зачем тратиться, если можно написать эффективный код?

Заключение:

Если бы мы все суммировали, то на 100-долларовом компьютере у нас получилась бы вот такая таблица:

Категория

Ключевые слова

Языки программирования

Python3, Javascript, PHP, CSS, HTML, SQL

Форматы данных

JSON

Рамки

колба, селен, concurrent.futures

Базы данных

sqlite3

сеть

конфигурация роутера, DNS

Информационная безопасность

UFW ( брандмауэр ), ClamAV ( антивирус ), Fail2ban ( IPS ), управление паролями, ключи SSH, Let's Encrypt ( сертификат SSL )

Линукс

Raspberry Pi, Ubuntu Desktop, VSCode

Итак, скажите мне, вы все еще думаете, что вам нужны новейшие характеристики ноутбука, чтобы стать разработчиком?