Perl 6がオンラインで動作することは可能ですか?

ユージーン・バルスキー

これはおそらくナイーブであり、有効な質問ではありません...

私は、いくつかのユーザー定義パラメーターを考慮してローカルデータを分析するPerl 6プログラムを作成しました(そして他のいくつかのプログラムを作成したいと思っています)。私の同僚/同僚の何人かは定期的にプログラムの出力を必要としているので、彼らは私にパラメータを送ってくれます。私はプログラムを実行して出力を送り返します。
全体のプロセスがあまり便利ではないので、誰にとっても簡単にするために何ができるかを考えています。ここにオプションがありますが、どちらも理想的ではないようです。

  • 同僚のコンピューターにPerl6をインストールし、その使用方法を教えます。それらのほとんどはプログラミングの経験がなく、データとプログラム自体はすべてのコンピューターで最新の状態に保たれている必要があり、プログラムは異なるシステムで同じように動作する必要があります。したがって、これはおそらく事態を悪化させ、良くはしません。
  • プログラムのオンラインバリアントを作成して(JSなどを使用)、同僚がパラメーターを入力してブラウザーウィンドウで結果を取得できるようにします。これはユーザーにとってはるかに簡単です(そして私はすでにより単純なプログラムのためにそのようなものを作りました)が、私はPerl6を使用したいと思います...

だから、私の質問:どういうわけかPerl 6をオンラインで動作させることは可能ですか?ブラウザで動作しますか?または他の解決策はありますか?

raiph

同僚のコンピューターにPerl6をインストール...すると、状況は悪化するでしょうが、良くなることはないでしょう。

あなたが述べた詳細を考えると、...私は同意します。

プログラムの[a]バリアントを作成して(JSなどを使用)、同僚がパラメーターを入力してブラウザーウィンドウで結果を取得できるようにします。

これは当然の選択です。

(私はあなたの言葉の引用で「オンライン」を省略したことに注意してください。同僚が内部ネットワークを介してあなたのコンピューターを見ることができる場合でも、JS / Webソリューションを実行できますが、非公開のソリューションを実行できます。オンラインではありません。基本的に同じ解決策を実行しますが、わずかに異なるサーバー配管を使用します。)

別の方法は、構造化された電子メールを受け入れることです。詳細については、適切な場所をご覧ください。

Perl6を使用したい...

WebソリューションでJS以外の言語のコードを使用する最も一般的な方法は、ソリューションの「フロントエンド」で、多くの場合JSを含むhtmlなどを使用し、サーバーで実行されているコードの呼び出しを含めることです。 「バックエンド」として。

(もう1つの方法は、JSにトランスパイルすることです。理論的には、実験的なnqpバックエンドを介してPerl 6をJSにトランスパイルできます。これはエキサイティングな開発だと思いますが、短期的には遅く制限されると思います。)

(このセクションの最後のポイント。サーバーを組み合わせて学習したり対処したりしたくないために、代わりにPerl 6をJSソリューションに変換することになった場合は、プロトタイピングとしてPerl6を使用したことになります。言語。これは言語を使用するための正当な方法ですが、この回答の残りの部分では、サーバーを導入することを前提としています。)

サーバーの紹介と管理

サーバーは、確実に利用可能であり、「クライアント」(通常は他のコンピューター)からの要求に応じてソフトウェアをオンデマンドで実行するコンピューターまたはソフトウェアです。

それは単純に聞こえます、そしてある意味ではそうですが、他の方法ではそうではありません。誰かが電源を切った場合はどうなりますか?またはインターネットの請求書を支払わないのですか?または、ソフトウェアがメモリリークを引き起こし、システムに定期的な障害が発生していませんか?または、ハッカーが攻撃して侵入しますか?

サービスを使用しているユーザーがローカルネットワーク経由でサーバーコンピューターを既に認識できる場合を除き、多くの場合、サーバーをソリューション導入するための最新のアプローチは、オンラインサーバーパッケージ(通常は仮想化に基づくパッケージ)を購入することです(月に数ドル以上で考えてください。)まともなサービスプロバイダーを想定すると、これは、ハッキングされたり壊れたりしない限り、通常は稼働し、接続され、サービスを提供する、適切に実行されたサーバーであることを効果的に保証します。後者が発生した場合は、タイムリーに通知されます。「ゼロコスト」の代替手段は、デスクトップをサーバーにすることです。つまり、デスクトップを稼働させ、接続し続ける責任はあなたにあるということです。

