nodejs の入門tutorial_node.js
はじめに
nodeJ を学ばなければ、私たちは老いてしまいます... HTML5 の波が押し寄せたとき、多くの先人が NodeJ の旅を始めましたが、その当時、私はまだサーバーサイド プログラムを作成していました
その後、フロントエンドに切り替えましたが、私とエシュロンとの距離はすでに非常に大きくなっています。私はサーバーサイド言語を知っていて、長い間働いてきたので、NodeJ を学び始めたばかりです。完全なフロントエンド
今回のNodeJsの学習計画は次のとおりです。
①基礎知識を学ぶのに1~2週間
② 簡単なプロジェクトを1週間程度で開発
③ NodeJs を使用してモバイル端末のデバッグ用ツールセットを開発します
④パッケージ関連(ちょっと遠いかもしれません)
NodeJ の機能
①非同期
ファイルの読み取りからネットワークリクエストまで、NodeJs は非同期で完了し、プログラミング モデルの点で Node が重要な役割を果たします
② イベントコールバック
イベント コールバックによりプログラムは軽量になりますが、詳細は依然としてプログラマー次第です。しかし、コールバック関数は実際には非常に読みにくいです
③ シングルスレッド
ノードはシングルスレッドです。マルチスレッドだと言語が奥深くなってしまいますが、スレッドに関するデッドロックやその他の問題は発生しません。
ただし、マルチコアは使用できないため、パフォーマンスに関連する問題があります。
以前はサーバーサイド開発を行っていましたが、コードがきちんと整理されていないと後のメンテナンスが非常に困難になるため、MVC と 3 層アーキテクチャがあります
現在、フロントエンドのビジネス ロジックは徐々にバックエンドに近づいており、シングルページ アプリケーションに関する限り、バックエンドのプログラム ロジックを超えています。
ページビューの継続的な増加により、JS コードの量が急増します。フロントエンド コードをどのように管理するかが問題になるため、requireJs が登場しました。
PS: この段落は、nodeJ とは何の関係もありません...
JavaScript にはモジュラー システムがないため、大規模なアプリケーションを開発するための基盤を js に提供するために CommonJs が提案されました
数学的計算などのモジュールを参照したい場合:
var math = require('math');
モジュール定義独自のモジュールを定義したい場合は、次のようにすることができます
}
math.add();
モジュール IDモジュール識別子は、require に渡されるパラメーターであり、キャメルケースで名前を付ける必要があり、requireJS
と非常によく似ています。 モジュールの実装Node のモジュール実装は 2 つのカテゴリに分けられます。1 つはシステムレベルのコア モジュール、もう 1 つはユーザーが作成したファイル モジュールです
コア モジュールは、コンパイル プロセス中にバイナリ ファイルに変換されます。ノード プロセスの開始後、一部のコア モジュールはメモリに直接ロードされます (ファイルの場所、コンパイル、実行)。
ファイルモジュールは動的にロードする必要がありますが、これは比較的時間がかかります
ただし、ロードされると、それらのファイルはキャッシュされ、キャッシュされたファイル (コンパイルされたファイル) は、再度導入されるときに読み取られます
ここでもう少し詳しく説明します。アンダースコアを使用する場合、HTML をコンパイルしてテンプレート関数を作成します (実際には、これは単なる関数です)。
プロジェクトをデプロイする前にコンパイルした関数を保存し、HTML テンプレート ファイルを削除します (最適化効果は不明)
ノードでは、各モジュールはオブジェクトです:
this.exports = {};
//parent はキーワードなので無差別に使用しないでください
This.parent = 親;
if (親 && 親.子) {
parent.children.push(this);
}
this.filename = null;
this.loaded = false;
this.children = [];
}
のインデックスとしてキャッシュします。
各モジュール ファイルには、require、exports、および module という 3 つの変数がありますが、これらはファイル内で定義されていません (__filename__ 変数と __dirname__ 変数にも同じことが当てはまります)
(関数 (エクスポート、要求、モジュール、__filename__、__dirname__) {
var math = require('math');
exports.area = 関数 (半径) {
'';
を返します };
});
このようにして、モジュールは分離され、相互に影響を与えなくなります。これはアンダースコアのコンパイルに似ています...
パッケージと NPM
ノードは独自のコア モジュールを編成するため、サードパーティのファイル モジュールを整然とした方法で記述して使用できますが、サードパーティのモジュールでは依然としてモジュールがさまざまな場所でハッシュされます
モジュール アウトソーシングと NPM は、相互に直接参照することはできません。
PS: 多くのモジュールがパッケージを形成します。このパッケージの概念は Java パッケージの概念と似ているため、#assembly の概念も同様であるはずです
パッケージ構造を解凍すると、いくつかのファイルが形成されます:
①package.json記述ファイル
② bin 実行可能バイナリディレクトリ
③ lib JavaScript コードディレクトリ
④ ドキュメントドキュメント (ほぼなし)
⑤ テストデモ
上記は CommonJS パッケージの仕様の一部ですが、NPM をマスターする必要があることを少し理解できます。NPM の助けを借りて、管理パッケージを上手にインストールできます。
依存関係パッケージをインストールします
依存関係パッケージのインストールは一般的な方法です:
npm install Express
実行後、カレントディレクトリにnode_modulesディレクトリが作成され、その下にexpressディレクトリが作成されます...
PS: Express は NodeJs 上の人気のある Web 開発フレームワークであり、Web アプリケーションを迅速に開発するのに役立ちます
インストールの完了後に呼び出すことができます:
var Express = require('express');
結論
このセクションは簡単に終了します。実際のプロジェクトのプロセスは後で徐々に深めていきます

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

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

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











