KWERC
ESシェルで書かれたウリエルのWERC Webフレームワークの再想像であるKyle's Wercへようこそ。
特徴
- 生産的。シェルスクリプトを書くのと同じくらい簡単に強力でスケーラブルなWebアプリを構築します。文字通り - esはシェルです! SEDやGREPなどのUNIXツールをパイプして、コードが非常に少ない複雑な関数を構築するためのコマンドラインプログラムを実質的にパイプします。また、Bourne/Bashやその他のシェルよりもはるかにインテリジェントなデザインがあるため、ESは楽しくて信頼性が高くなります。
- 学ぶのは簡単です。 ESを知らない?問題ありません(ほとんど誰もしません)。 ESは非常に簡単です。 Bourne ShellまたはBashまたはRCを知っている場合、あなたはすでにほとんどのESを知っています。詳細については、言語の完全な説明については、言語の完全な説明とESマンページをご覧ください。
- ハッキング可能。 KWERCは数百行のESです。お気に入りのデータベースと簡単に統合し(ESの強力なI/Oリダイレクトを利用したいのですが、プレーンテキストファイルツリーにデータを保存してみてください。または、任意の言語のコードなど、データベースをマウントしてください)。
- 強力。標準のシェル機能に加えて、ESは拡張可能で機能的であり、ファーストクラスの機能、語彙範囲、例外、および豊富な返品値をサポートしています。もっと必要ですか? KWERCは、ESからインラインで使用できる燃えるような高速MAWKインタープリターで出荷されます。または、繰り返しますが、お気に入りの言語を簡単に統合します(一部の言語には、シェルから呼び出されたときに大きなパフォーマンスヒットが付いていることに注意してください)。
- 速い。静的にコンパイルされたUNIXコマンドラインツール(9ベース)の完全なセットを含む、小さなラムディスクに適合します。クラスターで動作します。プライマリデータストアとしてのRedisをサポートしています(Kwerc-Redis。
- 安全な。 KWERCは、シェル注入に対して強力な保護を持っています。 ESの引用ルールと全体的な賢明な構文は、他のシェルで一般的なセキュリティバグを避けます。そしてもちろん、シンプルさほど良いセキュリティ機能はありません。 KWERCは設計と実装によってシンプルであり、KWERCで構築されたソフトウェアは、コードが少なく、バグが少なくなります。さらに、KWERCは完全に自己完結型であり、読み取り専用のクルートまたは刑務所で実行できます。
- ポータブル。典型的なUnixで実行する必要があります(いつか計画9またはInfernoでも実行される場合があります)。外部依存関係はありません。 100%静的にコンパイルされています。
依存関係
すべてがベンダーに含まれています/。構築するには、CとGolang(> = 1.11)コンパイラが必要です。最大のパフォーマンス(KWERCから実行する外部プログラムを含む)のために静的に構築することを強くお勧めします。 MUSLは理想的です(ただし、一部の環境では9ベースでバグを作成する場合があります)。
シンプルなmake 、ベンダーの依存関係をコンパイルし、適切な場所に置きます。 make installを実行する必要はありません(実際、できません) - すべてがKWERCディレクトリに自己完結型です。
Debian:
# apt install build-essential golang-go
$ make
高山:
# apk add build-base go
$ make
これらの依存関係の簡単な概要を次に示します。
- ES:ESインタープレーター。代替品:RC、少しの移植作業がある他のシェル。
- 9Base:Unixに移植されたさまざまなプラン9ツールで、素敵なシェル環境を提供します。代替品:Coreutils、Sbase、Busyboxなど。少しの移植作業。
- Mawk:高速awk通訳者。代替品:他のawkインタープリター。
- Kryptgo:Authに使用されるいくつかのGolang Crypto関数へのコマンドラインインターフェイス。
- CGD:CGI Webサーバー。代替品:CGIサポートを備えたWebサーバー - 今後のドキュメント。
使用法
./bin/cgd -c app/es/kwerc.es
KWERCは、http://127.0.0.1:42069で到達できるようになりました。デフォルトのサイトには、基本的なログイン/登録とデバッグページが付属しています。
次は:実際のWebアプリの構築。ドキュメントは、kwerc.orgで進行中の作業です。 WERCのドキュメントも多少適用されます。
拡張機能
頻繁に質問されました
Q.シェルのWebフレームワーク?あなたは真剣になることはできません。
A.これはバッシュではありません。
Q. CGI?それは遅くはありませんか?
A. https://www.mail-archive.com/[email protected]/msg00202.html
Q.静的バイナリ?それらは巨大/不安/遅いものではありませんか?
A. https://sta.li/faq/
お近くのkwercに間もなく来ます
- ドキュメント
- ファイルアップロード
- キャッシング
- PWAサポート
- ???
接触
[email protected]
寄付する
お金を送るだけです
ライセンス
KWERCはISCライセンスの下に配布されます。詳細については、ライセンスを参照してください。
ベンダーの下での依存関係/独自のライセンスがあります。それらを読んでください。
ありがとうと歴史
KwercはUrielの記憶に捧げられています。 <3
Kwercは、UrielがGarbeam、Kris Maglione、Sqweek、Soul9、Mycroftiv、Maht、Yiyus、cinap_lenrek、KHMなどから貢献したWERCに基づいています。
Kwercは、GarbeamのWercフォーク、Swercの多くの変更を組み込んでいます。
ベンダー/の下のさまざまな依存プロジェクトの背後にあるすべての人にも感謝します。
KWERCのアイデアは、ROVR、VRLFP、Tokumei、Gelato Labs、Werchanなど、WERCを採用したさまざまなプロジェクトから来ています。関係者全員に感謝します。 KWERCのデザインを形作った多くの知恵に、著名な天才と親愛なる友人キーファー・ロークに感謝します。