キーポイント
- AWS Lambda、node.js、およびMongodb Atlasを使用したサーバーレスアーキテクチャにより、開発者はエンコードに焦点を当ててサーバーを管理せずにコードを実行できますが、AWSはインフラストラクチャの世話をします。
- AWS Lambdaは、Mongodb Atlasとシームレスに統合して、データベースイベントに基づいて関数をトリガーすることにより、強力なリアルタイムアプリケーションを有効にします。
- セキュリティ設定には、限られた権限を備えたMongoDB Atlasデータベースユーザーの作成、およびAWS Key Management Service(KMS)を使用した機密環境変数の暗号化が含まれます。 Lambda関数のローカルテストは、AWS Lambda環境をローカルでシミュレートできるようなツールのおかげで、開発とデバッグをスピードアップできます。
-
Lambda関数のデータベース接続を再利用して、パフォーマンスを最適化し、実行時間とリソースの消費を削減します。
lambda-local
生産環境に展開する前に、正しいユーザーロールとホワイトリストIPアドレスを設定して、Mongodb Atlasクラスターを保護し、安全性の低い0.0.0.0/0 CIDRブロックを避けてください。 - この記事はもともとMongodbで公開されました。 SitePointを可能にしたパートナーをサポートしてくれてありがとう。
近年、開発者環境は大きな変化を遂げています。過去には、開発者は通常、すべてのツール(データベース、Webサーバー、開発IDEなど)を独自のマシンで実行していましたが、GitHub、Mongodb Atlas、AWS Lambdaなどのクラウドサービスがこれに革命をもたらしています。開発者は、依存関係なしで(または少ない)依存関係なしで、任意のデバイスでどこでもコードを書き込み、実行することがますます容易になります。
数年前、クラッシュしたり、マシンを失ったり、パワーを失ったりした場合、新しいマシンを元に戻してセットアップして正しく構成して前のものに戻すには数日かかる場合があります。 1つの状態。クラウド開発者ツールを使用すると、あまりにも多くの混乱を引き起こすことなく、あるラップトップから別のラップトップに切り替えることができます。しかし、それはすべてがうまくいくという意味ではありません。クラウドでのコードの作成とデバッグは、開発者として依然として困難です。
これはまさにこのブログ投稿であなたに見せようとしているものです:AWS lambda node.js関数をMongodb AtlasでホストするMongodbデータベースと簡単に統合する方法(Mongodb for Mongodb(サービスとしてのデータベース))。より具体的には、Mongodb Atlasデータベースに保存されているコレクションに単一のドキュメントを作成する単純なLambda関数を作成します。このチュートリアルを段階的に説明してください。1時間以内に終了する必要があります。
必要な要件から始めて、始めましょう:
- IAMおよびLambdaサービスへの管理アクセスを備えたユーザーを対象とした利用可能なAmazon Webサービスアカウント。まだアカウントをお持ちでない場合は、無料のAWSアカウントにサインアップしてください。
- node.jsを備えたローカルマシン(ローカル開発環境を簡単に取り除くことはないと言った...)。以下のチュートリアルでは、Mac OS Xを使用しますが、WindowsまたはLinuxで同じタスクを実行するのは比較的簡単である必要があります。
- ランニングmongodb atlasクラスター。まだおかしい場合は、無料のMongodb Atlasアカウントにサインアップし、数回クリックしてクラスターを作成します。小規模な開発プロジェクトに最適なM0フリークラスターレイヤーを試すこともできます! )。
要件を理解したので、Lambda機能を書き、テストし、展開するために取る特定の手順について説明しましょう。
- Mongodb Atlasはデフォルトで安全ですが、アプリケーション開発者として、アプリケーションが最小許可アクセスのためにベストプラクティスに準拠するようにいくつかの措置を講じる必要があります。つまり、アプリケーションデータベースにのみ読み取り/書き込みアクセスがあるMongoDB Atlasデータベースユーザーを作成することにより、アクセスを微調整します。
- ローカルマシンにnode.jsプロジェクトを設定し、Amazon Webサービスに展開する前に、Lambdaコードをローカルでテストするようにします。
- AWS Lambda関数を作成し、Node.jsプロジェクトをアップロードして初期化します。
- 最後になりましたが、最後になりましたが、Lambda関数にいくつかの変更を加えて、いくつかの機密データ(Mongodb Atlas Connection Stringなど)を暗号化し、関数コードから復号化します。
- VPC Peeringについての短い説明
VPCピアリングをセットアップしない場合、次のことが起こります。
悪名高い0.0.0.0/0 CIDRブロックをMongodb AtlasクラスターIPホワイトリストに追加する必要があります。なぜなら、AWS LamdaがATLASデータベースに電話するために使用するIPアドレスがわからないからです。
Lambda関数とAtlasクラスターの間の帯域幅の使用料を支払います。
- このデモコードを作成しようとしているだけなら、これらの2つの警告は問題ないかもしれませんが、生産環境で使用できるLambda-Atlas統合を展開する予定がある場合、VPC Peeringは安全なベストプラクティスを強くお勧めします。 M0は、利用可能なすべてのインスタンスサイズの全範囲について、私たちのMongodb Atlas価格設定ページをチェックしてください。
-
開発環境とトラフィックの低いWebサイトでは、M0、M10、およびM20インスタンスのサイズが問題ないはずであることを思い出してください。ただし、高トラフィックアプリケーションまたは大規模なデータセットをサポートする生産環境の場合、M30以上のインスタンスサイズを使用することをお勧めします。
mongodb atlasクラスターのセキュリティを設定します
アプリケーションが最小許可アクセスポリシーに準拠していることを確認してください。データを悪意のある脅威から保護するために重要です。そのため、旅行データベースへの読み取り/書き込みアクセスのみがある特定のデータベースユーザーを設定します。 Mongodb Atlasでこれを実装する方法を見てみましょう:
クラスターページで、[セキュリティ]タブを選択し、[新しいユーザーの追加]ボタンを押します
ユーザー許可セクションで、
リンクを選択します。これにより、データベースではなく、特定のデータベースに読み取り/書き込み許可を割り当てることができます。 次に、より細かい粒状アクセス制御の許可を割り当てることを選択できます。
[selectロール]ドロップダウンリストで、[readwrite]を選択し、ドキュメントの保存に使用するデータベースの名前をデータベースフィールドに入力します。私はそれを旅行することを選びました。
パスワードセクションで、[セキュリティ]パスワードを自動的に生成するボタンを自動的に使用します(および生成されたパスワードを書き留めます)、またはお気に入りのパスワードを設定します。次に、「ユーザーの追加」ボタンを押して、このユーザーが作成されていることを確認します。
Mongodb Atlasクラスターを作成したとします。 URI接続文字列値をコピーして、テキストドキュメントに安全に保存します。設定したパスワードと同様に、後でコードで必要になります。ちなみにクラスター接続文字列を取得しましょう。MongodbAtlasデータベースに接続するためにLambdaコードでそれが必要になるため、
さらに、VPCピアリングを使用していない場合は、IPホワイトリストタブに移動し、0.0.0.0/0 CIDRブロックを追加するか、Allow Access from Anywhereボタンを押します。リマインダーとして、この設定は、生産環境で使用しないことを強くお勧めし、Mongodb Atlasクラスターを悪意のある攻撃に対して脆弱にする可能性があります。
ローカルnode.jsプロジェクトを作成します
などのフォルダーを作成します
<code>mkdir lambda-atlas-create-doc && cd lambda-atlas-create-doc</code>
次に、ターミナルコンソールから次のコマンドを実行し、package.jsonファイルでプロジェクトを初期化します<code>npm init</code>
システムは、いくつかのフィールドを構成するように促します。私は彼らをあなたの創造性に任せましたが、エントリポイントをapp.jsに設定することを選択したことに注意してください(デフォルトのindex.jsではなく)。また、Amazon WebサービスにLambda関数をインスタンス化することは毎回特に高速ではないため、Lambda機能をローカルに記述およびテストして開発をスピードアップしてデバッグを簡素化したいと考えています(そして、デバッグは実際には存在しません。 log()関数ファン)。 Lambda-Localパッケージを使用することを選択しました。これは、環境変数のサポートを提供するためです(後で使用します):
<code>npm install mongodb --save</code>
app.jsファイルを作成します。これは、ラムダ関数を含むファイルになります:
<code>(sudo) npm install lambda-local -g</code>
必要な依存関係をすべてインポートし、Lambdaコードファイルを作成したので、選択したコードエディター(Atom、Sublime Text、Visual Studio Codeなど)でapp.jsファイルを開き、次のものを使用してください。コードセグメントで初期化:
<code>touch app.js</code>
上記のコードを一時停止してコメントしましょう。
- このファイルは、AWS Lambdaが期待する方法で正確に記述されています(たとえば、「Exports.Handler」関数を使用しています)。これは、Lambda-Localを使用してLambda機能をローカルでテストするためです。これについては、後で詳しく説明します。
- mongodb node.jsドライバーを宣言しています。これは、Lambda関数(Atlas)からMongoDBデータベースに接続するのに役立ちます。 また、ハンドラー関数の外側にcachedDBオブジェクトを宣言していることに注意してください。名前が示すように、それは私たちの機能のためにAWS Lambdaがインスタンス化する基礎となる容器の期間中にキャッシュすることを計画しているオブジェクトです。これにより、貴重なミリ秒(秒)を節約して、LambdaとMongodb Atlasの間にデータベース接続を作成できます。詳細については、Mongodb AtlasでLambdaのパフォーマンスを最適化する方法に関する私の後続のブログ投稿をご覧ください。
- mongodb_atlas_cluster_uriと呼ばれる環境変数を使用して、主にセキュリティ上の理由でAtlasデータベースのURI接続文字列を渡すことができます。クラスの機密情報。 AWS Lambdaは2016年11月以来環境変数をサポートしているため(Lambda-Local NPMパッケージの場合のように)、それらを使用しないにはあまりにも怠慢です。
- 関数コードは、一見役に立たないIF-ELSEステートメントとProcessEvent関数を使用して、少し複雑に見えますが、AWS Key Management Service(KMS)を使用して復号化ルーチンを追加するとすべて明らかになります。実際、Mongodb Atlas Connection Stringを環境変数に保存するだけでなく、非常に感度の高いデータが含まれているため(AWS KMSを使用)暗号化することも望んでいます(無料のAWSアカウントがある場合でも、料金も発生する可能性があることに注意してください。 AWS KMSを使用するとき)。
<code>mkdir lambda-atlas-create-doc && cd lambda-atlas-create-doc</code>
次に、ターミナルコンソールで次のコマンドを実行して、正しくセットアップしていることを確認してください。
独自のクラスターURI接続文字列でテストしたい場合(私はあなたがそうすると思う)、eパラメーターの二重引用符、コンマ、&文字を逃れることを忘れないでください。 ($パスワードと$データベースのキーワードを独自の値に置き換える必要があります)。
<code>npm init</code>
ローカルで実行したら、次のコンソール出力が表示されます。 エラーが発生した場合は、接続文字列と二重Quotes/&Escapes(上記のように)を確認してください。ここで、ProcessEvent()関数をカスタマイズし、createdoc()関数を追加して、関数コードのコアコンテンツを処理しましょう。
<code>mkdir lambda-atlas-create-doc && cd lambda-atlas-create-doc</code>
Mongodb Atlasデータベースに接続してドキュメントを挿入するのが簡単であることに注意し、JSON日付(ISOに準拠した文字列としてフォーマットされている)を変換するために追加したコードを追加して、BSON日付として保存できる本物のJavaScriptに変換します。 。ローカルマシンですべてがうまくいったら、ローカルnode.jsプロジェクトを新しいラムダ関数としてリリースしましょう!
lambda関数を作成します<code>npm init</code>
次に、AWSコンソールにログインし、IAMロールページに移動し、Awslambdabasicexexecutionrole許可ポリシーを使用してロール(たとえば、Lambdabasicexecrole)を作成します。 ここで、AWS Lambdaページに移動しましょう。 [今すぐ開始]をクリックし(Lambda関数を作成したことがない場合)、Lambda機能の作成ボタンをクリックします。ブループリントは使用せず、トリガーを構成しないため、左のナビゲーションバーで「機能を構成」を直接選択してください:[アップロード]ボタンをクリックし、以前に作成した圧縮node.jsプロジェクトファイルを選択します。
Advanced Settingsセクションでは、タイムアウト値を5秒または10秒に増やすことができますが、これは常に後で調整できるものです。 VPCおよびKMSキーフィールドをデフォルト値として残します(VPCおよび/またはKMSキーを使用する場合を除く)、次に押します。
最後に、Lambda関数を見て、下部に「function」を押します。おめでとうございます、あなたのLambda機能はオンラインであり、次のスクリーンショットに似たページが表示されます。 しかし、環境変数を使用したことを覚えていますか?今こそそれらを構成し、AWSキーマネジメントサービスを使用して保護する時です!lambda環境変数を構成して保護します
ラムダ関数のコードタブまでスクロールして、次のプロパティを使用して環境変数を作成します。
namevalue
mongodb_atlas_cluster_uri your_atlas_cluster_uri_value この時点で、「保存とテスト」ボタンをページの上部に押すことができますが、セキュリティのために(接続文字列を暗号化します。 [暗号化アシスタントの有効]チェックボックスを選択し、暗号化キーを既に作成している場合は選択します(それ以外の場合は、作成する必要がある場合があります - これは簡単です):次に、mongodb_atlas_cluster_uri変数の「暗号化」ボタンを選択します:
インラインコードエディターに戻り、上部に次の行を追加します。
>「exports.handler」メソッドの「else」ステートメントのコンテンツを次のコードに置き換えます。
(うまくいけば、私たちが最初に書いた複雑なコードが今理にかなっています!)<code>mkdir lambda-atlas-create-doc && cd lambda-atlas-create-doc</code>
私が使用している関数コード全体を確認する場合は、次の要点をチェックしてください。 GITファンの場合、完全なnode.jsプロジェクトソースコードもgithubで利用できます。
<code>npm init</code>
「保存とテスト」ボタンを押して、「入力テストイベント」テキストエディターでイベントのコンテンツを貼り付けます。スクロールして「保存とテスト」ボタンを押します。
すべてを正しく構成する場合は、Lambdaログ出力で次の成功メッセージを受信する必要があります。
素晴らしい!読み続ける前に、数分間の成功を楽しむことができます。
次は何ですか?- Mongodb Atlasアカウントをまだ持っていない場合は、今すぐ作成するのに遅すぎることはありません!
- mongodb node.jsドライバーに慣れていない場合は、mongodb APIを最大限に活用する方法については、node.jsドライバーのドキュメントをご覧ください。さらに、Mongodbを使用し始めたばかりのNode.js開発者向けに、オンラインnode.jsコースも提供しています。
- Lambda関数を使用してデータを作成し、Mongodbコンパスをダウンロードし、Mongodb Compassでデータを視覚化する方法を学び、Mongodb Atlasに接続する方法を学びます。
- 多数のラムダ関数を構築する計画ですか? AWSステップ関数を使用してブログ投稿を読んでMongodb Atlas、Twilio、およびAWS Simple Email Servicesを統合して、AWSステップ機能を使用してそれらを調整する方法を学びます。
- MongodbとAWS Lambdaをより複雑なシナリオに統合する方法を学び、AWS LambdaとMongodb AtlasとのFacebookチャットボットの開発をご覧ください。
Node.js、AWS Lambda、およびMongodb Atlasを使用したサーバーレス開発に関する
FAQ(FAQ)Mongodb AtlasはAWS Lambdaとどのように統合されますか?
Mongodb Atlasは、AWS Lambdaとシームレスに統合されています。ハードウェア構成、データベースのセットアップ、パッチング、バックアップなどの時間のかかる管理タスクを自動化する完全に管理されたデータベースサービスを提供します。 Mongodb Atlasを使用すると、挿入、更新、削除などのデータベースイベントに基づいて、AWS Lambda関数を簡単にトリガーできます。これにより、強力でリアルタイム、サーバーレスアプリケーションを作成できます。
node.js、AWS Lambda、およびMongodb Atlasを使用してサーバーレスアプリケーションをセットアップする手順は何ですか?
node.js、aws lambda、およびmongodb atlasを使用したサーバーレスアプリケーションのセットアップには、いくつかのステップが含まれます。まず、AWSラムダ関数を設定する必要があります。これには、node.jsを使用したコードの書き込みとAWS Lambdaにアップロードすることが含まれます。次に、Mongodb Atlasクラスターを構成する必要があります。これには、新しいクラスターの作成、IPホワイトリストの構成、データベースユーザーの作成が含まれます。最後に、AWS Lambda機能をMongodb Atlasクラスターに接続する必要があります。これには、Mongodb Atlasを使用して文字列を接続するようにLambda関数の構成が含まれます。
サーバーレスアプリケーションで問題をトラブルシューティングする方法は?
さまざまなツールとテクノロジーを使用して、サーバーレスアプリケーションの問題をトラブルシューティングすることができます。 AWS Lambdaは、機能実行の詳細なログを提供します。これは、エラーや問題を特定するのに役立ちます。 Mongodb Atlasはまた、包括的な監視と警告機能を提供し、データベースのパフォーマンスを追跡し、潜在的な問題のアラートを受信することができます。さらに、優れたコーディングプラクティスを使用してアプリケーションを徹底的にテストすると、問題を防ぐことができます。
AWS LambdaとMongodb Atlasを使用する際のセキュリティ上の考慮事項は何ですか?
セキュリティはあらゆるアプリケーションの重要な側面であり、サーバーレスアプリケーションも例外ではありません。 AWS Lambdaは、アクセス制御のためのAWS IDおよびアクセス管理(IAM)、輸送および安静時の暗号化、ネットワーク分離のVPCサポートなど、さまざまなセキュリティ機能を提供しています。 Mongodb Atlasは、IPホワイトリスト、データベース監査、安静時および輸送中の暗号化などの強力なセキュリティ機能も提供しています。これらのセキュリティ機能を適切に構成して、アプリケーションとデータを保護してください。
サーバーレスアプリケーションのパフォーマンスを最適化する方法は?
サーバーレスアプリケーションのパフォーマンスを最適化するには、さまざまな戦略が含まれます。これには、最適なパフォーマンスのためにAWS Lambda関数を正しく構成し、効率的なコードを使用し、Mongodb Atlasデータベースを最適化することが含まれます。 AWS Lambdaでは、CPU機能、ネットワーク帯域幅、およびディスクI/Oを比例的に割り当てる機能にメモリを割り当てることができます。 Mongodb Atlasは、自動インデックス作成やパフォーマンスコンサルタントのアドバイスなどのパフォーマンス最適化機能を提供します。
AWS LambdaとMongodb Atlasで他のプログラミング言語を使用できますか?
はい、AWSラムダは、node.js、python、java、go、.netなど、さまざまなプログラミング言語をサポートしています。 Mongodb Atlasは、MongoDBドライバーを使用した任意のプログラミング言語で使用できます。これにより、サーバーレス開発のための多用途のソリューションになります。
サーバーレスアーキテクチャは、アプリケーションのコストにどのように影響しますか?
サーバーレスアーキテクチャは、アプリケーションのコストを大幅に削減できます。 AWS Lambdaを使用すると、消費する計算時間のみを支払い、コードが実行されていないときに請求しません。 Mongodb Atlasには、無料層を含むさまざまな価格設定オプションを提供しているため、ニーズに最適なオプションを選択できます。
既存のアプリケーションをサーバーレスアーキテクチャに移行する方法は?
既存のアプリケーションをサーバーレスアーキテクチャに移行するには、複数のステップが含まれます。まず、AWS LambdaとMongodb Atlasと互換性のあるものにするために、アプリケーションをリファクタリングする必要があります。これには、コードの書き換えと、サポートされているプログラミング言語を使用してデータベーススキーマの変更が含まれます。次に、AWS Lambda関数とMongodb Atlasクラスターをセットアップする必要があります。最後に、アプリケーションが新しいアーキテクチャで適切に機能することを確認するために、アプリケーションを徹底的にテストする必要があります。
AWSラムダとモンゴドブアトラスを使用したサーバーレス開発の制限は何ですか?
AWS LambdaとMongodb Atlasはサーバーレス開発に多くの利点を提供しますが、注意を払うにはいくつかの制限があります。 AWS Lambdaには、利用可能な計算リソースとストレージリソースの量に制限があり、機能には最大の実行時間があります。 Mongodb Atlasは、データベースのサイズと接続数も制限します。ただし、これらの制限は通常、ほとんどのアプリケーションに対応するのに十分な高さです。
以上がNode.js、AWS Lambda、Mongodb Atlasを使用したサーバーレス開発の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

node.jsは、主にストリームのおかげで、効率的なI/Oで優れています。 ストリームはデータを段階的に処理し、メモリの過負荷を回避します。大きなファイル、ネットワークタスク、リアルタイムアプリケーションの場合。ストリームとTypeScriptのタイプの安全性を組み合わせることで、パワーが作成されます

PythonとJavaScriptのパフォーマンスと効率の違いは、主に以下に反映されています。1)解釈された言語として、Pythonはゆっくりと実行されますが、開発効率が高く、迅速なプロトタイプ開発に適しています。 2)JavaScriptはブラウザ内の単一のスレッドに限定されていますが、マルチスレッドおよび非同期I/Oを使用してnode.jsのパフォーマンスを改善でき、両方とも実際のプロジェクトで利点があります。

