نتائج البحث

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

Rails/Topics

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

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

يجلب عناصر DOM المطابقة والمخزنة في كائن jQuery. ‎.get( index )‎ الوصف يعيد هذا التابع عنصرًا واحدًا من العناصر الموجودة في كائن jQuery. ‎.get( index )‎ index فهرس صفري من النوع Number (عدد صحيح) يشير إلى العنصر المراد إعادته. يوفر التابع ‎.get()‎ إمكانية الوصول إلى كل عناصر DOM الموجودة في كل كائن jQuery. إذا كانت قيمة الفهرس index خارج المجال (أي أصغر من عدد العناصر الموجودة ضمن الكائن – أي قيمة سالبة – أو أكبر أو تساوي عدد هذه العناصر)، ...

الدالة get()‎ في Kotlin

تجلب الدالة get()‎ مجموعةً (group) ذات فهرس محدد. البنية العامة abstract operator fun get(index: Int): MatchGroup? وجود الكلمة المفتاحيّة operator يدل على أنّ هذا التابع مرتبطٌ بمعامل تكرار (iteration operator). المعاملات index عدد صحيح يمثل فهرس المجموعة المراد جلبها. تفهرس المجموعات بدءًا من العدد 1 وحتى عدد المجموعات في التعبير النمطي؛ المجموعة ذات الفهرس 0 تقابل المطابقة الكلية. القيمة المعادة يعاد كائنٌ من النوع MatchGroup إن كانت المجموعة ذات الفهرس index متطابقة، أو تعاد القيمة null خلاف ذلك. انظر أيضًا الدالة MatchGroup()‎: ...

سطر أوامر ريلز

بعد قراءة هذا الدّليل، ستتمكّن من: إنشاء تطبيق ريلز. توليد النماذج، ووحدات التحكّم، وتهجيرات قاعدة البيانات (database migrations)، ووحدات الاختبار. بدء الخادم الإنتاجي. كيفية تجربة الكائنات من خلال صدفة تفاعليّة (interactive shell) يفترض هذا الدليل أن لديك معرفة أساسية بإطار العمل ريلز من قراءة دليل البدء مع ريلز. أساسيات سطر الأوامر هناك بضعة أوامر تُعتبر حاسمة للغاية لاستخدامك اليومي لإطار العمل ريلز. هذا الأوامر مرتّبة حسب كثرة استخدامها تقريبًا بالشكل التالي: rails console rails server bin/rails rails generate rails dbconsole ...

الأمر START TRANSACTION

يُستخدم هذا الأمر للإعلام بالبدء بإجراء مجموعة من العمليات التي قد تنتهي بأمر COMMIT أو ROLLBACK، وله الصيغة التالية: START TRANSACTION; وتختلف هذه الصيغة باستخدام الكلمة المفتاحية BEGIN في محرك SQL Server لتصبح: BEGIN TRANSACTION; أما في محرك SQLite فهي الكلمة المفتاحية BEGIN فقط، أيّ: BEGIN; وفي محرك Oracle يصبح الأمر على النحو الآتي: SET TRANSACTION NAME 'name'; ويكون هذا الأمر مسؤولًا عن البدء بالعمليات وتسميتها بآن واحد بالاسم الذي يُحدد عبر name. مثال إذا كان الجدول الآتي موجودًا في قاعدة البيانات: Bill OrderID ...

ريلز مع Rack

يغطي هذا الدليل دمج ريلز مع Rack والتفاعل مع مكونات Rack الأخرى. بعد قراءة هذا الدليل، ستتعلم: كيفية استخدام برمجيات Rack الوسيطة في تطبيقات ريلز الخاصة بك. حزمة البرمجيات الوسيطة الداخلية لـ Action Pack. كيفية تعريف مكدس برنامج وسيط مخصص (custom Middleware stack). تحذير: يفترض هذا الدليل معرفة عملية ببروتوكول Rack وبمفاهيم Rack مثل البرمجيات الوسيطة (middlewares) وخرائط url و Rack::Builder. مقدمة إلى Rack يوفر Rack واجهة دنيا، ومركبة من وحدات، وقابلة للتهيئة لتطوير تطبيقات الويب في روبي. من خلال ...

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

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

عملية تهيئة ريلز

يشرح هذا الدليل العمل الداخلي لعملية التهيئة في ريلز. وهو دليل متعمق للغاية وموصى به لمطوري ريلز المتقدمّين. ستتعلم بعد قراءة هذا الدليل: كيفيّة استخدام خادم ريلز (rails server). التسلسل الزمني لتهيئة ريلز. أين تُطلَب الملفّات المختلفة أثناء تسلسل التمهيد. كيفيّة تعريف واجهة Rails::Server واستخدامها. يتضمّن هذا الدليل كل استدعاء لتابع مطلوب لتشغيل مكّدس Ruby on Rails (أي stack) لتطبيق ريلز افتراضي، مع شرح كل جزء بالتفصيل. بالنسبة لهذا الدليل، سنركّز على ما يحدث عند تنفيذ rails server لبدء إقلاع ...

الخاصية grid-column-start

الخاصية grid-column-start في CSS تستعمل لضبط مكان بداية عنصر grid ضمن عمود grid بتحديد رقم العمود أو الامتداد أو جعل موضع العنصر تلقائيًا. بطاقة الخاصية القيمة الابتدائية auto تُطبَّق على عناصر grid الموجودة داخل حاويات grid. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت /* كلمة محجوزة */ grid-column-start: auto; /* <custom-ident> */ grid-column-start: somegridarea; /* <integer> + <custom-ident> */ grid-column-start: 2; grid-column-start: somegridarea 4; /* span + <integer> + <custom-ident> */ grid-column-start: span 3; grid-column-start: span somegridarea; grid-column-start: 5 somegridarea span; /* القيم العامة */ grid-column-start: inherit; grid-column-start: initial; grid-column-start: unset; ...

الخاصية grid-row-start

الخاصية grid-row-start في CSS تستعمل لضبط مكان بداية عنصر grid ضمن سطر grid بتحديد السطر أو الامتداد أو جعل موضع العنصر تلقائيًا. بطاقة الخاصية القيمة الابتدائية auto تُطبَّق على عناصر grid الموجودة داخل حاويات grid. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت /* كلمة محجوزة */ grid-row-start: auto; /* <custom-ident> */ grid-row-start: somegridarea; /* <integer> + <custom-ident> */ grid-row-start: 2; grid-row-start: somegridarea 4; /* span + <integer> + <custom-ident> */ grid-row-start: span 3; grid-row-start: span somegridarea; grid-row-start: 5 somegridarea span; /* القيم العامة */ grid-row-start: inherit; grid-row-start: initial; grid-row-start: unset; أمثلة ...

البدء مع ريلز

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

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

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

المكتبة Active Storage في ريلز

يجعل Active Storage عملية رفع الملفات وإنشاء مرجع لها في أي خدمة سحابية - مثل Amazon S3، أو Google Cloud Storage، أو Microsoft Azure Storage - وربطها بنماذج Active Record عمليةً بسيطةً وسهلةً. يدعم أيضًا امتلاك خدمة تخزين أساسية في خدمة سحابية، وخدمة تخزين انعكاسية (mirror) في خدمات سحابية أخرى وذلك من أجل تحقيق التوافر الدائم. أضف إلى ذلك أنه يوفر خدمة التخزين على قرص صلب (disk service) للفحص أو النشر المحلي ولكن التركيز الأساسي ينصب على التخزين السحابي. يمكن ...

أدوات Active Support في ريلز

Active Support هو جزء من نواة ريلز التي توفر ملحقات للغة روبي والأدوات المساعدة وغيرها من الأشياء. أحد الأشياء التي يتضمنها هو واجهة برمجية لأدوات قياس (instrumentation API) يمكن استخدامها داخل تطبيق لقياس إجراءات معينة تحدث داخل شيفرة روبي، مثل تلك الموجودة داخل تطبيق ريلز أو إطار العمل نفسه، إذ لا يقتصر ذلك على ريلز فقط. يمكن استخدامها بشكل مستقل في شيفرات روبي البرمجية الأخرى إذا كان ذلك مطلوبًا. في هذا الدليل، ستتعلم كيفية استخدام الواجهة البرمجية لأدوات القياس (instrumentation API) ...

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

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

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

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

العمل مع JavaScript في ريلز

