نتائج البحث

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

الترخيص (Authorization) في Laravel

مقدمة بالإضافة إلى توفير خدمات الاستيثاق المضمنة بإطار العمل Laravel، يوفر Laravel أيضًا طريقة بسيطة لترخيص عمليات المستخدم على مورد معين. مثلما هو الحال مع الاستيثاق، فإن أسلوب Laravel للترخيص بسيط، وهناك طريقتان أساسيتان لترخيص العمليات: البوابات والسياسات (gates and policies). فكر في البوابات والسياسات مثل المسارات ووحدات التحكم. توفر البوابات أسلوبًا بسيطًا يعتمد على الإغلاق للترخيص، بينما تقوم السياسات، مثل وحدات التحكم، بتجميع منطقها حول نموذج معين أو مورد. سنستكشف البوابات أولاً ثم نفحص السياسات. لست بحاجة إلى الاختيار ...

Document.domain

تُستعمل للحصول على نطاقِ أصلِ المُستند الحالي أو ضبطه. وذلك حسب سياسة الأصل الواحد (same origin policy). البنية العامة var domainString = document.domain; document.domain = string; مثال // للمُستند // www.example.xxx/good.html // يُغلق هذا البرنامج النّافذة var badDomain = "www.example.xxx"; if (document.domain == badDomain) { window.close(); // هذا مُجرّد مثال، إذ أنّ هذا السّطر لا يقوم بأي شيء في بعض الأحيان } // إن كان الرّابط مثلا // https://wiki.hsoub.com/JavaScript/Document // فستُضبط القيمة التّاليّة للمُتغيّر // "wiki.hsoub.com" var domain = document.domain; ملاحظات تُعيد هذه الخاصيّة القيمة null في حالة ...

Python/shutil

تقدم هذه الوحدة العديد من العمليات عالية المستوى على الملفات وتجمّعات الملفات، وتقدم على وجه الخصوص توابع لنسخ وحذف الملفات. يمكنك الرجوع إلى الوحدة os لعمليات على الملفات المفردة.

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

يرمى الاستثناء FloatDomainError عند محاولة تحويل قيم عشرية خاصة (مثل القيمة Infinity أو NaN على وجه الخصوص) إلى أصناف رقمية لا تدعمها. Float::INFINITY.to_r #=> FloatDomainError: Infinity مصادر صفحة الصنف FloatDomainError في توثيق روبي الرسمي.

الصنف ‎:visited

الصنف الزائف ‎:visited في CSS (أي pseudo-class) يُمثِّل عنصرًا تمت زيارته من قبل، ولأسباب تابعة للخصوصية فإنَّ عدد الخاصيات التي يمكن تغيير قيمتها باستخدام هذا المُحدِّد قليلةٌ جدًا. a:visited { color: green; } الأنماط المُعرَّفة للصنف الزائف ‎:visited سيتم تجاوزها بأيّة أصناف زائفة تليها خاصة بالروابط (مثل ‎:active أو ‎:hover أو ‎:link) التي لها نفس درجة التحديد. ولتطبيق الأنماط تطبيقًا صحيحًا فضع قاعدة ‎:visited بعد قاعدة ‎:link لكن قبل بقية القواعد الخاصة بالروابط وفق الترتيب ‎:link ثم ‎:visited ثم ‎:hover ثم ...

الدالة wsgiref.handlers.read_environ في بايثون

تحول الدالة متغيرات CGI من os.environ إلى سلاسل (bytes in unicode) النصية ضمن المعيار PEP 3333، وتعيد قاموسًا جديدًا. يستخدم المعالجان CGIHandler و IISCGIHandler هذه الدالة عوضًا عن استخدام os.environ مباشرة، والذي يمكن أن لا يكون متوافقًا مع معايير WSGI في جميع المنصات ومخدّمات الويب التي تستخدم الإصدار 3 من بايثون، وعلى وجه الخصوص الأنظمة التي تكون Unicode فيها هي البيئة الفعلية (مثل نظام ويندوز) أو الأنظمة التي تكون البيئة فيها هي البايتات ولكن بايثون لا تستخدم الترميز ISO-8859-1 لفكّ ...

