ما هي العقدة؟
من الأفضل محاولة تغطية كل شيء عند كتابة شيء ما ، لذلك أخذت أيضًا بعض المفاهيم الأساسية من الإنترنت. لقد غيرت بعض الأماكن فهمها الخاصة بي. إذا كان لديك أي فهم لهذه الأشياء المفاهيمية ، فيمكنك اختيار تخطي هذه الفقرة.
1. Node هو مترجم JavaScript من جانب الخادم ، لكنني أعتقد حقًا أن الطلاب الذين يجيدون في JavaScript يمكنهم بسهولة الحصول على العقدة عن طريق التعلم ، لذلك أنت مخطئ. ملخص: لا أعرف ما إذا كان الماء عميقًا أم لا ، لكنه ليس ضحلًا بالفعل.
2. هدف NODE هو مساعدة المبرمجين على بناء تطبيقات قابلة للتطوير للغاية وكتابة رموز الاتصال التي يمكنها التعامل مع عشرات الآلاف من الاتصالات إلى جهاز فعلي في نفس الوقت. يعد التعامل مع التزامن العالي والإدخال/الإخراج غير المتزامن أحد الأسباب التي تجعل العقدة قد جذبت انتباه المطورين.
3. NODE نفسها تعمل على تشغيل محرك Google V8 JavaScript ، وبالتالي فإن السرعة والأداء جيدة جدًا. يمكنك رؤيته من خلال النظر إلى الكروم. علاوة على ذلك ، في حين أن العقدة تغلفها ، فإنها تعمل أيضًا على تحسين قدرتها على معالجة البيانات الثنائية. لذلك ، لا تستخدم العقدة ببساطة V8 ، ولكنها تعمل أيضًا على تحسينها لجعلها أكثر قوة في بيئات مختلفة. (ما هو محرك V8 JavaScript؟ من فضلك "Baidu يعرف")
4. تلعب امتدادات ووحدات الطرف الثالث دورًا مهمًا في استخدام العقدة. سوف يلي أيضا تقديم تنزيل NPM. NPM هي أداة إدارة الوحدة النمطية. استخدمه لتثبيت حزم برامج العقدة المختلفة (مثل Express و Redis وما إلى ذلك) ونشر حزم البرامج التي كتبتها لـ Node.
تثبيت العقدة
فيما يلي مقدمة موجزة لتثبيت العقدة في بيئتين: Windows 7 و Linux. عند التثبيت ، يجب الانتباه إلى إصدار Python. فشل التثبيت عدة مرات بسبب مشاكل في إصدار Python. يوصى بأن يكون للإصدار 2.6+ أخطاء تثبيت العقدة. إذا قمت بالاستعلام عن إصدار Python ، فيمكنك إدخال: Pyhton -V
1. دعنا أولاً نقدم التثبيت تحت Linux. العقدة مريحة للغاية للتثبيت والاستخدام في بيئة Linux. يوصى بتشغيل العقدة تحت Linux. ^_^... أنا أستخدم Ubuntu11.04
أ. حزمة التثبيت التثبيت: 50-100 كيلو بايت/ثانية يمكن تنزيل كل حزمة وتثبيتها في دقيقة واحدة.
نسخة الكود كما يلي:
sudo app-get تثبيت g ++ curl libssl-dev apache2-utils
sudo apt-get تثبيت git-core
ب. قم بتشغيل الأمر خطوة بخطوة في المحطة:
نسخة الكود كما يلي:
git clone git: //github.com/joyent/node.git
عقدة CD
./configure
يصنع
Sudo جعل التثبيت
إذا كان التثبيت سلسًا ، فسيتم تثبيت العقدة بنجاح ، وسوف يستغرق ما مجموعه 12 دقيقة لشبكة 2M.
ملاحظة: إذا كنت لا تستخدم GIT لتنزيل الكود المصدري ، فيمكنك تنزيل الكود المصدر مباشرة ، ولكن تحتاج إلى الانتباه إلى مشكلة إصدار العقدة عند تنزيل وتثبيت بهذه الطريقة. إنه الأكثر ملاءمة للتنزيل والتثبيت باستخدام GIT ، لذلك يوصى به.
2. استخدم Cygwin لتثبيت العقدة على Windows. لا ينصح هذه الطريقة لأنها تستغرق وقتًا طويلاً وشخصية جيدة. نظامي هو إصدار Win7 الرائد
Cygwin هي بيئة محاكاة UNIX تعمل على منصة Windows. عنوان التنزيل هو: http://cygwin.com/setup.exe.
بعد تنزيل cygwin ، ابدأ التثبيت. خطوات:
أ. حدد مصدر التنزيل - التثبيت من الإنترنت
ب. حدد دليل الجذر للتنزيل والتثبيت
ج. حدد الدليل حيث يتم تخزين ملف التنزيل
د. اختر طريقة الاتصال
ه. حدد موقع الويب للتنزيل - http://mirrors.163.com/cygwin
و. المشكلة في هذه الخطوة ، لقد حان الوقت لاختبار شخصيتك. وقت التنزيل والتثبيت المطلوب غير مؤكد. على أي حال ، يستغرق الأمر وقتًا طويلاً (أكثر من 20 دقيقة) ، ويحدث فشل التثبيت أحيانًا. انقر على أيقونة السهم الدوار أمام كل حزمة لتحديد الإصدار الذي تريده. عند تحديدها ، سيشير علامة "X" إلى أنه تم تحديد الحزمة. حدد الحزمة التي تريد تنزيلها:
نسخة الكود كما يلي:الحزمة التطبيقية:
GCC-G ++: برنامج التحويل البرمجي C ++
GCC-Mingw-G ++: Mingw32 دعم رؤوس ومكتبات لـ GCC C ++
GCC4-G ++: حاوية فرعية G ++
GIT: الملفات الأساسية لنظام التحكم في الإصدار السريع
صنع: إصدار GNU من الأداة المساعدة "Make"
Openssl-devel: بيئة تطوير OpenSSL
PKG-Config: أداة تستخدم لاسترداد المعلومات حول المكتبات المثبتة
Zlib-Devel: مكتبة ضغط/إلغاء الضغط Zlib (التطوير)
حزمة المحرر: VIM: VI تحسين محرر VI المحسن
حزمة بيثون: التبديل الافتراضي لتثبيت الحالة
حزمة الويب:
WGT: الأداة المساعدة لاسترداد الملفات من www عبر HTTP و FTP
Curl: أداة سطر أوامر نقل الملفات متعددة البروتوكول
لقطة الشاشة السابقة ، خذ تنزيل Zlib-devel كمثال:
بعد بضع خطوات ، يتم الانتهاء من البيئة. ومع ذلك ، لم يحن الوقت لتثبيت العقدة بعد. لا تزال بحاجة إلى تنفيذ Rebaseall في وضع الرماد Cywgin. الخطوات كما يلي:
أ. سطر الأوامر CMD
ب. أدخل الدليل الفرعي بن تحت دليل تثبيت Cygwin
ج. قم بتشغيل الرماد لإدخال وضع Shell
د. ./Rebaseall -v
ه. أغلق نافذة سطر الأوامر بدون أخطاء
حسنًا ، لقد حان الوقت الآن لتنزيل وتثبيت العقدة ، وابدأ cygwin.exe وأدخل:
نسخة الكود كما يلي:
$ wget http://nodejs.org/dist/node-v0.4.12.tar.gz
$ tar xf node-v0.4.12.tar.gz
$ CD Node-V0.4.12
$./تكوين
جعل $
$ جعل التثبيت
3. Download Node.exe File مباشرة
انتقل مباشرة إلى nodejs.org للتنزيل. سمعت أن هناك مشاكل غير مستقرة ، ولكن إذا كنت ترغب فقط في التعرف على العقدة في Windows أولاً ، أشعر شخصياً أن هذه الطريقة أفضل بكثير من تثبيت Cygwin.
ملاحظة: لم أكن أرغب حقًا في كتابة فقرة تثبيت العقدة ، لكنني ما زلت كتبتها لشمولية هذا المقال. لم أكن أتوقع أن تكون طالما كتبت ... إنها طاولة قهوة
"Hello World" - لماذا أشعر بالحماس قليلاً في كل مرة أرى فيها هذه الجملة ، وأنا في حيرة ...
أولاً ، قم بإنشاء ملف hello.js ونسخ الكود التالي في الملف:
نسخة الكود كما يلي:
var http = require ('http') ؛
http.createserver (وظيفة (req ، الدقة) {
Res.Writehead (200 ، {'content-type': 'text/plain'}) ؛
res.end ('Hello World/n') ؛
}). الاستماع (1337 ، "127.0.0.1") ؛
console.log ('خادم يعمل على http://127.0.0.1:1337/') ؛
منطق الكود:
أ. يتطلب الطريقة العالمية () استخدام الوحدات النمطية. بشكل عام ، يتم تعيين قيمة إرجاع طريقة المتطلبات () إلى متغير مباشرة ، ويتم استخدام هذا المتغير مباشرة في رمز JavaScript. تتطلب ("HTTP") تحميل وحدة HTTP المسبقة للنظام المسبق للنظام
ب. http.createserver هي طريقة الوحدة النمطية ، والغرض من ذلك هو إنشاء كائن خادم ويب جديد وإرجاعه وربط رد اتصال للخدمة للتعامل مع الطلب.
ج. يمكن الاستماع إلى خادم HTTP على منفذ معين من خلال طريقة http.listen ().
د. Console.log لا داعي للقول ، يجب على أولئك الذين يعرفون Firebug أن يعرفوا أن العقدة تنفذ هذه الطريقة.
ملاحظة: للحصول على تفاصيل محددة ، يرجى التحقق من المستند cnodejs.org/cman/all.html#http.createserver
ثم قم بتشغيل خادم العقدة ، وقم بتنفيذ رمز Hello.js ، وبعد البدء بنجاح ، سترى النص في console.log (). هناك صور وحقيقة:
تنزيل واستخدام NPM
بالإضافة إلى واجهة برمجة التطبيقات التي توفرها Node نفسها ، هناك الآن العديد من وحدات الطرف الثالث التي يمكن أن تحسن بشكل كبير من كفاءة التطوير. NPM Is Node's Package Manager ، والذي يمكنه استخدامه لتثبيت حزم البرامج المطلوبة ونشر حزم البرامج المكتوبة لـ NodeJS. عنوان الموقع الرسمي: npmjs.org
يتطلب التثبيت فقط كتابة سطر واحد من التعليمات البرمجية في المحطة:
نسخة الكود كما يلي:
Curl http://npmjs.org/install.sh | ش
يقوم NPM بتثبيت حزمة تمديد العقدة بنفس سطر التعليمات البرمجية:
نسخة الكود كما يلي:
تثبيت NPM <اسم الحزمة> // مثال: NPM Install Express
ملاحظة: إذا تم الإبلاغ عن خطأ اسم المجال أثناء تثبيت الوحدة النمطية ، فيرجى مسح ذاكرة التخزين المؤقت NPM تنظيف أو إعادة تشغيل الكمبيوتر.
فهم مفهوم الوحدة النمطية للعقدة
في العقدة ، يتم تقسيم المكونات الوظيفية المختلفة إلى وحدات مختلفة. يمكن للتطبيق اختيار واستخدام الوحدة النمطية المناسبة وفقًا لاحتياجاتها. ستعرض كل وحدة بعض الطرق أو السمات الشائعة. يمكن لمستخدم الوحدة استخدام هذه الأساليب أو السمات مباشرة ، وليس هناك حاجة لفهم تفاصيل التنفيذ الداخلية. بالإضافة إلى واجهة برمجة التطبيقات التي توفرها العقدة نفسها ، يمكن للمطورين أيضًا استخدام هذه الآلية لتقسيم التطبيقات إلى وحدات متعددة لتحسين قابلية إعادة استخدام الكود.
1. كيفية استخدام الوحدات النمطية؟
إنه مناسب جدًا لاستخدام الوحدات النمطية في العقدة. في رمز JavaScript ، يمكنك استخدام الوظيفة العالمية بشكل مباشر () لتحميل وحدة نمطية.
في مثال "Hello World" الآن ، يمكن طلب ("HTTP") تحميل وحدة HTTP المسبقة للنظام ؛ يبدأ اسم الوحدة النمطية بـ "./" ، مثل المطلوبة (".
2. كيفية تطوير وحدات بنفسك؟
عندما قدمت للتو أنه عند استخدام مطلوبة () لاستيراد وحدة نمطية ، يبدأ اسم الوحدة "./" هو ملف الوحدة النمطية التي طورتها بنفسي. ما تحتاج إلى الانتباه إليه هو مسار نظام ملف JS.
يتم تغليف منطق المعالجة الداخلية للوحدة في الكود. ستعرض الوحدة النمطية عمومًا بعض الأساليب أو السمات العامة لاستخدامها. يحتاج الكود الداخلي للوحدة إلى فضح هذه الأساليب أو السمات.
3. دعونا نأخذ مجموعة بسيطة من الأمثلة. أولاً قم بإنشاء ملف وحدة مثل mymodule.js ، مجرد سطر واحد من التعليمات البرمجية
console.log ("مرحبا دارين.")
ثم قم بإنشاء ملف test.js ، واستيراد ملف JS هذا ، وتنفيذ العقدة لمعرفة النتائج
هناك العديد من وحدات الطرف الثالث في مجتمع العقدة الآن. آمل أن يتمكن المزيد من الناس من الانضمام إلى هذه العائلة الكبيرة من خلال تعلم العقدة والمساهمة في مجتمع العقدة. شكرا لك مقدمًا ، دعنا نستمر.
4. خذ مثال أعمق. في هذا المثال ، سيتم تقديم خاص ومشارك. أولاً ، قم بإنشاء mymodule.js ، الرمز كما يلي:
نسخة الكود كما يلي:
var name = "darren" ؛
this.location = "beijing" ؛
this.showlog = function () {
console.log ("مرحبا دارين.")
} ؛
هناك ثلاثة أنواع في الكود ، وهي: السمات الخاصة ، والسمات المشتركة والطرق المشتركة ، ثم قم بإنشاء test.js وتنفيذ العقدة
تخبرنا المنطقة المميزة بوضوح أنه لا يمكننا الحصول على أساليب خاصة خارج الوحدة ، لذلك فهي غير محددة. يجب أن يسبق إعلان السمات المشتركة والأساليب المشتركة من خلال الكلمة الرئيسية.
ما يمكن أن تفعله العقدة ومزاياه
الأفكار الأساسية العقدة: 1. عدم الحظر ؛ 2. 3. يحركه الحدث.
في تطبيقات الويب الحالية ، يمكن اعتبار بعض التفاعلات بين العميل والخادم قائمة على الحدث ، لذلك Ajax هو مفتاح الاستجابة في الوقت المناسب للصفحة. في كل مرة يتم فيها إرسال طلب (بغض النظر عن حجم البيانات المطلوبة) ، فإنه سيعود ذهابًا وإيابًا على الشبكة. يجب أن يستجيب الخادم لهذا الطلب ، وعادة ما يفتح عملية جديدة. بعد ذلك ، كلما زاد عدد المستخدمين الذين يزورون هذه الصفحة ، زاد عدد الطلبات التي سيتم البدء بها ، وستكون هناك مشاكل مثل تدفق الذاكرة ، والصراعات الناجمة عن التشابك المنطقي ، وشلل الشبكات ، وحادث النظام.
هدف العقدة هو توفير حل لإنشاء تطبيقات شبكة قابلة للتطوير. في مثال Hello World ، يمكن للخادم التعامل مع العديد من اتصالات العميل في نفس الوقت.
لدى العقدة ونظام التشغيل اتفاقية أنه إذا تم إنشاء رابط جديد ، فسيقوم نظام التشغيل بإخطار العقدة ثم ينتقل إلى الإسبات. إذا قام شخص ما بإنشاء رابط جديد ، فإنه (العقدة) ينفذ رد اتصال ، كل رابط يأخذ فقط مكدس مكدس صغير جدًا (ذاكرة).
خذ مثالًا بسيطًا على المكالمات غير المتزامنة ، قم بإعداد test.js و mymydule.js ، ^_ ^. انسخ الكود التالي في test.js وتنفيذ:
نسخة الكود كما يلي:
var fs = require ('fs') ؛
fs.readfile ('./ mymodule.js' ، function (err ، data) {
إذا (خطأ) رمي خطأ ؛
console.log ('بنجاح') ؛
}) ؛
console.log ('async') ؛
غير متزامن ، يجب أن يكون الجميع قادرين على التفكير في أن وقت التشغيل سيعرض أولاً "Async" ثم "نجح".
العقدة غير محظورة ، وعندما يصل طلب جديد إلى الخادم ، ليست هناك حاجة لفعل أي شيء بشكل منفصل لهذا الطلب. العقدة تنتظر فقط أن يحدث الطلب هناك ويتعامل مع الطلب إذا كان هناك طلب.
العقدة أفضل في التعامل مع الطلبات الصغيرة الحجم والإدخال/الإخراج القائمة على الأحداث.
لا تعتبر العقدة مجرد إطار عمل لتوفير خدمة ويب ، بل يمكنها القيام بالمزيد ، مثلها يمكنها تقديم خدمات المقبس ، على سبيل المثال ، قائمة على الملفات ، وبعد ذلك بناءً على بعض الأمثلة ، يمكن أن تكون هناك عمليات أطفال ، وداخليًا ، إنها آلية حدث كاملة للغاية ، بما في ذلك بعض حلول عدم الحقن غير المتزامنة ، بدلاً من أن تقتصر على الطبقة الأولى من الشبكة. في الوقت نفسه ، قد يوفر ، حتى كخدمة ويب ، المزيد من الوظائف التي يمكن أن تخترق نواة الخدمة والنواة. على سبيل المثال ، يتمثل وكيل HTTP المستخدمة في العقدة ، في أنه يمكن أن يخترق نواة الخدمة والقيام ببعض الوظائف.
مفهوم تدفق الحدث العقدة
نظرًا لأن العقدة تعتمد وضعًا يحركه الحدث ، فإن العديد من الوحدات النمطية ستقوم بإنشاء أحداث مختلفة ، ويمكن للوحدة إضافة طرق معالجة الأحداث. جميع الكائنات التي يمكن أن تنشئ الأحداث هي مثيلات من فئة EventEmitter في وحدة الحدث. الكود لغة شائعة في جميع أنحاء العالم ، لذلك ما زلنا نستخدم الكود للتحدث:
نسخة الكود كما يلي:
var events = require ("الأحداث") ؛
var emitter = events.eventemitter () ؛
Emitter.on ("myevent" ، وظيفة (msg) {
console.log (msg) ؛
}) ؛
Emitter.emit ("myevent" ، "Hello World.") ؛
تحليل موجز لهذه الفقرة:
1. استخدم طريقة المتطلبات () لإضافة وحدة الأحداث وتعيين قيمة الإرجاع إلى متغير
2. الحالات الجديدة. EventEmitter () تنشئ حافز الحدث ، وهو ما يسمى مثيل فئة EventEmitter في وحدة الحدث.
3. على (الحدث ، المستمع) يستخدم لإضافة معالج الأحداث إلى حدث حدث
4. يتم استخدام طريقة EMIT (الحدث ، [Arg1] ، [Arg2] ، [...]) لإنشاء الأحداث. يتم تنفيذ كل وظيفة مستمع في قائمة المستمع بالتتابع مع المعلمات المقدمة كمعلمات لوظيفة المستمع.
ترتبط الطرق في فئة Eventemitter بتوليد ومعالجة الأحداث:
1. AddListener (الحدث ، المستمع) وعلى (الحدث ، المستمع) هما طريقان يضيفان مستمعًا إلى نهاية مجموعة المستمع للحدث المحدد.
2. مرة واحدة (الحدث ، المستمع) تضيف هذه الطريقة مستمع لمرة واحدة للأحداث. يتم تنفيذ المستمع عند إطلاق الحدث لأول مرة وسيتم إزالته بعد ذلك
3. الإزالة (الحدث ، المستمع) يتم استخدام هذه الطريقة لإزالة المستمع من صفيف المستمع للحدث المحدد.
4. EMIT (الحدث ، [Arg1] ، [Arg2] ، [...]) ذكر للتو.
في العقدة ، هناك تدفقات بيانات مختلفة مختلفة ، والتيار عبارة عن واجهة مجردة تنفذها كائنات مختلفة. على سبيل المثال ، يكون طلب طلب خادم HTTP عبارة عن دفق ، على غرار stdout (الإخراج القياسي) ؛ بما في ذلك نظام الملفات ، وطلبات HTTP والاستجابات ، واتصالات TCP/UDP. يمكن أن يكون الدفق قابلاً للقراءة أو قابلة للكتابة أو قابلة للقراءة وقابل للكتابة. جميع التدفقات هي حالات EventEmitter ، لذلك يمكن إنشاء الأحداث المختلفة.
ينتج الدفق القابل للقراءة الأحداث التالية بشكل أساسي:
1. يتم تشغيل هذا الحدث عند قراءة البيانات الموجودة في الدفق.
2. عند عدم وجود بيانات في الدفق ليتم قراءتها ، يتم تشغيل هذا الحدث
3. يتم تشغيل هذا الحدث عند حدوث خطأ عند قراءة البيانات.
4.Close عند إغلاق الدفق ، يتم تشغيل هذا الحدث ، ولكن لن يؤدي جميع التدفقات إلى تشغيل هذا الحدث. (على سبيل المثال ، لن يؤدي دفق طلب HTTP الوارد في اتصال إلى حدث "إغلاق".)
يوجد أيضًا حدث FD أكثر خاصة ، والذي يتم تشغيله عند استلام واصف ملف في الدفق. تدعم تدفقات UNIX هذه الميزة فقط ، ولن تؤدي أي أنواع أخرى من التدفقات إلى تشغيل هذا الحدث.
الوثائق التفصيلية ذات الصلة: http://cnodejs.org/cman/all.html#events_
وحدة نظام ملفات الملفات القوية
يتم استخدام وحدة FS في العقدة للعمل على نظام الملفات المحلي. يتم تغليف I/O للملف بواسطة وظيفة POSIX القياسية. يجب الوصول إلى هذه الوحدة باستخدام متطلبات ('fs'). توفر جميع الطرق طرقًا غير متزامنة ومتزامنة.
يمكن استخدام الطرق المقدمة في وحدة FS لتنفيذ عمليات الملفات الأساسية ، بما في ذلك القراءة والكتابة وإعادة تسمية الدلائل وإنشاء وحذف الدلائل والحصول على بيانات تعريف الملفات. تحتوي كل طريقة للملفات التشغيل على نسختان: إصدارات متزامنة وغير متزامنة.
ستستخدم إصدارات العمليات غير المتزامنة طريقة رد الاتصال كمعلمة الأخيرة. عند اكتمال العملية ، سيتم استدعاء طريقة رد الاتصال. المعلمة الأولى لطريقة رد الاتصال محفوظة دائمًا كاستثناء قد يحدث أثناء التشغيل. إذا كانت العملية صحيحة وناجحة ، فإن قيمة المعلمة الأولى فارغة أو غير محددة.
اسم الطريقة لإصدار التشغيل المتزامن هو إضافة المزامنة مثل اللاحقة بعد الطريقة غير المتزامنة المقابلة. على سبيل المثال ، النسخة المتزامنة من طريقة إعادة الاسم غير المتزامنة () هي Renamesync (). يسرد ما يلي بعض الطرق الشائعة في وحدة FS ، ويقدم فقط إصدار العملية غير المتزامنة.
هل ملفات test.js و mymodule.js جاهزة؟ انسخ الكود التالي في test.js مرة واحدة
نسخة الكود كما يلي: var fs = require ('fs') ؛fs.unlink ('./ mymodule.js' ، function (err) {
إذا (خطأ) رمي خطأ ؛
console.log ('تم حذف mymodule.js بنجاح) ؛
}) ؛
إذا لم يكن هناك خطأ ، فسيتم حذف mymodule.js. الأمر بهذه البساطة
هذا مجرد مثال بسيط. إذا كنت مهتمًا ، جربها بنفسك وممارسة الحقيقة. لأسباب المساحة ، لن أعطي العديد من الأمثلة. ^_^
ملخص للتعلم العقدة:
1. بالنسبة لي ، الذي لديه ما يقرب من المعرفة حول أوامر وقذائف Linux ، لقد تعلمت الكثير من المعرفة حول Linux خلال هذه الفترة. VIM هو في الحقيقة محرر قوي ، ويشعر أنه من الجيد حقًا عدم استخدام الماوس ؛ وشيء واحد مهم جدا بالنسبة لي. البرمجة تحت Linux رائعة للغاية ، خاصة في الفريق ، الذي يستخدم لتثبيت Healthier^_^.
2. فهم إطار عمل ناجح لـ JavaScript من جانب الخادم - العقدة ، وكذلك بعض مزاياها واستخدامها ، هذه المقالة هي أفضل ملخص ، بالطبع ، ستكون هذه هي البداية فقط.
بعض الأشياء التي يمكن قولها للجميع:
1. يجب أن أضرب حماس بعض الناس هنا. إذا كنت لا تعرف ما يكفي عن تقنية الواجهة الخلفية أو لم تتعرض أبدًا للغة الخادم ، فلا تعرف I/O ، وليس لديك مفهوم تدفق معالجة الخلفية ، ثم ... العقدة ليست تقنية من جانب الخادم مناسبة للمبتدئين. لماذا تقول ذلك:
أ. النقطة الأساسية هي أن هناك بعض الأمثلة والمقالات باللغة الصينية ، لذلك سيكون من المزعج أكثر من ذلك بشكل منهجي ، لذلك هناك دائمًا شعور غير ناضج أثناء الاستخدام ، بالطبع ، يحدث بشكل أساسي بسبب عدم معلمه. لا يوجد في الواقع العديد من الشركات التي تستخدم العقدة في الصين ، وبالطبع لا يزال هناك الكثير في الخارج. التقطت صورة من cnodejs.org:
3. لدي بالفعل بعض الأسف بشأن عدم دخول شركة تحلم بها ، ولكن يجب أن تكون الحياة هكذا ، مع الصعود والهبوط ، وهذا هو بالضبط ما أحتاجه وأتوقعه ... ثم ، لا يزال يتعين علي مواصلة حياتي الجديدة ، وأكون طرفك الخاص ، وامتلئ اتجاهك الخاص ، والسماح لها بالمرور.
ب. بالنسبة للأصدقاء عديمي الخبرة ، ليس من السهل البدء في العقدة. يمكن رؤيته من أبسط "Hello World" (فهم بيئات التشغيل المختلفة وتفاصيل التثبيت يتطلب بعض الجهد). لا تقارن مكتبة jQuery. الأشياء التي يتم التعامل معها مختلفة وتكاليف التعلم مختلفة أيضًا. لذلك ، لا ينصح أن تكون تقنية من جانب الخادم للمبتدئين. إذا كنت ترغب في تعلم لغة PHP و Python من جانب الخادم ، فهذا اختيار جيد ، لأنه: هناك العديد من الكتب والأمثلة والأطر المتعددة والعديد من العمليات العملية والسهلة والسهلة للفهم والبناء ...
ج. أعلاه هي اقتراحاتي الشخصية. نظرًا لمستولي المحدود ، من فضلك أعطني بعض النصائح وآمل أن أكون بلا رحمة.
2. أنا لست قبيحًا بشأن معايير كتابة العقدة ومهارات محددة. ليس لدي الكثير من التعليمات البرمجية لكتابة العقدة بنفسي ، لكن فكرة البرمجة الموجهة للكائنات جيدة في كل مكان.
3. آمل أن تكون هذه المقالة مفيدة للجميع لتعلم العقدة