资深开发人员和工程师可能还记得 LAMP 堆栈💡,尽管它经过了重新设计,但如果我们将所有内容剥离到基础部分,我们会发现并需要的是:
操作系统
网络服务器
数据库
一种编程语言
今天我要和大家讨论的是如何以另一种格式重新构想 LAMP 堆栈:
如今,我经常听到的是:“我想成为一名开发人员,我该如何开始?”,“我想成为一名开发人员,我需要什么样的笔记本电脑?”或“我需要购买最新的 MacBook 才能成为一名开发人员吗?”说实话,我对此感到困惑。
不,孩子们,你不需要最新的花哨技术或火箭🚀才能成为开发人员,你需要的是一个能够安装编程包并编译它们的操作系统;你甚至可以使用你奶奶的旧笔记本电脑。现在你会问:“这怎么可能?!”
让我们回顾一下过去;大约三年半以前,我开始摆弄一台SBC -单板计算机,起价不到 50 欧元,现在,我在这台计算机上拥有一个 Web 服务器和一个数据库,每小时执行数百次 Web 抓取,除此之外,我还在开发 API 端点。
该SBC甚至不是其系列中最新的,它具有:
8GB LPDDR4 内存
1.5GHz 四核 ARM Cortex-A72 CPU(2015 年推出)- 您可以轻松安全地超频至 2GHz(+ 风扇扩展和散热器)
以下是 GPT 对这些规格的评价:您提供的规格对于某些类型的计算任务来说还不错,但对于其他类型的计算任务来说可能不够用。以下是评估:
ARM Cortex-A72 是一种功能强大的处理器设计,常见于智能手机、平板电脑和其他移动设备。
四核配置意味着它有四个核心,使其能够更有效地同时处理多个任务。
1.5GHz 时钟速度适合通用计算任务,包括网页浏览、媒体消费和生产力应用程序。
但是,对于游戏、视频编辑或运行复杂软件等要求更高的任务,更高的时钟速度和可能更多的内核将提供更好的性能。总之,这些规格适用于轻度到中度的计算任务,例如日常生产力、网页浏览和多媒体消费。但是,对于要求更高的任务或面向未来,您可能需要考虑升级到具有更多 RAM 和更快 CPU 的系统。
相信我,一开始,轻度到中度的接触就足够了,因此使用 Pi 板,您可以轻松拥有一个工作桌面环境,在其中您可以学习如何编码,不仅可以学习前端,还可以学习后端编程语言,例如 Python、c++(甚至更节能)或 javascript。
我用什么?
在我的 Raspberry Pi 上,我正在使用以下代码开发代码:
Ubuntu桌面——由desktopify提供:
VSCode 远程连接服务器
Python3脚本,用于抓取网络数据并构建由CSS实现的HTML网页
要求
硒
熊猫
并行处理 - parallel.futures
这里或那里Javascript与PHP相结合。
自动以JSON格式写入我的Sqlite3数据库的 Python3 脚本。
Flask应用程序是一个小型轻量级的 Python Web 框架,它提供了有用的工具和功能,可以使用 Python 创建 Web 应用程序。
最后,一段调用 Flask端点( RESTful API 端点)的 JavaScript 代码
接近 4 年的时间,摊销成本肯定为 120E,每月电费不到 4E🔌。
总结一下,BerryNews的系统架构如下:
这里的关键因素是高效资源利用+资源利用约束。
如果您可以编写高效的代码,为什么还要浪费时间呢?
如果我们将所有内容总结起来,我们最终会在一台 100 美元的计算机上得到如下的表格:
类别 | 关键词 |
---|---|
编程语言 | Python3、Javascript、PHP、CSS、HTML、SQL |
数据格式 | JSON |
构架 | 烧瓶,硒,并发未来 |
数据库 | sqlite3 |
联网 | 路由器配置,DNS |
网络安全 | UFW(防火墙)、ClamAV(防病毒)、Fail2ban( IPS )、密码管理、SSH 密钥、Let's Encrypt( SSL证书) |
Linux | 树莓派、Ubuntu 桌面、VSCode |
那么,告诉我,您是否仍然认为需要最新的笔记本电脑规格才能成为开发人员?