يغطي هذا الدليل وظيفة Ajax/JavaScript المضمّنة في ريلز (والمزيد)؛ وسوف يمكنك من إنشاء تطبيقات Ajax غنية وديناميكية بكل سهولة! ستتعلم بعد قراءة هذا الدليل: أساسيات Ajax. جافاسكربت الواضحة (Unobtrusive JavaScript). كيف يساعدك مساعدو ريلز المدمجون (built-in helpers). كيفية التعامل مع Ajax من طرف الخادم. الجوهرة Turbolinks. مقدمة لفهم Ajax لفهم أجاكس، يجب أولًا فهم ما يفعله متصفّح الويب بشكل طبيعي. عندما تكتب http://localhost:3000 في شريط عنوان المتصفّح وتضغط على "Go" ، يقدّم المتصفح ("العميل") طلبًا للخادم، ويفرز الاستجابة ثم يجلب ...

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

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

الدالة StringBuilder.append()‎ في Kotlin

تضيف الدالة append()‎ محرفًا أو سلسلة نصية أو أيَّ كائن آخر إلى الكائن StringBuilder. البنية العامة actual fun append(c: Char): StringBuilder actual fun append(csq: CharSequence?): StringBuilder actual fun append( csq: CharSequence?, start: Int, end: Int ): StringBuilder actual fun append(obj: Any?): StringBuilder بيئة التشغيل المطلوبة: JS. حلت الدالة Appendable.append مكان هذه الدالة. المعاملات c محرفٌ يراد إضافته إلى الكائن StringBuilder. csq سلسلة من المحارف التي يراد إضافتها بأكملها أو جزء محدد منها ...

Array.prototype.findIndex()‎

الدالة Array.prototype.findIndex()‎ تُعيد فهرس أوّل عنصر في المصفوفة الذي يُطابِق الشرط الموجود في دالة الاختبار؛ وإلا ستُعاد القيمة -1. var array1 = [5, 12, 8, 130, 44]; function findFirstLargeNumber(element) { return element > 13; } console.log(array1.findIndex(findFirstLargeNumber)); // 3 انظر أيضًا إلى صفحة الدالة find()‎ التي تُعيد قيمة العنصر الذي عُثِر عليه في المصفوفة بدلًا من فهرسه؛ أما إذا أردتَ معرفة موضع عنصر مُحدَّد فانظر إلى الدالة indexOf()‎، وإذا شئت تحديد إن كان العنصر موجودًا ضمن المصفوفة فاستعمل الدالة includes()‎. البنية العامة arr.findIndex(callback[, thisArg]) ...

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

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

استعمال ريلز لإنشاء تطبيقات ذات واجهة برمجية فقط

في هذا الدليل ستتعلم: ما تقدمه ريلز للتطبيقات ذات الواجهة البرمجية فقط. كيفية ضبط ريلز للبدء دون أي ميزات للمتصفح. كيفية تحديد البرامج الوسيطة (middleware) التي تريد تضمينها. كيفية تحديد الوحدات لاستخدامها في وحدة التحكم الخاصة بك. ما الذي يعنيه «تطبيق ذو واجهة برمجية فقط»؟ تقليديًا، عندما قال الناس أنهم استخدموا ريلز كـ "واجهة برمجية"، فقد كان يعني توفير واجهة برمجية يمكن الوصول إليها برمجيًا جنبًا إلى جنب مع تطبيق الويب الخاص بهم. على سبيل المثال، يوفر GitHub واجهة برمجية ...

المكتبة Active Model في ريلز

يوفر Active Model مجموعة معروفة من الواجهات لاستعمالها في أصناف النماذج (model classes). إنها تسمح لمساعدي Action Pack بالتفاعل مع النماذج التي ليست من Active Record مثلًا. يساعد Active Model في بناء روابط ORM مخصصة (تقنية ربط الكائنات بالعلاقات) للاستعمال خارج إطار ريلز. يمكنك قراءة المزيد حول Active Model في دليل أساسيات Active Model. قبل الإصدار 3.0 من ريلز، إن رغبت جوهرة أو رغب مطور بامتلاك كائن يتفاعل مع مساعدي Action Pack، فإنه يتطلب إمَّا نسخ أجزاء من شيفرة ريلز، ...

تهجيرات Active Record في ريلز

التهجيرات (Migrations) هي ميزة من Active Record التي تمكّنك من تحديث مخطط قاعدة البيانات على مر الوقت. بدلًا من كتابة تعديلات قاعدة البيانات باستخدام SQL، تمكّنك التهجيرات من كتابة تعليمات DSL باستخدام روبي لتحديث جداولك. بعد قراءة هذا الدليل، ستتعرَّف على: المولِّدات التي تستطيع استعمالها لإنشاء التهجيرات. التوابع التي يوفرها Active Record لتعديل قاعدة البيانات. المهام bin/rails التي تعدِّل وتتحكم بالتهجيرات والمخطط (schema) الخاص بك. العلاقة بين التهجيرات والملف schema.rb. نظرة عامة على التهجيرات إن التهجيرات هي طريقة مناسبة وسلسة ...

Array.prototype.find()‎

الدالة Array.prototype.find()‎ تُعيد قيمة أوّل عنصر في المصفوفة الذي يُطابِق الشرط الموجود في دالة الاختبار؛ وإلا ستُعاد القيمة undefined. function isBigEnough(element) { return element >= 15; } [12, 5, 8, 130, 44].find(isBigEnough); // 130 انظر أيضًا إلى صفحة الدالة findIndex()‎ التي تُعيد فهرس العنصر الذي عُثِر عليه في المصفوفة بدلًا من قيمته؛ أما إذا أردتَ معرفة موضع عنصر مُحدَّد فانظر إلى الدالة indexOf()‎، وإذا شئت تحديد إن كان العنصر موجودًا ضمن المصفوفة فاستعمل الدالة includes()‎. البنية العامة arr.find(callback[, thisArg]) callback الدالة التي ...

أساسيات إنشاء الإضافات في ريلز

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

المكتبة Action Cable في ريلز

تعمل المكتبة Action Cable على دمج WebSockets مع بقية تطبيق ريلز الخاص بك بسهولة. تسمح بكتابة الميزات ذات الوقت الحقيقي (real-time features) المنشودة في روبي وفي نفس الصياغة والشكل كسائر تطبيق ريلز الخاص بك مع الحفاظ على سرعة الأداء وقابلية التطور. تُعدُّ هذه المكتبة حزمةً كاملةً توفر إطار JavaScript من طرف المستخدم، وإطار روبي من طرف الخادم كلاهما. أنت تملك الوصول إلى كامل نموذج النطاق (full domain model) المكتوب مع Active Record أو مع أي تقنية ORM التي اخترتها. يمكنك ...

المكتبة Active Job في ريلز

إن Active Job هو إطار عمل مخصص للتصريح عن الوظائف وتنفيذها على مختلف أنواع الطوابير الخلفية (queuing backend). يمكن أن تكون هذه الوظائف أي شيء بدءًا من عمليات التنظيف المجدولة بشكل منتظم وحتى قيم الفواتير وإرسال رسائل البريد. بعبارة أخرى، يمكن أن تكون هذه الوظائف أي شيء يمكن تجزئته إلى وحدات صغيرة وتنفيذها سويةً على التوازي. يمكن استعمال هذا الإطار أيضًا كواجهة خلفية لوظيفة تسليم البريد الإلكتروني عبر التابع deliver_later الذي يخص Action Mailer مما يسهِّل عدُّ أي عملية إرسال ...

المكتبة Action Mailer في ريلز

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

المكتبة Active Record في ريلز

إنَّ Active Record هو مكتبة تربط أصنافًا بجداول قاعدة بيانات علائقية لتأسيس طبقة ثابتة لا تحتاج إلى ضبط للتطبيقات. توفر المكتبة صنفًا أساسيًّا يضبط - عند تفريع أصناف منه - العلاقة الرابطة بين الصنف الجديد وجدول موجود مسبقًا في قاعدة البيانات. في سياق أي تطبيق، يشار إلى هذه الأصناف عادةً على أنها «نماذج» (models). يمكن ربط النماذج Models أيضًا بنماذج أخرى عبر تعريف ارتباطات. يعتمد Active Record كل الاعتماد على التسمية، إذ يستعمل أسماء الصنف والارتباط لتأسيس علاقة رابطة (mapping) ...

المكتبة Action Pack في ريلز

