paint-brush
RaspberryPi: Quá tải công nghệ - LAMP🕯 đến UASP🐝từ tác giả@tudoracheabogdan
459 lượt đọc
459 lượt đọc

RaspberryPi: Quá tải công nghệ - LAMP🕯 đến UASP🐝

từ tác giả Bogdan Tudorache4m2024/04/30
Read on Terminal Reader

dài quá đọc không nổi

Ngăn xếp LAMP đã được thiết kế lại để giúp các nhà phát triển bắt đầu dễ dàng hơn. Ngăn xếp bao gồm một hệ điều hành, máy chủ web, cơ sở dữ liệu và ngôn ngữ lập trình. Chúng ta sẽ xem cách áp dụng ngăn xếp này cho Raspberry Pi và các máy tính nhỏ khác.
featured image - RaspberryPi: Quá tải công nghệ - LAMP🕯 đến UASP🐝
Bogdan Tudorache HackerNoon profile picture
0-item

Cây rơm:

Các nhà phát triển và kỹ sư lớn tuổi hơn có thể nhớ đến ngăn xếp LAMP💡 và mặc dù nó đã được thiết kế lại, nhưng nếu chúng tôi chia nhỏ mọi thứ về mức cơ bản thì những gì chúng tôi thấy và cần là:


  1. một hệ điều hành

  2. một máy chủ web

  3. Một cơ sở dữ liệu

  4. một ngôn ngữ lập trình


Điều tôi sẽ nói với bạn hôm nay là cách tôi mô phỏng lại ngăn xếp LAMP ở định dạng thay thế :

  • Linux
  • Apache
  • MySql
  • Php tới:
  • Ubuntu
  • Apache
  • Sqlite3
  • Python

Nó cần những gì?

Ngày nay, tất cả những gì tôi thường nghe là: “Tôi muốn trở thành nhà phát triển thì bắt đầu như thế nào?”, “Tôi muốn trở thành nhà phát triển, tôi cần chiếc máy tính xách tay nào?” hoặc “Tôi có cần mua MacBook mới nhất để trở thành nhà phát triển không?” và thành thật mà nói, nó bắt đầu ảnh hưởng đến tôi.


Không trẻ con , bạn không cần công nghệ mới nhất hay tên lửa🚀 để trở thành nhà phát triển, điều bạn cần là một hệ điều hành có khả năng cài đặt các gói lập trình và có thể biên dịch chúng; bạn thậm chí có thể sử dụng máy tính xách tay cũ của bà bạn. Và bây giờ bạn hỏi: "Làm sao điều này có thể xảy ra được?!"


Chúng ta hãy thực hiện một chuyến đi ngắn về miền ký ức; Gần 3 năm rưỡi trước, tôi bắt đầu mày mò với một chiếc SBC - máy tính bảng đơn r có giá khởi điểm dưới 50E để mua và hiện tại, trên đó, tôi có một máy chủ web, một cơ sở dữ liệu, đang thực hiện hàng trăm mẩu tin lưu niệm trên web mỗi lần. giờ và trên hết, tôi đang nỗ lực phát triển điểm cuối API.


SBC này thậm chí không phải là sản phẩm mới nhất trong dòng sản phẩm của nó và có:

  • 8GB bộ nhớ trong LPDDR4

  • CPU ARM Cortex-A72 lõi tứ 1,5 GHz (ra mắt năm 2015) - bạn có thể ép xung dễ dàng và an toàn ở tốc độ 2GHz (+mở rộng quạt & tản nhiệt)


