これはおそらくナイーブであり、有効な質問ではありません...
私は、いくつかのユーザー定義パラメーターを考慮してローカルデータを分析するPerl 6プログラムを作成しました(そして他のいくつかのプログラムを作成したいと思っています)。私の同僚/同僚の何人かは定期的にプログラムの出力を必要としているので、彼らは私にパラメータを送ってくれます。私はプログラムを実行して出力を送り返します。
全体のプロセスがあまり便利ではないので、誰にとっても簡単にするために何ができるかを考えています。ここにオプションがありますが、どちらも理想的ではないようです。
だから、私の質問:どういうわけかPerl 6をオンラインで動作させることは可能ですか?ブラウザで動作しますか?または他の解決策はありますか?
同僚のコンピューターに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をサポートしていないものもあります。私が知る限り、AmazonAWSとGoogleCloudはどちらも有料で使用でき、任意のプログラミング言語を使用できます。
この回答の最後のいくつかのセクションでは、サーバーを配置した後のPerl 6の使用方法について、最も洗練されていないものから始めて説明します。解決策に直接進みたい場合は、Croの最後のセクションにジャンプしてください。Webルートに行く場合に推奨します。
特に、別のサーバーにお金をかけたくない場合は、少し単純化するために、デスクトップで実行している電子メールクライアントに到着する電子メールアドレスに同僚に構造化された電子メールを送信させることができます。デスクトップでPerl6プログラムを実行し、結果が出たらメールで返信します。このソリューションに興味がある場合は、別のSOに投稿して質問してください。
残りのセクションでは、代わりにWebソリューションを想定しています。
サーバー上で実行されているコードを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]
コメントを追加