نتائج البحث
اذهب إلى التنقل
اذهب إلى البحث
الدالة jQuery.get() في jQuery
jQuery.get( url [, data ] [, success ] [, dataType ] ) القيم المعادة يعيد كائنًا من النوع jqXHR. الوصف يجلب هذا التابع بياناتٍ من الخادم باستعمال طلب HTTP عبر الطريقة GET. jQuery.get( url [, data ] [, success ] [, dataType ] ) أُضيفت مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسل الطلب إليه. data كائنٌ مجرَّد أو سلسلة نصية ترسل إلى الخادم مع الطلب. success دالةٌ من الشكل Function( Object data, String textStatus, jqXHR ...
التابع .not() في jQuery
.not( [selector ] ) القيم المعادة يعيد كائنًا من النوع jQuery. الوصف يحذف هذا التابع عناصر محدَّدة من مجموعة من العناصر المطابقة. .not( selector ) أُضيف مع الإصدار: 1.0. selector سلسلة نصية تحتوي على تعبير محدِّد، أو عنصر DOM، أو مصفوفة من العناصر لمطابقة مجموعة معينة من العناصر. .not( function ) أُضيف مع الإصدار: 1.4. function دالة من الشكل Function( Number index, Element element ) تعيد قيمة منطقيَّة Boolean، وتُستعمَل للتحقُّق من كلِّ عنصر من عناصر المجموعة. تقبل هذه الدالة ...
الدالة get_browser() في PHP
(PHP 4, PHP 5, PHP 7) تعيد الدالة get_browser() الميزات التي يدعمها متصفح المستخدم. الوصف mixed get_browser ([ string $user_agent [, bool $return_array = FALSE ]] )
تحاول هذه الدالة تحديد الميزات التي يدعمها متصفح المستخدم من خلال البحث عن معلومات المتصفح في ملف browscap.ini. المعاملات user_agent متصفح المستخدم المراد تحليله. افتراضيًا، تستخدم قيمة ترويسة User-Agent في HTTP لكن يمكنك تمرير قيمة إلى هذا المعامل للبحث عن معلومات متصفحٍ آخر على سبيل المثال. يمكنك تجاوز هذا المعامل بضبط قيمته إلى القيمة ...
Document.createElementNS()
يُنشئُ التّابع Document.createElementNS() عنصرًا جديدًا بعنوان URI الخاصّ بمجال الأسماء والاسم الموصوف المُحدّدَين. لإنشاء عنصرٍ دون تحديد عنوان URI الخاصّ بمجال الأسماء، استعمل التّابع createElement. البنية العامة var element = document.createElementNS(namespaceURI, qualifiedName[, options]);
المعاملات namespaceURI سلسلةٌ نصيّةٌ تُحدّد عنوان URI الخاصّ بمجال الأسماء لربطه بالعنصر. وتُحدّد قيمةُ الخاصيّة namespaceURI الخاصّة بالعنصر المُنشأ من قيمة هذا المُعامل. انظر عناوين URI الخاصّة بمجال الأسماء الصّالحة أدناه. qualifiedName سلسلةٌ نصيّةٌ تُحدّد نوع العنصر المرغوب إنشاؤه. وتُحدّد قيمةُ الخاصيّة nodeName الخاصّة بالعنصر المُنشأ من ...
التابع .ajaxError() في jQuery
.ajaxError( handler ) القيمة المعادة كائن jQuery. الوصف يُستخدَم التّابع .ajaxError() لتسجيل مُعالِج الأحداث (Event handler) لاستدعائه عند اكتمال تنفيذ طلب Ajax مع حدوث خطأ، يُعدُّ هذا التّابع حدثًا من أحداث Ajax. .ajaxError( handler ) أضيفت في الإصدار 1.0. handler دالة على الشكل Function( Event event, jqXHR jqXHR, PlainObject ajaxSettings, String thrownError )، وهي الدالة المطلوب استدعاؤها. حالما يكتمل تنفيذ طلب Ajax، تُطلِق jQuery الحدث ajaxError. وتُنفَّذ عندها كافّة مُعالجات الأحداث المُسجَّلة مع التّابع .ajaxError(). ملاحظة: لا يُستدعى مُعالِج الأحداث ...
التابع .insertBefore() في jQuery
.insertBefore( target ) القيمة المعادة يُعيد كائنًا من النوع jQuery. الوصف إدخال كل عنصر من مجموعة العناصر المُطابقة بعد الهدف. .insertBefore( target ) أُضيف مع الإصدار: 1.0. target كائن قد يكون من النوع Selector أو htmlString أو Element أو Array أو jQuery، وهو يمثل محدد أو عنصر أو مصفوفة عناصر أو سلسلة HTML أو كائن jQuery؛ ستدرج مجموعة العناصر المطابقة قبل العنصر (العناصر) المحدد بواسطة هذا المعامل. يُنفذ التابع .before() والتابع .insertBefore() نفس المهمة. الاختلاف الرئيسي هو في بناء الجملة، على ...
التابع .insertAfter() في jQuery
.insertAfter( target ) القيمة المعادة يُعيد كائنًا من النوع jQuery. الوصف إدخال كل عنصر من مجموعة العناصر المُطابقة بعد الهدف. .insertAfter( target ) أُضيف مع الإصدار: 1.0. target كائن قد يكون من النوع Selector أو htmlString أو Element أو Array أو jQuery، وهو يمثل محدد أو عنصر أو مصفوفة عناصر أو سلسلة HTML أو كائن jQuery؛ ستدرج مجموعة العناصر المطابقة بعد العنصر (العناصر) المحدد بواسطة هذا المعامل. ينفذ كلٌ من التابع .after() والتابع .insertAfter() نفس المهمة. الاختلاف الرئيسي هو في ...
استخراج المتغيرات (Extract Variables)
المشكلة وجود تعبيرٍ (expression) معقِّد يصعُب فهمه. الحل وضع ناتج التعبير أو جزءٍ منه في متغيِّرات (variables) واضحةٍ تُسهِّل الفهم. مثال قبل إعادة التصميم نلاحظ وجود تعبيرٍ شرطيٍّ (conditional expression) معقَّدٍ وبعدّة أجزاء كما في الشيفرة الآتية: في لغة Java: void renderBanner() {
if ((platform.toUpperCase().indexOf("MAC") > -1) &&
(browser.toUpperCase().indexOf("IE") > -1) &&
wasInitialized() && resize > 0 )
{
// افعل شيئًا
...
خيارات سطر الأوامر في Node.js
يتوافر العديد من خيارات سطر الأوامر التي يمكن استعمالها مع Node.js. تُستعمَل هذه الخيارات في تنقيح أخطاء الشيفرة، والتحكم في كيفيَّة تنفيذ الشيفرة، وغيرها من الأمور المفيدة. يمكن عرض هذا التوثيق في الطرفيَّة عبر استعمال الأمر man node. البنية العامة node [options] [V8 options] [script.js | -e "script" | -] [--] [arguments]
node debug [script.js | -e "script" | <host>:<port>] …
node --v8-options
إنَّ تنفيذ node دون أيَّة وسائط يؤدي إلى بدئها مع الوحدة REPL. لمزيدٍ من المعلومات حول node debug، راجع رجاءً ...
قوالب Blade في Laravel
مقدمة يقدم Laravel محرّك قولبةٍ بسيطاً لكن قويٌّ و فعّال هو Blade. على خلاف محرّكات PHP أخرى، لا يمنع Blade المستخدم من استعمال شيفرات PHP في الواجهة، بل إنّه يحوِِّل صفحات Blade إلى شيفرة PHP ويخزِّنها تخزينًا مؤقتًا إلى حين تغييرها. ممّا يعني أنّ Blade لا يتطلب أيّ جهد أو وقت إضافي من التطبيق. تنتهي صفحات Blade بالامتداد blade.php. وتوجد عادة في مجلد resources/views. توريث القوالب تعريف التخطيط إنّ من الفوائد الأساسية لاستخدام Blade هي توريث القوالب (template inheritance) واستخدام ...
قوالب Blade في Laravel
مقدمة يقدم Laravel محرّك قولبةٍ بسيطاً لكن قويٌّ و فعّال هو Blade. على خلاف محرّكات PHP أخرى، لا يمنع Blade المستخدم من استعمال شيفرات PHP في الواجهة، بل إنّه يحوِِّل صفحات Blade إلى شيفرة PHP ويخزِّنها تخزينًا مؤقتًا إلى حين تغييرها. ممّا يعني أنّ Blade لا يتطلب أيّ جهد أو وقت إضافي من التطبيق. تنتهي صفحات Blade بالامتداد blade.php. وتوجد عادة في مجلد resources/views. توريث القوالب تعريف التخطيط إنّ من الفوائد الأساسية لاستخدام Blade هي توريث القوالب (template inheritance) واستخدام ...
الصنف ARGF في روبي
الصنف ARGF هو مجرى (stream) صُمِّم ليُستخدَم في الملفات البرمجية (scritps) التي تُعالج الملفات المُمرَّرة إليها على شكل وسائط في سطر الأوامر (command-line arguments)، أو المُمرَّرة عبر مجرى الدخل القياسي (STDIN). تُخزَّن الوسائط المُمرَّرة للملف البرمجي في المصفوفة ARGV، إذ يخزَّن وسيط واحد في كل عنصر. تفترض ARGF أنّ الوسائط التي ليست أسماء ملفات (filenames) قد أزيلت من ARGV. انظر الشيفرة التالية مثلًا: $ ruby argf.rb --verbose file1 file2
ARGV #=> ["--verbose", "file1", "file2"]
option = ARGV.shift #=> "--verbose"
ARGV #=> ...
اختلال الشيفرات ومشاكلها (Code Smells)
قد تعاني الشيفرات الكثير من الاختلالات والمشاكل الشكلية؛ فبمجرد اكتشاف تلك الاختلالات الظاهرية، يسهل علينا معرفة العلاج (التقنيات) وتطبيقه (إعادة التصميم) للحصول على شيفرة سليمة نظيفة. من هذه الاختلالات: المبالغة والإطالة قد يزداد حجم الشيفرات والتوابع (methods) والأصناف (classes) ازديادًا كبيرًا ليصل لمرحلةٍ يصعُب التعامل معها، ولا يحدث هذا بشكلٍ فجائيِّ دفعةً واحدةً، بل يكون ناتجًا عن تراكم الإضافات أثناء تطوير البرنامج (وخاصةً عندما لا يبذل أحدٌ جهدًا للحدِّ من ذلك التشعب)، ويبدو هذا التضخم واضحًا التوابع الطويلة (long methods): ...
Sass/@ rules
تدعم Sass جميع قواعد CSS التي تبدأ بالرمز @، فضلًا عن أخرى خاصَّة بلغة Sass تسمى بالتعليمات (directives). لهذه القواعد تأثيرات مختلفة في Sass سنفصلها بعد قليل. انظر أيضًا تعليمات التحكم (control directives) وتعليمات المخاليط (mixin directives). القاعدة @import توسّع Sass استخدامات القاعدة @import الخاصَّة بلغة CSS للسماح لها باستيراد ملفات SCSS وملفات Sass. ستُدمج جميع ملفات SCSS وملفات Sass المُستورَدة معًا في ملف CSS واحدٍ. إضافةً إلى ذلك، يمكن استخدام المتغيرات أو المخاليط (mixins) المُعرّفة في الملفات المستوردة في ...
ردود نداء Active Record في ريلز
ستتعلم في هذا الدليل كل ما يتعلَّق بدورة حياة كائنات Active Record. بعد قراءة هذا الدليل، ستتعرَّف على: دورة حياة كائنات Active Record. كيفية إنشاء توابع ردود النداء التي تستجيب إلى الأحداث في دورة حياة الكائن. كيفية إنشاء أصناف خاصة تُغلِّف سلوكًا مشتركًا من أجل ردود النداء الخاصة بك. دورة حياة الكائن خلال عملية عادية في تطبيق ريلز، يمكن للكائنات أن تُنشأ، تُحدّث، أو تُدمّر. يزوّدك Active Record بنقاط الوصول اللازمة في دورة حياة الكائن حتى تتمكن من التحكم بتطبيقك ...
مشغّل المهام Envoy في Laravel
مقدمة يوفّر Laravel Envoy صياغة نظيفة ومختزلة لتعريف المهام الشائعة وتشغيلها على الخوادم البعيدة (remote servers)، ويمكنك إعداد المهام بسهولة باستخدام صياغة نمط Blade للنشر، أوامر Artisan وغيرها. ويدعم Envoy في الوقت الحالي أنظمة تشغيل لينكس و ماك فقط. التثبيت ثبّت أولًا Envoy باستخدام أمر global require الخاص بالأمر Composer: composer global require laravel/envoy
قد تتسبب مكتبات Composer العامة (global) في بعض الأحيان في حدوث تعارضات في الحزم، يمكنك في هذه الحالة استخدام مكتبة cgr والذي يعد بديلًا للأمر composer global ...
مشغّل المهام Envoy في Laravel
مقدمة يوفّر Laravel Envoy صياغة نظيفة ومختزلة لتعريف المهام الشائعة وتشغيلها على الخوادم البعيدة (remote servers)، ويمكنك إعداد المهام بسهولة باستخدام صياغة نمط Blade للنشر، أوامر Artisan وغيرها. ويدعم Envoy في الوقت الحالي أنظمة تشغيل لينكس و ماك فقط. التثبيت ثبّت أولًا Envoy باستخدام أمر global require الخاص بالأمر Composer: composer global require laravel/envoy
قد تتسبب مكتبات Composer العامة (global) في بعض الأحيان في حدوث تعارضات في الحزم، يمكنك في هذه الحالة استخدام مكتبة cgr والذي يعد بديلًا للأمر composer global ...
VM (تنفيذ JavaScript) في Node.js
مؤشر الاستقرار: 2 - مستقر. توفر الوحدة vm واجهات تطبيقات لترجمة وتشغيل الشيفرات البرمجية ضمن سياقات آلآت V8 الافتراضية. ويمكن ترجمة شيفرة JavaScript البرمجية وتشغيلها فورًا أو تجميعها وحفظها وتشغيلها لاحقًا. من الاستخدامات الشائعة، تشغيل التعليمات البرمجية في بيئة تجريبية معزولة (sandbox environment). وتُستخدم شيفرة sandbox سياق V8 مختلف، مما يعني انه يحتوي علي كائن عام مختلف عن باقي الشيفرة البرمجية. ويمكن توفير السياق عن طريق وضع كائن sandbox المعزول في السياق. وتعامل الشيفرةُ المعزولة أي خاصية في بيئة sandbox ...
مفسر بايثون
تشغيل المفسر عادة ما يُنصَّب مفسِّر بايثون في المسار /usr/local/bin/python3.6 في أنظمة يونكس، ويؤدّي وضع هذا المسار ضمن مسار البحث الخاصّ بصدفة يونكس (Unix shell) إلى إمكانية استدعاء مفسّر بايثون عن طريق كتابة الأمر التالي في الصدفة: python3.6
ملاحظة: في أنظمة يونكس، لا يستخدم الاسم python افتراضيًا لاستدعاء مفسّر بايثون في الإصدارات 3.x من اللغة، وذلك لتجنّب حدوث أي تضارب مع مفسّر الإصدارات 2.x من اللغة. يمكن تحديد مسار مفسِّر بايثون أثناء عملية التثبيت، وعادة ما يُستخدم المسار التالي: /usr/local/python كمسار ...
الوحدة configparser في بايثون
تقدّم هذه الوحدة الصنف ConfigParser الذي يستخدم لغة إعدادات بسيطة تقدّم بنية مشابهة للبنية التي تقدّمها ملفات INI في نظام Microsoft Windows. ويمكن استخدام هذا الصنف لكتابة برامج وتطبيقات يمكن للمستخدمين تخصيصها بكل سهولة. ملاحظة: لا تفسّر هذه المكتبة ولا تكتب لواحق قيمة-نوع التي يستخدمها إصدار سجلّ نظام ويندوز Windows Registry الموسّع بصيغة INI. بداية سريعة لنبدأ بملف الإعدادات البسيط التالي: [DEFAULT]
ServerAliveInterval = 45
Compression = yes
CompressionLevel = 9
ForwardX11 = yes
[bitbucket.org]
User = hg
[topsecret.server.com]
Port = 50022
ForwardX11 = no
يتكوّن الملف بصورة أساسية من ...
التوجيه (Routing) في Laravel
التوجيه الأساسي تقبل أغلب مسارات Laravel الأساسيّة مُتغّيرين: رابط URI و نطاق مغلق Closure مما يُوفّر طريقة بسيطة ومعبّرة جدّا لتعريف المسارات (routes): Route::get('foo', function () {
return 'Hello World';
});
ملفات المسار الإفتراضيّة كل مسارات Laravel مُعرّفة في ملفات مساراتك الموجودة في المجلّد routes. يُحمّل إطار العمل كل هذه الملفّات تلقائيًا. يعرّف الملف routes/web.php كل المسارات المُخصّصة لواجهة الويب. مجموعة البرمجيّات الوسيطة web معيّنة على كل المسارات وتوفّر خاصيّات مثل حالة الجلسة (session state) والحماية CSRF. المسارات ...
Arduino/Topics
بنية لغة أردوينو تخضع الشيفرة في لغة أردوينو إلى بعض التعديلات البسيطة ثم تمرَّر إلى مفسِّر ++C/C. يمكن استعمال جميع البنى والتعابير القياسية في لغة C أو ++C التي يدعمها المفسِّر في أردوينو. لن تجد في شيفرة أردوينو الدالة main() المعتادة ولكن ستجد عوضًا عنها دالتين رئيسين هما: الدالة setup() والدالة loop() اللتان تفسران وتوصلان بالدالة الرئيسيةmain() لإنشاء البرنامج التنفيذي التكراري (cyclic executive program) عبر استعمال سلسلة أدوات GNU. يُستعمَل البرنامج avrdude المضمن ضمن أردوينو IDE لتحويل الشيفرة التنفيذية ...
ترجمة الأصول (Laravel Mix)
مقدمة يوفّر Laravel Mix واجهة برمجية (API) واضحة لتعريف خطوات بناء Webpack للتطبيق باستعمال العديد من المعالجات المسبقة (pre-processors) للغتي CSS و Javascript. باستخدام سلسلة بسيطة من استدعاءات التوابع، يمكن تعريف مسار معالجة الأصول (assets) في التطبيق. فمثلًا: mix.js('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/app.scss', 'public/css');
إن أصبحت مرتبكا و مشوشا حول البدء مع Webpack وترجمة الأصول، فسوف تحب Laravel Mix. لكنك لست مطالبًا باستعمالها لبناء تطبيقك. طبعًا لك حرية اختيار أي مسار لمعالجة الأصول تريده، أو أن لا تستعمل أيًا منها على ...
الدالة jQuery.post() في jQuery
jQuery.post( url [, data ] [, success ] [, dataType ] ) القيم المعادة تعيد كائنًا من النوع jqXHR. الوصف تجلب هذه الدالة بياناتٍ من الخادم باستعمال طلب HTTP عبر الطريقة POST. jQuery.post( url [, data ] [, success ] [, dataType ] ) أُضيف مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسل الطلب إليه. data كائنٌ مجرَّد أو سلسلة نصية ترسل إلى الخادم مع الطلب. success دالةٌ من الشكل Function( Object data, String textStatus, jqXHR ...
مقدمة إلى JSX في React
فلننظر إلى تعريف هذا المتغير: const element = <h1>!أهلًا بالعالم</h1>;
إنّ الصّياغة الغريبة السّابقة التي تحتوي على وسم هي ليست سلسلة نصيّة ولا حتى HTML. تُدعى الصّياغة السّابقة JSX وهي عبارة عن امتداد لصياغة JavaScript، نوصي باستخدامها مع React لوصف المظهر الذي ينبغي أن تكون عليه واجهة المستخدم. قد تُذكِّرك JSX بلغات القوالب، ولكنها تمتلك قوة JavaScript الكاملة. تُنتِج JSX عناصر React. سنستعرض إظهار هذه العناصر في DOM في قسم تصيير العناصر (Rendering Elements). سنتحدّث في الفقرات التالية عن أساسيّات JSX ...
الخاصية font-family
الخاصية font-family في CSS تُحدِّد قائمةً تحتوي على نوع خط واحد أو أكثر من أنواع الخطوط الخاصة أو العامة، وذلك لتُطبَّق على العنصر. بطاقة الخاصية القيمة الابتدائية تختلف حسب المتصفح. تُطبَّق على جميع العناصر. قابلة للوراثة نعم قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. /* نوع خطوط خاص ثم نوع خطوط عام */
font-family: Gill Sans Extrabold, sans-serif;
font-family: "Goudy Bookletter 1911", sans-serif;
/* أنواع الخطوط العامة فقط */
font-family: serif;
font-family: sans-serif;
font-family: monospace;
font-family: cursive;
font-family: fantasy;
font-family: system-ui;
/* القيم العامة */
font-family: inherit;
font-family: initial;
font-family: unset;
يُفصَل بين قيم ...
الدالة jQuery.post() في jQuery
jQuery.post( url [, data ] [, success ] [, dataType ] ) القيم المعادة تعيد كائنًا من النوع jqXHR. الوصف تجلب هذه الدالة بياناتٍ من الخادم باستعمال طلب HTTP عبر الطريقة POST. jQuery.post( url [, data ] [, success ] [, dataType ] ) أُضيف مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسل الطلب إليه. data كائنٌ مجرَّد أو سلسلة نصية ترسل إلى الخادم مع الطلب. success دالةٌ من الشكل Function( Object data, String textStatus, jqXHR ...
الوحدة cgi في بايثون
تقدّم هذه الوحدة عددًا من الأدوات التي تستخدم بواسطة سكربتات CGI المكتوبة في بايثون. مقدمة تنفّذ سكربتات CGI بواسطة مخدّم HTTP وتستخدم عادة لمعالجة مدخلات المستخدم المرسلة إلى المخدّم من خلال عنصر <FORM> أو <ISINDEX> في HTML. تستقرّ سكربتات CGI معظم الأحيان في المجلد الخاص cgi-bin في المخدّم، ويضع مخدّم HTTP جميع المعلومات المرتبطة بالطلب (مثل اسم المضيف لدى العميل، عنوان URL المطلوب، سلسلة الاستعلام النصية، وغير ذلك الكثير) في بيئة الصدفة الخاصة بالسكربت، وينفّذ السكربت ثم يرسل مخرجاته إلى ...
تهجير قاعدة البيانات في Laravel
مقدمة تشبه عمليات التهجير التحكم في الإصدار لقاعدة بياناتك، مما يسمح لفريقك بتعديل مخطط قاعدة البيانات ومشاركته بسهولة. وعادةً ما تقترن عمليات التهجير بمنشئ مخططات Laravel لبناء مخطط قاعدة البيانات تطبيقك بسهولة. وإذا كان عليك في أي وقت مضى إخبار أحد أعضاء الفريق بإضافة عمود يدويًا إلى مخطط قاعدة البيانات المحليّة الخاصة بك، فقد واجهت المشكلة التي حُلّت باستخدام تهجيرات قاعدة البيانات. توفّر الواجهة الساكنة Schema دعمًا لإنشاء وتعديل الجداول عبر جميع أنظمة قواعد البيانات المدعومة من قبل Laravel. توليد ...
العنصر
استخدم العنصر <canvas> مع الواجهة البرمجية الخاصة به لترسم الرسومات وتحركها. المثال الآتي سيُضيف عنصر <canvas> إلى مستند HTML، مع تحديد ارتفاعه عبر الخاصية height وعرضه عبر الخاصية width، وسنوفِّر نصًا بديلًا إن لم يكن المتصفح قادرًا على عرض العنصر، فمن المفيد توفير محتوى بديل لزيادة قابلية الوصول لمحتوى العنصر. <canvas id="canvas" width="300" height="300">
نص بديل يصف ماذا يظهر العنصر <code>canvas</code>.
</canvas>
وبفرض أننا سنرسم مستطيلًا بأبعاد 80×80 باللون الأحمر، فستكون شيفرة JavaScript كالآتي: <script>
var canvas = document.getElementById("canvas");
...
العنصر
يُعرِّف العنصر <noscript> قسمًا من شيفرات HTML التي ستُضاف إلى الصفحة إذا لم يكن العنصر <script> مدعومًا في المتصفح أو كان استخدام شيفرات JavaScript معطلًا من قِبل المستخدم. المثال الآتي سيُظهِر رابطًا إلى صفحةٍ أخرى إن لم يكن المتصفح يدعم العنصر <script> أو كان المستخدم قد عطّل تشغيل شيفرات JavaScript فيه: <noscript>
JavaScript معطلة عندك
يمكنك زيارة هذه الصفحة لنسخة تعمل دونها <a href="http://www.hsoub.com/">الصفحة الرئيسية</a>
</noscript>
بطاقة العنصر تصنيفات المحتوى عنصر تنظيمي أو عنصر عادي أو عنصر وصفي. المحتوى ...
العنصر
يُستخدَم العنصر <script> لتضمين أو الإشارة إلى سكربت قابل للتنفيذ. مثال عن كيفية استخدام هذا العنصر لتضمين سكربت خارجي في HTML 4 و XHTML: <script type="text/javascript" src="javascript.js"></script>
أما في HTML5 فالفرق بسيط ألا وهو حذف الخاصية type امتثالًا لنصيحة مواصفة HTML5: <script src="javascript.js"></script>
طريقة كتابة سكربت مُضمَّن في المستند: <script>
alert("مرحبًا");
</script>
بطاقة العنصر تصنيفات المحتوى عنصر تنظيمي أو عنصر عادي أو عنصر وصفي. المحتوى المسموح السكربتات الديناميكية مثل text/javascript. الوسم المختصر لا يمكن حذف أيّ من وسمَي البداية أو النهاية. العناصر ...
الكائن Process
يكون الكائن process عامًا (global) والذي يزود معلومات عن عملية Node.js الحالية ورقابةً عليها، كونه كائنًا عامًا فهو متوافر دومًا لتطبيقات Node.js دون استخدام ()require. أحداث Process الكائن process هو نسخة من EventEmitter. الحدث 'beforeExit' أُضيف في الإصدار: 0.11.12. يُطلَق الحدث 'beforeExit' عندما تفرغ Node.js من حلقة الأحداث (event loop) ولا يوجد عمل إضافي لجدولته. بشكل طبيعي، عملية Node.js سوف تنتهي عندما لا يكون هناك عمل مجدولٌ، لكن المُنصِت المسجِّل لحدث 'beforeExit' يمكن أن يعمل استدعاءات غير متزامنة، وبذلك يسبب ...
صياغة التعبيرات النمطية في PHP
فيما يلي وصف لصياغة ودلالات التعبيرات النمطية التي يدعمها PCRE. وتوصف أيضًا التعبيرات النمطية في توثيق Perl وفي عدد من الكتب الأخرى، وبعضها يحتوي على أمثلة كثيرة. ويغطيها كتاب "Mastering Regular Expressions"، لجيفري فريدل Jeffrey Friedl الذي نشرته دار نشر O'Reilly (ISBN 1-56592-257-3)، بتفصيل كبير. الوصف هنا غرضه التوثيق المرجعي. التعبير النمطي هو نمط يطابق سلسلة موضوع البحث من اليسار إلى اليمين. وتصطف معظم الأحرف لأنفسها بنمطٍ ما، وتطابق الأحرف المقابلة في موضوع البحث. كمثال صغير، يتطابق النمط The quick ...
الصنف Regexp في روبي
تمثل كائنات الصنف Regexp التعابير النمطية التي تُستخدم لمطابقة نمط (pattern) معيّن في سلسلة نصية. تُنشَأ التعابير النمطية باستخدام الصياغتين /.../ و %r{...}، أو باستعمال الباني new. التعابير النمطية هي أنماط تصف محتويات السلسلة النصية. يمكن استخدامها للتحقق من أنّ سلسلة نصية تحتوي على نمط معين، أو لاستخراج الأجزاء المُطابقة منها. عادةً ما يتم تحديد التعبير النمطي بخط مائل (/) كما يوضح المثال التالي: /hay/ =~ 'haystack' #=> 0
/y/.match('haystack') #=> #<MatchData "y">
إذا احتوت سلسلة نصية على النمط، فسيقال ...
بنية البرمجة في لغة Kotlin
تعريف الحزم (Package) يُكتب توصيف الحزمة (package) في بداية الملف المصدريّ (source file) بالشكل الآتي: package my.demo
import java.util.*
// ...
ولا يُشترط التوافق ما بين الحزمة (package) والمجلد الذي توجد فيه (directory)، إذ من الممكن أن تتوضع الملفات المصدريّة عشوائيًّا في نظام الملفات. المزيد عن الحزم (packages). تعريف الدوال (Function) إن كانت الدالة بمتحولين من نوع Int وتعيد قيمةً بنوع Int أيضًا، فسيصبح تعريفها بالشكل: fun sum(a: Int, b: Int): Int {
return a + b
}
أما الشيفرة الآتية فهي لتعريف دالةٍ باسم sum ...
المنقح Debugger في Node.js
درجة الثبات: 2 - مستقر كثيرًا ما نحتاج لتنقيح الشيفرات ومراجعتها من الأخطاء، لذلك يتضمن Node.js أداة تنقيح مستقلة يمكن الوصول إليها من خلال محقق V8 inspector وعميل تنقيح مدمج. لاحظ أن عميل تنقيح Node.js هنا هو أداة بسيطة وليست منقّحًا كامل الخصائص، لكنها تكفي في حالة تفحص خطوات تنفيذ الشيفرة. سنستخدم في مثالنا هذا ملف myscript: // myscript.js
global.x = 5;
setTimeout(() => {
console.log('world');
}, 1000);
console.log('hello');
كما ترى، المثال المستخدم هنا بسيط، حيث يبدأ في السطر الأول بتحديد متغير عام x بقيمة 5، ...
Kotlin/Topics
بُنية لغة Kotlin مشابهةٌ لبنية لغة البرمجة Java بوصفها كائنيّة التوجه (OOP)، وبالتالي فهي تعتمد أساسًا على وجود الأصناف (classes) التي تحتوي بدورها على الخاصّيّات (properties) والدوال (functions)، كما وتدعم Kotlin العلاقات فيما بينها مثل الوراثة (inheritance) من صنفٍ أعلى (superclass) أو التداخل فيما بينها (nesting classes)، وتمتاز بوجود مُحدِّدات الوصول (visibility modifiers) للتحكم بعمليات الوصول للبيانات المُخزَّنة، وكذلك فهي تعتمد في بُنيتها على الحزم (packages) والمكتبات (libraries) التي تحتوي على الدوال المساعدة عند الحاجة إليها، أمّا عن بُنية التعليمات ...
نظرة خاطفة على وحدة التحكم في ريلز
ستتعرف في هذا الدليل على كيفية عمل وحدات التحكم (Controller) وكيفية ملاءمتها مع دورة الطلب (request cycle) في التطبيق الخاص بك. بعد قراءة هذا الدليل، ستتعلم: كيفية اتباع تدفق الطلب من خلال وحدة تحكم. كيفية تقييد المعاملات التي مُرّرت إلى وحدة التحكم الخاصة بك. كيف ولماذا تخزَّن البيانات في الجلسة (session) أو ملفات تعريف الارتباط (cookies). كيفية العمل مع المرشحات (filters) لتنفيذ التعليمات البرمجية أثناء معالجة الطلب. كيفية استخدام استيثاق HTTP المضمن في وحدة التحكم. كيفية تدفق البيانات مباشرة إلى ...
أساسيات 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؟ ...
الدالة jQuery() في jQuery
تعيد هذه الدالة مجموعةً من العناصر المطابقة التي إمَّا وُجدَت في شجرة DOM بناءً على الوسائط المُمرَّرة، أو أنشئت بتمرير سلسلة نصية تحتوي على محتوى HTML. jQuery( selector [, context ] ) القيم المعادة تعيد كائنًا من النوع jQuery. الوصف تقبل هذه الدالة سلسلة نصية تحتوي على محدِّد CSS يُستعمَل لمطابقة مجموعة من العناصر. jQuery( selector [, context ] ) أُضيفت مع الإصدار: 1.0. selector سلسلة نصية تحتوي على تعبير محدِّد. context عنصر DOM، أو كائن Document، أو كائن jQuery ...
الأمر 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 Record في ريلز
التهجيرات (Migrations) هي ميزة من Active Record التي تمكّنك من تحديث مخطط قاعدة البيانات على مر الوقت. بدلًا من كتابة تعديلات قاعدة البيانات باستخدام SQL، تمكّنك التهجيرات من كتابة تعليمات DSL باستخدام روبي لتحديث جداولك. بعد قراءة هذا الدليل، ستتعرَّف على: المولِّدات التي تستطيع استعمالها لإنشاء التهجيرات. التوابع التي يوفرها Active Record لتعديل قاعدة البيانات. المهام bin/rails التي تعدِّل وتتحكم بالتهجيرات والمخطط (schema) الخاص بك. العلاقة بين التهجيرات والملف schema.rb. نظرة عامة على التهجيرات إن التهجيرات هي طريقة مناسبة وسلسة ...
نمط Strict
نمط Strict أتى في معيار ECMAScript 5 لإضافة «صرامة» في تطبيق شيفرات JavaScript، لاحظ أنَّ نمط strict لا يُشكِّل قسمًا فرعيًا من JavaScript، وإنما له بنية خاصة به تختلف عن الشيفرات العادية. فالمتصفحات التي لا تدعم نمط strict ستُشغِّل الشيفرات بطريقة مختلفة عن المتصفحات التي تدعمه، لذا لا تعتمد على نمط strict دون اختبار دعمه أولًا من المتصفح. نمط Strict يُضيف عددًا من التغييرات على بنية JavaScript، فلم تعد تسكت JavaScript عن الأخطاء وإنما أصبحت ترمي استثناءات عند حدوثها؛ ونمط ...
نظرة عامة على Action Cable في ريلز
ستتعرف في هذا الدليل على كيفية عمل Action Cable وكيفية استخدام WebSockets لدمج ميزات الوقت الفعلي في تطبيق ريلز. بعد قراءة هذا الدليل، ستتلعم: ماهية Action Cable وكيفية دمج الواجهة الخلفية والأمامية الخاصة به. كيفية إعداد Action Cable. كيفية إعداد القنوات. النشر وإعداد المعمارية لتشغيل Action Cable. المقدمة يدمج Action Cable مقابس الويب WebSockets مع باقي تطبيق ريلز بسلاسة. يسمح ذلك بكتابة الميزات في الوقت الحقيقي في روبي بنفس الأسلوب والشكل كبقية تطبيقات ريلز، مع الاستمرار في الأداء وقابلية التطوير. ...
تقرير الوحدات في TypeScript
قراءة هذه الصفحة تتطلّب فهمًا عامًّا للوحدات. انظر توثيق الوحدات للاستزادة. تقريرُ (أو حلُّ) الوحداتِ (Module resolution)، هي العمليّة التي يعتمد عليها المترجم (compiler) لاكتشاف ما يُشير إليه استيرادٌ (import) معيّن. لنفترض مثلًا أنّ لدينا جملة استيرادٍ كما يلي: import { a } from "moduleA"؛ للتحقّق من أيّ اعتمادٍ على المتغيّر a، فإنّ المترجم بحاجةٍ إلى فهم ما يُمثّله المتغيّر بالضبط، وسيتطلّب ذلك التحقق من تعريفه في الوحدة moduleA. سيسأل المُترجم كبدايةٍ عن شكل الوحدة moduleA، وقد تكون الوحدة مُعرّفةً ...
ترقية أندرويد في كوردوفا
يوضح هذا الدليل كيفية تعديل مشروعات كوردوفا للترقية انطلاقًا من الإصدارات القديمة من كوردوفا. تُطبَّق معظم هذه الإرشادات على المشاريع التي تم إنشاؤها باستخدام أدوات سطر الأوامر القديمة التي كانت قبل واجهة سطر الأوامر cordova. يمكنك الانتقال إلى توثيق واجهة سطر الأوامر للحصول على معلومات حول كيفية تحديث إصدار واجهة سطر الأوامر. الترقية إلى الإصدار 7.X.X أفضل طريقة للترقية إلى الإصدار 7.X.X هي إزالة منصة أندرويد من مشروعك، ثم إعادة إضافتها بالإصدار الجديد. مثلًا: cordova platform remove android
cordova platform add ...
السلاسل النصية في PHP
السلسلة النصية هي سلسلة من الأحرف، إذ يكون كل حرف ممثلًا ببايت، ولذلك فإن PHP تدعم مجموعةً من 256 حرفًا فقط ولا تقدم دعمًا لمحارف يونيكود، راجع "تفاصيل نوع البيانات string" للمزيد من المعلومات. ملاحظة: بدءًا من الإصدار 7.0.0، لم تعد هنالك قيودٌ حول طول السلسلة النصية على منصات 64 بت، أما بالنسبة لمنصات 32 بت وفي النسخ القديمة، يمكن أن يصل حجم السلسلة النصية إلى 2 جيجا بايت (2147483647 بايت). البنية العامة يمكنك تعريف السلسلة النصية بأربع طرائق مختلفة: ...
الوحدات في TypeScript
ملاحظة حول المصطلحات تغيّرت طريقة استخدام المصطلحات في النسخة TypeScript 1.5، إذ كانت مجالات الأسماء (namespaces) تُسمّى قديمًا بمصطلح "الوحدات الداخليّة (internal modules)"، وما كان يُسمّى بالوحدات الخارجيّة (External modules) أصبح يُسمّى ببساطة بمصطلح "الوحدات (modules)" وهو ما سنغطّيه في هذه الصفحة. ويجب استخدام الكلمة المفتاحية namespace في الأماكن التي كانت تُستخدَم فيها الكلمة المفتاحية module للتصريح عن وحدة داخليّة في النسخ التي سبقت TypeScript 1.5، أي أنّ عليك استخدام namespace X { عوضًا عن module X { (انظر صفحة ...
أنماط الشيفرات المُتعارَف عليها ما بين مبرمجي 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 ...
نظرة عامة على وحدة العرض في ريلز
بعد قراءة هذا الدليل، ستعرف: ما هو Action View وكيفية استخدامه مع ريلز. أفضل طريقة لاستخدام القوالب والجزئيات (partials) والتخطيطات. ما الذي يقدمه المساعدون عن طريق Action View. كيفية استخدام العروض المحلية. ما هو Action View؟ في ريلز، تُعَالَج طلبات الويب من خلال Action Controller و Action View. عادةً ما يقع على عاتق وحدة التحكم التواصل مع قاعدة البيانات وتنفيذ الإجراءات CRUD عند الضرورة؛ بعد ذلك، يكون Action View مسؤولًا عن تفسير (compiling) الاستجابة. تُكتَب قوالب Action View باستخدام روبي ...
خط أنابيب الأصول في ريلز
يغطّي هذا الدليل أنبوب الأصول. ستتعلم بعد قراءة هذا الدليل: ماهيّة أنبوب الأصول وماذا يفعل. كيفيّة تنظيم أصول تطبيقك بشكل صحيح. فوائد أنبوب الأصول. كيفيّة إضافة معالج مسبق (pre-processor) إلى الأنبوب. كيفيّة وضع الأصول مع جوهرة في حزمة. ما هو أنبوب الأصول؟ يوفّر أنبوب الأصول إطارًا لسَلسَلة وتصغير أو ضغط أصول JavaScript و CSS. كما أنه يضيف القدرة على كتابة هذه الأصول بلغات أخرى ومعالجات مسبقة مثل CoffeeScript و Sass و ERB. يسمح للأصول في تطبيقك أن تُدمج تلقائيًّا مع ...
اختبار تطبيقات ريلز
يشمل هذا الدليل الآليّات المدمجة في ريلز لإجراء الاختبارت على التطبيقات. بعد قراءة هذا الدليل، ستتعلم: الاصطلاح المتعلّق باختبارات ريلز. كيفيّة كتابة كلٍّ من اختبارات الوحدة، الاختبارات الوظيفيّة، والاختبارات التكامليّة لتطبيقات ريلز. وغيرها من الطرق والإضافات الخاصّة بالاختبارات. ما الهدف من كتابة اختبارات لتطبيقات ريلز؟ يسهّل ريلز كتابة الاختبارات بشكل كبير، إذ أنّه يبدأ بهيكلة شيفرة الاختبار في الوقت الذي تُنشِئ فيه النّماذج ووحدات التحكّم. يمكّنك إجراء اختبارات ريلز من التأكّد من أداء الشيفرة وظيفتَها المطلوبة حتّى بعد إعادة تصميم ...
العمليات الأبناء في Node.js
الاستقرار: 2-مستقر توفِّر الوحدة child_process القدرة على توليد (spawn) عمليات أبناء بطريقةٍ مشابهةٍ -وليست مماثلة- للدالة popen(3)، إذ يمكن للدالة child_process.spawn() أن توفِّر هذه الإمكانيَّة في المقام الأول: const { spawn } = require('child_process');
const ls = spawn('ls', ['-lh', '/usr']);
ls.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
});
ls.stderr.on('data', (data) => {
console.log(`stderr: ${data}`);
});
ls.on('close', (code) => {
console.log(`child process exited with code ${code}`);
});
تُنشَأ أنابيبٌ (pipes) لمجرى الدخل القياسي (stdin) ومجرى الخرج القياسي (stdout) ومجرى الخطأ القياسي (stderr) بين العمليَّة الأب في Node.js ...
عرض (100 السابقة | 100 التالية) (20 | 50 | 100 | 250 | 500).