المحدد ‎:even‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في jQuery

المحدد ‎:even الوصف يختار هذا المحدد العناصر الزوجية، وهو مُحدد صفري مفهرس. انظر أيضا المحدد ‎:odd. jQuery( ":even" )‎ أُ‎ضيف مع الإصدار: 1.0. على وجه الخصوص، لاحظ أن الفهرسة الصفرية تعني، بشكل مضاد للبديهة، أن ‎:even يُحدد العنصر الأول والعنصر الثالث وما إلى ذلك داخل المجموعة المتطابقة. ملاحظات إضافية لأن ‎:even هو ملحق jQuery وليس جزءًا من مواصفات CSS، فلا يمكن استفادة الاستعلامات التي تستخدم ‎‎:even من تحسين الأداء الذي يوفره تابع DOM الأصلي querySelectorAll()‎‎. لتحقيق أفضل أداء عند استخدام ...

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

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

الدالة ‎‎jQuery.getJSON()‎‎ في jQuery

jQuery.getJSON( url [, data ] [, success ] )‎ القيم المعادة تعيد كائنًا من النوع jqXHR. الوصف تجلب هذه الدالة بياناتٍ مرمَّزة بصيغة JSON من الخادم باستعمال طلب HTTP عبر الطريقة GET. jQuery.get( url [, data ] [, success ] )‎ أُضيفت مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسَل الطلب إليه. data كائنٌ مجرَّد أو سلسلة نصية تُرسَل إلى الخادم مع الطلب. success دالةٌ من الشكل Function( Object data, String textStatus, jqXHR jqXHR )‎ يراد ...

الدالة ‎‎jQuery.get()‎‎ في jQuery