サーバー管理するための最新のアプローチは、サーバー上でDockerなどを使用することです。これにより、サーバーがハッキングされたり壊れたりした場合に、正常に実行されているサーバーの問題をほぼ瞬時に修正できることが効果的に保証されます。また、展開された本番サーバーと同一であることが保証されている、開発およびテストできるローカルサーバーを簡単に作成できます。おそらく何よりも、Dockerをデスクトップにインストールするか、購入したサーバーで使用してから、準備済みのDockerファイルをドロップすると、サーバーを使用したことがない状態から、クリックするまでにサーバーが機能する状態に移行できます。いくつかのボタン。

OS仮想化とDockerまたはDockerのようなテクノロジーの両方を使用して、サーバーが24時間年中無休で利用できるのではなく、サーバーの使用時間に対してのみ料金を支払う、従量制の組み合わせを作成するさまざまな製品があります。多くのインとアウトがあります。Perl 6をサポートしていないものもあります。私が知る限り、AmazonAWSGoogleCloudはどちらも有料で使用でき、任意のプログラミング言語を使用できます。

Webアプリケーションの構築

この回答の最後のいくつかのセクションでは、サーバーを配置した後のPerl 6の使用方法について、最も洗練されていないものから始めて説明します。解決策に直接進みたい場合は、Croの最後のセクションにジャンプしてください。Webルートに行く場合に推奨します。

メールクライアントレスポンダー

特に、別のサーバーにお金をかけたくない場合は、少し単純化するために、デスクトップで実行している電子メールクライアントに到着する電子メールアドレスに同僚に構造化された電子メールを送信させることができます。デスクトップでPerl6プログラムを実行し、結果が出たらメールで返信します。このソリューションに興味がある場合は、別のSOに投稿して質問してください。

残りのセクションでは、代わりにWebソリューションを想定しています。

CGIと手巻きコード

サーバー上で実行されているコードをWebページから呼び出すのは簡単です。

静的なhtmlページではなく動的なプログラムを指す適切なリンクをクリックするだけです。

パラメータを収集したい場合は、フォームと適切な送信ボタンを作成して、そのようにします。

フォームが既に記述されている既存のWebページがあれば、CGIスクリプトを使用してWebページを生成する方法などの適切な記事を読むと、パラメーターを渡し、Perl 6コードを呼び出し、結果を数分で表示する方法を学ぶことができます

モジュールとバイラドール

Imo手巻きCGIのような低レベルで物事を行う価値はありません。そうすることには危険があり、作成と保守をより簡単に、より危険を少なくするモジュールがあります。

これらはmodules.perl6.orgの「web」の下に表示されます

Bailadorは、「ルート」(URLをコードにマッピングする)とテンプレートを使用して適切な仕事をする基本的なソリューションの明白な選択です。

クロとスパ

最新のWebサイトを構築するために最も基本的に自然なアプローチを使用することに興味がある場合は、Croを使用することをお勧めします。Croを使用すると、SPAアプローチを使用して単純なWebソリューションを簡単に構築できますただし、Perl 6に組み込まれている機能を使用して、非同期、並行、並列、または分散処理と、導入したいミドルウェアの混合を含む、考えられる最も洗練されたWebサイトに適切に拡張できるように設計されています

Cro SPAは、OPで提案するような非常に些細なアプリケーションにはおそらくやり過ぎですが、それでも非常に単純であり、それを選択することには無数の利点があり、アプリケーションに重大な欠点はありません。(ベータ版製品としての公式ステータスでさえ、シナリオimoには問題ありません。すでに非常に堅実な製品であり、開発者は提起された問題に迅速に対応します。これらの開発者と実際にPerl 6の両方にとって、クリーンで高速な状態を維持することは戦略的に重要です。 、生産に値する、そしてよく維持されています。)

セットアップ全体を実行してCroでのプレイを開始する最も簡単な方法は、サーバー(サーバーとして使用している場合はデスクトップ)にDockerがない場合はDockerをインストールしてから、croservicesをインストールすることです。 / cro-httpDockerコンテナ

また、Croを使用して単一のWebページを配信する方法を学ぶ最も簡単な方法は、Croを使用したシングルページアプリケーションの構築チュートリアルに従うことです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Perl:コンパイル時エラーを動的に修正することは可能ですか?

分類Dev

このPerlコマンドがWindowsコマンドラインで失敗するのはなぜですか?

分類Dev

Perl 6でコンパイル時コードを非キャッシュにすることは可能ですか?

分類Dev

miniperl(PERLではない)で現在の作業ディレクトリを取得することは可能ですか?

分類Dev

「perl -F」が「perl -F<space>」と異なる動作をするのはなぜですか

分類Dev

Perl:変数置換を使用することは可能ですか?

分類Dev

