検索

Nodejs は 2009 年 5 月に誕生しました。これは、偉大な神 Ryan Dahl によって開発された Chrome V8 エンジンに基づく JavaScript 実行環境です。イベント駆動型のノンブロッキング I/O モデルを使用して JavaScript を可能にします。サーバー側で開発プラットフォームを実行します。

Nodejs はいつ誕生しましたか?

#このチュートリアルの動作環境: Windows7 システム、nodejs バージョン 12.19.0、DELL G3 コンピューター。

Nodejs は 2009 年 5 月に誕生しました。偉大なる神 Ryan Dahl によって開発された Chrome V8 エンジンをベースにした JavaScript 実行環境です。

ライアンの仕事は、C でサーバーを記述することです。その後、彼は、高性能サーバーは「イベント駆動型のノンブロッキング I/O」モデルを満たす必要があるという経験をまとめました。 C は開発がより面倒だったので、Ryan は迅速な開発のためのより高水準の言語を見つけたいと考えました。 Nodejs の誕生には 2 つのポイントが貢献したと言えます。

node の起源と背景

Ryan Dahl の経験はかなり奇妙です。彼は専門的な背景を持つ開発者ではありません。2004 年、彼はまだ Rocher で働いていました。 , ニューヨーク。私はスタート大学の数学学科で博士号取得の勉強をしていました。その間、いくつかのフラクタル、分類、p 進解析を勉強しました。これらはオープンソースやプログラミングとは何の関係もありませんでした。2006 年、彼は「世界は広い、見てみたい」という考えを持った読書のアイデアで、彼は学校を中退する決意をし、仕事を遂行するためにクラウドの研究を始めました。スノーボード会社の Web サイトを Rails で開発したのが、彼の正式なプログラミング キャリアの始まりでした (その後のイベントの展開がわかります。私自身...)

2008 年まで Chrome がリリースされ、V8 JavaScript が使用されていました。通訳も同時にリリースされました。これは優れた強力な動作環境です。 V8 がリリースされた後、ライアン ダールはそれを分析し始めました。魅力的でクリーンに見えましたが、すぐにライアン ダールはこう思いました。JavaScript はシングルスレッドですでにノンブロッキングですが、Web ブラウザーではノンブロッキングであるのは少し皮肉ですリクエストは、AJAX リクエストとイベントを使用するときに実装されています。

Ryan Dahl は、JavaScript と非同期 IO、いくつかの HTTP サーバー イベントを組み合わせると、非常に素晴らしいものになると信じています。そのため、次の段階ではこの取り組みを行っています。

#2009 年 2 月、新しいアイデアに基づいて、彼はプロジェクトのコードの最初の行を提出し、プロジェクトの名前は最終的に「ノード」と名付けられました

Ryan Dahl 氏がベルリンで開催された JSConf EU カンファレンスで Node.js について講演し、Node.js は徐々に世界で普及していきました。

そこで、Ryan Dahl は 2010 年に Joyent (シリコン バレーの新興企業) に入社し、Node.js プロジェクトの開発をフルタイムで担当しました。現在、Node.js プロジェクトは個人プロジェクトから会社組織のプロジェクトへという第 2 ステージに入りました。

彼のノードに対するアイデアは、すべてをノンブロッキングな方法で実行することです。これにより、プログラミング プロセスで遭遇する多くの問題を解決できます。たとえば、スレッド処理をオフにする必要を完全に排除し、プロセスのみを使用することができます。抽象化とシーケンス、化学コミュニケーションによって私たちの仕事は完了します。そしてその過程で、完全に非同期のメソッドが非常に多くのリクエストを処理できることがわかり、彼はこのメソッドが非常に優れていると確信しました (Ryan Dahl が Go に出会ってからずっと後、彼は当初のアイデアを変更しました。Go には適切なグリーン スレッドがあり、簡単に実行できるためです)。 Go とオペレーティング システムの間のインターフェイスは両方ともグリーン スレッドであり、ノンブロッキング I/O であるため、抽象化を使用します。ただし、ユーザーに提供するインターフェイスはブロックされており、非常に使いやすいです。たとえば、イベント A を処理し、イベントを待機します。応答またはエラー; イベント B を処理し、応答を待ちます。エラーが発生した場合、何をすべきか、何をすべきかは明らかですが、Node では、別の関数呼び出しにジャンプする必要があるため、これはより困難になります。操作、ノード コミュニティの発展により、この処理方法に対する優れた解決策が作成されましたが、本質は Go とは異なります)

