المحتوى عن 'microsoft'.



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

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المُحتوى


التصنيفات

  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • نصائح وإرشادات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • التجارة الإلكترونية
  • الإدارة والقيادة
  • مقالات ريادة أعمال عامة

التصنيفات

  • PHP
    • Laravel
    • ووردبريس
  • جافاسكريبت
    • Node.js
    • jQuery
    • AngularJS
    • Cordova
  • HTML
    • HTML5
  • CSS
  • SQL
  • سي شارب #C
    • منصة Xamarin
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • Sass
    • إطار عمل Bootstrap
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • برمجة أندرويد
  • لغة Swift
  • لغة R
  • لغة TypeScript
  • سير العمل
    • Git
  • صناعة الألعاب
    • Unity3D
  • مقالات برمجة عامة

التصنيفات

  • تجربة المستخدم
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
    • كوريل درو
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • نصائح وإرشادات
  • مقالات تصميم عامة

التصنيفات

  • خواديم
    • الويب HTTP
    • قواعد البيانات
    • البريد الإلكتروني
    • DNS
    • Samba
  • الحوسبة السّحابية
    • Docker
  • إدارة الإعدادات والنّشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • مقالات DevOps عامة

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • التسويق بالرسائل النصية القصيرة
  • استسراع النمو
  • المبيعات
  • تجارب ونصائح

التصنيفات

  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • مقالات عمل حر عامة

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
  • أندرويد
  • iOS
  • macOS
  • ويندوز

التصنيفات

  • شهادات سيسكو
    • CCNA
  • شهادات مايكروسوفت
  • شهادات Amazon Web Services
  • شهادات ريدهات
    • RHCSA
  • شهادات CompTIA
  • مقالات عامة

أسئلة وأجوبة

  • الأقسام
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة البرمجة
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات
    • أسئلة الشهادات المتخصصة

التصنيفات

  • ريادة الأعمال
  • العمل الحر
  • التسويق والمبيعات
  • البرمجة
  • التصميم
  • DevOps

