نتائج البحث

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

Python/pathlib/Path/iterdir

التابع PurePath.iterdir في بايثون يُسمح باستخدام هذا التابع على كائنات المسارات التي تشير إلى مجلدات، حيث يُنتج كائنات مسارات لكل محتويات المجلد، وتكون النتيجة قابلة للتكرار. البنية العامة >>> p = Path('docs') >>> for child in p.iterdir(): child ... PosixPath('docs/conf.py') PosixPath('docs/_templates') PosixPath('docs/make.bat') PosixPath('docs/index.rst') PosixPath('docs/_build') PosixPath('docs/_static') PosixPath('docs/Makefile') المعاملات بدون معاملات القيمة المعادة يُسمح باستخدام هذا التابع على كائنات المسارات التي تشير إلى مجلدات، حيث يُنتج كائنات مسارات لكل محتويات المجلد، وتكون النتيجة قابلة للتكرار. أمثلة يبين المثال التالي طريقة استخدام التابع: >>> p = Path('docs') >>> for child in p.iterdir(): child ... PosixPath('docs/conf.py') PosixPath('docs/_templates') PosixPath('docs/make.bat') PosixPath('docs/index.rst') PosixPath('docs/_build') PosixPath('docs/_static') PosixPath('docs/Makefile') ...

Kotlin/Native

ما هي تقنية Kotlin/Native؟ تُستخدَم تقنية Kotlin/Native لترجمة شيفرات Kotlin إلى الصيغة الثنائيّة الأساسيّة (native binaries) والتي لا تتطلَّب آلةً افتراضيّة (virtual machine) لتشغيلها، وتشمل كلًا من المعالجات الخلفيّة (أو السند الخلفي [backend]) المعتمدة على تقنيات مكتبة LLVM للمترجِم (compiler) وكذلك تعريف الاستخدام الأساسيّ (native implementation) من مكتبة التشغيل (runtime) في Kotlin، وقد صُمّمت هذه التقنية للسماح بالترجمة في منصّات العمل التي تكون فيها الآلات الافتراضيّة غير متاحةٍ أو مرغوبةٍ (مثل أنظمة iOS والأهداف المدمجة [embedded targets])، أو عندما يحتاج ...

التابع urllib.parse.SplitResult.geturl()‎‎ في بايثون

يعيد التابع نسخة من عنوان URL الأصلي بعد إعادة دمجها. البنية العامة urllib.parse.SplitResult.geturl()‎ القيمة المعادة يعيد التابع نسخة من عنوان URL الأصلي بعد إعادة دمجها. قد تختلف النسخة المعادة عن النسخة الأصلية حيث يمكن أن تحوّل حروف نظام العنونة إلى حروف صغيرة وأن يتخلص التابع من المكوّنات الفارغة. يحذف التابع -على وجه التحديد- المعاملات وسلاسل الاستعلام ومحدّدات القطع الفارغة، أما النتائج المعادة من التابع urldefrag()‎ فتُحذف منها محدّدات القطع الفارغة فقط، وتُجرى جميع التعديلات الملحوظة على عنوان URL المعاد من ...

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

(PHP 4 >= 4.0.2, PHP 5, PHP 7) تُعيد الدالة get_resource_type()‎‎‎ نوع المورد المُعطى لها. الوصف string get_resource_type ( resource $handle ) تُعطي هذه الدالة نوع المورد المُعطى لها. المعاملات handle مقبض للمورد المطلوب تقييمه. القيم المعادة عندما يكون المقبض handle عبارة عن مورد، فستُعيد هذه الدالة سلسلة نصّيّة تُمثِّل نوعه. وإن لم تتعرّف هذه الدالة على النّوع تكون القيمة المُعادة هي السلسلة النصّيّة Unknown. إن لم يكن المقبض handle موردًا ستولِّد هذه الدالة خطأً وتُعيد القيمة NULL. سجل التغييرات الإصدار ...

Python/pathlib/Path/rglob

التابع PurePath.rglob في بايثون مشابه لاستدعاء التابع glob عند إضافة '**' في بداية النمط المُعطى البنية العامة >>> sorted(Path().rglob("*.py")) [PosixPath('build/lib/pathlib.py'), PosixPath('docs/conf.py'), PosixPath('pathlib.py'), PosixPath('setup.py'), PosixPath('test_pathlib.py')] المعاملات الوسيط pattern النمط المُراد مطابقته. القيمة المعادة مشابه لاستدعاء التابع glob عند إضافة '**' في بداية النمط المُعطى أمثلة يبين المثال التالي طريقة استخدام التابع: >>> sorted(Path().rglob("*.py")) [PosixPath('build/lib/pathlib.py'), PosixPath('docs/conf.py'), PosixPath('pathlib.py'), PosixPath('setup.py'), PosixPath('test_pathlib.py')] انظر أيضًا مصادر

