نتائج البحث

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

الخاصية text-justify

الخاصية text-justify في CSS تُعرِّف طريقة توزيع النص إذا كانت الخاصية text-align مضبوطةً إلى القيمة justify. بطاقة الخاصية القيمة الابتدائية auto تُطبَّق على العناصر السطرية، وخلايا الجداول. قابلة للوراثة نعم قابلة للتحريك لا القيمة المحسوبة كما حُدِّدت. /* كلمات محجوزة */ text-justify: none; text-justify: auto; text-justify: inter-word; text-justify: inter-character; /* قيم عامة */ text-justify: inherit; text-justify: initial; text-justify: unset; أمثلة مثال عن استخدام مختلف قيم الخاصية text-justify: <p class="none"><code>text-justify: none</code> —<br>تهدف موسوعة حسوب لتوفير توثيق عربي كامل وعالي الجودة، مدعّم بالأمثلة لمختلف لغات البرمجة وتقنيات تطوير الويب والجوال. ...

العنصر

يُمثِّل العنصر <dl> قائمة وصف (description list)، وهذا العنصر يتضمن مجموعةً من المصطلحات وشرحها. يستخدم هذا العنصر عادةً في القواميس أو شرح المصطلحات، أو لعرض البيانات الوصفية (قائمة من أزواج «مفاتيح-قيم»). بطاقة العنصر تصنيفات المحتوى لا يوجد. المحتوى المسموح مجموعة أو أكثر من عناصر <dt> متبوعة بعنصر <dd> واحد أو أكثر؛ ويُسمَح باستخدام العنصر <div> فيه. الوسم المختصر لا يمكن حذف أيّ من وسمَي البداية أو النهاية. العناصر الأب أي عنصر يقبل المحتوى التنظيمي. واجهة DOM HTMLDListElement دعم المتصفحات Chrome ...

الخاصية background-origin

الخاصية background-origin في CSS تُحدِّد مبدأ صورة الخلفية المُحدَّدة عبر الخاصية background-image. لاحظ أنَّ الخاصية background-origin لن يكون لها تأثير عند ضبط قيمة الخاصية background-attachment إلى fixed. لاحظ أنَّ الخاصية المختصرة background ستؤدي إلى إعادة ضبط قيمة هذه الخاصية إلى قيمتها الابتدائية إذا لم تُحدَّد فيها. بطاقة الخاصية القيمة الابتدائية padding-box تُطبَّق على جميع العناصر. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. /* الكلمات المحجوزة */ background-origin: border-box; background-origin: padding-box; background-origin: content-box; /* القيم العامة */ background-origin: inherit; background-origin: initial; background-origin: unset; أمثلة مثال ...

الخاصية text-indent

الخاصية text-indent في CSS تُحدِّد مقدار المسافة البادئة التي توضع قبل أسطر النص الموجودة في عنصر كتلي؛ وهذه الخاصية تتحكم بالمسافة البادئة لأوّل سطر افتراضيًا، لكن يمكن استخدام الكلمتين المحجوزتين hanging و each-line لتغيير هذا السلوك (انظر «دعم المتصفحات»). بطاقة الخاصية القيمة الابتدائية 0 تُطبَّق على العناصر الكتلية. قابلة للوراثة نعم قابلة للتحريك نعم القيمة المحسوبة كما حُدِّدت. /* <length> أطوال */ text-indent: 3mm; text-indent: 40px; /* <percentage> نسبة مئوية*/ text-indent: 15%; /* قيم عامة */ text-indent: inherit; text-indent: initial; text-indent: unset; تبدأ هذه المسافة من الحافة اليسرى لصندوق ...

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

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

دليل Sass

لغة CSS لغة ممتعةٌ، ولكنّ ملفات الأنماط أصبحت أكبر وأكثر تعقيدًا، وصيانتها صعبة ومتعبة؛ يمكن حينذاك أن تساعدنا المعالجة الأوليَّة (preprocessor). تتيح لك Sass استخدام ميزات غير موجودة في CSS مثل المتغيرات، والتشعب، والمخاليط، والوراثة، وغيرها من الأشياء التي تجعل البرمجة بلغة CSS ممتعةً مرةً أخرى. تحفظ Sass الملفات المعالجة على هيئة ملف CSS عادي، والذي يمكنك استخدامه في موقعك. الطريقة المباشرة لفعل ذلك هي باستخدام سطر الأوامر (terminal). يمكنك بمجرد تثبيت Sass تصريف الملفات إلى CSS باستخدام الأمر sass. ...

العنصر

يُمثِّل العنصر <p> فقرةً نصيةً، وتُعرَض الفقرات عادةً على شكل أقسام من النص يفصل بينها بمسافة فارغة رأسية، أو بزيادة محاذاة أوّل سطر. مثال عن استخدام العنصر <p>: <p>تهدف موسوعة حسوب لتوفير توثيق عربي كامل وعالي الجودة، مدعّم بالأمثلة لمختلف لغات البرمجة وتقنيات تطوير الويب والجوال. تعتمد الموسوعة على فريق من المحررين والمساهمين المتطوعين أولي الخبرة البرمجية واللغوية، وترحّب بكل من يرغب بالمساهمة فيها. اعرف المزيد عن موسوعة حسوب بتصفح محتواها واطلع على دليل المساهمين.</p> <p>محتوى موسوعة حسوب هو محتوى مرجعي، ...

العنصر

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

العنصر

يُمثِّل العنصر <article> جزءًا من المستند أو الصفحة أو التطبيق أو الموقع الغرض منها هو القدرة على إعادة توزيعها واستخدامها بشكل مستقل، مثل موضوع في منتدى أو مقالة في صحيفة أو تدوينة. مثال عن استخدام عناصر <article> لتمثيل محتوى المنشور ولتمثيل التعليقات، ويبين هذا المثال كيف يستعمل العنصر <article> مع بقية عناصر HTML: <article> <h1>موسوعة حسوب</h1> <p>تهدف موسوعة حسوب لتوفير توثيق عربي كامل وعالي الجودة، مدعّم بالأمثلة لمختلف لغات البرمجة وتقنيات تطوير الويب والجوال. تعتمد الموسوعة على فريق ...

الخاصية background-attachment

الخاصية background-attachment في CSS تُحدِّد إذا كان موضع الصورة (المُحدَّدة عبر الخاصية background-image) ثابتًا (fixed) ضمن إطار العرض (viewport) أو كان سيُمرَّر عند التمرير في العنصر (أو الصفحة) الحاوي له. بطاقة الخاصية القيمة الابتدائية scroll تُطبَّق على جميع العناصر. قابلة للوراثة لا قابلة للتحريك نعم القيمة المحسوبة كالقيمة المُحدَّدة. /* كلمات مفتاحية */ background-attachment: scroll; background-attachment: fixed; background-attachment: local; /* القيم العامة */ background-attachment: inherit; background-attachment: initial; background-attachment: unset; أمثلة مثال بسيط عن استخدام الخاصية background-attachment لجعل موضع صورة الخلفية (المُحدَّدة عبر الخاصية background-image) ثابتًا. شيفرة HTML: ...

الخاصية background-image