إن Action Pack هو إطار عمل لمعالجة والرد على طلبيات الويب. يوفر هذا الإطار آليةً للتوجيه (تعيين طلبيات العناوين URL إلى الإجراءات)، ويعرِّف المتحكمات التي تُنفِّذ الإجراءات، ويولد الردود غبر تصيير واجهات العرض (التي هي قوالب مصممة مسبقًا). باختصار، يوفر Action Pack طبقتي العرض والتحكم في النمط MVC (أي الحرفين V من أجل View و C من أجل Controller). يتألف هذا الإطار عدة وحدات: Action Dispatch: يحلل معلومات الطلبية، ويتعامل مع التوجيه بالشكل المُعرَّف من طرف المستخدم، ويجري معالجة متقدمة ...

المكتبة Active Support في ريلز

يعدُّ Active Support مجموعة من أصناف الأدوات (utility classes) وملحقات المكتبة القياسية التي وجد أنها مفيدة للاستعمال مع ريلز. توجد هذه الإضافات في هذه الحزمة، لذا يمكن تحميلها عند الحاجة في مشاريع روبي أي خارج إطار ريلز. يمكنك قراءة المزيد حول الملحقات في دليل ملحقات Active Support الأساسية. التنزيل والتثبيت يمكنك تثبيت أحدث إصدار من Active Support مع RubyGems: $ gem install activesupport ويمكنك أيضًا تنزيل الشيفرة المصدرية كجزء من مشروع ريلز في GitHub. مصادر صفحة Active Suppot من مشروع ريلز ...

المكتبة Action Mailbox في ريلز

المكتبة Action Mailbox توجه رسائل البريد الواردة إلى صندوق بريد شبيه بمتحكم لمعالجتها في ريلز. تأتي هذه المكتبة مع mazon SES، و Mailgun، و Mandrill، و Postmark، و SendGrid. يمكنك أيضًا التعامل مع الرسائل الواردة عبر Exim، و Postfix، و Qmail المضمَّنة. تحول الرسائل الواردة إلى السجلات InboundEmail باستعمال Active Record وميزة تتبع دورة الحياة، ويُخزَّن البريد الأصلي في مخزن سحابي عبر Active Storage، وتعالج البيانات المطلوبة على أنها نفايات يراد التخلص منها (incineration). تُوجَّه رسائل البريد الواردة بشكل غير ...

المكتبة Action View في ريلز

إن Action View هو إطار عمل وظيفته هي البحث عن قوالب العروض وتصييرها، وتوفير مساعدي العروض التي تساعد على بناء نماذج HTML (أي HTML forms)، وتغذية Atom وغيرها من الوظائف. تنسيق القوالب الذي يستطيع Action View التعامل معه هو ERB (يستخدم هذا التنسيق عادةً لتضمين شيفرات روبي داخل شيفرة HTML)، و XML Builder. يمكنك قراءة المزيد حول Action View في دليل نظرة عامة على وحدة العرض. التنزيل والتثبيت يمكن تثبيت أحدث إصدار من Action View مع RubyGems: $ gem install ...

المكتبة Action Text في ريلز

يوفر Action Text محتوًى نصيًّا غنيًّا والتعديل في ريلز. يحوي على المحرر Trix الذي يعالج كل شيء بدءًا من التنسيق وحتى روابط الاقتباسات والقوائم والصور المضمَّنة ومعارض الصور. يُحفَظ المحتوى النصي المُولَّد عبر المحرر Trix في الوحدة RichText الخاصة به والمرتبطة مع أي وحدة Active Record موجودة في التطبيق. تُخزَّن أية صور (أو مرفقات أخرى) تلقائيًّا باستعمال Active Storage وتُربَط مع الوحدة RichText المضمنة. يمكنك قراءة المزيد حول Action Text في دليل أساسيات Action Text. مصادر صفحة Action Text من ...

String.prototype.codePointAt()‎

الدالة String.prototype.codePointAt()‎ تُعيد عددًا صحيحًا موجبًا الذي يُمثِّل رمز يونيكود للمحرف الموجود في الموضع المعيّن. البنية العامة str.codePointAt(index) index موضع العنصر من السلسلة النصية التي نريد معرفة رمز يونيكود الخاص بها. القيمة المعادة قيمة عددية تُمثِّل رمز المحرف الموجود عند الفهرس المُحدَّد، وإذا كانت قيمة الوسيط index غير محددة فستُعاد القيمة undefined. أمثلة استخدام الدالة codePointAt()‎ 'ABC'.codePointAt(1); // 66 '\uD800\uDC00'.codePointAt(0); // 65536 'XYZ'.codePointAt(42); // undefined تعويض نقص دعم المتصفحات الشيفرة الآتية تُضيف على ...

نظرة سريعة على التخزين المؤقت في ريلز

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

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

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

أساسيات Active Job في ريلز

يوفّر لك هذا الدليل كل ما تحتاج إليه للبدء في إنشاء وظائف خلفية (background jobs) وإدراجها بطوابير الانتظار وتنفيذها. بعد قراءة هذا الدليل، ستتعلم: كيفيّة إنشاء وظائف. كيفيّة إدراج الوظائف بالطوابير. كيفيّة تشغيل الوظائف في الخلفية. كيفيّة إرسال رسائل البريد الإلكتروني من التطبيق الخاص بك بشكل غير متزامن. مقدّمة Active Job هي إطار عمل للتصريح عن الوظائف وجعلها تعمل على مجموعة متنوعة من نظم الطوابير الخلفية (queuing backends). يمكن أن تكون هذه الوظائف أي شيء بدءًا من التنظيف المنتظم إلى ...

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

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

تثبيت روبي على مختلف المنصات

توجد عدة طرق لتنزيل وتثبيت روبي على كل منصة وهي: في لينكس (والأنظمة الشبيه بيونكس)، تستطيع استعمال نظام مدير الحزم لتوزيعتك (الطريقة الأسهل) أو أية أداة من طرف ثالث (مثل rbenv و RVM). على أي حال، إصدار روبي المثبت عن طريق نظام مدير الحزم قد لا يكون هو الإصدار الأحدث، لذا انتبه لهذا الأمر. في macOS، يمكنك استعمال مدير الحزم أو أداة من طرف ثالث (مثل rbenv و RVM). في ويندوز، تستطيع استخدام RubyInstaller. يمكنك باستعمال المثبِّت هذا تثبيت إصدار ...

الدالة repeat()‎