jQuery.get( url [, data ] [, success ] [, dataType ] )‎ القيم المعادة يعيد كائنًا من النوع jqXHR. الوصف يجلب هذا التابع بياناتٍ من الخادم باستعمال طلب HTTP عبر الطريقة GET. jQuery.get( url [, data ] [, success ] [, dataType ] )‎ أُضيفت مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسل الطلب إليه. data كائنٌ مجرَّد أو سلسلة نصية ترسل إلى الخادم مع الطلب. success دالةٌ من الشكل Function( Object data, String textStatus, jqXHR ...

الدالة ‎‎jQuery.getJSON()‎‎ في jQuery

jQuery.getJSON( url [, data ] [, success ] )‎ القيم المعادة تعيد كائنًا من النوع jqXHR. الوصف تجلب هذه الدالة بياناتٍ مرمَّزة بصيغة JSON من الخادم باستعمال طلب HTTP عبر الطريقة GET. jQuery.get( url [, data ] [, success ] )‎ أُضيفت مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسَل الطلب إليه. data كائنٌ مجرَّد أو سلسلة نصية تُرسَل إلى الخادم مع الطلب. success دالةٌ من الشكل Function( Object data, String textStatus, jqXHR jqXHR )‎ يراد ...

الدالة ‎‎jQuery.get()‎‎ في jQuery

jQuery.get( url [, data ] [, success ] [, dataType ] )‎ القيم المعادة يعيد كائنًا من النوع jqXHR. الوصف يجلب هذا التابع بياناتٍ من الخادم باستعمال طلب HTTP عبر الطريقة GET. jQuery.get( url [, data ] [, success ] [, dataType ] )‎ أُضيفت مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسل الطلب إليه. data كائنٌ مجرَّد أو سلسلة نصية ترسل إلى الخادم مع الطلب. success دالةٌ من الشكل Function( Object data, String textStatus, jqXHR ...

الصنف ‎:link

الصنف الزائف ‎:link في CSS (أي pseudo-class) يُمثِّل عنصرًا لم تتم زيارته من قبل، ويُطابِق جميع عناصر و <area> و <link> التي لها الخاصية href ولم تتم زيارتها بعد. a:link { color: red; } الأنماط المُعرَّفة للصنف الزائف ‎:link سيتم تجاوزها بأيّة أصناف زائفة تليها خاصة بالروابط (مثل ‎:active أو ‎:hover أو ‎:visited) التي لها نفس درجة التحديد. ولتطبيق الأنماط تطبيقًا صحيحًا فضع قاعدة ‎:link قبل جميع القواعد الخاصة بالروابط وفق الترتيب ‎:link ثم ‎:visited ثم ‎:hover ثم ‎:active. ملاحظة: استخدم ...

التابع datetime.time()‎ في بايثون

يستدعى هذا التابع عند استخدام التابع datetime.astimezone()‎ بالطريقة الافتراضية. وعند استدعائه من هناك، يكون dt.tzinfo هو الكائن نفسه self، ويُنظر إلى بيانات التاريخ والوقت في الكائن dt على أنّها تعرض الوقت حسب التوقيت العالمي المنسّق. البنية العامة ‎tzinfo.fromutc(dt) الهدف من التابع formutc()‎ هو تعديل بيانات الوقت والتاريخ وإعادة كائن datetime مكافئ حسب التوقيت المحليّ للكائن نفسه self. يجب على الأصناف الفرعية من tzinfo أن تكون قادرةً على وراثة طريقة الاستخدام الافتراضية للتابع fromutc()‎ دون أي مشاكل، وذلك لأنّ هذا التابع ...

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

تفتح الدّالة open()‎ ملفّا وتعيد كائن ملفّ (file object) مرتبط به. إن لم يُمكِن فتح الملفّ، فسيُطلَق الاستثناء OSError‎. البنية العامة open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) المعاملات file كائن مُشابه للمسارات (path-like object) يُمثّل مسار الملفّ (سواء أكان مُطلقا أو نسبيًّا) المرغوب فتحه. يُمكن كذلك أن يكون واصف ملفّ عدديّ (integer file descriptor) للملفّ لتغطيّته (wrap). إن مُرّر واصف ملفّات، فسيُغلَق عندما يُغلَق كائن I/O المُعاد، إلّا في حالة كانت قيمة المُعامل closefd تساوي False. mode مُعامل ...

التابع 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. يطلق التابع ...

عوارض أندرويد في كوردوفا

يوضح هذا الدليل كيفية تضمين مُكوّن (component) عارض كوردوفا داخل تطبيقات أندرويد الكبيرة. لمزيد من التفاصيل حول كيفية جعل هذه المكونات تتواصل مع بعضها، راجع دليل تطوير الإضافات. إذا لم تكن لديك خبرة بمنصة أندرويد، فعليك الاطلاع أولًا على دليل التطوير على منصة أندرويد، وتثبيت أحدث إصدارٍ من إطار العمل SDK الخاص بأندرويد قبل محاولة اعتماد الطرق الواردة في هذا الدليل لتضمين العوارض. بدءًا من الإصدار 1.9 من كوردوفا، أصبحت منصة أندرويد تعتمد على المُكوِّن CordovaWebView، والذي بُنِي على المُكوِّن ...

بنية المجلدات في Laravel

مقدمة تهدف هيكلية تطبيق Laravel الافتراضية إلى توفير نقطة بداية رائعة لكل من التطبيقات الكبيرة والصغيرة. بالطبع، أنت حر في تنظيم تطبيقك كما تشاء. لا يفرض Laravel أي قيود تقريبًا على مكان وجود أي صنف من أصناف مشروعك، طالما أن Composer يمكنه تحميل الصنف تلقائيًا. أين هو مجلّد النماذج؟ عند عملية البدء مع Laravel، يشوشّ العديد من المطورين بسبب عدم وجود المجلّد models. ومع ذلك، فإن عدم وجود مثل هذا المجلّد هو متعمد. نجد كلمة "نماذج" غامضة لأنها تعني الكثير ...

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

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

CSS/Topics/Pseudo Classes

الصنف التمثيل ‎:active العناصر (مثل الأزرار) التي جرى تفعيلها من المستخدم. وعند استخدام الفأرة سيبدأ «تفعيل» العنصر عندما يضغط المستخدم على الزر الرئيسي لها وينتهي عند إفلات الضغط على ذاك الزر. ‎:checked أزرار انتقاء (radio button) أو صناديق تأشير (checkbox) أو خيارات <option> في عنصر<select> تم تحديدها أو انتقاؤها. يمكن أن يُفعِّل المستخدم هذه الحالة بتفعيل أو انتقاء العنصر. ‎:default أي عنصر مُختار افتراضيًا بين مجموعة من العناصر المتعلقة به؛ ويمكن استخدام هذا الصنف الزائف على أيّة أزرار عادية <button> أو أزرار انتقاء (radio button) ...

الصنف datetime.time()‎ في بايثون

يمثّل كائن time الوقت (المحلّي) في يوم غير محدّد، وهو عرضة للتعديل بواسطة كائن tzinfo. البنية العامة class datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0) المعاملات جميع المعاملات في عبارة إنشاء الصنف time اختيارية، وتأخذ القيمة الافتراضية 0، ويأخذ المعامل tzinfo القيمة الافتراضية None. يمكن أن تكون قيم جميع المعاملات (باستثناء المعامل tzinfo) أعدادًا صحيحة وضمن المديات التالية: ‎0 <= hour < 24‎ ‎0 <= minute < 60‎ ‎0 <= second < 60‎ ‎0 <= microsecond < 1000000‎ ‎fold in ...