الخاصية background-image في CSS تضبط صورةً أو أكثر على أنها خلفية للعنصر. ستُطبَّق صور الخلفية فوق بعضها بعضًا، وترسم أوّل طبقة مُحدَّدة وكأنها أقرب طبقة إلى المستخدم. سيُرسَم إطار العنصر border فوق صور الخلفية، وسيوضع اللون المُحدَّد في الخاصية background-color تحتها. تُحدَّد العلاقة بين الصور المعروضة وصندوق العنصر وإطاره باستخدام الخاصيتين background-clip و background-origin في CSS. إذا لم يمكن ممكنًا عرض الصورة المُحدَّد (على سبيل المثال: لم يتمكن المتصفح من تحميل الصورة من رابط URI الخاص بها)، فسيفترض المتصفح أنَّ ...

استخدام ملفات التصريحات في TypeScript

أصبح استخدام ملفات التصريحات سهلًا جدًّا منذ النسخة 2.0 من TypeScript، إذ أصبح الحصول عليها واستخدامها والعثور عليها أبسط من ذي قبل. ستساعدك هذه الصفحة على القيام بهذه العمليات الثلاث. تنزيل ملفات التصريحات لا يحتاج الحصول على ملفات التصريحات إلى أي أدوات غير أداة npm في TypeScript 2.0 وما تلاها من نسخ. على سبيل المثال، يمكن الحصول على التصريحات لمكتبةٍ مثل lodash ببساطة بالأمر التالي فقط: npm install --save @types/lodash من الجدير بالذكر أنّ تنزيل حزمةِ ‎@types‎ لمكتبةٍ غير ضروري ...

نشر ملفات التصريحات في TypeScript

مقدمة بعد أن كتبتَ ملفّ تصريحاتٍ باتباع الخطوات في هذا الدليل، حان الوقت الآن لنشره على منصّة npm. هناك طريقتان رئيسيتان لنشر ملفات تصريحاتك على npm: تجميعه (bundling) مع حزمة npm الخاصة بك. أو نشره على منظمة ‎@types‎‎ على npm. إذا كانت حزمتك مكتوبة بلغة TypeScript، فمن الأفضل اتباع الطريقة الأولى. استعمل الخيار ‎‎--declaration‎‎ لتوليد ملفات التصريحات. بهذه الطريقة ستكون تصريحاتك متزامنة دائمًا مع شيفرة JavaScript. إن لم تكن حزمتك مكتوبة بلغة TypeScript، عندها فالطريقة الثانية أفضل. تضمين التصريحات في ...

دليل التطوير على منصة Windows Phone 8 في كوردوفا

أصبح هذا المحتوى مهملًا في التوثيق الحالي من كوردوفا (الإصدار ‎8.x‎). اطلع على أحدث توثيق لكوردوفا عبر الانتقال إلى الصفحة الرئيسية. مصادر صفحة Windows Phone 8 Platform في توثيق كوردوفا الرسمي.

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

القيمة false العامة (global) هي النسخة الوحيدة من الصنف FalseClass وتمثِّل قيمة الخطأ (false) في التعابير المنطقية (boolean expressions). يوفر هذا الصنف معاملات تسمح للقيمة false بالمساهمة بشكل صحيح في التعابير المنطقية. توابع الكائن العامة (Public Instance Methods) المعامل & يجري المعامل & العملية AND المنطقية بين القيمة false والكائن المعطى ثم يُعيد القيمة false. المعامل === يتحقق المعامل === من تساوي كائنين بشكل صارم. المعامل ^ يجري المعامل ^ العملية XOR المنطقية بين القيمة false وقيمة الكائن المعطى. inspect ...

Rails/Topics

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

مدخل إلى ملفات التصريحات في TypeScript

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

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

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

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

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

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

عوامل التحكم بالأخطاء في PHP

تدعم PHP عاملًا واحدًا للتحكّم بالأخطاء وهو علامة (@). تتجاهل PHP جميع الأخطاء الناتجة من أي تعبير تُلحق به هذه العلامة. إن كنت قد عينت دالة خاصة للتعامل مع الأخطاء باستخدام set_error_handler()‎ فستستدعى تلك الدالة حتى مع استخدام هذا العامل، ولكن يمكن للدالة الخاصة (بل ويجدر بها) أن تستدعي الدالة error_reporting()‎ والتي ستعيد 0 عندما يكون الاستدعاء المتسبب في حدوث الخطأ مسبوقًا بعلامة @. إن كانت الخاصية track_errors مفعّلة فإن أيّ رسالة خطأ تنشأ من التعبير ستحفظ في المتغير ‎$php_errormsg، ...

عوامل التحكم بالأخطاء في PHP

تدعم PHP عاملًا واحدًا للتحكّم بالأخطاء وهو علامة (@). تتجاهل PHP جميع الأخطاء الناتجة من أي تعبير تُلحق به هذه العلامة. إن كنت قد عينت دالة خاصة للتعامل مع الأخطاء باستخدام set_error_handler()‎ فستستدعى تلك الدالة حتى مع استخدام هذا العامل، ولكن يمكن للدالة الخاصة (بل ويجدر بها) أن تستدعي الدالة error_reporting()‎ والتي ستعيد 0 عندما يكون الاستدعاء المتسبب في حدوث الخطأ مسبوقًا بعلامة @. إن كانت الخاصية track_errors مفعّلة فإن أيّ رسالة خطأ تنشأ من التعبير ستحفظ في المتغير ‎$php_errormsg، ...

الحزم (Package development) في Laravel

مقدمة الحزم هي الطريقة الأولى لإضافة وظائف ل Laravel. يمكن أن تكون الحزم أي شيء مثل طريقة للعمل مع التواريخ مثل Carbon أو إطار متكامل لاختبار قواعد البيانات مثل Behat. طبعًا، يوجد أنواع مختلفة من الحزم. بعض الحزم مكتفية بذاتها أي أنها تعمل مع أي إطار PHP مثل Behat و Carbon. يمكن طلب أي من هذه الحزم عبر الملف composer.json. من جهة أخرى، بعض الحزم مصنوعة خصيصا ل Laravel. هذه الحزم لديها مسارات، وحدات تحكم،  واجهات، وملفات ضبط معدة خصيصًا ...

عوامل السلاسل النصية في PHP

هناك عاملان للسلاسل النصية. الأول هو عامل الربط ('.') والذي يربط بين المعاملين الموجودين على جانبيه. العامل الثاني هو عامل الربط الإسنادي ('‎.=‎') والذي يُلحق المعامل الموجود في الجهة اليمنى بالمعامل الموجود في الجهة اليسرى. يرجى قراءة صفحة عوامل الإسناد للمزيد من المعلومات. <?php $a = "Hello "; $b = $a . "World!"; // $b: "Hello World!" $a = "Hello "; $a .= "World!"; // $a: "Hello World!" ?> راجع كذلك صفحة نوع السلاسل النصية ودوال السلاسل النصية في هذا الدليل. مصادر صفحة String Operators ...

عوامل السلاسل النصية في PHP

هناك عاملان للسلاسل النصية. الأول هو عامل الربط ('.') والذي يربط بين المعاملين الموجودين على جانبيه. العامل الثاني هو عامل الربط الإسنادي ('‎.=‎') والذي يُلحق المعامل الموجود في الجهة اليمنى بالمعامل الموجود في الجهة اليسرى. يرجى قراءة صفحة عوامل الإسناد للمزيد من المعلومات. <?php $a = "Hello "; $b = $a . "World!"; // $b: "Hello World!" $a = "Hello "; $a .= "World!"; // $a: "Hello World!" ?> راجع كذلك صفحة نوع السلاسل النصية ودوال السلاسل النصية في هذا الدليل. مصادر صفحة String Operators ...