[推奨学習: "

nodejs チュートリアル

》]

以上がNodejs はいつ誕生しましたか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Reactの限界は何ですか?Reactの限界は何ですか?May 02, 2025 am 12:26 AM

raceslimitationsinclude:1)asteeplearningcurveduetoitsvastecosystem、2)seochallengeswithsclient-siderEndering、3)潜在的なパフォーマンスのinlargeapplications、4)complenstatemanagementasappsgrow、and5)suneedtokeepupwithovolution

Reactの学習曲線:新しい開発者にとっての課題Reactの学習曲線:新しい開発者にとっての課題May 02, 2025 am 12:24 AM

ReactisChallengingを使用して、SteepLearNdParadigMshiftOconpontenAchitecture.1)startisofficialdocumentation forasolidfoundation.2)relondingjsxandjavascriptwithinit.3)LearntousefunctionalcompotontiTateを理解してください

反応の動的リストの安定したユニークなキーを生成する反応の動的リストの安定したユニークなキーを生成するMay 02, 2025 am 12:22 AM

coreChallengeingEneratingは、duniqueys consinistinsidentifientiversre-renderseforeffiencedomupdates.1)aseenaturalKeysisisisisisisisedisederiableiableiaibuniqueandStable.2)denatekeysBaseTheBasedOnMultipreattributive.2)を無効にすることを非難することを解決します

JavaScriptの疲労:Reactとそのツールで最新の状態を維持しますJavaScriptの疲労:Reactとそのツールで最新の状態を維持しますMay 02, 2025 am 12:19 AM

javascriptfatigueinReactismainageable with rikeislikedivedingingindininginginformationscors.1)whatyouneedwhenyouneedit、focusingonprojectrelevance.2)

UseState()フックを使用するコンポーネントをテストしますUseState()フックを使用するコンポーネントをテストしますMay 02, 2025 am 12:13 AM

ESTESTROACTCOMPONENTSINGTHESESTATEHOOK、USEJESTANDREACTINTINGLIBRARYTOSIMULATE INTERACTIONSIONDANDVERIFYISTAMESISINTHEUI.1)RENDERTHECONCENTANDCHECKECHINITATA.2)SimulateUserIractionSionsionsionsionsionsionslikeClickSorformSubmissions.3)

Reactのキー:パフォーマンスの最適化技術への深い飛び込みReactのキー:パフォーマンスの最適化技術への深い飛び込みMay 01, 2025 am 12:25 AM

keysinReactarecialforptimizingperformancebyididingineffictientListupdates.1)usekeystoidentifideidifyandtracklistelements.2)ArrayIndi​​cesassyStopreventPerformanceSues.3)suoseStableidedifierslikeItem.idtomaincomentaindtateandiproveperift

Reactのキーとは何ですか?Reactのキーとは何ですか?May 01, 2025 am 12:25 AM

ReactKeySareUniqueIdentifiersiersiderSuredStrovereconconiniationEfficiency.1)theyctrackChangesinListitems、2)sultanduniqueidentifiersiirsiTeemidssisssississmendを使用して、3)ArrayIndi​​cesAssayStopReventisSuseSUSEORINGを回避します

反応におけるユニークな鍵の重要性:一般的な落とし穴を避ける反応におけるユニークな鍵の重要性:一般的な落とし穴を避けるMay 01, 2025 am 12:19 AM

sinqueysarecrucialinReactforoptimizing andMaintainingcomponentStateIntegrity.1)useanaturaluniqueidentifierfromyourdataifaibable.2)ifnonaturalidentifierexists、発電済みのKeyusingingingingalibrarylikuuid.3)

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 Mac版

SublimeText3 Mac版

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

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 中国語版

SublimeText3 中国語版

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

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール