<commit_before>---
title: الإعتمادات
layout: docs.hbs
---

# الإعتمادات

هناك العديد من الإعتمادات التي يعتمد عليها Node.js ليقوم بعمله على ما يرام.

* [المكتبات](#libraries)
  * [V8](#v8)
  * [libuv](#libuv)
  * [llhttp](#llhttp)
  * [c-ares](#c-ares)
  * [OpenSSL](#openssl)
  * [zlib](#zlib)
* [الأدوات](#tools)
  * [npm](#npm)
  * [gyp](#gyp)
  * [gtest](#gtest)

## <!--libraries-->المكتبات

### V8

تزود مكتبة V8 <span dir='ltr'> Node.js </span> بمحرك جافاسكريبت ،الذي يتحكم به Node.js عبر واجهة برمجة التطبيقات V8 C++. يتم الإشراف على V8 بواسطة غوغل ، للاستخدام في متصفح كروم.

* [التوثيق](https://v8docs.nodesource.com/)

### libuv

إعتمادية مهمة الأخرى هي libuv ، وهي مكتبة C تُستخدم لتجريد عمليات الإدخال / الإخراج غير المحظورة إلى واجهة متناسقة عبر جميع الأنظمة الأساسية المدعومة. إنه يوفر آليات لمعالجة ملفات النظام ، DNS ، الشبكة ، العمليات الفرعية ، التصفية ، معالجة الإشارات ، الاقتراع والتدفق. يتضمن أيضًا تجمع مؤشرات ترابط لإلغاء تحميل العمل لبعض الأشياء التي لا يمكن القيام بها بشكل غير متزامن على مستوى نظام التشغيل.

* [التوثيق](http://docs.libuv.org/)

### llhttp

تتم معالجة تحليلات بروتوكول الـ HTTP بواسطة مكتبة C خفيفة الوزن تسمى llhttp. تم تصميمه بحيث لا يقوم بإجراء أي نداءات نظام (syscalls) أو عمليات تخصيص ( allocations ) ، لذلك لا يأخذ الطلب سوى مساحة صغيرة جدا من الذاكرة.

* [التوثيق](https://github.com/nodejs/llhttp)

### c-ares

بالنسبة لبعض طلبات الـ DNS الغير متزامنة ، يستخدم الـ Node.js مكتبة C تسمى c-ares. يتم كشفها من خلال وحدة DNS في جافا سكريبت كأنها عائلة من دوال الحلول ( `resolve()`) حيث تستخدم الدالة `lookup ()` ، وهي ما تستخدمه بقية النواة ، المكالمات المترابطة `getaddrinfo(3)` في libuv. والسبب في ذلك هو أن c-ares تدعم / etc / hosts ، و /etc/resolv.conf و /etc/svc.conf ، ولكن لا تفعل مع غيرها مثل mDNS.

* [التوثيق](https://c-ares.haxx.se/docs.html)

### OpenSSL

يستخدم OpenSSL على نطاق واسع في كل من الوحدات النمطية `tls` و `crypto`.توفر العديد من وظائف التشفير التي تم اختبارها واقعيا من أجل الأمان.

* [التوثيق](https://www.openssl.org/docs/)

### zlib
<commit_msg>Update dependencies.md<commit_after>---
title: الإعتمادات
layout: docs.hbs
---

# الإعتمادات

هناك العديد من الإعتمادات التي يعتمد عليها Node.js ليقوم بعمله على ما يرام.

* [المكتبات](#libraries)
  * [V8](#v8)
  * [libuv](#libuv)
  * [llhttp](#llhttp)
  * [c-ares](#c-ares)
  * [OpenSSL](#openssl)
  * [zlib](#zlib)
* [الأدوات](#tools)
  * [npm](#npm)
  * [gyp](#gyp)
  * [gtest](#gtest)

## <!--libraries-->المكتبات

### V8

تزود مكتبة V8 <span dir='ltr'> Node.js </span> بمحرك جافاسكريبت ،الذي يتحكم به Node.js عبر واجهة برمجة التطبيقات V8 C++. يتم الإشراف على V8 بواسطة غوغل ، للاستخدام في متصفح كروم.

* [التوثيق](https://v8.dev/docs/)

### libuv

إعتمادية مهمة الأخرى هي libuv ، وهي مكتبة C تُستخدم لتجريد عمليات الإدخال / الإخراج غير المحظورة إلى واجهة متناسقة عبر جميع الأنظمة الأساسية المدعومة. إنه يوفر آليات لمعالجة ملفات النظام ، DNS ، الشبكة ، العمليات الفرعية ، التصفية ، معالجة الإشارات ، الاقتراع والتدفق. يتضمن أيضًا تجمع مؤشرات ترابط لإلغاء تحميل العمل لبعض الأشياء التي لا يمكن القيام بها بشكل غير متزامن على مستوى نظام التشغيل.

* [التوثيق](http://docs.libuv.org/)

### llhttp

تتم معالجة تحليلات بروتوكول الـ HTTP بواسطة مكتبة C خفيفة الوزن تسمى llhttp. تم تصميمه بحيث لا يقوم بإجراء أي نداءات نظام (syscalls) أو عمليات تخصيص ( allocations ) ، لذلك لا يأخذ الطلب سوى مساحة صغيرة جدا من الذاكرة.

* [التوثيق](https://github.com/nodejs/llhttp)

### c-ares

بالنسبة لبعض طلبات الـ DNS الغير متزامنة ، يستخدم الـ Node.js مكتبة C تسمى c-ares. يتم كشفها من خلال وحدة DNS في جافا سكريبت كأنها عائلة من دوال الحلول ( `resolve()`) حيث تستخدم الدالة `lookup ()` ، وهي ما تستخدمه بقية النواة ، المكالمات المترابطة `getaddrinfo(3)` في libuv. والسبب في ذلك هو أن c-ares تدعم / etc / hosts ، و /etc/resolv.conf و /etc/svc.conf ، ولكن لا تفعل مع غيرها مثل mDNS.

* [التوثيق](https://c-ares.haxx.se/docs.html)

### OpenSSL

يستخدم OpenSSL على نطاق واسع في كل من الوحدات النمطية `tls` و `crypto`.توفر العديد من وظائف التشفير التي تم اختبارها واقعيا من أجل الأمان.

* [التوثيق](https://www.openssl.org/docs/)

### zlib

{'fraction_non_alphanumeric': 0.12094978976007915, 'fraction_numerical': 0.003957457333663122, 'mean_word_length': 3.913730255164034, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 8, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7047618', 'n_tokens_mistral': 2904, 'n_tokens_neox': 2455, 'n_words': 539}