7/28付のGitHub Trendingからいくつかピックアップして紹介します。
1. carbon-lang: C++の後継言語
GitHub: https://github.com/carbon-language/carbon-lang
2022年7月のCppNorth会議で新しい言語Carbonが公開されました。
CarbonはC++の後継言語として作成され、C++のいくつかの欠点を修正することを意図していますが、それ以外は同様の機能セットもあります。
・パフォーマンスが重要なソフトウェア
・ソフトウェアと言語の進化
・読みやすく、理解しやすく、書きやすいコード
・実用的な安全性と試験メカニズム
・迅速かつスケーラブルな開発
・最新のOSプラットフォーム、ハードウェアアーキテクチャ、および環境
・既存の C++ コードとの相互運用性と既存の C++ コードからの移行
公式によると、C++とCarbon書き方の対象図も載せています:
C++
// C++:
#include <math.h>
#include <iostream>
#include <span>
#include <vector>
struct Circle {
float r;
};
void PrintTotalArea(std::span<Circle> circles) {
float area = 0;
for (const Circle& c : circles) {
area += M_PI * c.r * c.r;
}
std::cout << "Total area: " << area << "\n";
}
auto main(int argc, char** argv) -> int {
std::vector<Circle> circles = {{1.0}, {2.0}};
// Implicitly constructors `span` from `vector`.
PrintTotalArea(circles);
return 0;
}
Carbon:
// Carbon:
package Geometry api;
import Math;
class Circle {
var r: f32;
}
fn PrintTotalArea(circles: Slice(Circle)) {
var area: f32 = 0;
for (c: Circle in circles) {
area += Math.Pi * c.r * c.r;
}
Print("Total area: {0}", area);
}
fn Main() -> i32 {
// A dynamically sized array, like `std::vector`.
var circles: Array(Circle) = ({.r = 1.0}, {.r = 2.0});
// Implicitly constructs `Slice` from `Array`.
PrintTotalArea(circles);
return 0;
}
2. wails: Goでデスクトップ アプリケーションを構築する
GitHub: https://github.com/wailsapp/wails
従来ではGoプログラムにWebインターフェイスを提供するために組み込みのWebサーバーを介して行われていました。
Wailsは別のアプローチを提供しており、Goとフロントエンドを合わせて1つのバイナリファイルに作成することができ、
プロジェクトの作成、コンパイル、バンドルも簡単に処理するようにできます。
3. Prowler: AWSセキュリティツール
GitHub: https://github.com/prowler-cloud/prowler
Prowlerはオープンソースのセキュリティツールで、
AWSセキュリティのベストプラクティスの評価、監査、インシデント対応、継続的な監視、強化、forensics readinessを実行できます。
CIS、PCI-DSS、ISO27001、GDPR、HIPAA、FFIEC、SOC2、AWS FTR、ENS およびカスタムセキュリティフレームワークをカバーする240以上のコントロールが含まれています。
4. comcast: 悪いネットワーク環境をシミュレートするツール
GitHub: https://github.com/tylertreat/comcast
開発者は良いネットワーク環境で開発することはほとんどですが、ネットワーク問題をシミュレートできないため、
本番環境にて予想外の問題が発生されるかもしれません。
Comcastは、レイテンシ、帯域幅制限、パケットのドロップ/並べ替え/破損などの一般的なネットワーク問題をシミュレートするために設計されたツールです。
5. croc: 簡単・安全に他のコンピュータにファイルを伝送するツール
GitHub: https://github.com/schollz/croc
crocは、2台のコンピュータでファイルやフォルダを簡単かつ安全に転送するためのツールです。
機能:
・任意の2台のコンピュータでデータ転送ができる(リレーを使用する)
・エンドツーエンドの暗号化(PAKEを使用)
・クロスプラットフォーム転送が簡単にできる(Windows, Linux, Mac)
・複数のファイル転送が可能
・中断された転送を再開することができる
・ローカルサーバやポートフォワーディングが不要
・ipv6ファーストでipv4フォールバックが可能
・torのようなプロキシを使用することができる
プロフィール
-
Web広告事業→AWSクラウドエンジニア→フルスタックエンジニア
最近SaaSの開発、Rustとtauri絶賛勉強中です。
最新の投稿
- DevOpsDaysTokyo2023.05.19DevOpsDays Tokyo 2023 レポート – DevSecOpsについてまとめてみた
- IaC2022.08.09CDK for Terraformを使ってAWS基盤を構築してみました
- Github2022.08.05GitHubトレンド週刊 8/4号
- Github2022.07.29GitHubトレンド週刊 7/28号