Разработчики и инженеры старшего возраста, возможно, помнят стек LAMP💡, и хотя он был переработан, если мы разберем все до основ , мы обнаружим и нам понадобится следующее:
операционная система
веб-сервер
база данных
язык программирования
Сегодня я собираюсь поговорить с вами о том, как я переосмыслил стек LAMP в альтернативном формате :
Сейчас все, что я слышу слишком часто: «Я хочу стать разработчиком, с чего мне начать?», «Я хочу стать разработчиком, какой ноутбук мне нужен?» или «Нужно ли мне покупать последний MacBook, чтобы стать разработчиком?» и, честно говоря, меня это начинает доходить.
Нет, дети , вам не нужны новейшие технологии или ракета🚀, чтобы стать разработчиком, вам нужна операционная система, способная устанавливать пакеты программирования и компилировать их; вы даже можете использовать старый ноутбук вашей бабушки. И теперь вы спрашиваете: «Как такое может быть?!»
Давайте совершим небольшое путешествие по воспоминаниям; почти 3 с половиной года назад я начал возиться с SBC — одноплатным компьютером , стоимость которого начинается от 50 евро, и на нем прямо сейчас у меня есть веб-сервер, база данных, я выполняю сотни операций веб-очистки за штуку. час, и помимо этого я работаю над разработкой конечной точки API.
Этот SBC даже не является последним в своей линейке и имеет:
8 ГБ встроенной памяти LPDDR4.
Четырехъядерный процессор ARM Cortex-A72 с тактовой частотой 1,5 ГГц (выпущен в 2015 году), который можно легко и безопасно разогнать до частоты 2 ГГц (+удлинитель вентилятора и радиатор)
Вот что GPT говорит об этих спецификациях: Предоставленные вами спецификации подходят для определенных типов вычислительных задач, но могут оказаться недостаточными для других. Вот оценка:
ARM Cortex-A72 — это мощный процессор, обычно встречающийся в смартфонах, планшетах и других мобильных устройствах.
Четырехъядерная конфигурация означает, что он имеет четыре ядра, что позволяет более эффективно выполнять несколько задач одновременно.
Тактовая частота 1,5 ГГц достаточна для вычислительных задач общего назначения, включая просмотр веб-страниц, потребление мультимедиа и приложения для повышения производительности.
Однако для более требовательных задач, таких как игры, редактирование видео или запуск сложного программного обеспечения, более высокая тактовая частота и, возможно, больше ядер обеспечат лучшую производительность. Таким образом, эти характеристики подходят для легких и средних вычислительных задач, таких как повседневная производительность, просмотр веб-страниц и потребление мультимедиа. Однако для более требовательных задач или перспективности вы можете рассмотреть возможность обновления до системы с большим объемом оперативной памяти и более быстрым процессором.
Поверьте мне, вначале от легкого до умеренного более чем достаточно, поэтому с платой Pi вы можете легко получить рабочую среду рабочего стола , в которой вы сможете научиться кодировать, и не только интерфейсный, но даже серверный языки программирования, такие как Python , C++ (который еще более энергоэффективен) или JavaScript.
Что я использую?
На моем Raspberry Pi я разрабатываю код с помощью:
Рабочий стол Ubuntu — предоставленоDesktopify :
межсетевые экраны
антивирус
программное обеспечение для предотвращения вторжений IPS
сеть
надежный контроль паролей
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 |
Итак, скажите мне, вы все еще думаете, что вам нужны новейшие характеристики ноутбука, чтобы стать разработчиком?