التابع ‎‎.load()‎‎ في jQuery

‎.load( url [, data ] [, complete ] )‎ القيم المعادة يعيد كائنًا من النوع jQuery. الوصف يحمِّل هذا التابع البيانات من الخادم ثمَّ يضع محتوى HTML المُعاد في العنصر المتطابق. ‎.load( url [, data ] [, complete ] )‎ أُضيف مع الإصدار: 1.0. url سلسلة نصية تمثل الرابط URL الذي سيُرسل إليه الطلب. data كائن مجرد (Object) أو سلسلة نصية يُراد إرسالها إلى الخادم مع الطلب. complete دالة من الشكل Function( String responseText, String textStatus, jqXHR jqXHR )‎، وتمثِّل ...

الصنف datetime.time()‎ في بايثون

يمثّل كائن time الوقت (المحلّي) في يوم غير محدّد، وهو عرضة للتعديل بواسطة كائن tzinfo. البنية العامة class datetime.time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0) المعاملات جميع المعاملات في عبارة إنشاء الصنف time اختيارية، وتأخذ القيمة الافتراضية 0، ويأخذ المعامل tzinfo القيمة الافتراضية None. يمكن أن تكون قيم جميع المعاملات (باستثناء المعامل tzinfo) أعدادًا صحيحة وضمن المديات التالية: ‎0 <= hour < 24‎ ‎0 <= minute < 60‎ ‎0 <= second < 60‎ ‎0 <= microsecond < 1000000‎ ‎fold in ...

الدالة ‎‎jQuery.post()‎‎ في jQuery

