نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

الصنف Object في روبي

يعدُّ الصنف Object الجذر الافتراضي لكل كائنات روبي. يَرِث الصنف Object من الصنف BasicObject ما يسمح بإنشاء تسلسلات هرمية بديلة للكائن. تُتاح توابع الكائن لكل الأصناف ما لم يتم تجاهلها (overridden) صراحةً. تندمج الوحدة Kernel ضمن الصنف Object ما يعطي الوصول العام (global) للدّوال المبنية ضمنيًّا في الوحدة. رغم أنَّ توابع النسخة المنشأة من الصنف Object معرَّفةٌ عن طريق الوحدة Kernel، رأينا أن نوثّقهم هنا لمزيد من الوضوح. عند الإشارة (referencing) إلى الثوابت في الأصناف الوارثة من الصنف Object، لا ...

الدالة fread()‎ في PHP

(PHP 4, PHP 5, PHP 7) تقرأ الدالة fread()‎ من ملف معيَّن بطريقة آمنة ثنائيًّا. الوصف string fread ( resource $handle , int $length ) تقرأ هذه الدالة عددًا محدودًا من البايتات (التي تحدَّدها قيمة المعامل length) من الملف الذي يشير إليه المورد handle. ستتوقَّف عمليَّة القراءة حال تحقُّق أحد الشروط التالية: إكمال قراءة البايتات التي تحدِّدها قيمة المعامل length. الوصول إلى نهاية الملف (EOF). حزمة من البيانات أًصبحت متاحة أو انتهاء مهلة المقبس (socket، وذلك عند القراءة من مجرى شبكة). ...

التابع IO.read_nonblock‎ في روبي

يقرأ التابع read_nonblock عددًا محدَّدًا من البايتات من المجرى الذي استُدعي معه باستخدام استدعاء النظام read(2)‎ بعد تعيين الراية O_NONBLOCK لواصف الملف (file descriptor) الأساسي. يستدعي التابع read_nonblock استدعاء النظام read(2)‎. كما أنه يتسبب في كل الأخطاء التي يسببها استدعاء النظام read(2)‎، مثل Errno::EWOULDBLOCK و Errno::EINTR وغيرهما . لذا، يجب على المُستدعي التعامل مع هذه الأخطاء. إن كان الاستثناء هو أحد الاستثنائين Errno::EWOULDBLOCK أو Errno::EAGAIN، فسيتم توسيعه بواسطة التابع WaitReadable، حتى يمكن استخدامه لمعالجة الاستثناءات لأجل إعادة استدعاء التابع read_nonblock. يطلق التابع ...

تنقيح تطبيقات ريلز

يقدّم هذا الدليل التقنيات اللازمة لتنقيح تطبيقات ريلز. بعد قراءة هذا الدليل، ستتعلّم: الغرض من التنقيح. كيفة تتبّع العلل والأخطاء التي لا تتعرّف عليها الاختبارات في تطبيقك. طرقًا مختلفة للتنقيح. كيفيّة تحليل أثر المكدس. مساعدي العرض للتنقيح احدى المهام الشائعة في التنقيح هي فحص محتويات متغيّر معيّن، لذا يوفر ريلز ثلاثة طرائق لفعل ذلك: Debug To_yaml Inspect debug سيعيد المساعد debug الوسم <pre> الذي يصدّر الكائن باستخدام تنسيق YAML، وسيؤدي هذا إلى توليد بيانات يمكن للإنسان قراءتها من أي كائن. ...

تثبيت وضبط واستخدام Sass

يمكن استخدام Sass بثلاث طرائق هي: كأداة سطر أوامر، أو كوحدةٍ مستقلة لروبي، أو كمُلحقة في أيّ بيئة عمل تدعم Rack، بما في ذلك Ruby on Rails و Merb. تثبيت Sass الخطوة الأولى لاستخدام Sass هي تثبيت الجوهرة (gem)‏ Sass: gem install sass إن كنت تستخدم نظام ويندوز، فقد تحتاج إلى تثبيت روبي أولاً. لتشغيل Sass من سطر الأوامر، يكفي أن تكتب الأمر الآتي: sass input.scss output.css يمكنك أيضًا إخبار Sass بمراقبة الملف وتحديث ملف CSS الناتج عند كلِّ تغيُّرٍ في ملف ...

إنشاء وتخصيص مولدات وقوالب ريلز

مولدات ريلز هي أداة أساسية إذا كنت تخطط لتحسين سير عملك. مع هذا الدليل سوف تتعلم كيفية إنشاء المولدات وتخصيص المولدات الموجودة. بعد قراءة هذا الدليل، ستتعلم: كيفية معرفة أي المولدات المتوفرة في التطبيق الخاص بك. كيفية إنشاء مولد باستخدام القوالب. كيفية بحث ريلز عن المولدات قبل استدعائها. كيفية إنشاء ريلز داخليًا شيفرة من القوالب. كيفية تخصيص المولد scaffold عن طريق إنشاء مولدات جديدة. كيفية تخصيص المولد scaffold عن طريق تغيير قوالب المولدات. كيفية استخدام التراجعات (fallbacks) لتجنب استبدال مجموعة ...

الدالة re.split()‎ في بايثون‎

تقسم الدالة السلسلة النصية عند كل مكان تحدث فيه عملية مطابقة للنمط المعطى. البنية العامة re.split(pattern, string, maxsplit=0, flags=0) المعاملات pattern التعبير النمطي المستخدم لإجراء عملية المطابقة. string السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق. maxsplit العدد الأقصى من التقسيمات التي تجريها الدالة على السلسلة النصية. في حال كان العدد الأقصى من التقسيمات أقل من عدد حالات المطابقة فإنّ الدالة تعيد ما يبقى من السلسلة النصية ليكون العنصر الأخير في القائمة المعادة. يأخذ هذا المعامل القيمة الافتراضية 0. ...

التابع ARGF.read في روبي

يقرأ التابع read عددًا محددًا من البايتات من المجرى ARGF. البنية العامة read([length [, outbuf]]) → string, outbuf, or nil يعالج هذا التابع جميع الملفات الممرَّرة في سطر الأوامر وكأنَّها ملفٌ واحدٌ، لذلك يعيد جميع محتويات هذا الملف الزائف (pseudo file) عند استدعائه دون تمرير أي وسائط. إذا كانت قيمة الوسيط length عددًا صحيحًا موجبًا، فسيحاول التابع read قراءة عددٍ من البايتات يساوي length دون إجراء أي تحويل (الوضع الثنائي [binary mode]). في حال كان length عددًا صحيحًا (integer)، تكون السلسلة ...

التخزين المؤقت (Cache) في Laravel

الضبط يوفر Laravel واجهة برمجيّة معبّرة وموحّدة لكل التخزين المؤقت. يوجد ملف ضبط التخزين في config/cache.php. في هذا الملف، يمكن تحديد مشغّل التخزين الذي سيُستعمل تلقائيًّا في كامل التطبيق. يدعم Laravel العديد من الواجهات الخلفيّة الشائعة مثل Memcached و Redis من البداية. يحتوي ملف ضبط التخزين أيضًا على خيارات متعدّدة مفصّلة في الملف ذاته لذا تأكد من قراءته جيدا. تلقائيًّا، يستعمل Laravel برنامج التشغيل file للتخزبن المؤقت، يسجل هذا المشغل الكائنات المخزّنة بطريقة متسلسلة في نظام الملفات. بالنسبة للتطبيقات الكبيرة، ...

الصنف BasicObject في روبي

الصنف BasicObject هو الصنف الأب لجميع الأصناف في روبي، وهو صنف فارغ. يمكن استخدام الصنف BasicObject لإنشاء هرميات كائنية (object hierarchies) مستقلة عن الهرمية الكائنية للغة روبي، أو لإنشاء مغلفات الكائنات (proxy objects) مثل الصنف Delegator، أو حيث يجب تجنب إفساد مجال الأسماء (namespace pollution) من قبل توابع وأصناف روبي. لتجنب إفساد الصنف BasicObject للمستخدمين الآخرين، يجب إنشاء صنف فرعي من الصنف BasicObject تحت اسم مناسب بدلاً من تعديل BasicObject مباشرةً: class MyObjectSystem < BasicObject end لا يتضمَّن الصنف BasicObject الوحدة Kernel ...

التابع IO.readpartial‎ في روبي

يقرأ التابع readpartial عددًا محدَّدًا من البايتات من المجرى الذي استدعي معه. لن يقوم التابع readpartial بالتعطيل (block) إلا في حال لم يكن في المجرى أي بيانات متوفرة آنذاك. أي أنه لن يُعطِّل في حالة توفر بعض البيانات. يُطلق التابع readpartial الاستثناء EOFError عند نهاية الملف. صُمِّم التابع readpartial للتعامل مع نوع محدَّد من المجاري (streams) من مِثل الأنابيب (pipes)، والمقابس (sockets)، والطرفية tty، ...إلخ. ولن يقوم بالتعطيل إلا عند عدم توفر أية بيانات حينذاك. هذا يعني أنه سيُعطّل فقط عند تحقق جميع الشروط ...

الوحدة zipfile‎‎ في بايثون

تعدّ ملفات ZIP من ملفات الأرشفة والضغط الأكثر شيوعًا. تقدّم هذه الوحدة أدواة لإنشاء ملفات ZIP والقراءة منها والكتابة فيها وإلحاق الملفات بها وعرض محتوياتها. يتطلّب الاستخدام المتقدّم لهذه الوحدة فهمًا جيّدًا لصيغة الملفات ZIP والمعرّفة في دليل التطبيق PKZIP. لا تتعامل هذه الوحدة في الوقت الحاضر مع ملفات ZIP متعددة الأقراص، ولكن يمكنها التعامل مع ملفات ZIP التي تستخدم الإضافة ZIP64 (أي ملفات ZIP التي يتجاوز حجمها ‎4 GiB). يمكن استخدام الوحدة كذلك لفكّ التعمية عن الملفات المعمّاة encrypted ...