Document.getElementsByTagNameNS()‎

يُعيد التّابع Document.getElementsByTagNameNS()‎ قائمةً تحتوي على جميع العناصر ذات اسم الوسم (tag name) التّابع لمجال الأسماء (namespace) المعطيين. عند استدعائه على كائن المُستند، فسيُبحَثُ في كامل المُستند، ما يشمل العقدة الجذر. البنية العامة elements = document.getElementsByTagNameNS(namespace, name) القيم elements‎ كائنٌ حيّ من النّوع NodeList‎ (لكن انظر الملاحظة أدناه) يُمثّل مجموعة العناصِر التي وُجدت مرتّبةً حسب طريقة عرضها في شجرة DOM. namespace‎ عنوان URI مجال الأسماء المبحوث عنه (انظر ‎element.namespaceURI). name‎ سلسلةٌ نصيّةٌ تُمثّل أسماء العناصِر المبحوث عنها. السلسلة النّصيّة الخاصّة ...

Python/pathlib/Path/glob

التابع Path.glob في بايثون تعيد جميع الملفات التي تحقق نمط glob المعطى، مهما كان نوع الملف البنية العامة glob(pattern) المعاملات الوسيط pattern نمط glob المُراد مُطابقته. القيمة المعادة يُعيد قائمة عناصرها كائنات مسار، تُمثّل جميع الملفات التي تحقق نمط glob المعطى. أمثلة يبين المثال التالي طريقة استخدام التابع: >>> sorted(Path('.').glob('*.py')) [PosixPath('pathlib.py'), PosixPath('setup.py'), PosixPath('test_pathlib.py')] >>> sorted(Path('.').glob('*/*.py')) [PosixPath('docs/conf.py')] استخدام النمط "**" يعني النمط "**" تحديد المجلد الحالي وجميه المجلدات الفرعية في داخله بشكل عودي (recursively)، وهو ما يسمّى recursive globbing >>> sorted(Path('.').glob('**/*.py')) [PosixPath('build/lib/pathlib.py'), PosixPath('docs/conf.py'), PosixPath('pathlib.py'), PosixPath('setup.py'), PosixPath('test_pathlib.py')] ملاحظة: احذر من ...

المصطلحات في React

التطبيق وحيد الصفحة التطبيق وحيد الصفحة (Single-page Application) هو التطبيق الذي يُحمِّل صفحة HTML واحدة وكل ملحقاتها الضرورية (مثل CSS و JavaScript) المطلوبة لكي يعمل التطبيق. لا تتطلّب أيّة تفاعلات مع الصفحة أو الصفحات اللاحقة أي عودة للخادم مرّة أخرى، ممّا يعني عدم إعادة تحميل الصفحة. بالرغم من قدرتك على بناء تطبيق وحيد الصفحة في React فهو ليس أمرًا ضروريًّا. يُمكِن أيضًا استخدام React لتحسين أجزاء صغيرة من الموقع مع الحصول على تفاعليّة أكبر. يُمكِن للشيفرة المكتوبة باستخدام React أن ...

الدالة property()‎ في بايثون

تعيد الدّالة property()‎ خاصيّةً يُمكن التّحكم في تابع الحصول على قيمتها، وتابع تعيين قيمة لها، وتابع حذف قيمتها، وسلسلة التّوثيق (docstring) الخاصّة بها. ويُمكن كذلك استخدامها كمُزخرف لتحويل تابع إلى خاصيّة. البنية العامة property(fget=None, fset=None, fdel=None, doc=None) المعاملات fget الدالّة التّي ستُستخدم للحصول على قيمة الخاصيّة. fset الدالّة التّي ستُستخدم لتعيين قيمة للخاصيّة. fdel الدالّة التّي ستُستخدم لحذف قيمة الخاصيّة. doc سلسلة توثيق الخاصيّة. القيمة المعادة كائن خاصيّة (property object). الكائن المُعاد يحتوي على الخاصيّات fget، وfset، وfdel التي تُمثّل ...

Python/pathlib/Path/resolve

التابع Path.resolve يجعل المسار مسارًا مطلقًا، حيث يقوم بإزالة جميع الاختصارات (symlinks)، ويقوم بإعادة كائن مسار جديد. >>> p = Path() >>> p PosixPath('.') >>> p.resolve() PosixPath('/home/antoine/pathlib') يُزيل هذا التابع الأجزاء ".." وهو التابع الوحيد الذي يقوم بذلك. >>> p = Path('docs/../setup.py') >>> p.resolve() PosixPath('/home/antoine/pathlib/setup.py') يتم رمي الاستثناء FileNotFoundError إن كان المسار يشير إلى ملف غير موجود، في حال كانت قيمة الوسيط strict هي True. إن كانت قيمة الوسيط strict هي False فإن التابع يحلل المسار إلى أبعد نقطة ممكنة ويتم إلحاق أي بواقٍ دون التأكد من وجود ...

التابع String.unpack في روبي

يفك التابع unpack ترميز السلسلة النصية التي استدعي معها (والتي قد تحوي بيانات ثنائية) وفقًا إلى سلسلة التنسيق المعطاة، ويعيد مصفوفة من كل قيمة مستخرجة. البنية العامة unpack(format) → anArray المعاملات format سلسلة نصية تمثِّل سلسلة التنسيق. تتكون سلسلة التنسيق من سلسلة من الموجهات ذات المحارف الفردية (اطلع على الجدول الآتي). يمكن أن يعقب كل موجِّه عددٌ يشير إلى عدد مرات تكرار هذا الموجه. سيستعمل الرمز * كل العناصر المتبقية. يمكن أن يلي كل موجه من الموجهات sSiIlL شرطة سفلية ...

التابع Array.pack في روبي

يُحزِّمُ (packs) التابع pack محتويات المصفوفة التي استُدعيت معه على شكل تسلسل ثنائي (binary sequence) وفقًا للمُوجِّهات (directives) الواردة في المعامل aTemplateString؛ يمكن أن يتبع المُوجِّهات ","" و "A"" و ""a"" عددًا يحدّد عرض الحقل الناتج. قد تأخذ المُوجّهات المتبقية عددًا أيضًا مما يشير إلى عدد عناصر المصفوفة المطلوب تحويلها. إذا كان العدد يمثِّل محرف النجمة ("*")، فستُحوَّل جميع عناصر المصفوفة المتبقية. يمكن أن تُتبَع أيٌّ من المُوجّهات "sSiIlL" بشرطة سفلية ("_") أو إشارة تعجب ("!") لاستخدام الحجم الأصلي للمنصة ...

DOM الافتراضي والكائنات الداخلية في React

ما هو DOM الافتراضي (Virtual DOM)؟ DOM الافتراضي (أو اختصارًا VDOM) هو مفهوم برمجي نحتفظ فيه بالتمثيل المثالي أو الافتراضي لواجهة المستخدم ضمن الذاكرة مع مزامنته مع DOM الحقيقي عن طريق مكتبة مثل React DOM. تُدعى هذه العمليّة بالمطابقة (reconciliation). تُمكِّن هذه الطريقة واجهة برمجة التطبيق التصريحية في React، حيث تُخبِر React الحالة التي تريد أن تكون بها واجهة المستخدم لديك، فتحرص React على مطابقة DOM مع تلك الحالة. يُجرِّد هذا التعامل مع الخاصيّات، ومعالجة الأحداث، وتحديث DOM اليدوي الذي ...

حالة المكونات في React

ماذا يفعل التابع setState؟ يُجدوِل التابع setState()‎ تحديثًا لكائن حالة المكوّن state. عندما تتغير الحالة يستجب المكوّن بإعادة التصيير. ما الفرق بين الحالة state والخاصيّات props؟ الخاصيّات props (اختصارًا للكلمة properties) والحالة state كلاهما عبارة عن كائنات JavaScript مجرّدة. وفي حين أنّ كلاهما يحمل معلومات تؤثر في ناتج التصيير، فهما مختلفان بطريقة واحدة هامة، حيث تُمرَّر الخاصيّات إلى المكوّن (بشكل مماثل لمُعاملات الدالة) بينما تُدار الحالة state ضمن المكوّن (بشكل مشابه للمتغيرات المعرفة بداخل الدالة). هنا تجد مصادر جيدة لقراءة ...

المكونات غير المضبوطة في React

