paint-brush
RaspberryPi: Aşırı Teknoloji Yükü - LAMP🕯'den UASP🐝'yeile@tudoracheabogdan
448 okumalar
448 okumalar

RaspberryPi: Aşırı Teknoloji Yükü - LAMP🕯'den UASP🐝'ye

ile Bogdan Tudorache4m2024/04/30
Read on Terminal Reader

Çok uzun; Okumak

LAMP yığını, geliştiricilerin çalışmaya başlamasını kolaylaştırmak için yeniden tasarlandı. Yığın bir işletim sistemi, bir web sunucusu, bir veritabanı ve bir programlama dili içerir. Bu yığının Raspberry Pi ve diğer küçük bilgisayarlara nasıl uygulanabileceğine bakacağız.
featured image - RaspberryPi: Aşırı Teknoloji Yükü - LAMP🕯'den UASP🐝'ye
Bogdan Tudorache HackerNoon profile picture
0-item

Yığın:

Daha eski geliştiriciler ve mühendisler LAMP yığınını💡 hatırlayabilirler ve yeniden tasarlanmış olmasına rağmen, her şeyi temellere indirirsek bulduğumuz ve ihtiyaç duyduğumuz şey şudur:


  1. bir işletim sistemi

  2. bir web sunucusu

  3. bir veritabanı

  4. bir programlama dili


Bugün sizinle LAMP yığınını alternatif bir formatta nasıl yeniden tasarladığım hakkında konuşacağım:

  • Linux
  • Apaçi
  • MySql
  • Php'den :
  • ubuntu
  • Apaçi
  • SQLite3
  • Piton

Ne Gerekir?

Bugünlerde sıklıkla duyduğum tek şey şu: "Geliştirici olmak istiyorum, nasıl başlayacağım?", "Geliştirici olmak istiyorum, hangi dizüstü bilgisayara ihtiyacım var?" veya "Geliştirici olmak için en yeni MacBook'u satın almam gerekiyor mu?" ve dürüst olmak gerekirse bu beni etkilemeye başlıyor.


Çocuk yok , geliştirici olmak için en son teknolojiye veya rokete🚀 ihtiyacınız yok, ihtiyacınız olan şey programlama paketlerini yükleyebilen ve bunları derleyebilen bir işletim sistemidir; büyükannenizin eski dizüstü bilgisayarını bile kullanabilirsiniz. Şimdi siz soruyorsunuz: “Bu nasıl olabilir?!”


Haydi hafızalarda kısa bir yolculuğa çıkalım; neredeyse 3 buçuk yıl önce, satın alınması 50E'nin altında başlayan bir SBC - tek kartlı bilgisayarla uğraşmaya başladım ve şu anda onun üzerinde bir web sunucum, bir veritabanım var ve başına yüzlerce web kazıma gerçekleştiriyorum saat ve bunun da ötesinde bir API uç noktası geliştirmeye çalışıyorum.