الدالة ()os.setsid في بايثون

تستدعي الدالة نداء النظام ()setsid الذي يُنشِئ جلسة جديدة ويضبط مُعرِّف مجموعة العملية. البنية العامة setsid() الدالة متوافرة في أنظمة يونكس. القيمة المعادة لا تُعيد الدالة أي قيمة (أي أنَّ قيمتها المعادة None). لاحظ أنَّ الدالة يجب أن تُنفَّذ من مُستخدِم يملك صلاحيات الجذر. طالِع صفحة الدليل لنداء النظام ()setsid للمزيد من التفاصيل. أمثلة يُبيّن المثال التالي آلية عمل الدالة. >>> from os import setsid >>> setsid() مصادر قسم الوحدة os في توثيق بايثون الرسمي.

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

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

العوارض في منصة iOS في كوردوفا

يوضح هذا الدليل كيفية تضمين مُكوّن (component) عارض كوردوفا في تطبيقات منصة iOS الكبيرة. للمزيد من التفاصيل حول كيفية جعل تلك المكوّنات تتواصل مع بعضها، راجع دليل تطوير الإضافات. بدأ دعم العوارض في منصة iOS منذ الإصدار 1.4 كوردوفا، باستخدام مكوِّن Cleaver الذي بُنِي على قالب Xcode. منصة كوردوفا 2.0 والإصدارات الأحدث لا تدعم إلا التقديم المستند إلى المشروع الفرعي (subproject-based) للمكُوِّن Cleaver. تتطلب هذه الإرشادات على الأقل الإصدار الرابع من كوردوفا، والثامن من Xcode، بالإضافة إلى الملف config.xml من ...

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

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

التابع File.unlink في روبي

يحذف التابع unlink ملفًا محدَّدًا. يرمي هذا التابع استثناءً عند حصول أي خطأ. لمَّا كان التنفيذ الضمني لهذا التابع يعتمد على استدعاء النظام للدالة unlink(2)‎، فسيعتمد نوع الخطأ المرمي على أنواع الأخطاء الخاصة بها (اطلع على صفحة الدليل man لهذه الدالة لمزيد من التفاصيل) التي تأخذ شكلًا محدَّدًا مثل Errno::ENOENT. البنية العامة unlink(file_name, ...) → integer القيمة المعادة يعاد انظر أيضا التابع delete: يحذف ملفًا محدَّدًا. التابع new: يفتح ملفًا محدَّدًا وبوضع معيَّن ثم يعيد كائنًا جديدًا من النوع File. مصادر قسم التابع ...

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

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

المزيد من خيارات Bash

ناقشنا بعض خيارات صدفة Bash التي قد تفيدك في تنقيح برامج Bash، وسننظر الآن في مزيد من تلك الخيارات بتفصيل أكثر. عرض الخيارات استخدم خيار o- لأمر set لعرض كل خيارات الصدفة: hsoub:~> set -o allexport off braceexpand on emacs ...

الدالة ()os.getsid في بايثون

تستدعي الدالة نداء النظام ()getsid الذي يُعيد مُعرِّف جلسة العملية ذات المُعرِّف المُمرَّر. البنية العامة getsid(pid) الدالة متوافرة في أنظمة يونكس. المعاملات pid مُعرِّف العملية المراد الحصول على مُعرِّف جلستها. سيُعيد نداء النظام ()getsid مُعرِّف جلسة العملية المُستدعية له إذا مُرِّرَت القيمة 0 للمعامل pid. القيمة المُعادة تُعيد الدالة نوع عددي صحيح يُمثِّل مُعرِّف جلسة العملية ذات المُعرِّف المُمرَّر للمعامل pid. طالِع صفحة الدليل لنداء النظام ()getsid للمزيد من التفاصيل. أمثلة يُبيّن المثال التالي آلية عمل الدالة. >>> from os import ...

التابع File.delete في روبي

يحذف التابع delete ملفًا محدَّدًا. يرمي هذا التابع استثناءً عند حصول أي خطأ. لمَّا كان التنفيذ الضمني لهذا التابع يعتمد على استدعاء النظام للدالة unlink(2)‎، فسيعتمد نوع الخطأ المرمي على أنواع الأخطاء الخاصة بها (اطلع على صفحة الدليل man لهذه الدالة لمزيد من التفاصيل) التي تأخذ شكلًا محدَّدًا مثل Errno::ENOENT. البنية العامة delete(file_name, ...) → integer المعاملات file_name اسم الملف المراد حذفه. ... أسماء الملفات الأخرى المراد حذفها. القيمة المعادة يعاد عدد صحيح يمثِّل عدد الملفات التي أعطيت والتي يراد حذفها. انظر ...

عوامل التنفيذ في PHP

تدعم PHP عامل تنفيذ واحد هو العلامة`` ‏(backtics)، ويجب الانتباه إلى أنها ليست علامة الاقتباس المفردة. ستحاول PHP تنفيذ ما هو مكتوب ضمن هذه العلامتين على أنّه من أوامر الصدفة، وستعيد الناتج. (بمعنى أنّك لن تحصل على مخرجات فقط، بل يمكن إسناد النتيجة إلى متغير). استخدام هذا العامل مطابق تمامًا لاستخدام الدالة shell_exec()‎. <?php $output = `ls -al`; echo "<pre>$output</pre>"; ?> ملاحظة: يكون هذا العامل معطّلًا عندما يكون الوضع الآمن مفعّلًا أو عندما تكون الدالة shell_exec()‎ معطّلة. ملاحظة: على العكس من بعض اللغات ...

عوامل التنفيذ في PHP

تدعم PHP عامل تنفيذ واحد هو العلامة`` ‏(backtics)، ويجب الانتباه إلى أنها ليست علامة الاقتباس المفردة. ستحاول PHP تنفيذ ما هو مكتوب ضمن هذه العلامتين على أنّه من أوامر الصدفة، وستعيد الناتج. (بمعنى أنّك لن تحصل على مخرجات فقط، بل يمكن إسناد النتيجة إلى متغير). استخدام هذا العامل مطابق تمامًا لاستخدام الدالة shell_exec()‎. <?php $output = `ls -al`; echo "<pre>$output</pre>"; ?> ملاحظة: يكون هذا العامل معطّلًا عندما يكون الوضع الآمن مفعّلًا أو عندما تكون الدالة shell_exec()‎ معطّلة. ملاحظة: على العكس من بعض اللغات ...

الدالة ()os.setpgid في بايثون

تستدعي الدالة نداء النظام ()setpgid لإسناد مُعرِّف المجموعة المُمرَّر للوسيط الثاني (pgrp) إلى العملية ذات المُعرِّف المُمرَّر للوسيط الأوَّل (pid). البنية العامة setpgid(pid, pgrp) الدالة متوافرة في أنظمة يونكس. المعاملات pid مُعرِّف العملية المُراد تحديدها. pgrp مُعرِّف المجموعة المُراد إسناده للعملية المُحدَّدة. القيمة المعادة لا تُعيد الدالة أي قيمة (أي أنَّ قيمتها المعادة None). لاحظ أنَّ الدالة يجب أن تُنفَّذ من مُستخدِم يملك صلاحيات الجذر. طالِع صفحة الدليل لنداء النظام ()setpgid للمزيد من التفاصيل. أمثلة يُبيّن المثال التالي آلية عمل الدالة. ...

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

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

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

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

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

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

