Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl

人気のWebフレームワーク Mojoliciousのバージョン7がリリースされました

Perlの人気のWebフレームワーク Mojoliciousのバージョン7がリリースされました。

Mojolicious 7.0 released: Perl real-time web framework

翻訳

私は、Mojolicious 7.0 (Doughnut)のリリースを報告できることに、とても興奮しています。

Mojoliciousのコミュニティは、成長し続けている一方、ディスビューションのサイズは、実際に小さくなり続けている。あなたはびっくりするでしょう。これは、とてもよいことです。私たちが数年で追加したすべての機能が存在するにもかかわらず、コードサイズを、2010年の11247行から、今日の8490行まで、減らし続けてきました。

あなたが見ることができるように、それは、新しい傾向ではないので、わたしたちは、反復の改善を強調します。すでに解決された問題に対して、より効率的な解決策が見つかることが含まれます。

同時に、テストの数は、すべてのリリースで増加しており、11245個のテストで、とても快適な95%のテストカバレッジスコアに到達しています。

すべてのリリースで、私たちは、大きなパフォーマンスの改善を見ることができています。最適化の機会を見つけることが、難しくなり続けているにもかかわらず、これは、7.0における場合も再び見ることができます。

日常的に行っているベンチマークである「秒あたりのリクエスト数」において特に傾向を見ることができます。

追加で、少しの内部的なリファクタリングを行いました。組み込みのHTTPとWebSocketサーバーが、大きな数のCPUコアにおいても、効率的にスケールすることができるようにするためにです。大きな数のCPUは、より一般的に利用されるようになることでしょう。

今年の主なフォーカスは、安定性であったのですが、新しい機能もまた追加されています。ここに、ハイライトのリストを記述します。

  • すべてのテンプレートにおける名前つき変数: Mojo::Templateはネイティブで、名前つき変数をサポート
  • HTTP methods: 「_method」クエリパラメータはリクエストメソッドをオーバーライドするのに利用できる
  • SNI:サーバーサイドで利用できる
  • Windows:Ubuntu on Windosの完全なサポート。これは、ゼロダウンタイムのソウトウェアのアップグレードを含みます
  • バリデーションのフィルター:パラメータはバリデーションを行う前にフィルターをかけることができる
  • Web Socketサブプロトコル:WebSocketのサブプロトコルネゴシエーションをサポート
  • Minion:私たちの小さなジョブキューはより早くなり、並列のプロセッシング、複数の名前つきキュー、失敗したジョブの自動再実行、ジョブディペンデンシーをサポート。
  • コードコンダクト:多様性がわたしたちを悩ませており、それゆえ、わたしたちはコードコンダクトを適用することに決定した

改善の完全なリストについては、より多くのことがGitHub上のChangesを見ることで確認できます。

追加:わたしたちは今、ステッカーを持っています。

楽しんで!

  • Perlとはテキスト処理の記述性とパフォーマンスに優れ、正規表現が言語に組み込まれているプログラミング言語です。
  • Linuxサーバーでのフィルタリングプログラム、複数行の文字列を処理、ファイル内容の検索・置換などが得意
  • Perlはgitopensslなど広く普及したUnix/Linuxミドルウェアの補助ツールとして採用実績あり。後方互換性とポータビリティの高さがひとつの理由と推測。
  • 大量のテキストを扱うWeb開発も得意。ロングテールSEOを意識したWebサイト、アドテクやソーシャルゲームでの50ms以内のJSONの生成など。