نتائج البحث

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

التحكم بالتدفق (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 // ...

الخاصية flex-flow

الخاصية flex-wrap المختصرة في CSS تستعمل لضبط قيمة الخاصيتين flex-direction و flex-wrap. بطاقة الخاصية القيمة الابتدائية لكل قيمة مختصرة: flex-direction: row flex-wrap: nowrap تُطبَّق على حاويات flex. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة لكل قيمة مختصرة: flex-direction: كما حُدِّدَت. flex-wrap: كما حُدِّدَت. /* flex-flow: <flex-direction> */ flex-flow: row; flex-flow: row-reverse; flex-flow: column; flex-flow: column-reverse; /* flex-flow: <flex-wrap> */ flex-flow: nowrap; flex-flow: wrap; flex-flow: wrap-reverse; /* flex-flow: <flex-direction> and <flex-wrap> */ flex-flow: row nowrap; flex-flow: column wrap; flex-flow: column-reverse wrap-reverse; /* قيم عامة */ flex-flow: inherit; flex-flow: initial; flex-flow: unset; أمثلة راجع صفحة الخاصيتين flex-direction و flex-wrap لأمثلة تفصيلية ...

وحدات التحكّم (Controllers) في Laravel

مقدمة بدلًا من تعريف كامل منطق معالجة طلباتك (request handling logic) على أنّها نطاقات مغلقة (‎(Closures في ملفّات المسارات، قد ترغب في تنظيم هذا السلوك (behavior) باستخدام أصناف ووحدات التحكّم. تستطيع وحدات التحكّم جمع منطق معالجة الطلبات ذي الصلة في صنف واحد. تخزّن وحدات التحكّم في المجلّد app/Http/Controllers. وحدات التحكّم الأساسية تعريف وحدات التحكّم تجد أدناه مثالًا عن وحدة تحكّم بسيطة. لاحظ أن وحدة التحكّم تُوسّع صنف وحدة التحكّم الأساسية المُحتواة في Laravel. يوفّر الصنف الأساسي عددًا من التوابع المفيدة ...

الخاصية 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> ...

Kotlin/Topics

بُنية لغة Kotlin مشابهةٌ لبنية لغة البرمجة Java بوصفها كائنيّة التوجه (OOP)، وبالتالي فهي تعتمد أساسًا على وجود الأصناف (classes) التي تحتوي بدورها على الخاصّيّات (properties) والدوال (functions)، كما وتدعم Kotlin العلاقات فيما بينها مثل الوراثة (inheritance) من صنفٍ أعلى (superclass) أو التداخل فيما بينها (nesting classes)، وتمتاز بوجود مُحدِّدات الوصول (visibility modifiers) للتحكم بعمليات الوصول للبيانات المُخزَّنة، وكذلك فهي تعتمد في بُنيتها على الحزم (packages) والمكتبات (libraries) التي تحتوي على الدوال المساعدة عند الحاجة إليها، أمّا عن بُنية التعليمات ...

إزالة رايات التحكم (Remove Control Flag)

المشكلة لديك متغيرات منطقية تعمل كرايات تحكم لتعبيرات منطقية متعددة. الحل استخدم الكلمات المفتاحية break و continue و return بدلًا من هذه المتغيرات. لم إعادة التصميم؟ تعود رايات التحكم إلى الأيام الخوالي، عندما كان يُتاح دائمًا للمبرمج "الأصيل" نقطة إدخال واحدة للدوال (سطر تعريف الدالة) ونقطة خروج واحدة (في نهاية الدالة). لكن هذا النمط المتشدد عفا عليه الزمن في لغات البرمجة الحديثة، إذ أصبح لدينا عوامل خاصة لتعديل تدفق التحكم في الحلقات وغيرها من التركيبات المُعقدة مثل: break: إيقاف الحلقة. continue: ...

تعابير lambda في بايثون

يمكن إنشاء دوال لا تحمل أسماء باستخدام الكلمة المفتاحية lambda، وتأخذ هذه الدوال الصيغة التالية: lambda arguments: expression تسلك هذه الصيغة المختصرة سلوك دالة معرفة بالطريقة التالية: def <lambda>(arguments): return expression على سبيل المثال، تعيد الدالة التالية مجموع الوسيطين الخاصين بها: lambda a, b: a+b يمكن استخدام دوال lambda عند الحاجة إلى كائنات الدالة (function objects)، وتأخذ هذه الدوال تعبيرًا واحدًا فقط، وهي تعدّ صيغةً مختصرةً للطريقة الاعتيادية في تعريف الدوال. كما هو الحال مع تعريفات الدوال المتداخلة، يمكن لدوال ...

تعابير lambda في بايثون

يمكن إنشاء دوال لا تحمل أسماء باستخدام الكلمة المفتاحية lambda، وتأخذ هذه الدوال الصيغة التالية: lambda arguments: expression تسلك هذه الصيغة المختصرة سلوك دالة معرفة بالطريقة التالية: def <lambda>(arguments): return expression على سبيل المثال، تعيد الدالة التالية مجموع الوسيطين الخاصين بها: lambda a, b: a+b يمكن استخدام دوال lambda عند الحاجة إلى كائنات الدالة (function objects)، وتأخذ هذه الدوال تعبيرًا واحدًا فقط، وهي تعدّ صيغةً مختصرةً للطريقة الاعتيادية في تعريف الدوال. كما هو الحال مع تعريفات الدوال المتداخلة، يمكن لدوال ...

if في بايثون

تقدّم بايثون عبارة if للتحكم المشروط بتدفق الشيفرة، وتأخذ الصيغة التالية: if expression: statement فعلى سبيل المثال: >>> x = int(input("Please enter an integer: ")) Please enter an integer: -16 >>> if x < 0: ...     x = 0 ...     print('Negative changed to zero') Negative changed to zero عبارة elif يمكن استخدام عبارة elif (وهي اختصار لعبارة 'else if' ) عند الحاجة إلى التحقق من شروط إضافية، وكما هو موضح في المثال التالي: >>> x = int(input("Please enter an integer: ")) Please ...

if في بايثون

تقدّم بايثون عبارة if للتحكم المشروط بتدفق الشيفرة، وتأخذ الصيغة التالية: if expression: statement فعلى سبيل المثال: >>> x = int(input("Please enter an integer: ")) Please enter an integer: -16 >>> if x < 0: ...     x = 0 ...     print('Negative changed to zero') Negative changed to zero عبارة elif يمكن استخدام عبارة elif (وهي اختصار لعبارة 'else if' ) عند الحاجة إلى التحقق من شروط إضافية، وكما هو موضح في المثال التالي: >>> x = int(input("Please enter an integer: ")) Please ...

الخاصية 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-template-rows: none grid-template-columns: none grid-template-areas: none grid-auto-rows: auto grid-auto-columns: auto grid-auto-flow: row grid-column-gap: 0 grid-row-gap: 0 تُطبَّق على حاويات grid. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة لكل قيمة مختصرة: grid-template-rows: كما حُدِّدَت، ...

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

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

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

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

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

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

الخاصية display

الخاصية display في CSS تُحدِّد ما هو نوع صندوق العرض الذي سيستخدم مع العنصر. تؤخذ قيمة الخاصية display في HTML من مواصفة HTML أو من صفحة الأنماط الافتراضية في المتصفح أو التابعة للمستخدم، أما القيمة الافتراضية لها في XML هي inline. بطاقة الخاصية القيمة الابتدائية inline تُطبَّق على جميع العناصر. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت، ما عدا العناصر التي يمكن أن يتغير مكانها (positioned elements) والعناصر العائمة (floating elements) والعنصر الجذر (root element) فقد تكون ...

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

تتحقق الدالة isWhitespace()‎ إن كان المحرف الذي استٌدعي معها هو مسافة بيضاء (whitespace). البنية العامة actual fun Char.isWhitespace(): Boolean القيم المعادة تعاد القيمة true إن كان المحرف الذي استٌدعي معها هو مسافة بيضاء، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isWhitespace()‎ لمعرفة أي المحرفين التاليين هو مسافة بيضاء: fun main(args: Array<String>) { val x = '_' val y = ' ' print(x.isWhitespace()) // false ...

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

تتحقق الدالة isWhitespace()‎ إن كان المحرف الذي استٌدعي معها هو مسافة بيضاء (whitespace). البنية العامة actual fun Char.isWhitespace(): Boolean القيم المعادة تعاد القيمة true إن كان المحرف الذي استٌدعي معها هو مسافة بيضاء، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isWhitespace()‎ لمعرفة أي المحرفين التاليين هو مسافة بيضاء: fun main(args: Array<String>) { val x = '_' val y = ' ' print(x.isWhitespace()) // false ...

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

تتحقق الدالة isLetterOrDigit()‎ إن كان المحرف (character) الذي استٌدعي معها حرفًا أبجديًا أو رقمًا. البنية العامة inline fun Char.isLetterOrDigit(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف (character) المعطى حرفًا أبجديًا أو رقمًا، أو تعاد القيمة false خلاف ذلك. أمثلة استعمال الدالة isLetterOrDigit()‎ للتحقق من كون المحرف المراد استعماله حرفًا أبجديًا أو رقمًا: fun main(args: Array<String>) { val ...

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

تتحقق الدالة isJavaIdentifierPart()‎ إن كان من المحتمل أن يكون المحرف الذي استٌدعي معها جزءًا من مُعرِّف جافا (Java identifier) وليس المحرف الأول من المُعرّف. البنية العامة inline fun Char.isJavaIdentifierPart(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان من المحتمل أن يكون المحرف المعطى جزءًا من مُعرِّف جافا (Java identifier) وليس المحرف الأول من المُعرّف، أو القيمة false خلاف ذلك. أمثلة ...

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

تتحقق الدالة isDigit()‎ إن كان المحرف الذي استٌدعيت معه رقمًا أم لا. البنية العامة inline fun Char.isDigit(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن حال كان المحرف المعطى رقمًا، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isDigit()‎ للتحقق من عدَّة محارف إن كانت رقمًا أم لا: fun main(args: Array<String>) { val x = 'a' ...

الدالة text.isISOControl()‎ في Kotlin

تتحقق الدالة isISOControl()‎ إن كان المحرف الذي استٌدعي معها هو أحد محارف تحكمISO ‎‎‏ ‎ISO control character)‎‎‎). البنية العامة inline fun Char.isISOControl(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف المعطى هو أحد محارف تحكمISO ‎‎‏، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isISOControl()‎ لمعرفة أيُّ المحرفين التاليين هو من أحد محارف تحكم ISO: fun main(args: Array<String>) { ...

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

تتحقق الدالة isJavaIdentifierPart()‎ إن كان من المحتمل أن يكون المحرف الذي استٌدعي معها جزءًا من مُعرِّف جافا (Java identifier) وليس المحرف الأول من المُعرّف. البنية العامة inline fun Char.isJavaIdentifierPart(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان من المحتمل أن يكون المحرف المعطى جزءًا من مُعرِّف جافا (Java identifier) وليس المحرف الأول من المُعرّف، أو القيمة false خلاف ذلك. أمثلة ...

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

تتحقق الدالة isJavaIdentifierStart()‎ إن كان يُسمَح أن يكون المحرف الذي استٌدعي معها المحرف الأول من مُعرِّف جافا (Java identifier). البنية العامة inline fun Char.isJavaIdentifierStart(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان يسمح أن يكون المحرف الذي استٌدعي معها المحرف الأول من مُعرِّف جافا (Java identifier)، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isJavaIdentifierStart()‎ لمعرفة أيُّ المحرفين التاليين يسمح ...

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

تتحقق الدالة isLowSurrogate()‎ إن كان المحرف الذي استٌدعي معها بديلًا سفليًّا لعدد بتات الترميز الموحد (Unicode low-surrogate code unit). البنية العامة inline actual fun Char.isLowSurrogate(): Boolean وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف المعطى بديلًا سفليًّا لعدد بتات الترميز الموحد، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isLowSurrogate()‎ لمعرفة أي المحرفيين التاليين هو بديل سفلي لعدد بتات الترميز الموحد: fun main(args: Array<String>) ...

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

تتحقق الدالة isJavaIdentifierStart()‎ إن كان يُسمَح أن يكون المحرف الذي استٌدعي معها المحرف الأول من مُعرِّف جافا (Java identifier). البنية العامة inline fun Char.isJavaIdentifierStart(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان يسمح أن يكون المحرف الذي استٌدعي معها المحرف الأول من مُعرِّف جافا (Java identifier)، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isJavaIdentifierStart()‎ لمعرفة أيُّ المحرفين التاليين يسمح ...

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

تتحقق الدالة isLowSurrogate()‎ إن كان المحرف الذي استٌدعي معها بديلًا سفليًّا لعدد بتات الترميز الموحد (Unicode low-surrogate code unit). البنية العامة inline actual fun Char.isLowSurrogate(): Boolean وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف المعطى بديلًا سفليًّا لعدد بتات الترميز الموحد، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isLowSurrogate()‎ لمعرفة أي المحرفيين التاليين هو بديل سفلي لعدد بتات الترميز الموحد: fun main(args: Array<String>) ...

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

تتحقق الدالة isTitleCase()‎ إن كان المحرف الذي استٌدعي معها محرفًا عُنوانيًا (titlecase). تتكون هذه المحارف عادةً من محرفين ملتصقين، مثل 'Dž' أو 'Nj'، إذ يعاملان وكأنَّهما محرفٌ واحدٌ فقط. البنية العامة inline fun Char.isTitleCase(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف المعطى محرفًا عُنوانيًا (titlecase)، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isTitleCase()‎لمعرفة أي المحارف التالية هو محرفٌ ...

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

تتحقق الدالة isLetter()‎ إن كان المحرف (character) الذي استٌدعي معها حرفًا أبجديًا. البنية العامة inline fun Char.isLetter(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف (character) المعطى حرفًا أبجديًا، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isLetter()‎ للتحقق من كون المحرف المراد استعماله حرفًا أبجديًا: fun main(args: Array<String>) { val x = 'a' ...

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

تتحقق الدالة isLetter()‎ إن كان المحرف (character) الذي استٌدعي معها حرفًا أبجديًا. البنية العامة inline fun Char.isLetter(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف (character) المعطى حرفًا أبجديًا، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isLetter()‎ للتحقق من كون المحرف المراد استعماله حرفًا أبجديًا: fun main(args: Array<String>) { val x = 'a' ...

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

تتحقق الدالة isLetterOrDigit()‎ إن كان المحرف (character) الذي استٌدعي معها حرفًا أبجديًا أو رقمًا. البنية العامة inline fun Char.isLetterOrDigit(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف (character) المعطى حرفًا أبجديًا أو رقمًا، أو تعاد القيمة false خلاف ذلك. أمثلة استعمال الدالة isLetterOrDigit()‎ للتحقق من كون المحرف المراد استعماله حرفًا أبجديًا أو رقمًا: fun main(args: Array<String>) { val ...

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

تتحقق الدالة isUpperCase()‎ إن كان الحرف الذي استٌدعي معها حرفًا كبيرًا (upper case). البنية العامة inline fun Char.isUpperCase(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان الحرف الذي استٌدعي معها حرفًا كبيرًا، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isUpperCase()‎ لمعرفة إن كان الحرفان التاليان متساويين: fun main(args: Array<String>) { val x = 'a' ...

الدالة text.isISOControl()‎ في Kotlin

تتحقق الدالة isISOControl()‎ إن كان المحرف الذي استٌدعي معها هو أحد محارف تحكمISO ‎‎‏ ‎ISO control character)‎‎‎). البنية العامة inline fun Char.isISOControl(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف المعطى هو أحد محارف تحكمISO ‎‎‏، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isISOControl()‎ لمعرفة أيُّ المحرفين التاليين هو من أحد محارف تحكم ISO: fun main(args: Array<String>) { ...

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

تتحقق الدالة isLowerCase()‎ إن كان الحرف الذي استٌدعي معها حرفًا صغيرًا (lower case). البنية العامة inline fun Char.isLowerCase(): Boolean وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان الحرف الذي استٌدعي معها حرفًا صغيرًا، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isLowerCase()‎ لمعرفة إن كان الحرفان التاليان متساويين: fun main(args: Array<String>) { val x = 'a' val y = ...

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

تتحقق الدالة isHighSurrogate()‎ إن كان المحرف الذي استٌدعي معها بديلًا علويًا لعدد بتات الترميز الموحد (Unicode high-surrogate code unit). البنية العامة inline actual fun Char.isHighSurrogate(): Boolean وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف المعطى بديلًا علويًا لعدد بتات الترميز الموحد، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isHighSurrogate()‎ لمعرفة أي المحرفين التاليين هو بديلٌ علويٌّ لعدد بتات الترميز الموحد: fun main(args: ...

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

تتحقق الدالة isIdentifierIgnorable()‎ إن كان المحرف الذي استٌدعي معها محرفًا قابلًا للإهمال (ignorable character) في مُعرِّفات جافا (Java identifier) أو معرِّفات الترميز الموحَّد (Unicode identifier). البنية العامة inline fun Char.isIdentifierIgnorable(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف المعطى محرفًا قابلًا للإهمال (ignorable character) في مُعرِّفات جافا (Java identifier) أو معرِّفات الترميز الموحَّد (Unicode identifier)، أو تعاد القيمة false ...

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

تتحقق الدالة isLowerCase()‎ إن كان الحرف الذي استٌدعي معها حرفًا صغيرًا (lower case). البنية العامة inline fun Char.isLowerCase(): Boolean وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان الحرف الذي استٌدعي معها حرفًا صغيرًا، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isLowerCase()‎ لمعرفة إن كان الحرفان التاليان متساويين: fun main(args: Array<String>) { val x = 'a' val y = ...

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

تتحقق الدالة isUpperCase()‎ إن كان الحرف الذي استٌدعي معها حرفًا كبيرًا (upper case). البنية العامة inline fun Char.isUpperCase(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان الحرف الذي استٌدعي معها حرفًا كبيرًا، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isUpperCase()‎ لمعرفة إن كان الحرفان التاليان متساويين: fun main(args: Array<String>) { val x = 'a' ...

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

تتحقق الدالة isSurrogate()‎ إن كان المحرف الذي استٌدعي معها بديلًا لعدد بتات الترميز الموحد (Unicode surrogate code unit). البنية العامة fun Char.isSurrogate(): Boolean وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة المنطقية true إن كان المحرف الذي استٌدعي معها بديلًا لعدد بتات الترميز الموحد، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isSurrogate()‎ لمعرفة أي المحرفيين التاليين هو بديل لعدد بتات الترميز الموحد: fun main(args: Array<String>) { ...

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

تتحقق الدالة isIdentifierIgnorable()‎ إن كان المحرف الذي استٌدعي معها محرفًا قابلًا للإهمال (ignorable character) في مُعرِّفات جافا (Java identifier) أو معرِّفات الترميز الموحَّد (Unicode identifier). البنية العامة inline fun Char.isIdentifierIgnorable(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف المعطى محرفًا قابلًا للإهمال (ignorable character) في مُعرِّفات جافا (Java identifier) أو معرِّفات الترميز الموحَّد (Unicode identifier)، أو تعاد القيمة false ...

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

تتحقق الدالة isSurrogate()‎ إن كان المحرف الذي استٌدعي معها بديلًا لعدد بتات الترميز الموحد (Unicode surrogate code unit). البنية العامة fun Char.isSurrogate(): Boolean وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة المنطقية true إن كان المحرف الذي استٌدعي معها بديلًا لعدد بتات الترميز الموحد، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isSurrogate()‎ لمعرفة أي المحرفيين التاليين هو بديل لعدد بتات الترميز الموحد: fun main(args: Array<String>) { ...

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

تتحقق الدالة isHighSurrogate()‎ إن كان المحرف الذي استٌدعي معها بديلًا علويًا لعدد بتات الترميز الموحد (Unicode high-surrogate code unit). البنية العامة inline actual fun Char.isHighSurrogate(): Boolean وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف المعطى بديلًا علويًا لعدد بتات الترميز الموحد، أو القيمة false خلاف ذلك. أمثلة مثالٌ على استعمال الدالة isHighSurrogate()‎: fun main(args: Array<String>) { val x = 'a' val y ...

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

تتحقق الدالة isDefined()‎ إن كان المحرف (Unicode code point) الذي استٌدعي معها مُعرّفًا في الترميز الموحَّد (Unicode) أم لا. البنية العامة inline fun Char.isDefined(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف (Unicode code point) المعطى مُعرّفًا في الترميز الموحَّد (Unicode)، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isDefined()‎ لمعرفة إن كان المحرف 'أ' العربي معرَّفًا في الترميز ...

الدوال (Functions) في لغة Kotlin

التصريح عن الدوال (Function Declarations) يُصرَّح عن الدوال في لغة Kotlin باستخدام الكلمة المفتاحيّة fun كما يلي: fun double(x: Int): Int { return 2 * x } استخدام الدوال (Function Usage) يكون استدعاء الدوال كما في أيّ لغة برمجةٍ أخرى بالشكل: val result = double(2) أمّا استدعاء الدوال من الأصناف فيعتمد على المعامل . كما في الشيفرة: Sample().foo() // إنشاء كائنٍ من الصنف واستدعاء الدالة عبره المعاملات (Parameters) تُعرَّف المعاملات بالصيغة المُعتمدَة في لغة Pascal وهي name: type ، ...

الدالة text.equals()‎ في Kotlin

تتحقق الدالة equals()‎ من تساوي محرفين أو سلسلتين نصيتين مع بعضهما بعضًا. البنية العامة actual fun String?.equals( other: String?, ignoreCase: Boolean = false ): Boolean تتحقق الدالة equals()‎ إن كانت السلسلة النصية String التي استُدعيت معها مساويةً للسلسلة النصية other المُمرّرة إليها. إن مرِّر الوسيط ignoreCase وكانت قيمته true، فستُهمَل حالة الحروف (سواءً كبيرة أو صغيرة) أثناء الموازنة بينها. قيمة هذا الوسيط الافتراضية هي false أي أخذُ حالة الحروف بالحسبان. fun Char.equals( ...

الصنف ‎‎Char‎ في Kotlin

يمثل الصنف Char محرفًا بحجم 16 بت مرمزًا بالترميز الموحَّد (Unicode). في بيئة التشغيل JVM، القيم غير المعدومة (non-nullable) لهذا النوع تُمثَّل كقيم للنوع char الأساسي. class Char : Comparable<Char> الدوال compareTo توازن الدالة compareTo()‎ بين قيمة المحرف الذي استُدعي معها والقيمة المُمرّرة إليها ثمَّ تعيد القيمة 0 إن كانا متساويين، أو قيمة سالبة إن كانت القيمة الأولى (قيمة المحرف الذي استُدعي معها) أصغر من القيمة الثانية، أو قيمة موجبة إن كانت القيمة الأولى أكبر من القيمة الثانية. dec تعيد الدالة dec()‎ المحرف السابق للمحرف الذي ...

الصنف ‎‎Char‎ في Kotlin

يمثل الصنف Char محرفًا بحجم 16 بت مرمزًا بالترميز الموحَّد (Unicode). في بيئة التشغيل JVM، القيم غير المعدومة (non-nullable) لهذا النوع تُمثَّل كقيم للنوع char الأساسي. class Char : Comparable<Char> الدوال compareTo توازن الدالة compareTo()‎ بين قيمة المحرف الذي استُدعي معها والقيمة المُمرّرة إليها ثمَّ تعيد القيمة 0 إن كانا متساويين، أو قيمة سالبة إن كانت القيمة الأولى (قيمة المحرف الذي استُدعي معها) أصغر من القيمة الثانية، أو قيمة موجبة إن كانت القيمة الأولى أكبر من القيمة الثانية. dec تعيد الدالة dec()‎ المحرف السابق للمحرف الذي ...

المجموعات (Collections): القائمة (List) والمجموعة (Set) و الخارطة (Map) في لغة Kotlin

تُميِّز لغة Kotlin (على خلاف العديد من لغات البرمجة) بين المجموعة المتغيّرة (mutable) والثابتة (immutable)، وتساهم قدرتُها على التحكُّم الدقيق في الحالات التي يُسمَح فيها بتعديل المجموعات في التقليل من الأخطاء البرمجية (bugs) وتحقيق تصميمٍ أفضل لواجهات API. ومن المهمِّ معرفة الفوارق ما بين العرض (view) الثابت للقراءة فقط (read-only) للمجموعة المتغيّرة والمجموعة الثابتة الفعليّة، إذ من السهل إنشاء كلِّ منهما ولكن نظام الأنواع في Kotlin لا يوضّح الفرق بينهما، ويقع ذلك على عاتق المتعلِّم. يُعدُّ النوع List<out T>‎ في ...

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

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

تعريف الدوال في بايثون

تُعرَّف الدوال باستخدام الكلمة المفتاحية def يتبعها اسم الدالة ثم قائمة بالمعاملات محاطة بالأقواس. أما الكتلة الرئيسية للدالة فتبدأ في السطر التالي لسطر التعريف، ويجب أن تزاح بمقدار إزاحة واحدة. مثال >>> def fib(n): # دالة لإنشاء متسلسلة فابيوناتشي ... """Print a Fibonacci series up to n.""" ... a, b = 0, 1 ... while a < n: ... print(a, end=' ') ... ...

for في بايثون

تختلف عبارة for قليلًا في بايثون عن نظيرتها في لغتي C أو Pascal، فبدلًا من تكرار الحلقة استنادًا إلى عملية حسابية (مثل لغة Pascal) أو منح المستخدم القدرة على تعريف عدد مرات التكرار والشرط الذي يؤدي إلى إيقاف عمل الحلقة (كما في لغة C)، فإنّ عبارة for في بايثون تمرّ على عناصر أي تسلسل (قائمة أو سلسلة نصية) معتمدة في ذلك على ترتيب تلك العناصر في ذلك التسلسل. بنية عبارة for >>> # معرفة أطوال السلاسل النصية: ... words = ['cat', ...

for في بايثون

تختلف عبارة for قليلًا في بايثون عن نظيرتها في لغتي C أو Pascal، فبدلًا من تكرار الحلقة استنادًا إلى عملية حسابية (مثل لغة Pascal) أو منح المستخدم القدرة على تعريف عدد مرات التكرار والشرط الذي يؤدي إلى إيقاف عمل الحلقة (كما في لغة C)، فإنّ عبارة for في بايثون تمرّ على عناصر أي تسلسل (قائمة أو سلسلة نصية) معتمدة في ذلك على ترتيب تلك العناصر في ذلك التسلسل. بنية عبارة for >>> # معرفة أطوال السلاسل النصية: ... words = ['cat', ...

تعريف الدوال في بايثون

تُعرَّف الدوال باستخدام الكلمة المفتاحية def يتبعها اسم الدالة ثم قائمة بالمعاملات محاطة بالأقواس. أما الكتلة الرئيسية للدالة فتبدأ في السطر التالي لسطر التعريف، ويجب أن تزاح بمقدار إزاحة واحدة. مثال >>> def fib(n): # دالة لإنشاء متسلسلة فابيوناتشي ... """Print a Fibonacci series up to n.""" ... a, b = 0, 1 ... while a < n: ... print(a, end=' ') ... ...

تعريف الدوال في بايثون

تُعرَّف الدوال باستخدام الكلمة المفتاحية def يتبعها اسم الدالة ثم قائمة بالمعاملات محاطة بالأقواس. أما الكتلة الرئيسية للدالة فتبدأ في السطر التالي لسطر التعريف، ويجب أن تزاح بمقدار إزاحة واحدة. مثال >>> def fib(n): # دالة لإنشاء متسلسلة فابيوناتشي ... """Print a Fibonacci series up to n.""" ... a, b = 0, 1 ... while a < n: ... print(a, end=' ') ... ...

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 هي خاصية مختصرة ...

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

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

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

تقدّم وحدة webbrowser واجهة متطوّرة تسمح بعرض مستندات الويب على المستخدمين. في أغلب الحالات يكفي استدعاء الدالة open()‎ ببساطة للقيام بكلّ شيء على نحو سليم. تكون متصفّحات الويب الرسومية graphical browser مفضّلة مع محرّك العرض X11، ولكنّ تستخدم الوحدة المتصفّحات النصية text-mode browsers إن كانت المتصفّحات الرسومية غير متوفّرة، أو كان محرّك العرض X11 غير متاح لاستخدام. وعند استخدام المتصفّحات النصية تتوقّف عملية الاستدعاء إلى حين خروج المستخدم من المتصفّح. إن كان متغيّر البيئة BROWSER موجودًا، فإنّه سيفسّر كقائمة os.pathsep ...

التشفير (Encryption) في Laravel

مقدمة يستخدم مُشفّر Laravel مكتبة التشفير OpenSSL لتوفير تشفير AES-256 و AES-128. ننصحك بشدة باستخدام تسهيلات التشفير المضمنة في Laravel وعدم محاولة إنشاء خوارزميات التشفير المنشأة محليًا والخاصة بك. يتم توقيع جميع قيم Laravel المشفرة باستخدام رسالة رمز الاستيثاق (message authentication code - MAC) بحيث لا عدل قيمها الأساسية بمجرد تشفيرها. الضبط قبل استخدام مُشفّر Laravel، اضبط خيار المفتاح (‎(key في ملف الإعدادات config/app.php. استخدم الأمر php artisan key:generate لإنشاء هذا المفتاح لأن أمر Artisan سيستخدم مولد بايت عشوائي آمن ...

التجزئة (Hashing) في Laravel

مقدمة تقدم واجهة التجزئة الخاصة بإطار Laravel تجزئة Bcrypt و Argon2 آمنة لتخزين كلمات مرور المستخدم. إذا كنت تستخدم الصنفين الداخليين ‎(Built-in classes)‎ LoginController و RegisterController المتضمنين مع تطبيق Laravel الخاص بك، فإنهما يستخدمان Bcrypt للتسجيل والاستيثاق تلقائيًا. ملاحظة: يعدّ Bcrypt خيارًا رائعًا لتجزئة كلمات المرور لأن "عامل العمل" الخاص به قابل للتعديل، مما يعني أنه يمكن زيادة الوقت المستغرق لإنشاء تجزئة كلما زادت طاقة المعدات. الضبط يُضبط محرك تشغيل التجزئة التلقائي الخاص بتطبيقك في ملف الإعدادات config/hashing.php. يوجد حاليا ...

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

PHP 4 >= 4.0.3, PHP 5, PHP 7)‎) تعيد الدالة session_cache_limiter()‎ أو تضبط محدّد ذاكرة التخزين المؤقتة. الوصف string session_cache_limiter ([ string $cache_limiter ] )‎ تعيد الدالة session_cache_limiter()‎ اسم محدّد ذاكرة التخزين المؤقتة الحالية. يحدّد محدّد ذاكرة التخزين المؤقت أيّة ذاكرة تخزين مؤقتة يتم من خلالها إرسال ترويسات HTTP إلى العميل. تحدّد هذه الترويسات القواعد التي قد يتم تخزين محتوى الصفحة بها مؤقتًا بواسطة العميل ووكلاء وسيطة (intermediate proxies). لا يسمح تعيين محدد ذاكرة التخزين المؤقتة إلى nocache بالتخزين المؤقت للعميل. ...

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

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

حاوي الخدمات (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 ...

الدالة webbrowser.register()‎‎ في بايثون

تسجّل الدالة نوع المتصفّح المعطى، وبعد تسجيل نوع المتصفّح باستخدام هذه الدالة يصبح بإمكان الدالة get()‎ أن تعيد متحكّمًا لنوع المتصفّح المسجَّل. البنية العامة webbrowser.register(name, constructor, instance=None, *, preferred=False) المعاملات ‎instance إن لم يكن هذا المعامل موجودًا، أو أخذ القيمة None، المعامل constructor سيستدعى دون أيّ معاملات وذلك لإنشاء نسخة عند الحاجة. أما إذا أخذ المعامل قيمة معيّنة، فإنّ المعامل constructor لن يستدعى إطلاقًا، وقد يحمل القيمة None. preferred يؤدي تعيين القيمة True لهذا المعامل إلى جعل هذا المتصفّح النتيجةَ ...

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

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

الدالة webbrowser.get()‎‎ في بايثون

تعيد الدالة كائن controller لنوع المتصفّح المعطى. البنية العامة webbrowser.get(using=None) المعاملات ‎using إن أخذ هذا المعامل القيمة None فإنّ الدالة ستعيد كائنًا للمتصفّح الافتراضي يكون ملائمًا لبيئة الاستدعاء. هناك عددٌ من أنواع المتصفّحات المعرّفة مسبقًا، ويبين الجدول التالي أسماء هذه الأنواع والتي يمكن تمريرها إلى الدالة get()‎ وإنشاء أصناف ذات أنواع مختلفة: اسم المتصفح الصنف ملاحظات 'mozilla' Mozilla('mozilla')‎   'firefox' Mozilla('mozilla')‎   'netscape' Mozilla('netscape')‎   'galeon' Galeon('galeon')‎   'epiphany' Galeon('epiphany')‎   'skipstone' BackgroundBrowser('skipstone')‎   'kfmclient' Konqueror()‎ (1) 'konqueror' Konqueror()‎ (1) ...

الخاصية flex-grow

الخاصية flex-grow في CSS تُحدِّد معامل التمدد لأحد عناصر flex، وهي تُحدِّد مقدار المساحة التي يجب أن يأخذها العنصر داخل حاوية flex. بطاقة الخاصية القيمة الابتدائية 0 تُطبَّق على عناصر flex. قابلة للوراثة لا قابلة للتحريك نعم القيمة المحسوبة كما حُدِّدَت. /* <number> قيم عددية */ flex-grow: 3; flex-grow: 0.6; /* قيم عامة */ flex-grow: inherit; flex-grow: initial; flex-grow: unset; أمثلة في المثال الآتي، حددنا تمدد العناصر A و B و C و F باستخدام القاعدة flex-grow: 1، بينما كان تمدد العناصر D و E مساويًا ...

أنماط الشيفرات المُتعارَف عليها ما بين مبرمجي Kotlin

تعرِض هذه الصفحة أنماط كتابة الشيفرات المُتعارَف عليها (conventions) من قِبل مبرمجي لغة Kotlin. تطبيق دليل التنسيق (Applying the Style Guide) لضبط المُنسِّق IntelliJ formatter بما يتوافق مع هذا الدليل يُنصَح بتثبيت إضافة Kotlin بالإصدار 1.2.20 (أو أي إصدارٍ أحدث) وضبط المّحرِّر بالانتقال إلى الإعدادات (Settings) ثمّ المُحرِّر (Editor) ثم نمط الشيفرة (Code Style) ثم Kotlin واختر "ضبط من..." Set from…"‎" في الزاوية اليمنى العُلويَّة ومن القائمة اختر الخيار Predefined style/Kotlin style guide. وللتأكد من تنسيق الشيفرة وفقًا لدليل Kotlin ...

أنماط الشيفرات المُتعارَف عليها ما بين مبرمجي Kotlin

تعرِض هذه الصفحة أنماط كتابة الشيفرات المُتعارَف عليها (conventions) من قِبل مبرمجي لغة Kotlin. تطبيق دليل التنسيق (Applying the Style Guide) لضبط المُنسِّق IntelliJ formatter بما يتوافق مع هذا الدليل يُنصَح بتثبيت إضافة Kotlin بالإصدار 1.2.20 (أو أي إصدارٍ أحدث) وضبط المّحرِّر بالانتقال إلى الإعدادات (Settings) ثمّ المُحرِّر (Editor) ثم نمط الشيفرة (Code Style) ثم Kotlin واختر "ضبط من..." Set from…"‎" في الزاوية اليمنى العُلويَّة ومن القائمة اختر الخيار Predefined style/Kotlin style guide. وللتأكد من تنسيق الشيفرة وفقًا لدليل Kotlin ...

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

تعكس الدالة not()‎ القيمة المنطقيَّة المستدعاة معها. يمكن استعمال المعامل ! عوضًا عن هذه الدالة. البنية العامة operator fun not(): Boolean المعاملات other القيمة المنطقية الأخرى التي ستطبق عليها العملية. القيمة المعادة يعاد عكس القيمة المنطقية المعطاة. أمثلة استخدام الدالة ()not لعكس قيمة منطقية معينة: fun main(args: Array<String>) { val x = true println(x.not()) // false println(!x) // false } انظر أيضًا الدالة and()‎: تجري العملية and المنطقية ...

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

تجري الدالة or()‎ العملية or المنطقية بين قيمتين منطقيتين؛ خلافًا للمعامل ||، تتحقق هذه الدالة من كلا القيمتين المنطقيتين. البنية العامة infix fun or(other: Boolean): Boolean وجود الكلمة المفتاحية infix يدل على أنَّ هذه الدالة يمكن استدعاؤها بنمط التدوين الداخليّ (infix notation)؛ أي من خلال حذف المعامل . والأقواس () المُستخدَمَين في الاستدعاء عادةً. المعاملات other القيمة المنطقية الأخرى التي ستطبق عليها العملية. القيمة المعادة تعاد قيمة منطقية تكون ناتج إجراء العملية or على القيمتين المعطيتين. أمثلة استخدام الدالة ()or لتطبيق العملية or على قيمتين منطقيتين: fun ...

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

تجري الدالة and()‎ العملية and المنطقية بين قيمتين منطقيتين؛ خلافًا للمعامل &&، تتحقق هذه الدالة من كلا القيمتين المنطقيتين. البنية العامة infix fun and(other: Boolean): Boolean وجود الكلمة المفتاحية infix يدل على أنَّ هذه الدالة يمكن استدعاؤها بنمط التدوين الداخليّ (infix notation)؛ أي من خلال حذف المعامل . والأقواس () المُستخدَمَين في الاستدعاء عادةً. المعاملات other القيمة المنطقية الأخرى التي ستطبق عليها العملية. القيمة المعادة تعاد قيمة منطقية تكون ناتج إجراء العملية and على القيمتين المعطيتين. أمثلة استخدام الدالة ()and لتطبيق العملية and على قيمتين منطقيتين: fun ...

Kotlin/Native

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

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

تنشئ الدالة to()‎ عنصرًا من النوع Pair مكونًا من الكائن الذي استُدعي معه والمعامل الذي مُرّر إليه، أي العنصر that. البنية العامة infix fun <A, B> A.to(that: B): Pair<A, B> يُلاحَظ وجود الكلمة المفتاحية infix للدلالة على أن هذه الدالة يمكن استدعاؤها بنمط التدوين الداخليّ (infix notation)؛ أي من خلال حذف المعامل . والأقواس () المُستخدَمَين في الاستدعاء عادةً، وللمزيد من التفاصيل راجع توثيق التدوين الداخلي للدوال (infix functions). المعاملات that الكائن المراد استعماله مع الكائن المعطى في إنشاء كائن من ...

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

‎.serializeArray()‎ القيم المعادة يعيد مصفوفة من النوع Array. الوصف يُرمِّز هذا التابع مجموعة من عناصر النماذج ويضعها في مصفوفة على شكل أسماء وقيم من أجل إرسالها. ‎.serializeArray()‎ أُضيف مع الإصدار: 1.2. ولا يقبل هذا التابع أية وسائط. ينشئ التابع ‎.serializeArray()‎ مصفوفة من كائناتٍ قابلةٍ لتكون مرمَّزة بصيغة JSON. يمكن تطبيقه على مجموعة jQuery تحتوي على عناصر نموذج <form> و/أو عناصر تحكم بالنموذج (form controls). يمكن أن تكون عناصر التحكم من أنواع مختلفة: <form> <div><input type="text" name="a" value="1" id="a"></div> ...

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

تُعيد الدالة اسم ملف الطرفية المتحكمة بالعملية. البنية العامة ctermid() الدالة متوافرة في أنظمة يونكس. القيمة المعادة تُعيد الدالة اسم ملف الطرفية المتحكمة (controlling terminal) بالعملية. أمثلة >>> from os import ctermid >>> ctermid() '/dev/tty' مصادر قسم الوحدة os في توثيق بايثون الرسمي.

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

الخاصية grid-column-gap في CSS تُحدِّد المسافة التي تفصل بين الأعمدة في حاوية gird. بطاقة الخاصية القيمة الابتدائية 0 تُطبَّق على حاويات gird. قابلة للوراثة لا قابلة للتحريك نعم القيمة المحسوبة نسبة مئوية أو طول مطلق. /* <length> القيم الطولية */ grid-column-gap: 20px; grid-column-gap: 1em; grid-column-gap: 3vmin; grid-column-gap: 0.5cm; /* <percentage> النسب المئوية */ grid-column-gap: 10%; /* القيم العامة */ grid-column-gap: inherit; grid-column-gap: initial; grid-column-gap: unset; أمثلة مثال عن استخدام grid-column-gap لإضافة فراغ فاصل بين الأعمدة في حاوية grid: <div id="grid"> <div></div> <div></div> <div></div> </div> شيفرة CSS: #grid { ...

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

الخاصية grid-row-gap في CSS تُحدِّد المسافة التي تفصل بين الأسطر في حاوية gird. بطاقة الخاصية القيمة الابتدائية 0 تُطبَّق على حاويات gird. قابلة للوراثة لا قابلة للتحريك نعم القيمة المحسوبة نسبة مئوية أو طول مطلق. /* <length> القيم الطولية */ grid-row-gap: 20px; grid-row-gap: 1em; grid-row-gap: 3vmin; grid-row-gap: 0.5cm; /* <percentage> النسب المئوية */ grid-row-gap: 10%; /* القيم العامة */ grid-row-gap: inherit; grid-row-gap: initial; grid-row-gap: unset; أمثلة مثال عن استخدام grid-row-gap لإضافة فراغ فاصل بين الأسطر في حاوية grid: <div id="grid"> <div></div> <div></div> <div></div> </div> شيفرة CSS: #grid { ...

CSS/Topics/Position

الخاصية الوصف bottom الخاصية bottom في CSS تساهم في تحديد الموضع الرأسي لأحد العناصر التي يمكن أن يتغير مكانها (positioned elements)، وليس لهذه الخاصية تأثير في العناصر التي لا يمكن أن يتغير مكانها (non-positioned elements). clear تُحدِّد إذا كان العنصر يمكن أن يكون بجوار العناصر العائمة (floating elements) المجاورة له أو يجب أن يُحرَّك إلى الأسفل (يسمى هذا الفعل بالمصطلح clear)؛ يمكن تطبيق هذه الخاصية على العناصر العائمة وغير العائمة على حدٍ سواء. display تُحدِّد ما هو نوع صندوق العرض الذي سيستخدم ...

CSS/Topics/Flexbox

الخاصية الوصف align-content تُعرِّف طريقة توزيع المتصفح للمسافة بين العناصر وحولها على امتداد المحور الثانوي من حاوية flex. align-items تُعرِّف طريقة توزيع المتصفح للمسافة بين العناصر وحولها على امتداد المحور الثانوي من حاوية flex. فهي تعمل كالخاصية justify-content لكن في الاتجاه المعامد. align-self تضبط محاذاة عناصر flex في السطر الحالي متجاوزةً قيمة الخاصية align-items، وإذا كانت حاشية margin أحد العناصر في المحور المعامد مضبوطةً إلى autoفسيتم تجاهل الخاصية align-self. flex تُحدِّد كيف سيتمدد أو يتقلص أحد عناصر flex لكي يملأ المساحة المتوافرة في حاوية flex. هذه الخاصية ...

الخاصية flex-shrink

الخاصية flex-shrink في CSS تُحدِّد معامل التقلص لأحد عناصر flex، وهي تُحدِّد مقدار المساحة التي يجب أن يأخذها العنصر داخل حاوية flex نسبةً إلى بقية العناصر، وذلك في حال كان العرض الافتراضي للعناصر flex أكبر من الحاوية. بطاقة الخاصية القيمة الابتدائية 1 تُطبَّق على عناصر flex. قابلة للوراثة لا قابلة للتحريك نعم القيمة المحسوبة كما حُدِّدَت. /* <number> قيم عددية */ flex-shrink: 2; flex-shrink: 0.6; /* Global values */ flex-shrink: inherit; flex-shrink: initial; flex-shrink: unset; أمثلة في المثال الآتي، حددنا تقلص العناصر A و B و ...

طوابير الانتظار (Queues) في Laravel

مقدمة ملاحظة: يوفر Laravel الآن Horizon، لوحة تحكم وضبط للأنظمة المدعومة من طوابير انتظار Redis. تفقد توثيق Horizon لمزيد من المعلومات. توفّر طوابير انتظار Laravel واجهة API موحدة بين مختلف طوابير انتظار البيئة الخلفية مثل Beanstalk أو Amazon SQS أو Redis أو قواعد البيانات العلائقية. تسمح ٌطوابير الانتظار بتأخير إنجاز المهام التي تتطلب الكثير من الوقت مثل إرسال بريد لوقت لاحق. تأخير هذه المهام يسرّع طلبات الويب في التطبيق بشكل كبير. يوجد ملف ضبط طوابير الانتظار في config/queue.php. ستجد في ...

معاملات الدوال

يمكن تعريف الدوال مع عدد غير محدّد من المعاملات، وهناك ثلاث صيغ للمعاملات يمكن استخدامها معًا في نفس الوقت. المعاملات ذات القيم الافتراضية يمكن تحديد قيمة افتراضية للمعامل عند تعريفه، وبهذا يمكن استدعاء الدالة مع عدد أقلّ من المعاملات المعرّفة، فعلى سبيل المثال: def ask_ok(prompt, retries=4, reminder='Please try again!'): while True: ok = input(prompt) if ok in ('y', 'ye', 'yes'): ...

التابع controller.open_new()‎‎ في بايثون

يعرض التابع العنوان المعطى باستخدام المتصفّح الذي يتحكّم فيه هذا المتحكّم. البنية العامة controller.open_new(url) المعاملات url العنوان المراد فتحه بواسطة التابع. أمثلة يبين المثال التالي طريقة عمل التابع: >>> import webbrowser >>> firefox = webbrowser.get('firefox') >>> firefox.open_new("https://wiki.hsoub.com") انظر أيضًا التابع controller.open()‎: يعرض التابع العنوان المعطى باستخدام المتصفّح الذي يتحكّم فيه هذا المتحكّم. التابع controller.open_new_tab()‎: يفتح التابع العنوان المعطى في تبويب جديد في المتصفّح الذي يتحكّم به هذا المتحكّم، إن كان ذلك ممكنًا. مصادر صفحة Convenient Web-browser controller في توثيق بايثون الرسمي.

التابع controller.open_new_tab()‎‎ في بايثون

يعرض التابع العنوان المعطى باستخدام المتصفّح الذي يتحكّم فيه هذا المتحكّم. البنية العامة controller.open_new_tab(url) المعاملات url العنوان المراد فتحه بواسطة التابع. أمثلة يبين المثال التالي طريقة عمل التابع: >>> import webbrowser >>> firefox = webbrowser.get('firefox') >>> firefox.open_new_tab("https://wiki.hsoub.com") انظر أيضًا التابع controller.open()‎: يعرض التابع العنوان المعطى باستخدام المتصفّح الذي يتحكّم فيه هذا المتحكّم. التابع controller.open_new()‎: يفتح التابع العنوان المعطى في نافذة جديدة في المتصفّح الذي يتحكّم به هذا المتحكّم، إن كان ذلك ممكنًا. مصادر صفحة Convenient Web-browser controller في توثيق بايثون الرسمي.

الدالة webbrowser.open_new_tab()‎‎ في بايثون

تفتح الدالة العنوان المعطى في تبويب جديد (tab) في المتصفّح الافتراضي، إن كان ذلك ممكنًا، وإلّا فإنّ الدالة تكون مكافئة للدالة webbrowser.open_new()‎. البنية العامة webbrowser.open_new_tab(url) المعاملات ‎url العنوان المراد فتحه في المتصفّح. أمثلة يبين المثال التالي طريقة عمل التابع: >>> import webbrowser >>> webbrowser.open_new_tab("http://wiki.hsoub.com") انظر أيضًا الدالة webbrowser.open()‎: تعرض الدالة العنوان المعطى في المتصفّح الافتراضي. الدالة webbrowser.open_new()‎: تفتح الدالة العنوان المعطى في نافذة جديدة في المتصفّح الافتراضي، إن كان ذلك ممكنًا. مصادر صفحة Convenient Web-browser controller في توثيق بايثون الرسمي.

الدالة webbrowser.open_new()‎‎ في بايثون

تفتح الدالة العنوان المعطى في نافذة جديدة في المتصفّح الافتراضي، إن كان ذلك ممكنًا، وإلا فإنّها ستفتح العنوان المعطى في النافذة الموجودة فقط. البنية العامة webbrowser.open_new(url) المعاملات ‎url العنوان المراد فتحه في المتصفّح. أمثلة يبين المثال التالي طريقة عمل التابع: >>> import webbrowser >>> webbrowser.open_new("http://wiki.hsoub.com") انظر أيضًا الدالة webbrowser.open()‎: تعرض الدالة العنوان المعطى في المتصفّح الافتراضي. الدالة webbrowser.open_new_tab()‎: تفتح الدالة العنوان المعطى في تبويب جديد (tab) في المتصفّح الافتراضي، إن كان ذلك ممكنًا. مصادر صفحة Convenient Web-browser controller في توثيق بايثون ...

الخاصية order

الخاصية order في CSS تُحدِّد ترتيب عناصر flex في الحاوية، إذ ستُرتَّب العناصر ترتيبًا تصاعديًا اعتمادًا على قيمة الخاصية order المُسندَة إليها، والعناصر التي لها نفس القيمة ستُرتَّب وفق ورودها في الشيفرة المصدرية. بطاقة الخاصية القيمة الابتدائية 0 تُطبَّق على حاويات flex. قابلة للوراثة لا قابلة للتحريك نعم القيمة المحسوبة كما حُدِّدَت. /* القيم العددية، بما في ذلك الأعداد السالبة */ order: 5; order: -5; /* القيم العامة */ order: inherit; order: initial; order: unset; ملاحظة: الغرض من الخاصية order هو التأثير على الترتيب المرئي للعناصر، ...

ترقيم الصفحات Pagination في Laravel

مقدمة كثيرًا ما يكون ترقيم الصفحات في الأطر الأخرى متعبًا جدًا. هنا في Laravel، دُمج مُرقّم صفحات Laravel مع منشئ الاستعلامات و رابط الكائنات بالعلاقات Eloquent، وهو يوفّر ترقيم صفحات لنتائج قواعد البيانات سهل الاستخدام فورًا. يتوافق HTML المُنشئ بواسطة مُرقّم الصفحات مع إطار عمل Bootstrap CSS. الاستخدام الأساسي ترقيم نتائج صفحات منشئ الاستعلام هناك عدّة طرق لترقيم العناصر. أبسطها باستخدام التابع paginate على منشئ الاستعلامات أو Eloquent الاستعلامات. يهتم التابع paginate تلقائيًا بإعداد الحد و والإزاحة (offset) المناسبة استنادًا ...

العنصر

يُستعمَل العنصر <video> لتضمين المحتوى المرئي في المستندات، وقد يحتوي على ملف مصدري واحد أو أكثر التي تُمثَّل باستخدام الخاصية src أو عبر العنصر <source>، وسيختار المتصفح أنسب صيغة لتشغيلها. مثال عن استخدام العنصر <video> لإضافة مقطع فيديو بصيغة WebM (عبر الخاصية src) بارتفاع 360، مع عرض عناصر التحكم (عبر الخاصية controls) وله صورة غلاف تُعرَض إلى أن يبدأ تشغيله (الخاصية poster)، وستُعرَض رسالة نصية تنوِّه المستخدم أنَّ متصفحه لا يدعم العنصر <video>: <video src="khamsat.webm" controls poster="khamsat-poster.jpg" height="360"> لا ...

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

ينقل التابع throw الضبط (control) إلى نهاية الكتلة catch المُترقبة للوسم المعطى (tag). إذا لم يكن هناك كتلة catch لذلك الوسم، فسيطلق الخطأ UncaughtThrowError. يوفر الوسيط الاختياري الثاني في حال تمريره قيمة لتُعيدها الكتلة catch، وإلا فستعيد nil. للحصول على بعض الأمثلة، انظر صفحة التابع catch. البنية العامة throw(tag [, obj])‎ المعاملات tag‎ الوسم الذي تترقبه الكتلة catch. obj‎ وسيط اختياري يوفر -في حال تمريره- قيمة لتُعيدها الكتلة catch. انظر أيضا التابع catch: ينفذ كتلته البرمجية. في حال عدم استدعاء throw، فستنفّذ ...

الخاصية flex-wrap

الخاصية flex-wrap في CSS تُحدِّد فيما إذا كانت عناصر flex يجب أن تكون محتواةً في سطرٍ وحيد أم يمكن التفافها إلى عدِّة أسطر، وإذا سُمِحَ بالالتفاف (wrap) فيمكننا باستخدام هذه الخاصية تحديد ترتيب تكديس الأسطر. بطاقة الخاصية القيمة الابتدائية nowrap تُطبَّق على حاويات flex. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. /* كلمات محجوزة */ flex-wrap: nowrap; flex-wrap: wrap; flex-wrap: wrap-reverse; /* قيم عامة */ flex-wrap: inherit; flex-wrap: initial; flex-wrap: unset; أمثلة هذا المثال يبيّن استخدام الكلمات المحجوزة wrap و nowrap و wrap-reverse مع ...

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

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

استخدام لغة Kotlin للتطوير في بيئة Android

تُعدُّ لغة Kotlin أداةً مناسبةً لتطوير تطبيقات Android لأنّها تزوِّد بمنصةٍ للعمل في نظام Android بميّزات لغات البرمجة الحديثة بدون فرض أي قيودٍ جديدة. ميزات استخدام لغة Kotlin للتطوير في بيئة Android التوافقيّة (Compitability): تتوافق لغة Kotlin كليًّا مع بيئة JDK6، وبهذا تتيح  تشغيل التطبيقات المكتوبة بلغة Kotlin على الأجهزة ذات الإصدارات الأقدم من أنظمة Android بدون أي مشاكل تُذكر، كما وتدعم برمجيةُ Android Studio أدوات لغة Kotlin بشكلٍ تامّ ومتوافقٍ مع أنظمة بناء Android. الأداء (Performance): تعمل التطبيقات المكتوبة ...

التعامل مع قواعد بيانات Redis في Laravel

مقدمة Redis هو مخزن متقدم لمفتاح-قيمة (key-value) وهو مفتوح المصدر، وغالبًا ما يشار إليه على أنه خادم هيكلية البيانات حيث يمكن أن تحتوي المفاتيح على سلاسل نصيّة وشيفرات وقوائم ومجموعات ومجموعات مرتبة. قبل أن نستخدم Redis مع Laravel، ستحتاج إلى تثبيت حزمة predis/predis عن طريق Composer: composer require predis/predis ويمكنك بدلًا من ذلك تثبيت ملحق PhpRedis PHP عن طريق PECL، ويعد هذا الملحق الأكثر تعقيدًا، ولكن ستكون النتائج ذات أداء أفضل لتطبيقات التي تستخدم Redis بشكل مكثف. الضبط إن ملف ضبط ...

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

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

استخدام لغة Kotlin في تطوير تطبيقات الخادم (Server)

تُعدّ لغة Kotlin أداةً قويةً في تطوير تطبيقات الخادم (server)؛ إذ تكون الشيفرات فيها دقيقةً ومعبِّرة، وتمتاز بالتوافقيّة التامّة مع لغة Java ومن السهل تعلُّمها بسرعة. ميزات استخدام لغة Kotlin لتطوير تطبيقات الخادم (Server) القدرة على التعبير (Expressiveness): تساعد مميّزات لغة Kotlin المبتكرَة (مثل دعمها للمنشِئ الحافظ للنوع (type-safe builder) والخاصّيات المُعمّمة (delegated properties)) على إنشاء البنى التجريديّة (abstraction) سهلةِ الاستخدام. قابلية التوسّع (Scalability): تدعم لغة Kotlin ميّزة الروتينات المساعدة (coroutines)، وهي بهذا تتيح -في تطبيقات الخادم- إمكانيّة التوسّع لعددٍ ...

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

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

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

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

العنصر

يُستعمَل العنصر <audio> لتضمين المحتوى الصوتي في المستندات، وقد يحتوي على ملف مصدري واحد أو أكثر التي تُمثَّل باستخدام الخاصية src أو عبر العنصر <source>، وسيختار المتصفح أنسب الملفات الصوتية لتشغيلها. المثال الآتي يستخدم العنصر <audio> مع الخاصية autoplay لتشغيل الصوت تلقائيًا مع تحديد رابط URL للملف المصدري عبر الخاصية src: <audio src="khamsat.mp3" autoplay> لا يدعم متصفحك العنصر <code>audio</code>. </audio> أما المثال الآتي ففيه العنصر <audio> مع استخدام خاصية controls لإضافة أزرار للتحكم بالمقطع، وسيُحدَّد رابط URL للمقطع عبر العنصر <source>: ...

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

يضبط (Controls) التابع trace_var تعقّبات (tracing) تعيين المتغيرات العامة. البنية العامة trace_var(symbol, cmd ) → nil trace_var(symbol) {|val| block } → nil‎ يحدد الوسيط المعطى symbol المتغير (إمَّا على شكل سلسلة نصية أو معرف رمز [symbol identifier]). يتم تنفيذ الأمر cmd (الذي قد يكون سلسلةً نصيةً أو كائن من النوع Proc أو كتلةً برمجيةً) كلما تم تعيين المتغير ثم تتلقى الكتلة أو الكائن Proc القيمة الجديدة للمتغير كوسيط. المعاملات symbol‎ يحدد المتغير. cmd‎ التعليمة المراد تنفيذها كلما تم تعيين المتغير. القيمة المعادة ...

التابع controller.open()‎‎ في بايثون

يعرض التابع العنوان المعطى باستخدام المتصفّح الذي يتحكّم فيه هذا المتحكّم. البنية العامة controller.open(url, new=0, autoraise=True) المعاملات new إذا كانت قيمة هذا المعامل هي 1 فإنّ التابع يفتح نافذة متصفّح جديدة إن كان ذلك ممكنًا، وإن كانت قيمة المعامل هي 2 فإنّ التابع يفتح في تبويب tab جديد إن كان ذلك ممكنًا. autoraise إن أخذ هذا المعامل القيمة True، فإنّ نافذة المتصفّح ستُعرض في الواجهة الأمامية (لاحظ أنّ هذا هو السلوك الافتراضي في معظم أنظمة إدارة النوافذ، وتعيين قيمة لهذا ...

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