مطابقة الأنماط باستخدام ميزات Bash

مدى المحارف Character Ranges خلافًا لأمر grep والتعابير النمطية (regular expressions) فإن لدينا حالات كثيرة لمطابقة الأنماط التي يمكنك إجراؤها في الصدفة مباشرة دون الحاجة إلى استخدام برنامج خارجي، فلعلك تعلم أن محرفي * و ? يطابقان أي نص أو محرف وحيد -على الترتيب-، ومن أجل مطابقة هذين المحرفيْن تحديدًا، ضع حول كل منهما علامات اقتباس مزدوجة: hsoub ~> touch "*" hsoub ~> ls "*" * يمكنك استخدام الأقواس المربعة لمطابقة أي محرف أو مجموعة محارف بداخل تلك الأقواس إن فُصلت أزواج المحارف ...

الأفخاخ في Bash

عام قد تجد حالات لا تريد فيها من يستخدم شيفراتك النصية أن يخرج قبل الوقت المحدد عن طريق اختصارات لوحة المفاتيح حين تحتاج إلى مدخلات مثلًا أو عند القيام بعملية تنظيف، ويمكن استخدام أمر trap ليلتقط إشارات لوحة المفاتيح تلك، ويمكن برمجته مسبقًا لينفِّذ قائمة أوامر عند التقاط تلك الإشارات. قواعد أمر trap واضحة ومباشرة: trap [الإشارات] [الأوامر] هذا يجعل أمر trap يلتقط الإشارات المُعطاة له، والتي قد تكون أسماء إشارات مع سابقة SIG أو بدونها، أو تكون أرقام إشارات. وإن ...

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

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

التابع Process.getrlimit في روبي

يجلب التابع getrlimit قيد المورد (resource limit) للعملية. البنية العامة getrlimit(resource) → [cur_limit, max_limit] المعاملات resource يشير إلى نوع المورد المراد معرفة قيوده. يُحدَّد برمزٍ مثل CORE:، أو سلسلة نصية مثل "CORE"، أو ثابت مثل Process::RLIMIT_CORE. اطلع على توثيق التابع setrlimit لمزيد من التفاصيل. القيم المعادة تُعاد مصفوفة من عنصرين: الأول هو cur_limit ويعني القيد الحالي (الرخو [soft]) والثاني هو max_limit ويعني القيد الأعظمي (الصارم [hard]). إنَّ cur_limit و max_limit قد يكونا Process::RLIM_INFINITY، أو Process::RLIM_SAVED_MAX، أو Process::RLIM_SAVED_CUR. اطلع على توثيق التابع ...

حلقة for في Bash

كيفية عمل حلقة for التكرارية حلقة for هي أول وحدة تكرارية في الصدفة من بين ثلاث وحدات، وتسمح تلك الحلقة بتخصيص قائمة من القِيَم، وتُنفَّذ قائمة من الأوامر لكل قيمة من تلك القيم. والبنية اللغوية لهذه الحلقة التكرارية هي كالآتي: for NAME [in LIST ]; do COMMANDS; done إن لم تكن [ in LIST] موجودة فيتم استبدال @$ in بها، وتنفذ for الأوامر (COMMANDS) مرة واحدة لكل معامل موضعي مضبوط على قيمة، انظر المتغيرات في Bash وفحص وسائط سطر الأوامر. وتكون ...

if في PHP

(PHP 4, PHP 5, PHP 7) بنية if هي واحدة من أهم الميزات المتوفّرة في العديد من اللغات البرمجية، ومن ضمنها PHP. إذ تتيح تنفيذ أجزاء من الشيفرة اعتمادًا على شروط معينة. تعتمد PHP بنية if المعتمدة في لغة C: if (expr) statement تُحسب التعابير -كما ورد في الفصل المتعلّق بالتعابير في هذا الدليل- إلى قيمة منطقية (Boolean)، فإن كانت نتيجة الحساب هي TRUE تنفذ PHP العبارة، وإن كانت نتيجة الحساب هي FALSE تتجاهل اللغة ذلك التعبير. يمكن الحصول ...

if في PHP

(PHP 4, PHP 5, PHP 7) بنية if هي واحدة من أهم الميزات المتوفّرة في العديد من اللغات البرمجية، ومن ضمنها PHP. إذ تتيح تنفيذ أجزاء من الشيفرة اعتمادًا على شروط معينة. تعتمد PHP بنية if المعتمدة في لغة C: if (expr) statement تُحسب التعابير -كما ورد في الفصل المتعلّق بالتعابير في هذا الدليل- إلى قيمة منطقية (Boolean)، فإن كانت نتيجة الحساب هي TRUE تنفذ PHP العبارة، وإن كانت نتيجة الحساب هي FALSE تتجاهل اللغة ذلك التعبير. يمكن الحصول ...

التابع Random.urandom في روبي

