لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 02/08/17 في كل الموقع
-
يُعتبر Trello أحد تطبيقات الوِب الشهيرة لإدارة المشاريع، بدأتها شركة Fog Creek Software عام 2011 (وهي ذاتها الشركة التي أطلقت Stack Overflow) قبل أن يتحوّل الموقع إلى شركة مستقلّة عام 2014، يتضمن التطبيق حزمتين للاشتراك، الأولى مجانية وتتضمن المميزات الأساسية لاستخدام الموقع، والثانية مدفوعة لفرق العمل. يستخدم Trello نموذجًا يُدعى kanban لإدارة المشاريع، والذي أشاعت شركة تويتا استخدامه في الثمانينيات. تُمثَّل المشاريع وفق هذا النموذج على شكل ألواح boards والتي تتضمن قوائم lists (مُشابهة لقوائم المهام task lists)، تتضمن القوائم بدورها بطاقات cards (تُمثّل المهام). ويُفترض بهذه البطاقات أن تنتقل من قائمة إلى أخرى (عبر السحب والإفلات) مُعبّرة عن سير العمل قُدمًا إلى الأمام. يُمكن استخدام Trello بأشكال كثيرة ومتنوعة، بما في ذلك إدارة المشاريع البرمجية، التخطيط للتدوين، العمل على كتاب، إدارة مكاتب المحاماة، العمل على مجلات الحائط المدرسية إلخ، كما يتكامل مع عدد من الخدمات الشائعة مثل البريد الإلكتروني، IFTTT، Slack وغيرها من وسائل التواصل والتنظيم، مما يجعل Trello مكانًا ملائمًا لربط كل شيء مع بعضه ومتابعة سير العمل. نبدأ في درس اليوم الخطوات الأولى مع البرنامج من قبيل إنشاء حساب، تصميم اللوح الأول والتعرف على المزايا الرئيسية وسنتطرق في دروس لاحقة إلى تفاصيل ومواضيع متقدّمة في العمل على Trello. إنشاء حساب يمكن إنشاء حساب في Trello بسهولة عبر التوجّه إلى الصفحة الرئيسية للموقع ثم الضغط على SingUP، الخانات المطلوبة ثلاثة فقط: اسمك، البريد الإلكتروني، وكلمة المرور: بعد ذلك ستنتقل إلى الصفحة الرئيسية في Trello والتي تعرض الألواح boards الخاصّة بمشاريعك، مبدئيًا لن تتضمن هذه الصفحة سوى لوح واحد ترحيبي يُدعى Welcome Board والذي يشمل الكثير من الأمثلة والخصائص التي يمكن تنفيذها باستخدام Trello. إنشاء لوح جديد New Board لنُنشئ لوحًا جديد باسم "أكاديمية حسوب" عبر الضغط على المربع الرمادي Create new board، ثمة خياران مُتاحان عند الإنشاء، الأول هو اسم اللوح، والثاني هو مجموعة العمل التي سنشارك اللوح معها، ولأننا لم ننشئ مجموعات عمل فسنترك هذا الخيار none ونضغط على Create: إنشاء القوائم بعد إنشاء اللوح ينقلنا Trello إلى داخله، وتظهر قائمة جانبية باسم Menu لنغلقها الآن ونُركّز على الزاوية اليُسرى حيث ينتظرنا إنشاء القائمة الأولى، سوف أكتب "مواد للترجمة" وأضغط على Enter، سأنشئ قائمتين إضافيتين "مواد للتدقيق" و "مواد جاهزة للنشر"، الآن يفترض أن يبدو اللوح على الشكل التالي: تُمثّل هذه القوائم سير عملي في أكاديمية حسوب. لنبدأ مع قائمة "مواد للترجمة"؛ تحتوي هذه القائمة على المقالات التي أنوي ترجمتها، هذا يشابه قائمة To Do والتي تتضمن الأعمال التي يتوجّب عليّ تنفيذها. إضافة مهام إلى القوائم لنبدأ بإضافة بطاقة/مهمة إلى القائمة عن الطريق النقر على زر Add a card، سيظهر مربع نصيّ صغير قابل للكتابة، سأضع هنا عنوان إحدى المقالات التي يتوجب عليّ ترجمتها، ثم أضغط على Enter لأرى المهمة قد أضيفت إلى القائمة. بعد ذلك سأضغط عليها بزر الفأرة الأيمن لتُفتح نافذة تفاصيل البطاقة والتي سنتطرق لاحقًا لإدارتها بالتفصيل. ما يهمني الآن في البطاقة هو إرفاقها مع رابط المقال كي يسهل عليّ الوصول للأصل الإنكليزي عندما أبدأ بالعمل، لذا أنسخ الرابط وأضعه في خانة Add Comment ثم أضغط Enter. سيُضاف في الأعلى مربع جديد باسم Attachments والعنصر الأول (والوحيد حاليًا) في المرفقات هو رابط المادة الأصل. انتهيت الآن من إضافة المهمة الأولى، أغلق البطاقة بالضغط على Esc من لوحة المفاتيح أو الضغط على رمز الإغلاق أعلى يمين نافذة إدارة البطاقة. سأتابع بالطريقة عينها مع باقي المقالات التي يجب عليّ ترجمتها، ليصبح اللوح مشابهًا لما يلي: بهذا الأسلوب تكون لديّ صورة دقيقة عن كمية المواد التي عليّ تنفيذها، وسيكون سهلًا متابعة سير عمل العديد من الأعضاء في فريق واحد. في البداية ستكون المقالات ضمن قائمة "مواد للترجمة" مع رابط الأصل لكل منها، لنفترض أنني أنهيت ترجمة المقال الأول، أعود الآن إلى Trello وأضغط على البطاقة الخاصّة به، ومن مربع Add Comment أختار رمز المشبك (الأول من اليسار) لإرفاق النصّ المترجم مع البطاقة، كما في الصورة التالية: الخطوة التالية هي سحب البطاقة من قائمة "مواد للترجمة" وإفلاتها ضمن قائمة "مواد للتدقيق"، سأضغط عليها مُجددًا ومن صندوق إضافة تعليق أختار رمز الإشارة (الثاني من اليسار) لإضافة إشارة mention إلى المُدقّق، كي يصله إشعار بوجود مادة جديدة تحتاج إلى تدقيق، كما هو موضح في الصورة: المُدقق بدوره سيحصل على نسخة من الترجمة مع رابط الأصل، وبعد التنقيح سيرفع نسخة جديدة من الملف، وسينقل بطاقة المقال من قائمة "مواد للتدقيق" إلى قائمة "مواد للنشر"، وعبر الضغط على البطاقة هناك يمكنه إضافة إشارة mention إلى مسؤول النشر في الموقع كي يستلم المادة ويجدولها للنشر. هذه صورة مختصرة ومُبسطة عن أسلوب Trello لإدارة سير العمل وتتبعه، وتسهيل التعاون بين فريق العمل. كيف تنشئ مجموعة عمل؟ حتّى تستطيع إدارة العمل مع الفريق الخاص بك أنت بحاجة إلى إنشاء مجموعة عمل أولًا؛ ثم إنشاء لوح مشترك جديد خاص بالمجموعة. للقيام بذلك اضغط على إشارة الإضافة + أعلى ويسار الموقع، لتظهر لدينا ثلاثة خيارات: الأول لإنشاء لوح جديد، الثاني لإنشاء مجموعة عمل شخصية، أما الخيار الثالث فهو لإنشاء مجموعة عمل تجارية وهذا الخيار يحتاج إلى اشتراك في الخطة المدفوعة لدى الموقع. لذا سننتقي الخيار الثاني ثم نكتب اسمًا للفريق ونضغط على Create: سينقلنا الموقع بعدها إلى المساحة الخاصة بمجموعة العمل والتي تتضمن أربع علامات تبويب: الأولى Boards لإنشاء وإدارة ألواح العمل الخاصة بهذه المجموعة. الثانية الأعضاء Members من هنا يمكنك البحث عن الآخرين عبر أسمائهم على Trello أو عبر عنوان بريدهم الإلكتروني، في حال لم يكن الشخص مُسجلًا لدى الموقع فسيظهر أسفل اسمه زر Send بدلًا من Add لإرسال دعوة بريدية له للاشتراك. علامة التبويب الثالثة Settings تتضمن عدّة خيارات، يمكننا تعديل واحد منها فقط والباقي تحتاج إلى الاشتراك المدفوع، الخيار هو Visibility ويُعبّر عن مستوى خصوصيّة مجموعة العمل، حيث لدينا خيارين: الأوّل خاص Private، وهنا تكون رؤية المجموعة وإمكانية العمل ضمنها محصورة بمن تدعوه لها. الثاني عام Public، حيث يمكن لأي شخص لديه رابط المجموعة تصفح جميع تفاصيلها، كما يمكن لمحركات البحث مثل Google فهرسة محتواها، لكن فقط الأعضاء المدعوون يمكنهم العمل ضمنها. أما ثالث الخيارات Business class فهو مخصص بمزايا إضافية للخطة المدفوعة. نصائح عامة استخدم عناوين واضحة وكاملة لوصف البطاقات. أول ما تقوم به بعد إنشاء البطاقة هو كتابة المزيد من التفاصيل بداخلها، وإرفاق الروابط والملفات اللازمة للعمل. تابع سير العمل بنقل البطاقة من قائمة إلى أخرى كما هو مخطط له، الالتزام بهذا النظام سيجلب فوائد تنظيمية عديدة تظهر مع الوقت. لا تحذف البطاقات بعد انتهاء العمل بل أنشئ قائمة باسم «أرشيف» واحفظ فيها جميع الأعمال المنتهية، قد تلزم هذه البطاقات لاحقًا في حال حدوث خلل أو ما شابه. يمكنك استخدام Trello كلوح لإدارة المهام الشخصية حتى لو لم يكن لديك فريق عمل. ادخل صباحًا إلى Trello وراجع جميع المهام التي يتوجّب عليك تنفيذها وتفحّص إلى أين وصل سير العمل. سنتابع في دروس قادمة شرح المزيد من التفاصيل والاستخدامات عن تطبيق Trello.1 نقطة
-
الإصدار 1.0.0
76192 تنزيل
هذا الكتاب ليس وصفةً سريعةً للثّراء! وهو لا يَعِدُكَ بجنيِ آلافِ الدولاراتِ منْ خلالِ بقائكَ نائمًا في البيت. لا يُقدّم الكتاب وَصفاتٍ سحريّةً للحُصولِ على 500$ خلالَ ساعتين من خلال مواقعَ خطيرة. ولا يعرض نماذجَ لأناسٍ حصلوا على مليون دولار في عامهم الأوّل بعد قراءة الكتابْ! هذا الكتاب، كتابٌ واقعيٌّ. يلامسُ الحقيقةَ الصعبة بأنّهُ مِن الصّعبِ الحُصولُ على وظيفة في الكثير من الدُّولِ العربيّة. ويخبرك بأن هناكَ أملًا وبديلًا. بل بديلًا قويًّا قَد يكون أفضل من الوظيفة بمراحل. ويبرهن على ذلك بعرض قصص نجاحٍ لأشخاصٍ مثلك، عاشوا ظروفك نفسها، ومن بلدك، ويعانون من جميع المصاعب التي تعاني منه، وبدأوا بمؤهِّلاتٍ قريبةٍ جدًا من مؤهلاتك، وامتلكوا بعضَ المهاراتِ التي تَمتلكها، ولربما كنتَ تُحسِنُها أكثر مِنْ بَعضِهم. ولكنَّ الفرقَ الوحيد (ليس طبعا أنّهم قرأوا الكتاب)، الفرقُ الوَحيدُ أنّهُم وَجَدوا طَريقَهُم للعملِ عَبْر الأنترنت وتحقيقِ مصدرِ دخلٍ كافٍ ومستمرٍّ لأنفسهم، بعضهم – بل الكثير منهم – يحقِّقُ ضِعف الرّاتِبِ الّذي تَحلُمُ بِه شَهريا. يَستعرضُ الكِتابُ قِصصَ النَّجاح بغرضِ إلهامكَ ومَنحِكَ الدَّافِع لتنجح كما نَجحُوا. ويؤكد أنّهم نجحوا ليس لأنّهم تعلّموا المُعادلة السِّحرية للنَّجاح، وليس لأنّهم وجدوا الوصفة السّرية لعصيرِ النّجاح فأعدّوه وشربوه، وليس لأنّ هناك (واسطةً) أخدتْ بأيديهم وعبرت بهم إلى طريقِ النّجاح. إنّما نجَحوا لأنّهم عَمِلوا وتَعبوا وصَابروا وواصَلوا حتّى وَصَلوا. يعرض عليك الكتابُ فرصةَ أنْ تنجح كَما نجحوا، بَل ويَضَعك في ظروفٍ أَفضَل مِن ظُروفهم. وذلك بشرحِ الخُطواتِ اللّازمِ اتّخاذها لبدءِ عملكَ عبر الأنترنت. فالكثير مِنهم لم تُتَح لَه فرصة الحصول على تلك المعلومات، وإنما جرّبوا فأخطأوا فتعلّموا فجرّبوا ثانيةً فنجحوا. وهنا – في هذا الكتاب – نختصر عليك الطّريق، فنعرضُ لكَ تجارِبَهم وأخْطاءَهُم وأَفْضلَ ما حقَّقُوه. يبدأ الكتاب بتعريفِ العمل الحرّ، ومجالاتِه، ومُميّزاتهِ وعُيوبِه. ثمّ يُرشِدُكَ إِلى الكيفيّةِ التي تَبدأُ بِها عملكَ الحُرّ بخطواتٍ بسيطةٍ وسهلةِ التّطبيق. ويُتابِع معك هذِه الخُطوات خُطوة بخطوة. فيقدّم لكَ النَّصائِحَ حولَ إِنشاءِ ملفِّكَ الشّخصيّ، ويُحدثك عَن الطّريقة التي تُقدّمُ بها عروضَ العمل، ويُعلّمكَ كيفيّة تحديدِ السِّعرِ المُناسِب للمشروع، وكيفيّة تَقدير الزّمن اللّازِم لتنفيذه. ويُواسيكَ في حال عدمِ حُصولِكُ عُلى مَشاريع. يَعرضُ الكتابُ عَددًا مِنَ المَهاراتِ اللّازِمة للعَملِ الحُرّ عبرَ الأنترنت، فيستعرضُ مهاراتِ التّواصلِ معَ الزّبائن، ومهاراتِ التّفاوُضِ والإِقْناعْ، ومهاراتِ إدارةِ وتنظيمِ الوقتْ. الكتابُ لا يَدّعي أنّهُ المرجعُ الشاملُ لكلِّ ما لهُ علاقةٌ بالعملِ الحُرّ، إنَّما يرجو مُؤلّفُ الكتابِ أنْ تَكونَ كلماتُهُ قُد لامستْ مَواطنَ الإرادةِ فِي قَلبك. وفُصولَه قدْ شَقّتْ لكَ طريقًا واضحًا للعملِ الحرِّ عبر الأنترنت. وأن يَكونَ ركيزةَ البدايةِ والخُطوة الأولَى في عملكَ عبْر الأنْترنَت. أُمنِيَتُنا في هَذا الكِتاب، أَنْ تَكونَ قِصّةَ نجاحٍ ملهمةً يُحتَفَى بِها، وتُذكَرُ في إصْداراتٍ لاحقةٍ مِنَ الكِتاب. ضَعْ ذَلكَ نُصبَ عَيْنيكْ خِلالَ قِراءتِكَ للكِتابْ.1 نقطة -
نبذة مختصرة عن صناعة الألعاب وتطويرها لعل صناعة الألعاب هي إحدى أصعب الصناعات في هذا العصر، وذلك من عدة نواح تبدأ بالتحديات التقنية، مرورا بجمهور صعب الإرضاء ولا يرحم حتى كبريات الشركات إن لم تكن منتجاتها بالمستوى المطلوب، وليس انتهاءا بالمنافسة الشرسة ونسب الفشل العالية وصعوبة تحقيق أرباح تغطي تكاليف الإنتاج المرتفعة. على الجانب الآخر يوجد ميزات لهذه الصناعة تجعل من النجاة فيها أمرا ممكنا، فعلى الجانب التقني مثلا، لا تخلوا الغالبية العظمى من الألعاب من وظائف متشابهة وأنماط متكررة من معالجة البيانات، مما يجعل إعادة استخدام الوحدات البرمجية للألعاب السابقة من أجل إنشاء ألعاب جديدة أمرا ممكنا، وهذا بدوره يساهم في تذليل العقبات التقنية واختصار الوقت والجهد. عندما تتحدث عن صناعة لعبة، فأنت هنا تذكر العملية الكبرى والتي تنطوي على عشرات وربما مئات المهام التي يجب أن تنجزها في مجالات عدة. فصناعة لعبة تعني إنتاجها وتسويقها ونشرها وكل ما يتعلق بهذه العمليات من إجراءات وخطوات إدارية وتقنية وفنية ومالية وقانونية. على أية حال فإن ما يهمنا في سلسلة الدروس هذه هو الجانب التقني وهو تطوير اللعبة، وهي عملية بناء المنتج البرمجي النهائي بكافة مكوّناته. هذه العملية لا تشمل بالضرورة تصميم اللعبة، حيث أن عملية التصميم ذات منظور أوسع وتركز على أمور مثل القصة والسمة العامة للعبة وأشكال المراحل وطبيعة الخصوم، بالإضافة إلى قواعد اللعبة وأهدافها وشروط الفوز والخسارة. بالعودة لعملية تطوير اللعبة، نجد أن العديد من الاختصاصات والمهارات تساهم في هذه العملية، فهناك الرسامون ومصممو النماذج وفنيو التحريك ومهندسو الصوت والمخرج، إضافة – بالطبع – للمبرمجين. هذه النظرة الشاملة مهمة لنعرف أن دور المبرمج في إنتاج اللعبة ليس سوى دورا مكمّلا لأدوار غيره من أعضاء الفريق، ولو أن هذه الصورة بدأت تتغير بظهور المطورين المستقلين Indie Developers والذين يقومون بالعديد من المهام إلى جانب البرمجة. لماذا نستخدم محركات الألعاب؟ لو أردنا الحديث بتفصيل أكبر عن دور المبرمجين في صناعة الألعاب، سنجد أنه حتى على مستوى البرمجة نفسها هناك أدوار عديدة يجب القيام بها: فهناك برمجة الرسومات وهناك أنظم الإدخال وأنظمة استيراد الموارد والذكاء الاصطناعي ومحاكاة الفيزياء وغيرها مثل مكتبات الصوت والأدوات المساعدة. كل هذه المهام يمكن إنجازها على شكل وحدات برمجية قابلة لإعادة الاستخدام كما سبق وذكرت، وبالتالي فهذه الوحدات تشكل معا ما يعرف بمحرك الألعاب Game Engine. باستخدامك للمحرك والمكتبات البرمجية التي يتكون منها، فأنت تختصر على نفسك الجهد اللازم لبناء نظام الإدخال والإخراج والاستيراد ومحاكاة الفيزياء، وحتى جزء من الذكاء الاصطناعي. وما يتبقى عليك هو كتابة منطق لعبتك الخاصة وإبداع ما يميزها عن غيرها من الألعاب. هذه النقطة الأخيرة هي ما ستدور حوله سلسلة الدروس القادمة، وبالرغم من أن المهمة تبدو صغيرة جدا مقارنة بتطوير اللعبة كاملة، إلا أنها على صغرها تحتاج لمجهود معتبر في التصميم والتنفيذ كما سنرى. خطوات سريعة لتبدأ مع محرك Unity إن لم تكن ذا خبرة سابقة بهذا المحرك يمكنك قراءة هذه المقدمة السريعة، كما يمكنك تخطيها إن كنت تعاملت مع هذا المحرك سابقا. لن أطيل شرح هذه الخطوات حيث هناك الكثير من الدروس سواء بالعربية أو الإنجليزية تتناولها، لكنها هنا لنتأكد من أن كل قارئ للسلسلة على نفس الدرجة من المعرفة الأولية قبل البدء. الخطوة الأولى: تحميل وتنصيب المحرك لتنزيل الإصدار الأحدث من المحرك وهو 5 ادخل مباشرة إلى الموقع http://unity3d.com ومن ثم قم بتحميل النسخة المناسبة لنظام التشغيل الذي تستخدمه، علما بأن النسخة المجانية من المحرك ذات إمكانات كبيرة وهي تفي بالغرض بالنسبة لمشروعنا في سلسلة الدروس هذه. الخطوة الثانية: إنشاء المشروع بمجرد تشغيل المحرك بعد تنصيبه ستظهر لك شاشة البداية، قم بالضغط على New Project لتظهر لك شاشة كالتي تراها في الصورة أدناه. كل ما عليك هو اختيار النوع 2D ومن ثم اختيار اسم وموقع المشروع الجديد الذي ستقوم بإنشائه، ومن ثم الضغط على Create Project. الخطوة الثالثة: التعرف على نوافذ البرنامج الرئيسية تهمنا في البداية 4 نوافذ رئيسية في محرك Unity، وفيما يلي ملخص لوظائفها: نافذة المشهد Scene: وهي التي تستخدمها لبناء مشهد اللعبة وإضافة الكائنات المختلفة إليه وتوزيعها في الفضاء ثنائي الأبعاد. تحتوي هذه النافذة مبدئيا على كائن واحد وهو الكاميرا. هرمية المشهد Hierarchy: تحتوي على ترتيب شجري يحوي كافة الكائنات التي تمت إضافتها للمشهد ويساعدك في تنظيم العلاقات بينها، حيث أنه من الممكن أن تضيف كائنات كأبناء لكائنات أخرى بحيث يتأثر الكائن الابن بالكائن الأب كما سنرى. تحتوي هذه النافذة مبدئيا على كائن واحد وهو الكاميرا. مستعرض المشروع Project: يقوم بعرض جميع الملفات الموجودة داخل مجلد المشروع، سواء تلك التي تمت إضافتها للمشهد أم التي لم تُضف. يحتوي المشروع مبدئيا على مجلد واحد يسمى Assets، وسنضيف داخله كافة الملفات والمجلدات الأخرى. نافذة الخصائص Inspector: عند اختيار أي كائن من هرمية المشهد أو نافذة المشهد أو مستعرض المشروع، فإن خصائصه ستظهر في هذه النافذة ويمكنك تغييرها من هناك. استعرضنا في هذا الدرس ما يظهر من واجهة Unity3D للوهلة الأولى، مع مقدمة بسيطة حول صناعة الألعاب، سنشرع في الدروس القادمة في مشروع عملي نتعلم من خلاله كيفية صناعة لعبة كاملة حقيقية. فترقبوا!1 نقطة
-
السلام عليكم لكي تتمكن من وضع صندوق التعليقات في موقعك هذا الموقع يمكنك من الوضع و الاضهار و من ادارة التعليقات من خلال منصته https://disqus.com/1 نقطة
-
يجد الكثير من المبتدئين استخدام PHPUnit لاختبار Test الشيفرة المصدرية التي يكتبونها أمرا معقّدا للغاية؛ بدءًا من تثبيت مكتبات الاختبار وليس انتهاء بتشخيص أخطاء عملها. يسهّل Laravel 5 الكثير من هذه التعقيدات إذ يأتي مضمّنا مبدئيّا بمكتبة PHPUnit جاهزة للعمل. يمكنك التأكّد من ذلك بالدخول إلى مجلّد المشروع ثم تنفيذ الأمر التالي: vendor/bin/phpunit --version قد تظهر لك مشكلة في اعتمادات Composer إلا أنه يمكن تجاوزها بتنفيذ الأمر على النحو التالي: vendor/phpunit/phpunit/phpunit --version تظهر بعد تنفيذ الأمر المناسب النتيجة التالية (قد يختلف رقم الإصدار لديك): PHPUnit 4.8.24 by Sebastian Bergmann and contributors. استخدم الأمر الصحيح من بين الأمريْن أعلاه في بقية هذا الدرس. يأتي Laravel مبدئيّا بمثال لاختبار؛ سننظر في هذا المثال لنرى كيف تعمل اختبارات PHPUnit. افتح الملف ExampleTest.php الموجود في المجلّد tests المتفرّع عن مجلّد المشروع: <?php use Illuminate\Foundation\Testing\WithoutMiddleware; use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Foundation\Testing\DatabaseTransactions; class ExampleTest extends TestCase { /** * A basic functional test example. * * @return void */ public function testBasicExample() { $this->visit('/') ->see('Laravel 5'); } } يمكننا تجربة الاختبار بتنفيذ الأمر التالي الذي ينفّذ جميع الاختبارات الموجودة في الملف tests المذكور أعلاه: vendor/bin/phpunit يبحث الاختبار أعلاه عن سلسلة المحارف Laravel 5 في الصفحة الرئيسية للمشروع التي يشير إليها المسار /. إن كان مشروع Laravel الذي تعمل عليه جديدا فسيظهر سطران كالتالي: Time: 118 ms, Memory: 12.00Mb OK (1 test, 1 assertion) يخبر السطر الأول بالوقت الذي استغرقه الاختبار وحجم الذاكرة المستخدمة لتنفيذه. أما السطر الثاني فيُظهر عدد الاختبارات وعدد التأكيدات Assertions ونتيجتها. لدينا اختبار واحد (ExampleTest) وتأكيد واحد (الصفحة الرئيسية تحوي سلسلة المحارف Laravel 5). بما أن نتيجة الاختبار إيجابية فإن السطر الأخير يظهر باللّون الأخضر. فلنجرّب إخفاق الاختبار. نستبدل Laravel 6 بـ Laravel 5 في ملف الاختبار ثم نعيد تنفيذ الأمر: vendor/bin/phpunit ستظهر الكثير من المُخرجات تحوي الرسائل التالية إضافة لشفرة الصفحة الرئيسية التي نختبرها: Time: 115 ms, Memory: 12.00Mb There was 1 failure: Couldn't find [Laravel 6] on the page. Check content above. FAILURES! Tests: 1, Assertions: 1, Failures: 1. يخبر السطر الأول بالمدة التي استغرقها الاختبار والحجم الذي أخذه في الذاكرة، بينما يشرح السّطر الثالث سبب الإخفاق وهو عدم القدرة على إيجاد سلسلة المحارف Laravel 6 في الصفحة. يلخّص السّطر الأخير نتيجة الأمر التي تظهر باللون الأحمر دلالة على إخفاق الاختبارات. إن حصل خطأ في الشفرة المصدرية للاختبار نفسه (نسيت مثلا ; في نهاية تعليمة) فلن يُنفَّذ الاختبار وستظهر رسالة بما حدث. اختبار استمارة Form تسجيل مستخدم يقضي المطوّرون المبتدئون الكثير من الوقت لاختبار الاستمارات على تطبيقاتهم، إلا أن Laravel يجعل الأمر في منتهى السهولة. سنجرّب في هذه الفقرة اختبار استمارة لتسجيل مستخدم جديد في التطبيق. سنستعين بأداة Artisan لإنشاء أساسيات الاستيثاق (عروض Views التسجيل، الدخول وإعادة تعيين كلمة السر بالإضافة إلى المتحكّمات Controllers والمسارات Routes الضرورية): php artisan make:auth ينشئ الأمر السابق عرضا على المسار register/ به استمارة لتسجيل مستخدم جديد. سنستخدم PHPUnit لاختبار هذه الاستمارة. نستعين بأداة Artisan من جديد لإنشاء ملف للاختبار: php artisan make:test RegistrationTest ملحوظة: تأكّد من إعداد قاعدة البيانات في مشروعك. ينشئ الأمر ملفا باسم RegistrationTest.php في المجلّد tests. نفتح الملف ونعدّله على النحو التالي: <?php use Illuminate\Foundation\Testing\WithoutMiddleware; use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Foundation\Testing\DatabaseTransactions; class RegistrationTest extends TestCase { use DatabaseTransactions; public function testNewUserRegistration() { $this->visit('/register') ->type('bob', 'name') ->type('hello1@in.com', 'email') ->type('hello1', 'password') ->type('hello1', 'password_confirmation') ->press('Register') ->seePageIs('/'); } } لاحظ أن الشفرة تطلُب زيارة المسار register/، إدخال المعطيات المذكورة في الاستمارة باستخدام الدالة type، الضغط على الزّر Register ثم النظر في النتيجة هل هي المسار /. تأخذ الدالة type معطيين، الأول قيمة حقل الاستمارة والثاني اسم الحقل. يجب أن تكون أسماء المعطيات في الدالة موافقة لحقول الاستمارة. في حالتنا توجد أربعة حقول في الاستمارة. نستخدم الطّابع DatabaseTransactions Trait في الاختبار. يمكّننا هذا الطّابع من إلغاء إدراج تسجيلات جديدة في قاعدة البيانات حتى لا نملأها من غير جدوى. كما نستخدم الطّابع DatabaseMigrations للتراجع عن التهجيرات Migrations وبالتالي حذف الجدول من قاعدة البيانات. الطابع الثالث المستخدم في الاختبار هو طابع WithoutMiddleware الذي يسمح بتخطّي بعض إجراءات الحماية لأغراض الاختبار. يمكننا الآن تنفيذ الاختبار كما يلي: vendor/bin/phpunit tests/RegistrationTest.php النتيجة: Time: 401 ms, Memory: 16.50Mb OK (1 test, 5 assertions) يمكنك قراءة المزيد عن الاختبارات على موقع PHPUnit؛ فقط تذكّر أن الصنف الذي نمدّده في Laravel هو TestCase بدلا من PHPUnit_Framework_TestCase في تطبيقات PHP أخرى. ترجمة -وبتصرّف- لمقال How Use PHPUnit Test in Laravel 5.1 لصاحبه Bill Keck.1 نقطة
-
السلام عليكم اخي لتعلم لغة الاندرويد يمكنك الدخول على هذا الرابط https://academy.hsoub.com/programming/android/1 نقطة
-
السلام عليكم لم افهم بالضبط ماذا تقصد ان كنت تقصد طباعة محتوى معين من الصفحة <div id='DivIdToPrint'> <p>This is a sample text for printing purpose.</p> </div> <p>Do not print.</p> <input type='button' id='btn' value='Print' onclick='printDiv();'> function printDiv() { var divToPrint=document.getElementById('DivIdToPrint'); var newWin=window.open('','Print-Window'); newWin.document.open(); newWin.document.write('<html><body onload="window.print()">'+divToPrint.innerHTML+'</body></html>'); newWin.document.close(); setTimeout(function(){newWin.close();},10); } و يمكنك ايضا ان تستعمل jQuery Plugin لتسهيل العمل https://github.com/DoersGuild/jQuery.print1 نقطة
-
أهلاً بك أخ عامر, في السابق,و قبل تعديل صفحة"اكتب لنا" كان يُتاح للجميع إرسال مقالاتهم لتخضع للمراجعة من إدارة موقع الأكاديمية قبل نشرها. لكن لكثرة الضغوط - بحسب رأيي - تم الاستغناء عن الفكرة بالكليّة.و أُستعيض عنها بمشاريع بين الحين و الآخر على موقع (مستقل) أرجو أن أكون قد أفدتك.1 نقطة
-
جزاك الله خير , لكن ثلاث دروس أراها أمر جداً قليل .. أتمنى إضافة المزيد من الدروس عن الجافا1 نقطة
-
يُوفّر تطبيق إدارة المشاريع Trello إمكانيات تخصيص واستخدام مُتقدّمة، تُضفي على التعامل مع البرنامج المزيد من السلاسة في متابعة سير العمل أو حتى مجرّد إعطاء طابع شخصي، نتطرّق في مقالنا هنا إلى بعض هذه التلميحات. اختصارات لوحة المفاتيح تمنحك اختصارات لوحة المفاتيح أسلوبًا مميزًا لاختصار تنفيذ الأوامر والعمليات على البطاقات والقوائم في Trello؛ نعرض فيما يلي أشهر هذه الاختصارات: يُظهر الضغط على الحرف "b" من لوحة المفاتيح قائمة الألواح الجانبية مع مربع بحث. اضغط على "b" ثم اكتب الأحرف الأولى من اسم اللوح الذي تريد الانتقال إليه، وأخيرًا اضغط على Enter للدخول. هذه أسرع طريقة ممكنة لتجد طريقك في Trello. عندما تُصبح داخل اللوح المطلوب اضغط على "f" لإظهار مُرشّح/فلتر البطاقات. اكتب كلمة ما وستختفي على الفور جميع البطاقات عدا تلك التي تتضمن هذه الكلمة. تتضمن نتائج التصفية أسماء الأعضاء المشتركين مع هذا اللوح، وكذلك أسماء اللصاقات Labels الموجودة داخله. ضع مؤشّر الفأرة فوق إحدى البطاقات واضغط على الاختصار "t" لتعديل عنوانها. يفيدك الاختصار "e" في حالتين: إن كنت قد فتحت البطاقة فإن ضغط "e" سيظهر صندوق الوصف لتعديله. أما إن وضعت مؤشر الفأرة على البطاقة وضغطت "e" فستفتح لك نافذة مختصرة تمكنك من تعديل عنوانها والقيام بعدة خطوات كالأرشفة والنسخ والنقل. تُستخدم أسهم الحركة في لوحة المفاتيح للانتقال بين البطاقات ابتداء من البطاقة الفعّالة. اضغط "n" للبدء بإنشاء بطاقة جديدة أسفل البطاقة الفعّالة. يمكنك في أي وقت الضغط على "escape" لإغلاق أي حقل نصي أو قائمة منبثقة أو مربع حوار ضمن تريللو. اضغط على "?" لاستكشاف المزيد من الاختصارات المُتاحة. في البداية قد تشعر بأن أسلوب استخدام الفأرة للوصول إلى هذه المهام أكثر "طبيعية" وأقرب لما اعتدته سابقًا، لكن ما إن تتمرّن على هذه الاختصارات حتى تشعر بجدواها وأثرها على سلاسة التعامل مع البرنامج. تلميحات السحب والإفلات يتمتع Trello بإمكانيات مريحة في السحب والإفلات تتجاوز نقل البطاقات بين القوائم المختلفة، وإليك بعض هذه التلميحات: من متصفح الملفات لديك يمكن سحب أي نوع من الملفات وإلقائه على بطاقة ما، لرفعه وإرفاقه ضمنها. من متصفح الإنترنت يمكن سحب أي صورة ثم الانتقال بها (مع الضغط على زر الفأرة الأيسر) إلى علامة التبويب الخاصة بـ Trello وإفلاتها على أية بطاقة، ليتم رفعها مباشرةً إلى تلك البطاقة. يمكن كذلك النقر على أي صورة بزر الفأرة الأيمن ثم نسخها إلى الذاكرة من خلال أمر "Copy Image" وبعد ذلك تحديد أي بطاقة في Trello والضغط في لوحة المفاتيح على Ctrl+V ليتم رفع الصورة وإرفاقها إلى البطاقة. (تعمل هذه الميزة على متصفح Chrome فقط). إذا كنتَ تتعامل مع لوح يتضمن الكثير من القوائم وتجد أن التنقّل أفقيًا (إلى اليمين واليسار) عبر شريط تمرير المتصفح أمر مزعج؛ يمكنك تجريب هذه التلميحة. في أي مكان فارغ ضمن اللوح اضغط بزر الفأرة الأيسر ومع الاستمرار بالضغط حرّك الفأرة إلى اليمين أو اليسار للتنقّل أفقيًا ضمن اللوح. هذا أسهل بكثير أليس كذلك؟ إشعارات سطح المكتب تظهر الإشعارات في تريللو عند الضغط على أيقونة الجرس في الشريط العلوي ضمن الموقع والتي تتحول من اللون الأزرق إلى الأحمر حال وصول إشعار جديد. كما يُفترض تلقيك رسائل بريدية بذلك تبعًا للإعدادات الافتراضية. إذا كنت تستخدم إصدارًا حديثًا من متصفح الإنترنت الخاص بك (باستثناء Internet Explorer وَ Edge) يمكنك تلقيّ الإشعارات على سطح المكتب لضمان تنبّهك في الوقت الحقيقي لوصول الإشعار. اضغط على اسمك في الشريط العلوي ضمن تريللو واختر Settings، مرّر عجلة الفأرة إلى الأسفل قليلًا حتى قسم Notifications ومن هناك اضغط على Enable Desktop Notifications، سيعرض لك المتصفح رسالة تسألك فيما إذا كنتَ راغبًا بتلقي إشعارات الموقع إلى سطح المكتب؛ أجب بنعم، وهكذا ستظهر لك نافذة منبثقة صغيرة في زاوية سطح المكتب حالما تصلك إشعارات جديدة. النقر المزدوج لإضافة قائمة يمكنك النقرّ مرتين باستخدام زر الفأرة الأيمن في أي مكان ضمن اللوح لإنشاء قائمة جديدة على الفور، تُفيدك هذه الطريقة عندما ترغب بإنشاء قائمة بين قائمتين موجودتين مسبقًا، ضع مؤشر الفأرة على المساحة الفارغة بينهما وانقر بشكل مزدوج لتظهر القائمة الجديدة، اختر لها اسمًا ثم اضغط على Add، كما يمكنك تغيير ترتيب القائمة بين القوائم من خلال خيار position عند إنشائها. إنشاء البطاقات بريديا من الممكن استخدام البريد الإلكتروني لتسهيل إنشاء البطاقات، حيث تكتب رسالة وتضمنها بالصور والمرفقات التي ترغب بها عبر بريدك الإلكتروني، وترسلها لقائمة محددة في حسابك بتريللو فتجدها ظهرت كبطاقة جديدة فيها. للقيام بذلك افتح أحد الألواح ثم اضغط على: Show Menu > More > Email to board Settings انسخ عنوان البريد الإلكتروني الذي يظهر تحت خانة Your email address for this board واحفظه ضمن قوائم الأسماء لديك في برنامج البريد الإلكتروني. في الأسفل وتحت خانة Your emailed cards appear in يمكنك اختيار القائمة التي ستصل إليها رسائل البريد الإلكتروني كبطاقات جديدة وموضعها. عند إنشاء رسالة جديدة وإرسالها إلى العنوان السابق سيستخدم عنوان الرسالة كعنوان للبطاقة، بينما يوضع جسم الرسالة ضمن وصف البطاقة، وذلك في أسفل القائمة الأولى تبعًا للإعدادات الافتراضية. يمكنك إرسال المرفقات مع الرسالة ليتم إضافتها إلى البطاقة أيضًا. إضفاء طابع شخصي يُتيح تريللو إمكانية تغيير لون الخلفية الافتراضية وانتقاء واحدًا من تسعة ألوان متاحة للاشتراك المجاني، أو عدد غير محدد من الألوان والتصاميم والصور لاشتراك الخطّة المدفوعة. لتغيير لون الخلفية اضغط على Show Menu في أقصى اليمين ثم Change Background. من هنا يمكن الضغط على أيٍّ من مربعات الألوان المتاحة ليتم تغيير اللون الافتراضي في الحال. تلميحات ونصائح أخرى إذا كان لديك عمود في ورقة spreadsheet وترغب باستيراده إلى تريللو ، قم بتحديده أولًا ثم نسخه إلى الحافظة Ctrl+C وتحرير إحدى البطاقات في تريللو وتنفيذ أمر اللصق فيها Ctrl+V، سيسألك تريللو عن رغبتك في لصق كل سطر كبطاقة منفصلة أو لصق جميع الأسطر إلى بطاقة واحدة. اختر ما يناسبك. إذا أنشأت بطاقة في إحدى القوائم ثم انتبهت إلى أنك لم تختر القائمة الصحيحة؛ يمكنك فورًا الضغط على بطاقة جديدة في القائمة المطلوبة لنقل كامل النص الذي كتبته بالفعل إلى هناك ومتابعة عملك. عند العمل مع فريق من الأفضل الاشتراك بالقوائم التي يهمك متابعتها لتلقي الإشعارات عن التغييرات التي تجري فيها. يتم الاشتراك عبر النقر على النقاط الثلاثة المتجاورة ضمن ترويسة كل قائمة ثم الضغط على زر subscribe.1 نقطة