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:
bir işletim sistemi
bir web sunucusu
bir veritabanı
bir programlama dili
Bugün sizinle LAMP yığınını alternatif bir formatta nasıl yeniden tasarladığım hakkında konuşacağım:
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:
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:
güvenlik duvarları
antivirüs
İzinsiz giriş önleme yazılımı IPS
ağ oluşturma
güçlü şifre yönetimi
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?
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?