キミ: たった 1 文の PPT がわずか 10 秒で完成します。 PPTはとても面倒です!会議を開催するには PPT が必要であり、週次報告書を作成するには PPT が必要であり、投資を勧誘するには PPT を提示する必要があり、不正行為を告発するには PPT を送信する必要があります。大学は、PPT 専攻を勉強するようなものです。授業中に PPT を見て、授業後に PPT を行います。おそらく、デニス オースティンが 37 年前に PPT を発明したとき、PPT がこれほど普及する日が来るとは予想していなかったでしょう。 PPT 作成の大変な経験を話すと涙が出ます。 「20 ページを超える PPT を作成するのに 3 か月かかり、何十回も修正しました。PPT を見ると吐きそうになりました。」 「ピーク時には 1 日に 5 枚の PPT を作成し、息をすることさえありました。」 PPTでした。」 即席の会議をするなら、そうすべきです

北京時間6月20日早朝、シアトルで開催されている最高の国際コンピュータビジョンカンファレンス「CVPR2024」が、最優秀論文やその他の賞を正式に発表した。今年は、最優秀論文 2 件と学生優秀論文 2 件を含む合計 10 件の論文が賞を受賞しました。また、最優秀論文ノミネートも 2 件、学生優秀論文ノミネートも 4 件ありました。コンピュータービジョン (CV) 分野のトップカンファレンスは CVPR で、毎年多数の研究機関や大学が集まります。統計によると、今年は合計 11,532 件の論文が投稿され、2,719 件が採択され、採択率は 23.6% でした。ジョージア工科大学による CVPR2024 データの統計分析によると、研究テーマの観点から最も論文数が多いのは画像とビデオの合成と生成です (Imageandvideosyn

Node.js は、高いパフォーマンス、スケーラビリティ、クロスプラットフォーム サポート、豊富なエコシステム、開発の容易さなどの機能を備えているため、バックエンド フレームワークとして使用できます。

LLM が大量のデータを使用して大規模なコンピューター クラスターでトレーニングされていることはわかっています。このサイトでは、LLM トレーニング プロセスを支援および改善するために使用される多くの方法とテクノロジが紹介されています。今日、私たちが共有したいのは、基礎となるテクノロジーを深く掘り下げ、オペレーティング システムさえ持たない大量の「ベア メタル」を LLM のトレーニング用のコンピューター クラスターに変える方法を紹介する記事です。この記事は、機械がどのように考えるかを理解することで一般的な知能の実現に努めている AI スタートアップ企業 Imbue によるものです。もちろん、オペレーティング システムを持たない大量の「ベア メタル」を LLM をトレーニングするためのコンピューター クラスターに変換することは、探索と試行錯誤に満ちた簡単なプロセスではありませんが、Imbue は最終的に 700 億のパラメータを備えた LLM のトレーニングに成功しました。プロセスが蓄積する

Node.js インストール ディレクトリには、npm と npm.cmd という 2 つの npm 関連ファイルがあります。違いは次のとおりです。拡張子が異なります。npm は実行可能ファイルで、npm.cmd はコマンド ウィンドウのショートカットです。 Windows ユーザー: npm.cmd はコマンド プロンプトから使用できますが、npm はコマンド ラインからのみ実行できます。互換性: npm.cmd は Windows システムに固有ですが、npm はクロスプラットフォームで使用できます。使用上の推奨事項: Windows ユーザーは npm.cmd を使用し、他のオペレーティング システムは npm を使用します。

MySQL データベースに接続するには、次の手順に従う必要があります。 mysql2 ドライバーをインストールします。 mysql2.createConnection() を使用して、ホスト アドレス、ポート、ユーザー名、パスワード、データベース名を含む接続オブジェクトを作成します。 connection.query() を使用してクエリを実行します。最後に connection.end() を使用して接続を終了します。

はい、Node.js はバックエンド開発言語です。これは、サーバー側のビジネス ロジックの処理、データベース接続の管理、API の提供などのバックエンド開発に使用されます。

検索拡張生成 (RAG) は、検索を使用して言語モデルを強化する手法です。具体的には、言語モデルは回答を生成する前に、広範な文書データベースから関連情報を取得し、この情報を使用して生成プロセスをガイドします。このテクノロジーにより、コンテンツの精度と関連性が大幅に向上し、幻覚の問題を効果的に軽減し、知識の更新速度が向上し、コンテンツ生成の追跡可能性が向上します。 RAG は間違いなく、人工知能研究の中で最もエキサイティングな分野の 1 つです。 RAGについて詳しくは、当サイトのコラム記事「大型モデルの欠点を補うことに特化したRAGの新展開とは?」を参照してください。このレビューはそれを明確に説明しています。」しかし、RAG は完璧ではなく、ユーザーはそれを使用するときにいくつかの「問題点」に遭遇することがよくあります。最近、NVIDIA の生成 AI 高度なソリューション