Đây là những gì GPT nói về các thông số kỹ thuật này: Các thông số kỹ thuật bạn cung cấp phù hợp với một số loại tác vụ điện toán nhất định nhưng chúng có thể không đủ cho các loại tác vụ khác. Đây là một đánh giá:


  • Bộ nhớ trong 8GB LPDDR4:
  • LPDDR4 là loại RAM tương đối nhanh và tiết kiệm điện năng thường được sử dụng trong các thiết bị di động và một số máy tính xách tay.
  • 8GB là dung lượng bộ nhớ vừa phải, đủ dùng cho các tác vụ hàng ngày như duyệt web, làm việc văn phòng và đa nhiệm nhẹ nhàng. Nó cũng có thể xử lý các ứng dụng chơi game và tạo nội dung vừa phải.
  • Tuy nhiên, đối với các tác vụ đòi hỏi khắt khe hơn như chỉnh sửa video, thiết kế đồ họa hoặc chạy máy ảo, 8GB có thể bị hạn chế và bạn có thể gặp phải tình trạng tắc nghẽn về hiệu suất.
  • CPU ARM Cortex-A72 lõi tứ 1,5 GHz:
    • ARM Cortex-A72 là một thiết kế bộ xử lý có khả năng thường thấy trong điện thoại thông minh, máy tính bảng và các thiết bị di động khác.

    • Cấu hình lõi tứ có nghĩa là nó có bốn lõi, cho phép nó xử lý nhiều tác vụ đồng thời hiệu quả hơn.

    • Tốc độ xung nhịp 1,5 GHz phù hợp cho các tác vụ điện toán có mục đích chung, bao gồm duyệt web, sử dụng phương tiện và các ứng dụng năng suất.

    • Tuy nhiên, đối với các tác vụ đòi hỏi khắt khe hơn như chơi game, chỉnh sửa video hoặc chạy phần mềm phức tạp, tốc độ xung nhịp cao hơn và có thể nhiều lõi hơn sẽ mang lại hiệu suất tốt hơn. Tóm lại, các thông số kỹ thuật này phù hợp với các tác vụ tính toán từ nhẹ đến trung bình, chẳng hạn như năng suất hàng ngày, duyệt web và sử dụng đa phương tiện. Tuy nhiên, đối với các tác vụ đòi hỏi khắt khe hơn hoặc phù hợp với tương lai, bạn có thể cân nhắc nâng cấp lên hệ thống có nhiều RAM hơn và CPU nhanh hơn.


Tin tôi đi, ngay từ đầu, mức độ nhẹ đến vừa phải là quá đủ, vì vậy với bảng Pi, bạn có thể dễ dàng có một môi trường máy tính để bàn làm việc, trong đó bạn có thể học cách viết mã và không chỉ giao diện người dùng mà thậm chí cả các ngôn ngữ lập trình phụ trợ như Python , c++ (thậm chí còn tiết kiệm năng lượng hơn) hoặc javascript.


Tôi sử dụng cái gì?

Trên Raspberry Pi, tôi đang phát triển mã với:

  • Máy tính để bàn Ubuntu - nhờ sự hỗ trợ củamáy tính để bàn :

  • VSCode kết nối từ xa với máy chủ


  • Các tập lệnh Python3 quét web và xây dựng các trang web HTML được thể hiện bằng CSS

    • yêu cầu

    • selen

    • gấu trúc

    • xử lý song song - concurrent.futures


  • Javascript kết hợp với PHP ở đây và ở đó.


  • Các tập lệnh Python3 tự động ghi vào cơ sở dữ liệu Sqlite3 của tôi ở định dạng JSON .


  • Ứng dụng Flask , một khung web Python nhỏ và nhẹ cung cấp các công cụ và tính năng hữu ích giúp tạo các ứng dụng web bằng Python.


  • Và cuối cùng là một đoạn mã Javascript gọi điểm cuối Flask - điểm cuối API RESTful


    Trong gần 4 năm với chi phí khấu hao chắc chắn là 120E và < 4E mỗi tháng tiền điện🔌.


Để tóm tắt mọi thứ, đây là kiến trúc hệ thống BerryNews:

Các yếu tố chính ở đây là Sử dụng tài nguyên hiệu quả + Ràng buộc sử dụng tài nguyên .


Tại sao phải vung tiền khi bạn có thể viết mã hiệu quả?

Phần kết luận:

Nếu chúng ta tổng hợp mọi thứ lại thì chúng ta sẽ có một bảng như thế này trên một chiếc máy tính 100 đô la:

Loại

Từ khóa

Ngôn ngữ lập trình

Python3, Javascript, PHP, CSS, HTML, SQL

Định dạng dữ liệu

JSON

Khung

bình, selen, đồng thời.futures

Cơ sở dữ liệu

sqlite3

Mạng

cấu hình bộ định tuyến, DNS

An ninh mạng

UFW ( tường lửa ), ClamAV ( chống virus ), Fail2ban ( IPS ), quản lý mật khẩu, Khóa SSH, Let's Encrypt ( chứng chỉ SSL )

Linux

Raspberry Pi, Máy tính để bàn Ubuntu, VSCode

Vì vậy, hãy cho tôi biết, bạn vẫn nghĩ rằng mình cần thông số kỹ thuật máy tính xách tay mới nhất để trở thành nhà phát triển phải không?