jQuery.post( url [, data ] [, success ] [, dataType ] )‎ القيم المعادة تعيد كائنًا من النوع jqXHR. الوصف تجلب هذه الدالة بياناتٍ من الخادم باستعمال طلب HTTP عبر الطريقة POST. jQuery.post( url [, data ] [, success ] [, dataType ] )‎ أُضيف مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسل الطلب إليه. data كائنٌ مجرَّد أو سلسلة نصية ترسل إلى الخادم مع الطلب. success دالةٌ من الشكل Function( Object data, String textStatus, jqXHR ...

الدالة ‎‎jQuery.post()‎‎ في jQuery

jQuery.post( url [, data ] [, success ] [, dataType ] )‎ القيم المعادة تعيد كائنًا من النوع jqXHR. الوصف تجلب هذه الدالة بياناتٍ من الخادم باستعمال طلب HTTP عبر الطريقة POST. jQuery.post( url [, data ] [, success ] [, dataType ] )‎ أُضيف مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسل الطلب إليه. data كائنٌ مجرَّد أو سلسلة نصية ترسل إلى الخادم مع الطلب. success دالةٌ من الشكل Function( Object data, String textStatus, jqXHR ...

التابع ‎‎.live()‎‎ في jQuery

‎.live( events, handler )‎ أهمل مع الإصدار: 1.7، وحذف مع الإصدار: 1.9. القيم المعادة يعيد كائنًا من النوع jQuery. الوصف يربط هذا التابع معالج حدث معين بجميع العناصر التي طابقت المحدِّد الحالي الآن وفي المستقبل. ‎.live( events, handler )‎ أُضيف مع الإصدار: 1.3. events سلسلة نصية تحتوي على نوع حدث JavaScript مثل "click" أو "keydown". يمكن للسلسلة النصية بدءًا من الإصدار jQuery 1.4 أن تحتوي على أنواع أحداث متعدِّدة مفصولةً بمسافة فارغة، أو أسماء أحداث مخصَّصة. handler دالة من الشكل ...

Laravel Horizon

مقدمة يوفّر Horizon لوحة تحكم جميلة و إعدادات برمجيّة لطوابير ‏‎(Queues) Laravel المبنيّة على Redis، فهو يوفّر لك مراقبة سهلة للمقاييس الأساسية لنظام الطوابير مثل إنتاجيّة العمل ووقت التشغيل، وفشل المهام. ستبقى جميع عمليّات الضبط في ملف ضبط واحد وبسيط ممّا يضمن التعاون الكامل بين أعضاء فريقك. التثبيت تنبيه: يتطلّب ‎،Horizon نظرًا لاستخدامه لإشارات العمليّة غير متزامنة، إلى نسخة PHP‏ 7.1‏ فما فوق. ويجب عليك التأكّد من تعيين محرك الطابور إلى Redis في ملف ضبط الطابور. يمكنك استخدام Composer لتثبيت ...

Laravel Horizon

مقدمة يوفّر Horizon لوحة تحكم جميلة و إعدادات برمجيّة لطوابير ‏‎(Queues) Laravel المبنيّة على Redis، فهو يوفّر لك مراقبة سهلة للمقاييس الأساسية لنظام الطوابير مثل إنتاجيّة العمل ووقت التشغيل، وفشل المهام. ستبقى جميع عمليّات الضبط في ملف ضبط واحد وبسيط ممّا يضمن التعاون الكامل بين أعضاء فريقك. التثبيت تنبيه: يتطلّب ‎،Horizon نظرًا لاستخدامه لإشارات العمليّة غير متزامنة، إلى نسخة PHP‏ 7.1‏ فما فوق. ويجب عليك التأكّد من تعيين محرك الطابور إلى Redis في ملف ضبط الطابور. يمكنك استخدام Composer لتثبيت ...

الدالة weakref.finalize()‎ في بايثون

يعيد هذا الصنف كائن إنهاء finalizer قابل للاستدعاء، ويجري استدعاؤه عند استرجاع الكائن المعطى بواسطة مجموعة garbage. البنية العامة class weakref.finalize(obj, func, *args, **kwargs) المعاملات يعدّ كائن الإنهاء "حيًّا" إلى حين استدعائه (إما على نحو صريح أو في مجموعة garbage) وبعد ذلك يصبح "ميّتًا". تؤدي عملية استدعاء كائن إنهاء حيّ إلى إعادة نتيجة تنفيذ func(*arg, **kwarg)‎، في حين تعيد عملية استدعاء كائن إنهاء ميّت القيمة None. من الضروري التأكّد من أن func و args و kwargs لا تمتلك أيّ إشارات ...

مجالات الأسماء والنطاقات في بايثون

مجال الأسماء هو رابط بين الأسماء والكائنات، وتستخدم معظم مجالات الأسماء في الوقت الحاضر كقواميس. ومن الأمثلة على مجالات الأسماء: مجموعة الأسماء الداخلية (وتتضمن الدوال مثل abs()‎، وأسماء الاستثناءات الداخلية)، والأسماء العامة (global) في وحدة معينة، والأسماء المحلية (local) في بنية دالّة ما. إضافة إلى ما سبق، يمكننا أن نعدّ مجموعة خاصيات (attributes) كائن معيّن مجالًا للأسماء أيضًا. والمقصود بالخاصيات هنا كل ما يأتي بعد النقطة، فعلى سبيل المثال في التعبير z.real تعدّ real خاصية للكائن z. كذلك تعدّ الإشارات ...

الصنف datetime.datetime()‎ في بايثون

كائن datetime هو كائن مفرد يتضمّن جميع المعلومات المرتبطة بكائني التاريخ date والوقت time. وكما هو الحال مع هذين الكائنين، فإنّ كائن datetime يفترض وجود التقويم الكريكوري والممتد في كلا الاتجاهين، ويفترض كذلك وجود ‎3600*24 ثانية بالضبط في كل يوم. البنية العامة class datetime.datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0) المعاملات المعاملات الثلاثة الأولى (year, month, day) (السنة والشهر واليوم) تكون مطلوبة عند إنشاء صنف datetime. يمكن للمعامل tzinfo أن يأخذ القيمة None أو نسخة من صنف ...

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

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

Python/types

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

معلومات إضافية عن روبي

هل تساءلت يومًا لماذا روبي مشهورة إلى هذا الحد؟ يقول المعجبون بها أنَّها لغة جميلة وذات بنية متقنة. ويقولون أيضًا أنَّها لغة عملية وسهلة الاستعمال. فماذا تعطي وبماذا تتمتع؟ مثالية منشئ لغة روبي حققت لغة روبي توازنًا دقيقًا بين لغات البرمجة. عمل منشئ هذا اللغة - الياباني Yukihiro “Matz” Matsumoto - على دمج أجزاءٍ من لغات البرمجة المفضلة لديه (Perl، و Smalltalk، و Eiffel، و Ada، و Lisp) لإنشاء لغة جديدة تحقق التوازن بين البرمجة الوظيفية (functional programming) والبرمجة الأمرية ...

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

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

الوحدة 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 اطلع على توثيق ...

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

تقدّم هذه الوحدة وسيلة لاستخدام خوارزمية طابور الكومة heap queue والتي تعرف كذلك بخوارزمية طابور الأولوية priority queue. الكومات Heaps هي مشجّرات ثنائية binary trees تمتلك كل عقدة أبوية parent node فيها قيمة تكون أصغر من أو مساوية لأي قيمة أخرى في العقد البنوية children. تستخدم الوحدة مصفوفات تكون فيها heap[k] <= heap[2*k+1]‎ و heap[k] <= heap[2*k+2]‎ لجميع قيم k، ويبدأ عدّ العناصر من الصفر. ولغرض المقارنة، تُعدّ العناصر غير الموجودة ما لا نهائية. أما أهمّ خصائص الكومة هي أنّ ...

تعريف الأصناف في بايثون

أبسط صيغة لتعريف الأصناف في بايثون هي: class ClassName:     <statement-1>     .     .     .     <statement-N> تعريف الأصناف كما هو الحال مع عبارات تعريف الدوال (عبارات def) يجب تنفيذ عبارات تعريف الأصناف حتى يكون لها الأثر المطلوب. يمكن تعريف الأصناف في بايثون ضمن عبارات if أو حتى داخل الدوال. عادة ما تستخدم الدوال داخل تعريف الصنف، ولكن من الممكن استخدام أنواع أخرى من العبارات، وتمتلك الدوال داخل الأصناف مجموعة من الوسائط الخاصّة بعملية استدعاء التوابع في بايثون. ...

تعريف الأصناف في بايثون

أبسط صيغة لتعريف الأصناف في بايثون هي: class ClassName:     <statement-1>     .     .     .     <statement-N> تعريف الأصناف كما هو الحال مع عبارات تعريف الدوال (عبارات def) يجب تنفيذ عبارات تعريف الأصناف حتى يكون لها الأثر المطلوب. يمكن تعريف الأصناف في بايثون ضمن عبارات if أو حتى داخل الدوال. عادة ما تستخدم الدوال داخل تعريف الصنف، ولكن من الممكن استخدام أنواع أخرى من العبارات، وتمتلك الدوال داخل الأصناف مجموعة من الوسائط الخاصّة بعملية استدعاء التوابع في بايثون. ...

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

مؤشر الاستقرار: 2 - مستقر لاستخدام خادم وعميل HTTP يجب استدعاء require('http')‎. صُمِمت واجهات HTTP في Node.js لدعم العديد من ميزات البروتوكول التي كانت صعبة الاستخدام تقليديًا. على وجه الخصوص، الرسائل الكبيرة، التي قد تكون مرمّزة كقطع ضخمة. وتكون الواجهة حريصة على عدم تخزين الطلبات أو الاستجابات بأكملها مؤقتًا، بحيث يكون المستخدم قادرًا على دفق البيانات (stream data). تُمثَّل ترويسات رسائل HTTP بواسطة كائن مثل التالي: { 'content-length': '123', 'content-type': 'text/plain', 'connection': 'keep-alive', 'host': 'mysite.com', 'accept': ...

Document.cookie

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

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

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

وحدة الخيوط العاملة (Worker Threads) في Node.js

مؤشر الاستقرار: 1 - تجريبي توفر وحدة worker طريقة لإنشاء بيئات متعددة تعمل علي خيوط مستقلة، ولإنشاء قنوات رسائل بينها. ويمكن الوصول إليها باستخدام الراية ‎--experimental-worker flag بالإضافة إلى: const worker = require('worker_threads'); وتفيد الخيوط العاملة (Workers) في أداء عمليات JavaScript كثيفة الاستخدام لوحدة المعالجة المركزية؛ ويجب ألَّا تستخدم في عمليات الإدخال والإخراج I/O، إذ تتعامل آلياتُ Node.js المدمجة لتنفيذ العمليات بشكل غير متزامن معها بشكل أكثر كفاءة من خيوط Worker. علي عكس العمليات التابعة أو عند استخدام وحدة cluster، يمكن ...

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

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

Ruby/Topics

تثبيت روبي توجد طرائق عدَّة لتنزيل وتثبيت روبي على كل منصة وهي: إمَّا استعمال أنظمة مدير الحزم، أو باستعمال المثبِّتات التلقائية، أو باستعمال مدراء روبي. هنالك طريقة أخرى يمكنك بالتأكيد استعمالها لتثبيت روبي وتصريف شيفراتها وهي بنائها من الشيفرة المصدرية مباشرةً. حول روبي يوفر هذا القسم لمحة سريعة عن لغة روبي ونشأتها، وتطورها، ومزاياها التي انفردت بها عن اللغات الأخرى، والتنفيذات المختلفة التي تملكها. البنية العامة بنية اللغة تعد روبي مزيجًا من اللغات البرمجية التالية: Perl، و Smalltalk، و Eiffel، ...

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

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

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

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

التوجيه من الخارج إلى الداخل في ريلز

يغطي هذا الدليل الميزات التي يواجهها المستخدم في عمليات التوجيه في ريلز. بعد قراءة هذا الدليل، ستعرف: كيفية تفسير الشيفرة في config/routes.rb. كيفية بناء المسارات الخاصة بك باستخدام إما أسلوب الحيلة (resourceful style) المفضل أو طريقة المطابقة (match method). كيفية الإعلان عن معاملات المسار الموجه، والتي تمرر إلى إجراءات وحدة التحكم (controller actions). كيفية إنشاء المسارات وعناوين URL تلقائيًا باستخدام مساعدي المسار الموجه. التقنيات المتقدمة مثل إنشاء قيود وتثبيت نقاط نهاية Rack. الغرض من توجيه المسارات في ريلز يتعرف جهاز ...

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

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

صياغة التعبيرات النمطية في PHP

فيما يلي وصف لصياغة ودلالات التعبيرات النمطية التي يدعمها PCRE. وتوصف أيضًا التعبيرات النمطية في توثيق Perl وفي عدد من الكتب الأخرى، وبعضها يحتوي على أمثلة كثيرة. ويغطيها كتاب "Mastering Regular Expressions"، لجيفري فريدل Jeffrey Friedl الذي نشرته دار نشر O'Reilly ‏(ISBN 1-56592-257-3)، بتفصيل كبير. الوصف هنا غرضه التوثيق المرجعي. التعبير النمطي هو نمط يطابق سلسلة موضوع البحث من اليسار إلى اليمين. وتصطف معظم الأحرف لأنفسها بنمطٍ ما، وتطابق الأحرف المقابلة في موضوع البحث. كمثال صغير، يتطابق النمط The quick ...

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