اذهب إلى المحتوى

لوحة المتصدرين

  1. zahershullar

    zahershullar

    الأعضاء


    • نقاط

      2

    • المساهمات

      625


  2. Huda Almashta

    Huda Almashta

    الأعضاء


    • نقاط

      1

    • المساهمات

      411


  3. Manou

    Manou

    الأعضاء


    • نقاط

      1

    • المساهمات

      132


  4. عبدالهادي الديوري

    • نقاط

      1

    • المساهمات

      368


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 03/10/16 في كل الموقع

  1. سنقوم في هذا الدرس بتعلّم كيفية العمل على برنامج InDesign من شركة Adobe لتصميم مجلّة صغيرة بسيطة باستخدام الأدوات الأساسية فقط وذلك لتبسيط فهم آلية عمل البرنامج ومعرفة أساسياته. برنامج InDesign هو برنامج مخصص لتصميم الكتب والمجلات ومختلف المطبوعات التعليمية والإعلانية سواءً كانت مطبوعة أم إلكترونية، ويعتبر من أفضل البرامج حاليًّا في هذا المجال. سنقوم باستخدام الطرق البسيطة السهلة والأدوات الأساسية لتصميم مجلة صغيرة تتحدث عن السيارات الموجودة في لعبة Need For Speed المعروفة. من الأفضل أن يكون لديك القليل من المعرفة ببرنامج فوتوشوب وذلك للتشابه الكبير في الأدوات والتأثيرات مع برنامج InDesign. في البداية يجب أن نُوّفر متطلبات المجلة من صور السيارات والمعلومات عنها بالإضافة إلى شعار اللعبة وشعارات السيارات أيضًا. افتح برنامج InDesign وستظهر لك واجهة البرنامج وتتضمن شريط الأدوات الأساسي في الأعلى والذي يتغيّر بتغيّر الأداة المستخدمة وبحسب العنصر المحدّد للعمل عليه، وشريط الأدوات الأساسية في الجهة اليسرى ولوحات التحكم بالصفحات والطبقات وأمور أخرى في الجهة اليمنى. افتح مستندًا جديدًا من خلال القائمة: File > New > Document ستظهر لك نافذة إعدادات المستند الجديد، ضع القيم التالية: Intent : Print عدد الصفحات: سنقوم باختيار عدد قليل فقط من أجل التعلّم ولذلك سيكون العدد 8 صفحات. حجم الصفحة سيكون A4. يمكنك الاطّلاع على الصفحات والتحكم بها عبر الضغط على رمز لوحة الصفحات Pages في الشريط الأيمن، وإذا لم تكن ظاهرة فيمكنك إظهارها من القائمة: Window > Pages أو بالضغط على المفتاح F12 من لوحة المفاتيح. سنقوم بتصميم صفحة الغلاف الأمامية عبر وضع صورة إعلانية للعبة، وللحصول على دقّة ممتازة يُفضّل الحصول على صورة عالية الدقة ووضعها من خلال القائمة: File > Place ثم تحديد مكان الصورة وبعد ذلك تضعها في زاوية الصفحة. يعتمد هذا البرنامج بشكل أساسي على الإطارات Frames للتعامل مع العناصر بشكل منفصل وسهل، ولذلك عندما أضفنا الصورة تم وضعها ضمن إطار خاص بها ولتغيير التحكم بين الإطار والصورة ذاتها عليك النقر مرّة واحدة على الصورة في كل مرّة تريد تغيير العنصر الذي تريد التحكم به. يمكنك التحكّم بحجم الصورة لتغطّي كامل مساحة الصفحة من أسهم التحكم بالحجم المحيطة بالصورة، أو من خلال شريط الأدوات العلوي، ولكن يجب عليك تغيير حجم الإطار والصورة معًا، وحتى لا تقوم بالعمليّة مرتين يكفي أن تغيّر حجم الإطار ليتطابق مع حجم الصفحة، ثم انقر على الأيقونة الموجودة في الشريط العلوي، والذي سيقوم تلقائيًّا بتغيير حجم الصورة لتملأ الإطار، وبالتالي تغطّي كامل مساحة الصفحة. اسم اللعبة مكتوب أصلًا في صورة غلاف اللعبة وبما أننا نصمّم مجلةً عن هذه اللعبة سنقوم بإضافة كلمة "مجلة" فقط فوق اسم اللعبة، ولإضافة النص انقر على أيقونة أداة النص من شريط الأدوات الأيسر ثم ارسم بواسطة هذه الأداة الإطار الذي ستكتب بداخله الكلمة، ضعه فوق اسم اللعبة مباشرة. اكتب الآن كلمة "مجلة" وتأكّد من أن حجمها مناسب لحجم النص في اسم اللعبة. لاحظ كيف يتغير محتوى الشريط العلوي بحسب العنصر المحدّد والأداة المختارة، بما أننا اخترنا أداة النص ونعمل على عنصر نصّي فإن الشريط العلوي سيحتوي على أدوات تنسيق النص، ومنها يمكنك تغيير نوع الخط المستخدم، يجب عليك أن تختار خطًّا مناسبًا للخط المستخدم في كتابة اسم اللعبة، لهذا اخترت خط Emad-Diana eXtra الشبيه بنمط خط العنوان. وحتى تتناسب الكلمة أكثر مع العنوان سنقوم بتدويرها قليلًا بذات زاوية ميل نص العنوان، انقر بالزر الأيمن على كلمة "مجلة" ثم اختر القائمة: Transform > Rotate وضع القيمة 10 درجات. ولجعل الكلمة متناسقة أكثر مع نص العنوان سنقوم بإضافة تدرج لوني مشابه للتدرج المُطبّق على نص العنوان عبر تحديد الكلمة ثم النقر مطوّلًا على أيقونة اللون أسفل شريط الأدوات الأيسر واختيار الخيار Apply Gradient. سيتوجب عليك أولًا إضافة ألوان نصّ العنوان إلى لوحة الألوان Swatches ومن ثم انقر مرتين على أيقونة التدرج اللوني التي اخترتها للتو لتفتح نافذة التدرج اللوني، ثم عدّل هذا التدرج بما يتوافق مع التدرج اللوني لنص العنوان (لن اشرح هذا الأمر مطوّلًا لأنه من المفترض أن تكون لديك معلومات أساسية عن الفوتوشوب ما يسهّل فهم عملية تعديل التدرج اللوني). لاحظ أنّ نص العنوان الذي نحاول أن نطبّق تأثيراته على كلمة "مجلة" له ظل خفيف، ولذلك انقر بالزر الأيمن على الكلمة ثم اختر القائمة: Effects > Drop Shadow أو من خلال الاختصار Ctrl+Alt+M لتفتح نافذة التأثيرات وتحديدًا تأثير الظلال ثم ضع القيم التالية: Mode : Multiply Opacity : 100% Distance : 0.5 mm Angle : 135 Size : 1 mm ثم انقر OK ليتم تطبيق التأثير على الكلمة وتصبح مطابقة لنص العنوان. أخيرًا حرّك الكلمة إلى جانب العنوان بشكل ملاصق له ويتلاءم مع أسلوب كتابة العنوان لتبدو الكلمة من أصل العنوان. الآن استخدام أداة النص لكتابة عنوان العدد لهذه المجلة أسفل الصفحة بحجم كبير نسبيًّا باستخدام ذات الخط وذات الألوان. وبهذا ننتهي من صفحة الغلاف وستبدو لوحة الصفحات بهذا الشكل. سنبدأ بالصفحة الأولى. بما أن هذا العدد يتمحور حول سيارات هذه اللعبة فسوف نقوم باختيار إحدى السيارات ونضع بعض التفاصيل والصور. اخترت لهذه الصفحة سيارة BMW M4. قم بإدراج صورة للسيارة عبر الخيار Place من قائمة File ثم عدّل حجم الصورة لتتمركز أسفل الصفحة مع جعل الإطار يغطي كامل الصفحة، والتأكّد من أن لون التعبئة للإطار هو اللون الأسود وبذلك تصبح الصفحة سوداء مع صورة السيارة أسفل الصفحة. من الممكن تعديل الصور ببرنامج فوتوشوب وتجهيزها قبل الدخول بها إلى برنامج إن ديزاين ولكن البرنامج الأخير يمتلك العديد من أدوات فوتوشوب ما يغنيك عن العمل على برنامجين. في هذه الحالة أريد تطبيق تأثير تدرج ظهور صورة السيارة من الأعلى لتختفي تدريجيًّا ضمن الخلفية السوداء للصفحة. استخدم أداة Rectangle Tool وارسم مستطيلًا يغطي نصفه السفلي الجزء العلوي من صورة السيارة. انقر على المستطيل بالزر الأيمن وادخل إلى نافذة التأثيرات واختر التأثير Gradient Feather. ثم عدّل التدرج اللوني ليكون باللون الأسود مع ترك الطرف اليمين شفافًا وتأكّد من جعل الزاوية -90 درجة. أدرج الآن صورة شعار شركة BMW وعدّل حجمها وضعها في الركن العلوي الأيسر للصفحة مع الانتباه إلى حدود الهوامش. لم أتطرّق لموضوع الهوامش وحدود النزيف لتصاميم الطباعة في هذا الدرس لأنني أريد شرح الفكرة العامة للبرنامج وسأتحدّث عنها بشكل مفصّل في الدروس القادمة. أضف الآن شعار نموذج السيارة M4 ليملأ الجزء العلوي من الصفحة. أضف عنوانًا للصفحة واكتب فيه اسم ونموذج السيارة "BMW M4 F82" وفي حال واجهت مشكلة مع الأرقام وظهرت الأرقام الهندية فإنّ هذا يجعل النص غير متناسق بسببها، لذلك انقر على الأيقونة في أقصى الجهة اليمنى من الشعار العلوي ثم اختر القائمة: Digits > Arabic وبذلك تتحول الأرقام إلى الأرقام العربية وتُحَلُّ المشكلة. أضف جدولًا لنكتب بداخله مواصفات السيارة. يمكنك إضافة الجدول من القائمة: Table > Create Table أو من الاختصار Ctrl+Alt+Shift+T فتظهر لك نافذة إنشاء الجدول، حدّد عدد الأعمدة والصفوف للجدول واتجاه الجدول لليمين وأو لليسار. ثم اكتب البيانات الخاصة بمواصفات السيارة. لا تنسَ أن الجدول سيكون في إطار منفصل. ارسم إطارَ نصٍّ جديد بجانب الجدول واكتب بداخله معلومات عامة عن السيارة. عليك أن تجعل لون النص في هذا الإطار باللون الأبيض وذلك لأن الخلفية سوداء. عدّل لون النص داخل الجدول لتضيف المزيد من الحيوية على التصميم. ولتجعل الجدول أفضل وبنمط جميل حدّد خلايا الجدول ثم انقر بالزر الأيمن واختر القائمة: Cell Options > Stroke and Fills الآن اتبع الخطوات التالية: اختر التبويب Stroke and Fills في حال لم تكن مفعّلة. أزِل جميع الخطوط في النموذج في الوسط وانقر على الخط الأفقي الأوسط لتظهر جميع الخطوط الأفقية التي تقع داخل الجدول. فعّل أيضًا الخط السفلي. حدّد حجم حدود الجدول عند القيمة اختر النمط المتواصل غير المتقطّع. اختر لون هذه الحدود. اجعل قيمة Tint عند 100%. وأبقِ خلفية الخلايا بدون تعبئة. اضغط OK. هذا ما سيبدو عليه الجدول بعد هذه التعديلات. يمكنك تعديل الجدول عبر تعديل ألوان النص والخلايا وتعديل الحدود كما تشاء. وهذا ما ستبدو عليه الصفحة الأولى بعد الانتهاء من إضافة جميع العناصر المطلوبة. كرّر ذات العملية للصفحة التالية وأضف صورة السيارة أسفل الصفحة ولوّن أرضية الصفحة باللون الأسود ثم أضف المستطيل ذو التدرج اللوني من الأسود إلى الشفافية تمامًا كما فعلنا في الصفحة الأولى. أضِف صورةً أخرى للسيارة ستكون صورة مُصغّرة عن السيارة في الجزء العلوي الأيسر من الصورة. عدّل حجم وموضع الصورة مع إطارها. ولإضفاء المزيد من الحيوية والتفاعل على التصميم أضف لهذه الصورة المُصغّرة ظلالًا خفيفة كما في الشكل التالي: أضِف صورة مُصغّرة أخرى مع جعل حجمها مطابقًا للصورة المُصغّرة الأولى، ثم حرّكها مع الاستعانة بالأدلّة الذكية لتكون مصطفّة مع الصورة الأولى. لا داعي لإضافة الظلال هنا لأن الخلفية المحيطة بالصورة سوداء اللون وبهذا لن تظهر الظلال إن وضعناها. ضع الصور المتعلقة بالشركة المصنّعة ونموذج السيارة. كما تلاحظ وضعتُ هنا أربع صور متداخلة. تابع إضافة العناصر المشابهة للعناصر في الصفحة الأولى من جدول المواصفات ونبذة عن السيارة، ولكن بحجم ومواضع مختلفة عن الصفحة الأولى وبما يتناسب مع المساحات الفارغة في الصفحة. قم الآن بإضافة صفحات أخرى تتضمن سيارات من اللعبة بذات النموذج. وعندما تصل للصفحة الأخيرة اجعلها صفحة إعلان (مثلًا ستكون إعلانًا لأكاديمية حسوب) مع وضع عنوان موقع الأكاديمية ويمكنك إضافة رابط على الجملة ولكن دعونا لا نتوسع أكثر اليوم، وسيكون هناك دروس أخرى نتحدث فيها عن تقنيات مختلفة في البرنامج. ارسم صفحة الغلاف الخلفية وضع شعار اللعبة الإعلاني أعلى الصفحة ولوّن الباقي باللون الأزرق. ثم أضِف رمز QR Code الذي يدّل على رابط مباشر إلى موقع أكاديمية حسوب. يمكنك إنشاء هذا الكود عبر الذهاب إلى القائمة: Object > Generate QR Code قمت بجعل محتوى الرمز Web Hyperlink وكتابة عنوان الموقع الإلكتروني في الخانة المطلوبة. قد تُضطر إلى تعديل لون خلفية الرمز حتى تبقى واضحة. وبعد الانتهاء من تصميم جميع الأغلفة والصفحات فإن المجلة ستبدو بهذا الشكل: ولتحويل هذه المجلة إلى كتاب إلكتروني قابل للطباعة اذهب إلى القائمة: File > Export أو من خلال الاختصار Ctrl+E فيُطلب منك تحديد موقع حفظ الملف واسم الملف ثم تظهر نافذة تضم خيارات مختلفة حول تأسيس ملف PDF، اختر الدقة العالية ثم انقر موافق. يمكنكم تحميل هذه المجلة كملف PDF من هنا. أرجوا أن تكونوا قد تعلمتم وحصلتم على الفائدة المرجوة من هذا الدرس لفهم كيفية وآلية عمل برنامج InDesign وتصميم مجلة بسيطة باستخدام الأدوات الأساسية البسيطة وذلك لجعل هذا البرنامج مفهوم أكثر للمبتدئين ولتسهيل عملية التقدم في هذا البرنامج وتصميم تصاميم أكثر روعة وسحرًا وجمالًا.
    2 نقاط
  2. يُوفر ميكروسوفت وورد مجموعة متقدمة من الخصائص التي تسهّل عملك على المستندات الكبيرة وتساعدك في توفير الكثير من الوقت. سنشرح في هذا الدرس كيفية استخدام ثلاث من هذه الخصائص، وهي الإشارات المرجعية Bookmarks، التسميات التوضيحية Captions والإسناد الترافقي Cross-reference. الإشارات المرجعية Bookmarks تُستخدم الإشارات المرجعية لتحديد موقع نقطة، فقرة نصيّة، أو عنصر آخر في المستند. ومن ثُم تُستخدم الإشارة المرجعية التي تم إنشاؤها للوصول إلى ذلك الموقع دون الحاجة إلى التمرير عبر كامل المستند للعثور عليه. وهذه الخاصية مفيدة جدا في المستندات الكبيرة وتوفّر الكثير من الوقت عند استخدامها. مثلا، لدينا المستند الموضّح في الصورة أدناه، والذي يحتوي على 23 صفحة: في مثل هذه المستندات الكبيرة (أو أكبر)، وعندما نرغب مثلا في مراجعة فقرة معينة، سيكون من المضيعة للوقت التمرير عبر كل الصفحات للعثور على الفقرة. لكن باستخدام الإشارات المرجعية يمكننا الوصول إلى موقع الفقرة بسهولة جدا. يحتوي مستندنا الموضّح على العديد من الأقسام والأقسام الفرعية، وما نريده هنا هو إنشاء إشارة مرجعية عند كل من هذه الأقسام. نضع المؤشر عند بداية عنوان القسم الرئيسي الأول، نذهب إلى تبويب إدراج Insert ثم ننقر على إشارة مرجعية Bookmark ضمن مجموعة ارتباطات Links: نقوم بإدخال اسم للإشارة المرجعية، ويفضّل أن يكون اسما مختصرا ودلاليا، ثم ننقر على إضافة Add: لن نلاحظ أي تغيير في المستند بعد إضافة الإشارة المرجعية، وهذا طبيعي جدا. ننتقل إلى عنوان القسم (الرئيسي أو الفرعي) التالي، نضع المؤشر أمام العنوان ثم نقوم بإضافة إشارة مرجعية أخرى: نكرر هذه الخطوات على بقية الأقسام. ويجب أن نأخذ في الاعتبار أنّ اسم الإشارة المرجعية يجب أن يكون كلمة واحدة لا تفصلها مسافة. وإذا رغبنا في إدخال اسم يحتوي على كلمتين نستخدم الشارحة التحتية underscore (_) للفصل بينها كما موضّح في الصورة أدناه: يمكننا إضافة العدد الذي نريده من الإشارات المرجعية، علما أنّ إنشاءها لا يقتصر على العناوين فقط، وإنّما يمكن إنشاء إشارات مرجعية لأي كلمة، سطر، أو فقرة. يجب أن ننتبه فقط إلى موضع المؤشر قبل إضافة الإشارة المرجعية. بعد إضافة جميع الإشارات المرجعية، أصبح بإمكاننا الانتقال إلى مواقعها عند الحاجة. هناك عدة طرق للانتقال إلى الإشارات المرجعية. الطريقة الأولى هي بالنقر على عدد صفحات المستند في شريط الحالة لفتح جزء التصفّح: ثم النقر على السهم بجانب حقل البحث واختيار الذهاب إلى Go To: بعد فتح مربع الحوار Find & Replace نحدد إشارة مرجعية Bookmark من تبويب الذهاب إلى Go to، ثم نختار اسم الإشارة المرجعية التي نريد الانتقال إليها من القائمة المنسدلة، وننقر على Go to: الطريقة الثانية، وهي مختصرة جدا، بالضغط على مفتاحي CTRL+G، ليُفتح نفس مربع الحوار Find & Replace، ثم نتبع نفس الخطوات في الطريقة السابقة. والطريقة الأخرى هي بالذهاب إلى تبويب: إدراج Insert > إشارة مرجعية Bookmark من مربع الحوار Bookmark نحدد الإشارة المرجعية التي نريد الانتقال إليها ثم ننقر على Go To: التسميات التوضيحية Captions إذا احتوى المستند الذي تعمل عليه على العديد من الصور، الجداول، الأشكال، إلخ، يمكنك الاستفادة من خاصية التسميات التوضيحية. تتيح هذه الخاصية إضافة اسم توضيحي (رقم +عنوان) للعناصر المذكورة، ويتم تحديث أرقام هذه العناصر تلقائيا كلما قمت بتحديث المستند بإضافة عنصر جديد أو حذفه. بالطبع يمكنك إضافة تسميات توضيحية يدويا باستخدام مربعات النصوص Text Box، لكن استخدام أمر التسميات التوضيحية يمكن أن يوفّر وقتك ويجعلك تستفيد من خاصية الإحالة المرجعية Cross-reference والتي سنأتي إلى شرحها لاحقا في هذا الدرس. كما هو واضح في الصورة الأولى في هذا الدرس، يحتوي المستند الذي نعمل عليه على عدد من المخططات، الصور، والجداول. ولتسمية جميع هذه العناصر سنستخدم أمر التسمية التوضيحية. يجب أولا أن نحدد العنصر الذي نريد إضافة تسمية توضيحية إليه، ثم نذهب إلى تبويب: مراجع References > إدراج تسمية توضيحية Insert Caption في مربع الحوار Caption لدينا عدة خيارات لإنشاء التسمية التوضيحية: في الحقل Caption نقوم بإدخال التسمية التي نريد إدراجها للعنصر. من قائمة التسمية Labels نحدد نوع العنصر، سواء كان صورة، شكل، مخطط، إلخ. من قائمة الموضع Position نحدد موضع إدراج التسمية، فيما أذا كان في أعلى العنصر أو أسفله. نؤشر الخيار Exclude label from caption إذا كنا نرغب في إدراج رقم العنصر فقط بدون نوعه (أي (1) بدلا من صورة (1)). يمكننا تغيير تنسيق الأرقام بالنقر على زر Numbering. بعد تحديد جميع الخيارات المرغوبة ننقر على موافق OK وسيتم إدراج التسمية التوضيحية: يمكننا تخصيص التسمية التوضيحية بتغيير لون النص أو حجمه من تبويب الصفحة الرئيسية Home أو تغيير تعبئة الشكل، نمط النص، وغيرها من التنسيقات من تبويب تنسيق Format السياقي. نقوم بإضافة تسمية توضيحية للعنصر التالي في المستند. لكن هذا العنصر ليس بشكل (Figure) وإنّما صورة (Image): لا يوجد خيار "Image" ضمن قائمة التسمية Label لذلك سننقر على زر تسمية جديدة New Label لإضافتها: ثم نقوم بإضافة عنوان الصورة: توجد هذه الصورة في الصفحة 21 من المستند. لنفترض أننا قمنا بتحديث المستند وإضافة صورة في صفحة ما قبل الصفحة 21: عندما نقوم بإضافة تسمية توضيحية للصورة الجديدة، فإنّ البرنامج يقوم بترقيمها حسب تسلسلها في المستند، وليس حسب أسبقية إدراجها (لاحظ أنّ الصورة الجديدة ستأخذ الرقم 1 بدلا من 2): وسيتم تحديث ترقيم الصورة القديمة تلقائيا ليصبح رقمها 2: وهذا التحديث التلقائي يجنّبك إضاعة الوقت في الحفاظ على أرقام الصورة مرتبة ومتسلسلة، كما يقلل من إمكانية حدوث الأخطاء في الترقيم. الإحالة المرجعية (أو الإسناد الترافقي) Cross-reference تُستخدم الإحالة المرجعية (أو كما يُشار إليها في وورد "الإسناد الترافقي") لتوجيه القارئ مباشرة إلى عنصر ما في المستندات الطويلة. عند إنشاء إسناد ترافقي، يقوم وورد بإدراجها كارتباط تشعبي hyperlink بشكل افتراضي، يمكن النقر على هذا الارتباط للانتقال إلى العنصر المشار إليه. يمكن إنشاء إسناد ترافقي لعدد من العناصر، كالفقرات المرقمة، التسميات التوضيحية، الإشارات المرجعية، الحواشي السفلية footnotes، والعناوين Headings. مثلا، نريد أن نوجه القارئ عند الانتهاء من قراءة الفقرة أدناه إلى الشكل الذي يوضّح ما تتحدث عنه الفقرة: سنقوم بوضع العبارة "Refer to" داخل قوسين، نضع المؤشر بعد كلمة "to" ثم نذهب إلى تبويب إدراج Insert وننقر على أمر إسناد ترافقي Cross-reference: يمكننا الوصول إلى نفس الأمر من تبويب مراجع Reference أيضا، وفي الحالتين سيُفتح نفس مربع الحوار. في مربع الحوار Cross-reference، ومن قائمة Reference type نختار نوع العنصر الذي نرغب في إنشاء إسناد ترافقي له، وهو شكل Figure في حالتنا هذه: ومن قائمة Insert reference to نحدد فيما إذا كنا نريد إدراج كل التسمية التوضيحية Entire caption (أي الرقم والعنوان)، نص التسمية التوضيحية فقط Only caption text، رقم الصفحة Page number، إلخ: نبقي على خيار Insert as hyperlink مؤشرا لكي يكون الإسناد بشكل ارتباط يمكن النقر عليه للانتقال إلى الشكل، ثم نحدد الشكل الذي نريد الإحالة إليه، وهو الشكل 3 في مثالنا، ثم ننقر على إدراج Insert: سيتم إدراج الإسناد الترافقي، وعند تمرير الفأرة فوقه يظهر تلميح يخبرنا أنّه يمكننا الانتقال إلى الشكل بالنقر على النص مع الضغط على مفتاح CTRL: سنقوم بإدراج إسناد ترافقي آخر، للجدول 4، ولكن هذه المرة سنستخدم نص التسمية التوضيحية فقط بدون الرقم: بعد النقر على إدراج، سيتم إنشاء إسناد ترافقي للجدول 4 داخل القوسين، يمكننا النقر عليه للانتقال إلى الجدول الواقع في مكان آخر من هذا المستند:
    1 نقطة
  3. مشكل يعاني منه الكثير، وسأحاول أن أعطيك تقنية تساعدك، دائما ما استعملها : - عندما يكون عندك مهمة وعمل كبير قسمه لأجزاء صغيرة، أو في حال لم تستطع قسم عملك إلى دقائق معينة، مثلا اعمل 15 دقيقة فقط، ثم ارتاح ... وبعد عشر دقائق أعد العملية، والفائدة أن عقل الإنسان يتقبل بكل سهولة العمل لمدة معينة لأنه يدرك أن ذلك لن يأخذ وقتا طويلا، وقد تجد بعدها نفسك وأنت تعمل من دون أن تشعر وقد تقرر المواصلة من دون حتى أن ترتاح عند نهاية ربع ساعة. - أهم نصيحة اقفل كل هواتفك ومواقع التواصل الاجتماعي وكل ما يمكن أن يلهيك عن العمل.
    1 نقطة
  4. بايثون (Python) لغة ممتازة لبرمجة الويب نظرا لمرونتها وأدائها العالي. أطُرُ الويب يمكن أن تجعل برمجة تطبيقات الويب أبسط بكثير لأنها توصل العديد من المكونات الضرورية مع بعضها للحصول على تطبيق قوي. في حين تهدف بعض أطر الويب إلى توفير كل شيء يمكن أن يرغب به المستخدم لتطوير تطبيق ما، هناك أطر أخرى تحاول البقاء بعيدا والاهتمام بالأهم، Bottle إطار للغة بايثون يندرج ضمن النوع الثاني. إنه بالفعل خفيف ومصغر، لكنه يجعل تطوير التطبيقات سهلا وسريعا. في هذا المقال، سنعرض طريقة ضبط واستعمال إطار العمل المصغّر Bottle لإنشاء تطبيقات ويب بسيطة وباستعمال لغة Python. كيفية تثبيت Bottleتثبيت Pythonإطار Bottle مبني على لغة Python وهي مثبتة مسبقا على أنظمة لينكس وOS X، أما بالنسبة لنظام Windows فيمكن تنصيب Python 2 عبر تحميلها من موقعها الرسمي. الجدير بالذّكر أن هذا الدّرس خاصّ بالإصدار الثاني من بايثون (Python 2.x). تثبيت وتفعيل بيئة وهميةسنثبت حزمة virtualenv لعزل مشروع بايثون الخاص بنا من بيئة بايثون الخاصة بالنظام. يمكننا فعل هذا بسهولة عبر تنصيب أداة إدارة الحزم الخاصة ببايثون واسمها pip. لتنصيب pip على Ubuntu يكفي تنصيب virtualenv مباشرة، فهي إحدى اعتمادياته: sudo apt-get update sudo apt-get install python-virtualenv بالنسبة لأنظمة OS X و Windows يمكن تنصيبه بتنصيب pip ثم تنصيب virtualenv عبرها: أو احفظ هذا الملف على جهازك، ثم نفذ الأمر التالي على نافذة الأوامر بالنسبة لـ Windows أو Terminal بالنسبة لـِ Mac OS X، في كلا النظامين، ستحتاج أن تنفذ الأمر التالي بصلاحيات المدير: python get-pip.pyبرنامج virtualenv عبارة عن بيئة وهمية لبايثون لتنصيب مكتبات بايثون في معزل عن بيئة بايثون الحقيقية على النظام، هذا مهم جدا لعزم اعتماديات مشروع الويب الخاص بك وما يحتاجه من حزم عن الحزم العامة المنصبة على كافة النظام، تحتوي بيئة مشاريع بايثون الخاصة بنا على حزمنا فقط، لكي لا تؤثر على نظام التشغيل ككل. سننشئ مجلد المشاريع projects في مجلد Home أو ماشابه، ثم نقوم بإنشاء بيئة وهمية في هذا المجلد، بالنسبة لـ Windows يمكن تنفيذ هذه الأوامر باستخدام طرفية PowerShell: mkdir ~/projects cd ~/projects virtualenv --no-site-packages venv هذا سينشئ مجلدا باسم venv داخل مجلد المشاريع. لقد تُبِّتت بعض أدوات بايثون داخل هذا المجلد وأنشِئَت بنية مجلد لتثبيت أدوات إضافية. يجب علينا تفعيل البيئة الوهمية قبل بداية العمل على مشروعنا : source venv/bin/activateالأمر المُخرَج سيتغير لعكس حقيقة أننا نقوم بعمليات داخل بيئة وهمية الآن. وسيكون كالتالي: (venv)user@Hostname:~/projects$إذا أردت الخروج من البيئة الوهمية، يمكنك في أي وقت كتابة الأمر التالي : deactivateملاحظة: لا تخرج من البيئة الوهمية حاليا. تثبيت Bottleأداة pip تُمكنك من تثبيت حزم بايثون بسهولة من دليل حزم بايثون Python package index، وهو مستودع مُفهرس لمكتبات بايثون. إذا أردنا البحث عن حزم بايثون المتعلقة بـِ Bottle، يمكن تنفيذ: pip search bottleسنبدأ بتثبيت حزمة Bottle فقط: pip install bottleبعد إنتهاء العملية، سنتمكن من استخدام إطار Bottle داخل تطبيقاتنا. إنشاء أول تطبيق باستخدام Bottleكمعظم الأطر، Bottle يطبق نسخة من النمط البرمجي MVC .MVC اختصار لـِ Model, view, controller نموذج،عرض،هيكل؛ وهو أمر للفصل بين عوامل مختلفة بين واجهة المستخدم والمنطق البرمجي. النموذج model تمثيل لمجموعة من البيانات وهو مسؤول عن تخزين، استعلام، وتحديث البيانات.العرض view مسؤول عن كيفية تقديم المعلومة للمستخدم. ويُستخدم لتشكيل وضبط عرض البيانات.الهيكل controller هو مركز العمليات الرئيسي للتطبيق، والذي يقرر كيفية الإجابة لطلبات المستخدم.تطبيقات bottle يمكنها أن تكون بسيطة للغاية. في شكلها البسيط يمكنها تنفيذ جميع المكونات في ملف واحد. سنقوم بإنشاء تطبيق "مرحبا بالعالم" لعرض كيفية العمل. باستعمال محررك المفضل (في هذه الحالة سنستعمل محرر سطر الأوامر nano، بالنسبة لنظام Windows يمكنك استعمال محرر مرئي)، أنشئ تطبيق بايثون باسم hello.py: nano hello.pyفي هذا الملف، سنقوم أولا باستدعاء بعض الوظائف من حزمة Bottle. الأمر الذي سيمكننا من استخدام أدوات الإطار داخل تطبيقنا: from bottle import route, runهذا السطر يخبر برنامجنا بأننا نحتاج إلى استيراد المسار route وتشغيل النماذج modules من حزمة Bottle. نموذج run الذي قمنا باستيراده يمكن أن يُستعمل لتشغيل التطبيق في خادوم التطوير، الشيء الذي يعتبر جيداً لرؤية نتائج برنامجك بسرعة. نموذج route مسؤول عن إخبار التطبيق بالتعامل مع أي من طلباتURL باستخدام أي من دوال بايثون.تطبيقات Bottle تنفّذ التوجيه routing باستدعاء دالّة بايثون واحدة لكلّ طلب من طلبات URL. وتقوم بعد ذلك بإرجاع نتائج الدالة للمُستخدم. نستطيع إضافة توجيه سيُوافق رابط URL /hello from bottle import route, run @route('/hello')هذا التوجيه سيوافق رابط URL /hello عندما يتمّ طلب هذا المسار على الخادوم. ستُنفّذ الدّالة التّابعة مباشرة: # -*- coding: utf-8 -*- from bottle import route, run @route('/hello') def hello(): return u"<h1>مرحباً بالعالم</h1>"ملاحظات: السطر # -*- coding: utf-8 -*- مسؤولٌ عن دعم اليونيكود وبالتالي اللغة العربية، فهو يخبر مفسر بايثون أن هذا الملف به أحرف unicode غير الأحرف الانجليزية.حرف u (اختصارًا لـ unicode) قبل النص العربي مهم أيضا لإخبار بايثون أن هذه السلسلة النصية بالضبط تحتوي على أحرف يونيكود وبالتالي يعامل السلسلة النصية بطريقة خاصة.هذه الدّالة بسيطة جدّاً، لكنّها كافية لإكمال المتطلّب الوحيد لدالّة توجيه: تقوم بإرجاع قيمة يُمكن عرضها على المتصفّح. في هذه الحالة، القيمة عبارة عن نص HTML. يمكننا حذف وسم h1 وستُعرض نفس القيمة بشكل غير منسّق. أخيراً، نحتاج إلى تشغيل تطبيقنا باستعمال خادوم التّطوير development server: # -*- coding: utf-8 -*- from bottle import route, run @route('/hello') def hello(): return u"<h1>مرحباً بالعالم</h1>" run(host='0.0.0.0', port=8080)هذا السطر سيُشغل الخادوم. بتمرير المعامل 'host='0.0.0.0 الأمر سيقوم بإرجاع المحتوى لأي حاسوب، وليس فقط الحاسوب المحليّ. هذا مهم بما أن تطبيقنا مستضاف عن بعد. معامل port يقوم بتحديد المنفذ الذي سنستخدمه. يُمكننا تشغيل التطبيق بتنفيذ الأمر: python hello.pyيمكنك زيارة التطبيق بمتصفح الويب عن طريق الذهاب إلى عنوان IP الخاصّ بك (إن كنت تعمل على خادوم) أو localhost إن كنت تعمل محليا، متبوعاً برقم المنفذ الذي قمنا باختياره (8080)، متبوعا بالتوجيه الذي أنشأناه (hello/): http://localhost:8080/helloسيظهر لك التالي: يُمكن إيقاف الخادوم في أي وقت بالضغط على CTRL-C في نافذة الطرفيّة أو سطر الأوامر. تطبيق مبدأ MVCلقد نفّذنا الآن تطبيقنا الأول. لقد كان بسيطاً بالتأكيد، ولكنّه لا ينفّذ مبادئ MVC، أو لا يقوم بشيء مثير للاهتمام. لنحاول جعله تطبيقاً أكثر تعقيداً هذه المرّة. إنشاء النموذجلنبدأ بنموذجنا، هذا هو الجزء الخاص بالتّعامل مع تخزين البيانات في برنامجنا. يمكن لـ Bottle بسهولة استخدام مجموعة من الواجهات الخلفية backends للبيانات باستعمال الإضافات. سنستخدم ملف SQLite لقاعدة بيانات التطبيق. هذه قاعدة بيانات بسيطة للغاية مُصمّمة للعمليّات الخفيفة التي يُمكن أن يقوم بها برنامجنا. ثبّت أولا SQLite، على Ubuntu يمكن ذلك عبر الأمر التالي: sudo apt-get install sqliteبالنسبة لـ Windows و OS X يمكن تثبيتها من على موقعها الرسمي. نحتاج كذلك إلى تحميل وتثبيت إضافة Bottle التي تُخوّلنا لاستعمال قواعد البيانات هذه: pip install bottle-sqliteالآن نحن نمتلك المكوّنات الأساسية، نستطيع أن ننشئ قاعدة بيانات بسيطة لتخزين بياناتنا فيها. سنقوم بإنشاء ملفّ بايثون لتوليد قاعدة بيانات SQLite مع بعض البيانات بداخلها عندما ننفّذ الملفّ. يُمكننا فعل الأمر على مترجم بايثون، لكنّ هذه الطريقة تجعل الأمر أسهل للتكرار. سننشئ ملفا باسم picnic_data.py. nano picnic_data.pyهنا نقوم باستيراد حزمة SQLite. بعد ذلك، يمكننا تنفيذ أمر يُنشئ جدولا ويدخل بيانات فيه. وفي الأخير، ننّفذ التغييرات: # -*- coding: utf-8 -*- import sqlite3 db = sqlite3.connect('picnic.db') db.execute("CREATE TABLE picnic (id INTEGER PRIMARY KEY, item CHAR(100) NOT NULL, quant INTEGER NOT NULL)") db.execute("INSERT INTO picnic (item,quant) VALUES ('خبز' , 4')") db.execute("INSERT INTO picnic (item,quant) VALUES ('جبن', 2)") db.execute("INSERT INTO picnic (item,quant) VALUES ('عنب', 30)") db.execute("INSERT INTO picnic (item,quant) VALUES ('كعك', 1)") db.execute("INSERT INTO picnic (item,quant) VALUES ('مشروبات', 4)") db.commit()احفظ الملفّ وأغلقه يُمكننا تنفيذ الملفّ، الشيء الذي سينشئ ملفّ قاعدة بيانات باسم نزهة.db داخل المُجلّد: python picnic_data.py نموذج تطبيقنا الآن مكتمل. يمكننا الآن استنتاج أن النموذج يملي على التطبيق كيفية تعامل جزء التحكم مع البيانات. إنشاء هيكل التّطبيقبعد أن أنشأنا قاعدة بيانات التّطبيق، يمكننا البدء في تطوير تطبيقنا الرئيسي. هذه العمليّة ستكون وظيفة الهيكل بشكل أساسي. وسيكون الملفّ الأكثر شبها بتطبيقنا الأول. أنشئ ملفّا باسم picnic.py لحفظ تطبيقنا الرئيسي: nano picnic.pyداخل هذا الملفّ، نحتاج إلى استيراد بعض الأشياء من حزمة Bottle، تماما كما سبق. نحتاج إلى بعض النّماذج الإضافية التي لم يسبق لنا أن استخدمناها. إضافة إلى ذلك، نحتاج إلى استيراد وظيفة SQLite: # -*- coding: utf-8 -*- import sqlite3 from bottle import route, run, templateتالياً، سنقوم بتعريف توجيه يوافق مسار URL على الشكل التالي picnic/: # -*- coding: utf-8 -*- import sqlite3 from bottle import route, run, template @route('/picnic')سنضيف دالّة للاتصال بقاعدة البيانات، لتحضر البيانات من الجدول، والاتصال مع العرض View لتقديم الصفحة. وفي الأخير، ستُرجع المخرج إلى المُستخدم. # -*- coding: utf-8 -*- import sqlite3 from bottle import route, run, template @route('/picnic') def show_picnic(): db = sqlite3.connect('picnic.db') c = db.cursor() c.execute("SELECT item,quant FROM picnic") data = c.fetchall() c.close() output = template('bring_to_picnic', rows=data) return outputبعد ذلك سنضيف أمر run لكي نقوم بتشغيل التطبيق: # -*- coding: utf-8 -*- import sqlite3 from bottle import route, run, template @route('/picnic') def show_picnic(): db = sqlite3.connect('picnic.db') c = db.cursor() c.execute("SELECT item,quant FROM picnic") data = c.fetchall() c.close() output = template('bring_to_picnic', rows=data) return output run(host='0.0.0.0', port=8080)احفظ وأغلق الملفّ. نقوم بالاتصال مع قاعدة البيانات باستعمال: db = sqlite3.connect('picnic.db')نقوم باستعلام قاعدة البيانات وجلب جميع القيم بالأسطر الأربعة الموالية. السطر الذي نقوم فيه بالإتصال إلى "العرض" لتشكيل البيانات هو: output = template('bring_to_picnic', rows=data)السطر يقوم بالاتصال بقالب (عرض) باسم bringtopicnic.tpl لتشكيل البيانات وتقديمها. حيث يقوم بتمرير المتغير data لمتغير القالب rows. سنقوم بإنشاء ملفّ القالب هذا في المرحلة التالية. إنشاء العرضالآن نحن نمتلك كلّا من النموذج والهيكل، الشيء الوحيد المتبقّي هو إنشاء العرض. يُمكن القيام بهذا بسهولة بالاستعانة بمحرك القوالب المُدمج مع Bottle. سيبحث التطبيق عن قالب موافق للاسم الذي عرّفناه في الدّالة السابقة، الملفّ يجب أن ينتهي ب .tpl يُمكن للملفّ أن يكون إمّا في مجلّد المشروع، أو داخل مجلّد باسم "view”. أنشئ ملفّا باسم يوافق الاسم الذي عرّفناه في دالّة القالب: nano bring_to_picnic.tplفي هذا الملفّ، يُمكننا دمج HTML والبرمجة معاً. سيكون ملفّنا بسيطا جدّاً. سنقوم باستعمال حلقة تكرار لإنشاء جدول يقوم بعرض بيانات النّموذج: <html dir="rtl" style="font:droid arabic naskh"> <body> <h1>أشياء لإحضارها إلى النّزهة</h1> <table> <tr><th>المكوّن</th><th>الكميّة</th></tr> %for row in rows: <tr> %for col in row: <td>{{col}}</td> %end </tr> %end </table> </body> </html>هذه الأسطر ستقوم بتقديم صفحتنا بصيغة HTML. لغة القالب التي رأينها هي ببساطة لغة بايثون. متغيّر row الذي قمنا بتمريره إلى القالب مُتاح للاستخدام عند تصميم المُخرجات. يُمكننا كتابة أسطر بايثون بتقديم علامة "%". يُمكننا الوصول إلى المُتغيّرات بداخل HTML باستخدام "{{var}}". احفظ الملفّ وأغلقه. مشاهدة النتائجتطبيقنا مكتملٌ الآن ويمكننا تشغيل الملفّ الرئيسي: python picnic.pyيمكننا رؤية النتائج بزيارة عنوان IP متبوعا برقم المنفذ، متبوعاً بالتوجيه picnic/ http://localhost:8080/picnic ختاماًإلى هذه النقطة، يجب أن تكون قادراً على رؤية كيف يُمكنك بناء تطبيقات معقّدة باستخدام الإطار المُصغر والبسيط Bottle. رغم أنّ أمثلتنا بسيطة، إلا أنّك الآن تستطيع بسهولة أن تطوّر تطبيقات إلى القيام بوظائف متقدّمة. نظام إضافات Bottle يعدّ أيضاً أصلاً مهمّاً. الإضافات مُشارَكةُ بنشاط في المجتمع وإضافة وظائف أكثر تعقيداً لتطبيقك يُمكن أن يُنفّذ بسهولة باستخدام الإضافات. هناك طريقة سهلة للبحث عن الإضافات وهي عن طريق استعمال الأمر: pip search bottleهذا سيُعطيك فكرة عن بعض الإضافات الأكثر شعبية. ترجمة -وبتصرّف- للمقال: How To Use the Bottle Micro Framework to Develop Python Web Apps.
    1 نقطة
×
×
  • أضف...