Bu SBC, ürün gamının en yenisi bile değil ve şu özelliklere sahip:

  • 8 GB LPDDR4 dahili bellek

  • 1,5 GHz dört çekirdekli ARM Cortex-A72 CPU (2015'te piyasaya sürüldü) - 2 GHz'de kolayca ve güvenli bir şekilde hız aşırtma yapabilirsiniz (+fan uzantısı ve soğutucu)


GPT'nin bu özellikler hakkında söyleyecekleri şunlardır: Sağladığınız özellikler belirli bilgi işlem görevleri türleri için uygundur ancak diğerleri için yeterli olmayabilir. İşte bir değerlendirme:


  • 8GB LPDDR4 dahili bellek:
  • LPDDR4, mobil cihazlarda ve bazı dizüstü bilgisayarlarda yaygın olarak kullanılan nispeten hızlı ve güç açısından verimli bir RAM türüdür.
  • 8 GB, web'de gezinme, ofis işleri ve hafif çoklu görevler gibi günlük görevler için yeterli olması gereken orta miktarda bir bellektir. Ayrıca orta düzeyde oyun ve içerik oluşturma uygulamalarını da işleyebilir.
  • Ancak video düzenleme, grafik tasarım veya sanal makineleri çalıştırma gibi daha zorlu görevler için 8 GB sınırlayıcı olabilir ve performans darboğazlarıyla karşılaşabilirsiniz.
  • 1,5 GHz Dört Çekirdekli ARM Cortex-A72 CPU:
    • ARM Cortex-A72, akıllı telefonlarda, tabletlerde ve diğer mobil cihazlarda yaygın olarak bulunan yetenekli bir işlemci tasarımıdır.

    • Dört çekirdekli konfigürasyon, dört çekirdeğe sahip olduğu anlamına gelir ve bu da birden fazla görevi aynı anda daha verimli bir şekilde yerine getirmesine olanak tanır.

    • 1,5 GHz saat hızı, web'de gezinme, medya tüketimi ve üretkenlik uygulamaları dahil olmak üzere genel amaçlı bilgi işlem görevleri için uygundur.

    • Ancak oyun oynama, video düzenleme veya karmaşık yazılımları çalıştırma gibi daha zorlu görevler için daha yüksek saat hızı ve muhtemelen daha fazla çekirdek daha iyi performans sağlayacaktır. Özetle, bu özellikler günlük üretkenlik, web'de gezinme ve multimedya tüketimi gibi hafif ila orta düzeydeki bilgi işlem görevleri için uygundur. Ancak daha zorlu görevler veya geleceğe hazırlık için, daha fazla RAM'e ve daha hızlı CPU'ya sahip bir sisteme yükseltme yapmayı düşünebilirsiniz.


İnanın bana, başlangıçta hafif ila orta seviye fazlasıyla yeterli, bu nedenle bir Pi kartıyla, kodlamayı öğrenebileceğiniz, yalnızca ön uç değil, Python gibi arka uç programlama dillerini bile öğrenebileceğiniz çalışan bir masaüstü ortamına kolayca sahip olabilirsiniz. , c++ (enerji açısından daha da verimlidir) veya javascript.


Ne kullanıyorum?

Raspberry Pi'mde şununla kod geliştiriyorum:

  • Ubuntu Masaüstü -Desktopify'ın izniyle:

  • VSCode sunucuya uzaktan bağlanıyor


  • Web'i kazıyan ve CSS tarafından somutlaştırılan HTML web sayfaları oluşturan Python3 komut dosyaları

    • istekler

    • selenyum

    • pandalar

    • paralel işleme - concurrent.futures


  • Javascript burada ve orada PHP ile birleşti.


  • Sqlite3 veritabanıma JSON formatında otomatik olarak yazan Python3 scriptleri.


  • Flask uygulaması, Python'da web uygulamaları oluşturmayı kolaylaştıran kullanışlı araçlar ve özellikler sağlayan küçük ve hafif bir Python web çerçevesidir .


  • Ve son olarak, RESTful API uç noktası olan Flask uç noktasını çağıran bir Javascript kod parçası


    4 yıla yakın süreyle, elektrikte ayda 120E ve < 4E tutarında kesinlikle amortize edilmiş maliyetle🔌.


Her şeyi özetlemek gerekirse, BerryNews sistem mimarisi şu şekildedir:

Buradaki temel faktörler Verimli Kaynak Kullanımı + Kaynak Kullanımı Kısıtlamalarıdır .


Verimli kod yazabilecekken neden savurganlık yapasınız ki?

Çözüm:

Her şeyi özetlersek 100 dolarlık bir bilgisayarda şöyle bir tabloyla karşılaşırız:

Kategori

Anahtar Kelimeler

Programlama dilleri

Python3, Javascript, PHP, CSS, HTML, SQL

Veri formatları

JSON

Çerçeveler

şişe, selenyum, eşzamanlı.vadeli işlemler

Veritabanları

sqlite3

Ağ oluşturma

yönlendirici yapılandırması, DNS

Siber güvenlik

UFW ( güvenlik duvarı ), ClamAV ( antivirüs ), Fail2ban ( IPS ), şifre yönetimi, SSH Keys, Let's Encrypt ( SSL sertifikası )

Linux

Raspberry Pi, Ubuntu Masaüstü, VSCode

Peki söyle bana, geliştirici olmak için hâlâ en yeni dizüstü bilgisayar özelliklerine ihtiyacın olduğunu düşünüyor musun?