يعيد التابع urandom سلسلةً نصيةً (string) باستخدام ميزاتٍ توفرها المنصة. يفترض بالقيمة المعادة أن تكون عددًا محميًّا مشفرًا شبه عشوائي بالصيغة الثنائية. يرمي هذا التابع الاستثناء RuntimeError إذا فشلت الميزة المزودة من المنصة في تحضير النتيجة. في عام 2017، كتب في صفحة الدليل man للدالة (random(7 في لينكس: "لا يوجد تشفيرٌ أساسيٌ موجودٌ اليوم يمكن يعدنا بأكثر من 256 بت من الحماية". لذلك  تمرير قيمة ذات حجم أكبر من 32 إلى هذا التابع قد يكون أمرًا مريبًا. البنية العامة urandom(size) ...

ريلز مع Rack

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

أنواع المتغيرات في Bash

التعيين العام للقيَم لم نركز كثيرًا في الشرح السابق لصدفة Bash على أنواع المتغيرات التي كنا نعيِّنها لأن Bash تستطيع التعامل مع أنواع متعددة من المتغيرات والمعامِلات، ونتيجة لذلك فإن متغيراتنا يمكنها احتواء أي نوع نختاره من البيانات، انظر المثال التالي للتوضيح: [hsoub in ~] VARIABLE=12 [hsoub in ~] echo $VARIABLE 12 [hsoub in ~] VARIABLE=string [hsoub in ~] echo $VARIABLE string وستكون حالات تريد فيها تجنب هذا السلوك من المثال السابق حين تتعامل مع أرقام الهواتف وغيرها مثلًا، وقد تحتاج أن تحدد متغيرًا ثابتًا (Constant ...

الثوابت في PHP

الثابت هو معرّف (اسم) لقيمة بسيطة، وكما هو واضح من الاسم فإنّ هذه القيمة غير قابلة للتبديل أثناء تنفيذ الشيفرة (باستثناء الثوابت السحرية والتي لا تعدّ ثوابت في الواقع). الثابت حساس لحالة الأحرف ومن الشائع استخدام الأحرف الكبيرة في تسمية الثوابت. تتبع الثوابت نفس القواعد المتّبعة للتسمية في PHP، فاسم الثابت الصحيح يبدأ بحرف أو بشرطة سفلية، متبوعًا بعدد غير محدّد من الأحرف والأرقام والشرطات السفلية. ولو أردنا استخدام التعابير النمطية (Regular Expressions) للتعبير عن اسم المتغير فسيكون كالتالي: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* ...

الثوابت في PHP

الثابت هو معرّف (اسم) لقيمة بسيطة، وكما هو واضح من الاسم فإنّ هذه القيمة غير قابلة للتبديل أثناء تنفيذ الشيفرة (باستثناء الثوابت السحرية والتي لا تعدّ ثوابت في الواقع). الثابت حساس لحالة الأحرف ومن الشائع استخدام الأحرف الكبيرة في تسمية الثوابت. تتبع الثوابت نفس القواعد المتّبعة للتسمية في PHP، فاسم الثابت الصحيح يبدأ بحرف أو بشرطة سفلية، متبوعًا بعدد غير محدّد من الأحرف والأرقام والشرطات السفلية. ولو أردنا استخدام التعابير النمطية (Regular Expressions) للتعبير عن اسم المتغير فسيكون كالتالي: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* ...

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

هذا الدليل هو مدخل إلى المكتبة Active Record. بعد قراءة هذا الدليل، ستتعرف على: ما هي تقنية ORM (اختصار للعبارة Object Relational Mapping أي "ربط الكائنات العِلاقيَّة") وما هو Active Record وكيفية استعمالهما في ريلز. كيف ينسجم Active Record مع النموذج MVC (اختصار للعبارة Model-View-Controller). كيفية استعمال نماذج Active Record (أي Active Record models) لمعالجة وتعديل البيانات المخزَّنة في قاعدة بيانات عِلاقيِّة (relational database). اصطلاحات تسمية مخطَّط Active Record. مفهوم تهجيرات، وتحققات، وردود نداء قاعدة البيانات. ما هو Active Record؟ ...

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

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

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

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

المتغيرات في PHP

يكون التعبير عن المتغيرات في PHP باستخدام علامة $ متبوعة باسم المتغير والذي يكون حساسًا لحالة الأحرف. تتبع المتغيرات نفس القواعد المتبّعة للتسمية في PHP. إذ يبدأ اسم المتغير الصحيح بحرف أو بشرطة سفلية متبوعة بعدد غير محدد من الحروف أو الأرقام أو الشرطات السفلية. ولو أردنا استخدام التعابير النمطية (Regular Expression) للتعبير عن اسم المتغير فسيكون كالتالي: '‎‎[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*‎‎'. ملاحظة: في هذا الدليل الحرف هو كل ما يقع ضمن النطاق a-z و A-Z والبايتات من 127 إلى 255 (0x7f-0xff). ملاحظة: ...

المتغيرات في PHP

يكون التعبير عن المتغيرات في PHP باستخدام علامة $ متبوعة باسم المتغير والذي يكون حساسًا لحالة الأحرف. تتبع المتغيرات نفس القواعد المتبّعة للتسمية في PHP. إذ يبدأ اسم المتغير الصحيح بحرف أو بشرطة سفلية متبوعة بعدد غير محدد من الحروف أو الأرقام أو الشرطات السفلية. ولو أردنا استخدام التعابير النمطية (Regular Expression) للتعبير عن اسم المتغير فسيكون كالتالي: '‎‎[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*‎‎'. ملاحظة: في هذا الدليل الحرف هو كل ما يقع ضمن النطاق a-z و A-Z والبايتات من 127 إلى 255 (0x7f-0xff). ملاحظة: ...

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

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

التابع File.new في روبي

يفتح التابع new ملفًا محدَّدًا وبوضع معيَّن ثم يعيد كائنًا جديدًا من النوع File. البنية العامة new(filename, mode="r" [, opt]) → file new(filename [, mode [, perm]] [, opt]) → file عندما يكون الملف قيد الإنشاء، فمن الممكن أن تُعطَى بتات الأذونات عبر المعامل perm. تتعلق بتات الأذونات perm والنمط mode بالمنصة المستعملة. في الأنظمة الشبهة بيونكس، اطلع على صفحة الدليل man للدالة open(2)‎ والدالة chmod(2)‎ لمزيد من التفاصيل. يكون الكائن File الجديد المعاد في وضع التخزين (buffered mode) أو الوضع غير المتزامن ...

البدء مع ريلز

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

ملفات التصريحات اعتمادًا على الأمثلة في TypeScript

مقدمة الهدف من هذا الدليل هو تعليمك كيفيّة كتابة ملف تعريف عالي الجودة. هذا الدليل يريك أولًا توثيق واجهة برمجية (API) معيّنة مع طريقة استعمالها، ثم يشرح كيفية كتابة التصريح الملائم. هذه الأمثلة مرتبة تصاعديا حسب التعقيد، من الأبسط إلى الأعقد: المتغيرات العامة (Global Variables). الدوال العامة (Global Functions). الكائنات ذات الخاصيات. الدوال ذات الأحمال الزائدة (Overloaded Functions). الأنواع القابلة لإعادة الاستخدام (الواجهات). الأنواع القابلة لإعادة الاستخدام (أسماء الأنواع البديلة [Type Aliases]). تنظيم الأنواع. الأصناف. الأمثلة المتغيرات العامة التوثيق: يحتوي ...

العمليات على المتغيرات في Bash

العمليات الحسابية على المتغيرات ناقشنا العمليات الحسابية من قبل في التوسعات في Bash، انظر التوسع الحسابي. طول المتغير استخدم صيغة {VAR#}$ لحساب عدد المحارف في متغير ما، وإن كان VAR هو أحد المحرفيْن * أو @ فإن القيمة يحل محلها عدد المعامِلات الموضعية أو عدد العناصر داخل المصفوفة بشكل عام، انظر المثال التالي: [hsoub in ~] echo $SHELL /bin/bash [hsoub in ~] echo ${#SHELL} 9 [hsoub in ~] ARRAY=(one two three) [hsoub in ~] echo ${#ARRAY} 3 عمليات التحول في المتغيرات الإحلال Substitution {VAR:-WORD}$ إن لم ...

الأمران Break و Continue

أمر Break تُستخدم عبارة Break للخروج من الحلقة التكرارية الحالية قبل موعد خروجها الأصلي، ويحدث هذا في الحالات التي لا تعرف فيها عدد المرات التي يجب أن تنفذها الحلقة، كأن تعتمد على إدخال المستخدم مثلًا. يوضح المثال التالي حلقة while يمكن مقاطعتها، وهو مثال مُطوَّر من برنامج wisdom.sh من المثال المشروح في استخدام مُدخلات لوحة المفاتيح للتحكم في حلقة while : #!/bin/bash # هذا البرنامج يطبع أمثالًا ونصائح # يمكنك الخروج الآن بطريقة أفضل. FORTUNE=/usr/games/fortune while true; do echo "On which topic do you want advice?" echo ...

الدوال الداخلية (المضمّنة) في PHP

تقدّم PHP الكثير من الدوال والبنى الأساسية والمضمّنة في اللغة. هناك أيضًا دوال تتطلب وجود إضافة خاصّة باللغة، وعدا ذلك سيظهر الخطأ "undefined function". فعلى سبيل المثال، يجب تجميع PHP مع دعم GD لاستخدام الدوال الخاصة بالتعامل مع الصور مثل imagecreatetruecolor()‎. ويجب تجميع اللغة مع دعم MySQL لاستخدام الدالة mysql_connect()‎‎. هناك العديد من الدوالّ الأساسية والمضمّنة في جميع إصدارات PHP، مثل دوال السلاسل النصية والمتغيرات. يمكن استدعاء الدالة phpinfo()‎ أو get_loaded_extensions()‎ لمعرفة الإضافات المُحمّلة مع اللغة. لاحظ أيضًا أن هناك ...

العنصر

يُعرِّف العنصر <wbr> نقطةً لقسم السطر عند الحاجة، حيث يرمز اسم هذا العنصر إلى Word Break Opportunity، أي يُسمَح للمتصفح أن يقسم السطر عند هذا الموضع على الرغم من أنَّ قواعد قسم السطر لا تسمح بإنشاء سطر جديد في ذاك الموضع. مثال عن رابط URL طويل جدًا: <p>http://this.is.a.really.long.example.com/With/deeper/level/pages/deeper/level/pages/deeper/level/pages/deeper/level/pages/deeper/level/pages</p> لن يتسع الرابط السابق في عرض الشاشة، ولن يقوم المتصفح بتقسيمه إلى أقسام. ينصح دليل التنسيق في Yahoo بتقسيم الروابط الطويلة قبل علامات الترقيم (مثل الخط المائل) لتفادي ترك علاك الترقيم في نهاية ...

الدوال الداخلية (المضمّنة) في PHP

تقدّم PHP الكثير من الدوال والبنى الأساسية والمضمّنة في اللغة. هناك أيضًا دوال تتطلب وجود إضافة خاصّة باللغة، وعدا ذلك سيظهر الخطأ "undefined function". فعلى سبيل المثال، يجب تجميع PHP مع دعم GD لاستخدام الدوال الخاصة بالتعامل مع الصور مثل imagecreatetruecolor()‎. ويجب تجميع اللغة مع دعم MySQL لاستخدام الدالة mysql_connect()‎‎. هناك العديد من الدوالّ الأساسية والمضمّنة في جميع إصدارات PHP، مثل دوال السلاسل النصية والمتغيرات. يمكن استدعاء الدالة phpinfo()‎ أو get_loaded_extensions()‎ لمعرفة الإضافات المُحمّلة مع اللغة. لاحظ أيضًا أن هناك ...

إعادة التوجيه والحلقات في Bash

إعادة توجيه المُدخلات يمكن تحديد ملف به تعليمات تُستخدم للتحكم في حلقة تكرارية بدلًا من التحكم فيها عن طريق تفقد نتيجة أمر ما أو عن طريق تدخل المستخدم يدويًا، وعادة ما يُستخدم أمر read في هذه الحالة كأمر متحكِّم، ويستمر تنفيذ الحلقة طالما تُغذَّى الحلقة التكرارية بأسطر مدخلات من ذلك الملف، وبمجرد قراءة جميع الأسطر فإن الحلقة تتوقف وتخرج. وبما أن بنية الحلقة التكرارية تُعد بنية لأمر واحد (مثل while TEST-COMMAND; do CONSEQUENT-COMMANDS; done) فإن إعادة التوجيه يجب أن تحدث ...

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

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

التحكم بالتدفق (Control Flow) في Kotlin

كما في أيّة لغة برمجة فإن لغة Kotlin تحتوي على تعابير للتحكم بالتدفق، وهي: تعبير if، وتعبير when، وحلقة for، وحلقة while. وتدعم كذلك الكلمتين المفتاحيّتَين continue و break المستخدَمتَين في الحلقات (راجع أوامر الرجوع والقفز returns and jump). تعبير if يُعدُّ الشرط if في لغة Kotlin تعبيرًا يعيد قيمة، وبالتالي لا حاجة للصيغة condition ? then : else لأن تعبير if يقوم بهذا الدور كما في الشيفرة الآتية: // الاستخدام الاعتيادي var max = a if (a < b) max = b // ...

عوامل الإسناد في PHP

العامل "=" هو عامل الإسناد الأساسي. قد تظنّ للوهلة الأولى أن هذا العامل يعني "المساواة"، ولكنّه ليس كذلك. وظيفة هذا العامل هي ربط قيمة التعبير الموجود على جانبه الأيمن بالتعبير الموجود على الجانب الأيسر. يأخذ تعبير الإسناد القيمة المسندة، بمعنى أن قيمة "‎$a = 3" هي 3، ويتيح لنا هذا القيام بأمور معقدة، في المثال التالي تساوي قيمة المتغير ‎$a العدد 9، وأخذ المتغير ‎$b القيمة 4: <?php $a = ($b = 4) + 5; ?> إضافة إلى عامل الإسناد، هناك «عوامل ...

عوامل الإسناد في PHP

العامل "=" هو عامل الإسناد الأساسي. قد تظنّ للوهلة الأولى أن هذا العامل يعني "المساواة"، ولكنّه ليس كذلك. وظيفة هذا العامل هي ربط قيمة التعبير الموجود على جانبه الأيمن بالتعبير الموجود على الجانب الأيسر. يأخذ تعبير الإسناد القيمة المسندة، بمعنى أن قيمة "‎$a = 3" هي 3، ويتيح لنا هذا القيام بأمور معقدة، في المثال التالي تساوي قيمة المتغير ‎$a العدد 9، وأخذ المتغير ‎$b القيمة 4: <?php $a = ($b = 4) + 5; ?> إضافة إلى عامل الإسناد، هناك «عوامل ...

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

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

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

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

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

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

إضافة حالة البطارية في كوردوفا

توفر هذه الإضافة تنفيذًا (implementation) لإصدارٍ قديمٍ من الواجهة البرمجية لأحداث حالة البطارية. تضيف هذه الإضافة الأحداث الثلاثة التالية إلى الكائن window: batterystatus batterycritical batterylow يمكن للتطبيقات أن تستخدم window.addEventListener لإرفاق منصِتٍ (listener) لأيٍّ من الأحداث المذكورة أعلاه بعد اطلاق الحدث deviceready. التثبيت cordova plugin add cordova-plugin-battery-status‎ الكائن Status الكائن الذي تعيده جميع أحداث هذه الإضافة يملك الخصائص التالية: level: عدد بين 0 و 100 يمثِّل نسبة شحن البطارية. isPlugged: قيمة منطقية توضح ما إن كان الجهاز موصولاً بالشاحن أم ...

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

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

ميزات صدفة Bash

صدفة bash هي الصدفة الافتراضية لنظام جنو يوفّر مشروع GNU -إذ يشير الاسم إلى GNU's Not UNIX- أدواتٍ لإدارة النظم الشبيهة بنظام يونكس، وهي نظم التشغيل الحرة والمتوافقة مع معايير يونكس. وإحدى تلك الأدوات هي bash، صَدَفة متوافقة مع صدفة sh الأولى التي كتبها ستيفن بورن، وبها خصائص مفيدة من صدفتي Korn و C -اختصاراتهما ksh و csh على الترتيب-. وقد صُممت لتتوافق مع معيار IEEE POSIX P1003.2/ISO 9 945.2 للصدفات والبرامج.  كما أن بها مزايا محسّنة عن sh سواء ...

خاصيات الكائنات في PHP

تطلق تسمية "الخاصيات properties" على المتغيّرات المعرّفة ضمن الأصناف، وهناك تسميات أخرى مثل "المعاملات" أو "الحقول"، ولكن سنستخدم التسمية الأولى "الخاصيات" في هذا الدليل. تعرّف الخاصيات باستخدام إحدى الكلمات المفتاحية public، أو protected، أو private تتبعها عبارة تصريح عن متغير اعتيادي. يمكن أن يتضمّن هذا التصريح عملية تهيئة initialization، ولكن يجب أن تكون هذه التهيئة ذات قيمة ثابتة، بمعنى أنّه يجب أن تكون قابلة للمعالجة في وقت التصريف ويجب أن لا تعتمد على المعلومات المتاحة في وقت التشغيل لغرض المعالجة. ...

حلقة until في Bash

كيفية عمل حلقة until تشبه هذه الحلقةُ التكرارية حلقةَ while باستثناء أن الحلقة هنا تُنفَّذ إلى أن يُنفَّذ أمر اختباري TEST-COMMAND بنجاح، فتظل الحلقة عاملة طالما كان تنفيذ الأمر الاختباري يفشل. والبنية اللغوية لها تشبه البنية اللغوية لحلقة while : until TEST-COMMAND; do CONSEQUENT-COMMANDS; done وحالة الإعادة لهذه الحلقة هي نفسها حالة الخروج لآخر أمر يُنفَّذ من الأوامر التابعة CONSEQUENT-COMMANDS أو تكون صفرًا إن لم يُنفَّذ أي أمر. وقد يكون الأمر الاختباري TEST-COMMAND أي أمر يمكن أن يخرج بحالة نجاح أو فشل، ...

خاصيات الكائنات في PHP

تطلق تسمية "الخاصيات properties" على المتغيّرات المعرّفة ضمن الأصناف، وهناك تسميات أخرى مثل "المعاملات" أو "الحقول"، ولكن سنستخدم التسمية الأولى "الخاصيات" في هذا الدليل. تعرّف الخاصيات باستخدام إحدى الكلمات المفتاحية public، أو protected، أو private تتبعها عبارة تصريح عن متغير اعتيادي. يمكن أن يتضمّن هذا التصريح عملية تهيئة initialization، ولكن يجب أن تكون هذه التهيئة ذات قيمة ثابتة، بمعنى أنّه يجب أن تكون قابلة للمعالجة في وقت التصريف ويجب أن لا تعتمد على المعلومات المتاحة في وقت التشغيل لغرض المعالجة. ...

الدوال المعرّفة من طرف المستخدم في PHP

يمكن تعريف الدالة باستخدام الصيغة التالية: المثال 1: صيغة التعريف عن الدوال <?php function foo($arg_1, $arg_2, /* ..., */ $arg_n) { echo "Example function.\n"; return $retval; } ?> يمكن إضافة أي نوع من الشيفرة داخل الدالة، بل ويمكن إضافة دوالّ أخرى أو تعريف أصناف داخل الدالة. تتبع أسماء الدوالّ نفس القواعد المتبّعة في اللغة للتسمية. يبدأ الاسم الصحيح للدالة بحرف أو شرطة سفلية، متبوعًا بأيّ عددٍ من الحروف أو الأرقام أو الشرطات السفلية. ويمكن التعبير عن هذه الصيغة باستخدام التعابير النمطية بالصورة التالية: ‎[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*‎. نصيحة: راجع ...

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

يعلن التابع advise عن نية الوصول إلى بيانات الملف الحالي وفق نمط محدد. في أنظمة التشغيل التي لا تدعم استدعاء النظام posix_fadvise(2)‎، هذا التابع سيكون عمليةً فارغةً (no-op). المقصود بـ "البيانات" هي الحيز من الملف الحالي الذي يبدأ عند الإزاحة offset (انظر قسم البينة العامة) ويمتد حتى len بايت. إن كان len يساوي 0، فسينتهي الحيّز عند البايت الأخير من الملف. افتراضيًّا، كلا الوسيطين offset و len يساويان 0، أي أن النصيحة تنطبق على الملف بأكمله. في حالة حدوث خطأ، سيُطلَق ...

الدوال المعرّفة من طرف المستخدم في PHP

يمكن تعريف الدالة باستخدام الصيغة التالية: المثال 1: صيغة التعريف عن الدوال <?php function foo($arg_1, $arg_2, /* ..., */ $arg_n) { echo "Example function.\n"; return $retval; } ?> يمكن إضافة أي نوع من الشيفرة داخل الدالة، بل ويمكن إضافة دوالّ أخرى أو تعريف أصناف داخل الدالة. تتبع أسماء الدوالّ نفس القواعد المتبّعة في اللغة للتسمية. يبدأ الاسم الصحيح للدالة بحرف أو شرطة سفلية، متبوعًا بأيّ عددٍ من الحروف أو الأرقام أو الشرطات السفلية. ويمكن التعبير عن هذه الصيغة باستخدام التعابير النمطية بالصورة التالية: ‎[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*‎. نصيحة: راجع ...

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

(PHP 4, PHP 5, PHP 7) تحرِّك الدالة fseek()‎ مؤشِّر الملف الحالي إلى موقع محدَّد. الوصف int fseek ( resource $handle , int $offset [, int $whence = SEEK_SET ] ) تغيِّر هذه الدالة دليل موقع المؤشِّر للملف الذي يشير إليه المورد handle. يُحدَّد الموقع الجديد للمؤشِّر، والذي يقاس بالبايت انطلاقًا من بداية الملف، بإضافة قيمة الإزاحة offset إلى الموقع الذي يُحدِّده المعامل whence. يُسمح عمومًا بالانتقال إلى موقعٍ يأتي بعد نهاية الملف (EOF). إن أُضيفت بيانات إلى ذاك الموقع، فإنَّ ...

الأمر Artisan console) Artisan) في Laravel

مقدمة Artisan هي واجهة الأوامر المُرفقة ب Laravel. وهي تُوفّر عددًا من الأوامر المفيدة والتي ستساعدك في بناء التطبيق. لإظهار جميع الأوامر التي يوفّرها Artisan، يمكنك استعمال الأمر list php artisan list يحتوي كل أمر على صفحة مساعدة "help" تعرّف وتوضّح الأمر كما تُقدّم قائمة المعاملات والخيارات لكل أمر. يُستعمل الأمر مسبوقًا بالكلمة help لإظهار صفحة المساعدة: php artisan help migrate Laravel REPL تأتي كل تطبيقات Laravel مُرفَقَةً ب Tinker، وهي REPL مشغّلة بواسطة حُزمة PsySH. يسمح Tinker بالتفاعل مع ...

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

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

التعابير النمطية وأمثلة عن استخدام grep

التعابير النمطية Regular Expressions التعبير النمطي (Regular Expression) هو أسلوب يصف مجموعة من النصوص (strings)، وتُبنى تلك التعابير النمطية بشكل تناظري للتعابير الحسابية (arithmetic expressions) باستخدام عدة معامِلات لدمج التعابير الأصغر. وأصغر وحدة بنائية للتعابير النمطية هي تلك التي تطابق محرفًا واحدًا، ذلك أن أغلب المحارف -بما في ذلك كل الحروف والأرقام- ما هي إلا تعابير نمطية تطابق أنفسها، ويمكن اقتباس أي محرف خاص (metacharacter) له معنىً خاص بسبْقِه بشرطة مائلة خلفية \. المحارف الخاصة للتعابير النمطية يمكن إتْباع التعبير ...

عرض رسائل المستخدم في Bash

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

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

(PHP 4, PHP 5, PHP 7) تُحصي الدالة count()‎ جميع العناصر في مصفوفة، أو شيء ما في كائن. الوصف int count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] ) تُحصي هذه الدالة جميع العناصر في مصفوفة، أو شيء ما في كائن. بالنسبة للكائنات، إذا كانت مكتبة PHP القياسية SPL مثبتة لديك، فيمكنك ربط count()‎ عبر واجهة التطبيق Countable. وتحتوي الواجهة على دالة واحدة، Countable :: count()‎، وهي نفسها التي تُعيد القيمة المُعادة للدالة count()‎. الرجاء مراجعة قسم array من الدليل ...

الوحدة File::Constants في روبي

توفر الوحدة File::Constants ثوابت متعلقة بالملفات في روبي. جميع ثوابت الملفات المحتملة موثَّقة هنا ولكن ليس بالضرورة أن تكون كلها متاحة على منصتك. إن كانت المنصة الأساسية لا تعرِّف ثابتًا ما، فلن يُعرَّف ثابت روبي المقابل له. قد تجد بعض المعلومات المفيدة في توثيقات المنصة التي تعمل عليها (مثل الدليل man للدالة open(2)‎). الثوابت APPEND الإضافة عند كل عملية كتابة. BINARY تعطيل تحويل الشيفرة السطري. CREAT إنشاء ملف إن لم يكن موجودًا. DIRECT محاولة تصغير ثأتيرات الذاكرة المخبَّأة (cache) للدخل ...

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

(PHP 4, PHP 5, PHP 7) تُحصي الدالة count()‎ جميع العناصر في مصفوفة، أو شيء ما في كائن. الوصف int count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] ) تُحصي هذه الدالة جميع العناصر في مصفوفة، أو شيء ما في كائن. بالنسبة للكائنات، إذا كانت مكتبة PHP القياسية SPL مثبتة لديك، فيمكنك ربط count()‎ عبر واجهة التطبيق Countable. وتحتوي الواجهة على دالة واحدة، Countable :: count()‎، وهي نفسها التي تُعيد القيمة المُعادة للدالة count()‎. الرجاء مراجعة قسم array من الدليل ...

