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

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

  1. Huda Almashta

    Huda Almashta

    الأعضاء


    • نقاط

      1

    • المساهمات

      411


  2. محمد أحمد العيل

    • نقاط

      1

    • المساهمات

      308


  3. وصال الأحدب

    وصال الأحدب

    الأعضاء


    • نقاط

      1

    • المساهمات

      3


  4. kinan mawed

    kinan mawed

    الأعضاء


    • نقاط

      1

    • المساهمات

      45


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

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

  1. كيف تتعلم البرمجة هو سؤال من أشهر الأسئلة على الإنترنت التي تدور في فلك البرمجة وعلوم الحاسوب وشهرته تأتي من كون البرمجة programming من أهم المجالات وأكثرها طلبًا في وقتنا الحالي، ولا أحد ينكر أنها جزءٌ أصيلٌ مرتبط بالتقنية التي تشكل حاضرنا ومستقبلنا، فكل شيء أصبح مرتبط بالحواسيب ويحتاج الحاسوب إلى أن نخاطبه بلغته للتواصل معه وتوجيهه وتلقينه الأوامر. وبذكر الحاسوب، فقد أصبحنا محاصرين بكم كبير من الحواسيب حولنا بدءًا من هواتفنا الذكية التي هي حواسيب مصغَّرة مرورنا بآلة الغسيل وجلي الصحون وحتى الطائرات، ولنذكر أن عالمنا الآن يتجه إلى أتمتة المعلومات وحوسبة العمليات على جميع الأصعدة بطريقة سريعة وبعيدًا عن الروتين، كما يتجه إلى الاعتماد على التطبيقات الحاسوبية اعتمادًا كبيرًا وكل ذلك لا يتحقق إلا بوجود عدد كبير من المبرمجين لبرمجتها. تعد البرمجة من المهارات الرائعة صراحة إذ تمكنك من بناء تطبيقات مفيدة تحل الكثير من المشكلات الحياتية كما قد تخترع أنظمة وتقنيات مفيدة للبشرية مثل أنظمة الاتصالات وأيضًا الأنظمة البنكية وأنظمة البيع والشراء وغيرها التي سهلت حياة البشر وزادت من إنتاجيتهم وقدراتهم، فعملك كبمرمج يكسبك دومًا خبرات متجددة تزداد مع زيادة سنوات عملك كمبرمج، ولا ننسَ أن أشهر أثرياء عالمنا اليوم هم مبرمجون في الأصل. أضف إلى أن البرمجة توسع من خبرتك باطراد دائم، وتفتح لك أبوابًا لمهن مطلوبة في يومنا الحالي وبشدة أكثر من أي مهنة أخرى، لتؤمن لك دخلًا جيدًا بل وحتى حرية ومرونة في العمل أينما كنت حتى من منزلك فلا يتطلب في بعض الحالات وجود المبرمج في موقع العمل. بناءً على ما سبق، من الطبيعي أن ترى أعداد المتوافدين على باب تعلم البرمجة كبيرًا يزداد يومًا بعد يوم، وتحتاج قبل دخوله وبدء تعلم البرمجة إلى امتلاك بوصلة تهديك طيلة الطريق فبدونها ستضيع في هذا العالم الكبير الواسع وقد تنسحب منه وتعود أدراجك لعدم سلوكك الطريق الصحيح، لذا ستحصل في نهاية هذا المقال على بوصلة كيف تتعلم البرمجة تعينك على دخول هذا الطريق من أسهل طرقه وأسرعها إلى امتلاك الخبرة ودخول سوق العمل، فهل أنت جاهز؟ لننطلق! فهرس المحتويات ماذا تعني البرمجة؟ لماذا تتعلم البرمجة؟ طرق لتعلم البرمجة تعلم البرمجة عبر الجامعة تعلم البرمجة عن بعد عبر الإنترنت كيف تتعلم البرمجة مفاهيم تعلم البرمجة: التأسيس الصحيح أدوات تعلم البرمجة: اختيار الوجهة والتخصص نصائح لتعلم البرمجة أسئلة شائعة حول كيف تتعلم البرمجة هل تعلم البرمجة صعب؟ هل يؤثر نمط شخصيتي على تعلم البرمجة؟ هل احتاج إلى إتقان اللغة الإنجليزية لتعلم البرمجة؟ هل هناك مصادر عربية لتعلم البرمجة؟ هل احتاج إلى خبرة في الرياضيات لتعلم البرمجة؟ كيف تتعلم البرمجة من الصفر؟ أنا لست منظمًا فكيف ألتزم في تعلم البرمجة بنفسي؟ هل يمكنني تعلم البرمجة عبر الجوال؟ ماذا تعني البرمجة؟ البرمجة -كما ذكرنا باختصار في المقدمة- هي الطريقة الوحيدة للتخاطب مع الحواسيب والأجهزة الإلكترونية الذكية لإخبارهم بكيفية تنفيذ الأوامر والمهام التي يجب عليهم تنفيذها، فعلى الرغم من ظننا بأن الحواسيب والأجهزة ذكية كما يقال، إلا أن تلك المقولة خطأ لأن تلك الأجهزة لا تفكر ولا تتمتع بذرة من الذكاء وإنما تتسم بالسرعة والدقة الكبيرة في تنفيذ ما يُقال لها فقط. إذًا، البرمجة هي الطريقة وأسلوب سرد الخطوات المراد تنفيذها للحاسوب بناء على خوارزمية معينة أما الأداة المستخدمة في توضيح تلك الطريقة والخطوات فهي لغة البرمجة وبما أنها أداة فالأدوات كثيرة لتناسب مختلف الاحتياجات لهذا تجد الكثير من لغات البرمجة أما المفهوم والأسلوب فهو شبه ثابت لا يتغير وهنا قد تتطرق في طريق تعلم البرمجة إلى مفهوم لخوارزميات التي يمكن تنفيذها بأكثر من لغة برمجة. لماذا تتعلم البرمجة؟ هناك طلب كبير على مطوري البرامج اليوم، إذ سيزداد الطلب عليهم بنسبة 22 بالمائة بين عامي 2022 و 2030 وفقًا لمكتب إحصاءات العمل الأمريكي وذلك موازنةً بأربعة بالمائة بالنسبة للوظائف الأخرى، إذ تُعَدّ البرمجة مجال العصر والأكثر طلبًا في الوقت الحالي بين المهن الأخرى كما ذكرنا، فامتلاكك لهذه المهارة بمثابة امتلاكك لنقطة من نقاط قوة هذا العصر وتفتح لك أبوبًا واسعة في سوق العمل وضمن قطاعات مختلفة بسبب التقدم الرهيب في التقنية. كما تتعدد الأسباب حول الهدف من تعلم البرمجة، ولكن أكثرها انتشارًا هو ما يلي: تُعَدّ البرمجة مهنة عالمية عابرة للدول والقارات، إذ يمكن تطبيقها وتوظيفها في أيّ بلد كان مهما كانت ثقافته أو لغته. تعلم البرمجة مهم كون العالم يتجه إلى أتمتة المعلومات كما ذكرنا، وبالتالي تسريع المهام الروتينية وتوفير المزيد من الوقت والجهد البشري. يتعلق تعلم البرمجة بصورة أساسية بتعلم المنطق والرياضيات، لذا فهي توجّه ممتع لمن يهتم بمثل هذه المجالات. تحقيق مكاسب مادية، إذ يتقاضى المبرمجون رواتب عالية من خلال وظائف في شركات كبرى أو من خلال مشاريع ذاتية يصممها المبرمج بذاته ويبيعها لجهة معينة. تمكّنك من العمل الحر عبر منصات عمل حر مثل مستقل دون التقيد بجهة معينة كما يمكنك العمل من أيّ مكان كان من منزلك مثلًا، وبالتالي ستوفر عليك العديد من الالتزامات مثل قوانين بيئة العمل، وبعض النفقات مثل المواصلات. ممارسة البرمجة على أساس هواية إلى جانب عمل رئيسي آخر، فكثير من الأحيان قد تصادف أشخاصًا مهتمين بتعلم البرمجة وهم أساسًا أطباء على سبيل المثال وذلك لكونها شيء مكتسب بالتعلم والقراءة والممارسة وليست موهبةً أو شيئًا موروثًا. تعلم خوارزميات من خلال البرمجة يعزز عدد من المهارات لديك مثل مهارات التواصل وحل المشكلات وحتى مهارة الصبر. تفيد البرمجة في توسيع المعرفة وتعلّم تصميم حلول لأيّ مشكلة تواجهك، إذ تُعَدّ البرمجة طريقة تفكير منظمة وطريقة لتبسيط المشكلة وتفكيكها إلى أجزاء صغيرة يمكن التعامل معها بصورة أسهل. تعزيز الإبداع والاختراع لدى المبرمج، إذ سيصبح توّاقًا لتقديم أفضل ما لديه ومنافسة ذويه والسعي نحو تقديم مشاريع جديدة غير متوفرة سابقًا. طرق لتعلم البرمجة هنالك عدة طرق لتعلم البرمجة ودخول مجال علوم الحاسوب ولكن سأصنفها ضمن مسارين عريضين، الأول عبر التعليم الجامعي والثاني عبر التعليم الحر، وسأشرح كل منهما بالتفصيل مع توضيح مزايا وتحديات كل منهما. وإن كنت مهتمًا بتعلم البرمجة والتخصص بها ولم تختر مسارك بعد، فأنصحك أن تركز على هذا القسم بعناية لتحديد مسارك التعليمي. تعلم البرمجة عبر الجامعة يمكن تعلم البرمجة عبر مسار الجامعة بدخول إحدى التخصصات المرتبطة بها مثل تخصص علوم الحاسوب computer science أو تخصص هندسة البرمجيات software engineering أو هندسة الحاسوب computer engineering وستدرس بانتظام وعبر سنوات بين 4 إلى 5 سنوات هذا التخصص لتتخرج بدرجة بكالوريوس ويمكنك أن تكمل بعدها إلى مرحلة الماجستير والدكتوراه، وهذا الخيار مناسب تمامًا لك إن كنت تفكر في تسلق هذا السلم والذي تكون نهايته المهنية غالبًا العمل في مهنة التدريس في المؤسسات التعليمية. هذا الطريق أشهر الطرق لتعلم البرمجة ويتسم بأنه الأطول ولا يمكن البدء به إلا عند الدخول بالمرحلة الجامعية، ومن خلال هذه الطريق سيتلقى الشخص شهادة جامعية رسمية ومعترف عليها في سوق العمل بغض النظر عن الخبرة العملية التي يكتسبها خلال مسيرته الدراسية والتي تكون قليلة نوعًا ما وغير كافية. ضع في بالك أمر مهم في هذا المسار وهو أنك ستتعلم الكثير من المواد -وأحيانًا بتعمق- كما ذكرنا مثل الرياضيات المتقدمة وقواعد البيانات وأنظمة التشغيل والأنظمة المتقدمة والدارات الكهربائية والمنطقية والشبكات الحاسوبية وغيرها من المواد النظرية التي أما قد لا تهمك ولا ترغب في التخصص فيها والعمل فيها وإما أنها لا تفيد بشكل مباشر في الحياة العملية التطبيقية لاحقًا (تضيف مثلًا بعض الجامعات مواد إثرائية مثل تاريخ وجغرافية وأدب) مما يعني نسيانها لاحقًا وإضاعة للوقت والجهد. العائق الوحيد للدخول في هذا الطريق هو المُعدَّل الدراسي المطلوب بالنسبة للجامعات الحكومية والذي يكون مرتفعًا، وذلك لأن المقاعد الدراسية محدودة؛ أما بالنسبة للجامعات الخاصة، فستحتاج إلى مبلغ مالي قد تجده كبيرًا لتستطيع التسجيل في الجامعة وتتمة سنواتها الدراسية، فضلًا عن التفرغ الكامل للجامعة وتأمين النفقات اليومية البسيطة ما بين مواصلات ومعيشة ووربما تحتاج إلى كتب وقرطاسية وغيرها من نفقات إضافية طارئة، ولا ننسى أنه إذا كنت من محافظة تختلف عن المحافظة التي تقع فيها الجامعة، فإنك ستحتاج إلى مصروف إضافي يخص المواصلات بالإضافة إلى مصروف مخصص للسكن إذا لم ترغب في المكوث في السكن الجامعي أو إذا اخترت التسجيل في جامعة خاصة غير موجودة في مدينتك. والأهم مما سبق كله أن مجال علوم الحاسوب عمومًا والبرمجة خصوصًا مجال سريع التغير والتطور، فقد تتعلم تقنيات قديمة في بداية دراستك الجامعية لن تُستخدم في سوق العمل عند تخرجك بعد عدة سنوات أو أنها على الأقل تغيرت تغيرًا كبيرًا عما تعلمته وكم أسمع مشكلات تواجه طلاب الجامعات اليوم من هذا القبيل، لهذا السبب تجد أن أغلب الشركات لا تقبل بالشهادة الجامعية بمفردها بل تجري للمتخرج الجامعي اختبارًا تقنيًا أو تطلب منه مشروعًا يطلع عليه فريق برمجي متخصص ليتأكد من مواكبة معلوماته لأحدث التقنيات الحالية آنذاك. ومن الجدير بالذكر أنّ تعلم البرمجة عن طريق الجامعة يجبرك على الدراسة لسنين طويلة قد تصل إلى خمس سنوات وربما أكثر إذا لم تجتاز مواد محددة خلال السنة الدراسية، كما أنّ هذا الطريق لوحده لا يكفي للدخول إلى سوق العمل على الرغم من امتلاكك شهادة جامعية قوية وامتلاكك خلفية ثقافية علمية غير متاحة في الوسائل الأخرى، إذ ينبغي عليك اكتساب الخبرة اللازمة لتدعم سيرتك الذاتية، ولكن على الرغم من ذلك فبعض الشركات تهتم بالشهادة الجامعية في الدرجة الأولى وبعدها تنظر في الخبرة التي تملكها على أساس درجة ثانوية، إذ قد تمتلك برنامجًا تدريبًا خاصًا بالخريجين الجدد. والخلاصة، قد لا يكون هذا الخيار متاحًا لك -بسبب مجموعك في المرحلة الثانوية من التعليم- وباهظًا أيضًا وقد لا تملك وقتًا له وغيرها من التحديات وهنا ننصحك بخيار آخر لتعلم البرمجة وهو التعلم الحر عبر الإنترنت. تعلم البرمجة عن بعد عبر الإنترنت هنالك طريق آخر لتعلم البرمجة يعد الأسرع من بين عدة طرق لتعلم البرمجة غير التعليم التقليدي في الجامعات وهو التعلم الموجه عن بعد عبر الإنترنت نظرًا لانتشار الإنترنت في كل الأرجاء وازدياد سرعته، فأصبح بالإمكان اليوم مشاهدة فيديوهات والتواصل مرئيًا بدقة عالية دون الاكتراث لتكلفة الإنترنت أو سرعته. ونظرًا لأن مجال البرمجة لا يتطلب أي أمور وأدوات فيزيائية فأصبح تعلمه عبر الإنترنت شائعًا جدًا وسهلًا وعزز من ذلك تطوره السريع كما أشرنا وحاجة سوق العمل الكبير للمبرمجين مما جعل الشركات الموظفة تتنازل عن شرط وجود شهادة جامعية وأصبحت تطلب بدلًا من ذلك الخبرة والمشاريع العملية مع اجتياز اختبار أو مقابلة تقنية تجريها الشركة للمتقدمين المرشحين. تنقسم عملية تعلم البرمجة عبر الإنترنت إلى عدة مسارات فرعية تكون عمومًا إما منظمة ومهيكلة أو متفرقة. الدورات التعليمية تُعَدّ الدورات التعليمية من أشهر الطرق التي يلجأ إليها مَن يرغب في تعلم البرمجة سواءً كانت على أرض الواقع أو عبر الانترنت، إذ تأخذ بيده بدءًا من الصفر وتساعده كثيرًا في تعلم أيّ شيء جديد بصورة عامة وفي تعلم البرمجة بصورة خاصة وذلك عن طريق تسلسل مدروس ينتج عنه في ختام الدورة تعلم الأساسيات والتمكن بعض الشيء في النقاط التي تقدمها الدورة ليتابع بعدها المتلقي رحلة تعلمه عن طريق مصادر أخرى أو التسجيل في دورة تعليمة جديدة بمستوى أعلى. غالبًا ما تقترن الدورات التعليمية بجانب تطبيقي عملي يبني المتعلم عبرها مشاريع عملية تحاكي المشاريع المطلوبة في سوق العمل كما تفيده في بناء معرض أعمال عملية يغنيه عن عرض الشهادات النظرية. وقد يحتاج الطالب الأكاديمي الذي يدرس في الجامعة -كما ذكرنا في المسار الأول السابق- إلى دورات برمجية تعليمية مخصصة لترميم ما ينقصه أو اكتساب خبرة أوسع والتخصص فيه وبناء مشاريع عملية. لن تعيقك الدورات التعليمية من ناحية العدد المحدود للحضور والتكلفة الباهظة، إذ توجد العديد من الدورات البرمجية منخفضة التكلفة ومقبولة بالنسبة للطلاب مقابل الفائدة التي سيتلقونها، كما أنك لن تحتاج إلى إهدار 4 أو 5 سنوات من حياتك -على الأقل- كما في المرحلة الجامعية. تحدي مسار تعلم البرمجة عبر دورات تعليمية هو التسويف والتقصير، إذ يحتاج إلى تنظيم وعزيمة وإصرار وحمل النفس على التعلم وطلب العلم ووضع مخطط صارم وخطة واضحة من بداية الطريق، وهذا عكس المسار الأكاديمي الذي يكون فيه دور الجامعة تلقين المعلومة والتخطيط نيابة عنك مثل تحديد أوقات الامتحانات. ومن الجدير بالذكر أنه تهدف أكاديمية حسوب إلى توفير دورات تعليمية باللغة العربية تساعدك في تعلم البرمجة، كما يمكنك طرح أيّ سؤال على المدرِّبين أثناء التعلم إذا صادفت أيّ صعوبة، بالإضافة إلى أنه يمكنك مشاهدة أيّ دورة اشتركت فيها متى ما شئت، وفي حال أردت الانسحاب فبإمكانك التواصل مع فريق الأكاديمية لاسترداد ثمنها. دورة علوم الحاسوب دورة تدريبية متكاملة تضعك على بوابة الاحتراف في تعلم أساسيات البرمجة وعلوم الحاسوب اشترك الآن الورشات والمخيمات البرمجية Bootcamps تعد المخيمات البرمجية فكرة أخرى منبثقة عن الدورات التعليمية فهي عبارة عن دورة تعليمية مكثفة ومضغوطة بفترة زمنية قد تقصر أو تطور بحسب البرنامج والتخصص وعادةً ما تمتد المخيمات البرمجية المتخصصة في مجال تطوير الويب أو تطوير تطبيقات الجوال من ستة أشهر إلى سنة. وتركز المخيمات البرمجية على تعلم البرمجة وتطبيقها مباشرةً على مشاريع عملية كبيرة تختمها بمشروع تخرج شامل، فيتخرج الطالب منها بحقيبة مشاريع مشرفة يعرضها في مقابلات العمل. القنوات والفيديوهات التعليمية هذه القنوات منتشرة انتشارًا كبيرًا على اليوتيوب مثل قناة أكاديمية حسوب، كما يوجد العديد من المبرمجين المحترفين الذين لديهم قناة على اليوتيوب تحتوي على سلسلة من المحاضرات التعليمية النظرية والعملية أو حتى مواضيع متفرقة، وفي هذا الطريق لن تحتاج إلى التقيد بمكان معيّن لحضور دورة تعليمية ما ولن تضطر إلى دفع تكاليفها، إذ تكون أغلبها مجانية، ولن تضطر إلى دفع أي تكلفة إضافية مثل المواصلات والسكن، كما أنك غير مقيّد بوقت محدد بما أنها عبر الانترنت ومسجَّلة مسبقًا. القيد الوحيد في هذا المسار أنه من المسارات الموجهة وغير المنظمة أو المهيكلة إذ ستتقيد بما هو موجود وقد تجد المعلومة وقد لا تجدها وغالبًا ستكون ضمن المستويات الأساسية دون المتقدمة ولن تجد من يجيب على أسئلتك أيضًا. الكتب والمقالات يفضل العديد من الأشخاص اللجوء إلى كتب برمجية للوصول إلى فهم أكثر دقة، والعديد من هذه الكتب توفرها أكاديمية حسوب مترجمة ومدققة جيدًا، كما يلجأ العديد من الراغبين في تعلم البرمجة إلى المقالات البرمجية لأخذ لمحة عامة حول تعلم البرمجة أو لتعلم البرمجة بصورة خاصة. تمتلك كل طريقة من الطرق السابقة ميزات ومساوئ وضحنا لتتمكن من تحديد الطريق الأنسب لك والذي يخدم أهدافك، ولكن ستكون أنت الرابح مهما كان طريقك في تعلم البرمجة، لذلك لا بد من تعلم البرمجة بصورة احترافية مهما كانت الوسيلة لتحقيق رغبتك في الدخول إلى سوق العمل بقوة وتحقيق دخل ممتاز. وفي نهاية هذا القسم، أنصحك بمشاهدة الفيديو التالي الذي يناقش فكرة الشهادات مقابل الخبرة في سوق العمل: المسابقات والتدريبات البرمجية تعزز المسابقات البرمجية والتدريبات البرمجية من عملية تعلم البرمجة تعزيزًا كبيرًا وتكسب المبرمج خبرة كبيرة واسعة تميزه عن بقية المبرمجين وترفع من قدره ومنصبه خصوصًا أن سمة البرمجة عمومًا هي حل المشكلات والبعد عن النمطية والروتين، فستصادف خلال رحلة البرمجة مشكلات منها القديم ومنها الجديد وغالبًا ستجد لكل مشكلة عدة حلول. أضف إلى ذلك أن أغلب أسئلة المقابلات البرمجية تكون على شكل مشكلة تتطلب إيجاد حل لها وكتاب شيفرته وغالبًا تكون تلك المشكلة شائعة وبسيطة وبمقابلة مباشرة يعني أن الفريق التقني يكون حاضرًا أثناء حلك للمشكلة، وينصب جل تركيزهم على كيفية إيجادك الحل وأسلوب كتابتك للشيفرة، فأحيانًا تجد حلًا لمشكلة يخلق مشاكل أخرى لم تخطر على بالك أو تفكر بها والأصوب أن يكون حلك شاملًا لا يؤدي إلى مشاكل أخرى ولا يسبب تأثيرات جانبية، ولا يمكن الوصول إلى تلك الدرجة من الخبرة والإتقان دون إطلاع على حلول مشاكل سابقة والتمرن على حل مشاكل جديدة ومناقشة الحلول للوصول إلى الحل الأفضل. هنالك الكثير من منصات التدريب تختلف باختلاف المواضيع ولغة البرمجة التي تريد التدرب عليها يمكنك البحث والسؤال وتجرب عدة منصات لتختار ما يناسب وشاع منها هذه الأيام منصة HackerRank ومنصة Codewars، ولكن لا أرى اللجوء إلى هذا الخيار إلى بعد تعلم المفاهيم الأساسية وعلى الأقل أساسيات لغة برمجة وعمومًا هنالك دومًا مستويات لكل تدريب يمكنك اختيار ما يناسب مستواك آنذاك. كيف تتعلم البرمجة؟ البرمجة عالم كبير مترامي الأطراف متباين التضاريس فيه السهل وفيه الصعب وإن كان الصعب يغلب على بدايته إذ يتسم طريق بداية تعلم البرمجة بالصعوبة وشدة الانحدار فهنالك الكثير من الأساسيات والمفاهيم التي عليك تعلمها وفهمها مثل مفهوم التعابير expressions والمتغيرات variables وأنواع البيانات data types والعمليات وحلقات التكرار والتعابير الشرطية والدوال والأصناف …إلخ. ثم تعلم تطبيق تلك المفاهيم بلغة البرمجة التي تريد استخدامها والتقنيات والمكتبات المرتبطة بها وقد تصل إلى بعض الطرق المسدودة -من جملة المشاكل الكثيرة التي تواجهك- التي تتطلب أن تشق طريقًا جديدًا لحلها. لا تخشَ مما سبق فكلما كان الطريق صعبًا ذقت حلاوة الوصول! مفاهيم تعلم البرمجة: التأسيس الصحيح ابدأ أولًا بتعلم المفاهيم البرمجية الأساسية، فعندما تتقن تلك المفاهيم تصبح قادرًا على تطبيقها على الأدوات مهما اختلفت وكثرت، وهنا وجب الفصل بين المفاهيم والأدوات، لأن الأدوات كما ذكرنا كثيرة وإن بدأت بها فقد تضيع وقد تواجه صعوبة في استخدام أداة لكثرة المفاهيم البرمجية المعقدة المبنية عليها وبدلًا من ذلك يجب البدء بصب أساس متين وإتقان المفاهيم البرمجة التأسيسية التي ستمكنك من استخدام أي أداة أو تقنية برمجية موجودة أو حتى مستحدثة جديدة قد تظهر مستقبلًا. أهم المفاهيم التأسيسية البرمجية التي يمكنك البدء بها هي: التفكير المنطقي الخوارزميات وحل المشكلات التعابير المنطقية أو البوليانية العمليات الرياضية الأساسية الأصناف classes والكائنات objects الدوال functions والتوابع methods بنى التحكم مثل التكرار Loop والشروط conditions التعاود Recursion المكتبات والحزم وأطر العمل أنواع البيانات أنواع لغات البرمجة البرمجة كائنية التوجه والبرمجة الوظيفية ننصحك بإتقان تلك المفاهيم وصقلها قبل البدء في تعلم أي لغة برمجة والتعمق فيها لأنك إن فعلت، فستلجأ إلى الرجوع إلى كل مفهوم والتعرف عليه مما يصعب عملية التعلم ويطيل الطريق عليك، وبعد التعرف عليها، يمكنك الانتقال إلى تعلم لغة البرمجة التي تمثل إحدى أدوات تعلم البرمجة والتخصص في المجال الذي تريده. أدوات تعلم البرمجة: اختيار الوجهة والتخصص لا أقصد بذكري أدوات تعلم البرمجة محررات النصوص وما سيلزمك أثناء البرمجة وكتابة الشيفرة، بل أقصد بها الأدوات والوسائل التي تتعلم البرمجة بها وتطبقها وأقصد تحديدًا لغات البرمجة والتقنيات المرتبطة بها التي تتعلم البرمجة بها. هنالك الكثير من لغات البرمجة والتقنيات البرمجية وهي ليست ثابتة بل تزداد وتتوسع يومًا بعد يوم، فلا تلبث إلا أن تسمع عن نزول لغة برمجة جديدة أو تقنية أو إطار عمل Framework جديد فإن تعلمت المفاهيم وأسست نفسك بها، فستطبقها مع أي لغة برمجة أو تقنية برمجية، فلغات البرمجة تنتمي إلى عائلات وتُشتق اللغات الجديدة من لغات سابقة وتُبنى تقنيات جديدة على أخرى سابقة أو مشابهة لها فلا وقت لاختراع العجلة من جديد، وفي هذا الصدد أنصحك بالاطلاع على مقال دليلك الشامل إلى لغات البرمجة. وقد تتساءل، كيف تتعلم البرمجة دون الاهتمام بتعلم لغة برمجة والانشغال بها؟ سؤالك صحيح، فستحتاج أثناء تعلم المفاهيم إلى أداة أي لغة برمجة تطبق عليها ما تعلمته ولكن في الوقت نفسه لا تريد الانشغال بتعلم لغة البرمجة تلك وتفاصيلها وشيفراتها وهنا لحل المشكلة جاءت لغات البرمجة المرئية مثل سكراتش Scratch وما شابهها. سكراتش هي لغة برمجة مرئية مؤلفة من كتل جاهزة يمكنك عبر سحبها وتركيبها بناء برنامج كامل، وهي مناسبة جدًا للبدء بتعلم البرمجة من الصفر وتأسيس المفاهيم البرمجية التي ذكرناها أهمها الخوارزميات والتفكير المنطقي، وبناءً على ذلك، تجد أن دورة علوم الحاسوب من أكاديمية حسوب تؤسس تلك المفاهيم أولًا بلغة سكراتش. بعد أن تتعلم المفاهيم، تبدأ بتطبيقها على لغة برمجة حقيقية ويمكنك بعدها التخصص بلغة البرمجة التي تريد تعلمها ودخول مجالها، وهنا يمكن أن أنصحك بدلًا من ذلك البدء بأساسيات لغة برمجة سهلة مثل لغة جافاسكربت JavaScript أو لغة بايثون والسبب سهولة كتابة الشيفرات فيهما وتنفيذها دون الحاجة إلى أي تعقيد في ضبط البيئة البرمجية لهما، ثم بعد ذلك يمكنك الانتقال إلى لغة البرمجة التي تُستخدم في المجال الذي تريد التخصص فيه مثل مجال تطوير مواقع الويب أو تطوير تطبيقات الجوال أو برمجة أنظمة التشغيل والأنظمة المدمجة. قد تسألني عن الأدوات والبرامج المطلوبة لكتابة الشيفرات وهنا أقول لك، لا تشغل نفسك بها فستتعرف عليها متى ما احتجتها فكل لغة برمجة أو تقنية لها محرر وأدوات تدعمها أكثر من غيرها. نصائح لتعلم البرمجة توجد بعض النصائح لتعلم البرمجة التي ستحتاجها أثناء رحلتك نسردها فيما يلي. حدد هدفك من تعلم البرمجة عليك تحديد هدفك حتى يسهل عليك تحديد التخصص الذي تريد الدخول إليه وبالتالي اللغة المستعملة في ذلك التخصص الأمر، فاللغات التي تُستخدم في مجال برمجة تطبيقات الويب مثلًا تختلف عن لغات برمجة تطبيقات الهاتف المحمول والتطبيقات المكتبة، كما سيسهل عليك تحديد طبيعة الجهاز الذي سيكون موجه إليه هذا التطبيق. تعلم لغة واحدة على الرغم من تشابه لغات البرمجة من حيث المفهوم، إلا أنّ لكل لغة برمجية بنية لغوية syntax تختلف عن غيرها، لذا من الأفضل عدم إجهاد نفسك في تعلم أكثر من لغة على التوازي حتى لا تتشتت وخاصةً إذا كنت في بداية طريقك في تعلم البرمجة. وعمومًا، يمكنك تعلم المفاهيم البرمجية بدايةً بلغة سكراتش ثم الانتقال إلى اللغة التي تريد التخصص فيها فالمفاهيم متشابهة كما ذكرنا ولكن صياغة اللغة وطريقة كتابة شيفراتها وترتيبها هي التي تختلف ولن يكون الاختلاف كبيرًا عادةً. ابدأ ببرامج بسيطة البرمجة مثلها مثل أيّ مجال آخر، أي حتى تتقنها عليك البدء من مكونات صغيرة وذلك بتصميم برامج بسيطة ثم تعديلها وتطويرها على عدة مراحل للوصول إلى تطبيق متكامل، فعلى سبيل المثال تطبيق الآلة الحاسبة يبدأ بعملية واحدة وبعدها يُطوّر ليشمل كافة العمليات وبعد ذلك يمكن تطويره ليتعامل مع المعادلات الرياضية المعقدة وهكذا. تحلى بالصبر جميعنا يريد أن يكتسب الخبرة بين ليلة وضحاها، لكن الأساس مهم جدًا وهذا يحتاج لأيام وأيام، لذا خذ الطريق من بدايته وأساسياته ولا تستعجل فتندم وتفقد الشغف وربما تتعب من مواصلة التعلم وتقرر الابتعاد نهائيًا، ولا تيأس عندما تواجهك أخطاء، فكلها ستدعم مسيرتك البرمجية في المستقبل وتكسبك الخبرة، ففي النهاية إنما العلم بالتعلّم وإنما الحلم بالتحلّم. صاحب مبرمجًا بما أنك قررت دخول عالم البرمجة، فحاول مصاحبة المبرمجين بدخول مجتمعات البرمجة على وسائل التواصل الاجتماعي وإبداء اهتمامك بأي محتوى برمجي على الإنترنت والتفاعل مع أصحاب المحتوى والتواصل معهم والاستفسار أو السؤال عما يلزمك أن احتجت، فبذلك يصبح لديك شبكة من الأصدقاء تستفيد منهم وتفيدهم بتبادل الخبرات. اعتمد على نفسك في حل الأخطاء البرمجية لا شك أنه كل منا سيواجه أخطاء في مسيرته التعليمية، ولكن من الأفضل عدم الاعتماد على الغير في حلها إلا بعد البحث والتقصي عن سبب المشكلة وإيجاد حلها بأفضل طريقة ممكنة، وفي حال عدم التوصل إلى حل بعد البحث المتواصل، فلا مانع من الرجوع إلى مبرمج محترف يبيّن لك سبب المشكلة وطريقة حلها، فاللجوء فورًا إلى مبرمج محترف لن يفيدك وربما قد تكون عبئًا عليه في حال تواصلت معه على أبسط الأخطاء وباستمرار دون بذل أيّ جهد منك في البحث. لا تتوقف عن الممارسة والتدريب كل علم لا يُمارس فمصيره الزوال والنسيان وكذلك البرمجة، إذ عليك التدرب أكثر فأكثر إلى حين إتقان هذه اللغة وعدم التوقف عن ممارستها بين الحين والآخر لتجنب خسارتها. أسئلة شائعة حول كيف تتعلم البرمجة هل تعلم البرمجة صعب؟ قد يقول قائل أن البرمجة صعبة وتعلمها أصعب، ولكن هل هذا صحيح؟ أقول أنه لا شيء سهل وأي مهنة فيها مستوى متفاوت من السهولة والصعوبة، والبرمجة من المهن التي تتطلب بذل جهد ذهني وفكري كبير ولا تتطلب بذل جهد بدني بينما تجد بعض المهن تتطلب بذل جهد بدني أكثر من الجهد الذهني وهكذا، وقد لا يناسب البعض بذل هذا الجهد الذهني الكبير والجلوس لفترات طويلة أمام الشاشة بتركيز كبير وهنا يجد تلك الصعوبة التي يشير إليها. إن أردت إجابة تفصيلية على هذا السؤال، فشاهد فيديو هل البرمجة صعبة. هل يؤثر نمط شخصيتي على تعلم البرمجة؟ التعامل مع البرمجة والحاسوب يتطلب بعض الانعزال عن الناس والأنشطة الاجتماعية والتعامل مع آلة أمامك بمخاطبتها عبر شيفرة طويلة تمضي أيامًا وأسابيعًا في كتابتها على انفراد وهذا قد لا يناسب بعض الأشخاص الاجتماعيين الذين يفضلون التعامل مع الناس والاحتكاك بهم، وهنا تظهر فكرة أن غالبية المبرمجين انطوائيين وأرى أنها صحيحة بنسبة ما، ويمكنك الاطلاع على مناقشة شخصيتك كمبرمج ومناقشة هل فعلاً تخصص البرمجة يؤثر بالسلب على الحياة الاجتماعية؟ في حسوب IO. هل احتاج إلى إتقان اللغة الإنجليزية لتعلم البرمجة؟ صحيح أن شيفرات لغات البرمج كلها مكتوبة باللغة الإنجليزية ولكن الحقيقة أنك لا تحتاج إلى إتقانها لتكون مبرمجًا محترفًا، إذ أن كل لغة برمجة مكونة من كلمات مفتاحية keywords محصورة العدد يمكنك حفظها وحفظ استخداماتها وقد قابلت عدة مبرمجين من بلدان آسيا وأوربا غير ناطقين باللغة الإنجليزية ولا يعرفونها بل أتحدث معهم بالإنجليزية فلا يستطيعون الرد علي وفي الوقت نفسه أتفاجأ من أنهم بنوا الكثير من المواقع وتطبيقات الجوال، حتى أن أحدهم بنى مكتبة CSS بلغته ويستطيع أي متحدث بتلك اللغة استخدامها. هل هناك مصادر عربية لتعلم البرمجة؟ قد يقول قائل، مراجع تعلم البرمجة قليلة في اللغة العربية أو ليست بجودة عالية، وأنا أقول أن المحتوى العربي غني جدًا بمصادر تعلم البرمجة بالعربية وهنا أحيلك إلى مقال الدليل الشامل لتعلم البرمجة باستخدام المصادر العربية لتتأكد من نفسك. كما يوجد دورات برمجة عربية تأخذ بيدك من الصفر وحتى الاحتراف مثل دورات أكاديمية حسوب، فالمميز في دوراتها أن الشرح بلغة عربية فصيحة وأنها توفر بيئة عربية متكاملة بدءًا من توفير التوثيقات البرمجية العربية التي تجدها في موسوعة حسوب وحتى المقالات البرمجية والكتب البرمجية في كافة المواضيع واللغات البرمجية وأخيرًا بمنصة أسئلة وأجوبة برمجية لطلب أي مساعدة أو الإجابة عن سؤال كما تجد دعمًا أيضًا في مجتمع البرمجة العربي في منصة حسوب IO. هل أحتاج إلى خبرة في الرياضيات لتعلم البرمجة؟ لا تحتاج إلى خبرة متقدمة في الرياضيات بل كل ما تحتاج إليه في البداية هو معرفة بالعمليات الرياضية الأساسية من جمع وطرح وضرب وقسمة ورفع للأس، وهنالك الكثير من القصص عن أطفال ويافعين بأعمار صغيرة تعلموا البرمجة وبدؤوا بكتابة برامج وألعاب. كيف تتعلم البرمجة من الصفر؟ إن لم تكن تريد الالتحاق بمسار جامعي، فهنا أنصحك باتباع دورات تعليمية أو ورشات أو مخيمات برمجية منظمة ومهيكلة ولا تتطلب أي خبرة برمجة مسبقة بحيث تبدأ معك من الأساسيات وتنطلق حتى المواضيع المتقدمة يقترن ذلك ببناء مشاريع عملية. وإن سألتني عن ترشيحات في المحتوى العربي، فأرشح دورات أكاديمية حسوب فكلها لا تتطلب خبرة برمجة مسبقة وتشرح المواضيع من الصفر، كما أنك عندما تشترك بدورة ما، فإن المسارات الأساسية من كل الدورات تصبح متاحة لك وهي ميزة ممتازة تساعدك على صب أساس قوي في كل المجالات البرمجية، وأضف إلى تلك الميزة، هنالك فريق من المبرمجين جاهز للرد على استفساراتك ومساعدتك بأي شيء، فهي خيار جيد تستحق النظر. أنا لست منظمًا فكيف ألتزم في تعلم البرمجة بنفسي؟ تعلم البرمجة -خصوصًا عبر دورات- يحتاج إلى حمل النفس على ما تكره وهو التنظيم، والتنظيم يحتاج إلى روتين، لذا ألزم نفسك بروتين قاسٍ وعاقبها إن تخلَّفت وقصرت مثل عدم الخروج إلى مكان محبب لك في عطلة نهاية الأسبوع، وفي الوقت نفسه كافئها إن أنجزت وثابرت، وفي هذا الصدد أنصحك بمقال دليلك لتنظيم حياتك ففيه فوائد كبيرة تساعدك على التنظيم لا تفوتها. وتذكر دومًا أن لذة الوصول تنسيك تعب الطريق وهذا يجب أن يدفعك دومًا إلى بذل الجهد ورفع الهمّة، وصحيح أن طريق تعلم البرمجة قد يكون طويلًا لكن بدايته متعبة فقط أما بعد ذلك فيصبح سهلًا، وتذكر أن المبرمج الخبير المتمرس يملك الكثير من المزايا بدءًا من الراتب المرتفع بقدر خبرته وحتى قدرته على تأسيس شركات برمجية أو إدارتها. هل يمكنني تعلم البرمجة عبر الجوال؟ حقيقةً، لا! يتطلب تعلم البرمجة حاسوبًا لتعلم البرمجة وكتابة الشيفرات البرمجية، فمن الصعب كتابة شيفرات برمجية على الهاتف الجوال هذا لم نتحدث عن إمكانية تنفيذ الشيفرات عليه وتجريبها وتنقيحها وتصحيح الأخطاء فيها. أما إن سألتني عن مواصفات الحاسوب، فيمكن استعمال أي حاسوب بدايةً وبعدها ستجد نفسك إما مرتاحًا بمواصفاته آنذاك أو تحتاج إلى مواصفات أخرى محددة، وقد تحتاج من البداية إلى وجود بطاقة شاشة منفصلة إن أردت التخصص في مجالات برمجة تتطلب معالجة رسوميات عالية مثل تطوير الألعاب أو محاكاة تطبيقات جوال أثناء تطويرها، وقد تحتاج إلى حاسوب ماك إن أردت تطوير أي شيء يتعلق بأنظمة ماك مثل تطوير تطبيقات iOS وهو حالة خاصة ومحددة فقط بمنتجات ماك. خاتمة أرجو أن أكون قد وفقت في الإجابة على سؤال "كيف تتعلم البرمجة؟" إجابة وافية شاملة في هذا المقال وأرجو أيضًا أن يكون هذا المقال بوصلة ترشدك للسير في الطريق الصحيح نحو تعلم البرمجة. وتذكر أنه بالنسبة لبعض المبرمجين، رحلة البرمجة لا تنتهي، فهنالك دومًا أشياء جديدة يمكن تعلمها وتطبيقها! وفي نهاية المقال، أحيلك لقراءة المقالات التالية المرجعية بعده التي تدور في فلك تعلم البرمجة ولكن قبل ذلك، قم وخذ قسطًا من الراحة! ملاحظة: كُتب هذا المقال سابقًا عام 2015 وقد جرى تعديله وتحديث محتواه لاحقًا. اقرأ أيضًا المدخل الشامل لتعلم علوم الحاسوب تعلم بايثون تعلم PHP فوائد تعلم البرمجة دليلك الشامل إلى أنواع البيانات تعلم لغة HTML أسهل لغات البرمجة البرمجة باستخدام سكراتش Scratch
    1 نقطة
  2. مقدّمة نظام أسماء الّنطاقات، بالإنجليزية Domain Name System ويُختصَر ب DNS، هو أحد أكثر مجالات إعداد المواقع والخواديم صعوبةً على المتعلمين. فهْم آلية عمل نظام أسماء النطاقات سيُساعدك في تشخيص مشاكل إعدادات النفاذ إلى مواقعك؛ كما أنه يمنحك فرصة التعمق في فهم كيف تجري الأمور خلف الكواليس. سنتطرّق في هذا الدّليل إلى بعض المفاهيم الأساسية لنظام أسماء النّطاقات بحيثُ تُصبح جاهزا للعمل على إعدادات DNS لديك. يُفترَض - بعد قراءة هذا الدّليل - أن تكون لديك القدرة على إعداد اسم النطاق Domain name الذي تمتلكه على DigitalOcean أو ضبط خادومك الخاص لتشغيل DNS. فلنبدأ بتعريف بعض المفاهيم الأساسية حول كيف يعمل النظام، قبل الشروع في إعداد خواديمك الخاصة لحل نطاقك أو ضبط نطاقاتنا في لوحة التحكّم. مُصطلحات النطاق يجب أولا البدء بتعريف المصطلحات التي سنستخدمها؛ فبالرغم من أن بعض المواضيع تبدو مألوفة في أُطُر مُغايِرة، إلا أن الكثير من العبارات المُستخدمة في إطار الحديث عن أسماء النطاقات ونظام DNS لا تظهر بكثرة أثناء التطرق لمجالات أخرى من الحوسبة. فلنبدأ بالأبسط. نظام أسماء النطاقات نظام أسماء النطاقات المعروف اختصارًا ب"DNS" هو نظام التشبيك المُستخدَم لتحويل أسماء سهلة التذكّر إلى عناوين فريدة. اسم النّطاق اسم النّطاق هو الاسم سهل التذكر المستخدَم للرّبط بمورد على شبكة الإنترنت. على سبيل المثال، "google.com" اسمُ نطاق. سيقول بعض الأشخاص إن الجزء "google" هو اسم النطاق؛ ولكن يُمكننا على العموم الحديث على الصيغة المركّبة، أي "google.com" باعتبارها اسمَ النطاق. المَسار "google.com" مرتبِط بالخواديم المملوكة لشركة Google. نظام أسماء النطاقات يُتيح لنا إمكانية الوصول إلى خواديم Google عند كتابة "google.com" في شريط عناوين المتصفّح. عنوان IP عنوانIP هو ما نُسمّيه موقعا قابلا للعنونة على الشّبكة. كل عنوان IP يجب أن يكون فريدًا في شبكته. عند الحديث عن مواقع الوب فإن هذه الشبكة تشمل الإنترنت بأكملها. الإصدار الرّابع من عناوين IP - الأكثر استخدامًا والذي يُرمز له بIPv4 يُكتَب على شكل أربع مجموعات من الأعداد، تحوي كل مجموعة ثلاثة أرقام على الأكثر ويُفصَل بين المجموعات الأربع بنقطة. على سبيل المثال فإن "111.222.111.222" يمكن أن يكون عنوانَ IP صالحًا. نظام DNS يُترجِم اسمًا إلى هذا العنوان. بهذه الطّريقة لن تحتاج إلى حفظ مجموعة معقّدة من اﻷرقام لكل موقع توَدّ زيارته على الشبكة. النطاق ذو المستوى العلوي Top-Level Domain النطاق ذو المستوى العلوي (النطاق العلوي)، TLD اختصارًا، هو الجزء الأكثر شمولية من النطاق. النطاق العلوي هو القسم الموجود في أقصى يمين اسم النطاق (يُفصَل بين أجزاء اسم النطاق بنقطة). النطاقات العلوية المشهورة هي: "com"، و"net"، و"org"، و"gov"، و"edu"، و"io". توجد النطاقات العلوية في أعلى التسلسل الهرمي لأسماء النطاقات؛ حيث تَمنح منظمة Internet Corporation for Assigned Names and Numbers (ICANN) - المختصّة بتوزيع عناوين IP وأسماء النطاقات - لبعض الجهات صلاحية التحكم بإدارة نطاقات علوية. يُمكن لهذه الجهات بعد ذلك توزيع أسماء نطاقات تابعة للنطاق العلوي الذي تديرُه، عن طريق مسجّل نطاقات Domain registrar عادةً. المُضيف Host لدى مالك النطاق القدرة على تعريف عدة مُضيفات داخل نطاقه. يُشير المُضيف إلى حاسوب أو خدمة مستقلة يُمكن الوصول إليها عن طريق النطاق. على سبيل المثال، يُتيح معظم أصحاب النطاقات إمكانية الوصول إلى خواديم الوب الخاصة بهم عن طريق النطاق "الحاسِر" example.com إضافة إلى تعريف المُضيف "www" (مثال: www.example.com). يمكنك تعريف عدة مُضيفات أخرى داخل النطاق العام؛ فتَمنح الوصول إلى واجهة لبرمجة التطبيقات API عن طريق المُضيف "api" (api.example.com)، أو تعطِي إمكانية استخدام بروتوكول نقل الملفات FTP عن طريق تعريف مُضيف باسم "ftp" أو "files" (ftp.example.com أو files.example.com). لا يوجد تقييد على طول اسم المُضيف، التقييد الوحيد هو أن يكون فريدًا داخل النطاق. النطاق الفرعي SubDomain تحدثنا عن المُضيف في الفقرة السّابقة، في هذه الفقرة سنتطرّق لمفهوم ذي صلة به: النطاق الفرعي. يعمل نظام DNS حسب تسلسل هرمي تتبع فيه عدة نطاقات للنطاقات العلوية. على سبيل المثال فإن النطاقين "google.com" و"ubuntu.com" يندرجان تحت النطاق العلوي "com". عند الحديث عن نطاق فرعي فالمقصود هو أي نطاق يُشكِّل جزءًا من نطاق أكبر. في المثال الذي ذكرناه يمكننا القول بأن "ubuntu.com" هو نطاق فرعي من "com". إجمالاً فإن"ubuntu.com" يُسمّى نطاقا، وبشكل أكثر تحديدًا فإن جزئية "ubuntu" تسمّى نطاقا من المستوى الثاني Second Level Domain، وتُختصَرب SLD. إضافةً إلى ذلك، يمكن لكل نطاق التحكم في نطاقات تتبع له. هذه النطاقات هي ما يُطلق عليه نطاقات فرعية. على سبيل المثال يُمكنك إنشاء نطاق فرعي لقسم التاريخ في مدرستك www.history.school.edu. جزئية "history" هي النطاق الفرعي (على اعتبار أن school.edu هو النطاق التابع للمدرسة). الفرق بين المُضيف والنطاق الفرعي هو أن المُضيف يُعرّف حاسوبًا أو خدمة، في حين أن النطاق الفرعي يُمدِّد النطاق الأب؛ أي أنه طريقة لتقسيم النطاق نفسِه. يُمكن ملاحظة أن الجزء الموجود في أقصى يسارِ اسم النطاق، سواء تعلّق الأمر بمُضيف أو نطاق فرعي، هو الأكثر تحديدًا؛ هذه هي طريقة عمل نظام DNS: من الأكثر إلى الأقل تحديدًا، باتجاه القراءة من اليسار إلى اليمين. اسم النطاق المعرَّف بالكامل Fully Qualified Domain Name اسم نطاق معرَّف بالكامل، FQDN اختصارًا، هو ما يُطلق عليه اسم نطاق مُطلَق. في نظام DNS يُمكن إعطاء اسم نطاق بالنسبة إلى نطاق آخر، وهو ما قد يؤدي إلى بعض الالتباس. اسم النطاق المعرَّف بالكامل FQDN هو اسم مُطلق يحدّد النطاق انطلاقًا من أصل نظام أسماء النطاقات. يعني هذا أن FQDN يُحدد أسماء كل النطاقات التي يتفرّع منها النطاق بما فيها النطاق العلوي TLD. ينتهي اسمُ النطاق المعرَّف بالكامل بنقطة تُشير إلى النقطة الأعلى في التسلسل الهرمي لنظام DNS. النطاق ".mail.google.com" هو نطاق معرَّف بالكامل. النقطة الأخيرة غير ضرورية في بعض البرمجيات التي تتعامل مع FQDN؛ ولكنها مطلوبة للتوافق مع معايير ICANN. خادوم الأسماء Name server خادوم الأسماء هو حاسوب مخصَّص لترجمة أسماء النطاقات إلى عناوين IP. تقوم هذه الخواديم بالجزء الأكبر من العمل في نظام DNS. بما أن مجموع عمليات الترجمة من أسماء نطاقات إلى عناوين IP أكثر بكثير من أن يقوم به خادوم أسماء واحد فإن كل واحد من هذه الخواديم يُمكن أن يُعيد توجيه الطّلبات التي تصله إلى خواديم أخرى أو أن يُفوِّض إدارة مجموعة من النطاقات الفرعية التي هو مسؤول عنها. خواديم الأسماء يمكن أن تكون "ذات سلطة" Authoritative، بمعنى أنها تعطي إجابات عن نطاقات تقع ضمن مسؤوليتها. ما عدا ذلك فإنها تُشير إلى خواديم أخرى أو تُجيب بنسخ تخبِّئها من بيانات خواديم أسماء أخرى. ملف النطاق Zone file ملف النطاق هو ملف نصي بسيط يحوي الترجمات بين أسماء النطاقات وعناوين IP؛ هذه هي الوسيلة التي يعرِف عن طريقها نظام DNS أي عنوان IP يجب الاتصال به عند طلب اسم نطاق معيَّن. توجد ملفات النطاق لدى خواديم الأسماء، وتعرِّف عموما الموارد المتاحة في نطاق محدَّد أو المكان الذي يجب البحث فيه للحصول على هذه المعلومة. السّجلّات Records يُخزّن ملف النطاق المعلومات ضمن سجلات. في شكله الأبسط، السجل هو ترجمة وحيدة لمورِد (مضيف أو نطاق فرعي) واسْم. يُمكن أن يكون السّجل ترجمة لاسم نطاق إلى عنوان IP، أو تعريفًا لخواديم الأسماء المسؤولة عن نطاق، أو تعيينًا لخواديم بريد النطاق، ... إلخ. كيف يعمل نظام أسماء النّطاقات بعد الاطّلاع على بعض المُصطلحات المستخدمة في نظام DNS، سنتطرّق للسؤال: كيف يعمل فعلًا نظام DNS؟ يبدو النظام سهلًا للغاية عند إلقاء نظرة عامة عليه، ولكنه يصبح معقَّدًا جدًا عند الدّخول في التفاصيل. مع ذلك يبقى إجمالًا بنيةًً تحتيةً موثوقا بها، كان لها دور رئيس في تبني الإنترنت بالشكل الذي نعرفها به اليوم. خواديم الجذرRoot servers نظام DNS - كما ذكرنا سابِقًا - مُصمّم ليعمل حسب تسلسل هرمي. في أعلى هذا التسلسل يوجد ما يُعرف بخواديم الجذر. تُشغَّل هذه الخواديم من طرف عدّة منظمات، بتفويض من ICANN. يعمل في الوقت الحالي 13 خادومًا جذرًا.. من ناحية ثانية ونظرًا للعدد الهائل من طلبات ترجمات النطاقات في كل دقيقة، فإن كل واحد من هذه الخواديم معكوس mirrored (جميع العمليات والبيانات مكرّرة على خواديم أخرى).يشترك كل خادوم جذرفي نفس عنوان IP مع خواديمه المعكوسة. عند طلب أحد خواديم الجذر يُمرَّر الطّلب إلى مرآة Mirrorخادوم الجذر الأقرب من المُرِسل. ما العمل الذي تقوم به خواديم الجذر؟ تتعامل خواديم الجذر مع طلبات المعلومات عن نطاقات المستوى العلوي، فعند وصول طلب لا يُمكن لخادوم أسماء من مستوى أدنى التعامل معه؛ يُرسَل طلب إلى خادوم جذر للاستفسار عن النطاق. في الواقع لن يعرف الخادوم الجذر أين يُستضَاف النطاق محل الطّلب، ولكنه يستطيع إعادة توجيه مُرسِل الطّلب Requester إلى خواديم الأسماء التي تتعامل مع النطاق ذي المستوى العلوي المطلوب. في المحصّلة: عند إرسال طلب لعنوان "www.wikipedia.org" إلى خادوم جذر فإنه سيُجيب بعدم توفر نتائج في سجلاته تُوافق "www.wikipedia.org" وذلك بعد بحث في ملفات النطاق التي يحتفظ بها؛ ولكنه سيجد سجلًا للنطاق العلوي "org" ويُعطي لمُرسِل الطّلب عنوانَ خادوم الأسماء المسؤول عن عناوين "org". خواديم النّطاقات العليا TLD Servers بعدها يقوم مُرسِل الطّلب بتوجيه طلب جديد إلى عنوان خادوم الأسماء الذي زوّده به الخادوم الجذر. خادوم الأسماء هذا هو المسؤول عن النطاق العلوي الموجود في الطّلب. يقوم المرسِل بعدها ببعث طلب إلى خادوم الأسماء المسؤول عن النطاق العلوي "org" لسؤاله ما هو عنوان "www.wikipedia.org". يجيب خادوم الأسماء - بعد بحث عن "www.wikipedia.org" في ملفات النطاق الخاصة به - بعدم وجود هذا النطاق في ملفاته. غير أنه يعثر على السجل الذي يحوي اسم الخادوم المسؤول عن النطاق "wikipedia.org". لقد اقتربنا كثيرًا من الإجابة التي نبحث عنها. خواديم الأسماء على مستوى النّطاق Domain-Level name server حصل مُرسِل الطّلب الآن على عنوان IP الخاص بخادوم الأسماء المسؤول عن معرفة العنوان الفعلي للهدف. من جديد، يبعث مُرسِل الطلب إلى خادوم الأسماء لسؤاله إن كان يستطيع ترجمة "www.wikipedia.org" إلى عنوان IP. يبحث خادوم الأسماء على مستوى النطاق في ملفات النطاق لديه ويعثر على ملف نطاق يتعلق ب"wikipedia.org". داخل هذا الملف يوجد سجل عن مُضيف باسم "www". في هذا السّجل يوجد عنوان IP الذي يقع عليه المضيف. يبعث خادوم الأسماء بالإجابة النهائية إلى مُرسِل الطلب. ما هو خادوم الأسماء الحالّ Resolving name server؟ في السيناريو أعلاه تحدثنا عن "مُرسِل طلب". ما المقصود ب"مرسِل الطلب" في هذه الحالة؟ مرسِل الطّلب هو في الغالب ما نسميه "خادوم أسماء حالّ" Resolving name server. خادوم أسماء حالّ هو خادوم مُعَد لإرسال الطّلبات إلى خواديم أسماء أخرى؛ أي أنه في الأساس وسيط يلجأ إليه المستخدِم. هذا الوسيط يُخبِّئ نتائجَ طلبات سابقة لتحسين سرعة الإجابة، كما أنه يعرف عناوين خواديم الجذر مما يمكّنه من "حل" resolving الطّلبات التي ليست لديه معرفة بنتائجها. يوجد لدى المستخدم غالبًا عدة خواديم أسماء حالّة مضبوطة، آليًا أو يدويًا، في نظام التشغيل لديه. يوفّر مزوّدو خدمة الإنترنت Internet Service Profider, ISP عادة خواديم أسماء حالّة. بعض المنظمات الأخرى تقوم بنفس الشيء. Google على سبيل المثال تُقدّم خواديم DNS حالّة يُمكنك إرسال الطلبات إليها. أول ما يقوم به حاسوبك عند إدخال مسار في شريط العنواين على المتصفّح هو البحث في الموارد المحلّية لديه؛ فيتحقق من ملف المضيفات Hosts المحلّي وأماكن أخرى على جهازك. في حال عدم الحصول على إجابة يُرسل طلبًا إلى خادوم أسماء حالّ وينتظر عنوان IP المورِد الذي يبحث عنه. يقوم خادوم الأسماءالحالّ بعدها بالنظر في البيانات المخبَّأة لديه بحثًا عن إجابة وإن لم يجدها يتبع الخطوات التي ذكرناها أعلاه. عمل خواديم الأسماء الحالّة هو في الأساس اختصار آلية الطّلب للمستخدمين النهائيين. كل ما على هؤلاء معرفته هو طريقة سؤال خواديم الأسماء الحالّة عن عنوان مورِد والتأكد من أن خادوم الأسماء الحالّ سيبحث ويعود لهم بالإجابة. ملفّات النطاق تطرّقنا في آلية العمل المذكورة أعلاه إلى "ملفات النطاق" و"السجلّات". ملفات النطاق هي الوسيلة التي تستخدمها خواديم الأسماء لتخزين معلومات النطاقات التي تعرفها. كل نطاق يعرف خادومُ الأسماء معلوماتٍ عنه مخزَّن في ملف نطاق. أغلب الطلبات التي تأتي لخادوم أسماء تبحث عن نطاقات لا يملك ملفات نطاق تخزِّن معلومات عنها. إذا كان خادوم الأسماء مضبوطًا للتعامل مع الاستعلامات بطريقة تكرارية Recursive - مثل خادوم أسماء حالّ - فإنه سيعثُر على الإجابة ويُرسلها لصاحب الاستعلام. أما إن لم يكن كذلك فإنه سيُخبِر صاحب الاستعلام بالجهة التالية التي يجب عليه البحث لديها. تتناسب قدرة خادوم الأسماء على الإجابة على الطّلبات طردًا مع ملفات النطاق التي يُخزنها: ملفات نطاق أكثر تعني قدرة أكبر على الإجابة على الطّلبات بنطاقات تقع تحت مسؤولية الخادوم. يصف ملف النطاق "منطقة" من نظام DNS؛ أي مجموعة فرعية من كامل نظام الأسماء DNS، ويُستخدم عادةً لضبط نطاق واحد فقط حيث يمكن أن يحوي مجموعة من السجلّات تعرّف بمواقع موارد النطاق محل التعريف. يعرّف المُعطى Parameter $ORIGIN افتراضيًا المُستوى الأعلى لسلطة ملف النطاق. لنأخذ مثالًا لملف نطاق مُستخدَم لإعداد النطاق "example.com". في هذا المثال ORIGIN$ سيكون مضبوطًا على ".example.com". هذا الإعداد إما أن يكون في أعلى ملف النّطاق أو في ملف إعداد خادوم DNS الذي يُحيل إلى ملف النطاق. في كلتا الحالتين فالمُعطى يصف المنطقة التي ستكون لديه السلطة عليها. بشكل مشابِه، المُعطى TTL$ يضبط "عُمر" Time to live المعلومة التي يوفرها ملف النطاق. هذا المُعطى هو مؤقِّت يُمكن لخادوم أسماء يستعمل التخبئة Caching الاستعانة به للإجابة على طلبات سبق له الحصول على نتائجها دون إعادة البحث وذلك حتى انقضاء قيمة TTL. أنواع السجلّات يمكن أن توجد عدة أنواع من السجلّات في ملف النّطاق. في ما يلي سنستعرض بعض الأنواع الشّائعة (أو الإلزامية). سجلاّت بداية السّلطة Start of Authority سجل بداية السلطة، SOA اختصارًا، هو سجل إلزامي في كل ملفات النطاق. يجب أن يكون أولَ سجل فعلي في الملف (يُمكن لكل من ORIGIN$ و TTL$ أن يسبقه في الملف)، كما أنه الأكثر تعقيدًا. يأخذ سجل SOA الشكل التالي: domain.com. IN SOA ns1.domain.com. admin.domain.com. ( 12083 ; serial number 3h ; refresh interval 30m ; retry interval 3w ; expiry period 1h ; negative TTL ) فلنشرح دلالة كل جزء من السجل: .domain.com: هذا هو المستوى الأعلى في النطاق (جذر النطاق). يعني هذا الجزء أن الملف يتعلق بالنطاق .domain.com؛ قد تجد مكانه علامة @ التي هي مجرَّد ماسك مكان Placeholder يحل محل محتوى المُعطَى ORIGIN$ الذي تحدّثنا عنه سابقًا. IN SOA: تعني IN هنا إنترنت (ستتكرّر في عدة سجلّات)، أما SOA فيُشير لنوعية السجل (بداية سلطة). .ns1.domain.com: هنا نعرِّف خادوم الأسماء الرئيس الأولي للنطاق. خواديم الأسماء إما أن تكون رئيسة Master أو تابِعة Slave. إذا كان نظام DNS معدًّا ليعمل ديناميكا (تحديث السجلات يتم دون تدخل يدوي)- كما هي الحال هنا - فيجب أن يوجد خادوم "رئيس أولي" Primary master. في حال عدم ضبط DNS للعمل بشكل ديناميكي فهذا الخادوم هو أحد خواديم الأسماء الرئيسة. .admin.domain.com: عنوان البريد الإلكتروني للمسؤول عن النطاق. هنا أُبدِلت علامة "@" بنقطة في العنوان البريدي (admin@domain.com). إذا كان العنوان البريدي يحوي نقطة فيجب إبدالها ب"\" (your.name@domain.com تُصبح your\name.domain.com). 12083: هذا هو الرقم التسلسلي Serial number لملف النطاق. يجب زيادة هذا الرقم في كل مرّة يُعدَّل فيها على ملف النطاق حتى ينتشر ملف النطاق بشكل صحيح، حيثُ إن الخواديم التابعة تتحقق ما إذا كان الرقم التسلسلي الموجود في ملف النطاق لدى الخادوم الرئيس أكبرَ من الرّقم التسلسلي الموجود لديها. إن كان الأمر كذلك فإنها تطلب ملف النطاق الجديد وإلا تستمر في استخدام الملف الموجود لديها. 3h: فترة التجديد Refresh interval باالنسبة للنطاق (3 ساعات في المثال)، أي المدة الزمنية التي يقضيها الخادوم التابِع قبل إرسال استفسار إلى الخادوم الرّئيس عن تغييرات على ملف النطاق. 30m: فترة إعادة المحاولة Retry interval باالنسبة للنطاق (30 دقيقة في المثال هنا). في حال عدم قدرة الخادوم التابع على الاتصال بالخادوم الرئيس عند انقضاء فترة التجديد فإنه ينتظر مدةً مساوية لفترة إعادة المحاولة قبل إعادة محاولة الاتصال. 3w: مدة انتهاء الصلاحية Expiry period. إن لم يستطع الخادوم التابِع الاتصال بالخادوم الرئيس خلال هذه المدة (في المثال هنا 3 أسابيع) فإنه يتوقّف عن إرسال إجابات تتعلَّق بهذا النطاق. 1h: عمر المعلومة السّالب Negative TTL. مُماثل لمعطى TTL$ الذي تحدّثنا عنه مع فرق أنه يُلجأ إليه في حال عدم وجود المعلومة المبحوث عنها. بمعنى أخر: عند وصول طلب عن عنوان اسم غير موجود في الملف لدى الخادزم والإجابة أنه غير موجود فإن أي طلب عن الاسم مجدّدا سيُرد عليه بأنه غير موجود وذلك مدة ساعة (في المثال هنا) قبل البحث عنه مرة أخرى. ملحوظة: النص الموجود بعد النقطة-الفاصلة ";" على نفس السطر تعليق ولا يدخُل في إطار الإعدادات. سجلات A و AAAA يستعمل السّجلّان A و AAAA لتعيين مضيف إلى عنوان IP. يُستخدَم السجل "A" لتعيين مضيف إلى عنوان IP من الإصدار الرابع IPv4 بينما يُستخدَم السجل "AAAA" لتعيين مضيف إلى عنوان IP من الإصدار السّادس IPv6. تأتي الهيئة العامة لهذه السجلات على الشكل التالي: host IN A IPv4_address host IN AAAA IPv6_address رأينا أن السجل SOA يستدعي خادومًا رئيسًا أوليًا باسم "ns1.domain.com"؛ سيتوجّب علينا إذن تعيين عنوان IP ل"ns1.domain.com" نظرًا لأنه يقع ضمن النطاق الذي يُعرِّفه هذا الملف. يأخذ هذا السجل الشكل التالي: ns1 IN A 111.222.111.222 لاحِظ أنه لا يتوجَّب علينا هنا ذكر اسم النطاق كامِلًا، يكفينا ذكر اسم المُضيف فقط دون اسم النّطاق المعرَّف بالكامل (FQDN) وسيُكمل خادوم الأسماء الباقي عن طريق قيمة المُعطى ORIGIN$. مع ذلك يُمكننا استخدام FQDN إذا ارتأينا أن لذلك دلالة أكبر: ns1.domain.com. IN A 111.222.111.222 في الغالب هذا هو المكان الذي سنعرّف فيه خادوم الوب "www": www IN A 222.222.222.222 ستوجب علينا أيضًا ذكر العنوان الذي يُحيل إليه النطاق الأصلي، كما يلي: domain.com. IN A 222.222.222.222 كما يُمكن استخدم علامة "@" لتحل محل اسم النطاق الأصلي (domain.com): @ IN A 222.222.222.222 يوجد أيضًا خيار "*" لتعيين أي شيء يقع في النطاق - ولم يُذكَر تعريفه في الملف - إلى عنوان IP محدّد (خادوم الوب في مثالنا هنا): * IN A 222.222.222.222 كل ما ذُكِر في الفقرات السابقة يعمل بالنسبة للإصدار السادس من عناوين IP (IPv6) مع إبدال A بAAAA. سجلّات CNAME السجلّات من نوع CNAME تُعرِّف كُنية Alias للاسم المُتعارَف عليه Canonical name لخادومك (الأسماء المُعرَّفة في سجلات A أو AAAA). على سبيل المثال، يُمكّننا سجل A من تعريف مُضيف باسم "server1" ثم استخدام كُنية "www" للإحالة لهذا المُضيف: server1 IN A 111.111.111.111 www IN CNAME server1 من الجيّد الانتباه إلى أن استخدام الكُنيات يؤدي إلى التقليل من الأداء نظرًا لأنها تحتاج إلى استعلام إضافي إلى الخادوم. يُمكِن الحصول على نفس النتيجة - في الغالب - عن طريق إضافة سجلات من نوع A أو AAAA. الحالة التي يُنصَح فيها بسجل من نوع CNAME هي إتاحة كُنية لمورِد خارج النطاق الحالي. سجلّات MX تُستَخدم سجلّات MX (اختصار ل Mail eXchange، تبادُل البريد) لتعريف تعاملات البريد الإلكتروني داخل النّطاق. يُساعد هذا الأمر على وصول الرسائل إلى خادوم البريد بشكل صحيح. عكسَ الأنواع اﻷخرى، لا تُعيِّن السجلّات من نوع MX غالبًا مُضيفًا إلى شيء آخر (عنوان IP أو سجل). السّبب أن تعريفها ينطبق على كامل النّطاق. على هذا الأساس تأخذ غالبًا الشكل التالي: IN MX 10 mail.domain.com. لاحِظ ألّا وجودَ لاسم مضيف في بداية السّجل. لاحِظ أيضًا وجود رقم إضافي في السّجل. يُستخدم هذا الرّقم للمفاضلة بين خواديم البريد في حال وجود العديد منها. الأرقام الأدنى لديها أولوية أكبر. يجب أن يُشير سجل MX - في الحالة العامة - إلى مضيف مُعرَّف عن طريق سجل A أو AAAA، لا سجل CNAME. إذا كان لدينا خادوما بريد فإن تعريف السجلاّت سيكون على النحو التالي: IN MX 10 mail1.domain.com. IN MX 50 mail2.domain.com. mail1 IN A 111.111.111.111 mail2 IN A 222.222.222.222 في هذا المثال، المُضيف "mail1" هو المُفضَّل كخادوم لتبادل البريد الإلكتروني. الكتابة التالية مكافئة للكتابة السّابقة : IN MX 10 mail1 IN MX 50 mail2 mail1 IN A 111.111.111.111 mail2 IN A 222.222.222.222 سجلّات NS تُعرِّف السجلّات من نوع NS (اختصار لName Server، خادوم الأسماء) خواديم الأسماء المُستخدمة في النطاق. قد تطرح السؤال "إذا كان ملف النطاق موجودًا على خادوم الأسماء فلماذا يحتاج الخادوم لتعريف نفسه؟". أحد العناصر المهمة وراء نجاح نظام DNS هو المستويات المتعدّدة للتخبئة في هذا النظام. بالنسبة لتعريف خادوم الأسماء في ملف النطاق فأحد الأسباب هو أن هذا الملف قد يكون معروضًا من نسخة مخبَّأة موجودة على خادوم أسماء آخر. توجد أسباب أخرى لتعريف خادوم الأسماء في ملف النطاق الموجود عليه ولكن نكتفي بالسبب المذكور دون الدّخول في التفاصيل. مثل السجلّات من نوع MX، ينطبق تعريف سجلّات NS على كامل النّطاق، لذا لا تظهر أسماء مضيفات في هذا السجّل. الشكل العام لسجل NS هو كالتالي: IN NS ns1.domain.com. IN NS ns2.domain.com. ينبغي وجود خادومَيْ أسماء على الأقل معرَّفيْن في كل ملف نطاق حتى يعمل النظام بشكل صحيح في حال حصول مشكل مع أحد الخادوميْن. تعتبرأغلب برامج خواديم DNS ملف النطاق غيرَ صالح إذا كان يعرف خادوم أسماء واحدًا فقط. كالعادة، ضمِّن تعيين المضيفات عبر سجلّات A أو AAAA: IN NS ns1.domain.com. IN NS ns2.domain.com. ns1 IN A 111.222.111.111 ns2 IN A 123.211.111.233 توجد أنواع سجلّات أخرى عديدة يُمكنك استخدامُها، ولكن الأنواع التي تحدّثنا عنها أعلاه هي الأكثر شيوعًا من بين ما سيُصادفك. خاتمة من المفروض أن يكون لديك الآن إدراك جيّد لكيفية عمل نظام DNS. على الرّغم من أن الفكرة العامة للنظام سهلة الفهم نسبيا لمن ألِف طريقة عمله، إلا أنها تبقى أمرًا يواجه مديرو الأنظمة - من غير ذوي الخبرة - بعضَ الصّعوبة في تنفيذه. ترجمة -وبتصرّف- للمقال: An Introduction to DNS Terminology, Components, and Concepts
    1 نقطة
  3. تعلم لغات البرمجة لا يعني تعلم البرمجة لغات البرمجة هي مجرد ادوات لتنفيذ مايفكر به المبرمج اذا اردتي تعلم البرمجة يجب ان تدرسي وتدركي اهمية هياكل البيانات (data structures) و الالجوريزمز (Algorithms) وتتعلمي كيفية استخدامهم ويوجد العديد من الكورسات للالجوريزمز و هياكل البيانات علي اليوتيوب باللغة العربية
    1 نقطة
  4. لا تخفى أهمية شبكات التواصل الاجتماعي في التسويق على المسوّق الذكي. ولكي تتكامل جهودك في التسويق لا بدّ لك من التعامل مع التحليلات لمعرفة فيما إذا كانت استراتيجيتك التسويقية ناجحة، وتتعلم أيّ الأساليب التي ينبغي لك تكرارها وأيّها التي ينبغي تجنبها. في هذا المقال سنلقي نظرة على الأمور المهمة في Facebook Insights و Twitter Analytics وما الذي يمكن تعلّمه منها. Facebook Insightsتُعتبر Facebook Insights الأكثر تعقيدا عندما يتعلق الأمر بالتحليلات. وبالرغم من أنّ تحليلات جوجل هي من الأدوات الأكثر تميّزا في هذا المجال، ألا أنّ فيس بوك يوفر لك كمّا كبيرا من المعلومات. من الجدير بالذكر أنّه عندما يتعلّق الأمر بأرقام فيس بوك، هناك أمران يجب أن تركّز عليهما: الأول هو النمو الكلي لصفحتك؛ أي عدد تسجيلات الإعجاب likes للصفحة. والثاني هو مستوى التفاعل مع المنشور؛ أي ما هي المنشورات التي تحصل على الإعجاب، المشاركات shares، والتعليقات comments وما هو عددها. من المهم أن يؤخذ كلا المقياسين في الاعتبار. إذ لا تُعتبر الصفحة التي لا يتم التفاعل مع منشوراتها ناجحة حتى لو بلغ عدد الإعجابات 10.000. يوفر فيس بوك ست فئات من الإحصائيات: Overview (نظرة عامة)Likes (تسجيلات الإعجاب)Reach (الوصول)Visits (الزيارات)Posts (المنشورات)People (الأشخاص)لنفصّل كلّ من هذه الفئات: Overview في هذا القسم تتوفر لمحة سريعة عن أداء الصفحة خلال آخر سبعة أيام. إذ تتوفر معلومات عن النمو الإجمالي للإعجابات، الوصول، والتفاعل engagement. Page Likes في هذا القسم يتم تفصيل النمو الإجمالي من حيث تسجيلات الإعجاب. وفيه يعرض النمو الكلي على المدى البعيد (خلال الشهر الماضي)، وعلى المدى القريب (الإعجاب وإلغاء الإعجاب unlikes خلال الأسبوع الماضي وعددها في اليوم الواحد). كما تعرض إحصائيات حول موضع تسجيل الإعجاب؛ هل هي على صفحتك، على منشوراتك، على الهاتف المحمول، أو على منشورات شخص آخر. ما الذي يمكن أن تتعلمه من هذه المعلومات؟ يمكنك أن تستفيد من المخطط لرؤية القمم حيث تزداد تسجيلات الإعجاب أو إلغاء الإعجاب، ومن ثم الرجوع إلى نوع المنشورات التي نُشرت في تلك الأيام. وفي هذا إشارة إلى المنشورات الناجحة أو غير الناجحة (في حالة إلغاء الإعجاب). Reach أصبح الوصول إلى المنشورات محدودا بسبب خوارزمية فيس بوك EdgeRank. مع ذلك، بإمكانك زيادة الوصول إلى المنشور إذا كان يحصل على إعجابات، تعليقات، ومشاركا؛ فكلما زاد التفاعل، زاد الوصول. ما الذي يمكنك أن تتعلمه من معلومات الوصول؟ انظر إلى القمم في المخطط البياني. لاحظ وجود قمتين في المخطط أعلاه؛ الأولى في البداية والثانية في النهاية. ارجع إلى المنشورات في التواريخ عند تلك القمم لمعرفة سبب شعبيتها، ومن ثم حاول إعادة إنشاء منشورات مماثلة وراقب إذا كانت تحصل على نفس النتيجة. Visits تُعرض في مخطط الزيارات التبويبات tabs التي يزورها الناس أثناء تواجدهم على صفحتك (مثل تبويب المعلومات، تبويب الصور، إلخ). لا يهمني هذا المخطط بقدر ما يهمني المخطط الآخر الذي يعرض مصدر الإحالة لتدفق الصفحة. لاحظ في المخطط أعلاه أنّ أغلب التدفق يأتي من موقعي، لكنّ بعضه يأتي من جوجل أيضا. ما الذي تتعلمه من هذا المخطط؟ يمكن أن يساعدك تحديث صفحتك على فيس بوك باستمرار (على الأقل مرة واحدة في اليوم) في تهيئتها لمحركات البحث (جوجل على وجه الخصوص). Posts أقضي معظم وقتي في هذا القسم، وهناك درسان مهمان نتعلّمهما من هذه الإحصائيات. الأول: ما هي أفضل الأوقات في اليوم للنشر على الصفحة؟ والثاني: أي نوع من المنشورات هو الذي يحصل على التفاعل؟ ما الذي يمكن تعلمه من هذه المعلومات؟ تُشير المخططات إلى أنّ أغلب القرّاء على صفحتي يتواجدون على الإنترنت وينشطون في الساعة الرابعة مساءً، وبذلك أعرف أنّه يجب أن أنشر في هذا الوقت أو أوقات قريبة منه للحصول على التفاعل. في المخطط الذي يلي مخطط أوقات تواجد المعجبين يتم تفصيل كل منشور على حدة وعرض مقدار الوصول الذي حصل عليه المنشور، أي نوع من المنشورات كان، بالإضافة إلى مقدار التفاعل الذي حصل عليه. ابحث عن القمم في المخطط وحاول تكرار هذا النجاح. People عندما تقوم بالتسجيل للحصول على حساب فيس بوك تقوم بإدخال قدر من المعلومات الشخصية، وبذلك يصبح فيس بوك قادرا على معرفة التركيبة السكانية demographics للأشخاص الذين يسجلون الإعجاب بصفحتك. يمكنك معرفة جنس المعجبين (ذكور/إناث)، ما هي أعمارهم، أين يعيشون، وما هي اللغات التي يتحدثونها. ما الذي يمكن أن تتعلمه؟ ملائمة وسط المعجبين مع رسالتك. إذا كان منتجك/خدمتك تستهدف الأشخاص بعمر 18 سنة وكانت أغلبية جمهورك على فيس بوك بأعمار أكبر من 45 سنة، فهذه مشكلة. كيف يمكنك أن تجعل صفحتك تتماشى مع التركيبة السكانية التي تستهدفها؟ بإمكانك أيضا تنزيل جدول بيانات اكسل مفصل بكل البيانات الخاصة بصفحتك إذا كنت ترغب في فهم دقيق جدا للإحصائيات. إحصائيات تويترلا أخفيكم أننّي أحب تويتر لأن الوصول فيه ما يزال مفتوح تماما (على عكس فيس بوك) ويتيح الوصول إلى الملايين من الأشخاص الرائعين. تكون استراتيجيتي في التسويق على تويتر مضاعفة. حيث أنّه من المهم جدا أن أقوم بتقديم قيمة للمتابعين من خلال حسابي، ولذلك أقوم بنشر نصائح وأفكار مفيدة حول شبكات التواصل الاجتماعي، وكذلك الوصفات اللذيذة التي أصادفها. بالإضافة إلى ذلك أحاول التفاعل مع المتابعين على تويتر قدر الإمكان. التفاعل مهم جدا، فلو زرت صفحة أحدهم على تويتر ووجدت أنّ أغلب تغريداته تتمحور حول نفسه، ولا يقوم بنشر تغريدات يوجه فيها الحديث إلى الآخرين، لا أقوم بمتابعته. المحادثات مهمة على تويتر، إذا لم تقم بها، فقد فوّت عليك فرصة الحصول على التفاعل. عندما يتعلق الأمر بتويتر، هناك عدد قليل من الإحصائيات التي يجب تعقبها. يُعتبر تويتر، من حيث التحليلات، أبسط بكثير من الأمور التي اطلعت عليها لحد الآن. العدد الإجمالي للمتابعينهل ينمو هذا العدد؟ لا يُشترط أن يزداد بالآلاف كل يوم، يكفي أن يزيد عدد المتابعين 1 أو 2 إذا كان النمو طبيعيا ومستقرا. سيقوم الناس بمتابعتك إذا كنت تقدم لهم قيمة من خلال التغريدات. جرّب، على سبيل المثال، أن تنشر 10 مرات في اليوم ولاحظ فيما إذا كان عدد المتابعين يزداد أو يقل. جرّب التغريد على وسم hashtag محدّد ولاحظ التغيّر في عدد المتابعين أيضا. الجواب يكمن في الأرقام! إعادة التغريد retweetهل تحصل منشوراتك على إعادة تغريد؟ تُعتبر إعادة التغريد أعلى شكل من أشكال المجاملة، ويقوم الناس بإعادة تغريد المنشورات التي يجدونها قيّمة. إذا كنت تحصل على بعض إعادة التغريد في اليوم الواحد فهذه إشارة جيدة. الإشارات mentions@من الإشارات الجيدة أيضا أن يقوم الناس بالإشارة إليك في محاولة لمحادثتك. وأفترض أنّك تقوم بالإشارة إليهم أيضا. فيما يلي بعض الأدوات التي تساعدك على تعقّب تحليلاتك على تويتر: Twitter’s Analytics: وهذه جديدة نسبيا. لا توفر تحليلات تويتر نظرة عامة حول أداء تغريداتك خلال الشهر الماضي فحسب، وإنما تقوم بتفصيل كل تغريدة على حدة وتعرض عدد الانطباعات impressions التي حصلت عليها، نوع التفاعل (ردود، إعادة تغريد، تفضيل)، بالإضافة إلى معدل التفاعل engagement rate. وهذه الإحصائيات تُعرض بشكل جيد وسهلة القراءة. Twitonomy: من أدوات تحليلات تويتر التي أفضلها كثيرا. تتيح لك هذه الأداة مشاهدة أداء تغريداتك وبتفاصيل دقيقة. وكذلك يمكنك الاطلاع على أداء تغريدات الآخرين على تويتر، ويمكنك الاستفادة من هذه الخاصية لمعرفة ما يقوم به منافسوك، وكيف بإمكانك تحسين منشوراتك على أساس ما يقومون به. تُعرض المعلومات عن أداء تغريداتك بصورة مبسّطة، من ضمنها التغريدات التي تحصل على أكبر عدد من إعادة التغريد، نمو المتابعين، وغيرها. Tweetchup: مشابهة لـ Twitonomy لكنها ليست بجودتها. تتيح هذه الأداة تحليل تغريداتك وتغريدات المستخدمين الآخرين. تُعجبني التقارير التي تقوم Tweetchup بتوليدها، فهي جيدة وسهلة القراءة. Hootsuite: استخدم هذه الأداة بشكل يومي. تتوفر في Hootsuite خاصية توليد تقارير أسبوعية بشكل تلقائي. عيبها الوحيد، لأنها برنامج مجاني، أنّ التقارير محددة بعض الشيء، ما لم تقم بالدفع. ترجمة -وبتصرّف- للمقالين Understanding Analytics #3: Facebook Insights و Understanding Analytics #4: Twitter Analytics لصاحبته: Rebecca Coleman.
    1 نقطة
  5. إنّ أحد أهم الاعتبارات التي يجب أخذها بالحسبان عند تخزين عملنا وبياناتنا في بيئة رقميّة هو كيفيّة التّأكّد من أنّ المعلومات الخاصّة بنا ستكون متاحة في حال وجود مشكلة، قد يعني هذا أشياء مختلفة بالنظر إلى التطبيقات التي نستخدمها، مدى أهميّة الحصول على فشل فوري ونوعية المشاكل التي نتوقّعها. سنقوم في هذا الدّرس بمناقشة بعض الطرق المختلفة لتوفير النسخ الاحتياطي ووفرة البيانات data redundancy، ولأنّ حالات الاستخدام المختلفة تتطلّب حلولًا مختلفة فلن نكون قادرين على إعطاء إجابة تناسب جميع الحالات، ولكن سنتعلّم ما هو الشيء المهم في حالات مختلفة وما هو التّنفيذ implementation (أو التّنفيذات implementations) الأكثر مُلاءَمة لهذه العمليّة. سنناقش في هذا الدرس الحلول المختلفة التي يُمكننا استخدامها للنسخ الاحتياطي والمزايا النسبيّة لكلّ واحدة منها بحيث نستطيع اختيار الخطّة التي تناسب البيئة التي نعمل عليها. ما الفرق بين وفرة البيانات Redundancy والنسخ الاحتياطي Backing Up؟غالبًا ما نجد تداخل في معظم الحالات بين المصطلحين وفرة البيانات redundant والنسخ الاحتياطي backup، وهما مفهومان مميّزان مرتبطان ببعضهما ولكنّهما مختلفان، وبعض الحلول تُوفِّرهما معًا. 1. وفرة البيانات Redundancyتعني وفرة البيانات وجود تجاوز للفشل failover فوري في حال وجود مشكلة في النّظام، والمقصود من تجاوز الفشل أنّه في حال أصبحت مجموعة من البيانات غير متوفّرة فسيتمّ استبدالها فورًا بنسخة كاملة لتحلّ محلّها، وينتج عن هذا زمن إيقاف تشغيل down time غير مُلاحظ تقريبًا ويستطيع التطبيق أو الموقع مواصلة تخديم الطلبات وكأنّ شيئًا لم يكن، وفي هذه الأثناء يملك مدير النظام الفرصة لإصلاح المشكلة وإعادة النظام إلى الحالة التي يعمل فيها بشكل تام. وبينما يبدو هذا وكأنّه حل رائع لتخديم النسخ الاحتياطي فإنّ هذا في الحقيقة فكرة خاطئة خطيرة، فلا تُزوِّدنا وفرة البيانات بحماية ضدّ الفشل الذي يؤثر على كامل الآلة أو النّظام، على سبيل المثال إن كُنّا نملك mirrored RAID مضبوط (مثل RAID1) فستكون بياناتنا متوافرة فيه وفي حال فشل أحد الأقراص سيبقى الآخر متوافرًا، ولكن إن فشلت الآلة نفسها فقد نفقد جميع البيانات الخاصّة بنا. ومن مساوئ هذا النوع من الإعداد أنّ كل عمليّة يتمّ تنفيذها على كل نسخة من البيانات، ويتضمّن هذا العمليّات الخبيثة malicious أو التي تمّت بغير قصد، يُمكّننا حل النّسخ الاحتياطي الصحيح الاستعادة من نقطة سابقة حيث كانت البيانات معروفة بكونها بحالة جيّدة. 2. النسخ الاحتياطي Backupكما أشرنا سابقًا فإنّه من المُحتّم علينا الحفاظ على نُسَخ احتياطيّة تعمل بشكل جيّد لبياناتنا الهامّة، واعتمادًا على الموقف فقد يعني هذا النسخ الاحتياطي للتطبيق أو لمعلومات المستخدمين أو حتى لكامل الموقع أو الآلة، والفكرة من وراء النُسَخ الاحتياطيّة أنّه في حال حدوث فقدان في النّظام أو الآلة أو البيانات فإنّنا نستطيع استعادة restore، إعادة نشر redeploy، أو الوصول إلى بياناتنا، قد تتطلّب الاستعادة من نسخة احتياطيّة زمن إيقاف تشغيل، ولكن يوجد فرق بين البدء من نقطة في اليوم السابق والبدء من الصفر، أي شيء لا نستطيع تحمل خسارته -بالتعريف- يجب علينا عمل نسخة احتياطية له. ومن حيث الأساليب يوجد عدد قليل من المستويات المختلفة للنُسَخ الاحتياطيّة يُمكن تصنيفها إلى عدّة طبقات بحسب الحاجة إلى حساب أنواع مختلفة من المشاكل، على سبيل المثال ربّما نقوم بالنسخ الاحتياطي لملف الإعدادات configuration file قبل تعديله وذلك لكي نستطيع العودة بسهولة إلى الإعدادات القديمة قبل أن تنشأ المشكلة، يكون هذا مثالي للتغيرات الصغيرة التي نستطيع مراقبتها بشكل فعال، ولكن هذا الإعداد سيفشل على نحو بائس في حال فشل القرص أو أي شيء أكثر تعقيدًا، ينبغي علينا أيضًا الحصول على نُسَخ احتياطيّة بشكل منتظم وتلقائي إلى موقع بعيد remote location. النُّسَخ الاحتياطيّة بحد ذاتها لا تزوّدنا بتجاوز الفشل تلقائيًا، وهذا يعني أنّ الفشل لن يُكلّفنا خسارة أيّة معلومات (على اعتبار أنّ النُسَخ الاحتياطيّة التي نملكها حديثة 100%)، ولكن قد يُكلفنا زمن تشغيل Uptime، وهذا هو أحد الأسباب التي تجعلنا نستخدم وفرة البيانات والنَسخ الاحتياطي جنبًا إلى جنب بدلًا من أن تُلغي كلّ واحدة منهما الأخرى. النسخ الاحتياطي على مستوى الملف File-Level Backupإنّ النَسخ الاحتياطي على مستوى الملف هو واحد من أشيع أشكال النَسخ الاحتياطي، يستخدم هذا النّوع من النَّسخ الاحتياطي أدوات النسخ الاعتياديّة الموجودة مع النّظام لنقل الملفات إلى موقع أو جهاز آخر. 1. كيفية استخدام الأمر cpأبسط أشكال النَّسخ الاحتياطي لآلة تعمل بنظام لينِكس مثل الـ VPS هي عن طريق الأمر cp، ينسخ هذا الأمر ببساطة الملفات من موقع محلّي local إلى موقع آخر، ونستطيع على حاسوب محلّي وصْل mount قُرص قابل للإزالة وبعدها نسخ الملفات إليه: mount /dev/sdc /mnt/my-backup cp -a /etc/* /mnt/my-backup umount /dev/sdcيقوم هذا المثال بوصْل قرص قابل للإزالة ومن ثُمّ ينسخ الدّليل etc/ إلى القرص، وبعدها يقوم بإلغاء وصْل unmount القرص، والذي يُمكننا تخزينه في مكان آخر. 2. كيفية استخدام الأمر Rsyncإنّ الأمر rsync هو بديل أفضل للأمر cp، حيث يُمكّننا من إجراء نُسَخ احتياطيّة محليّة مع قَدْر أكبر من المرونة، نستطيع تنفيذ نفس العمليّات السابقة باستخدام rsync عن طريق الأوامر التالية: mount /dev/sdc /mnt/my-backup rsync -azvP /etc/* /mnt/my-backup umount /dev/sdcوفي حين أنّ هذا يبدو بسيطًا حتى هذه النقطة، إلّا أنّنا سندرك بسرعة أنّ النَّسخ الاحتياطي على نظام ملفّات محلّي مرهق ومُعقّد، حيث يجب علينا فيزيائيًا وصْل وفصْل قرص النَسخ الاحتياطي ونقله إلى مكان آخر إن أردنا الحفاظ على المعلومات في حال حدوث سرقة أو حريق، نستطيع تحقيق الكثير من نفس المزايا باستخدام النَسخ الاحتياطي عبر الشبكة. يستطيع الأمر Rsync تنفيذ نُسخ احتياطيّة عن بُعد remote بنفس السهولة التي يستطيع القيام بها بنُسخ احتياطيّة محليّة، يجب علينا فقط استخدام صيغة بديلة، سيعمل هذا الأمر على أي مُضيف host نستطيع الدخول إليه عن طريق SSH طالما أنّ rsync مُثبّت لدى الطرفين: rsync -azvP /etc/* username@remote_host:/backup/سيقوم هذا الأمر بالنسخ الاحتياطي للدليل etc/ الموجود على الجّهاز المحلّي إلى دليل على remote_host موجود في backup/. سينجح هذا الأمر إن كُنّا نملك صلاحيات للكتابة على هذا الدّليل وتوجد مساحة كافية. للمزيد من المعلومات حول كيفيّة استخدام rsync للنّسخ الاحتياطي اضغط هنا. 3. كيفية استخدام أدوات أخرى للنسخ الاحتياطيبالرغم من بساطة الأمرين cp و rsync وإمكانيّة استخدامهما بسهولة إلّا أنّهما ليسا دومًا الحل المثالي، لجعل النُسخ الاحتياطية مُؤتمتة نحتاج لوضع هاتين الأداتين ضمن Script وكتابة أي شيفرة ضرورية من أجل الدوران والجماليّات الأخرى. لحسن الحظ توجد بعض الأدوات المساعدة التي تقوم بتنفيذ إجراءات مُعقّدة أكثر للنسخ الاحتياطي ببساطة. Baculaإنّ أداة Bacula هي حل مُركّب ومرن يُعزّز نموذج خادوم عميل للنسخ الاحتياطي للمضيفين hosts، تفصل Bacula بين أفكار العملاء، أماكن النسخ الاحتياطي والإدارة directors (المُكوِّن الذي يُنسّق النسخ الاحتياطي الفعلي)، وتقوم أيضًا بضبط كل مهمّة نسخ احتياطي ضمن وحدة تدعى الوظيفة job. يسمح لنا هذا بتضبيط configuration مُحبّب ومرن بشدّة، نستطيع النسخ الاحتياطي للعديد من العملاء إلى جهاز تخزين وحيد، عميل واحد إلى عدّة أجهزة تخزين، وتعديل مُخطط النسخ الاحتياطي بسرعة وسهولة عن طريق إضافة عُقَد أو ضبط تفاصيلهم، تعمل هذه الأداة بشكل جيّد عبر بيئة تحتوي على شبكة، وهي قابلة للتوسيع وتقسيمها إلى وحدات، مما يجعلها رائعة للنسخ الاحتياطي لموقع أو تطبيق مُوزَّع عبر عدّة أجهزة. لكي تتعلّم المزيد حول كيفيّة تضبيط خادوم Bacula للنسخ الاحتياطي وكيفيّة النسخ الاحتياطي للأنظمة عن بعد باستخدام Bacula، قم بزيارة هذه الروابط. BackupPCمن الحلول الشائعة الأخرى هي أداة BackupPC، يُمكن استخدام هذه الأداة للنسخ الاحتياطي لأنظمة لينِكس وويندوز بسهولة، يتم تنصيبها على جهاز أو VPS والذي سيعمل كخادوم للنسخ الاحتياطي، وبعدها يسحب الخادوم البيانات من عملائه باستخدام طرق نقل الملفّات المُعتادة. يُقدّم هذا الإعداد ميزة تنصيب جميع الحِزَم packages المتعلّقة بذلك على جهاز مركزي واحد، والتضبيط الوحيد الذي نحتاجه هو السماح لخادوم النسخ الاحتياطي بالوصول عبر SSH، يُمكن بسهولة إعداد هذا، وباستخدام DigitalOcean نستطيع تضمين مفاتيح SSH لخادوم BackupPC إلى العملاء بينما نقوم بالنشر، يسمح لنا هذا بضبط النسخ الاحتياطيّة من خادوم النسخ الاحتياطي بسهولة ونشر بيئات الإنتاج الخاصّة بنا بشكل نظيف بدون أيّة برمجيّات إضافيّة. لكي تتعلّم كيفيّة تثبيت واستخدام BackupPC على خادوم، اضغط هنا. DuplicityDuplicity هي بديل رائع للأدوات التقليديّة، الميّزة الأساسيّة للتفاضل في Duplicity هي أنها تستخدم تعمية GPG encryption لنقل وتخزين البيانات، ولهذا بعض الفوائد الرائعة. إنّ الفائدة الواضحة من استخدام تشفير GPG للنسخ الاحتياطي للملفّات هي أنّه لا يتم تخزين البيانات بشكل نص مُجرَّد plain text. الشّخص الوحيد الذي يستطيع فكّ تعمية decrypt البيانات هو من يملك مفتاح GPG key، يُوفِّر هذا درجة من الحماية لتعويض تضخّم التدابير الأمنية اللازمة عندما يتم تخزين البيانات في مواقع مُتعدّدة. الفائدة الأخرى التي قد لا تكون واضحة بشكل فوري للأشخاص الذين لا يستخدمون GPG عادةً هي أنّه يتمّ التّحقّق من كل عمليّة نقل لتكون دقيقة تمامًا، تفرض GPG فحص تلبيد Hash صارم للتأكّد من عدم وجود ضياع في البيانات أثناء النقل، ويعني هذا أنّه عندما يحين الوقت لاستعادة البيانات من النُسخة الاحتياطيّة سنكون أقل عُرضة للوقوع في مشاكل تَلَف الملفات. لكي تتعلّم كيفيّة تمكين النُسخ المُشفّرة باستخدام GPG في Duplicity، اتبع هذا الرابط. النسخ الاحتياطي على مستوى الكتلة Block-Level Backupsإنّ النسخ الاحتياطي على مستوى الكُتلة هو أقل شيوعًا من النسخ الاحتياطي على مستوى الملف ولكنّه بديل هام له، يُعرف أيضًا هذا النمط من النسخ الاحتياطي بالتصوير imaging لأنّه من المُمكن استخدامه لاستنساخ duplicate واستعادة كامل الأجهزة. يسمح النسخ الاحتياطي على مستوى الكُتلة بالنسخ على مستوى أعمق من الملف، فبينما يقوم النسخ الاحتياطي على مستوى الملف بنسخ الملف1، الملف2، والملف3 إلى موقع نسخ احتياطي، يقوم النسخ الاحتياطي على مستوى الكُتلة بنسخ كامل الكُتلة Block التي تحتوي على هذه الملفات، ولتفسير المفهوم بطريقة أخرى يمُكننا القول أنّ النسخ الاحتياطي على مستوى الكتلة ينسخ المعلومات بِت bit تلو الآخر، فهو لا يهتم بالملفات المُجرّدة التي قد تُمثّلها هذه البتّات bits (ولكن سيتم نقل الملفّات بشكل كامل خلال هذه العمليّة). إنّ إحدى الفوائد من النسخ الاحتياطي على مستوى الكتلة أنّه عادة ما يكون أسرع، وبينما يقوم النسخ الاحتياطي على مستوى الملف بالبدء بعمليّة نقل جديدة لكل ملف مُنفصل، يقوم النسخ الاحتياطي على مستوى الكُتلة بنقل الكُتَل والتي عادةً ما تكون أكبر حجمًا، وهذا يعني الحاجة للبدء بعمليّات نقل أقل لإتمام النسخ. استخدام الأداة dd لتنفيذ عمليات النسخ الاحتياطي على مستوى الكتلةإنّ أبسط طريقة لتنفيذ عمليّات النسخ الاحتياطي على مستوى الكُتلة هي باستخدام الأداة dd، هذه البرمجيّة مرنة جدًا وتتيح لنا نسخ المعلومات بِت تلو الآخر إلى مكان جديد، ويعني هذا أنّنا نستطيع النسخ الاحتياطي لقسم partition أو قرص disk إلى ملف واحد أو إلى جهاز raw device بدون أي خطوات تمهيدية. أبسط طريقة للنسخ الاحتياطي لقسم أو قرص هي استخدام dd كما يلي: dd if=/path/of/original/device of=/path/to/place/backupفي هذه الحالة تُحدّد =if جهاز الدخل input أو موقع، تُشير =of إلى ملف الخرج output أو موقع، من الهام جدًا تذكّر هذا الفرق، لأنّه من البديهي مسح قرص كامل إن تمّ عكسهما. إن كُنّا نرغب بالنسخ الاحتياطي لقسم يحتوي على مُستنداتنا الموجودة في dev/sda3/ نستطيع إنشاء ملف صورة كما يلي: dd if=/dev/sda3 of=~/documents.imgتُوجد العديد من الحلول الأخرى للنسخ الاحتياطي على مستوى الكتلة متوفّرة على أجهزة لينِكس، ولكنّنا لن نناقشهم هنا. إصدارات النسخ الاحتياطيةإنّ أحد أهم الأسباب الرئيسيّة للنسخ الاحتياطي للبيانات هو القدرة على استعادة إصدار سابق من ملف أو مجموعة ملفّات في حال حدوث تغيير غير مرغوب أو حذف، وبينما تُزوّدنا جميع آليات النسخ الاحتياطي المذكورة حتى الآن بهذا إلى حدّ ما، نستطيع تنفيذ نظام أكثر قوّة باستخدام أدوات إضافيّة. الطريقة اليدويّة لإنجاز هذا هي إنشاء ملف نسخة احتياطية قبل التعديل كما يلي: cp file1 file1.bak nano file1نستطيع أيضًا أتمتة هذه العمليّة عن طريق إنشاء ملفّات مخفيّة ذات ختم زمني timestamped في كل مرّة نقوم فيها بتعديل ملف عن طريق المُحرّر، على سبيل المثال نستطيع وضع ما يلي في ملف bashrc./~ : nano() { cp $1 .${1}.`date +%y-%m-%d_%H.%M.%S`.bak; /usr/bin/nano $1; }عندما نستدعي الآن الأمر nano سيقوم تلقائيًا بإنشاء نُسَخ احتياطيّة. يُوفّر لنا هذا مستوى مُعيَّن من النسخ الاحتياطي، ولكنّها طريقة هشّة جدًّا وقد تملأ القرص بسرعة إن كُنّا نُعدِّل الملفّات كثيرًا، لذلك هي ليست حلًّا رائعًا وربما ينتهي بنا الأمر أسوأ من القيام بالنسخ اليدوي للملفات التي نريد تحريرها. ومن البدائل التي تقوم بحل العديد من المشاكل المُتأصّلة في هذا التصميم هو استخدام git، والتي هي تحديدًا نظام تحكّم بالإصدار، وبالرغم أنّ هذا قد يكون غير واضح نستطيع استخدام git للتحكّم بأي ملف تقريبًا. نستطيع إنشاء مستودع git repository في الدليل الرئيسي فورًا، ببساطة عن طريق كتابة ما يلي: cd ~ git initربّما نحتاج هنا إلى تطويع tweak الإعدادات لاستثناء بعض الملفات، ولكن بشكل عام يقوم بإنشاء إصدارات بشكل فوري، بإمكاننا بعدها إضافة محتويات الدليل الخاص بنا وتضمين الملفّات عن طريق ما يلي: git add . git commit -m "Initializing home directory"نستطيع ببساطة الانتقال إلى موقع بعيد remote location نظام git المُضمَّن أيضًا: git remote add backup_server git://backup_server/path/to/project git push backup_server masterإنّ هذا النظام ليس رائعًا للنسخ الاحتياطي من تلقاء نفسه، ولكن بجمعه مع نظام نسخ احتياطي آخر يتمكّن هذا النمط من التحكّم بالإصدار من تزويدنا بتحكّم جيّد ومُحبّب بشدّة بالتغيرات التي نقوم بها. للتعلّم أكثر حول كيفيّة استخدام git وكيف نستطيع استخدام git لإصدار الملفّات العاديّة، تحقّق من هذه الروابط. النسخ الاحتياطي على مستوى VPS، ومزود DigitalOcean كنموذجفي حين أنّه من المهم إدارة النُسخ الاحتياطيّة بأنفسنا، تُزوّدنا خدمة DigitalOcean مثلا ببعض الآليات لإكمال النسخ الاحتياطيّة الخاصّة بنا. نمتلك دالّة للنسخ الاحتياطي تقوم بانتظام بعمل نُسَخ احتياطيّة تلقائيّة من أجل droplets (مصطلح مقابل لـ VPS على DigitalOcean) التي تُمكّن هذه الخدمة، نستطيع تشغيلها خلال إنشاء droplet عن طريق اختيار صندوق التأشير "تمكين النُسَخ الاحتياطيّة" "Enable Backups": سيقوم هذا بأخذ نُسخة احتياطيّة لكامل صورة الـ VPS، وهذا يعني أنّنا نستطيع بسهولة إعادة النشر من النُسخة الاحتياطيّة أو استخدامها كأساس للـ droplets الجديدة. ولأخذ صورة لمرّة واحدة عن النظام لدينا نستطيع إنشاء لقطات snapshots، والتي تعمل بصورة مشابهة للنُسَخ الاحتياطيّة ولكنّها غير مؤتمتة، نستطيع إنشاءَها عن طريق الذهاب إلى droplet لدينا واختيار "Snapshots" من القائمة العلويّة: ترجمة -وبتصرّف- للمقال How To Choose an Effective Backup Strategy for your VPS لصاحبه Justin Ellingwood. حقوق الصورة البارزة: Designed by Freepik.
    1 نقطة
  6. عمل أطر مفرغة -أو تصاميم مبدئيّة- أثناء التصميم لا يكلف شيئًا تقريبًا، ولكن يمكنه أن يحقق عائدًا ممتازًا. ورغم أن العديد من المصممين يبدؤون برسم "سكِتش" في ذهنهم، ومن ثمّ يضعونه في برنامج فوتوشوب أو حتى يبدؤون بكتابة الأكواد مباشرة، بينما يبدأ آخرون على الورق. نعم، هو الورق العادي الذي تعرفه، والذي تكتب عليه بالقلم. يبدو هذا كتقنية عمرها عشر سنوات، ولكن حتى الآن ما زال أفضل المصممين في هذا العالم يستخدمونه لصالحهم. سيوفر عليك عمل تصميم مبدئيّ الكثيرَ من الإحباط في المراحل اللاحقة من تطوير المشروع، حيث يؤكّد بأنه ليس هناك أشياء عليك التراجع عنها أو إعادة تصميمها. إذا قمت بعمل تصميم أوليّ بطريقة سليمة، فبإمكانك أن تبيت مرتاح البال بأنك لن تضطر مستقبلًا لإعادة التصميم من البداية. إن ما تعنيه الأطر المفرغة هو وضع أفكار التصميم على الورق لكلّ من صفحات الموقع. في الغالب ستتشارك كل الصفحات ببعض العناصر، ولهذا فستكون الصفحة الأولى أكثر صعوبة في التصميم، بينما ستكون بقيتها أقل صعوبة، حيث تكون قد حصلت على فكرة مبدئيّة عن النمط العام للتصميم. أبق في بالك أن هذه العناصر مهمّة لأيّ تصميم. عندما تقلّب بين الصفحات، سيكون على المستخدم أن يقدر على التعرف على الصفحة وأن يعلم أنه لم يغادر الموقع ويذهب إلى موقع آخَر. أبق دائمًا على التنقلات والأقسام المهمة (المحتوى، الشريط الجانبي، ذيل الصفحة) في نفس المكان، ولكن هذا صار شائعًا كما لو أنه دليل للمبتدئين في التصميم، لذا لننتقل إلى أمور متقدمة أكثر. الأطر المفرغة – نظرة عامةلكي تكون قادرًا على استخدام إطار مفرغ، فأنت بحاجة إلى معرفة كيف يعمل. ما يفعله الإطار المفرغ بسيط، فهو يُظهِر الشكل العام للوقع والمكونات الرئيسيّة على الورق. يمكنك أن تستخدم أشكال مختلفة كصناديق وحاويات لرسم المحتوى فيها، وتنقلات، وعناصر وظيفيّة أخرى. قد تسأل نفسك، لم نستخدم الأشكال؟ الإجابة بسيطة: لأنها تسمح لنا بأن نركّز على التصميم أكثر وان ننسى الأكواد والتوافقية بين المتصفحات والصور وما إلى ذلك. إنه تصميم بسيط ونقيّ. الصورة من Zach Hoeken. الأطر المفرغة أم تصاميم فوتوشوب؟وكبديل عن التصاميم الأوليّة للمواقع على الورق، يمكن إنشاء التصميم المرئيّ على برنامج فوتوشوب أولًا. ورغم أن لها مزايا إلى حدّ ما، فإن إنشاء الشكل العام في فوتوشوب غير عمليّ، وذلك لأنه لا يسمح لك بالتركيز على العناصر الأساسيّة للتصميم. ولهذا، إذا أردت البدء بالتصميم في فوتوشوب، فقد تبدأ أيضًا بالتفكير في الألوان والصور والخطوط. لا حاجة لهذا الأمر إذا بدأت العمل على الورق. والعمل على الورق أسرع بكثير أيضًا، ولذا لِمَ لا تقوم بها بهذه الطريقة؟ ولهذا، يمكنك أن تبدأ التصميم في فوتوشوب في مرحلة لاحقة، ولكن لا أنصح بعمل ذلك قبل أن تكون لديك فكرة واضحة عن ما ترغب بالحصول عليه من المشروع. الطريقة الوحيدة لتحقيق ذلك هي البدء على الورق. يمكنك أن تدعو الإطار المُفرَغ بأنه "سكِتش" إذا أردت ذلك. وفي الحقيقة أن الأطر المفرغة هي سكتش بسيط للموقع. توصل الأطر المفرغة بعض الأفكار للزبون، حيث يمكنه أن يقبلها أو يرفضها. إذا رفضها، فسيكون من السهل بالنسبة لك أن تأخذ ورقة أخرى وترسم عليها أفكار أخرى من البداية. الهدف الأساسيّ من الأطر المفرغة هو أن تسمح لك بالتركيز على الأشياء المهمة في الموقع، وهي: كيف تبدو كل صفحة، وأين تقع أهم العناصر فيها، وكيف تحقق التوازن الإيجابيّ الذي تريده بشكل عام. وبعد أن تكون قد حصلت على فكرة عن ما يريده الزبون، ويقبل هو التقسيم الأساسي للموقع، يمكنك حينها أن تطوّر السكتش البسيط إلى شيء أكثر تفصيلاً. قد يكون الآن الوقت المناسب لبدء التفكير في الخطوط والألوان والصور. الصورة من Denkbeelhouwer. مرحلة عمل التصاميم الأوليةمن الضروريّ بالنسبة للمصممين والزبائن أن يعملوا معًا أثناء هذه المرحلة من المشروع. وحيث أنّه ليس لدى الزبون الكثير ليقوله أثناء مرحلة كتابة الأكواد، فهذه هي المرحلة التي يمكنه فيها تقديم الكثير من المدخلات التي عليك أن تأخذها بعين الاعتبار. تذكر أنه بمجرد موافقته على التصميم، فسيعطيك وهو راض حرية أكثر في الأفكار الأخرى؛ في هذه المرحلة يثق فيك وفي خبراتك. سيكون هذا مشروعًا طويلًا وصعبًا إذا لم تحصل منه على الموافقة على الإطار المفرغ الأساسيّ. إذا كنت زبونًا فتذكر أن لا تركز كثيرًا على عدم وجود ألوان وصور وخطوط وأمور أخرى تتعلق بالنمط. إن وظيفة المصمم في هذه المرحلة هي أن يعطيك فكرة بسيطة عن ما يراه بأنه جيد لك. إذا طلبت منه أطر مفرغة مفصلة أكثر ورفضتها ثلاثة أو أربعة مرات، فسيكلفك ذلك الكثير من المال. ومن ناحية أخرى، إذا طلبت أطر مفرغة بسيطة ورفضتها، فلن تكلفك بذلك القدر، وذلك لأن رسمها والتفكير فيها أسهل. أدوات لعمل تصاميم أولية للمواقعفيما يلي قائمة بالأدوات التي اختبرتها حديثًا لأرى إلى أيّ حد يمكن للمصممين الاعتماد عليها لبناء أطر مفرغة. إذا لم يكن الورق مناسبًا لك، فهناك خيارات أخرى ممكنة (دون ترتيب معين): 1. iPlotzتسمح ك هذه الأداة بأن تصنع أطر مفرغة يمكنك أن تنقر عليها وتتنقل خلالها. يسمح لك هذا بإنشاء تجربة مشابهة للموقع الحقيقيّ. ورغم أن بإمكانك الحصول على حساب مجانيّ، إلا أنني أنصحك بالحصول على واحد من حسابات Premium إذا كنت جادًّا في أن تبدأ بعمل التصاميم الأولية للمواقع واتخاذها كمهنة من الآن. 2. Balsamiqإذا كنت تحب الرسم، فستعطيك هذه الأداة شعورًا مشابهًا لذلك، إلا أنه رقميّ هذه المرة. يمكن تضبيط وإعادة ترتيب هذه الأدوات بسهولة، والتحكم بها سهل أيضًا. النتائج نظيفة، ومن المزايا الأخرى لها هو أنّ كل شيء يمكن تكرارها في الوقت الحقيقيّ. 3. Pencil Projectيمكن استخدام هذه الأداة لعمل مخططات انسيابية وتصاميم أوليّة للواجهات بسهولة. 4. templatrرغم أنه لن يسمح لك برسم أيّ شيء، إلى أن هذه الأداة تمكنك من إنشاء تصاميم لموقعك أثناء العمل. لست بحاجة لمعرفة HTML ويمكنك تنزيل القالب في النهاية بنقرة زر واحدة. 5. Flair Builderيمكن لهذه الأداة التفاعل مع الأطر المفرغة بسرعة عالية جدًّا. هذه الأداة سهلة الاستخدام وتأتي مع لوحة من العناصر الفعالة التي ستسهل مهمة إنشاء تصاميم أوليّة. هذه الأداة تفاعليّة، وستحسن تجربتك كثيرًا. صورة من Michael Lancaster. خلاصة القولالأطر المفرغة، أو التصاميم الأوليّة للمواقع، هي عملية يعرفها الكثير من المصممين، رغم أن القليل منهم فقط من يستخدمونها. ورغم أنها تبدو بأنها تأخذ الكثير من الوقت، إلا أنها -على المدى البعيد- ستساعدك كثيرًا. إذا كنت تعرف كيف تتواصل بطريقة سليمة وأن تعمل عن قرب مع الزبون، أثناء مرحلة عمل التصاميم الأولية، فستتم بقية العمل بسلاسة أكبر مما تتوقع. أنصحك كثيرًا أن تقوم بعمل تصميم أوليّ لعملك قبل البدء في كتابة الأكواد، أو أن تُنشئ التصميم الأولي بأكمله في فوتوشوب. هذا سيجعل المهمة كلها أسهل لك، وسيوفر عليك الكثير من الإحباط طوال مدة العمل. وإلى المرة القادمة، تواصل معنا في الردود، وأخبرنا برأيك. هل تقوم بعمل تصاميم أوليّة للتصاميم التي تعمل عليها؟ وما مدى جدوى ذلك بالنسبة لك؟ وإذا لم تكن تفعل ذلك، فلماذا؟ ترجمة -وبتصرف- للمقال: Beginner's Guide to Wireframes and Tools to Create Them.
    1 نقطة
  7. ما هي الأدوات التي تستخدمها للتّسويق عبر الإنترنت؟ هل يمكنك إنجاز نفس العمل الذي ينجزه مسوّق ويب متخصص؟ وهل يمكنك فعل ذلك مجّانًا؟ تضمّ قائمة الأدوات التي تستخدمها والتي يتم الإشارة إليها غالبًا بـ "رزمة التّسويق" أو ”marketing Stack”استخدامات واحتياجات متنوّعة، بدءًا بالتّسويق عبر الشّبكات الاجتماعيّة مرورًا بالمحتوى وصولًا إلى البريد الإلكتروني والمزيد. هل من الممكن الحصول على كلّ هذه الأدوات دون دفع أي فِلس؟ لقد كان إيجاد طريقة لبناء رزمة تسويق مجانيّة تحدّيًا ممتعًا، وذلك بالبحث عن بدائل لأدوات وخدمات مدفوعة معروفة. إنني ممتنّ لكل الشّركات الرّائعة التي توفّر أدوات قيّمة بمقابل بسيط. هذه هي قائمة البدائل المجّانيّة للأدوات المدفوعة التي جمعتها. ما الذي تحتوي عليه الرزمة؟رزمة التّسويق المجّانيّة: بدائل مجّانيّة لأدوات مدفوعةهذه هي قائمة الأدوات المجّانيّة التي تنوب عن خدمات مدفوعة معروفة والتي وجدت أنّها جيّدة للغاية. BufferCanvaGoogle AnalyticsHotjarSimply MeasuredOpen Site ExplorerCharlieSidekickWordpressCrowdfireMediumWistiaSumoMeSegmentPeek1. جدولة الشبكات الاجتماعية: Buffer لعلّ أفضل نصيحة لتوفير الوقت عند التّسويق عبر الشّبكات الاجتماعيّة هي جدولة المشاركات في حساباتك على الشّبكات الاجتماعيّة في وقت مبكّر، حيث يمكنك القيام بعملية التّسويق عبر الشّبكات الاجتماعيّة دفعة واحدة: اتّخاذ كافّة الإجراءات المعتادة من كتابة وإدارة ثم نشر هذه التّحديثات في اليوم أو الأسبوع الموالي. كيف نستخدم Buffer: تتيح لك الخطّة المجّانيّة الدّائمة ربط حساب واحد من كل شبكة اجتماعيّة (حساب واحد من فيس بوك، واحد من تويتر، وهكذا...) وجدولة 10 مشاركات بشكل مبكّر لكلّ شبكة، في حال مشاركتك لثلاث مشاركات يوميًّا، فذلك يعني أنك ستكون متقدّمًا بثلاثة أيام دائمًا. لقد وجدنا أنّ اقتراحات المحتوى المختار يدويًّا ذو قيمة كبيرة، حيث أنّ هذه الاقتراحات تسهل قراءتها ثم إضافتها. بديل آخر مجّاني: HootSuite (مجّانيّة لأوّل 3 حسابات اجتماعيّة) 2. التصميم: Canva خياران مدفوعان: Phtoshop وInDesignيثق أكثر من مليوني شخص بخدمة Canva لتساعدهم على إنشاء صور للشّبكات الاجتماعيّة، منشورات المدوّنات وأيّ استخدام آخر يمكنك تخيّله. كيف نستخدم Canva: تساعد الأحجام المحسّنة والقوالب المضمّنة في تسريع وتسهيل إنشاء صور طويلة تتوافق وشبكة Pinterest، مستطيلة لتويتر، مربّعة لفيس بوك وإنستغرام وأي حجم آخر فيما بينها. لقد وجدنا بديلًا مجّانيًّا آخر يدعى Pablo، والذي يعتبر رائعًا جدًّا في تحجيم صور تويتر بحجم 512x1024 بكسل، في حين تعمل Canva بشكل جيّد مع معظم الشّبكات الأخرى. بدائل أخرى مجّانيّة: PabloGimpPic Monkey3. تحليلات فورية: Google Analyticsخيار مدفوع: Chartbeatتقوم خدمة Google Analytics بكلّ شيء متعلّق بتتبّع زيارات موقعك، حيث تقدّم كمّيّة معلومات ضخمة مجّانًا. كيف نستخدم Google Analytics: بصفتنا فريق تسويق ينشط على الشّبكات الاجتماعيّة، فإنّنا نقدّر سهولة عرض الزّيارات التي تأتي من شبكات مختلفة (Acquisition > Social > Network Referrals). يمكننا تفقّد وقت القراءة المستغرق بالنّظر إلى الوقت المستغرق ضمن صفحة ما أو Time on Page، أمّا الإحصائيّات الفوريّة للزوّار المتواجدين حاليًّا في موقعنا، فيمكننا معرفتها بسهولة عبر Real Time > Overview. بدائل أخرى مجّانية: Go Squared (مجّاني لأوّل 100 زائر و1000 نقاط بيانات) MixPanel (مجّاني لأوّل 25 ألف حدث شهري) 4. تحسين الموقع: Hotjarخياران مدفوعان: KISSmetrics و Crazy Egg.في حال كان يعتريك الفضول حول سلوك زوّار موقعك – أين يضغطون مثلاً أو إلى أيّ حدّ ينزلون ضمن الصّفحات – فيمكنك الاستعانة بخدمة مثل Hotjar لمعرفة ما يفعله زوّارك بشكل دقيق عبر خرائط حراريّة، خرائط الضغطات، خرائط النزول في الصفحات وتسجيلات الزوّار. وتتميّز خدمة Hotjar كذلك بخيارات لتحليل قنواتك وإضافة رسائل واستطلاعات رأي لزوّارك على موقعك.كيف نستخدم Hotjar: أبحاث سلوك الزّوّار يمكنها أن تكون ذات فائدة كبيرة، أجد أن إمكانية عرض تفاعل زائر ما ضمن منشورات مدوّنة ذا قيمة كبيرة: كم يقرأون من منشور معيّن؟ أين يتوقّفون؟ على ما يضغطون؟ رؤية كلّ هذه المعلومات يساعدني على تصميم منشوراتي بطريقة أوضح. بدائل أخرى مجّانيّة: Inspectlet (مجّانيّ لأول 100 جلسة مسجّلة) SumoMe Content Analytics 5. تقارير: Simply Measuredخيار مدفوع : SumAll Reports.تقدّم Simply Measured تحليلات وإدارة من مستوى الشّركات لعلامات تجاريّة كبيرة ومجهوداتهم الاجتماعيّة، كما أنّها تحتوي على تشكيلة واسعة من الأدوات المجّانيّة لبقية المستخدمين العاديّين أيضًا.من بين تقارير Simply Measured نجد: تقرير متابعي تويترتحليل خدمة عملاء تويترتقرير صفحات فيس بوكتحليل محتوى فيس بوكتحليل تنافسيّة فيس بوكتقرير دراسات فيس بوكتقرير مستخدمي إنستغرامتقرير زيارات الشّبكات الاجتماعيّةتقرير مصادر الزّياراتتقرير صفحة جوجل+تحليل فاينكيفيّة استخدام Simply Measured: لا تكلّف أيّ من هذه التّقارير أيّ مقابل مادّي، مع العلم أنّ الخدمة ستطلب متابعتها على تويتر أو ذكرها على فيس بوك مقابل التقرير المجّاني. يمكنك توفير الكثير من الوقت من خلال سحب تقارير من مكان واحد، حيث ستود التّعرّف بشكل أكبر على مدى نجاعة جهودك على الشّبكات الاجتماعيّة، كما أن الخدمة تدعم الشّبكات الاجتماعيّة الستّ الكبرى: فيس بوك، تويتر، لينكدإن، جوجل+، إنستغرام وبنترست. بدائل أخرى مجّانية: Followerwonk SumAll’s (النّسخة المجّانيّة) 6. تحسين محركات البحث: Open Site Explorer خيار مدفوع: Moz Pro.أداة مجّانيّة رائعة للتّحقق من قوّة نطاق موقعك وصفحاته، كما أنّه يصلح لتفقّد عدد الرّوابط التي تشير إلى موقعك ومصدرها، كما يمكنك الاطّلاع على منافسيك، لكنّ النّسخة المجّانية توفر 3 تقارير يوميًّا، في حين أن التّسجيل في الخدمة يتيح لك الحصول على تقارير غير محدودة لكافة روابط، كلماتك المفتاحيّة ومنافسيك. كيفيّة استخدام Open Site Explorer: ضع رابط مدوّنتك ضمن موقع Open Site Explorer من أجل رؤية إحصائيّات عالية المستوى مثل قوّة الصفحة والرّوابط الواردة. يمكنك كذلك الضّغط على تبويبة Just Discovered لعرض الرّوابط الحديثة والصّفحات الأفضل لعرض الصفحات التي تحصل على أكثر الرّوابط في موقعك. بدائل أخرى مجّانيّة: SEO BookScreaming Frog SEO SpiderKeyword Tool7. إدارة علاقات العملاء: Charlieخيار مدفوع: SalesForce.تساعدك أدوات إدارة علاقات العملاء في مواكبة عملائك الحاليّين والمستقبليّين، اعتبرها دفاتر عناوين مستقبليّة، تحتوي أفضل هذه الأدوات على ميّزات ومعلومات، وأداة Charlie توفّر طريقة سريعة وسهلة للتعرف على شخص ما جيّدًا. كيفيّة استخدام Charlie: تتمثّل وظيفة أداة Charlie في مساعدتك على الاستعداد للقاء أشخاص جدد، حيث تمنحك الأداة تعريفًا كاملًا عن شخص ما – حساباته على الشّبكات الاجتماعيّة، سيرته، اهتماماته، أخبار كبيرة... – من خلال النظر إلى تقويمك القادم أو عبر عنوان بريد إلكتروني. إذا أردت معلومات مخص~صة حول شخص ما، ما عليك سوى إدخال عنوان بريده الإلكتروني على أداة Charlie وسوف تخبرك بكلّ شيء. بديل آخر مجّاني: Norbet 8. دراسة صندوق وارد بريدك الإلكتروني: Sidekickخيار مدفوع: Cirrus Insight.تستطيع خدمة Sidekick تعقّب رسائل بريدك الإلكتروني المرسلة لإخبارك عما إذا تمت قراءة هذه الرسائل من طرف المُرسل إليهم، وتتميّز الخدمة بإعدادات قراءة واستلام متقدّمة، بالإضافة إلى عدة ميّزات أخرى.كيفيّة استخدام Sidekick: يمكنك الاستفادة كثيرًا من تنبيهات Sidekick حول بريدك الإلكتروني، كما أنّ الأداة تضيف قيمة كبيرة إلى صندوق وارد بريدك الإلكتروني، مع قائمة جانبيّة للمعلومات حول كلّ شخص يرسل رسالة إليك، وتضمّ هذه القائمة روابط لكافة حسابات الأشخاص على الشّبكات الاجتماعيّة، بالإضافة إلى جدول من أحدث التّغريدات. بدائل أخرى مجّانيّة: Banana tagSignals.9. صفحات الهبوط: Wordpressخياران مدفوعان: Unbounce و LeadPages.لعلّ أسرع وأسهل طريقة لإعداد صفحة هبوط بالنّسبة لمن يستخدمون Wordpress على مواقعهم هي إنشاء صفحة جديدة، فإذا كنت تستخدم ووردبريس للتّدوين، سيضاف المحتوى الذي تنشئه إلى التّدوينات، في حين يمكن إضافة المحتوى الثّابت مثل "حمّل كتابنا الإلكتروني" أو "سجّل في ندوتنا على الإنترنت" بسهولة عبر الصّفحات. كيفيّة استخدام ووردبريس: ابنِ صفحة هبوط جديدة في ووردبريس واستخدمها كنقطة مركزيّة لحملة إعلاناتك على الشّبكات الاجتماعيّة أو تحديثات حساباتك على الشّبكات الاجتماعيّة. وتتيح لك إضافات مثل WooDojo إخفاء محتوى قائمتك الجانبيّة في صفحات معيّنة، ما يعتبر خيارًا ممتازًا لتركيز المحتوى الظّاهر في الصّفحة. بديل آخر مجّاني: Unbounce الخطّة المجّانيّة (تُظهر علامة الأداة) 10. إدارة تويتر: Crowdfireخيار مدفوع: Crowdfire Premium.يمكنك إدارة حسابك على تويتر مباشرة عبر تويتر الذي يعتبر بدوره خيارًا مجّانيًّا، أو يمكنك تجربة أدوات مثل Just Unfollow، والتي تتيح الفرز الإجماليّ وتصفية متابعيك، إلى جانب عرض تفاصيل حول التّركيبة الديمغرافيّة لمتابعيك.كيفيّة استخدام Just Unfollow: إحدى الطّرق التي يوصي بها عدة خبراء من أجل إبقاء عدد الحسابات التي تتابعها قريبًا من عدد الحسابات التي تتابعك هي التّحقّق دوريًّا من الحسابات التي تتابعك بدورها وحذف التي لا تتابعك. ويمكنك من خلال Just Unfollow القيام بذلك بسرعة وسهولة عبر صفحة واحدة، مع إمكانيّة السّماح لحسابات معيّنة بعدم متابعتك مع استمرارك بمتابعتهم. بدائل أخرى مجّانية: TweepiManage Flitter11. التدوين: Mediumخيار مدفوع: Ghost.تعتبر Medium شبكة أو موقع تواصل اجتماعي في حد ذاتها، لكنّها تقدّم خيارًا سهلًا وسريعًا لإنشاء مدوّنة جديدة. كيفيّة استخدام Medium: تبدأ عدّة شركات ناشئة بإنشاء مدوّناتهم على خدمة Medium، حيث يمكنهم الحصول على جمهور مضمّن منذ البداية وأدوات تواصل تساعد على نشر محتواهم. هذا وتتميّز Medium بميزة نشرة البريد الإلكتروني الإخبارية، حيث يمكن للمستخدمين التّواصل تلقائيًّا مع متابعيهم عبر مشاركتهم بآخر تدويناتهم. بدائل أخرى مجّانيّة: Wordpress.comBlogger12. الفيديو: Wistiaخيارات مدفوعة: Wistia Pro و Vimeo Pro.عند إنشاء فيديو ممتاز لمشاركته على الشّبكات الاجتماعيّة أو موقعك، أين سترفعه أوّلًا؟ أول خيار سيتبادر إلى ذهنك هو يوتيوب، والذي يعتبر سريعًا وسهلًا لكنه يقدّم تحكّمًا أقل ويعرض غالبًا بعض الاقتراحات والإعلانات غير المرتبطة. أما Wistia فقد تم تطويرها من أجل فيديوهات المسوّقين لأن المشغّل يبقي الزّوّار على صفحتك – أو يرسلهم بشكل دقيق للمكان الذي تود أن يذهبوا إليه. كيفيّة استخدام Wistia: يمكنك بعد أن ترفع الفيديو الانتقال إلى الإعدادات وإضافة أشياء مثل أزرار تدعو المشاهدين للقيام بفعل ما، أو خيار عرض نافذة لإدخال المشاهدين لعناوين بريدهم الإلكتروني عند نهاية الفيديو. وتسهّل Wistia كذلك عرض الخرائط الحرارية وعرض اتّجاهات المشاهدين مثل عدد المشاهدين الذين يشاهدون الفيديو بأكمله، متى يوقفونه أو يضغطون على شيء معين... بدائل أخرى مجّانيّة: YoutubeVimeo13. أزرار المشاركة: SumoMe Share خيار مدفوع: Easy Social Share Buttons.تأتي معظم أزرار المشاركة التي تراها في جانب تدوينات المدونات من أداة SumoMe، هذه الأزرار – التي يمكن أن تعمل على أيّ موقع وليس ووردبريس بالضرورة – هي جزء من حزمة منتجات SumoMe للمواقع، لذا في حال كنت لا تمانع ظهور علامة SumoMe ضمن هذه الأزرار، يمكنك إضافتها مجّانًا لأي صفحة وتخصيص الشّبكات الاجتماعيّة التي تودّ ظهورها افتراضيًّا. كيفيّة استخدام SumoMe Share: تتيح لك SumoMe تحكّمًا كبيرًا بمظهر أزرار المشاركة، حيث يمكنك اختيار الأزرار التي تودّ ظهورها ومكان ظهورها ضمن الصّفحة كذلك. أحد الميّزات الأخرى هي أن هذه الأزرار تظهر جيّدًا على الأجهزة المحمولة، لذا فهي تبقى طريقة رائعة لتشجيع المشاركة عبر الشّبكات الاجتماعيّة بغض النّظر عن الأجهزة التي يزورك من خلالها الزّائر. بدائل أخرى مجّانيّة: Digg DiggFlare14. التحليلات: Segment خيار مدفوع: Usability Tools.تعتبر أداة Segment إحدى الطّرق التي يمكنك من خلالها إدارة كافّة التّطبيقات عبر واجهة واحدة، حيث تسهّل الأداة على أي مستخدم ربط برمجيّة ما بموقعه، حالما يتم إضافة قصاصة Segment فستكون قادرًا على ربط تطبيقات أخرى مثل MailChimp وGoogle Analytics. وتستطيع أداة Segment التّعامل مع كافّة بيانات زوّارك من أجلك عبر لوحة التحكم. كيفيّة استخدام Segment: قدّم Rob Sobers دليلًا مفيدًا لكيفيّة إعداده للأداة من أجل عمله.15. التجريب: Peek خياران مدفوعان: Optimizely وUser Testing.هنالك عدّة خيارات مدفوعة تساعد على فهم كيفيّة استخدام الزّوار لموقعك، حيث أنّ بإمكانها تقديم عدّة تفاصيل متعلّقة بهذا الجانب، كما أنّ هنالك أداة Peek المجّانية، والتي تتيح لك مشاهدة وسماع فيديو مدته 5 دقائق لشخص حقيقي يستخدم موقعك. كيفيّة استخدام Peek: يمكنك أن تطلب من شخص ما تصفح موقعك أو مدونتك عبر الصّفحة الرئيسة من أجل الدّراسة الأولى، بعدها يمكنك الطلب من شخص ما تجربة تدفّق معيّن عبر موقعك من خلال صفحة هبوط. تستغرق الاختبارات من يومين إلى ثلاثة أيام حتّى تكتمل، ويمكنك إجراء ثلاثة اختبارات Peek شهريًّا. بدائل أخرى مجّانيّة: Optimizely (الخطّة المجّانيّة). كانت هذه أدوات التّسويق المجّانية التي يمكن أن تفيدك في تسويق منتجاتك أو مواقعك على الإنترنت، ما هي أدواتك المفضّلة التي يمكنك أن تضيفها إلى هذه القائمة؟ ترجمة -وبتصرّف- للمقال The 0$ Marketing Stack: Free Options to Popular Paid Services and Tools لصاحبه Kevan Lee. حقوق الصورة: Designed by Freepik.
    1 نقطة
  8. لقد مضى وقت طويل منذ أن كانت وسائل التّواصل الاجتماعيّ مجرّد مساحة للشّركات تشارك عليها أفكارها وتنتظر الـ"إعجابات"، بل أصبحت واحدة من أهمّ القنوات للعملاء يطرحون فيها أسئلتهم ويقدمون من خلالها التّقارير والشّكاوى. تتواجد الكثير من الشّركات في الوقت الحاضر على عدّة مواقع تواصل اجتماعيّ ضخمة مثل الفيسبوك، تويتر، جوجل بلس و لينكد إن، ولكن فقط الفيسبوك والتويتر هما المستخدمان بشكل واسع وكبير في عملية دعم العملاء، وبما أنّ العديد من الناس يستخدم هذه الوسائل كل يوم من أجل التّواصل، فمن الطّبيعي بالنّسبة لديهم التماس الحصول على دعم عبر هذه الوسائل. أظهرت دراسة "Buffer" أن أكبر جاذب لمنشورات دعم العملاء هي صفحات تويتر وبنسبة 59.3% ، لكن يبدو أنّ الشّركات بشكل عام تعتمد أكثر على الفيسبوك في تقديم خدمة العملاء، وذلك بناءً على استفتاء شمل 59.4% منهم، ما نسبته 40.6% فقط أقرّوا باستخدامهم لتويتر. وقت استجابة جيدتوجد العديد من الأسباب وراء سعي العملاء السّريع لطلب المساعدة عبر وسائل التّواصل الإجتماعي، ومن الأمثلة الجيّدة على المواقف العصيبة والتي من الممكن أن تثير غضب العملاء المتضرّرين كان تأخر الطّائرة وفقدان الأمتعة وبالأخص إذا لم تُحَلّ هذه المشكلة بسرعة، يجب على الوكلاء تتبّع هذه الحالات باستمرار، وفقًا للأبحاث الصادرة عن "Social Bakers" فإن شركات الطّيران تُعدّ من أكثر الشّركات نشاطًا وتفاعلًا على وسائل التواصّل الاجتماعي. قامت "Social Bakers" بقياس كلّ من معدلّ ووقت الاستجابة، ووفقًا للباحثين، معظم العملاء توقعوا الإجابة في غضون 60 دقيقة وإذا لم يقوموا باستلام الإجابات، فهم على الأغلب سيقومون بالشّكوى على الخدمة الرّديئة على وسائل التواصل الاجتماعي أو تغيير المزوّد للخدمة. خير مثال على تبعات التّأخر في الرّدّ على شكوى الزّبائن ما حصل بين ميشاب وشركة الطّيران الجويّة البريطانيّة العام الماضي، فقد حاول العميل الذي ضاعت أمتعته تقديم شكوى للشّركة عبر حساب التويتر الخاصّ بها، لكن عدم تلقيه لاستجابة دفع ميشاب إلى شراء تغريدة مروّجة وحثّ المقبلين على السّفر على العزوف عن اختيار شركة الطيّران البريطانيّة. وأخيرًا بعد 8 ساعات، قامت الخطوط الجويّة البريطانية بالرّد، وذلك بعزوّ سبب نشوء المشكلة إلى أنّ أوقات دوام العاملين في الدّعم الفنيّ على تويتر تمتد من الساعة التاسعة إلى الخامسة فقط، ولكن من المرجح أن ردّ الشّركة لم يجعله يشعر بتحسّن، ولتجنّب لُبس مستقبلي من هذا النوع، قاموا بتوضيح ساعات الدّوام على صفحتهم الشخصية في تويتر. تغطي معظم الخطوط الجويّة دعم العملاء على وسائل التواصل الاجتماعي 24 ساعة باليوم و7 أيام بالأسبوع، ولكن البعض نقل ذلك نقلة نوعية لتقديم خدمة أفضل، ففي العام الماضي قامت شركة الطيران "KLM"، والتي تعتبر واحدة من الأفضل في سرعة الاستجابة، بتقديم زمن استجابة حي على حساب تويتر الخاص بهم، تعرض الصّورة الخلفية زمن الاستجابة المقدّر والتغييرات الحاصلة كل 5 دقائق. أدوات لإدارة وسائل التواصل الاجتماعيمن السّهل جدًا أن تضيع في شكاوى العملاء على وسائل التّواصل الاجتماعي، فمن الممكن فقد أو نسيان المنشورات والتّغريدات التي يضعها العملاء، من الصّعب الحفاظ على تنظيم جيّد في إدارة الرّدود إذا كان هناك العديد من العملاء النّشطين على صفحات التّواصل الاجتماعي التابعة للشركات، على أيّة حال، توجد عدّة طرق لإدارة ذلك. تفتح بعض الشّركات الضّخمة والعملاقة مثل Nike ومايكروسوفت حسابات للدّعم الفنّيّ منفصلة على تويتر، والذي يُتيح التواصل بشكل أسرع وأكثر تركيزًا عندما يتعلق الأمر بالمشاكل والشكاوى، وبذلك هم ليسوا بحاجة للتدقيق في كل الإشعارات "Buzz" التي تأتيهم على صفحات وسائل التواصل الاجتماعي حول منتجاتها لتعقب ما يحتوي المشاكل والشكاوى منها. لقد تم تصميم بعض الأدوات للمساعدة في إدارة حسابات وسائل التّواصل الاجتماعي، فعادة ما يتمّ التّعرف على الأوقات التي يتواجد فيها العملاء أكثر من غيرها على صفحات التواصل الاجتامعي من خلال برمجيات خاصّة وهكذا يتم تركيز تواجد فريق خدمة العملاء وعملهم في هذه الأوقات، وتقوم هذه الأدوات أيضاً بتزويد المساعدة مع المراقبة والاستجابة لمنشورات العملاء، ومثال هذه البرمجيّات أداة مخصصة لتويتر وهي "Tweetdeck"، حيث تساعد بإدارة حسابات متعدّدة وتتبّع رسائل العملاء في الوقت نفسه، وتوجد أيضاً برامج تسمح بإدارة حسابات لأكثر وسائل التواصل الاجتماعي شعبية في مكان واحد مثل "Hootsuite" و "Klout"، أما إذا كان التّركيز فقط على دعم العملاء فمن الممكن استخدام خدمة "conversocial"، والذي يساهم في تحسين الخدمات المقدّمة للعملاء على وسائل التّواصل الاجتماعي. ومن الشّائع أيضًا دمج حسابات الشّركات على الفيسبوك وتويتر باستخدام برامج مكتب المساعدة "help desk software" مثل: "Freshdesk" ،"Happyfox" و "UserEcho"، والتي تقوم بجمع منشورات العملاء على الفيسبوك وتغريداتهم على تويتر في مكان واحد مما يسمح بالاستجابة للطّلبات بشكل أسرع وأفضل. ردود شخصيةتعتمد العديد من قنوات دعم الزوار على الإجابات المغلّفة، حيث يوجد أجوبة مسبقة محدّدة لأكثر الأسئلة شيوعًا، فهي تسّهل عمل الوكلاء وتسمح بردود أسرع، على أيّة حال، فإن وسائل التواصل الاجتماعي بحاجة إلى جعل الردود شخصيةً أكثر، فقد قام زبون غير راضي في العام 2012 بتقديم شكوى على تويتر عن إجراءات خطوط الجو الأمريكية، وقامت الشركة بالرد بسرعة ولكن دون أن تولي اهتمامًا كافيًا لرسالة العميل: احتلت خطوط الجو الأمريكية المرتبة الأولى في ترتيب الأسرع في الرد بين الخطوط الجوية المختلفة، ولكن في الحالة التي عرضناها عانت نوعية استجابتها من النّقص في التّركيز. يجب جعل الرّدود ذات طابع شخصي أكثرّ، حيث تستطيع إضافة اللّمسة الإنسانية لجعل الزّبون يشعر بالتّرحيب أكثر، بالإضافة إلى أنّها تستطيع بالنّهاية رسم ابتسامة على وجهه، فعلى سبيل المثال، قامت شركة أسترالية مقدّمة لخدمات الموبايل وتدعى "Amaysim" بالتوصل إلى اللمسة الشّخصية بشكل جيد جدًا: يمكنك أيضاً جعل الجوّ أكثر وديّة ومرحاً عبر محاولة إطلاق الدّعابات اللّطيفة. الأمور الواجب مراعاتهاإنّ عملاء الشّركة موجودون على وسائل التّواصل الاجتماعيّ، وبالتّالي تصبح متابعتهم الخطوة التّالية الطبيعيّة لدى الشّركة، فلم يعد التّعامل مع العملاء على الفيسبوك وتويتر محافظًا على الخصوصيّة بين الشركة والزبون، بل يستطيع الآن كل شخص مشاهدة نوعية الخدمة، يجب اتّباع الأمور التالية للبقاء بعيدًا عن ارتكاب الأخطاء: تغطية دعم الزبون على وسائل التواصل الاجتماعي 24 ساعة في اليوم في 7 أيام بالأسبوع. إنّ وسائل التواصل الاجتماعي لا تنام أبدًا لذلك على العمل أن يستمر، فلا يمكن معرفة متى تنشأ المشكلة.الرّدّ بشكل سريع. سيكون من المثالي إذا أمكن تغطية المسائل على الفور، من المهم الحفاظ على الوقت اللازم للرّد بأقل من 60 دقيقة.استخدام أدوات خدمات الزّبائن. عن طريق استخدام برمجيات المساعدة المكتبيّة، يمكن أن تجد العديد منها هنا، ويمكن إيجاد أمثلة على برمجيّات إدارة وسائل التّواصل الاجتماعي هنا.تجنّب الردود الجاهزة والجامدة والعمل على خلق جو ودّي. يعتبر هذا أسهل على الفيسبوك عندما لا تكون محدّدًا بـ 140 حرفًا، ولكن حتى في التغريدة فإن إضافة اسم الزبون الذي تخاطبه يمكن أن يضفي لمسة وديّة شخصية.ترجمة -وبتصرف- للمقال How to organize customer support on social media لصاحبته: Aleksandra Koziol. حقوق الصورة البارزة: Designed by Freepik.
    1 نقطة
×
×
  • أضف...