年配の開発者やエンジニアは LAMP スタック💡を覚えているかもしれません。再設計されているとはいえ、すべてを基本まで削ぎ落とすと、次のことがわかります。
オペレーティングシステム
ウェブサーバー
データベース
プログラミング言語
今日お話しするのは、LAMP スタックを別の形式でどのように再考したかということです。
最近よく耳にするのは、「開発者になりたいのですが、どうしたらいいですか?」「開発者になりたいのですが、どんなノートパソコンが必要ですか?」「開発者になるには最新の MacBook を買う必要がありますか?」といった質問ばかりで、正直言って、私も困り始めています。
いいえ、子供たち、開発者になるのに最新の派手な技術やロケット🚀は必要ありません。必要なのは、プログラミング パッケージをインストールしてコンパイルできるオペレーティング システムです。おばあちゃんの古いラップトップでも使えます。そして今、あなたはこう尋ねます。「どうしてこんなことが可能なのか?」
思い出を少し振り返ってみましょう。約 3 年半前、私は 50 ユーロ以下で購入できるSBC (シングル ボード コンピューター) をいじり始めました。現在、そのコンピューターで Web サーバーとデータベースを構築し、1 時間あたり数百件の Web スクレイピングを実行しています。さらに、API エンドポイントの開発にも取り組んでいます。
このSBC は、同シリーズの中でも最新のものではありませんが、次のような特徴があります。
8GBのLPDDR4内部メモリ
1.5GHz クアッドコア ARM Cortex-A72 CPU (2015 年発売) - 簡単かつ安全に 2GHz でオーバークロック可能 (+ファン拡張とヒートシンク)
GPT はこれらの仕様について次のように述べています: 提供された仕様は、特定の種類のコンピューティング タスクには適していますが、他のタスクには十分ではない可能性があります。評価は次のとおりです:
ARM Cortex-A72 は、スマートフォン、タブレット、その他のモバイル デバイスによく見られる高性能なプロセッサ設計です。
クアッドコア構成とは、4 つのコアがあり、複数のタスクを同時により効率的に処理できることを意味します。
1.5GHz のクロック速度は、Web ブラウジング、メディア消費、生産性アプリケーションなどの汎用コンピューティング タスクに適しています。
ただし、ゲーム、ビデオ編集、複雑なソフトウェアの実行など、より要求の厳しいタスクの場合は、クロック速度を高くし、コア数を増やすことでパフォーマンスが向上します。まとめると、これらの仕様は、日常的な生産性、Web ブラウジング、マルチメディアの消費など、軽度から中程度のコンピューティング タスクに適しています。ただし、より要求の厳しいタスクや将来性を考慮したい場合は、RAM を増やして CPU を高速化したシステムへのアップグレードを検討してください。
信じてください、最初は軽度から中程度のもので十分です。Pi ボードを使用すると、コードの書き方を学習できる実用的なデスクトップ環境を簡単に構築できます。フロントエンドだけでなく、Python、C++ (さらにエネルギー効率が高い)、JavaScript などのバックエンド プログラミング言語も学習できます。
何を使えばいいですか?
私は Raspberry Pi で、次のコードを開発しています:
Ubuntuデスクトップ -desktopify提供:
ファイアウォール
ウイルス対策
侵入防止ソフトウェア IPS
ネットワーキング
強力なパスワード管理
VSCode がサーバーにリモート接続する
Web をスクレイピングしてCSSで表現されたHTML Web ページを構築するPython3スクリプト
リクエスト
セレン
パンダ
並列処理 - parallel.futures
ところどころでJavaScriptとPHPが組み合わされています。
JSON形式でSqlite3データベースに自動的に書き込む Python3 スクリプト。
Flaskアプリは、Python で Web アプリケーションを作成するのに役立つツールと機能を提供する、小型で軽量な Python Web フレームワークです。
そして最後に、Flaskエンドポイント( RESTful APIエンドポイント)を呼び出すJavascriptコードです。
ほぼ 4 年間、確実に償却されるコストは 120 ユーロ、電気代は 1 か月あたり 4 ユーロ未満です🔌。
すべてを要約すると、BerryNews のシステム アーキテクチャは次のようになります。
ここで重要な要素は、効率的なリソース使用率+リソース使用率の制約です。
効率的なコードが書けるのに、なぜお金を浪費するのでしょうか?
すべてを合計すると、100 ドルのコンピューターでは次のような表になります。
カテゴリー | キーワード |
---|---|
プログラミング言語 | Python3、Javascript、PHP、CSS、HTML、SQL |
データ形式 | 翻訳 |
フレームワーク | フラスコ、セレン、concurrent.futures |
データベース | sqlite3 |
ネットワーキング | ルーター設定、DNS |
サイバーセキュリティ | UFW (ファイアウォール)、ClamAV (ウイルス対策)、Fail2ban ( IPS )、パスワード管理、SSHキー、Let's Encrypt ( SSL証明書) |
リナックス | ラズベリーパイ、Ubuntuデスクトップ、VSCode |
それで、開発者になるには最新のノートパソコンのスペックが必要だとまだ思いますか?