paint-brush
RaspberryPi: テクノロジーの過剰 - LAMP🕯からUASP🐝まで@tudoracheabogdan
499 測定値
499 測定値

RaspberryPi: テクノロジーの過剰 - LAMP🕯からUASP🐝まで

Bogdan Tudorache4m2024/04/30
Read on Terminal Reader

長すぎる; 読むには

LAMP スタックは、開発者が簡単に始められるように再設計されました。このスタックには、オペレーティング システム、Web サーバー、データベース、プログラミング言語が含まれています。このスタックを Raspberry Pi やその他の小型コンピューターに適用する方法を説明します。
featured image - RaspberryPi: テクノロジーの過剰 - LAMP🕯からUASP🐝まで
Bogdan Tudorache HackerNoon profile picture
0-item

スタック:

年配の開発者やエンジニアは LAMP スタック💡を覚えているかもしれません。再設計されているとはいえ、すべて基本まで削ぎ落とすと、次のことがわかります。


  1. オペレーティングシステム

  2. ウェブサーバー

  3. データベース

  4. プログラミング言語


今日お話しするのは、LAMP スタックを別の形式でどのように再考したかということです。

  • リナックス
  • アパッチ
  • マイSQL
  • PHPから:
  • ウブントゥ
  • アパッチ
  • SQLite3 の
  • パイソン

何が必要ですか?

最近よく耳にするのは、「開発者になりたいのですが、どうしたらいいですか?」「開発者になりたいのですが、どんなノートパソコンが必要ですか?」「開発者になるには最新の MacBook を買う必要がありますか?」といった質問ばかりで、正直言って、私も困り始めています。


いいえ、子供たち、開発者になるのに最新の派手な技術やロケット🚀は必要ありません。必要なのは、プログラミング パッケージをインストールしてコンパイルできるオペレーティング システムです。おばあちゃんの古いラップトップでも使えます。そして今、あなたはこう尋ねます。「どうしてこんなことが可能なのか?」


思い出を少し振り返ってみましょう。約 3 年半前、私は 50 ユーロ以下で購入できるSBC (シングル ボード コンピューター) をいじり始めました。現在、そのコンピューターで Web サーバーとデータベースを構築し、1 時間あたり数百件の Web スクレイピングを実行しています。さらに、API エンドポイントの開発にも取り組んでいます。


このSBC は、同シリーズの中でも最新のものではありませんが、次のような特徴があります。

  • 8GBのLPDDR4内部メモリ

  • 1.5GHz クアッドコア ARM Cortex-A72 CPU (2015 年発売) - 簡単かつ安全に 2GHz でオーバークロック可能 (+ファン拡張とヒートシンク)


GPT はこれらの仕様について次のように述べています: 提供された仕様は、特定の種類のコンピューティング タスクには適していますが、他のタスクには十分ではない可能性があります。評価は次のとおりです:


  • 8GB LPDDR4 内部メモリ:
  • LPDDR4 は、モバイル デバイスや一部のラップトップで一般的に使用されている、比較的高速で電力効率に優れたタイプの RAM です。
  • 8GB は、Web ブラウジング、オフィス作業、軽いマルチタスクなどの日常的なタスクには十分な適度なメモリ量です。また、適度なゲームやコンテンツ作成アプリケーションも処理できます。
  • ただし、ビデオ編集、グラフィック デザイン、仮想マシンの実行など、より要求の厳しいタスクの場合、8 GB では制限があり、パフォーマンスのボトルネックが発生する可能性があります。
  • 1.5GHz クアッドコア ARM Cortex-A72 CPU:
    • ARM Cortex-A72 は、スマートフォン、タブレット、その他のモバイル デバイスによく見られる高性能なプロセッサ設計です。

    • クアッドコア構成とは、4 つのコアがあり、複数のタスクを同時により効率的に処理できることを意味します。

    • 1.5GHz のクロック速度は、Web ブラウジング、メディア消費、生産性アプリケーションなどの汎用コンピューティング タスクに適しています。

    • ただし、ゲーム、ビデオ編集、複雑なソフトウェアの実行など、より要求の厳しいタスクの場合は、クロック速度を高くし、コア数を増やすことでパフォーマンスが向上します。まとめると、これらの仕様は、日常的な生産性、Web ブラウジング、マルチメディアの消費など、軽度から中程度のコンピューティング タスクに適しています。ただし、より要求の厳しいタスクや将来性を考慮したい場合は、RAM を増やして CPU を高速化したシステムへのアップグレードを検討してください。


信じてください、最初は軽度から中程度のもので十分です。Pi ボードを使用すると、コードの書き方を学習できる実用的なデスクトップ環境を簡単に構築できます。フロントエンドだけでなく、Python、C++ (さらにエネルギー効率が高い)、JavaScript などのバックエンド プログラミング言語も学習できます。


何を使えばいいですか?

私は Raspberry Pi で、次のコードを開発しています:

  • Ubuntuデスクトップ -desktopify提供:

  • VSCode がサーバーにリモート接続する


  • Web をスクレイピングしてCSSで表現されたHTML Web ページを構築するPython3スクリプト

    • リクエスト

    • セレン

    • パンダ

    • 並列処理 - parallel.futures


  • ところどころでJavaScriptPHPが組み合わされています。


  • 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

それで、開発者になるには最新のノートパソコンのスペックが必要だとまだ思いますか?