Perl:変数置換を使用することは可能ですか?

分類Dev

PerlでURLをシンボリックリンクに置き換えることは可能ですか?

分類Dev

Bashはコマンドラインで動作しますが、perlスクリプトでは動作しません

分類Dev

PerlをmacOSアプリケーションにバンドルすることは可能ですか?

分類Dev

これらの例では、Perlで「last」の動作が異なるのはなぜですか?

分類Dev

CordovaプラグインがPWAで動作することは可能ですか?

分類Dev

関数でハッシュをインスタンス化することはperlで非効率的ですか?

分類Dev

Perl 6-メタ属性を設定する属性特性を作成することは可能ですか?

分類Dev

perl6関数フロアは数字と文字列で動作が異なりますか?

分類Dev

perlを使用するSOAPクライアント-WSDLURLが利用可能です

分類Dev

2つの異なるPerlバージョンを持つことは可能ですか?

分類Dev

Perlの-Sxコマンドラインオプションに相当するPythonicは何ですか?

分類Dev

Goでpython / php / perlを拡張することは可能ですか?

分類Dev

プログラムをRubyとPERLの両方として実行することは可能ですか?

分類Dev

python win32はWindowsインストーラAPIの使用に失敗しますが、perlは正常に動作します-Pythonで何が間違っているのですか?

分類Dev

XSセクションを含むPerlをデバッグしてプログラムフローを確認することは可能ですか?

分類Dev

Perl 6で名前付きパラメーターにハッシュを提供することは可能ですか?

分類Dev

Perl 6の「awaitdo」とは何ですか?

分類Dev

Perl:匿名ハッシュを反復処理することは可能ですか?

分類Dev

5ビットをperlにパックすることは可能ですか?

分類Dev

perlのレコードに配列を追加することは可能ですか?

分類Dev

オンラインPCREテスターでは機能するがperlコマンドでは機能しないPerl正規表現

分類Dev

JavaとPerlの正規表現の動作が異なるのはなぜですか?

Related 関連記事

  1. 1

    Perl:コンパイル時エラーを動的に修正することは可能ですか?

  2. 2

    このPerlコマンドがWindowsコマンドラインで失敗するのはなぜですか?

  3. 3

    Perl 6でコンパイル時コードを非キャッシュにすることは可能ですか?

  4. 4

    miniperl(PERLではない)で現在の作業ディレクトリを取得することは可能ですか?

  5. 5

    「perl -F」が「perl -F<space>」と異なる動作をするのはなぜですか

  6. 6

    Perl:変数置換を使用することは可能ですか?

  7. 7

    Perl:変数置換を使用することは可能ですか?

  8. 8

    PerlでURLをシンボリックリンクに置き換えることは可能ですか?

  9. 9

    Bashはコマンドラインで動作しますが、perlスクリプトでは動作しません

  10. 10

    PerlをmacOSアプリケーションにバンドルすることは可能ですか?

  11. 11

    これらの例では、Perlで「last」の動作が異なるのはなぜですか?

  12. 12

    CordovaプラグインがPWAで動作することは可能ですか?

  13. 13

    関数でハッシュをインスタンス化することはperlで非効率的ですか?

  14. 14

    Perl 6-メタ属性を設定する属性特性を作成することは可能ですか?

  15. 15

    perl6関数フロアは数字と文字列で動作が異なりますか?

  16. 16

    perlを使用するSOAPクライアント-WSDLURLが利用可能です

  17. 17

    2つの異なるPerlバージョンを持つことは可能ですか?

  18. 18

    Perlの-Sxコマンドラインオプションに相当するPythonicは何ですか?

  19. 19

    Goでpython / php / perlを拡張することは可能ですか?

  20. 20

    プログラムをRubyとPERLの両方として実行することは可能ですか?

  21. 21

    python win32はWindowsインストーラAPIの使用に失敗しますが、perlは正常に動作します-Pythonで何が間違っているのですか?

  22. 22

    XSセクションを含むPerlをデバッグしてプログラムフローを確認することは可能ですか?

  23. 23

    Perl 6で名前付きパラメーターにハッシュを提供することは可能ですか?

  24. 24

    Perl 6の「awaitdo」とは何ですか?

  25. 25

    Perl:匿名ハッシュを反復処理することは可能ですか?

  26. 26

    5ビットをperlにパックすることは可能ですか?

  27. 27

    perlのレコードに配列を追加することは可能ですか?

  28. 28

    オンラインPCREテスターでは機能するがperlコマンドでは機能しないPerl正規表現

  29. 29

    JavaとPerlの正規表現の動作が異なるのはなぜですか?

ホットタグ

アーカイブ