حاوي الخدمات (Service Container) في Laravel

مقدمة حاوي خدمات Laravel (أي Laravel service container) هو أداةٌ قوية لإدارة اعتِماديَّات (dependencies) الصِّنف والقيام بإضافة اعتِماديَّات (dependency injection)." إضافة الاعتِماديَّات" هو مصطلح تقني يعني في مُجمله "إضافة" اعتماديات الصنف باستخدام التابع الباني (constructor) أو في بعض الحالات توابع ضبط القيم (setter). لنلقِ نظرة على هذا المثال البسيط: <?php namespace App\Http\Controllers; use App\User; use App\Repositories\UserRepository; use App\Http\Controllers\Controller; class UserController extends Controller { /** * مستودع المُستخدِم تطبيق * * @var ...

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

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

أساسيات كتابة برامج Bash

في أي صدفة سيعمل البرنامج؟ يجب أن تحدد الصدفة التي ستنفِّذ البرنامج إذا أردت تنفيذه في صدفة فرعية، فقد لا تكون الصدفة التي كتبت فيها البرنامج هي الصدفة الافتراضية لنظامك، وعليه قد تُنتِج أوامر برنامجك أخطاءً عند تنفيذها في الصدفة الخطأ. يحدد أول سطر في البرنامج نوع الصدفة، ويجب أن يكون أول محرفين في ذلك السطر !#، ثم يتلو ذلك مسار الصدفة التي ستنفِّذ البرنامج. كذلك لا تبدأ برنامجك بسطر فارغ إذ تُقرأ الأسطر الفارغة على أنها أسطر أيضًا، وستبدأ ...

أنواع البيانات في PHP

لا يعيّن المبرمج نوع المتغير عادةً، بل تُعيِّنُه لغة PHP أثناء التنفيذ بالاعتماد على محتوى المتغير المستخدم. ملاحظة: استخدم دالة var_dump()‎ للتحقق من نوع وقيمة تعبير معين، واستخدم الدالة gettype()‎ للحصول على نوع المتغير عند الحاجة لغرض التنقيح، وللتأكد من نوع المتغير فاستخدم مجموعة دوال is_type وهذه بعض الأمثلة عنها: <?php $a_bool = TRUE; // boolean $a_str = "foo"; // string $a_str2 = 'foo'; // string $an_int = 12; // integer echo gettype($a_bool); // الناتج: ...

التابع Process.setrlimit في روبي

يضبط التابع setrlimit قيد المورد (resource limit) للعملية. اطلع على الدليل man لدالة النظام setrlimit(2)‎ لمزيد من التفاصيل. البنية العامة setrlimit(resource, cur_limit, max_limit) → nil click to toggle source setrlimit(resource, cur_limit) → nil المعاملات resource يشير إلى نوع المورد المراد ضبط قيوده. يُحدَّد برمزٍ مثل CORE:، أو سلسلة نصية مثل "CORE"، أو ثابت مثل Process::RLIMIT_CORE. الموارد المتاحة تتعلق بنظام التشغيل. قد تدعم روبي الموارد التالية: المورد الوصف AS الذاكرة الكلية المتاحة بالبايت. (SUSv3، و NetBSD، و FreeBSD، و OpenBSD باستثناء 4.4BSD-Lite) CORE حجم النواة بالبايت. (SUSv3) ...

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

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

المتغيرات المتغيرة في PHP

قد تحتاج في بعض الأحيان إلى استخدام أسماء متغيّرة للمتغيرات، بمعنى أن تعيين اسم المتغيّر واستخدامه يكون بصورة ديناميكية. لتعريف المتغيرات العادية نستخدم الصيغة التالية: <?php $a = 'hello'; ?> أما المتغيّر المتغير (variable variable) فيأخذ قيمة متغيّر معين ويستخدمه كاسم لمتغير آخر. في المثال السابق يمكن استخدام الكلمة hello كاسم لمتغير آخر وذلك باستخدام علامتي $ عند التعبير عن المتغير: <?php $$a = 'world'; ?> في هذه النقطة هناك متغيّران معرّفان ومخزنان في شجرة رموز PHP (أي PHP symbol tree): الأول هو ‎$a ...

البرامج الشائعة للصَّدَفة

الوظائف العامة للصدفة يفسر برنامج صَدَفة يونكس أوامر المستخدم التي يدخلها بنفسه أو التي يمكن استخراجها وقراءتها من ملف نصي يسمى شيفرة الصَّدَفة النصية (shell script) أو برنامج الصدفة (shell program). وتكون تلك الملفات النصية مفسّرة (interpreted) على خلاف الملفات المُجمّعة (compiled)، بمعنى أن الصدفة تقرأ الأوامرَ سطرًا سطرًا وتبحث عنها في النظام، على خلاف البرامج المُجمَّعة التي يحوِّل المُجمِّع (compiler) شيفرتها إلى ملف تنفيذي (executable file) مكتوب بلغة يستطيع الحاسوب فهمها -لغة الآلة-، ثم يُمكن استخدام ذلك الملف بعدها ...

تنفيذ الأوامر في Bash

عام تحدد bash نوع البرنامج الذي يتم تنفيذه، وتكون البرامج هنا عادة أوامر للنظام في صورة مُجمّعة (compiled) على جهازك. وحين يتم تنفيذ أحد تلك البرامج، فإن bash تنشئ نسخة من نفسها، وتولد عملية جديدة بناء على ذلك، ويدعى ذلك الإجراء بالاشتقاق (forking). وتلك العملية الفرعية لديها نفس بيئة العملية الأصلية، ولا تختلفان إلا في رقم معرّف العملية (Process ID Number) لكل منهما. وتحِل بيانات العملية الجديدة محِل مساحة العنوان (address space) بعد الاشتقاق ، ويتم ذلك الإجراء من خلال ...