الدالة session_start()‎ في PHP

(PHP 4, PHP 5, PHP 7) تنشئ  الدالة session_start()‎ جلسة جديدة أو تستكمل جلسة موجودة بالفعل. الوصف bool session_start ([ array $options = array() ]) تنشئ الدالة session_start()‎ جلسة جديدة أو تستكمل الجلسة الحالية بناء على مُعرف الجلسة المُمرر بواسطة الطلبية GET و POST أو عبر ملفات تعريف الارتباط. عند استدعاء الدالة session_start()‎ أو عندما تبدأ الجلسة تلقائيًا، ستستدعي  PHP دوال بدء وقراءة معلومات الجلسة. هذه الدوال ستكون إما دالة مضمَّنة في اللغة (built-in) ، أو بواسطة إضافات PHP (مِثل SQLite أو Memcached); أو يُمكن أن تكون ...

التابع test‎ الخاص بالصنف Kernel في روبي

يجري التابع test عدة اختبارات على ملف واحد أو على ملفين. البنية العامة test(cmd, file1 [, file2] ) → obj‎ المعاملات cmd‎ يحدد الاختبار المراد تطبيقه. اختبارات File التي تطبَّق على ملف واحد هي: المعامل cmd نوع القيمة المعادة وصف "A" Time توقيت آخر دخول إلى الملف file1. "b" قيمة منطقية يعيد True إن كان الملف file1 جهازًا كتليًّا (block device). "c" قيمة منطقية يعيد True إن كان file1 من النوع جهازًا محرفيًّا (character device). "C" Time توقيت آخر تغيير ...

الوحدة marshal‎ في بايثون

تضمّ هذه الوحدة مجموعة من الدوال التي يمكنها قراءة وكتابة قيم بايثون بالصيغة الثنائية binary format. هذه الصيغة خاصة ببايثون، ولكنّها مستقلّة عن معمارية الجهاز الذي تعمل عليه الشيفرة (مثلًا، يمكنك كتابة قيمة بايثون في ملف على نظام ويندوز، ثم نقل الملف إلى نظام Sun وقراءته فيه). لم يجر توثيق التفاصيل الخاصّة بهذه الصيغة عن عمد، وذلك لأنّها عرضة للتغيير بين إصدارات بايثون المختلفة (بالرغم من أن ذلك نادر الحدوث). تأثّر اسم هذه الوحدة تأثّرًا كبيرًا بالتسمية التي اعتمدها مصمّمو ...

ضبط خيارات المترجم في مشاريع MSBuild في TypeScript

مقدمة يُمكن تحديد خيارات المترجم عبر استخدام خاصيات MSBuild في مشروع MSBuild. مثال <PropertyGroup Condition="'$(Configuration)' == 'Debug'"> <TypeScriptRemoveComments>false</TypeScriptRemoveComments> <TypeScriptSourceMap>true</TypeScriptSourceMap> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)' == 'Release'"> <TypeScriptRemoveComments>true</TypeScriptRemoveComments> <TypeScriptSourceMap>false</TypeScriptSourceMap> </PropertyGroup> <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" /> الاقترانات (Mappings) الخيار اسم خاصية MSBuild القيم المسموح بها ‎--allowJs‎ ‎غير مدعوم في MSBuild. ‎ ‎--allowSyntheticDefaultImports‎ TypeScriptAllowSyntheticDefaultImports ‎قيمة منطقية ‎--allowUnreachableCode‎ TypeScriptAllowUnreachableCode ...

ترقية أندرويد في كوردوفا

يوضح هذا الدليل كيفية تعديل مشروعات كوردوفا للترقية انطلاقًا من الإصدارات القديمة من كوردوفا. تُطبَّق معظم هذه الإرشادات على المشاريع التي تم إنشاؤها باستخدام أدوات سطر الأوامر القديمة التي كانت قبل واجهة سطر الأوامر cordova. يمكنك الانتقال إلى توثيق واجهة سطر الأوامر للحصول على معلومات حول كيفية تحديث إصدار واجهة سطر الأوامر. الترقية إلى الإصدار ‎7.X.X أفضل طريقة للترقية إلى الإصدار ‎7.X.X هي إزالة منصة أندرويد من مشروعك، ثم إعادة إضافتها بالإصدار الجديد. مثلًا: cordova platform remove android cordova platform add ...

وحدة المراقب (Inspector) في Node.js

مؤشر الاستقرار: 1 - تجريبي توفر وحدة المراقب inspector واجهة تطبيقات API للتفاعل مع المراقب V8. ويمكن الوصول إليه باستخدام: const inspector = require('inspector'); inspector.open([port[, host[, wait]]])‎ port من النوع <number>: منفذ الاستماع لاتصالات المراقب. اختياري. القيمة الافتراضية: ما تحدد في واجهة سطر الأوامر CLI. host من النوع <string>: المضيف الذي يجب الاستماع له لإجراء اتصالات المراقب. اختياري. القيمة الافتراضية: ما تحدد في واجهة سطر الأوامر CLI. wait من النوع <boolean>: المنع حتى إتمام اتصال عميل. اختياري. القيمة الافتراضية: false. ...

الوحدة tarfile‎ في بايثون

تتيح وحدة tarfile القدرة على قراءة ملفات الأرشيف tar والكتابة فيها، ومن ضمن ذلك تلك التي تستخدم خوارزمية gzip و bz2 و lzma لإجراء عملية الضغط. استخدم وحدة zipfile لقراءة الملفات ذات الامتداد ‎.zip والكتابة فيها، أو استخدم الدوال ذات المستوى الأعلى في shutil. وقبل الدخول في تفاصيل هذه الوحدة يجدر التنبيه إلى النقاط التالية: تقرأ الوحدة وتكتب ملفات gzip و bz2 و lzma المضغوطة إن كانت الوحدات المقابلة لكل نوع متوفرة. تدعم الوحدة القراءة والكتابة للصيغة POSIX.1-1988 ‏(ustar). تدعم ...

الصنف gzip.GzipFile‎ في بايثون

الدالة البانية للصنف GzipFile، والذي يقدّم محاكاة لمعظم توابع كائن الملف باستثناء التابع truncate()‎. البنية العامة gzip.GzipFile(filename=None, mode=None, compresslevel=9, fileobj=None, mtime=None) المعاملات filename و fileobj يجب أن يأخذ أحد المعاملين fileobj و filename على الأقل قيمة غير بسيطة non-trivial value. تستند النسخة الجديدة من الصنف على الكائن fileobj، والذي يمكن أن يكون ملفًّا عاديًا، أو كائن io.BytesIO أو اي كائن آخر يحاكي الملفات. يأخذ هذا المعامل القيمة None، وفي مثل هذه الحالة يُفتح filename لتوفير كائن ملف. عندما لا تكون ...

الجدول ASCII في أردوينو

يرجع الترميز ASCII (اختصارٌ إلى American Standard Code for Information Interchange) إلى ستينيات القرن الماضي، وكان يُعدُّ الطريقة القياسية المتبعة آنذاك (والتي لا تزال مستعملة إلى يومنا هذا) في ترميز النصوص عدديًّا. انتبه إلى أنَّ المحارف 32 الأولى من هذا الجدول هي محارف غير مطبوعة (non-printing characters)، وتدعى غالبًا محارف التحكم (control characters). القيمة العشرية القيمة الست عشرية المحرف   القيمة العشرية القيمة الست عشرية المحرف القيمة العشرية القيمة الست عشرية المحرف 0 00 NUL (null) 42 2A * 85 ...

القواميس dict في بايثون

القواميس هي مجاميع غير مرتّبة من أزواج (مفتاح: قيمة) (key: value) مع اشتراط كون المفاتيح ذات قيم فريدة (ضمن القاموس الواحد). يمكن استخدام الأقواس المعقوفة {} لإنشاء قاموس فارغ. >>> tel = {'jack': 4098, 'sape': 4139} >>> tel['guido'] = 4127 >>> tel {'sape': 4139, 'guido': 4127, 'jack': 4098} >>> tel['jack'] 4098 تأخذ القواميس مسمّيات مختلفة في لغات البرمجة الأخرى، مثل الذواكر الترابطية (associative memories) أو المصفوفات الترابطية (associative arrays). تختلف القواميس عن أنواع التسلسلات الأخرى في طريقة الفهرسة، فالقوائم والمجموعات تكون مفهرسة بواسطة مدى محدد ...

الصنف gzip.GzipFile‎ في بايثون

الدالة البانية للصنف GzipFile، والذي يقدّم محاكاة لمعظم توابع كائن الملف باستثناء التابع truncate()‎. البنية العامة gzip.GzipFile(filename=None, mode=None, compresslevel=9, fileobj=None, mtime=None) المعاملات filename و fileobj يجب أن يأخذ أحد المعاملين fileobj و filename على الأقل قيمة غير بسيطة non-trivial value. تستند النسخة الجديدة من الصنف على الكائن fileobj، والذي يمكن أن يكون ملفًّا عاديًا، أو كائن io.BytesIO أو اي كائن آخر يحاكي الملفات. يأخذ هذا المعامل القيمة None، وفي مثل هذه الحالة يُفتح filename لتوفير كائن ملف. عندما لا تكون ...

الوضع التفاعلي

التعامل مع الأخطاء يطبَع المُفسِر - مُفسِر بايثون - رسالة خطأ ورصة تتبُّع (stack trace) عند حدوث خطأ ما. يرجع بعدها المُفسِر، في الوضع التفاعلي، إلى المُحِث الرئيسي (primary prompt)، وذلك نقيض ما يَحدُث عندما يُشغِّل المُفسِر ملفًا؛ حيث يوقِف المُفسِر التشغيل ويخرج برمز خروج غير مُصفَّر (nonzero exit status) بعد طباعته لرصة التتبُّع (لاحظ أنَّ الأخطاء الناتجة عن الشيفرات المحصورة بالعبارة try … except مُستثناة من سياقنا). بعض الأخطاء غير فادحة (fatal) ولكنها تسبب الخروج برمز خروج غير مُصفَّر ...