الدالة repeat()‎ في CSS تُكرِّر جزءًا من قائمة المسارات (track list)، مما يسمح بتعريف عدد كبير من الأعمدة والأسطر التي لها نمط تكرار معيّن بسهولة. يمكن أن تُستعمَل هذا الدالة مع الخاصية grid-template-columns و grid-template-rows. بطاقة الدالة /* <track-repeat> */ repeat(4, 1fr) repeat(4, [col-start] 250px [col-end]) repeat(4, [col-start] 60% [col-end]) repeat(4, [col-start] 1fr [col-end]) repeat(4, [col-start] min-content [col-end]) repeat(4, [col-start] max-content [col-end]) repeat(4, [col-start] auto [col-end]) repeat(4, [col-start] minmax(100px, 1fr) [col-end]) repeat(4, [col-start] fit-content(200px) [col-end]) repeat(4, 10px [col-start] 30% [col-middle] auto [col-end]) repeat(4, [col-start] min-content [col-middle] max-content [col-end]) /* <auto-repeat> */ repeat(auto-fill, 250px) repeat(auto-fit, ...

String.prototype.substr()‎

الدالة String.prototype.substr()‎ تُعيد عددًا معيّنًا من المحارف بدءًا من الموضع المُحدَّد. البنية العامة str.substr(start[, length]) start فهرس مكان بدء الاستخراج (يبدأ العد من الصفر)، وإذا كان سالبًا فسيعامل على أنَّه strLength + start، إذ إنَّ strLength هو طول السلسلة النصية (على سبيل المثال، إذا كان start يساوي -3 فسيعامل على أنه strLength - 3). length عدد المحارف التي نريد استخراجها؛ إذا كانت قيمة هذه الوسيط هي undefined فستُستخرج جميع المحارف بدءًا من الفهرس start. القيمة المعادة سلسلة نصية جديدة تحتوي ...

الخاصية grid-area

الخاصية grid-area في CSS هي خاصية مختصرة تضبط قيمة الخاصيات grid-row-start و grid-column-start و grid-row-end و grid-column-end، مُحدَّدةً أبعاد عنصر grid وموضعه. بطاقة الخاصية القيمة الابتدائية لكل خاصية مختصرة: grid-row-start: auto grid-column-start: auto grid-row-end: auto grid-column-end: auto تُطبَّق على عناصر grid الموجودة داخل حاويات grid. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة لكل خاصية مختصرة: grid-row-start: كما حُدِّدَت. grid-column-start: كما حُدِّدَت. grid-row-end: كما حُدِّدَت. grid-column-end: كما حُدِّدَت. /* الكلمات المحجوزة */ grid-area: auto; grid-area: auto / auto; grid-area: auto / auto / auto; grid-area: auto / auto / auto / auto; /* ...

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

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

مقدمة إلى التعامل مع الاختبارات في Laravel

مقدمة بُني Laravel آخذًا الاختبارات بالحسبان؛ إذ يدعم Laravel الاختبارات باستخدام PHPUnit، ويهيّئ ملف phpunit.xml جاهز للعمل بما يناسب تطبيقك. كما دُعم إطار العمل بتوابع مساعدة لتمهيد الطريق أمام اختبار تطبيقاتك بشكل سلس وسهل. يحتوي المجلد tests الخاص بتطبيقك افتراضيًّا على مجلّدين فرعيين: Feature و Unit. تمكنك اختبارات الوحدة Unit tests من التركيز على جزء صغير ومعزول من الشيفرة الخاصة بك، إذ أنّ معظم اختبارات الوحدة تركّز فقط على تابع واحد؛ بينما تستخدم اختبارات الميزات Feature tests لاختبار جزء كبير ...

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

(PHP 4, PHP 5, PHP 7) تعيد الدالة strcspn()‎ طول الجزء الأولي للمعامل subject الذي لا يماثل المعامل mask. الوصف int strcspn ( string $subject , string $mask [, int $start [, int $length]]) تعيد الدالة strcspn()‎ طول الجزء الأولي من الكلمة المدخلة لها في المعامل subject بشرط ألا تحتوي أي حرف من حروف المعامل mask. إذا استدعيت الدالة بدون المعاملين start و length فستفحص السلسلة النصية subject بالكامل. أما في حالة وجودهما فسيكون عمل الدالة كعمل الدالة substr()‎ فسيتم الفحص ...

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

(PHP 4, PHP 5, PHP 7) تبحث الدالة strspn()‎ عن الجزء الذي تبدأ به السلسلة النصيَّة الممرَّرة والذي تكون جميع محارفه محدَّدة ومعرَّفة مسبقًا ثمَّ تعيد بعدئذٍ طول ذلك الجزء. الوصف int strspn ( string $subject , string $mask [, int $start [, int$length ]] ) تبحث هذه الدالة عن القسم الذي تبدأ به السلسلة النصيَّة subject والذي تتكون جميع محارفه من المحارف mask المعطاة. إن لم يعطَ موقع بداية البحث start والطول الذي ستبحث الدالة فيه length، فستبحث الدالة في ...

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

(PHP 4, PHP 5, PHP 7) تبحث الدالة strspn()‎ عن الجزء الذي تبدأ به السلسلة النصيَّة الممرَّرة والذي تكون جميع محارفه محدَّدة ومعرَّفة مسبقًا ثمَّ تعيد بعدئذٍ طول ذلك الجزء. الوصف int strspn ( string $subject , string $mask [, int $start [, int$length ]] ) تبحث هذه الدالة عن القسم الذي تبدأ به السلسلة النصيَّة subject والذي تتكون جميع محارفه من المحارف mask المعطاة. إن لم يعطَ موقع بداية البحث start والطول الذي ستبحث الدالة فيه length، فستبحث الدالة في ...

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

(PHP 4, PHP 5, PHP 7) تعيد الدالة substr()‎ جزءًا من السلسلة النصيَّة الممرَّرة إليها. الوصف string substr ( string $string , int $start [, int $length ] ) تعيد هذه الدالة جزءًا من السلسلة النصيَّة string المحدَّد بموقع البداية start وعدد المحارف length المطلوبة. المعاملات string السلسلة النصيَّة المراد الحصول على جزء منها. يجب أن تتكون من محرف واحد على الأقل. start قيمة إزاحة موقع مؤشر البداية الذي يحدِّد بداية السلسلة النصيَّة التي ستُعاد بدءًا من بداية السلسلة النصيَّة string. ...

Array.prototype.copyWithin()‎

الدالة Array.prototype.copyWithin()‎ تنسخ جزءًا من المصفوفة إلى مكانٍ آخر فيها نسخًا سطحيًا، وتُعيد هذا الجزء دون تعديل طول المصفوفة. ['alpha', 'bravo', 'charlie', 'delta'].copyWithin(2, 0); // ["alpha", "bravo", "alpha", "bravo"] البنية العامة arr.copyWithin(target[, start[, end]]) target الفهرس (العد يبدأ من الصفر) الذي ستوضع العناصر المنسوخة فيه، وإذا كانت هذه القيمة سالبةً فسيبدأ العد من النهاية. إذا كانت قيمة هذا الوسيط تساوي أو أكبر من arr.length، فلن يُنسَخ أيّ عنصر، وإذا كانت هذه القيمة أكبر من start، فسيُقتَطَع الجزء المنسوخ ليتسع في arr.length. ...

الخاصية text-align

الخاصية text-align في CSS تصف كيف تكون محاذاة العناصر السطرية مثل النصوص في الحاويات الكتلية؛ لاحظ أنَّ الخاصية text-align لا تتحكم بمحاذاة العناصر الكتلية، وإنما تتحكم بمحاذاة بالمحتوى السطري الموجود داخلها. بطاقة الخاصية القيمة الابتدائية start، أو قيمة غير محددة ستمثِّل القيمة left إذا كان اتجاه العنصر ltr، و right إذا كان اتجاه النص rtl وذلك في حال كانت القيمة start غير مدعومة في المتصفح. تُطبَّق على الحاويات الكتلية. قابلة للوراثة نعم قابلة للتحريك لا القيمة المحسوبة كما حُدِّدت، باستثناء ...

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

تعيد الدّالة enumerate()‎ كائنًا قابلًا للتّكرار من النّوع enumerate. وتُستخدم لترقيم الكائنات القابلة للتّكرار. البنية العامة enumerate(iterable, start=0) المعاملات iterable كائن يدعم التّكرار (iteration)، مثل القوائم، والصّفوف والمولّدات والمكرّرات وغيرها. start العدد الذي سيبدأ منه التّرقيم، القيمة الافتراضيّة هي 0. القيمة المعادة كائن قابل للتّكرار من النّوع enumerate. يكون عبارة عن أزواج، الجزء الأول يكون رقم العنصر، والجزء الثّاني يكون العنصر نفسه. أمثلة المثال التّالي يوضّح كيفيّة عمل هذه الدّالة: >>> seasons = ['Spring', 'Summer', 'Fall', 'Winter'] # قائمة بايثون ...

الدالة itertools.islice()‎ في بايثون

تعيد الدّالة itertools.islice()‎ مُكرّرًا يُعيد عناصر مُنتقاة من الكائن القابل للتّكرار المُعطى. تُنتقى العناصر بتقطيع الكائن القابل للتّكرار حسب المُعاملات المُعطاة للدّالة. البنية العامة itertools.islice(iterable, stop) itertools.islice(iterable, start, stop[, step]) المعاملات iterable الكائن القابل للتّكرار المرغوب تقطيع عناصره. start مُعامل اختياريّ يُمثّل نقطة البداية، إن كانت قيمتها لا تُساوي الصّفر، فستُتجاهل عناصر الكائن iterable إلى حين الوصول إلى العنصر الذي يُوافق فهرسه (index) قيمة start. stop مُعامل يُحدّد نقطة التّوقف، إن كانت قيمتُه القيمةَ None فسيستمرّ التّكرار إلى حين انتهاء قيم ...

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

يضبط التابع fill قيم عناصر محدَّدة أو جميع عناصر مصفوفة إلى القيمة الممرَّرة إليه (الأشكال الثلاث الأولى للتابع في قسم «البنية العامة»)، أو القيم التي تعيدها الكتلة البرمجية الممرَّرة إليه (الأشكال الثلاث المتبقية). البنية العامة fill(obj) → ary fill(obj, start [, length]) → ary fill(obj, range ) → ary fill { |index| block } → ary fill(start [, length] ) { |index| block } → ary fill(range) { |index| block } → ary المعاملات obj الكائن المراد أن يحل مكان عناصر محددة (باستعمال المعاملات ...

التابع Thread.start‎ في روبي

يشبه التابع start التابع new بشكل أساسي إلا أنه عند اشتقاق صنف فرعي (subclassed) من Thread، فإنَّ استدعاء start في ذلك الصنف الفرعي لن يستدعي تابع الصنف الفرعي initialize. البنية العامة start([args]*) {|args| block }→ thread‎ المعاملات args‎ وسائط تُمرر إلى الكتلة. القيمة المعادة يعاد كائن من النوع Thread. انظر أيضًا التابع stop: يوقف تنفيذ المهمة الفرعية الحالية. مصادر قسم التابع start‎ في الصنف Thread‎ في توثيق روبي الرسمي.

الخاصية grid-column

الخاصية grid-column في CSS هي خاصية مختصرة تضبط قيمة الخاصيتين grid-column-start و grid-column-end التي تُحدِّد أبعاد عنصر grid ومكانه في العمود. بطاقة الخاصية القيمة الابتدائية لكل خاصية مختصرة: grid-column-start: auto grid-column-end: auto تُطبَّق على عناصر grid الموجودة داخل حاويات grid. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة لكل خاصية مختصرة: grid-column-start: كما حُدِّدَت. grid-column-end: كما حُدِّدَت. /* كلمات محجوزة */ grid-column: auto; grid-column: auto / auto; /* <custom-ident> */ grid-column: somegridarea; grid-column: somegridarea / someothergridarea; /* <integer> + <custom-ident> */ grid-column: somegridarea 4; grid-column: 4 somegridarea / 6; /* span + <integer> ...

الخاصية grid-row

الخاصية grid-row في CSS هي خاصية مختصرة تضبط قيمة الخاصيتين grid-row-start و grid-row-end التي تُحدِّد أبعاد عنصر grid ومكانه في السطر. بطاقة الخاصية القيمة الابتدائية لكل خاصية مختصرة: grid-row-start: auto grid-row-end: auto تُطبَّق على عناصر grid الموجودة داخل حاويات grid. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة لكل خاصية مختصرة: grid-row-start: كما حُدِّدَت. grid-row-end: كما حُدِّدَت. /* كلمات محجوزة */ grid-row: auto; grid-row: auto / auto; /* <custom-ident> */ grid-row: somegridarea; grid-row: somegridarea / someothergridarea; /* <integer> + <custom-ident> */ grid-row: somegridarea 4; grid-row: 4 somegridarea / 6; /* span + <integer> ...

الخاصية align-items

الخاصية align-items في CSS تُعرِّف طريقة توزيع المتصفح للمسافة بين العناصر وحولها على امتداد المحور الثانوي من حاوية flex. فهي تعمل كالخاصية justify-content لكن في الاتجاه المعامد. بطاقة الخاصية القيمة الابتدائية stretch تُطبَّق على حاويات flex. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. /* الكلمات المحجوزة الأساسية */ align-items: normal; align-items: stretch; /* المحاذاة المكانية */ align-items: center; align-items: start; align-items: end; align-items: flex-start; align-items: flex-end; align-items: self-start; align-items: self-end; align-items: left; align-items: right; /* محاذاة خط الأساس */ align-items: baseline; align-items: first baseline; align-items: ...

الخاصية justify-content

الخاصية justify-content في CSS تُعرِّف طريقة توزيع المتصفح للمسافة بين العناصر وحولها على امتداد المحور الرئيسي من حاوية flex. بطاقة الخاصية القيمة الابتدائية flex-start تُطبَّق على حاويات flex. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. /* المحاذاة المكانية */ justify-content: center; justify-content: start; justify-content: end; justify-content: flex-start; justify-content: flex-end; justify-content: left; justify-content: right; /* محاذاة خط الأساس */ justify-content: baseline; justify-content: first baseline; justify-content: last baseline; /* توزيع المسافات */ justify-content: space-between; justify-content: space-around; justify-content: space-evenly; justify-content: stretch; /* التحكم بالفائض من المحتوى */ justify-content: safe center; justify-content: unsafe center; /* القيم العامة */ justify-content: inherit; justify-content: initial; justify-content: ...

String.prototype.includes()‎

الدالة String.prototype.includes()‎ تُحدِّد إن كانت تحتوي سلسلةٌ نصيةٌ على سلسلةٍ نصيةٍ أخرى، وتُعيد القيمة true أو false. البنية العامة str.includes(searchString[, position]) searchString السلسلة النصية التي سيُبحَث عنها ضمن السلسلة النصية الأصلية. position قيمة اختيارية، وهي الموضع ضمن السلسلة النصية التي نريد البدء منه في البحث عن السلسلة النصية searchString، القيمة الافتراضية هي 0. القيمة المعادة القيمة true إذا عُثِرَ على السلسلة النصية searchString في أيّ مكان ضمن السلسلة النصية الأصلية، وإلا فستُعاد القيمة false. الوصف هذه الدالة تسمح لنا بمعرفة ...

Array.prototype.fill()‎

الدالة Array.prototype.fill()‎ تملأ جميع عناصر المصفوفة من فهرس البداية حتى فهرس النهاية بقيمة ثابتة. var numbers = [1, 2, 3] numbers.fill(1); // [1, 1, 1] البنية العامة arr.fill(value[, start[, end]]) value القيمة التي نريد ملء المصفوفة بها. start فهرس البداية، وقيمته الافتراضية هي 0. end فهرس النهاية، وقيمته الافتراضية هي this.length. القيمة المعادة المصفوفة المُعدَّلة. الوصف الدالة fill تستطيع أن تقبل ثلاثة وسائط هي value و start و end، الوسيطان start و end هما وسيطان اختياريان يأخذان القيم الافتراضية 0 و length ...

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

(PHP 4, PHP 5, PHP 7) تبدِّل الدالة substr_replace()‎ جزءًا معطى مكان جزءٍ موجودٍ ومحدَّدٍ ضمن سلسلة نصيَّة. الوصف mixed substr_replace ( mixed $string , mixed $replacement , mixed$start [, mixed $length ] ) تعيد هذه الدالة السلسلة النصيَّة string بعد أن تبدِّل السلسلة النصيَّة replacement المعطاة مكان الجزء المحدَّد بموقع البداية start وطول المحارف المراد استبدالها length (وهو معامل اختياري). المعاملات string السلسلة النصيَّة التي سيُبحث فيها. يمكن أن يكون هذا العامل مصفوفة وستُطبَّق آنذاك عمليَّة الاستبدال على كلِّ عنصر ...

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

يعيد التابع caller_locations مكدس التنفيذ (execution stack) الحالي كمصفوفة تحتوي كائنات تعقب عكسي (backtrace location objects). انظر صفحة Thread::Backtrace::Location لمزيد من المعلومات. البنية العامة caller_locations(start=1, length=nil) → array or nil caller_locations(range)→ array or nil‎ يحدد الوسيط الاختياري start عدد مدخلات المكدس الأولية التي ستُحذف من أعلى المكدس. ويمكن استخدام الوسيط length اختياري ثاني لتحديد عدد المدخلات التي ستُعاد من المكدس. يعيد التابع القيمة nil إن كان الوسيط start أكبر من حجم مكدس التنفيذ الحالي. اختياريًا، يمكنك تمرير مجال range، والذي سيؤدي إلى ...

الخاصية align-self

الخاصية align-self في CSS تضبط محاذاة عناصر flex في السطر الحالي متجاوزةً قيمة الخاصية align-items، وإذا كانت حاشية margin أحد العناصر في المحور المعامد مضبوطةً إلى auto فسيتم تجاهل الخاصية align-self. بطاقة الخاصية القيمة الابتدائية auto تُطبَّق على عناصر flex. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. لا يمكن تطبيق هذه الخاصية على العناصر الكتلية (block-level boxes) أو خلايا الجداول. /* الكلمات المحجوزة */ align-self: auto; align-self: normal; /* المحاذاة المكانية */ align-self: center; align-self: start; align-self: end; align-self: self-start; align-self: self-end; align-self: ...

استخدام البُنية case

حالات مُبسطة قد يكون من السهل اللجوء إلى استخدام عبارات if لبداهة أسلوبها، لكن تلك السهولة تنقلب إلى حيرة حين تواجه بضعة اختيارات مختلفة لإجراءات محتملة يجب اتخاذها، ولمثل تلك الحالات نستخدم عبارة case، وبنيتها اللغوية هي كما يلي: case EXPRESSION in CASE1) COMMAND-LIST;; CASE2) COMMAND-LIST;; ... CASEN) COMMAND-LIST;; esac وتطابق كل حالة في التعبير السابق نمطًا (pattern)، وتُنفَّذ الأوامر التي في قائمة COMMAND-LIST لأول تطابق، ويُستخدم محرف الأنبوب | لفصل الأنماط المتعددة، وينهي معامِل ( قائمة الأنماط، ويُطلق اسم البند ...

CSS/Topics/Grid

الخاصية الوصف grid الخاصية grid المختصرة في CSS تضبط جميع الخاصيات التي تُحدَّد خصائص الشبكة بوضوح (أي grid-template-rows و grid-template-columns وgrid-template-areas)، وجميع الخاصيات التي تُحدِّد خصائص الشبكة ضمنيًا (أي grid-auto-rows و grid-auto-columns و grid-auto-flow)، والخاصيات التي تُضبِط الفراغ بين الأعمدة والأسطر (أي grid-column-gap وgrid-row-gap)، وكل ذلك في قاعدة واحدة. grid-area الخاصية grid-area في CSS هي خاصية مختصرة تضبط قيمة الخاصيات grid-row-start و grid-column-start و grid-row-end و grid-column-end، مُحدَّدةً أبعاد عنصر grid وموضعه. grid-auto-columns تضبط أبعاد مسارات الأعمدة المُنشأة ضمنيًا. grid-auto-flow تضبط كيف ستعمل خوارزمية تحديد مواضع عناصر grid التلقائية. grid-auto-rows تضبط أبعاد مسارات الأسطر المُنشأة ضمنيًا. grid-column الخاصية grid-column في CSS هي خاصية مختصرة ...

الخاصية align-content

الخاصية align-content في CSS تُعرِّف طريقة توزيع المتصفح للمسافة بين العناصر وحولها على امتداد المحور الثانوي من حاوية flex. بطاقة الخاصية القيمة الابتدائية stretch تُطبَّق على حاويات flex التي تُعرَض فيها العناصر على أكثر من سطر. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. /* المحاذاة المكانية */ align-content: center; align-content: start; align-content: end; align-content: flex-start; align-content: flex-end; align-content: left; align-content: right; /* محاذاة خط الأساس */ align-content: baseline; align-content: first baseline; align-content: last baseline; /* توزيع المسافات */ align-content: space-between; align-content: space-around; align-content: space-evenly; align-content: stretch; /* التحكم بالفائض من المحتوى */ align-content: safe ...

الخاصية text-align-last

الخاصية text-align-last في CSS تصف كيف تكون محاذاة آخر سطر نصي. بطاقة الخاصية القيمة الابتدائية auto تُطبَّق على الحاويات الكتلية. قابلة للوراثة نعم قابلة للتحريك لا القيمة المحسوبة كما حُدِّدت. /* كلمات محجوزة */ text-align-last: auto; text-align-last: start; text-align-last: end; text-align-last: left; text-align-last: right; text-align-last: center; text-align-last: justify; /* القيم العامة */ text-align-last: inherit; text-align-last: initial; text-align-last: unset; أمثلة مثال عن استخدام جميع الكلمات المحجوزة المدعومة في خاصية text-align-last، وسنكرر كل مثال مرتين، مرةً على فقرةٍ باللغة الإنكليزية (اتجاه النص من اليسار إلى اليمين)، ومرةً على فقرةٍ باللغة العربية (اتجاه النص ...

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

‎.slice( start [, end ] )‎ القيم المعادة يعيد كائنًا من النوع jQuery. الوصف يقلِّص هذا التابع مجموعة العناصر المطابقة إلى مجموعة فرعيَّة موجودة في مجال محدَّد. ‎.slice( start [, end ] )‎ أُضيف مع الإصدار: 1.1.4. start عدد صحيح يمثل مؤشرًا صفريًا (‎0-based index) يشير إلى موقع العنصر الذي يبدأ عنده مجال المجموعة الفرعيَّة. إن كانت قيمته سالبة، فسيشير إلى موقع العنصر الذي يمثِّل بداية المجال ولكن بدءًا من نهاية المجموعة. end عددٌ صحيحٌ يمثِّل فهرسًا صفريًا (‎0-based index) ...

التابع GC.start في روبي

يبدأ التابع start تجميع البيانات المهملة، ما لم تُعطَّل يدويًا. عُرِّف هذا التابع مع وسائط مسماة قِيَمَها الافتراضية هي true: def GC.start(full_mark: true, immediate_sweep: true); end ملاحظة: تعتمد الوسائط المسماة هذه على التنفيذ والإصدار المستعمل. ولا يُضمن أن تظل متوافقة في المستقبل، ويمكن تجاهلها إذا كان التنفيذ الأساسي لا يدعمها. البنية العامة start → nil start(full_mark: true, immediate_sweep: true) → nil المعاملات full_mark استعمل القيمة false مع هذا المعامل لتنفيذ عملية GC ثانوية. القيمة الافتراضية هي: true. immediate_sweep استعمل القيمة false مع هذا ...

الدالة itertools.count()‎ في بايثون

تعيد الدّالة itertools.count()‎ مُكرّرًا يُعيد قيمًا مُتساويّة الفرق بدءًا من قيمةٍ بدئيّة. عادة ما يُستخدم مع الدّالة map()‎ لتوليد نقاط بيانات تسلسليّة. وتُستخدم كذلك مع الدّالة zip()‎ لترقيم تسلسل معيّن. البنية العامة itertools.count(start=0, step=1) المعاملات start نقطة بداية العدّ. step الفرق بين كلّ قيمة والتي تليها. القيمة المعادة مُكرّرٌ يُعيد قيمًا مُتساويّة الفرق حسب قيم المُعاملات المُمرّرة. أمثلة المثال التّالي يوضّح كيفيّة عمل هذه الدّالة، لاحظ استعمال الدّالة next‎()‎ للوصول إلى القيمة المواليّة في المُكرّر، وهذا لأنّ المُكرّر النّاتج لا ...

معامل الفهرسة [] الخاص بالصنف Array في روبي

يجلب المعامل [] عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من مصفوفة. إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع العنصر بدءًا من نهاية المصفوفة، إذ تمثل القيمة ‎-1 فهرس العنصر الأخير. بالنسبة للوسيطين start و range، يكون فهرس البداية قبل العنصر. إضافةً إلى ذلك، ستُعاد مصفوفة فارغة في حال كان فهرس بداية المجال المحدد يقع عند نهاية المصفوفة. البنية العامة ary[index] → obj or nil ary[start, length] → new_ary or nil ary[range] → new_ary ...

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

يعيد التابع موقع العنصر المعطى في كائن deque. البنية العامة d.‎index(x[, start[, stop]]) المعاملات x العنصر المراد إيجاد موقعه في كائن deque. === start و stop يمكن البحث عن موقع العنصر x بدءًا من الموقع start وانتهاءً بالموقع stop. القيمة المعادة يعيد التابع موقع العنصر المعطى في كائن deque. ويطلق التابع الخطأ ValueError في حال عدم العثور على العنصر المطلوب. أمثلة يبين المثال التالي آلية عمل التابع. >>> from collections import deque >>> d = deque('abcdefgh') >>> d deque(['a', 'b', 'c', 'd', 'e', ...

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

يعيد التابع موقع العنصر المعطى في كائن deque. البنية العامة d.‎index(x[, start[, stop]]) المعاملات x العنصر المراد إيجاد موقعه في كائن deque. === start و stop يمكن البحث عن موقع العنصر x بدءًا من الموقع start وانتهاءً بالموقع stop. القيمة المعادة يعيد التابع موقع العنصر المعطى في كائن deque. ويطلق التابع الخطأ ValueError في حال عدم العثور على العنصر المطلوب. أمثلة يبين المثال التالي آلية عمل التابع. >>> from collections import deque >>> d = deque('abcdefgh') >>> d deque(['a', 'b', 'c', 'd', 'e', ...

تعابير التحكم في روبي

لدى لغة روبي العديد من الطرق للتحكم في مسار تنفيذ البرنامج، وكل البنى المذكورة هنا تعيد قيمةً. في الاختبارات الشرطيّة في بنى التحكّم، تعدّ القيمة nil و false على أنّها قيم خطأ، بينما تُعدُّ القيمة true وأيّ كائن آخر على أنه قيم صحيحة. وفي هذا التوثيق، سنستخدم true للتعبير عن القيم الصحيحة و false للتعبير عن القيم الخطأ. بنية If الشرطية أبسط أشكال بنية if الشرطيّة يحتوي على جزأين، الاختبار الشّرطي، والجزء التّنفيذي then. هذه بنية if بسيطة: if true ...

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

يعيد التابع caller مكدس التنفيذ الحالي (execution stack)، والذي هو مصفوفة تحتوي على سلاسل نصية بالشكل file:line أو `file:line: in `method. البنية العامة caller(start=1, length=nil) → array or nil caller(range) → array or nil‎ يحدد الوسيط الاختياري start عدد مدخالات المكدس الأولية (initial stack entries) التي ستٌحذف من الجزء العلوي من المكدس. يمكن استخدام وسيط اختياري ثاني length لتحديد عدد المدخلات التي ستُعاد من المكدس. يعيد التابع caller القيمة nil إن كان الوسيط start أكبر من حجم مكدس التنفيذ الحالي. اختياريًا، ...

Array.prototype.splice()‎

الدالة Array.prototype.splice()‎ تغيّر محتويات مصفوفة بإزالة عناصر موجودة فيها أو إضافة عناصر جديدة إليها. var myFish = ['angel', 'clown', 'mandarin', 'sturgeon']; myFish.splice(2, 0, 'drum'); // إضافة عنصر في الفهرس 2 // myFish: ["angel", "clown", "drum", "mandarin", "sturgeon"] myFish.splice(2, 1); // إزالة عنصر واحد (1) في الفهرس 2 // myFish: ["angel", "clown", "mandarin", "sturgeon"] البنية العامة array.splice(start[, deleteCount[, item1[, item2[, ...]]]]) start الفهرس الذي سنبدأ فيه تغيير المصفوفة (ويكون المبدأ هو 0)، وإذا كانت هذه القيمة أكبر من عدد عناصر المصفوفة (أي length)، فسيُضبَط فهرس ...

التابع Array.slice!‎ في روبي

يقتطع التابع slice!‎ عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من المصفوفة التي استدعيت معه. يعيد التابع slice!‎ العناصر المحذوفة، أو nil إن كان index خارج النطاق. البنية العامة slice!(index) → obj or nil slice!(start, length) → new_ary or nil slice!(range) → new_ary or nil المعاملات index عدد صحيح يمثل فهرس العنصر المراد اقتطاعه من المصفوفة المعطاة. start عدد صحيح يمثل فهرس البداية للعناصر المراد اقتطاعها من المصفوفة المعطاة. length عدد صحيح يمثل طول العناصر ...

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

تعيد الدّالة slice()‎ كائن slice يُمثّل مجموعة فهارس (indices) تُحدّد من طرف الاستدعاء ‎range‎(‎start‎,‎ stop‎, ‎step‎)‎‎. البنية العامة class slice(stop) class slice(start, stop[, step]) المعاملات start مُعامل اختياريّ قيمته الافتراضيّة هي None، يُمثّل بداية الفهارس. stop المُعامل المطلوب الوحيد، والذي يُمثّل نقطة توقّف الفهارس. step مُعامل اختياريّ قيمته الافتراضيّة هي None، يُمثّل الخطوة التي بين كل فهرس وآخر. القيمة المعادة كائن slice‎ يحتوي على خصائص start، وstop، وstep قابلة للقراءة فقط، والتي تُعيد قيمة المُعامل المُرتبط بها. الكائن المُعاد لا يمتلك ...

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

(PHP 4, PHP 5, PHP 7) تنشئ الدالة range()‎‎‎‎‎‎‎‎‎‎ مصفوفةً تحتوي على مجال من العناصر. الوصف array range ( mixed $start , mixed $end [, number $step = 1 ] تنشئ هذه الدالة مصفوفةً تحتوي على مجال (range) من العناصر. المعاملات start أول قيمة في المجال أو محرف البداية. end ينتهي المجال عند الوصول إلى القيمة end أو محرف النهاية. step إذا ضُبِطَت قيمةٌ للمعامل step، فستُستخدم كمقدار لزيادة العناصر في المجال. ويجب أن تكون قيمة step موجبة. وإذا لم تُحدد ...

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

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

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

يجلب التابع slice عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من مصفوفة. إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع العنصر بدءًا من نهاية المصفوفة، إذ تمثل القيمة ‎-1 فهرس العنصر الأخير. ستُعاد مصفوفة فارغة في حال كان فهرس بداية المجال المحدد يقع عند نهاية المصفوفة. البنية العامة slice(index) → obj or nil slice(start, length) → new_ary or nil slice(range) → new_ary or nil المعاملات index عدد صحيح يمثل فهرس العنصر المراد اقتطاعه من المصفوفة المعطاة. ...

الخاصية transition-timing-function

الخاصية transition-timing-function في CSS تستعمل لوصف كيف ستتأثر القيم الوسطية لخاصيات CSS بتأثير الانتقال، أي أنها تسمح لك بتحديد ما هو منحني التسارع (acceleration curve) لتأثير الانتقال، لذا ستكون سرعة التأثير متفاوتة خلال مدته. بطاقة الخاصية القيمة الابتدائية ease تُطبَّق على جميع العناصر. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. يمكن تعريف منحني التسارع باستخدام دالة من دوال <timing-function> لكل خاصية يمكن تحريكها. /* كلمات محجوزة */ transition-timing-function: ease; transition-timing-function: ease-in; transition-timing-function: ease-out; transition-timing-function: ease-in-out; transition-timing-function: linear; transition-timing-function: step-start; transition-timing-function: step-end; /* دوال */ transition-timing-function: steps(4, ...

معامل التعيين [] الخاص بالصنف Array في روبي

يعيّن المعامل [] قيمة عنصر ذي فهرس محدد، أو قيم عدة عناصر تبدأ عند عنصر محدد وتمتد عددًا محددًا من العناصر، أو قيم عدة عناصر موجودة عند مجال محدد في مصفوفة. إن كانت الفهارس تشير إلى عناصر تقع خارج نطاق المصفوفة المعطاة، فستُوسَّع المصفوفة تلقائيًا. تُدرج العناصر في المصفوفة عند الفهرس start إن كانت قيمة الوسيط length تساوي 0. إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع العنصر بدءًا من نهاية المصفوفة، إذ تمثِّل القيمة ‎-1 فهرس العنصر الأخير. بالنسبة للوسيطين ...

معامل التعيين [] الخاص بالصنف Array في روبي

يعيّن المعامل [] قيمة عنصر ذي فهرس محدد، أو قيم عدة عناصر تبدأ عند عنصر محدد وتمتد عددًا محددًا من العناصر، أو قيم عدة عناصر موجودة عند مجال محدد في مصفوفة. إن كانت الفهارس تشير إلى عناصر تقع خارج نطاق المصفوفة المعطاة، فستُوسَّع المصفوفة تلقائيًا. تُدرج العناصر في المصفوفة عند الفهرس start إن كانت قيمة الوسيط length تساوي 0. إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع العنصر بدءًا من نهاية المصفوفة، إذ تمثِّل القيمة ‎-1 فهرس العنصر الأخير. بالنسبة للوسيطين ...

التابع Thread.stop‎ في روبي

يوقف التابع stop تنفيذ المهمة الفرعية الحالية، ويضعها في حالة "نوم" (sleep)، ويُجدوٍل (schedules) تنفيذ مهمة فرعية أخرى. البنية العامة stop→ nil‎ القيمة المعادة تعاد القيمة nil. أمثلة مثال على استخدام التابع stop‎: a = Thread.new { print "a"; Thread.stop; print "c" } sleep 0.1 while a.status!='sleep' print "b" a.run a.join #=> "abc"‎ انظر أيضًا التابع start: يشبه التابع new بشكل أساسي إلا أنه عند اشتقاق صنف فرعي (subclassed) من Thread، فإنَّ استدعاء start في ذلك الصنف الفرعي لن يستدعي تابع الصنف الفرعي initialize. مصادر قسم التابع ...

دوال التوقيت في CSS

نوع البيانات <timing-function> يشير إلى الدوال الرياضية التي تصف سرعة تغيير القيم أحادية البعد في الحركات، وهذا ما يسمح بتغيير سرعة الحركات خلال فترة الحركة. دوال الحركة السلسة تُنشِئ علاقة نسبية بين الوقت والناتج، وتكون القيمتان رقميتين <number>، وتُمثِّل القيمة 0.0 الحالة الابتدائية والقيمة 1.0 الحالة النهائية. دالة توقيت لها مخرجات أكبر من 1. دالة توقيت لها مخرجات أكبر 1 لكنها مقصوصة. اعتمادًا على الدالة المُستخدمة، قد يصبح الناتج في بعض الأحيان أكبر من 1.0 أو أصغر من 0.0 أثناء ...

التابع bytes.count()‎ في بايثون

يعيد هذا التابع عدد مرات ظهور تسلسل فرعي ضمن كائن bytes. البنية العامة bytes.count(sub[, start[, end]]) المعاملات sub التسلسل الفرعي المراد معرفة عدد مرات ظهوره ضمن كائن bytes. يمكن للتسلسل الفرعي أن يكون أيّ كائن شبيه بالبايتات (bytes-like object). ملاحظة: في الإصدار 3.3 من بايثون، أصبح بالإمكان استخدام الأعداد الصحيحة من 0 إلى 255 كقيمة لهذا المعامل. start معامل اختياري، يحدد الموقع الذي يبدأ منه التابع عملية البحث ضمن كائن bytes. end معامل اختياري، يحدد الموقع الذي ينهي فيه التابع ...

التابع bytes.count()‎ في بايثون

يعيد هذا التابع عدد مرات ظهور تسلسل فرعي ضمن كائن bytes. البنية العامة bytes.count(sub[, start[, end]]) المعاملات sub التسلسل الفرعي المراد معرفة عدد مرات ظهوره ضمن كائن bytes. يمكن للتسلسل الفرعي أن يكون أيّ كائن شبيه بالبايتات (bytes-like object). ملاحظة: في الإصدار 3.3 من بايثون، أصبح بالإمكان استخدام الأعداد الصحيحة من 0 إلى 255 كقيمة لهذا المعامل. start معامل اختياري، يحدد الموقع الذي يبدأ منه التابع عملية البحث ضمن كائن bytes. end معامل اختياري، يحدد الموقع الذي ينهي فيه التابع ...

الدالة ()str_slice في Sass

تعيد الدالة str_slice()‎ جزءًا من السلسلة النصيَّة الممرَّرة إليها والذي يبدأ وينتهي عند موضع محدَّد. لاحظ أن رقم ترتيب العنصر الأول في Sass هو 1، والعنصر الثاني هو 2، وهكذا على عكس بعض اللغات. البنية العامة str_slice($string, $start-at, $end-at: -1) المعاملات ‎$string  السلسلة النصّيَّة المراد استخراج سلسلة نصيَّة فرعيَّة منها. ‎$start-at موضع الحرف الأول من السلسلة النصيَّة الفرعيَّة المراد الحصول عليها. إذا كانت قيمة هذا المعامل سالبة، فسيحسب موضع بداية تلك السلسلة بدءًا من نهاية السلسلة النصيَّة ‎‎$string. ‎$end-at موضع الحرف الأخير من السلسلة ...

دالة getter في JavaScript

البنية get تؤدي إلى ربط خاصية من خاصيات الكائن بدالة التي ستستدعى عند محاولة الوصول إلى قيمة تلك الخاصية. البنية العامة {get prop() { ... } } {get [expression]() { ... } } prop اسم الخاصية الذي سترتبط بالدالة المعطية. expression بدءًا من ECMAScript 2015 (أي ES6)، يمكن استخدام التعابير لإنشاء أسماء محسوبة للخاصيات التي سترتبط بالدالة المعطية. الوصف يمكن أن تستخدم دالة getter في JavaScript لتنفيذ دالة معيّنة عندما تتم محاولة الوصول إلى خاصية من خاصيات الكائن بغية إعادة قيمة ...

التابع bytes.endswith()‎ في بايثون

يتحقق التابع من وجود تسلسل فرعي في نهاية البيانات الثنائية الأصلية. البنية العامة bytes.endswith(suffix[, start[, end]]) المعاملات suffix التسلسل الذي يختبر التابع وجوده في نهاية البيانات الثنائية. start الموقع الذي يبدأ منه التابع عملية الاختبار ضمن البيانات الثنائية. end الموقع الذي ينهي فيه التابع عملية المقارنة ضمن البيانات الثنائية. القيمة المعادة يعيد التابع endswith()‎ القيمة True إن كانت البيانات الثنائية تنتهي بالقيمة الممرّرة إلى المعامل suffix، ويعيد القيمة False فيما عدا ذلك، ويمكن للمعامل suffix أن يكون أي كائن شبيه ...

التابع bytes.endswith()‎ في بايثون

يتحقق التابع من وجود تسلسل فرعي في نهاية البيانات الثنائية الأصلية. البنية العامة bytes.endswith(suffix[, start[, end]]) المعاملات suffix التسلسل الذي يختبر التابع وجوده في نهاية البيانات الثنائية. start الموقع الذي يبدأ منه التابع عملية الاختبار ضمن البيانات الثنائية. end الموقع الذي ينهي فيه التابع عملية المقارنة ضمن البيانات الثنائية. القيمة المعادة يعيد التابع endswith()‎ القيمة True إن كانت البيانات الثنائية تنتهي بالقيمة الممرّرة إلى المعامل suffix، ويعيد القيمة False فيما عدا ذلك، ويمكن للمعامل suffix أن يكون أي كائن شبيه ...

الخاصية grid-template-areas

الخاصية grid-template-areas في CSS تضبط أسماء مناطق gird (أي grid areas). بطاقة الخاصية القيمة الابتدائية none تُطبَّق على حاويات grid. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. /* كلمة محجوزة */ grid-template-areas: none; /* <string> سلاسل نصية */ grid-template-areas: "a b"; grid-template-areas: "a b b" "a c d"; /* القيم العامة */ grid-template-areas: inherit; grid-template-areas: initial; grid-template-areas: unset; هذه المناطق ليست مرتبطةً بأيّ عنصر grid، لكن ...

الخاصية grid-auto-flow

الخاصية grid-auto-flow في CSS تضبط كيف ستعمل خوارزمية تحديد مواضع عناصر grid التلقائية. بطاقة الخاصية القيمة الابتدائية row تُطبَّق على حاويات grid. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت، لكن مع تحويل الأطوال النسبية إلى مطلقة. /* كلمات محجوزة */ grid-auto-flow: row; grid-auto-flow: column; grid-auto-flow: dense; grid-auto-flow: row dense; grid-auto-flow: column dense; /* القيم العامة */ grid-auto-flow: inherit; grid-auto-flow: initial; grid-auto-flow: unset; أمثلة هذا مثال عن استخدام الكلمة المحجوزة column مع الخاصية grid-auto-flow، حاول تجربة القيم الأخرى لتعرف الفرق بينها: <div id="grid"> <div id="item1"></div> ...

بيئة تطوير Valet في Laravel

مقدمة Valet هي بيئة تطوير Laravel لأجهزة ماك. لا حاجة إلى استخدام Vagrant، ولا ملف ‎/etc/hosts. يمكنك أيضًا مشاركة مواقعك بشكل عام باستخدام الأنفاق المحلية. تقوم بيئة Laravel Valet بتكوين جهاز ماك الخاص بك لتشغيل Nginx دائمًا في الخلفية عند بدء تشغيل الجهاز. ثم، باستخدام DnsMasq، يقوم خادم Valet بتجميع جميع الطلبات على نطاق test.* للإشارة إلى المواقع المثبتة على جهازك المحلي. بعبارة أخرى، بيئة تطوير Laravel فائق السرعة تستخدم ما يقرب من 7 ميغابايت من ذاكرة الوصول العشوائي RAM. ...

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

يجلب التابع gets السطر التالي من المجرى الذي استدعي معه. يجب أن يكون المجرى مفتوحًا في وضعية القراءة وإلا سيُطلَق الاستثناء IOError. إن كان المجرى يحتوي على حروف متعددة البايتات، فستعيد gets(1)‎ الحرف بالكامل. البنية العامة gets(sep=$/ [, getline_args]) → string or nil gets(limit [, getline_args])→ string or nil gets(sep, limit [, getline_args]) → string or nil‎ المعاملات sep‎ المحرف الفاصل بين الأسطر. القيمة الافتراضية هي: /$. إن كانت قيمته nil، فستُقرَأ آنذاك جميع محتويات المجرى (أي سيمثِّل نهاية المجرى). limit‎ عدد ...

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

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

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

تعيد الدّالة range()‎ كائن مجال يحتوي على أعداد صحيحة من نقطة البداية إلى نقطة النّهاية مع فصلها بمسافة عدديّة. البنية العامة range(stop) range(start, stop[, step]) المعاملات start نقطة بداية المجال. stop نقطة نهاية المجال. step المسافة العدديّة التي ستكون بين عناصر المجال. القيمة المعادة كائن مجال يُعدّ نوعًا من أنواع التّسلسلات غير القابلة للتّغيير (immutable sequence type). أمثلة المثال التّالي يوضّح كيفيّة عمل هذه الدّالة: >>> list(range(3)) # من صفر إلى ثلاثة [0, 1, 2] >>> list(range(1, 5)) # من 1 إلى 5 [1, ...

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