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

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

1 мая 2024 г.

Стек:

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

  1. операционная система
  2. веб-сервер
  3. база данных
  4. язык программирования
  5. Сегодня я собираюсь поговорить с вами о том, как я переосмыслил стек LAMP в альтернативном формате:

    • Линукс
    • Апач
    • MySql
    • ФП кому:
    • Убунту
    • Апач
    • Sqlite3
    • Питон

    Что для этого нужно?

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

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

    Давайте совершим небольшое путешествие по переулку памяти; почти 3 с половиной года назад я начал возиться с SBC - одноплатным компьютеромr, стоимость которого начинается от 50E, и прямо сейчас у меня есть веб-сервер, база данных, выполняю сотни операций очистки веб-страниц в час, а также работаю над разработкой конечной точки 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 я разрабатываю код с помощью:

    * Скрипты Python3, которые очищают Интернет и создают Веб-страницы HTML, реализованные с помощью CSS * Запросы * селен * панды * параллельная обработка — concurrent.futures

    
    

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

    * Приложение Flask, небольшое и легкое приложение на Python < strong>веб-фреймворк, предоставляющий полезные инструменты и функции для создания веб-приложений на 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< /em> сертификат) | | Линукс | Raspberry Pi, Ubuntu Desktop, VSCode |

    <блок-цитата>

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


    Оригинал