الدالة flock()‎ في PHP

(PHP 4, PHP 5, PHP 7) تحمي الدالة flock()‎ ملفًا محدَّدًا أثناء إجراء عمليَّة عليه (مثل القراءة منه أو الكتابة عليه) إشارةً إلى أنَّ هذا الملف يُستعمل الآن. الوصف bool flock ( resource $handle , int $operation [, int &$wouldblock ] ) تُتيح لك هذه الدالة قفل أيَّ ملف ومنع الآخرين من القراءة منه أو الكتابة عليه وذلك أثناء إجراء عمليَّة ما على هذا الملف. يمكن استعمال هذه الدالة نظريًا على جميع الأنظمة (من ضمنها أغلب توزيعات لينكس وحتى ويندوز). كان ...

مُحدِّدات الوصول (Visibility Modifiers) في لغة Kotlin

تُعيِّن مُحدِّدات الوصول قابليةَ الوصول إلى كلٍّ من الأصناف (classes) والكائنات (objects) والواجهات (interfaces) والدوال (functions) والخاصّيّات (properties) ودوال الوصول إليها من النوع setters (لأن مُحدِّد الوصول إلى getter مماثلٌ للوصول إلى الخاصّيّة نفسها)، وهناك أربعة أنواعٍ من المُحدِّدات وهي: private و protected و internal و public والنوع الافتراضيّ منها هو public (يُستخدم عند عدم وجود تصريحٍ عن إحداها)، وفيما يلي شرح لكيفيّة تطبيق المُحدِّدات على أنواعٍ مختلفةٍ من التصريحات (declarations). الحزم (Packages) يمكن تعريف كلٍّ من الدوال والخاصّيّات والأصناف ...

الوحدة configparser‎‎ في بايثون

تقدّم هذه الوحدة الصنف ConfigParser الذي يستخدم لغة إعدادات بسيطة تقدّم بنية مشابهة للبنية التي تقدّمها ملفات INI في نظام Microsoft Windows. ويمكن استخدام هذا الصنف لكتابة برامج وتطبيقات يمكن للمستخدمين تخصيصها بكل سهولة. ملاحظة: لا تفسّر هذه المكتبة ولا تكتب لواحق قيمة-نوع التي يستخدمها إصدار سجلّ نظام ويندوز Windows Registry الموسّع بصيغة INI. بداية سريعة لنبدأ بملف الإعدادات البسيط التالي: [DEFAULT] ServerAliveInterval = 45 Compression = yes CompressionLevel = 9 ForwardX11 = yes [bitbucket.org] User = hg [topsecret.server.com] Port = 50022 ForwardX11 = no يتكوّن الملف بصورة أساسية من ...

العمليات الأبناء في Node.js

الاستقرار: 2-مستقر توفِّر الوحدة child_process القدرة على توليد (spawn) عمليات أبناء بطريقةٍ مشابهةٍ  -وليست مماثلة- للدالة popen(3)‎، إذ يمكن للدالة child_process.spawn()‎ أن توفِّر هذه الإمكانيَّة في المقام الأول: const { spawn } = require('child_process'); const ls = spawn('ls', ['-lh', '/usr']); ls.stdout.on('data', (data) => { console.log(`stdout: ${data}`); }); ls.stderr.on('data', (data) => { console.log(`stderr: ${data}`); }); ls.on('close', (code) => { console.log(`child process exited with code ${code}`); }); تُنشَأ أنابيبٌ (pipes) لمجرى الدخل القياسي (stdin) ومجرى الخرج القياسي (stdout) ومجرى الخطأ القياسي (stderr) بين العمليَّة الأب في Node.js ...

الواجهات الساكنة (Facades) في Laravel