نُفضِّل في معظم الحالات استخدام المُكوّنات المضبوطة من أجل حقول الإدخال، ففي المُكوّنات المضبوطة يتعامل مُكوّن React مع بيانات الحقول. البديل لها هو المُكوّنات غير المضبوطة والتي يتعامل فيها DOM مع بيانات الحقول. لكتابة مُكوّن غير مضبوط بدلًا من كتابة معالج أحداث لكل تحديث للحالة، فبإمكانك استخدام المراجع للحصول على قيم الحقول من DOM. مثلًا تقبل هذه الشيفرة اسمًا واحدًا في المُكوّن غير المضبوط: class NameForm extends React.Component { constructor(props) { super(props); this.handleSubmit ...

مكونات الويب في React

إنّ مكوّنات React ومكوّنات الويب مبنية لحل مشاكل مختلفة. حيث تُزوِّدنا مكوّنات الويب بتغليف قوي لمكوّنات قابلة لإعادة الاستخدام، بينما تُزوِّدنا مكوّنات React بمكتبة تصريحات تُبقي DOM على تزامن مع بياناتنا. يكون هذا الهدفان متكاملين، وكمُطوّر لك حرية استخدام React في مكوّنات الويب لديك، أو استخدام مكوّنات الويب في React أو كليهما معًا. معظم من يستخدم React لا يستخدم مكوّنات الويب، ولكن قد ترغب في ذلك خاصة إذا كنت تستخدم مكوّنات لواجهة المستخدم من طرف ثالث والتي تكون مكتوبة باستخدام ...

مقدمة إلى JSX في React

فلننظر إلى تعريف هذا المتغير: const element = <h1>!أهلًا بالعالم</h1>; إنّ الصّياغة الغريبة السّابقة التي تحتوي على وسم هي ليست سلسلة نصيّة ولا حتى HTML. تُدعى الصّياغة السّابقة JSX وهي عبارة عن امتداد لصياغة JavaScript، نوصي باستخدامها مع React لوصف المظهر الذي ينبغي أن تكون عليه واجهة المستخدم. قد تُذكِّرك JSX بلغات القوالب، ولكنها تمتلك قوة JavaScript الكاملة. تُنتِج JSX عناصر React. سنستعرض إظهار هذه العناصر في DOM في قسم تصيير العناصر (Rendering Elements). سنتحدّث في الفقرات التالية عن أساسيّات JSX ...

المطابقة (Reconciliation) في React

تُزوّدنا React بواجهة برمجة تطبيقات (API) صريحة بحيث لا نقلق بشأن التغييرات التي تطرأ في كل تحديث. يجعل هذا من كتابة التطبيقات أمرًا أسهل بكثير، ولكن قد لا يكون من الواضح كثيرًا كيفيّة تطبيق هذا في React. تشرح هذه الصفحة الخيارات التي وضعناها في خوارزمية المقارنة (diffing) بحيث تكون تحديثات المُكوّنات متوقعة وفي نفس الوقت سريعة كفاية لأجل التطبيقات عالية الأداء. البداية عندما تستخدم React في نقطة زمنية محدّدة بإمكانك التفكير في التابع render()‎ كأنّه يُنشِئ شجرة من عناصر React، ...

معالجة الأحداث في React

تُشبه معالجة الأحداث لعناصر React معالجة الأحداث لعناصر DOM، ولكن هنالك فروق تتعلّق بالصياغة: تُسمَّى أحداث React باستخدام حالة الأحرف camelCase (أي عند وجود اسم مؤلف من عدة كلمات نجعل الحرف الأول من الكلمة الأولى بالشكل الصغير أمّا باقي الكلمات نجعل حرفها الأول بالشكل الكبير) بدلًا من استخدام الشكل الصغير للأحرف. نُمرِّر في JSX دالة كمُعالِج للأحداث، بدلًا من سلسلة نصيّة. على سبيل المثال لنأخذ شيفرة HTML التالية: <button onclick="activateLasers()"> تفعيل الليزر </button> تكون الشيفرة السابقة مختلفة قليلًا في React: <button ...

تصيير العناصر (Rendering Elements) في React

تُشكِّل العناصر أصغر بنية لتطبيقات React. يصف العنصر ما الذي تود رؤيته على الشّاشة: const element = <h1>أهلًا بالعالم</h1>; على عكس عناصر DOM الخاصّة بالمتصفّح، تكون عناصر React عبارة عن كائنات مُجرّدة سهلة الإنشاء، ويعتني React DOM بتحديث DOM لمُطابقة عناصر React. ملاحظة: قد يخلط المرء العناصر مع مفهوم أكثر انتشارًا وهو المُكوِّنات (components)، سنتحدّث عن المُكوِّنات بالتفصيل في القسم الخاص بها. إنّ العناصر هي الشيء الذي تُصنَع منه المُكوِّنات، ومن المُفضَّل أن تقرأ ذلك القسم قبل المتابعة. تصيير العنصر إلى ...

Function.prototype.toString()‎

الدالة Function.prototype.toString()‎ تعيد سلسلةً نصيةً لتمثيل الشيفرة المصدرية للدالة. البنية العامة function.toString() القيمة المعادة سلسلة نصية تُمثِّل الشيفرة المصدرية للدالة. الوصف يُعيد الكائن Function تعريف الدالة toString الموروثة من الكائن Object؛ وستُعيد هذه الدالة، عند استدعائها على الدوال التي عرَّفها المستخدم، سلسلةً نصيةً للشيفرة المصدرية التي تُستخدَم لتعريف الدوال. ستستدعي JavaScript هذه الدالة تلقائيًا عند محاولة استخدام الدالة كقيمة نصية، مثلًا: عند إضافة سلسلة نصية إلى الدالة. استدعاء الدالة toString على دوال الكائنات المُضمَّنة في اللغة أو على الدوال المُنشَأة ...

واجهة برمجة التطبيق (API) ذات المستوى الأعلى في React

إنّ الكائن React هو نقطة الدخول إلى مكتبة React. إن حمّلت React عن طريق العنصر ‎<script>‎ فستكون هذه الواجهة ذات المستوى الأعلى متوفرة عبر الكائن العام React. وإن استخدمت ES6 مع npm فتستطيع كتابة ‎import React from 'react'‎. إن استخدمت ES5 مع npm فتستطيع كتابة ‎var React = require('react')‎. لمحة عامة المكوّنات تُتيح لك مكوّنات React تقسيم واجهة المستخدم إلى قطع مستقلة قابلة لإعادة الاستخدام والتفكير بكل قطعة لوحدها. يُمكِن تعريف مكوّنات React عن طريق أخذ صنف فرعي من React.Component ...

التصيير السطحي (Shallow Rendering) في React

الاستيراد import ShallowRenderer from 'react-test-renderer/shallow'; // ES6 var ShallowRenderer = require('react-test-renderer/shallow'); // ES5 with npm لمحة عامة عند كتابة وحدات اختبار لمكتبة React يكون التصيير السطحي مفيدًا لك. يُتيح لك التصيير السطحي تصيير مكوّن على عمق مستوى واحد وتوضيح الحقائق حول ما يُعيده تابع التصيير، بدون القلق حول سلوك المكوّنات الأبناء والتي لم تُصيَّر أو ينشأ عنها نسخة. لا يحتاج ذلك إلى DOM. على سبيل المثال إن كان لديك المكوّن التالي: function MyComponent() { return ( <div> ...

الدليل التطبيقي

لا يفترض هذا الدليل أي معرفة مسبقة بمكتبة React. قبل أن نبدأ بالدليل التطبيقي سنبني لعبة صغيرة خلال هذا الدليل التطبيقي. ربّما قد ترغب بتخطي هذا الدليل لأنّك لا تريد بناء الألعاب، ولكن أعطيها فرصة. إنّ التقنيات التي ستتعلمها في هذا الدليل أساسيّة لبناء أي تطبيق React، وسيعطيك إتقانها فهمًا أعمق لمكتبة React. فائدة: هذا الدليل مُصمَّم للأشخاص الذين يُفضّلون التعلّم بالممارسة. إن كنت تُفضّل تعلّم المفاهيم من البداية فارجع إلى توثيق React من البداية خطوة بخطوة. قد تجد هذا ...

التابع Module.protected‎ في روبي

يعين التابع protected المرئية (visibility) الافتراضية للتوابع المعرفة لاحقًا إلى المرئية protected المحمية إن لم يمُرَّر إليه أي شيء. أما في حال تمرير اسم تابع (أو عدة توابع إليه)، فسيضبط مرئية هذه التوابع المرئية protected المحمية.  إن كانت مرئية تابعٍ محمية، فلن يكون قابلًا للاستدعاء إلا عندما يكون المتغير self الخاص بالسياق هو التابع نفسه. (في تعريف التابع أو instance_eval). يختلف هذا السلوك عن الأسلوب المحمي في Java. وعادة ما يجب استخدام private. لاحظ أن التوابع المحمية بطيئة لأنه لا يمكنها ...

التابع Module.private‎ في روبي

يعين التابع private المرئية (visibility) الافتراضية للتوابع المحددة لاحقًا إلى المرئية private الخاصة إن استدعي دون تمرير أي شيء إليه. أما في حال تمرير اسم تابع (أو عدة توابع إليه)، فسيضبط مرئية هذه التوابع إلى المرئية private الخاصة. تذكر أنه لإظهار تابع خاص على RDoc، استخدم :doc:. البنية العامة private → self private(symbol, ...) → self private(string, ...) → self‎ المعاملات symbol‎ رمز يمثل التابع المراد ضبط مرئيته إلى خاصة. string‎ سلسلة نصية تمثل التابع المراد ضبط مرئيته إلى خاصة. يحول هذا ...

المنقح Debugger في Node.js

درجة الثبات: 2 - مستقر كثيرًا ما نحتاج لتنقيح الشيفرات ومراجعتها من الأخطاء، لذلك يتضمن Node.js أداة تنقيح مستقلة يمكن الوصول إليها من خلال محقق V8 inspector وعميل تنقيح مدمج. لاحظ أن عميل تنقيح Node.js هنا هو أداة بسيطة وليست منقّحًا كامل الخصائص، لكنها تكفي في حالة تفحص خطوات تنفيذ الشيفرة. سنستخدم في مثالنا هذا ملف myscript: // myscript.js ‎global.x = 5; setTimeout(() => {  console.log('world'); }, 1000)‎; console.log('hello'); كما ترى، المثال المستخدم هنا بسيط، حيث يبدأ في السطر الأول بتحديد متغير عام x بقيمة 5، ...

استخدام لغة Kotlin في نطاق JavaScript

تتيح لغة Kotlin إمكانيّة استهداف لغة JavaScript من خلال تحويل (transpiling) شيفرات Kotlin إلى ما يماثلها في JavaScript ؛ إذ تستهدف بالوقت الحاليّ معيارECMAScript 5.1، ومن المُخطَّط له أيضًا التوافق مع معيار ECMAScript 2015 لاحقًا. عند استخدام لغة Kotlin بهدف كتابة شيفرات JavaScript فستُحوَّل الشيفرات المكتوبة بلغة Kotlin (بعدِّها جزءًا من المشروع والمكتبة القياسيّة في Kotlin) إلى شيفرة JavaScript، ولكنّ هذا لا يشمل أيًّا ممّا يتعلَّق ببيئة JDK أو JVM أو Java أو أيّ من منصّاتها أو مكتباتها المُستخدَمة، ويُستبعَد ...

JSX في TypeScript

مقدمة JSX بنيةٌ (syntax) مشابهةٌ للغة XML يُمكن تضمينها وتحويلها إلى شيفرة JavaScript صالحة، لكن آلية عملية التحويل تختلف من تطبيق (implementation) إلى آخر. اشتهرت JSX باستخدامها مع مكتبة React، لكنها تملك تطبيقات أخرى غير React. تدعم لغة TypeScript تضمين JSX، وتدقيق الأنواع فيها، وكذا ترجمة JSX إلى JavaScript مباشرةً. ملاحظة حول المصطلحات: نستخدم في هذه الصّفحة كلمة "صِفَة" للإشارة إلى الكلمة الإنجليزيّة "attribute" وكلمة "خاصيّة" للإشارة إلى كلمة "property"، كلاهما يُترجَم إلى كلمة "خاصيّة" ولهما نفس المعنى في معظم ...

أسئلة شائعة عن لغة Kotlin

ما هي لغة Kotlin؟ تُعدُّ Kotlin إحدى لغات البرمجة مفتوحة المصدر (OSS) والمكتوبة ستاتيكيًّا، وتستهدف كلًا من بيئة JVM و Android و JavaScript و Native، وقد طُوِّرت من قِبل شركة JetBrains بدءًا من العام 2010 حيث كانت مفتوحة المصدر منذ بداياتها الأولى، ونٌشر الإصدار الرسميّ Kotlin 1.0 في الشهر الثاني (شباط) من عام 2016. ما النسخة الحاليّة للغة Kotlin؟ نٌشر الإصدار الأخير للغة Kotlin في الأوّل من الشهر الثالث (آذار) من عام 2018 وهو الإصدار Kotlin 1.2.30. هل Kotlin مجانيّة؟ ...

Object.prototype.constructor

الخاصية Object.prototype.constructor تُعيد مرجعيةً إلى الدالة البانية Object التي تُنشِئ نسخةً (instance) من الكائن؛ لاحظ أنَّ قيمة هذه الخاصية تُشير إلى الدالة نفسها وليست سلسلةً نصيةً تحتوي على اسم الدالة؛ وتكون هذه القيمة للقراءة فقط في القيم الأوليّة مثل 1 و true و "test". الوصف جميع الكائنات تملك الخاصية constructor، والكائنات المُنشأة دون استخدام الدالة البانية مباشرةً (أي الشكل المختصرة لإنشاء الكائنات والمصفوفات) ستملك الخاصية constructor التي تُشير إلى الدالة البانية الأساسية لنوع الكائنات التي تتبع له. var o = ...

بناء Javascript و CSS

مقدمة لا يفرض Laravel عليك استخدام أي معالج JavaScript و CSS، إلّا إنّه يوفّر نقطة انطلاق بسيطة باستخدام Bootstrap و Vue ممّا سيساعد العديد من التطبيقات. بصفة عامّة، يستخدم Laravel أوامر npm لتنصيب حزم الواجهات الأمامية هذه. CSS يوفّر Laravel Mix واجهة برمجية (API) سهلة ومعبّرة لترجمة Sass أو Less، وهي إضافات للغة CSS الأساسية التي تضيف المتغيّرات والمخاليط (mixins) والعديد من الخصائص الأخرى التي تجعل العمل بلغة CSS أكثر متعة. في هذه الصفحة، سنناقش باختصار ترجمة CSS بصفة عامّة ...

ترجمة الأصول (Laravel Mix)

مقدمة يوفّر Laravel Mix واجهة برمجية (API) واضحة لتعريف خطوات بناء Webpack للتطبيق باستعمال العديد من المعالجات المسبقة (pre-processors) للغتي CSS و Javascript. باستخدام سلسلة بسيطة من استدعاءات التوابع، يمكن تعريف مسار معالجة الأصول (assets) في التطبيق. فمثلًا: mix.js('resources/assets/js/app.js', 'public/js') .sass('resources/assets/sass/app.scss', 'public/css'); إن أصبحت مرتبكا و مشوشا حول البدء مع Webpack وترجمة الأصول، فسوف تحب Laravel Mix. لكنك لست مطالبًا باستعمالها لبناء تطبيقك. طبعًا لك حرية اختيار أي مسار لمعالجة الأصول تريده، أو أن لا تستعمل أيًا منها على ...

التابع Proc.source_location في روبي

يُعيد التابع source_location اسم ملف روبي المصدري ورقم السَّطر الحاوي على كتلة proc محدَّدة، أو يُعيد القيمة nil إذا كانت هذه الكتلة غير مُعرَّفة في روبي (مثل native). البنية العامة source_location → [String, Integer] القيم المعادة تُعاد مصفوفةٌ تحوي سلسلةً نصيَّةً (String) تُمثِّل اسم ملف روبي المصدري وعددًا صحيحًا (Integer) يمثِّل رقم السطر الذي يحتوي كتلة proc المُحدَّدة، أو تُعاد القيمة nil إذا كانت هذه الكتلة غير مُعرَّفة في روبي. انظر أيضًا التابع arity: يُعيد عدد الوسائط الإلزاميَّة في الكائن ...

Python/pathlib/Path

الصنف pathlib.Path في بايثون هو الصنف العام للأصناف التي تتعامل مع المسارات مع السماح بالقيام بعمليات الإدخال والإخراج، وتُسمّى بأصناف المسارات الصلبة Concrete Paths. البنية العامة pathlib.Path(*args,**kwargs)‎ المعاملات args* يمكن تمرير عدد غير محدود من السلاسل النصية أو من كائنات من النوع Path حيث تمثل السلاسل النصية أسماء المجلدات والملفات بالترتيب من المستوى الأعلى للأدنى. kwargs** معامل غير مستخدم. يمكنك مراجعة المقال التالي بخصوص هذا النوع من المعاملات. الاستخدام الأساسي يمكن إنشاء كائن من الصنف Path بثلاث طرق مختلفة: 1- ...

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

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

الحقل file

عناصر <input> ذات النوع file تسمح للمستخدم باختيار ملف أو أكثر لرفعها إلى الخادوم أو تعديلها باستخدام الواجهة البرمجية File. الخاصية value تحتوي الخاصية value في الحقل file على سلسلة نصية (DOMString) التي تُمثِّل المسار إلى الملف (أو الملفات) المختارة. بعض الأمور التي عليك أن تضعها بالحسبان: إذا تم اختيار عدِّة ملفات، فقيمة الخاصية value ستُمثِّل أوّل ملف مختار، لكن يمكن الوصول إلى الملفات الأخرى عبر الخاصية FileList في DOM التابعة للعنصر <input>. إذا لم يتم اختيار ملف بعد، فستكون ...

Python/types

تقدّم هذه الوحدة عددًا من الدوال المساعدة لإنشاء أنواع بيانات جديدة بصورة ديناميكية، إضافة إلى أنّها تعرّف أسماءً لبعض أنواع الكائنات التي يستخدمها مفسّر بايثون المعياري، ولكنّها ليست كائنات داخلية مثل int أو str، إلى جانب أنّ هذه الوحدة تقدم بعض الأصناف والدوال المساعدة الخاصة ببعض الأنواع، والتي لا تعدّ أساسية بما يكفي لتصبح أصنافًا ودوالّ داخلية. إنشاء الأنواع ديناميكيًا تقدّم هذه الوحدة ثلاث دوالّ تساعد في إنشاء أنواع البيانات ديناميكيًا: الدالة types.new_class()‎‎ تنشئ هذه الدالة ديناميكيًا كائن صنف باستخدام ...

ملفات تهيئة الصدفة

ملفات الإعدادات على مستوى النظام System-wide Configuration files الملف etc/profile/ تقرأ Bash التعليمات الموجودة في etc/profile/ إن استدعيْت بشكل تفاعلي عبر خيار login-- أو إن استدعيْت كـ sh ، تضبط تلك التعليمات عادة المتغيرات PATH - USER - MAIL - HOSTNAME - HISTSIZE ، وهي متغيرات تابعة للصدفة. كذلك تُضبط قيمة umask في etc/profile/ على بعض الأنظمة، أما في بعضها الآخر فإن هذا الملف يحتوي على موجّهات (pointers) لملفات الإعدادات الأخرى مثل: ملف etc/inputrc/ ، وهو ملف تهيئة على مستوى ...

Document.cookie

تُستعمل هذه الخاصيّة للحصول على ملفّات الارتباط (cookies) المُرتبطة بالمُستند الحالي وضبطها، للتعامل مع ملفّات الارتباط ببساطة أكثر، انظر إطار العمل البسيط هذا. البنية العامة الحصول على جميع ملفّات تعريف الارتباط المتاحة allCookies = document.cookie; المُتغيّر allCookies أعلاه عبارة عن سلسلة نصيّة تحتوي على قائمة بجميع ملفات الارتباط مفصولة بفاصلة منقوطة (;)، وهي على شكل مفتاح=قيمة. ضبط ملفّ ارتباط جديد document.cookie = newCookie; في الشيفرة أعلاه، المُتغيّر newCookie عبارة عن سلسلة نصيّة على شكل مفتاح=قيمة. لاحظ أنّك تستطيع أن تضبط أو تُحدّث ...

المشاريع متعددة المنصات (Multiplatform) في لغة Kotlin

ملاحظة: ما تزال ميّزة تعدّد منصّات العمل تجريبيّة في الإصدار Kotlin 1.2 وبالتالي فإن ما تحتويه هذه الصفحة قد يخضع للتغيير في إصدارات Kotlin القادمة. يسمح مشروع Kotlin متعدّد المنصّات بترجمة الشيفرة ذاتها إلى عدّة منصّاتٍ للعمل (platforms)، وتدعم Kotlin حاليًا البيئات: JVM و JavaScript بالإضافة إلى Native والتي لا زلت قيد التطوير وستُضاف رسميًا فيما بعد. بُنية المشروع متعدّد المنصّات (Multiplatform Project Structure) يتألف من ثلاثة أنواع من الوحدات (modules): الوحدة المشتركة (common module): تحتوي على الشيفرة العامّة التي ...

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

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

الاستثناءات المضمنة داخليًا في بايثون

يجب أن تكون جميع الاستثناءات في لغة بايثون مُنشأة من صنف مُشتق من الصنف BaseException. عند ذكر صنف مُحدد في جملة except خلال تعبير try، فإن جملة except تُعالج أي استثناء مُشتق من ذلك الصنف المُحدَّد (وليس الاستثناءات المُشتقة من الصنف الذي اُشتقت منه). إذا كان لدينا صنفا استثناءات غير مرتبطين بعلاقة وراثة فهما غير متماثلان حتى لو كانا بنفس الاسم. من الممكن توليد الاستثناءات الداخلية المذكورة بالأسفل بواسطة مُفسر بايثون أو الدوال الداخلية.  تملك الاستثناءات "قيمة مرتبطة" تُشير بالتفصيل ...

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

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

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

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

الوحدات في TypeScript

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