تمّ العثور على 6 نتائج

  1. هذا أول درس من سلسلة "مدخل إلى ASP.net"، والتي سنحاول من خلالها تقريب منصة العمل ASP.net الخاصة بشركة Microsoft إلى المبتدئين، وهي مفصلّة إلى دروس، كل درس يتكلم عن موضوع معين، في هذا الدرس (الأول) سنتعلم كيف نستخدم عناصر التحكم الأساسية المضمنة في منصة العمل ASP.NET والتي لابد منها لإنشاء تطبيقات الانترنت، حيث سنتعلم كيف نعرض المعلومات باستخدام الأداتين Label ،Literal، وكيف نقبل ونتعامل مع دخل المستخدم من خلال الأدوات TextBox ،CheckBox ،RadioButton. عرض المعلومات منصة عمل ASP.NET تدعم أداتين لعرض البيانات النصية Label ،Literal ففي حين أن الأداة Literal تعرض البيانات بأسلوب بسيط، فإن الأداة Label تقدم العديد من المزايا والتنسيقات الإضافية. استخدام أداة التحكم Label نستخدم أدوات عرض المعلومات حتى نتمكن من تعديل النص المعروض على الصفحة وقت التنفيذ حيث نستطيع ببساطة أن نحدد النص المراد عرضه من خلال إسناده للخاصية Text لأداة Label، كما يمكن أن نستخدم تنسيقات html لتقوم هذه الأداة بتفسيرهم وتوليد الخرج المطلوب، وبشكل افتراضي تقوم هذه الأداة بإحاطة النص بالوسم <span>، في الكود التالي نعرض أساليب مختلفة لإسناد المعلومات لأدوات Label: كود ASP.net <div> <asp:Label ID="Label1" runat="server" Text="Hi i'm Label1" ></asp:Label> <br /> <asp:Label ID="Label2" runat="server" Text="Label"> Hi i'm Label2 </asp:Label> <br /> <asp:Label ID="Label3" runat="server" Text="<b><i>Hi i'm Label3</i></b>"> </asp:Label> </div> الأداة Label تدعم العديد من الخصائص لتنسيق النصوص، نستعرض منها: BackColor: تغيير لون الخلفية للأداة. BorderColor: تتعين لون لإطار يحيط بأداة Label. BorderStyle: تحديد نمط الإطار الذي سيتم عرضه، يمكن أن تأخذ هذه الخاصية أحد القيم التالية: NotSet، None، Dotted، Dashed، Solid، Double، Groove، Ridge، Inset،، Outset. BorderWidth: تحديد ثخانة الإطار. CssClass: تحديد صف CSS يتم تطبيقه على هذه الأداة. Font: تحديد نوع الخط المستخدم. ForeColor: تحديد لون الخط. Style: لتطبيق تصميم معين على أداة Label. ToolTip: نص يتم عرضه كتلميح عند مرور الماوس على أداة Label. عادة ما يتم استخدام الأداة Label لعرض عناوين لأدوات أخرى لمساعدة المستخدم على القيام بعمله، وبالتالي فإن هذه الأداة تملك الخاصية AssociatedControlID لتحديد الأداة المرتبطة بها وينصح باتسخدام هذه الخاصية بشكل عام. استخدام أداة التحكم Literal تعمل هذه الأداة بشكل مشابه جدا لعمل الأداة Label إلا أنها لاتقوم بإحاطة النص بالوسم <span> وهذا ماقد نحتاجه في بعض المواقع التي لايمكن فيها ترجمة أكود html ( كتحديد عنوان الصفحة على المتصفح مثلا )، وبما أن هذه الأداة لاتدعم الوسم <span> فهي أيضا لاتدعم الخصائص التابعة له CssClass ،BackColor، الأداة Literal تدعم خاصية هامة وغير مدعومة بالأداة Label وهي الخاصية Mode حيث يمكنها أن تأخذ أحد القيم الثلاث التالية: PassThrough: تفسير رموز html الموجدوة في النص وعرض ماتعنيه. Encode: عرض النص بدون ترجمة رموز html حيث تظهر كما هي. Transform: يتم تفسير فقط الرموز المدعومة من قبل الجهاز الطالب للصفحة. كود ASP.net <div> <asp:Literal ID="L1" runat="server" Mode="PassThrough" Text="<hr />"/> <asp:Literal ID="L2" runat="server" Mode="Encode" Text="<hr />"/> <asp:Literal ID="L3" runat="server" Mode="Transform" Text="<hr />"/> </div> عند تنفيذ الصفحة السابقة تقوم Literal1 بعرض خط أفقي، Literal2 تعرض النص </hr> في حين أن Literal3 تفحص الجهاز الطالب للصفحة فإن كان يدعم هذا الوسم فإنه يعرض خط أفقي وإلا فسيتم عرض النص كما هو </ hr>. قبول دخل المستخدم تتضمن منصة عمل ASP.NET أدوات تسمح للمستخدم بإدخال وتحديد اختياراته في الموقع، حيث تقدم ثلاث أدوات أساسية هي TextBox ،CheckBox ،RadioButton و سنتعرف عليهم في الفقرات التالية بالتفصيل. استخدام أداة التحكم TextBox تسمح هذه الأداة للمستخدم بإدخال نص وفقا ً لثلاثة أنماط تحددها قيمة الخاصية TextMode وهم: SingleLine: قبول الدخل كسطر واحد فقط. MultiLine: قبول الدخول بأسطر عديدة. Password: حيث يظهر دخل المستخدم كرموز ( نجوم *** أو غيره ). كود ASP.net <div> <asp:TextBox ID="TextBox1" runat="server" TextMode="SingleLine"/> <asp:TextBox ID="TextBox2" runat="server" TextMode="MultiLine" /> <asp:TextBox ID="TextBox3" runat="server" TextMode="Password" /> </div> خصائص الأداة TextBox: AccessKey: لتحديد مفتاح من لوحة المفاتيح عند الضغط عليه يتم نقل التركيز لهذه الأداة. AutoCompleteType: تحديد نمط الإكمال التلقائي حيث يكفي أن يدخل المستخدم بضعة حروف حتى يتم إظهار كلمات مطابقة تم إدخالها مسبقاً، يمكن إلغاء تفعيل هذه الخاصية بإسناد القيمة Disabled لها. AutoPostBack: إرسال المحتويات إلى السيرفر بشكل فوري عند أي تغير بالنص المدخل. Columns: تحديد عدد الأعمدة التي ستظهر. Enabled: تفعيل أو إلغاء تفعيل هذه الأداة. MaxLength: تحديد العدد الأعظمي من المحارف التي يمكن إدخالها ( لاتعمل مع MulitLine). ReadOnly: لمنع المستخدم من تغيير القيمة الموجودة بـ TextBox. Rows: تحديد عدد الأسطر التي ستظهر. TabIndex: تحديد رقم يدل على ترتيب الوصول لهذه الأداة عبر مفتاح Tab. Warp: لتحديد إمكانية الالتفاف التلقائي للنص مع النمط MultiLine. أداة التحكم TextBox تدعم الطريقة Focus التي تسمح بوضع التركيز عليها عند التنفيذ، كما أنها تدعم الحدث TextChanged والذي يُطلق عندما تتغير محتويات هذه الأداة. لتوضيح آلية عمل الخاصية AutoPostBack أنشئ صفحة جديدة أضف لها TextBox1 وأعطي الخاصية السابقة القيمة True ثم أضف Lable1 ماسنقوم به هو أنه عند كتابة نص ما فإنه سيعرض في الأداة Label1 بمجرد نقل التركيز خارج TextBox1 وهو دليل على عمل postBack آلي للصفحة، أي إرسالها للسيرفر وإعادة النتائج: كود ASP.net <div> <asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True" ontextchanged="TextBox1_TextChanged"></asp:TextBox> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> </div> في الحدث TextChanged الخاص بالأداة TextBox1 اكتب الكود التالي: كود #C protected void TextBox1_TextChanged(object sender, EventArgs e) { Label1.Text = TextBox1.Text; } كود VB Protected Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged Label1.Text = TextBox1.Text End Sub نفذ الصفحة واكتب ماتريد في TextBox1 ثم اضغط على المفتاح Tab من لوحة المفاتيح وشاهد النتيجة، أغلق المستعرض ثم أعد التنفيذ مرة أخرى وقم بكتابة أول حرف من القيمة التي أدخلتها بالتنفيذ الأول لترى كيف تتم عملية الإكمال التلقائي، ألغي تفعيل خاصية الإكمال التلقائي كما هو موضح بالأعلى ثم أعد التنفيذ وأعد كتابة نفس الكلمة لتلاحظ توقف عمل الإكمال التلقائي. استخدام أداة التحكم CheckBox تسمح هذه الأداة للمستخدم أن يحدد قبوله أو رفضه لأمر ما، أي أنها تعتبر كسؤال يطرح على المستخدم والإجابة حتما ً إما نعم أو لا، مثلا موقع فيسبوك يسألنا إن كنا نريد استقبال رسائل على بريدنا الإلكتروني أم لا، حيث إن الخاصية Checked هي التي تمكننا من معرفة خيار المستخدم كما سنرى بعد قليل. خصائص أداة التحكم CheckBox: AccessKey: لتحديد مفتاح من لوحة المفاتيح عند الضغط عليه يتم نقل التركيز لهذه الأداة. AutoPostBack: إرسال خيار التحديد إلى السيرفر بشكل فوري عند أي تغير بحالته. Checked: تعود بـ True أو False بحسب قبول المستخدم أو رفضه. Enabled: تفعيل أو إلغاء تفعيل هذه الأداة. TabIndex: تحديد رقم يدل على ترتيب الوصول لهذه الأداة عبر مفتاح Tab. Text: تحديد النص الذي يظهر بجانب هذه الأداة ( السؤال المطروح ). TextAlign: موضع النص بالنسبة للأداة، على يمينها أم يسارها تأخذ إحدى القيمتين Left ،Right. أداة التحكم CheckBox تدعم الطريقة Focus التي تسمح بوضع التركيز عليها عند التنفيذ، كما أنها تُطلق الحدث CheckedChanged عند تغيير المستخدم لخياره سواءاً بالرفض أو القبول. مثال بسيط: أنشئ صفحة جديدة أضف لها الأدوات CheckBox1 ،Button1 ،Label1 أنقر على الزر Button1 مرتين واكتب الكود التالي: كود #C protected void Button1_Click(object sender, EventArgs e) { Label1.Text = CheckBox1.Checked.ToString(); } كود VB Protected Sub Button1_Click1(ByVal sender As Object، ByVal e As System.EventArgs) Handles Button1.Click Label1.Text = CheckBox1.Checked.ToString() End Sub نفذ وقم تحديد خيار CheckBox ثم اضغط على الزر، سترى أن الخاصية Checked أعادت True، ألغي تفعيل الخيار واضغط على الزر مرة أخرى. ماهي النتيجة الآن ؟ كود الصفحة بعد إجراء تعديلات بسيطة بالخصائص كالتالي: كود ASP.net <div> <asp:CheckBox ID="CheckBox1" runat="server" Text="استقبال رسائل على الجوال ؟ " TextAlign="Left"/><br /> <asp:Button ID="Button1" runat="server" Text=" ok " onclick="Button1_Click" /><br /> <asp:Label ID="Label1" runat="server" Text="" /> </div> ملاحظة: منصة عمل ASP.Net تدعم الأداة CheckBoxList والتي تتيح إماكانية عمل قائمة عناصرها عبارة عن أدوات CheckBox كما سنرى في درس لاحق. استخدام أداة التحكم RadioButton لا تظهر هذه الأداة منفردة لوحدها إنما تكون دائما ً ضمن مجموعة حيث بإمكان المستخدم تحديد خيار واحد فقط من ضمن أدوات مجموعة ما. خصائص أداة التحكم RadioButton: AccessKey: لتحديد مفتاح من لوحة المفاتيح عند الضغط عليه يتم نقل التركيز لهذه الأداة. AutoPostBack: إرسال خيار التحديد إلى السيرفر بشكل فوري عند أي تغير بحالته. Checked: تعود بـ True أو False بحسب قبول المستخدم أو رفضه. Enabled: تفعيل أو إلغاء تفعيل هذه الأداة. GroupName: لضم أداة RadioButton إلى مجموعة، من كل مجموعة لايمكن تحديد سوى خيار واحد فقط من أدوات RadionButton الموجودة فيها. TabIndex: تحديد رقم يدل على ترتيب الوصول لهذه الأداة عبر مفتاح Tab. Text: تحديد النص الذي يظهر بجانب هذه الأداة ( الخيار المطروح ). TextAlign: موضع النص بالنسبة للأداة، على يمينها أم يسارها تأخذ إحدى القيمتين Left ،Right. أداة التحكم RadioButton تدعم الطريقة Focus التي تسمح بوضع التركيز عليها عند التنفيذ، كما أنها تُطلق الحدث CheckedChanged عند تغيير المستخدم لخياره. سنقوم بالمثال التالي بعرض بسيط لكيفية عمل هذه الأداة، أنشئ صفحة جديدة أضف عليها الأدوات التالية: RadioButton عدد 3، button ،Label، نعدل الخاصية Text لأدوات RadioButton بحيث تعرض كل أداة لون معين، كما يجب ( وهذا هام جدا) أن تأخذ الأدوات الثلاث السابقة نفس قيمة الـ GroupName، نضغط على الزر مرتين ونكتب الكود التالي: كود #C protected void Button1_Click(object sender, EventArgs e) { string color = ""; if (RadioButton1.Checked) color = RadioButton1.Text; if (RadioButton2.Checked) color = RadioButton2.Text; if (RadioButton3.Checked) color = RadioButton3.Text; Label1.Text = "Your Favorite color is: " + color; } كود VB Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Dim color As String = "" If RadioButton1.Checked Then color = RadioButton1.Text End If If RadioButton2.Checked Then color = RadioButton2.Text End If If RadioButton3.Checked Then color = RadioButton3.Text End If Label1.Text = "Your Favorite color is: " + color End Sub أما كود الصفحة فهو كالتالي: كود ASP.net <div> Favorite color ?<br /> <asp:RadioButton ID="RadioButton1" runat="server" Text="Red" GroupName="colors"/><br /> <asp:RadioButton ID="RadioButton2" runat="server" Text="Green" GroupName="colors"/><br /> <asp:RadioButton ID="RadioButton3" runat="server" Text="Blue" GroupName="colors"/><br /> <asp:Button ID="Button1" runat="server" Text=" ok " onclick="Button1_Click" /> <br /> <asp:Label ID="Label1" runat="server" Text=""/> </div> قم بحذف الخاصية GroupName من الكود السابق ونفذ وجرب أن تختار أكثر من لون. ملاحظة: منصة عمل ASP.Net تدعم الأداة RadioButtonList والتي تتيح إماكانية عمل قائمة عناصرها عبارة عن أدوات RadioButton كما سنرى في درس لاحق. بهذا نكون قد وصلنا إلى نهاية الدرس الأول. سنتطرق في الدرس القادم إلى كيفية إرسال بيانات النماذج إلى الخادوم بواسطة أدوات الأزرار المتنوعة.
  2. تعتبر الصور، أو العناصر المرئية بصورة عامة، عنصرًا أساسيًا وهامًا في أغلب المستندات التي نقوم بإنشائها. وتُستخدم بشكل عام من أجل توضيح فقرة مهمة في المستند. وفي أحيان كثيرة تستخدم كعنصر تزيين لزيادة جذب انتباه القرّاء واهتمامهم. سنتعلّم في هذا الدرس كل ما يتعلّق باستخدام الصور في ميكروسوفت وورد من الإدراج، إلى تطبيق مختلف أوامر التنسيق عليها كإعادة التحجيم، الاقتطاع، تعديل الأنماط، وغيرها. إدراج الصور يُتيح لنا ميكروسوفت وورد إمكانية إدراج الصور من مختلف المصادر والأنواع. إذ يمكن استخدام الصور المحفوظة على جهاز الحاسوب، أو البحث على الإنترنت وإدراج الصور بشكل مباشر دون الحاجة إلى حفظها. كما يمكن إدراج رموز وأيقونات مسبقة الصنع والتي يُشار إليها في وورد بالقصاصات الفنية Clip Art، أو حتّى إدراج لقطات شاشة Screenshot. لإدراج صورة من الجهاز، ببساطة نضع مؤشر الفأرة في الموضع الذي نريد إدراج الصورة فيه، ثم نذهب إلى إدراج صورة Insert > Pictures بشكل افتراضي سيفتح المتصفّح مجلّد الصور Pictures على الجهاز، وبالطبع يمكننا الانتقال إلى مجلّد آخر لاختيار الصورة المرغوبة. نحدّد الصورة ثم ننقر على Insert: سيتم إدراج الصورة عن موضع المؤشر، وسنلاحظ ظهور تبويب تنسيق Format السياقي الذي يحتوي على مجموعة كبيرة من الأدوات لتنسيق الصور، سنأتي إلى ذكرها في فقرة لاحقة من هذا الدرس: أمّا لإدراج صورة من الإنترنت، فبنفس الطريقة نضع مؤشر الكتابة في المكان الذي نريد إدراج الصورة فيه ثم نذهب إلى Insert> Online Pictures للبحث باستخدام متصفّح Bing ندخل الكلمة المفتاحية في حقل البحث ثم ننقر على أيقونة العدسة أو نضغط على مفتاح Enter: نلاحظ في الشريط العلوي لنتائج البحث وجود عدة عوامل تصفية، يمكن استخدامها لتقليص نطاق البحث والحصول على نتائج محدّدة. يمكننا مثلا البحث عن الصور بحجم صغير، أو الصور باللون الأحمر فقط، أو حتّى الصور المنشورة تحت رخصة المشاع الإبداعي فقط. وبعد أن نعثر على الصورة المرغوبة نقوم بتأشيرها والنقر على زر إدراج لإدراجها في المستند. علمًا أنّه يمكن تأشير وإدراج أكثر من صورة دفعة واحدة: وبنفس الطريقة يمكننا إدراج قصاصات فنية Clip Art. ندخل الكلمة المفتاحية في حقل البحث، وعند ظهور النتائج نحدد الخيار قصاصة فنية من عامل التصفية "النوع"، ثم نحدد الصورة المرغوبة وننقر على إدراج: يمكن أيضًا من مربّع الخيار Insert Pictures إدراج الصور المحفوظة على OneDrive، أو من على فيس بوك أو Flickr. وبالتأكيد الربط بهذه الخدمات يتطلّب إدخال معلومات الحساب: البريد الإلكتروني والكلمة السرية. أمّا لإدراج لقطة شاشة، فنبدأ أيضًا بوضع مؤشر الفأرة في المكان الذي نري إدراج لقطة الشاشة فيه، ثم ننقر على أمر Screenshot من تبويب Insert: ستظهر عند النقر النوافذ المفتوحة حاليًا والتي يمكن عمل لقطة شاشة لها، ننقر على النافذة المرغوبة وسيتم إدراج اللقطة على الفور: نلاحظ أنّ لقطة الشاشة يتم عملها لكل شيء داخل إطار النافذة، فإذا رغبنا في أن تكون اللقطة لجزء معيّن من النافذة ننقر على الخيار Screen Clipping: ستعرض آخر نافذة فُتحت قبل تطبيق أمر Screen Clipping، وعندها يمكننا تحديد الجزء المرغوب بالنقر ثم السحب والإفلات لإدراج ذلك الجزء مباشرة: اقتطاع الصور، إعادة تحجيمها، وضغطها يوفّر وورد أداة اقتطاع الصور Crop لقص جزء معيّن من الصورة وإخفائه، وترك الجزء المتبقّي ظاهرًا في المستند. لاقتطاع جزء من الصورة نقوم بتحديدها أولًا لإظهار تبويب Format السياقي، ثم ننقر على أمر Crop من مجموعة Size: سنلاحظ تحوّل مقابض الزوايا إلى شكل زويا سوداء اللون، والمقابض العلوية والسفلية إلى خطوط مستقيمة سوداء أيضًا، ننقر على أحد المقابض ونسحب إلى الداخل لاقتطاع الجزء الذي نريد التخلّص منه: سيتحول الجزء الذي سيتم قصّه إلى لون رمادي غامق، ننقر على مفتاح Enter لإتمام عملية الاقتطاع. يمكننا أيضًا اقتطاع الصورة بشكل معيّن نختاره من قائمة الأشكال وليس بشكل مستطيل فقط. للقيام بذلك ننقر على السهم الصغير تحت أمر Crop نمرر مؤشر الفأرة فوق الخيار Crop to Shape ثم ننقر على الشكل المرغوب: وإذا رغبنا في اقتطاع الصورة بنسبة طول إلى عرض معيّنة، نختار أحد الخيارات في قائمة Aspect Ratio: أمّا إعادة تحجيم الصور فتتم أيضًا من الخيارات في مجموعة Size. إذا كان حجم الصورة التي قمنا بإدراجها كبيرًا بحيث يتعدّى عرض الصفحة، سيقوم وورد بشكل افتراضي بإعادة تحجيمها لتلائم عرض المنطقة بين الهوامش. على سبيل المثال، إذا قمنا بتشغيل مربّع الحوار Layout للصورة المدرجة الموضّحة، سنلاحظ أنّ حجمها الأصلي Original Size أكبر من الحجم المعروض في المستند Absolute Size. أي أنّه تم تصغير الصورة الكبيرة لتناسب عرض الصفحة: وللتحكم في حجم الصورة يدويًا، نستخدم الخيارين Shape Height وShape Width في مجموعة Size. ننقر على السهم العلوي لزيادة الطول/العرض، أو السهم السفلي لإنقاص الطول/العرض. أو لنكون أكثر تحديدًا ندخل البعد المرغوب في الحقل: عندما نقوم بزيادة أو إنقاص طول الصورة مثلًا، سنلاحظ أنّ العرض يتغيّر أيضًا نسبة لتلك الزيادة أو النقصان، والسبب هو أنّ الخيار Lock Aspect Ratio مؤشر بشكل افتراضي للحفاظ على الأبعاد متوازنة: ويمكننا دائمًا إلغاء تأشير هذا الخيار إذا رغبنا في تغيير طول الصورة أوعرضها بشكل مستقل. الطريقة الأخرى لإعادة تحجيم الصورة هي باستخدام المقابض. نستخدم مقابض الزاوية لزيادة/إنقاص الطول والعرض معًا وبشكل متوازن، أما المقابض الجانبية والعلوية/السفلية فنستخدمها لزيادة/إنقاص كل بعد على حِدة: من الخيارات المفيدة التي يوفّرها وورد هو ضغط الصور Compress لتقليل حجمها وبالتالي تقليل حجم المستند عند الحفظ. فمن البديهي أنّ الصور ذات الحجم الكبير تؤدي إلى زيادة حجم المستند، وهذا الأمر غير محبّذ إذا كان المستند يحتوي على كثير من الصور ورغبنا في مشاركته مع الآخرين. كما أنّ الصور ذات الحجم الكبير يمكن أن تجعل العمل على المستند بطيئًا إذا احتوى على الكثير منها. على سبيل المثال، المستند أدناه يشتمل على صفحة واحدة مدرج فيها صورة بحجم كبير: فإذا قمنا بحفظ الملف سنلاحظ أنّ حجمه يزيد على 300 كيلوبايت، وهذا الحجم كبير بالنسبة لمستند من صفحة واحدة فقط: لضغط هذه الصورة نحددها ثم ننقر على أمر Compress Pictures من تبويب تنسيق السياقي: سيُفتح مربع الحوار Compress Pictures الذي يحتوي على مجموعة خيارات لتقليل حجم الصورة: سيكون الخيار Apply only to this picture مؤشرًا بشكل افتراضي، ويمكننا تركه كما هو إذا كنا نريد ضغط الصورة الحالية فقط، أمّا إذا كانت لدينا الكثير من الصور في المستند ونريد ضغطها دفعة واحدة فنلغي تأشير هذا الخيار. الخيار Delete cropped areas of picture أيضًا مؤشر بشكل افتراضي. وهو خيار مفيد يقوم بحذف الأجزاء المقتطعة من الصور. فكما ذكرنا في فقرة سابقة أنّه عند اقتطاع الصورة يتم إخفاء الجزء غير المرغوب منها وليس حذفه، أي أنّه سيبقى محفوظًا على المستند ويمكن استرجاعه عند الحاجة بتحديد الصورة والنقر على أمر Crop. فلحذف تلك الأجزاء المقتطعة نهائيًا وتقليص حجم المستند نبقى هذا الخيار مؤشرًا. بعد ذلك ننتقل إلى خيارات الضغط ونحدد الخيار المرغوب: Print: لحفظ الصورة بحجم كبير لأغراض الطباعة وغيرها. Screen: لحفظ الصورة بحجم متوسط لأغراض العرض على صفحات الويب أو على أجهزة العرض على الشاشة. E-mail: لحفظ الصورة بحجم صغير لغرض المشاركة. سنحدد الخيار Email ونحفظ المستند باسم جديد لنلاحظ الفرق في الحجم: فرق كبير بين 307 كب و36 كب! خاتمة لقد غطّينا لحد الآن كيفية إدراج الصور من مختلف المصادر والأنواع بالإضافة إلى اقتطاعها والتحكّم في أبعادها وأحجامها عند الحفظ. في الجزء الثاني من هذا الدرس سنكمل الشرح حول استخدام المزيد من خيارات تبويب Format لتخصيص مظهر الصورة وموضعها داخل المستند.
  3. رغم أنّ شركة مايكروسوفت كانت تعتمد بشكل كلّي على نماذج ويب ASP.NET Forms في تطوير تطبيقات الويب، إلّا أنّه وفي الأعوام القليلة الماضيّة بدا أنّ تركيز الشركة منصبًّا بشكل واضح على تطوير تطبيقات الويب باستخدام ASP.NET MVC. وعلى الرغم مع عدم تخلّي عن تقنيّة Forms إلّا أنّ دورها على ما يبدو يتضاءل يومًا بعد يوم. طرحت مايكروسوفت هذا الامتحان للمرّة الأولى عام 2012. وباعتبار أنّ مصدر هذه التقنيّة هو مايكروسوفت فلا غنى لأيّ مطوّر عن الحصول على هذا الامتحان والنجاح فيه كوثيقة لإثبات المعرفة والمقدرة أمّام أيّ شركة أو جهة يطمح بالعمل لديها. فالشركات التقنيّة عمومًا تفضّل أصحاب الشهادات المعتمدة من كبريات الشركات العالميّة في توظيف الكادر للعمل لديها. وفي الحقيقة أنّه حتى بالنسبة للموظّفين الحاليين فإنّهم يفضّلون الحصول على مثل هكذا شهادات لتحسين وضعهم الحالي في شركاتهم. نبذة عن الامتحان يقيس هذا الامتحان مهاراتك كمطوّر ويب في استخدام هذه التقنيّة الرائعة بشكل صحيح وسليم. حيث أنّ هناك خمسة مجالات رئيسيّة يغطيها الامتحان. تنصح مايكروسوفت أن يتقدّم للامتحان كلّ مطوّر له خبرة برمجيّة عمرها خمسة سنوات أو ثلاثة أعوام في مجال الأعمال باستخدام هذه التقنيّة. يكلّف الامتحان حاليًّا مبلغًا قدره 150 دولارًا أمريكيًّا ويمكنك أن تحجز لإجراء هذا الامتحان عن طريق الإنترنت وذلك في أيّ مركز معتمد من مايكروسوفت. يمكنك مراجعة الصفحة الرسميّة للامتحان. يجري الامتحان ضمن المركز المعتمد في توقيت مُحدّد تلتزم به. تكون القاعة التي سيجري فيها الامتحان مراقبة، وبعد أن يقوم الموظّف المختص بتحميل أسئلة الامتحان على الحاسوب يبدأ التوقيت. من الضروري التنبّه إلى أنّ النقاط الواردة في هذا المقال لا تمثّل بالضرورة المصدر الوحيد لأسئلة الامتحان، ويجب الانتباه أيضًا إلى وجود بعض المواقع التي تزوّدك بأسئلة مسرّبة لامتحانات سابقة مع الحلول لهذه الأسئلة، وفي الغالب تكون مدفوعة وليست مجّانيّة. المشكلة هنا (بصرف النظر عن كونها مسألة غير قانونيّة) في أنّه قد تكون هذه الأسئلة غير صحيحة بمعنى أنّ مصدرها ليس امتحانات مايكروسوفت، وهناك احتمال أن يكون مصدرها امتحانات مايكروسوفت بالفعل ولكن قد تكون الإجابات المقترحة لها خاطئة، وفي جميع الأحوال لا تستطيع أن تضمن أن تتكرّر هذه الأسئلة في امتحانات قادمة. ومن الجدير ذكره أنّ هذا الامتحان يدخل ضمن متطلّبات الحصول على عدّة شهادات تمنحها مايكروسوفت أيضًا (تتطلّب كلّ شهادة عادةً النجاح في أكثر من امتحان)، فهو يدخل مثلًا ضمن شهادة مايكروسوفت في تطوير تطبيقات شير بوينت MCSD: SharePoint Applications. وشهادة مايكروسوفت في تطوير تطبيقات ويب MCSD: Web Applications ويجب ملاحظة أنّه اعتبارًا من 30 أبريل (نيسان) عام 2014 أصبحت أسئلة الامتحان تغطّي Visual Studio 2013 مع MVC5 بالإضافة إلى التحديثات الخاصة بـ Microsoft Azure. على ماذا سأحصل بعد النجاح في الامتحان؟ بعد النجاح في الامتحان ستحصل على وثيقة نجاح موقّعة من المدير التنفيذي لمايكروسوفت تحمل اسمك، واسم الامتحان الذي اجتزته بدون ذكر المعدّل الّذي حصلت عليه. وهناك شكلان لهذه الوثيقة: إلكترونيّ مجّاني، ومطبوع غير مجّاني. يمكنك تحميل النسخة الإلكترونيّة من موقع يتبع مايكروسوفت مخصّص لهذا الغرض، كما يمكنك طلب النسخة المطبوعة من هذه الشهادة لتصلك بالبريد لقاء رسمٍ رمزيّ. الملفت في الموضوع أنّ مايكروسوفت تسمح لك بمشاركة النسخة الإلكترونيّة مع أيّ جهة عن طريق رابط مخصّص لهذا الغرض، مما يسمح لك بإثبات امتلاكك لهذه الوثيقة بيسر وموثوقيّة عاليّة. فعلى سبيل المثال لا الحصر، يتطلّب موقع upwork.com الشهير للعمل المستقل مثل هذا الإثبات، في حال صرّحت حول امتلاكك لمثل هذه الشهادات. المجالات الرئيسيّة لأسئلة الامتحان فيما يلي المجالات الرئيسيّة للامتحان، والنسبة المئويّة لمساهمة كلّ منها في أسئلة الامتحان: تصميم بنية التطبيق (من 15% إلى 20%) تصميم واجهة المستخدم (من 20% إلى 25%) تطوير تجربة المستخدم (من 15% إلى 20%) اصطياد الأخطاء وتنقيح تطبيقات الويب (من 20% إلى 25%) تصميم وتطبيق النواحي الأمنيّة (من 20% إلى 25%) 1. تصميم بنية التطبيق ستحتاج في هذا المجال إلى معرفة كيفيّة التخطيط لطبقات layers التطبيق وذلك عن طريق التخطيط لفصل الأجزاء الرئيسيّة concerns main والاستخدام المناسب للنماذج models والمشاهد views والمتحكّمات controllers. والاختيار بين المعالجة من طرف العميل client-side أو من طرف الخادم server-side، والتخطيط من أجل قابليّة التوسّع scalability. كما ستحتاج لمعرفة كيفيّة تصميم تطبيق موزّع distributed application، وما يتضمّن ذلك من تصميم تطبيقات هجينة hybrid applications، والتخطيط والتنفيذ لدورة حياة تطبيق سحابيّ على Azure، وإعداد إدارة الحالة state management، وتصميم استراتيجيّة خاصّة باستخدام الذاكرة المؤقّتة cache والـ WebSockets، وتصميم وحدات (HTTP (HTTP Modules ومعالجات (HTTP (HTTP Handlers. 2. تصميم واجهة المستخدم يتطلّب هذا المجال تصميم واجهة مستخدم UI على تطبيق ويب ودراسة سلوكها، واستجابة التطبيق للمزايا الخاصّة بكلّ متصفّح عن طريق ميّزة تحديد نوع المتصفّح، والتخطيط لإنشاء تصميم متجاوب responsive design. 3. تطوير تجربة المستخدم في هذا المجال يجب على المتقدّم أن يكون ملمًّا بكيفيّة التخطيط لقابليّة الوصول والأمثَلَة لمحرّكات البحث SEO، والتخطيط لتوطين (ترجمة وما إلى ذلك) التّطبيق localization، وتصميم وتطبيق المتحكّمات controllers وطرائق action ضمن تطبيق MVC، وتصميم وتطبيق المسالك routes، والتحكّم بسلوك التطبيق باستخدام نقاط التوسعة extensibility points الخاصّة بـ MVC، والتقليل من عرض الحزمة المستخدم عن طريق ميزّتي التحزيم bundle والتصغير minify واستخدام شبكات توصيل المحتوى CDN. 4. اصطياد الأخطاء وتنقيح تطبيقات الويب بالنسبة إلى هذا المجال، يتوجّب معرفة كيفيّة منع الأخطاء أثناء التشغيل واصطيادها، وتصميم استراتيجيّة متكاملة لمعالجة الاستثناءات exception handling، وإجراء اختبارات ممنهجة لتطبيق ويب عن طريق إنشاء وتشغيل وحدات الاختبار unit tests وإنشاء كائنات اختبار زائفة mocks، وتنقيح تطبيق الويب ضمن عدّة متصفّحات، واستخدام محاكيات الأجهزة المحمولة mobile emulators، وتنقيح تطبيق Azure عن طريق جمع معلومات تشخيصيّة باستخدام الواجهة السحابيّة لأدوات تنقيح (Azure (Azure Diagnostics API، وغيرها من التقنيّات التي تتيحها Windows Azure لتنقيح الأخطاء. 5. تصميم وتطبيق النواحي الأمنية ستحتاج إلى معرفة كيفيّة إعداد وضبط عمليّة الاستيثاق authentication للمستخدمين، والاختيار بين الاستيثاق باستخدام ويندوز أو النماذج Forms أو الاستيثاق المخصّص، وضبط وإعداد التخويل authorization للمستخدمين بواسطة الأدوار roles، وإنشاء مزوّد أدوار مخصّص custom membership provider، وتصميم وتطبيق التوثيق باستخدام claims وذلك عبر مستودعات federated identity stores، وإدارة سلامة البيانات data integrity، وإنشاء موقع محميّ باستخدام ASP.NET وذلك بتطبيق شهادات SSL، وتشفير كلمات المرور باستخدام الحماية الإضافيّة salt password قبل تخزينها في قاعدة البيانات، وترميز المحتوى في HTML لمنع هجمات cross-site، ومنع هجمات حقن (SQL (SQL Injection بتمرير الوسائط إلى الاستعلام بشكل كائنيّ وليس بشكل نصّي مباشر، ومنع الهجمات من النوع XSRF.
  4. لقد تعرّفنا في الجزء الأول من هذا الدرس على Microsoft Publisher وعلى الوظائف التي يقوم بها والخصائص التي يوفرها. وتعلّمنا بعض أساسيات الاستخدام كإنشاء المنشورات الجديدة، تحريرها وحفظها. سنكمل الشرح في هذا الجزء وسنتعرف على كيفيّة تنظيم العمل على المنشور وتخصيص هوامشه ومن ثم تهيئته للطباعة. كيف تسهل عملك باستخدام منطقة التسويد Scratch Area وأوامر الترتيب Arrange لقد تطرقنا بلمحة بسيطة إلى منطقة التسويد في الجزء السابق، وذكرنا أنّها المنطقة الرمادية المحيطة بالصفحة والتي يمكن استخدامها لتحضير وخزن مختلف العناصر (الصور، الأشكال، النصوص) التي ننوي استخدامها لاحقا في المنشور. وهذي المنطقة هي نفسها لجميع الصفحات (أي لا تتغير محتوياتها بتغيّر الصفحة). لإدراج الصور من الجهاز داخل منطقة التسويد، قم بتحديد الصور في المجلد ثم اسحبها إلى هذه المنطقة. يمكنك إضافة عناصر أخرى، تعديلها، وتنسيقها وهي في هذه المنطقة. وعندما يحين وقت استخدامها قم بسحبها إلى الصفحة. كما يمكنك تبديل الصور بين منطقة التسويد والصفحة. حدد الصورة التي تريد إدراجها (بدلا من صورة أخرى موجودة في الصفحة) ثم انقر على المربع الأبيض الذي سيظهر في وسط الصورة واسحبها فوق الصورة الأخرى. عندما يظهر إطار ورديّ اللون قم بإفلات زر الفأرة: سيتم تغيير حجم الصورة الثانية ليناسب حجم الصورة الأصلية تلقائيًا، وستُنقل الصورة الأصلية إلى منطقة التسويد (كما تلاحظ في الصورة أعلاه). يمكنك تطبيق نفس العملية بالعكس (أي تبديل الصور من الورقة إلى منطقة التسويد). من الأدوات الأخرى المفيدة عند العمل على المنشورات هي التجميع Grouping. تسهل هذه الأداة العمل لأنّ المنشور يمكن أن يتكون من العديد من العناصر، وأحيانًا من الأفضل جمع عنصرين أو أكثر معًا لاختصار خطوات تنسيقها ونقلها من موضع إلى آخر. على سبيل المثال، سيكون من السهل تحريك الصورة الموضّحة أدناه مع تسميتها التوضيحية أو تحجيمها عندما تتعامل معها كعنصر واحد. انقر على الصورة لتحديدها، اضغط على مفتاح CTRL، ثم انقر على مربع النص لتحديده وبذلك سيتحدد العنصران معا. سيظهر تبويب تنسيق Format السياقي الخاص بأدوات الرسم Drawing Tools. من هذا التبويب انقر على تجميع Group: سيتحول مربعا التحديد إلى مربع واحد، وبذلك أصبح بإمكانك التعامل مع الصورة ومربع النص كعنصر واحد. وإذا قمت بتطبيق أي تنسيق، سيُطبّق على العنصرين معا. إذا رغبت لاحقا في تنسيق الصورة بشكل مستقل، يمكنك فك التجميع وتنسيقها، ثم إعادة التجميع. لفك التجميع حدد العنصر المجمّع، وانقر على أمر Ungoup من نفس التبويب: أمر آخر سيفيدك عند ترتيب العناصر المتراكبة هو الإحضار إلى الأمام Bring Forward أو الإرسال إلى الخلف Send Backward. على سبيل المثال، إذا رغبت في أن تكون الصورة الأخيرة المحددة أدناه هي الصورة الأمامية انقر على أمر إحضار إلى الأمام Bring Forward: لكن هذا الأمر سينقل الصورة مستوى واحد إلى الأمام (أي سيكون ترتيبها وسطي وليس أمامي في هذا المثال): لإحضارها في مقدمة جميع العناصر استخدم أمر إحضار إلى المقدمة Bring to Front بدلا من أمر Bring Forward: الشيء نفسه ينطبق على أمري الإرسال إلى الخلف Send Backward وإرسال إلى الخلفية Send to Back. الأول يقوم بتحريك العنصر مستوى واحد إلى الخلف، والثاني يقوم بتحريك العنصر إلى خلف جميع العناصر الموجودة خلفه. إعداد هوامش المنشور وخطوط الإرشاد تحتوي المنشورات بصورة عامة على هوامش Margins، وعند إعداد هذه الهوامش بصورة صحيحة ستتجنّب المشاكل التي قد تحصل عند طباعة المنشور. إذ تتطلب بعض أنواع الطابعات هوامش بأبعاد محددة لكي يُطبع المنشور بشكل صحيح. الهوامش هي المساحة الفارغة حول الورقة، ويمكن تغيير الهوامش بالذهاب إلى تبويب: تصميم الصفحة Page Design > هوامش Margins هناك ثلاثة أنواع من الهوامش القياسية، العريض Wide، المتوسط Moderate، والضيق Narrow. يمكنك اختيار أحد هذه الأنواع الثلاثة أو تعيين هوامش بأبعاد مخصصة Custom Margins: في مربع الحوار Layout Guides قم بإدخال أبعاد الهوامش المرغوبة في حقولها المخصصة، ويمكنك الاستدلال بمربع المعاينة لمعرفة كيف ستبدو الهوامش قبل أن تغلق مربع الحوار. بالرغم من أنّ الكثير من الطابعات التجارية تتيح إمكانية طباعة كافة محتويات الصفحة من الحافة إلى الحافة، إلّا أنّ هناك بعض الطابعات، وخصوصا المكتبية، لا توفر هذه الخاصية. لذلك من الأفضل إعداد هوامش الصفحة لكي تضمن طباعة المنشور بصورة صحيحة وعدم اقتطاع شيء من محتوياته مهما كان نوع الطابعة التي ستستخدمها. ولتتأكد من عدم خروج محتويات الصفحة عن الهوامش، استفد من خطوط إرشاد الهامش Guides وقم بمحاذاة العناصر داخله. لاحظ أنّه عندما تقوم بتحريك أي عنصر بالقرب من خط الهامش سيتغير لونه إلى أزرق غامق، وهو بذلك يخبرك أنّك قد وصلت إلى حد الهامش وأن أي حركة إضافية ستُخرج العنصر خارج الحد: بإمكانك إضافة خطوط إرشاد قياسية وبتخطيطات مختلفة من قائمة Guides في تبويب تصميم الصفحة Page Design: كما يمكنك إضافة خطوط إرشاد أفقية أو عمودية يدويا بتمرير المؤشر فوق حافة المسطرة إلى أن يتحول شكله إلى سهمين صغيرين، ثم السحب باتجاه الورقة إلى الموضع الذي تريد وضع خط الإرشاد فيه (استخدم المسطرة لضبط الأبعاد): هاتان الأداتان (المسطرة وخطوط الإرشاد) مفيدتان جدا في محاذاة العناصر وضبطها بصورة قياسية. إن لم تكن المسطرة وخطوط الإرشاد ظاهرة، اذهب إلى تبويب عرض View وتأكد من تأشير الخيارين Rulers و Guides: استخدام الصفحات الرئيسية Master Pages تشابه الصفحات الرئيسية القوالب، إلّا أنّ محتوياتها تكون غير قابلة للحذف أو التعديل. ومهما كان نوع وعدد العناصر المضافة إلى الصفحة الرئيسية، ستتكرر هذه العناصر عن إنشاء صفحة جديدة تندرج تحت تلك الصفحة الرئيسية. يُستفاد من الصفحات الرئيسية في توفير الوقت، إذ أنّك لن تضطر إلى إعادة إنشاء بعض العناصر التي تحتاج إلى تكرارها في كل صفحة، كالهوامش، أو أرقام الصفحات. كما أنّها وسيلة للحفاظ على تناسق مظهر المستند ككل كلما قمت بإضافة صفحات جديدة. يمكن أن يحتوي المنشور على صفحة رئيسية واحدة أو أكثر، وحسب الحاجة، وليتوضح لك المقصود من ذلك افتح قالبا فارغا واذهب إلى تبويب عرض View ثم انقر على الصفحة الرئيسية Master Page: ستلاحظ وجود صفحة رئيسية واحدة (A) بتخطيط بسيط جدا ولا تحتوي على أي عنصر (وذلك لأنّك قمت بفتح القالب الفارغ): قم بإغلاق القالب الفارغ وافتح قالبا آخر، وليكن Baby Photo Album مثلا: ستلاحظ أنّ هذا القالب يحتوي على عناصر مختلفة، مثل الأشكال، الإطارات، إلخ. لكن عندما تحاول تحديد أي من هذه العناصر (ما عدا العناصر النائبة للصور)، لتغيير حجمها أو تعديلها مثلا، لن تتمكن من ذلك. والسبب هو أنّها مضافة على الصفحة الرئيسية وليس على الصفحات العادية. بنفس الطريقة اذهب إلى تبويب: عرض View > الصفحة الرئيسية Master Page ستجد أنّ هذا القالب مكوّن من 6 صفحات رئيسية، ومن طريقة العرض هذه ستتمكن من تحديد العناصر وتعديلها: من الصفحة الرئيسية يمكنك إدراج مختلف العناصر وإجراء العديد من التنسيقات. وكما ذكرنا، كلّ ما يتم إضافته إليها لا يمكن التعديل عليه لاحقا من الصفحات العادية. لنفترض أنّك تريد إضافة شعار، أو علامة مائية، وتريد تكرارها على جميع الصفحات التي ستقوم بإضافتها لاحقا. اذهب إلى طريقة العرض الصفحة الرئيسية Master Page وقم بإدراج الصورة من تبويب إدراج ونسّقها حسب الرغبة. ثم أغلق الصفحة الرئيسية بالنقر على Close Master Page: بعد ذلك، عندما تقوم بإدراج صفحات جديدة لاحقا، سيتكرر كل ما قمت بإضافته في الصفحة الرئيسية: لإضافة صفحة رئيسية ثانية، اذهب إلى طريقة العرض Master Page وانقر على إضافة صفحة رئيسية Add Master Page: يمكنك مثلا إضافة رأس Heard كرقم الصفحة، التاريخ، أو عنوان مخصص: لإنشاء صفحة اعتيادية جديدة بنفس نمط الصفحة الرئيسية الجديدة (B في هذا المثال)، اذهب إلى تبويب: إدراج Insert > صفحة Page > إدراج صفحة Insert Page في مربع الحوار Insert Page، حدد عدد الصفحات التي تريد إدراجها وفيما إذا كانت قبل أو بعد الصفحة المحددة حاليا، ثم حدد الصفحة الرئيسية B (وهي الصفحة الرئيسية الثانية التي قمنا بإنشائها): استخدام مدقق التصميم Design Checker كما هو واضح من الاسم، مدقق التصميم هو أداة تُستخدم للبحث عن أية مشاكل محتملة في تصميم المنشور قبل أن تقوم بطباعته أو مشاركته مع الآخرين. لتشغيل مدقق التصميم اذهب إلى تبويب File ثم انقر على Run Design Checker: سيتم فحص المستند وتدقيق التصميم بشكل عام (وهو الخيار الافتراضي)، وستُعرض العناصر التي تحتوي على مشاكل إن وجدت: إذا كان منشورك موجهًا للطباعة، وهو الغالب، قم بتأشير خيار Run Final Publishing Checks. انقر على السهم بجانب كل عنصر يحتوي على مشكلة واختر أحد خيارات القائمة. يمكنك الانتقال إلى ذلك العنصر Go to this Item، تصحيحه Fix (إن وجد تصحيح تلقائي)، عدم تشغيل عملية التحقق هذه مجددا Never Run this Check Again، أو الحصول على تفسير لهذه المشكلة Explain (هذا الخيار سينقلك إلى نافذة المساعدة): يمكنك التحكم أكثر بخيارات المدقق بالنقر على Design Checker Options. يمكنك مثلا التحكم في الصفحات التي سيتم تدقيقها (كافة الصفحات All أو الصفحة الحالية فقط Current Page) من تبويب General: ومن تبويب Checks يمكنك تحديد عمليات التدقيق التي يجريها البرنامج، والتي يتم تنبيهك بها إن وجدت مشكلة (كافة عمليات التدقيق محددة بشكل افتراضي). إذا كانت هناك عملية تدقيق ترى أنّها غير ضرورية يمكنك إلغاء تأشيرها: بعد تصحيح جميع المشاكل يمكنك إغلاق المدقق بالنقر على Close Design Checker، وبذلك يُعتبر منشورك جاهزا للطباعة أو المشاركة. تهيئة المنشورات للطباعة بواسطة الطابعات التجارية في بعض الأحيان تحتاج إلى استخدام الطابعات التجارية لطباعة منشورك. قد يكون السبب هو أنّ طابعتك المكتبية لا تطبع المنشور بالحجم الذي تريده، أو أنّ كفاءتها في طباعة منشورات بجودة وكمية محددة غير جيّدة. في هذه الحالة يجب أن تقوم بتصدير منشورك بصيغة ملائمة قبل الذهاب إلى مكتب الطباعة. بعض المكاتب تفضّل طباعة المنشورات بصيغة PDF، والبعض الآخر تفضل صيغ الصور (مثل JPEG أو TIFF). لتهيئة المنشور للطباعة اذهب إلى تبويب: File > Export > Save for Commercial Printer يمكنك تصدير المنشور بصيغة PDF مباشرة كما وضّحنا في الجزء السابق من هذا الدرس، لكنّ خيار الحفظ لطابعة تجارية يتيح لك التحكم في خيارات إضافية. حيث يمكنك تحديد جودة الطباعة (الخيار Commercial Press هو الخيار الافتراضي، وهو الأعلى جودة). بالإضافة إلى ذلك يمكنك تصدير ملفي PDF وPub معا، ملف PDF فقط، أو ملف Pub فقط: بعد تحديد الخيارات المرغوبة انقر على زر Pack and Go Wizard، حدّد مجلد الحفظ ثم Next، وسيقوم البرنامج بتصدير الملف إلى المجلد المحدد (عند الانتهاء يمكنك طباعة تدقيق مركب Print Composite Proof أو عدم طباعته). يعتبر هذا الخيار (Save for Commercial Printer) ملائما إذا كان المنشور يحتوي على نصوص بالدرجة الأكبر. أما إذا كانت العناصر الجرافيكية هي الغالبة في تصميم المنشور فالخيار الملائم هو حفظ لطباعة الصور Save for Photo Printing. حدّد صيغة الصور، ثم انقر على Save Image Set: إن اخترت الخيار الأول ستجد في مجلد الحفظ مجلد مضغوط يحتوي على ملف Pub وآخر PDF (في حالة الخيار الافتراضي): وإن اخترت الخيار الثاني، ستجد في مجلد الحفظ عدد من الصور (حسب صفحات المنشور): وبهذا يكون درسنا حول أساسيات Publisher قد انتهى. تعليقاتكم واستفساراتكم مرحب بها.
  5. رغم أنّ شركة مايكروسوفت ليست هي الشركة التي أوجدت تقنيّات HTML/JavaScript/CSS إلّا أنّه وبعد الحضور العالميّ القويّ لهذه التقنيّات الثلاث بدأت مايكروسوفت بمنح شهادة حول هذه التقنيّات عن طريق الامتحان 480-70 الذي طرح للمرّة الأولى عام 2012. مهما كانت خبرتك في هذه التقنيّات فأنت بحاجة إلى إثباتها أمّام أيّ شركة أو جهة تطمح بالعمل لديها. ولن تجد أفضل من شهادة صادرة عن شركة مرموقة مثل مايكروسوفت كي تثبت هذه الخبرة. هذا لا يعني بالطبع أنّه لا توجد جهات أخرى يمكن الحصول منها على شبيه بمثل هذه الشهادة، فموقع w3schools الشهير يمنح شهادات منفصلة لتقنيّات HTML و JavaScript و CSS كل ّعلى حدة. ولكن بالتأكيد فإنّ شهادة من شركة مثل مايكروسوفت تبقى أكبر تأثيرًا في سوق العمل. نبذة عن الامتحان يقيس هذا الامتحان مهاراتك كمطوّر في استخدام هذه التقنيّات الثلاث والمزج بينها بشكل صحيح وسليم. حيث أنّ هناك أربعة مجالات رئيسيّة يغطيها الامتحان. تنصح مايكروسوفت أن يتقدّم للامتحان كلّ مطوّر له خبرة برمجيّة عمرها عامين أو عام واحد في مجال الأعمال باستخدام هذه التقنيّات. يكلّف الامتحان حاليًّا مبلغًا وقدره 150 دولارًا أمريكيًّا ويمكنك أن تحجز لإجراء هذا الامتحان عن طريق الإنترنت وذلك في أيّ مركز معتمد من مايكروسوفت. يمكنك مراجعة الصفحة الرسميّة للامتحان. يجري الامتحان ضمن المركز المعتمد في توقيت مُحدّد تلتزم به. تكون القاعة التي سيجري فيها الامتحان مراقبة، وبعد أن يقوم الموظّف المختص بتحميل أسئلة الامتحان على الحاسوب يبدأ التوقيت. من الضروري التنبّه إلى أنّ النقاط الواردة في هذا المقال لا تمثّل بالضرورة المصدر الوحيد لأسئلة الامتحان، ويجب الانتباه أيضًا إلى وجود بعض المواقع التي تزوّدك بأسئلة مسرّبة لامتحانات سابقة مع الحلول لهذه الأسئلة، وفي الغالب تكون مدفوعة وليست مجّانيّة. المشكلة هنا (بصرف النظر عن كونها مسألة غير قانونيّة) في أنّه قد تكون هذه الأسئلة غير صحيحة بمعنى أنّ مصدرها ليس امتحانات مايكروسوفت، وهناك احتمال أن يكون مصدرها امتحانات مايكروسوفت بالفعل ولكن قد تكون الإجابات المقترحة لها خاطئة، وفي جميع الأحوال لا تستطيع أن تضمن أن تتكرّر هذه الأسئلة في امتحانات قادمة. ومن الجدير ذكره أنّ هذا الامتحان يدخل ضمن متطلّبات الحصول على عدّة شهادات تمنحها مايكروسوفت أيضًا (تتطلّب كلّ شهادة عادةً النجاح في أكثر من امتحان)، فهو يدخل مثلًا ضمن شهادة مايكروسوفت في تطوير تطبيقات شير بوينت. على ماذا سأحصل بعد النجاح في الامتحان؟ بعد النجاح في الامتحان ستحصل على وثيقة نجاح موقّعة من المدير التنفيذي لمايكروسوفت تحمل اسمك، واسم الامتحان الذي اجتزته بدون ذكر المعدّل الّذي حصلت عليه. وهناك شكلان لهذه الوثيقة: إلكترونيّ مجّاني، ومطبوع غير مجّاني. يمكن تحميل النسخة الإلكترونيّة من موقع تابع لمايكروسوفت مخصّص لهذا الغرض، كما يمكنك طلب النسخة المطبوعة من هذه الشهادة لتصلك بالبريد لقاء رسمٍ رمزيّ. الملفت في الموضوع أنّ مايكروسوفت تسمح لك بمشاركة النسخة الإلكترونيّة مع أيّ جهة عن طريق رابط مخصّص لهذا الغرض، مما يسمح لك بإثبات امتلاكك لهذه الوثيقة بيسر وموثوقيّة عاليّة. فعلى سبيل المثال لا الحصر، يتطلّب موقع upwork.com للعمل المستقل الشهير مثل هذا الإثبات، في حال صرّحت حول امتلاكك لمثل هذه الشهادات. المجالات الرئيسيّة لأسئلة الامتحان فيما يلي المجالات الرئيسيّة للامتحان، والنسبة المئويّة لمساهمة كلّ منها في أسئلة الامتحان: بناء ومعالجة بنى وكائنات مستند HTML5 بنسبة (24%) التعامل مع سير البرنامج (25%) الوصول إلى البيانات والتوثّق منها (26%) استخدام CSS3 في تنسيق التطبيقات (25%) 1. بناء ومعالجة بنى وكائنات مستند HTML5 ستحتاج في هذا المجال إلى الفهم الجيّد والصحيح لإنشاء البنية العامة للمستند عن طريق هيكلة واجهة المستخدم باستخدام الرماز الدّلالي semantic markup للدلالة على المحتوى المناسب لمحرّكات البحث، ومراعاة قارئات الشّاشات، وكتابة شيفرة تتفاعل مع عناصر واجهة المستخدم من خلال إضافة وتعديل وتطبيق التنسيق على عناصر HTML برمجيًّا. كما سيكون من الضروري التعامل مع واجهة برمجة التطبيقات API الخاصّة بـ HTML5 وذلك عن طريق التعامل مع التخزين المحلّي local storage، والتعامل مع ذاكرة التطبيق AppCache في HTML5، والتعامل مع الموقع الجغرافي Geoloctaion. 2. التعامل مع سير البرنامج ستحتاج في هذا المجال إلى الفهم الجيّد لكيفيّة إدارة سير البرنامج عن طريق التعامل مع المجموعات collections وعناصر المصفوفات arrays، وإدارة بنى القرار في البرنامج، وتقييم (حساب) التعابير expressions. كما ستحتاج إلى التعامل مع قدح fired ومعالجة الأحداث من خلال معالجة الأحداث الشائعة التي يصدرها DOM في HTML5، والتصريح عن الأحداث الفقاعيّة bubbled events ومعالجتها، ومعالجة حدث باستخدام الدوال عديمة الاسم anonymous functions. ستحتاج أيضًا إلى معالجة الأخطاء من خلال الاستجابة إلى أكواد الأخطاء وضبطها، ورمي استثناء exception، واختبار الحالة null، وتطبيق آلية معالجة الخطأ باستخدام try-catch-finally. وأيضًا إلى التعامل مع الردود callbacks، واستخدام المكتبة jQuery في إجراء طلبات AJAX، وربط حدث مع معالج حدث، وإنشاء رد callback باستخدام الدوال عديمة الاسم anonymous functions. وهناك جانب مهمّ قد لا يكون مشهورًا بالقدر الكافي، وهو التعامل مع عمليّة ويب web worker والتي تتضمّن تشغيل وإيقاف عملية ويب web worker، وتمرير بيانات إليها، وضبط إعدادات timeouts وintervals لها، وفهم محدوديّتها. 3. الوصول إلى البيانات والتوثق منها يُعتبر هذا المجال مألوفًا نسبيًّا، ففيه تحتاج أن تكون ملمًّا بكيفيّة التحقّق من صحة مُدخلات المستخدِم والتعامل مع أنماط الإدخال المتنوّعة، وتقييم تعبير نظامي regular expression للتحقّق من مدخلات المستخدم، والتحقّق من الحصول على النوع الصحيح من البيانات باستخدام الدوال المضمّنة built-in، بالإضافة إلى منع عمليّة حقن الشيفرة code injection التي يلجأ إليها المخترقون. ستحتاج أيضًا إلى الحصول على بيانات بصيغة JSON وXML، وتحميل البيانات من مصادرها باستخدام الكائن XMLHTTPRequest، وسَلْسَلَة serialize البيانات، وإعادة تجميعها deserialize، والتعامل مع البيانات الثنائيّة binary data، والتعامل مع دالّة السَلْسَلَة المسمّاة serialize في jQuery. 4. استخدام CSS3 في تنسيق التطبيقات ينبغي في هذا المجال أن تكون ملمًّا في تنسيق خصائص النص في HTML والتنسيقات الخاصّة بالإظهار (مثل الحجم والحدود والزوايا المستديرة والهامش margin)، وتطبيق تنسيقات لإحداث تأثيرات رسوميّة (مثل الشفافيّة transparency والإعتام opacity وصورة الخلفيّة والتدّرجات gradient)، وأيضًا تطبيق تنسيقات لتغيير موضع العنصر. وتحتاج أيضًا إلى معرفة كيفيّة إنشاء تخطيط مرن للصفحة باستخدام نموذج الصندوق box model، ونموذج الأعمدة المتعدّدة، ونموذج الشبكة grid model، ونموذج المناطق regions model، وإنشاء واجهة مستخدم متحرّكة ومتكيّفة، وتطبيق تحويلات ثنائيّة وثلاثيّة الأبعاد، وضبط واجهة المستخدم عن طريق استعلامات الوسائط media queries.
  6. تُعتبر لغة #C وتُلفظ "سي شارب" غنيّة عن التعريف. فهذه اللغة التي بات عمرها أكثر من 15 عام، أصبحت إحدى اللّغات الأساسيّة في عالم الأعمال. لقد نمت #C من مجرّد كونها لغة عاديّة تستخدم البرمجة كائنيّة التوجّه (OOP) إلى لغة ذات إمكانيّات واسعة وتسهيلات كبيرة جدًّا لخدمة المطوّرين في بناء تطبيقات مؤسّساتيّة بالترافق مع بيئة تطوير ممتازة وهي Visual Studio التي تتكامل مع #C في تقديم الحلول المناسبة للمطوّر. تستطيع أن ترى #C في جميع الأماكن، فلقد أصبحت لغة البرمجة الرئيسيّة التي تتبنّاها مايكروسوفت. تستطيع أن تستخدمها في بناء تطبيقات لويندوز وتطبيقات لأنظمة لينوكس (عن طريق مشروع Mono)، كما يمكنك أن تبني باستخدامها تطبيقات ويب بأنواعها، وإذا أحببت أن تستخدمها في بناء تطبيقات سحابيّة فهي معتمدة في عدد من الخدمات السحابيّة مثل Windows Azure و Amazon AWS. أمّا إذا أردت دخول عالم تطبيقات الأجهزة الذكيّة فستبلي بلاءً حسنًا! فبعد ظهور شركة Xamarin (المنبثقة عن مشروع Mono لتشغيل تطبيقات دوت نت على أنظمة لينوكس) أصبح بإمكانك كتابة تطبيقات أصيلة native applications للعمل على Android و iOS و Windows Phone، وغيرها. نبذة عن الامتحان يقيس هذا الامتحان مهاراتك كمطوّر في استخدام #C حيث أنّ هناك أربعة مجالات رئيسيّة تغطّي الإمكانيّات الأساسيّة لهذه اللغة. تنصح مايكروسوفت أن يتقدّم لهذا الامتحان كلّ مطوّر له خبرة برمجيّة عمرها عامين أو عام واحد في مجال الأعمال باستخدام لغة سي شارب. يكلّف هذا الامتحان حاليًّا مبلغًا وقدره 150 دولارًا أمريكيًّا ويمكنك أن تحجز لإجراء هذا الامتحان عن طريق الإنترنت لإجرائه في أيّ مركز معتمد من مايكروسوفت يمكنك مراجعة الصفحة الرسميّة للامتحان. يجري الامتحان ضمن المركز المعتمد في توقيت مُحدّد تلتزم به. تكون القاعة التي سيجري فيها الامتحان مراقبة، وبعد أن يقوم الموظّف المختص بتحميل أسئلة الامتحان على الحاسوب يبدأ التوقيت. من الضروري التنبّه إلى أنّ النقاط الواردة في هذا المقال لا تمثّل بالضرورة المصدر الوحيد لأسئلة الامتحان، ويجب الانتباه أيضًا إلى وجود بعض المواقع التي تزوّدك بأسئلة مسرّبة لامتحانات سابقة مع الحلول لهذه الأسئلة، وفي الغالب تكون مدفوعة وليست مجّانيّة. المشكلة هنا (بصرف النظر عن كونها مسألة غير قانونيّة) في أنّه قد تكون هذه الأسئلة غير صحيحة بمعنى أنّ مصدرها ليس امتحانات مايكروسوفت، وهناك احتمال أن يكون مصدرها امتحانات مايكروسوفت بالفعل ولكن قد تكون الإجابات المقترحة لها خاطئة، وفي جميع الأحوال لا تستطيع أن تضمن أن تتكرّر هذه الأسئلة في امتحانات قادمة. المجالات الرئيسيّة لأسئلة الامتحان فيما يلي المجالات الرئيسيّة للامتحان، والنسبة المئويّة لمساهمة كلّ منها في أسئلة الامتحان: إدارة سير البرنامج (25%) إنشاء واستخدام الأنواع (24%) تنقيح التطبيقات وحمايتها (25%) الوصول إلى البيانات (26%) 1. إدارة سير البرنامج ستحتاج في هذا المجال إلى الفهم الجيّد والصحيح لكلّ من النقاط التالية التي تُعبّر عن مدى قدرتك على التحكّم بسير البرنامج بشكل سليم. ويغطّي الجوانب التالية: التعامل مع مسارات التنفيذ المتعدّدة multithreading والمعالجة غير المتزامنة asynchronous processing، والمقدرة على استخدم مكتبة مهام تفرّعيّة مثل ParallelFor و Plinq و Tasks، واستخدام الكلمتين المحجوزتين async و await، وإدارة البيانات باستخدام المجموعات المتزامنة concurrent collections. إدارة مسارات التنفيذ المتعدّدة عن طريق مزامنة المصادر synchronous resources، واستخدام القفل locking، وإيقاف تشغيل مهمة task، وأيضًا إنشاء طرائق ذات مسارات تنفيذ آمنة لمعالجة الشروط التسابقيّة race conditions لمسارات التنفيذ. التعامل مع سير البرنامج عن طريق التعامل مع المصفوفات arrays والمجموعات collections، واتخاذ القرارات في البرنامج باستخدام عبارات switch وif/then بالإضافة إلى العوامل الأخرى، كما يجب التمكّن من تقييم وحساب التعابير البرمجيّة. التعامل مع الأحداث events والردود callbacks عن طريق إنشاء معالجات أحداث، والاشتراك في الأحداث وإلغاء الاشتراك بها، واستخدام أنواع نوّاب delegates مضمّنة لإنشاء الأحداث، وإنشاء نوّاب delegates مُخصّصة وتعابير lambda وطرائق عديمة الاسم anonymous methods. معرفة كيفيّة معالجة الاستثناء الناتجة عن الأخطاء التي قد تقع أثناء التنفيذ وذلك عن طريق معالجة مختلف الاستثناءات exceptions من مختلف المصادر عن طريق الكتلة try-catch-finally، وتعلّم كيفيّة رمي الاستثناءات، وتحديد الوقت المناسب لإعادة رمي الاستثناءات، وإنشاء استثناءات مُخصّصة. 2. إنشاء واستخدام الأنواع يختبر هذا المجال مدى قدرتك على التعامل مع الأنواع المضمّنة ضمن إطار العمل دوت نت، بالإضافة إلى مدى قدرتك على إنشاء أنواع جديدة. وأيضًا فهم الفرق الأساسيّ بين أنواع القيمة value types والأنواع المرجعيّة reference types. ويغطّي الجوانب التالية: إنشاء أنواع جديدة عن طريق إنشاء أنواع قيمة value types (مثل structs و enum) وأنواع مرجعيّة reference types وأنواع عموميّة generic types، وإنشاء بانيات constructors ومتغيّرات ساكنة static variables وخصائص مُفهرسَة indexed properties. وأيضًا زيادة تحميل الطرائق overload methods وتجاوز الطرائق override methods. استخدام الأنواع وذلك عن طريق فهم عمليّة التعليب box وإلغاء التعليب unbox لأنواع القيمة، والتحويل cast بين الأنواع، والتعامل مع الأنواع الديناميكيّة dynamic، والتأكّد من التوافقيّة مع الشيفرة غير المُدارة unmanaged code (أي الشيفرة المكتوبة بلغات برمجة لا تتبع لإطار العمل .net) فرض التغليف encapsulation وذلك باستخدام الخصائص، ومحدّدات الوصول (public و private و protected). إنشاء بنية أصناف هرميّة عن طريق تصميم وتحقيق واجهة interface، والوراثة من صنف أساس، إنشاء وتحقيق الأصناف بالاستناد إلى الواجهات IComparable و IEnumerable و IDisposal و IUnknown. إنشاء أنواع جديدة والبحث عن الأنواع أثناء التشغيل runtime باستخدام تقنيّة reflection، وإنشاء وتطبيق وقراءة السمات attributes باستخدام هذه التقنيّة، وتوليد الشيفرة أثناء تشغيل البرنامج باستخدام CodeDom وتعابير lambda، واستخدام الأنواع من فضاء الاسم System.Reflection. إدارة دورة حياة كائن عن طريق التعامل مع المصادر غير المُدارة unmanaged resources، وتحقيق الواجهة IDisposable والتعامل معها. التعامل مع النصوص وذلك باستخدام الأصناف StringBuilder و StringWriter و StringReader، والبحث ضمن النصوص وتنسيقها. 3. تنقيح التطبيقات وحمايتها يختبر هذا المجال مدى قدرتك على التعامل أدوات التنقيح واكتشاف الأخطاء، وكيفيّة حماية بيانات التطبيق والتحقّق منها. ويغطّي الجوانب التالية: التحقّق من المدخلات عن طريق التحقّق من البيانات بتنسيق JSON، وإدارة سلامة البيانات، وتقييم تعبير نظامي regular expression للتحقّق من تنسيق المُدخلات، واستخدام الدوال المضمّنة للتحقّق من نوع البيانات والمحتوى، والمقدرة على كتابة التعابير النظاميّة أيضًا. إجراء تشفير متماثل symmetric وغير متماثل asymmetric، حيث يتم اختيار خوارزميّة التشفير المناسبة، وإنشاء وإدارة الشهادات certificates، والتعامل مع فضاء الاسم System.Security، وتشفير الدفوقات streams. إدارة التجميعات assemblies عن طريق إضافة إصدار لتجميعة، وتوقيع التجميعات باستخدام أسماء قويّة، ووضع تجميعة ضمن ذاكرة التجميعات العامّة global assembly cache، وإنشاء تجميعة WinMD. تنقيح تطبيق بإنشاء وإدارة توجيهات directives للمترجم، واختيار نمط مناسب لعمليّة بناء التطبيق، والتعامل مع أدوات مراقبة الأداء للتطبيق، والتعامل مع التسجيل logging وتعقّب الأثر tracing، واختبار أداء التطبيقات profiling applications، وإنشاء ومراقبة عدّادات الأداء performance counters، وأيضًا الكتابة إلى مسجّل الأحداث event log. 4. الوصول إلى البيانات يختبر هذا المجال مدى قدرة المطوّر على الوصول إلى البيانات والتعامل معها عن طريق العديد من التقنيّات المهمّة حيث يغطّي الجوانب التالية: إجراء عمليات دخل/خرج عن طريق الكتابة والقراءة من الملفات والدفوقات streams، والكتابة والقراءة من الشبكة باستخدام الأصناف الموجودة ضمن فضاء الاسم System.Net، وإجراء عمليات دخل/خرج غير متزامنة asynchronous operations. التعامل مع البيانات عن طريق الحصول على البيانات من قاعدة البيانات وتحديثها، والتعامل مع البيانات بتنسيق JSON وXML، والحصول على البيانات عن طريق خدمات ويب web services. الاستعلام عن البيانات والكائنات ومعالجتها باستخدام LINQ وذلك عن طريق الاستعلام عن البيانات باستخدام عوامل مثل: projection، join، group، take، skip، aggregate، وإنشاء طرائق للتعامل مع استعلامات LINQ، واختيار البيانات المستعلم عنها وتهيئتها باستخدام الأنواع عديمة الاسم anonymous types، والتنفيذ القسري لاستعلام، وقراءة وتصفية وإنشاء بنى المعطيات باستخدام LINQ to XML. سَلْسَلَة serialize البيانات، وإعادة تجميعها deserialize وذلك عن طريق السَلْسَلَة وإعادة التجميع باستخدام السَلْسَلَة الثنائيّة binary serialization والسَلْسَلَة المخصّصة والسَلْسَلَة باستخدام مُسَلْسِل XML ومُسَلْسِل JSON. تخزين البيانات ضمن المجموعات collections واستردادها منها، حيث يتوجّب التمكّن من تخزين البيانات واستردادها باستخدام القواميس dictionaries والمصفوفات والقوائم lists والمجموعات الرياضيّة sets والأرتال queues، واختيار نوع مناسب لمجموعة، وتهيئتها، وإضافة العناصر إليها، وإزالتها منها، واستخدام المجموعات ذات النوع المُحدّد typed collections والمجموعات ذات النوع غير المُحدّد non-typed collections، وإنشاء مجموعات مُخصّصة، وتحقيق واجهات المجموعات.