مقدمة تُوفِّر الواجهات الساكنة واجهة "ساكنة" (static) للأصناف المتوافرة في حاوي خدمات تطبيقك. يأتي Laravel مع عدة واجهات تمكنك من استخدام كل خاصيات Laravel تقريبًا. تمثل واجهات Laravel الساكنة "وسطاء ساكنات" (static proxies) للأصناف الأساسية بحاوي الخدمات مما يوفر كل فوائد الصِّيغ (syntax) المقتضبة والمُعبِّرة مع الحفاظ على قابلية الاختبار ومرونة أكبر من الدالات الساكنة التقليدية. كل واجهات Laravel الساكنة مُعرَّفةٌ في مجال الأسماء Illuminate\Support\Facades. يمكننا الوصول لواجهة ساكنة بهذه الطريقة: use Illuminate\Support\Facades\Cache; Route::get('/cache', function () { return ...

الأخطاء في Node.js

ستواجه التطبيقات التي تعمل في Node.js عمومًا أربع فئات من الأخطاء هي: أخطاء JavaScript القياسية مثل <EvalError>، و <SyntaxError>، و <RangeError>، و <ReferenceError>، و <TypeError>، و <URIError>. أخطاء النظام التي أُطلقَت بوساطة قيود نظام التشغيل الضمنيَّة (operating system constraints) مثل محاولة فتح ملف غير موجود أو محاولة إرسال بيانات عبر مقبسٍ مغلق. أخطاء محددة من طرف المستخدم تُطلَق عبر شيفرة التطبيق. أخطاء التوكيد AssertionError‎ وهي صنفٌ مخصصٌ من الأخطاء يُطلَق عندما تكتشف Node.js مخالفة منطقية استثنائية لا يجب أن تحدث ...

الإشعارات (Notifications) في Laravel

مقدمة بالإضافة لدعم إرسال البريد الإلكتروني، يوفّر Laravel دعمًا لإرسال إشعارات بين قنوات توصيل عديدة من ضمنها البريد الإكتروني، والرسائل القصيرة (عبر Nexmo)، و Slack. يمكن أيضًا حفظ الإشعارات في قاعدة البيانات لإظهارها في واجهة الويب. تكون الإشعارات في العادة على شكل رسائل قصيرة، وغنية بالمعلومات، تنبّه المستخدم لشيءٍ حدث في التطبيق. مثلًا، إن كنت تكتب تطبيق فواتير، يمكنك إرسال تنبيه "تمّ خلاص الفاتورة" للمستخدم عبر بريد إلكتروني أو رسالة قصيرة. إنشاء الإشعارات في Laravel، يُمثَّل كل تنبيه بصنف (موجودٌ ...

التابع str.rindex()‎ في بايثون

يعيد التابع أعلى قيمة للفهرس في السلسلة النصية حيث تجد فيه السلسلة النصية الفرعية. البنية العامة x.rindex() المعاملات sub السلسلة الفرعية المراد معرفة موقعها. start الموقع الذي يبدأ منه التابع عملية البحث ضمن السلسلة الأصلية. end الموقع الذي ينهي فيه التابع عملية البحث ضمن السلسلة الأصلية. يسلك هذان المعاملان نفس السلوك المتّبع في عملية اقتطاع السلاسل النصية slicing. القيمة المعادة يعيد هذا التابع أعلى قيمة للفهرس في السلسلة النصية حيث تجد فيه السلسلة النصية الفرعية، بحيث تكون السلسلة النصية الفرعية ...

التحميل الزائد في PHP

تقديم ميزة التحميل الزائد في PHP القدرة على إنشاء الخصائص والتوابع بصورة ديناميكية، وتعالج هذه العناصر الديناميكية بواسطة التوابع السحرية (magic methods) التي يمكن استخدامها في الصنف لأداء العديد من الوظائف. تنفّذ توابع التحميل الزائد عند التفاعل مع الخصائص أو التوابع غير المصرّح عنها أو غير المرئية ضمن النطاق الحالي. سيستخدم هذا القسم مصطلحي "خاصية يتعذر الوصول إليها" و"تابع يتعذر الوصول إليه" للإشارة إلى حالة التصريح وقابلية الرؤية هذه. يجب تعريف جميع توابع التحميل الزائد كتوابع من نوع public. ملاحظة: ...

التابع str.join()‎ في بايثون

يعيد التابع join()‎ السلسلة النصية الناتجة عن ربط السلاسل النصية التابعة لكائن قابل للتكرار (iterable). البنية العامة x.join() المعاملات iterable كائن قابل للتكرار مثل الصفوف، والقواميس، والقوائم، والسلاسل النصية، والمجموعات. القيمة المعادة يعيد التابع join()‎ السلسلة النصية الناتجة عن ربط السلاسل النصية التابعة لكائن قابل للتكرار (iterable). إذا لم يكن أحد عناصر الكائن القابل للتكرار سلسلة نصية تطلق الدالة الخطأ TypeError. أمثلة يبين المثال التالي القيم المعادة من تطبيق التابع على سلاسل مختلفة: >>> s = ["100", "200", "300", "400", ...

التحميل الزائد في PHP

تقديم ميزة التحميل الزائد في PHP القدرة على إنشاء الخصائص والتوابع بصورة ديناميكية، وتعالج هذه العناصر الديناميكية بواسطة التوابع السحرية (magic methods) التي يمكن استخدامها في الصنف لأداء العديد من الوظائف. تنفّذ توابع التحميل الزائد عند التفاعل مع الخصائص أو التوابع غير المصرّح عنها أو غير المرئية ضمن النطاق الحالي. سيستخدم هذا القسم مصطلحي "خاصية يتعذر الوصول إليها" و"تابع يتعذر الوصول إليه" للإشارة إلى حالة التصريح وقابلية الرؤية هذه. يجب تعريف جميع توابع التحميل الزائد كتوابع من نوع public. ملاحظة: ...

العنصر

يُمثِّل العنصر <button> زرًا قابلًا للضغط. مثال عن استخدام العنصر <button>: <button name="button">اضغط هنا</button> بطاقة العنصر تصنيفات المحتوى عنصر تنظيمي وعنصر عادي، وعنصر تفاعلي ... المحتوى المسموح المحتوى العادي. الوسم المختصر لا يمكن حذف أيّ من وسمَي البداية أو النهاية. العناصر الأب أي عنصر يقبل المحتوى العادي. واجهة DOM HTMLButtonElement دعم المتصفحات Chrome Firefox Edge Safari Opera مدعوم مدعوم مدعوم مدعوم مدعوم الخاصيات يمكن استخدام الخاصيات العامة في هذا العنصر. autofoucs تسمح لنا هذه الخاصية المنطقية (Boolean) بتحدد أنَّنا نريد ...

التابع str.index()‎ في بايثون

يؤدي هذا التابع نفس وظيفة التابع find()‎ ولكنّه يطلق الخطأ ValueError إن لم يعثر على السلسلة الفرعية. البنية العامة x.find() المعاملات sub السلسلة الفرعية المراد معرفة موقعها. start الموقع الذي تبدأ منه الدالة عملية البحث ضمن السلسلة الأصلية. end الموقع الذي تنهي فيه الدالة عملية البحث ضمن السلسلة الأصلية. يسلك هذان المعاملان نفس السلوك المتّبع في عملية اقتطاع السلاسل النصية slicing. القيمة المعادة يعيد التابع أدنى قيمة للفهرس في السلسلة النصية حيث تكون السلسلة الفرعية sub موجودة في الجزء المقتطع ...

العنصر

يُمثِّل العنصر <form> قسمًا في المستند الذي يحتوي على عناصر يستطيع المستخدم التفاعل معها لإرسال بيانات إلى خادوم الويب. مثال بسيط عن نموذج يُرسَل عبر الطريقة GET: <form action="" method="get"> <label for="name">الاسم:</label> <input id="name" type="text" name="name"> <input type="submit" value="أرسل"> </form> مثال بسيط عن نموذج يُرسَل عبر الطريقة POST: <form action="" method="post"> <label for="name">الاسم:</label> <input id="name" type="text" name="name"> <input type="submit" value="أرسل"> </form> مثال عن نموذج يبيّن استخدام العناصر <fieldset> و <legend> و <label>: <form action="" method="post"> <fieldset> ...

أساسيات Action Mailer في ريلز

يوفّر لك هذا الدليل كل ما تحتاجه للبدء في إرسال واستقبال رسائل البريد الإلكتروني من وإلى تطبيقك، والعديد من عمليّات Action Mailer الداخليّة. كما يغطي كيفية اختبار مُرسلي بريدك (mailers). ستتعلم بعد قراءة هذا الدليل: كيفيّة إرسال واستقبال البريد الإلكتروني داخل تطبيق ريلز. كيفيّة إنشاء وتعديل صنف Action Mailer والعرض المرتبط به. كيفيّة إعداد Action Mailer لبيئتك. كيفيّة اختبار أصنافك لـ Action Mailer. مقدمة يسمح لك Action Mailer بإرسال رسائل البريد الإلكتروني من تطبيقك باستخدام الأصناف mailer والعروض المرتبطة بها ...

include في PHP

(PHP 4, PHP 5, PHP 7) تعمل عبارة include على تضمين ومعالجة الملف المحدّد. ينطبق التوثيق التالي على عبارة require. تُضمّن الملفات بالاعتماد على المسار المعطى للعبارة، وفي حال عدم تحديد المسار، تأخذ include المسار المحدد في include_path. إن لم يكن الملف موجودًا في include_path ستتحقّق include في المجلّد الذي يحتوي على الشيفرة التي أجرت الاستدعاء وفي مجلد العمل الحالي قبل أن تطلق خطأً. تطلق بنية include تحذيرًا إن لم تتمكن من العثور على الملف، وتختلف في ذلك عن require ...

الصنف TarFile في بايثون

وظيفة هذا الصنف هي قراءة ملفات الأرشيف من نوع tar والكتابة فيها. لا تستخدم هذا الصنف مباشرة، بل استخدم الدالة tarfile.open()‎ عوضًا عنه. يقدّم كائن TarFile واجهة لملفات الأرشيف من نوع tar. يتكوّن أرشيف tar من تسلسل من الكتل، ويتكوّن عضو الأرشيف (الملفّ المخزّن) من كتلة الترويسة header block متبوعة بكتل البيانات. يمكن تخزين ملف معيّن في أرشيف tar عدّة مرات، ويُمثّل كل عضو في الأرشيف بواسطة كائن TarInfo (راجع قسم كائنات TarInfo للمزيد من التفاصيل). يمكن استخدام كائن TarFile ...

include في PHP

(PHP 4, PHP 5, PHP 7) تعمل عبارة include على تضمين ومعالجة الملف المحدّد. ينطبق التوثيق التالي على عبارة require. تُضمّن الملفات بالاعتماد على المسار المعطى للعبارة، وفي حال عدم تحديد المسار، تأخذ include المسار المحدد في include_path. إن لم يكن الملف موجودًا في include_path ستتحقّق include في المجلّد الذي يحتوي على الشيفرة التي أجرت الاستدعاء وفي مجلد العمل الحالي قبل أن تطلق خطأً. تطلق بنية include تحذيرًا إن لم تتمكن من العثور على الملف، وتختلف في ذلك عن require ...

Python/stat

يُعرّف الصنف stat ثوابت وتوابع لمعالجة نتيجة استدعاء التوابع os.stat()‎وos.fstat‎‎()‎  وos.lstat()‎ وكذلك بطبيعة الحال فهو يعالج نتائج التابع Path.stat‎()‎، ولا يتم إنشاء كائنات منه، فجميع التوابع والثوابت يمكن الوصول إليها مباشرة من الصنف. توابع الصنف stat لكشف نوع الملفات التابع stat.S_ISDIR للكشف عن كون النمط مشيرًا إلى مجلد. التابع stat.S_ISCHR للكشف عن كون النمط مشيرًا إلى ملف character special device. التابع stat.S_ISBLK للكشف عن كون النمط مشيرًا إلى ملف block special device. التابع stat.S_ISREG للكشف عن كون النمط مشيرًا إلى ...

include في PHP

(PHP 4, PHP 5, PHP 7) تعمل عبارة include على تضمين ومعالجة الملف المحدّد. ينطبق التوثيق التالي على عبارة require. تُضمّن الملفات بالاعتماد على المسار المعطى للعبارة، وفي حال عدم تحديد المسار، تأخذ include المسار المحدد في include_path. إن لم يكن الملف موجودًا في include_path ستتحقّق include في المجلّد الذي يحتوي على الشيفرة التي أجرت الاستدعاء وفي مجلد العمل الحالي قبل أن تطلق خطأً. تطلق بنية include تحذيرًا إن لم تتمكن من العثور على الملف، وتختلف في ذلك عن require ...

الدوال المضمنة في لغة Python

abs()‎ القيمة المطلقة (absolute value) لعدد معيّن. all()‎ القيمة True إن كانت جميع عناصر الكائن القابل للتكرار (iterable) المعطى تُساوي القيمة True أو إن كان الكائن القابل للتكرار فارغًا. any()‎ القيمة True إن كان أحد عناصر الكائن القابل للتكرار (iterable) المعطى يساوي القيمة True أو إن كان الكائن القابل للتكرار فارغًا. ascii()‎ تمثيل (representation) نصي لكائن مُعيّنٍ يُمكن طباعته. bin()‎ تُحوّل عددًا صحيحًا (integer number) إلى سلسلةٍ نصيّةٍ ثنائيّة (binary string) مسبوقة بالمقطع النّصيّ "0b". bool()‎ قيمة منطقيّة تكون إمّا ...

خط أنابيب الأصول في ريلز

يغطّي هذا الدليل أنبوب الأصول. ستتعلم بعد قراءة هذا الدليل: ماهيّة أنبوب الأصول وماذا يفعل. كيفيّة تنظيم أصول تطبيقك بشكل صحيح. فوائد أنبوب الأصول. كيفيّة إضافة معالج مسبق (pre-processor) إلى الأنبوب. كيفيّة وضع الأصول مع جوهرة في حزمة. ما هو أنبوب الأصول؟ يوفّر أنبوب الأصول إطارًا لسَلسَلة وتصغير أو ضغط أصول JavaScript و CSS. كما أنه يضيف القدرة على كتابة هذه الأصول بلغات أخرى ومعالجات مسبقة مثل CoffeeScript و Sass و ERB. يسمح للأصول في تطبيقك أن تُدمج تلقائيًّا مع ...

ضبط تطبيقات ريلز

يغطي هذا الدليل ميزات الضبط والتهيئة المتاحة لتطبيقات ريلز. بعد قراءة هذا الدليل، ستتعلم: كيفية ضبط سلوك تطبيقات ريلز. كيفية إضافة شيفرة مصدريّة إضافية لتنفيذها وقت بدء تشغيل التطبيق. مواقع شيفرة التهيئة والضبط يوفر ريلز أربعة مواضع رئيسيّة لوضع الشيفرة المصدريّة للتهيئة: config/application.rb ملفات الضبط (configuration) الخاصة بالبيئة المهيآت (Initializers) ما بعد المهيآت (After-initializers) تشغيل شيفرة برمجية قبل ريلز في أحيان نادرة، يحتاج تطبيقك لتشغيل بعض الشيفرات البرمجية قبل تحميل ريلز نفسه، ذا ضعها آنذاك قبل استدعاء require 'rails/all'‎ في ...

الوحدة cgi‎‎ في بايثون

تقدّم هذه الوحدة عددًا من الأدوات التي تستخدم بواسطة سكربتات CGI المكتوبة في بايثون. مقدمة تنفّذ سكربتات CGI بواسطة مخدّم HTTP وتستخدم عادة لمعالجة مدخلات المستخدم المرسلة إلى المخدّم من خلال عنصر <FORM> أو <ISINDEX> في HTML. تستقرّ سكربتات CGI معظم الأحيان في المجلد الخاص cgi-bin في المخدّم، ويضع مخدّم HTTP جميع المعلومات المرتبطة بالطلب (مثل اسم المضيف لدى العميل، عنوان URL المطلوب، سلسلة الاستعلام النصية، وغير ذلك الكثير) في بيئة الصدفة الخاصة بالسكربت، وينفّذ السكربت ثم يرسل مخرجاته إلى ...

التابع str.splitlines()‎ في بايثون

يُقسِّم هذا التابع السلسلة النصية إلى قائمة من الأسطر. البنية العامة x.splitlines() المعاملات keepends قيمة منطقية (Boolean). تُدرج فواصل الأسطر في القائمة المعادة عندما يأخذ هذا المعامل القيمة True. القيمة المعادة يعيد التابع قائمة من الأسطر التي تكوّن السلسلة النصية، وتجري عملية التقسيم عند حدود الأسطر، ولا تُدرج فواصل الأسطر في القائمة المعادة إلا إذا أخذ المعامل keepends القيمة True. يقسم التابع السلاسل النصية عند حدود الأسطر التالية: الفاصل الوصف ‎\n محرف السطر الجديد (Line Feed). ‎\r محرف العودة إلى ...

العنصر

يُنشِئ العنصر <a> (اسمه اختصار للكلمة anchor) رابطًا فائقًا (hyperlink) لصفحات الويب الأخرى أو للملفات أو لأقسم الصفحة الحالية أو لعناوين البريد الإلكتروني. المثال الآتي فيه رابط إلى موقع خارجي: <a href="http://www.hsoub.com/"> شركة حسوب </a> بطاقة العنصر تصنيفات المحتوى عنصر تنظيمي أو عنصر عادي. المحتوى المسموح محتوى تنظيمي أو عادي. الوسم المختصر لا يمكن حذف أيّ من وسمَي البداية أو النهاية. العناصر الأب أي عنصر باستنثاء عنصر <a> آخر. واجهة DOM HTMLAnchorElement دعم المتصفحات Chrome Firefox Edge Safari Opera مدعوم مدعوم مدعوم ...

نظرة عامة على وحدة العرض في ريلز

بعد قراءة هذا الدليل، ستعرف: ما هو Action View وكيفية استخدامه مع ريلز. أفضل طريقة لاستخدام القوالب والجزئيات (partials) والتخطيطات. ما الذي يقدمه المساعدون عن طريق Action View. كيفية استخدام العروض المحلية. ما هو Action View؟ في ريلز، تُعَالَج طلبات الويب من خلال Action Controller و Action View. عادةً ما يقع على عاتق وحدة التحكم التواصل مع قاعدة البيانات وتنفيذ الإجراءات CRUD عند الضرورة؛ بعد ذلك، يكون Action View مسؤولًا عن تفسير (compiling) الاستجابة. تُكتَب قوالب Action View باستخدام روبي ...

الخاصّيّات (Properties) وحقول البيانات (Fields) في لغة Kotlin

التصريح عن الخاصّيّات (Declaring Properties) قد تحتوي الأصناف في لغة Kotlin على الخاصّيّات المعرَّفة إما كقيمٍ متغيّرةٍ عبر الكلمة المفتاحيّة var أو كقيمٍ ثابتةٍ للقراءة فقط (read-only) عبر الكلمة المفتاحيّة val، مثل: class Address { var name: String = ... var street: String = ... var city: String = ... var state: String? = ... var zip: String = ... } إذ يُمكن الوصول للخصائص عبر اسمها ...

كائنات deque‎ في بايثون

تعدّ deques صورة عامة للأكداس والطوابير stacks and queues (يقرأ الاسم هكذا "deck" وهو اختصار للعبارة "double-ended queue"). تدعم deques عمليات الإضافة والحذف من طرفي الطابور مع ضمان سلامة الخيوط thread-safe ودون استهلاك كبير للذاكرة وبأداء مقارب لأداء O(1)‎ في كلا الاتجاهين. صحيح أن القوائم تدعم مثل هذه العمليات، إلا أنّها مصمّمة للعمليات السريعة ذات الطول الثابت وتكلّف الذاكرة بمقدار O(n)‎ للعمليتين pop(0)‎ و insert(0, v)‎ واللتان تغيران حجم وموقع البيانات الضمنية الممثلة. البنية العامة ‎class collections.deque([iterable[, maxlen]]) تعيد الدالة ...

التعامل مع البريد الإلكتروني (Mail) في Laravel

 مقدمة يوفّر Laravel واجهة برمجية (API) سلسة و بسيطة للمكتبة الرائجة SwiftMailer مع برنامج تشغيل لكل من SMTP و Mailgun و SparkPost و Amazon SOS وتابع mail ، و sendmail. ممّا يسمح بالبداية في إرسال الرسائل الإكترونية بسرعة عبر خدمات محلية أو سحابية من اختيارك. برامج التشغيل اللازمة تكون برامج التشغيل المعتمدة على الوسائط مثل Mailgun و SparkPost في العادة أسرع وأسهل في الاستعمال من خوادم SMTP. استعمل أحد هذه برامج التشغيل إن أمكنك. تَستعمل كل المشغّلات التي تعتمد على ...

التعمق في ملفات التصريحات في TypeScript

التعمق في نظرية ملفّات التعريف (Definition File Theory) هيكلة الوحدات لتحمل نفس شكل الواجهة البرمجية (API) الذي تريده بالضبطِ صعبٌ نوعًا ما. على سبيل المثال، قد نرغب من وحدةٍ قد تُستدعى بالكلمة المفتاحية ‎new‎ أو بدونها أن تنتج أنواعًا مختلفة، مع امتلاك عدّة أنواعٍ مسمّاةٍ موجودة في تسلسلٍ ما، وبعض الخاصيات على كائن الوحدة كذلك. عبر قراءة هذا الدليل، ستحصل على الأدوات اللازمة لكتابة ملفّات تعريفات معقّدة ذات واجهة برمجيّة سهلة الاستخدام. يركّز هذا الدليل على مكتبات الوحدات أو مكتبات ...

الصنف urllib.request.Request‎‎ في بايثون

يعدّ هذا الصنف تجريدًا abstraction لطلب URL. البنية العامة urllib.request.Request(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None) المعاملات ‎url يجب أن يكون سلسلة نصية تحتوي على عنوان URL صالح للاستخدام. data يجب أن يكون كائنًا يحدّد المعلومات الإضافية التي ستُرسل إلى المخدّم، أو يحمل القيمة None في حال انتفاء الحاجة إلى إرسال مثل هذه المعلومات. يستخدم هذا المعامل من قبل طلبات HTTP فقط في الوقت الحاضر. أنواع الكائنات المدعومة هي كائنات bytes، والكائنات الشبيهة بالملفات file-like objects، والكائنات القابلة للتكرار iterables. في ...

الوحدة urllib.parse‎‎ في بايثون

تعرّف هذه الوحدة واجهة معيارية لتقسيم سلاسل محدّد موقع الموارد المحدّد Uniform Resource Locator (‏URL اختصارًا) إلى مكوّنات (نظام العنونة addressing scheme، موقع الشبكة network location، المسار path ... الخ)، ولدمج هذه المكونات مرّة أخرى في سلسلة URL، ولتحويل "URL نسبي" إلى URL مطلق بالاعتماد على "URL أساسي". صمّمت هذه الوحدة لتطابق معايير RFC للإنترنت الخاصّة بالمحدّدات النسبية لمواقع الموارد المحدّدة Relative Uniform Resource Locators. وتدعم الوحدة الأنواع التالية من مخطّطات URL: file, ftp, gopher, hdl, http, https, imap, mailto, ...

تنسيق المخرجات في بايثون

تقدّم بايثون عددًا من الطرائق التي تساعد في تنسيق مخرجات البرامج، فيمكن طباعة البيانات بصيغة سهلة القراءة، أو يمكن كتابة البيانات في ملف لاستخدامه في المستقبل.  استخدمنا في هذا التوثيق طريقتين لكتابة القيم: الأول هي العبارات expression statements والدالة print()‎. (هناك طريقة ثالثة وهي استخدام التابع write()‎ الخاص بالكائنات file، ويعرف ملف المخرجات القياسي بـ sys.stdout).  تظهر الحاجة في كثير من الأحيان إلى التحكم في تنسيق المخرجات وإظهارها بأشكال مختلفة وليس كقيم مفصولة بفراغات وحسب. وهناك طريقتان لتنسيق المخرجات، الأولى ...

الوحدة csv‎‎ في بايثون

تعد صيغة CSV (القيم المفصولة بفاصلة Comma Separated Values) أكثر صيغ الملفات شيوعًا والتي تستخدم لتصدير واستيراد البيانات من جداول البيانات spreadsheets وقواعد البيانات. وقد استخدمت هذه الصيغة لفترة طويلة قبل أي محاولة لوصف هذه الصيغة بطريقة معيارية عبر المعيار RFC 4180. إن غياب معيار محدّد ومعروف يعني وجود اختلافات طفيفة بين البيانات التي الناتجة أو المستخدمة من قبل التطبيقات المختلفة، ما يجعل من التعامل مع ملفات CSV القادمة من مصادر مختلفة أمرًا مزعجًا في بعض الأحيان. وعلى الرغم من ...

تنسيق المخرجات في بايثون

تقدّم بايثون عددًا من الطرائق التي تساعد في تنسيق مخرجات البرامج، فيمكن طباعة البيانات بصيغة سهلة القراءة، أو يمكن كتابة البيانات في ملف لاستخدامه في المستقبل.  استخدمنا في هذا التوثيق طريقتين لكتابة القيم: الأول هي العبارات expression statements والدالة print()‎. (هناك طريقة ثالثة وهي استخدام التابع write()‎ الخاص بالكائنات file، ويعرف ملف المخرجات القياسي بـ sys.stdout).  تظهر الحاجة في كثير من الأحيان إلى التحكم في تنسيق المخرجات وإظهارها بأشكال مختلفة وليس كقيم مفصولة بفراغات وحسب. وهناك طريقتان لتنسيق المخرجات، الأولى ...

الوحدة urllib.parse‎‎ في بايثون

تعرّف هذه الوحدة واجهة معيارية لتقسيم سلاسل محدّد موقع الموارد المحدّد Uniform Resource Locator (‏URL اختصارًا) إلى مكوّنات (نظام العنونة addressing scheme، موقع الشبكة network location، المسار path ... الخ)، ولدمج هذه المكونات مرّة أخرى في سلسلة URL، ولتحويل "URL نسبي" إلى URL مطلق بالاعتماد على "URL أساسي". صمّمت هذه الوحدة لتطابق معايير RFC للإنترنت الخاصّة بالمحدّدات النسبية لمواقع الموارد المحدّدة Relative Uniform Resource Locators. وتدعم الوحدة الأنواع التالية من مخطّطات URL: file, ftp, gopher, hdl, http, https, imap, mailto, ...

تثبيت أردوينو IDE ورفع الشيفرات على لوحة أردوينو

ستجد في هذه الصفحة شرحًا وافيًا حول تثبيت بيئة أردوينو التطويرة (Arduino IDE) على مختلف أنظمة التشغيل، واستعمال النسخة المحمولة منها، واستعمال تطبيق الويب. سنعرِّج أيضًا على كيفية وصل إحدى أشهر لوحات أردوينو، وهي لوحة UNO، بالحاسوب وتهيئتها لبرمجتها وتشغيل مثالٍ عليها. تسمح لك بيئة أردوينو التطويرية (سنطلق عليها من الآن وصاعدًا «أردوينو IDE») بكتابة شيفرات أردوينو عليها ثمَّ تفسيرها (compiled) إلى شيفرة تنفيذية ورفعها على لوحة أردوينو (برمجة المتحكم المتوضع على اللوحة). تحتوي أردوينو IDE على الكثير من الأمثلة ...

Rails/Topics

ابدأ من هنا البدء مع ريلز يغطي هذا الدليل بدء وتشغيل ريلز. بعد قراءة هذا الدليل، ستتعلم: كيف تثبّت ريلز وتُنشئ تطبيق ريلز جديد وتربط تطبيق ريلز بقاعدة بيانات، وما هو التخطيط العام لتطبيق ريلز، والمبادئ الأساسية للنمط MVC والتصميم RESTful، وكيف تولد سريعًا أجزاء البداية لتطبيق ريلز. المكتبات الأساسية Action Cable تعمل المكتبة Action Cable على دمج WebSockets مع بقية تطبيق ريلز الخاص بك بسهولة، إذ تسمح بكتابة الميزات ذات الوقت الحقيقي (real-time features) المنشودة في روبي وفي نفس ...

القوائم list في بايثون

تمتلك بايثون عددًا من أنواع البيانات المركبة والتي تستخدم لتجميع القيم الأخرى مع بعضها البعض، والقوائم هي أوسع هذه الأنواع وأكثرها شمولًا، ويمكن كتابتها كقائمة من القيم (العناصر) المفصولة عن بعضها البعض بفواصل (،) ومحاطة بأقواس مربعة. يمكن للقوائم أن تتضمّن أنواعًا مختلفة، ولكن عادة ما تكون العناصر كلها من النوع نفسه. >>> squares = [1, 4, 9, 16, 25] >>> squares [1, 4, 9, 16, 25] فهرسة القوائم واقتطاع أجزاء منها كما هو الحال مع السلاسل النصية (والأنواع الأخرى من التسلسلات ...

بنية البرمجة في لغة Kotlin

تعريف الحزم (Package) يُكتب توصيف الحزمة (package) في بداية الملف المصدريّ (source file) بالشكل الآتي: package my.demo import java.util.* // ... ولا يُشترط التوافق ما بين الحزمة (package) والمجلد الذي توجد فيه (directory)، إذ من الممكن أن تتوضع الملفات المصدريّة عشوائيًّا في نظام الملفات. المزيد عن الحزم (packages). تعريف الدوال (Function) إن كانت الدالة بمتحولين من نوع Int وتعيد قيمةً بنوع Int أيضًا، فسيصبح تعريفها بالشكل: fun sum(a: Int, b: Int): Int {   return a + b } أما الشيفرة الآتية فهي لتعريف دالةٍ باسم sum ...

الوحدة Process في روبي

تستعمل الوحدة Process للتعامل والتحكم بجميع العمليات في روبي. الثوابت CLOCK_BOOTTIME اطلع على توثيق التابع clock_gettime. CLOCK_BOOTTIME_ALARM اطلع على توثيق التابع clock_gettime. CLOCK_MONOTONIC اطلع على توثيق التابع clock_gettime. CLOCK_MONOTONIC_COARSE اطلع على توثيق التابع clock_gettime. CLOCK_MONOTONIC_FAST اطلع على توثيق التابع clock_gettime. CLOCK_MONOTONIC_PRECISE اطلع على توثيق التابع clock_gettime. CLOCK_MONOTONIC_RAW اطلع على توثيق التابع clock_gettime. CLOCK_MONOTONIC_RAW_APPROX اطلع على توثيق التابع clock_gettime. CLOCK_PROCESS_CPUTIME_ID اطلع على توثيق التابع clock_gettime. CLOCK_PROF اطلع على توثيق التابع clock_gettime. CLOCK_REALTIME اطلع على توثيق التابع clock_gettime. CLOCK_REALTIME_ALARM اطلع على توثيق ...

الدالة fopen()‎ في PHP

(PHP 4, PHP 5, PHP 7) تفتح الدالة fopen()‎ ملفًا أو عنوان URL. الوصف resource fopen ( string $filename , string $mode [, bool$use_include_path = FALSE [, resource $context ]] ) تربط هذه الدالة المورد filename المحدَّد مع مجرى (stream). المعاملات filename إن كانت قيمة هذا المعامل بالشكل "scheme://..‎"، فستعاملها PHP على أنَّها عنوان URL وستبحث حينئذٍ على معالج البروتوكول (portocol handler) من أجل ذلك المخطَّط (scheme). إن لم يكن هنالك بروتوكول مُسجَّل، فستُصدر PHP ملاحظةً لتساعدك على تعقُّب المشكلة المحتملة ...

المولدات في PHP

تقدّم المولِّدات (Generators) طريقة سهلة لاستخدام المكرِّرات (Iterators) البسيطة دون الدخول في تعقيدات استخدام صنف يطبّق الواجهة Iterator. تتيح المولِّدات كتابة شيفرة تستخدم foreach لمرور على مجموعة من البيانات دون الحاجة إلى بناء مصفوفة في الذاكرة مما قد يؤدي إلى تجاوز حدود الذاكرة، أو يحتاج إلى وقت معالجة طويل لإنشائه. بدلًا من ذلك، يمكن كتابة دالة مولِّدة وهي دالة مشابهة للدوال الاعتيادية باستثناء أنّها لا تعيد النتيجة مرة واحدة بل تعيد العدد المطلوب من النتائج لغرض تقديم القيم التي يتم ...

المولدات في PHP

تقدّم المولِّدات (Generators) طريقة سهلة لاستخدام المكرِّرات (Iterators) البسيطة دون الدخول في تعقيدات استخدام صنف يطبّق الواجهة Iterator. تتيح المولِّدات كتابة شيفرة تستخدم foreach لمرور على مجموعة من البيانات دون الحاجة إلى بناء مصفوفة في الذاكرة مما قد يؤدي إلى تجاوز حدود الذاكرة، أو يحتاج إلى وقت معالجة طويل لإنشائه. بدلًا من ذلك، يمكن كتابة دالة مولِّدة وهي دالة مشابهة للدوال الاعتيادية باستثناء أنّها لا تعيد النتيجة مرة واحدة بل تعيد العدد المطلوب من النتائج لغرض تقديم القيم التي يتم ...

الوحدات في TypeScript

ملاحظة حول المصطلحات تغيّرت طريقة استخدام المصطلحات في النسخة TypeScript 1.5، إذ كانت مجالات الأسماء (namespaces) تُسمّى قديمًا بمصطلح "الوحدات الداخليّة (internal modules)"، وما كان يُسمّى بالوحدات الخارجيّة (External modules) أصبح يُسمّى ببساطة بمصطلح "الوحدات (modules)" وهو ما سنغطّيه في هذه الصفحة. ويجب استخدام الكلمة المفتاحية ‎namespace‎ في الأماكن التي كانت تُستخدَم فيها الكلمة المفتاحية ‎module‎ للتصريح عن وحدة داخليّة في النسخ التي سبقت TypeScript 1.5، أي أنّ عليك استخدام ‎namespace X {‎ عوضًا عن ‎module X {‎ (انظر صفحة ...

خيارات المترجم في TypeScript

يوضح الجدول التالي جميع الخيارات التي يمكن استعمالها مع مترجم TypeScript للتحكم بسير عمله والتعديل على سلوكه أثناء ترجمة الشيفرات. الخيار النوع القيمة الافتراضية الوصف ‎--allowJs‎ ‎boolean‎ ‎false‎ السماح بترجمة ملفّات JavaScript. ‎--allowSyntheticDefaultImports‎ ‎boolean‎ ‎module === "system" ‎ أو أنّ الخيار ‎--esModuleInterop‎ مضبوط وقيمة ‎module‎ ليست ‎es2015‎ أو ‎esnext‎ السماح للاستيرادات الافتراضية من الوحدات التي لا تحتوي على تصديرات افتراضيّة. هذا لا يؤثر على الشيفرة المولَّدة، ويؤثر فقط على آلية التحقق من الأنواع. ‎--allowUnreachableCode‎ ‎boolean‎ ‎false‎ لا تُخبِر عن الأخطاء ...

تأمين تطبيقات ريلز

يصف هذا الدليل مشاكل الأمان الشائعة في تطبيقات الويب وكيفية تجنبها باستخدام ريلز. بعد قراءة هذا الدليل، ستتلعم: جميع التدابير المضادة التي سيسلط الضوء عليها. مفهوم الجلسات (sessions) في ريلز، و ما يُنفذ في وجود وسائل الهجوم المعروفة. كيف يمكن أن يكون مجرد زيارة أحد المواقع مشكلة أمنية (مع CSRF). ما عليك الانتباه عند العمل مع الملفات أو توفير واجهة إدارة. كيفية إدارة المستخدمين: تسجيل الدخول والخروج وهجمات الطرق على جميع الطبقات. أكثر الطرق المعروفة لهجوم الحقن. المقدمة تعمل إطارات ...

السلاسل النصية في بايثون

يمكن التعامل مع البيانات النصية في بايثون باستخدام كائنات str أو السلاسل النصية (strings)، وهي تسلسلات (sequences) غير قابلة للتغيير (immutable) من رموز يونيكود (Unicode). هناك طرائق مختلفة للتعبير عن السلاسل النصية، إذ يمكن أن تحاط بعلامات اقتباس مفردة ('...') أو مزدوجة ("...")، ويستخدم الرمز \ لتهريب علامات الاقتباس: >>> 'spam eggs'  # علامات اقتباس مفردة 'spam eggs' >>> 'doesn\'t'  # استخدم \' لتهريب علامات الاقتباس المفردة...‏ "doesn't" >>> "doesn't"  # ...أو استخدم علامات الاقتباس المزدوجة "doesn't" >>> '"Yes," he said.' '"Yes," he said.' >>> "\"Yes,\" he said." '"Yes," ...

السلاسل النصية في بايثون

يمكن التعامل مع البيانات النصية في بايثون باستخدام كائنات str أو السلاسل النصية (strings)، وهي تسلسلات (sequences) غير قابلة للتغيير (immutable) من رموز يونيكود (Unicode). هناك طرائق مختلفة للتعبير عن السلاسل النصية، إذ يمكن أن تحاط بعلامات اقتباس مفردة ('...') أو مزدوجة ("...")، ويستخدم الرمز \ لتهريب علامات الاقتباس: >>> 'spam eggs'  # علامات اقتباس مفردة 'spam eggs' >>> 'doesn\'t'  # استخدم \' لتهريب علامات الاقتباس المفردة...‏ "doesn't" >>> "doesn't"  # ...أو استخدم علامات الاقتباس المزدوجة "doesn't" >>> '"Yes," he said.' '"Yes," he said.' >>> "\"Yes,\" he said." '"Yes," ...

الوحدة Readline في Node.js

الاستقرار 2: مستقر توفّر الوحدة readline واجهةً برمجيةً لقراءة سطر واحد من البيانات من المجرى القابل للقراءة (Readable) (مثل process.stdin) كل مرَّة على حدة. يمكن الوصول إليها باستخدام الأمر التالي: const readline = require('readline'); يوضح المثال البسيط التالي الاستخدام الأساسي للوحدة readline: const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.question('What do you think of Node.js? ', (answer) => { ‎‎‎ // في قاعدة بيانات (answer) للتنفيذ: سجل الجواب console.log(`Thank you for your valuable feedback: ${answer}`); ...

الوحدة urllib.request‎‎ في بايثون

تقدّم وحدة urllib.request عددًا من الدوال والأصناف التي تساعد في فتح عناوين URL‏ (HTTP في الغالب) لاستخدامها في عمليات مختلفة مثل الاستيثاق البسيط وإعادة التوجيه والتعامل مع الكعكات cookies وغيرها. ملاحظة: يُنصح باستخدام الحزمة Requests في العمليات المتقدّمة لأنّها توفّر واجهة برمجية ذات مستوى أعلى. دوالّ الوحدة urllib.request تقدّم وحدة urllib.request الدوال التالية: الدالة urllib.request.urlopen()‎ تفتح الدالة عنوان URL المعطى. urllib.request.install_opener()‎ تثبّت الدالة نسخة من الصنف OpenerDirector كفاتح opener افتراضي عام. urllib.request.build_opener()‎ تعيد الدالة نسخة من الصنف OpenerDirector والتي تربط ...

الأحداث في Node.js

الثبات: مستقر الكثير من أساس الواجهة البرمجية Node.js مبني حول بنية توجهها أحداث متميزة غير متزامنة حيث تطلق أنواع معينة من الكائنات (تُسمى "مطلقات" [emitters]) أحداث معينة تستدعي كائنات Function ("منصتات" [listeners]). على سبيل المثال: يطلق كائن net.server حدثًا كلما اتصل نظير بالخادم مثال آخر لكائن fs.ReadStream يطلق حدثًا عندما يُفتح ملف ما؛ ويطلق كائن stream حدثًا كلما أتيحت بيانات للقراءة. كل الكائنات التي تطلق أحداثًا هي من صنف مطلق الحدث EventEmitter. حيث تكشف عن الدالة eventEmitter.on()‎ التي تتيح إلحاق ...

jQuery/Topics a-z

‎.add()‎ إنشاء كائن jQuery جديد من العناصر المضافة إلى مجموعة من العناصر المطابقة. ‎.addBack()‎ يُضيف هذا التّابع مجموعة العناصر الموجودة سابقًا في المَكْدَس (stack) إلى المجموعة الحاليّة، مع إمكانيّة ترشيحها بشكل اختياري عن طريق مُحدِّد (selector). ‎.addClass()‎ يُضيف هذا التّابع الصّنف أو الأصناف المُحدَّدة لكل عنصر من مجموعة العناصر المُطابقة. ‎.after()‎ يُدخِل هذا التّابع المحتوى المُحدَّد عن طريق المُعامِل بعد كل عنصر من مجموعة العناصر المُطابقة. ‎.ajaxComplete()‎ يُسجِّل هذا التّابع مُعالِج الأحداث (Event handler) لاستدعائه عند اكتمال طلبات Ajax. ‎.ajaxError()‎ ...

الوحدة ‎‎‎DNS‎ في Node.js

الاستقرار: 2-مستقر تحتوي الوحدة dns على دوال تخص فئتين مختلفتين هما: الدوال التي تستعمل خدمات نظام التشغيل الضمنية لتنفيذ عملية استبيان الاسم (name resolution)، والتي لا تتطلب بالضرورة تنفيذ أية عمليات اتصال بالشبكة. تحوي هذه الفئة على دالة وحيدة هي dns.lookup()‎. يتطلع المطورون إلى تنفيذ عملية استبيان الاسم بالطريقة نفسها التي تُنفِّذ فيها التطبيقات الأخرى الدالة dns.lookup()‎ على المنصة ذاتها عندما تضطر إلى استعمالها. تفحَّص المثال التالي الذي يُستعمَل فيه الدالة dns.lookup()‎ للبحث عن iana.org‎: const dns = require('dns'); dns.lookup('iana.org', (err, ...

الوحدة URL في Node.js

توفر الوحدة url مجموعة من الأدوات لمعالجة وتحليل عناوين الويب (URL). يمكن استيراد الوحدة والبدء باستخدامها عبر تنفيذ: ‎‎const url = require('url'); سلاسل العناوين والكائِن URL سلسلة العنوان (URL String) هي سلسلة نصيّة مُنظمة مؤلَّفة من عدِّة مكوِّنات. يُعاد الكائِن URL، عند تحليل سلسلة العنوان، مقرونًا بخاصيّات تُمثِّل مكوِّنات سلسلة العنوان المُختلفة. توفر الوحدة url واجهتين برمجيّتين للتعامل مع عناوين الويب: واجهة قديمة خاصّة ببيئة Node.js، وأخرى جديدة تُطبِّق معيار WHATWG المُستخدَم في مُتصفحات الويب (سنستخدم عبارة "الواجهة الحديثة" للإشارة ...

الوحدة re في بايثون

تقّدم الوحدة re مجموعة من العمليات الخاصة بمطابقة التعابير النمطية (Regular Expressions) وهي مشابهة إلى حدّ كبير للعمليات الموجودة في لغة Perl. يمكن أن تكون الأنماط والسلاسل النصية المراد العثور عليها سلاسل نصية بترميز Unicode من نوع (str) أو سلاسل نصية ذات 8 بتات من نوع (bytes)، ولكن لا يجوز المزج بين النوعين، بمعنى أنّه لا يمكن مطابقة سلسلة نصية مع نمط من نوع البايتات والعكس صحيح أيضًا، وبنفس الطريقة، عند الرغبة في إجراء عملية استبدال يجب أن تكون سلسلة ...

اختبار تطبيقات ريلز

يشمل هذا الدليل الآليّات المدمجة في ريلز لإجراء الاختبارت على التطبيقات. بعد قراءة هذا الدليل، ستتعلم: الاصطلاح المتعلّق باختبارات ريلز. كيفيّة كتابة كلٍّ من اختبارات الوحدة، الاختبارات الوظيفيّة، والاختبارات التكامليّة لتطبيقات ريلز. وغيرها من الطرق والإضافات الخاصّة بالاختبارات. ما الهدف من كتابة اختبارات لتطبيقات ريلز؟ يسهّل ريلز كتابة الاختبارات بشكل كبير، إذ أنّه يبدأ بهيكلة شيفرة الاختبار في الوقت الذي تُنشِئ فيه النّماذج ووحدات التحكّم. يمكّنك إجراء اختبارات ريلز من التأكّد من أداء الشيفرة وظيفتَها المطلوبة حتّى بعد إعادة تصميم ...

الوحدة os في Node.js

مؤشر الاستقرار: 2 - مستقر توفر وحدة نظام التشغيل os عددًا من توابع الأدوات المساعدة المتعلقة بنظام التشغيل. ويمكن الوصول إليها باستخدام: const os = require('os'); os.EOL أُضيف مع الإصدار: v0.7.8. من النوع <string> وهو ثابت من النوع سلسلة نصية ويحدد علامة نهاية السطر الخاصة بنظام التشغيل: ‎\n في POSIX. ‎\r\n في Windows. os.arch()‎ أُضيف مع الإصدار: v0.5.0. القيمة المُعادة: من النوع <string>. يعيد التابع os.arch()‎ سلسلة نصية تحدد بنية وحدة المعالجة المركزية لنظام التشغيل التي تُرجِمت إليها ثنائية Node.js. ...

مساعدو الاستمارة في وحدة العرض في ريلز

تعتبر الاستمارات (forms) في تطبيقات الويب واجهة أساسية للتفاعل مع المستخدم وجلب بيانات منه. ومع ذلك، يمكن أن تصبح عملية إنشاء استمارةٍ وصيانتها عمليةً مملةً بسبب الحاجة إلى التحكم بالتسميات وبخاصياتها الكثيرة. تخلَّص ريلز من هذا التعقيد بتوفير مساعدين للعرض لإنشاء الاستمارات بسهولة. ومع ذلك، بما أن للمساعدين حالات استخدام مختلفة، يحتاج المطورون إلى معرفة الاختلافات بين توابع كل مساعد قبل استخدامها. بعد قراءة هذا الدليل، ستتعلم: كيفية إنشاء استمارات للبحث ونوع مماثل من الاستمارات العامة التي لا تمثل أي ...

التحقق من الأنواع في ملفات JavaScript في TypeScript

مقدمة أصبحت TypeScript منذ النسخة 2.3 تدعم التحقق من الأنواع والإبلاغ عن الأخطاء في ملفّات ‎.js‎ مع خيار المترجم ‎--checkJs‎. يمكنك تخطي التحقق من ملفّاتٍ معيّنة عبر إضافة التعليق ‎// @ts-nocheck‎ إليها؛ وفي المقابل يمكنك اختيار ملفّات ‎.js‎ التي تريد التحقق منها عبر إضافة التعليق ‎// @ts-check‎ إليها دون استخدام الخيار ‎‎--checkJs‎‎. يمكنك كذلك تجاهل الأخطاء على أسطرٍ محدَّدة عبر إضافة التعليق ‎// @ts-ignore‎ على نفس السطر. لاحظ أنّه عند ضبط ملفّ ‎tsconfig.json‎، فالتحقق من ملفات JavaScript سيحترم الخيارات الصارمة ...

الواجهة البرمجية للتدويل في ريلز

توفّر جوهرة روبي I18n (اختزالٌ للمصطلح "التدويل" [internationalization]) التي تُشحن مع ريلز (بدءًا من الإصدار 2.2) إطارًا سهل الاستخدام وقابلًا للتوسعة لترجمة تطبيقك إلى لغة مخصصّة واحدة بخلاف الإنجليزية أو لتوفير دعم بلغات متعدّدة في تطبيقك. عادةً ما تعني عمليّة "التدويل" تجريد كل السلاسل النصية والبتات الخاصة الأخرى ذات العلاقة باللغة (مثل تنسيقات التاريخ أو العملة) من تطبيقك. تعني عملية "التوطين" توفير الترجمات والصيغ المحلية لهذه البتات. لذلك، يجب عليك في عمليّة تدويل تطبيقك ريلز: التأكّد من دعمك للواجهة البرمجية ...

الشروع في العمل مع المحركات في ريلز

ستتعرف في هذا الدليل على المحركات (engines) وكيف يمكن استخدامها لتوفير وظائف إضافية لتطبيقاتها المضيفة من خلال واجهة واضحة وسهلة الاستخدام للغاية. بعد قراءة هذا الدليل، ستتعلم: مما يتكون المحرك. كيف وُلِّد المحرك. كيفية بناء ميزات للمحرك. كيفية ربط المحرك في التطبيق. كيفية استبدال وظيفة المحرك في التطبيق. تجنب تحميل أطر ريلز مع خطافات التحميل (Load Hooks) وخطافات الضبط (Configuration Hooks). ما هي المحركات؟ تُعدُّ المحركات تطبيقات مصغرة توفر وظائف لتطبيقاتها المضيفة. تطبيق ريلز هو بالفعل محرك "supercharged"، مع الصنف ...

الوحدة Stream

الاستقرار: 2-مستقر المجرى هو واجهة مجرّدة للعمل مع البيانات المتدفقة في Node.js. توفّر الوحدة stream واجهة برمجية (API) أساسية تجعل من السهل بناء كائنات تتعامل مع واجهة المجرى. يوجد العديد من كائنات المجرى التي توفرها Node.js. على سبيل المثال، http.IncomingMessage (طلبيات الخادم HTTP) و process.stdout هما نسخ من الصنف stream. يمكن أن تكون المجاري قابلة للقراءة (readable)، أو قابلة للكتابة (writable)، أو كليهما. كل المجاري هي نسخ من الصنف EventEmitter. يمكن الوصول إلى الوحدة stream باستخدام: const stream = require('stream'); لمَّا ...

الخطافات غير المتزامنة في Node.js

الاستقرار: 1-تجريبي توفِّر الوحدة async_hooks واجهة برمجية (API) لتسجيل دوال ردود النداء التي تتعقَّب دورة حياة (lifetime) الموارد غير المتزامنة (asynchronous resources) المُنشأَة داخل تطبيقات Node.js. يمكن الوصول إلى هذه الوحدة باستعمال الأمر التالي: const async_hooks = require('async_hooks'); اصطلاحات يمثِّل المورد غير المتزامن كائنًا مرفقًا به رد نداء. قد يُستدعَى رد النداء هذا عدَّة مرات، مثل الحدث 'conection' في net.createServer()‎، أو مرةً واحدة فقط، مثل fs.open()‎. يمكن أن يُغلق المورد أيضًا قبل أن يُستدعَى رد النداء. لا تفرِّق الوحدة AsyncHook ...

الوحدة enum في بايثون

enumeration هو مجموعة من الأسماء الرمزية (العناصر) المرتبطة بقيم ثابتة وفريدة. يمكن مقارنة عناصر enumeration عن طريق هويتها، ويمكن المرور على عناصر enumeration بواسطة حلقة تكرارية. وحدة enum تقدّم وحدة enum أربعة أصناف enumeration يمكن استخدامها لتعريف مجموعة فريدة من الأسماء والقيم، وهذه الأصناف هي: Enum و IntEnum و Flag و IntFlag. وإلى جانب ما سبق تقدّم الوحدة مزخرفًا واحدًا هو unique()‎، وصنفًا مساعدًا واحدًا هو auto. الصنف enum.Enum هو الصنف الأساسي والذي يستخدم لإنشاء ثوابت معدّدة enumerated constants. راجع ...

التحميل التلقائي وإعادة تحميل الثوابت في ريلز

يوثق هذا الدليل طريقة عمل التحميل التلقائي وإعادة تحميل الثوابت. بعد قراءة هذا الدليل، ستتعلم: الجوانب الرئيسية لثوابت لغة روبي. ماهية autoload_paths وكيفية عمل التحميل الحثيث (eager loading) في الإنتاج. كيفية عمل التحميل التلقائي للثابت. ماهية need_dependency. كيفية عمل إعادة التحميل للثابت. حلول للتحميل التلقائي المشترك. المقدمة تسمح لغة ريلز بكتابة تطبيقات كما لو حملت الشيفرة الخاص بها مسبقًا. في أصناف برنامج روبي عادي، تحتاج إلى تحميل جميع اعتماديته (dependencies): require 'application_controller' require 'post' class PostsController < ApplicationController def index ...

البدء مع ريلز

يغطي هذا الدليل بدء وتشغيل ريلز. بعد قراءة هذا الدليل، ستتعلم: كيف تثبّت ريلز وتُنشئ تطبيق ريلز جديد وتربط تطبيق ريلز بقاعدة بيانات. التخطيط العام لتطبيق ريلز. المبادئ الأساسية للنمط MVC (النموذج [Model]، والواجهة [View]، ووحدة التحكم [Controller]) والتصميم RESTful. كيف تولد سريعًا أجزاء البداية لتطبيق ريلز. افتراضات الدليل صُمِّم هذا الدليل للمبتدئين الراغبين ببدء استعمال إطار العمل ريلز من الصفر. ولا يفترض أن لك سابق خبرة بريلز. إنَّ ريلز هو إطار عمل لتطبيقات الويب يعمل على لغة البرمجة روبي. ...

نظرة خاطفة على وحدة التحكم في ريلز

ستتعرف في هذا الدليل على كيفية عمل وحدات التحكم (Controller) وكيفية ملاءمتها مع دورة الطلب (request cycle) في التطبيق الخاص بك. بعد قراءة هذا الدليل، ستتعلم: كيفية اتباع تدفق الطلب من خلال وحدة تحكم. كيفية تقييد المعاملات التي مُرّرت إلى وحدة التحكم الخاصة بك. كيف ولماذا تخزَّن البيانات في الجلسة (session) أو ملفات تعريف الارتباط (cookies). كيفية العمل مع المرشحات (filters) لتنفيذ التعليمات البرمجية أثناء معالجة الطلب. كيفية استخدام استيثاق HTTP المضمن في وحدة التحكم. كيفية تدفق البيانات مباشرة إلى ...

الوحدة util‎ في Node.js

صُمِّمَت الوحدة util بشكل أساسي لتلبية احتياجات واجهات Node.js البرمجيّة الداخليّة. هذا لا يمنَع كون الأدوات، التي توفرها الوحدة، مفُيدةً للتطبيقات ولمطوري الوحدات البرمجيّة. يمكنك استيراد الوحدة والبدء باستخدامها عبر تنفيذ: const util = require('util'); util.callbackify(original)‎ أُضيف في الإصدار: v8.2.0. original‎:‏ <Function> دالة async‎ غير متزامنة. القيم المُعادة: <Function> دالةً من نمط دوال رد النداء (callback function). يأخُذ التابِع الدالة async (أو دالة تُعيد كاِئنًا من النوع Promise) ويعيد دالةً تتبع نمط دالة رد النداء «الخطأ أولًا» (error-first callback)، مثل ...

عرض (500 السابقة | 500 التالية) (20 | 50 | 100 | 250 | 500).