JavaScriptは1995年に発信され、Brandon Ikeによって作成され、言語をCに実現しました。 2。JavaScriptのメモリ管理とパフォーマンスの最適化は、C言語に依存しています。 3. C言語のクロスプラットフォーム機能は、さまざまなオペレーティングシステムでJavaScriptを効率的に実行するのに役立ちます。

JavaScriptはブラウザとnode.js環境で実行され、JavaScriptエンジンに依存してコードを解析および実行します。 1)解析段階で抽象的構文ツリー(AST)を生成します。 2)ASTをコンパイル段階のバイトコードまたはマシンコードに変換します。 3)実行段階でコンパイルされたコードを実行します。

PythonとJavaScriptの将来の傾向には、1。Pythonが科学コンピューティングの分野での位置を統合し、AI、2。JavaScriptはWebテクノロジーの開発を促進します。どちらもそれぞれのフィールドでアプリケーションシナリオを拡大し続け、パフォーマンスをより多くのブレークスルーを行います。

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

はい、JavaScriptのエンジンコアはCで記述されています。1)C言語は、JavaScriptエンジンの開発に適した効率的なパフォーマンスと基礎となる制御を提供します。 2)V8エンジンを例にとると、そのコアはCで記述され、Cの効率とオブジェクト指向の特性を組み合わせて書かれています。3)JavaScriptエンジンの作業原理には、解析、コンパイル、実行が含まれ、C言語はこれらのプロセスで重要な役割を果たします。

JavaScriptは、Webページのインタラクティブ性とダイナミズムを向上させるため、現代のWebサイトの中心にあります。 1)ページを更新せずにコンテンツを変更できます。2)Domapiを介してWebページを操作する、3)アニメーションやドラッグアンドドロップなどの複雑なインタラクティブ効果、4)ユーザーエクスペリエンスを改善するためのパフォーマンスとベストプラクティスを最適化します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ホットトピック









