أسامه دمراني

الأعضاء
  • المساهمات

    155
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • Days Won

    16

كل منشورات العضو أسامه دمراني

  1. لا تزال التقنية تغيّر مجال خدمة العملاء بصور شتى ومؤثرة على السوق، فقديمًا كان المستهلك يضطر إلى الذهاب إلى المتجر من أجل مشكلة يواجهها أو من أجل استفسار بسيط، فلما جاء الهاتف صار يتحدّث إلى الشركات والمتاجر التي يتعامل معها من خلاله، إلا أنه سرعان ما سئم من المشاكل التي ظهرت جراء ظهور الهاتف. ثم أتى الإنترنت بعد ذلك، ومكّنت الأدواتِ التي صحبَتْهُ أو لحِقَتْ به الشركاتِ من التعامل مع عدة مشاكل في نفس الوقت فصارت أزمنة الردود أقصر، لكن لا زال لتلك الأدوات من بريد أو شبكات اجتماعية جوانبها المظلمة السلبية في التعامل مع العملاء من أجل تقديم الدعم لهم. وأرى أن المحاولة الأخيرة إلى الآن للإجابة عن أسئلة العميل ومشاكله بأسلوب منضبط هي المحادثة الفورية التي تجمع فضائل كلًا من الانترنت والهاتف. ظهرت المحادثات الفورية أول مرة في أواخر الثمانينات من القرن الماضي حين أنشأت Quantum Link برنامج On-Line Messages لحاسوب كومودور 64، ممهدة الطريق لبرامج المحادثات الفورية فيما بعد، ثم تحولت Q-Link إلى ما عرفت بعد ذلك بشركة AOL، شركة الاتصالات الشهيرة. وربما يُنظر إلى المحادثات الفورية على أنها مجرد طريقة يصل بها المستهلك إلى البائع، لكني أرى أنها لم تأخذ حقها في التطبيق في السوق بسبب وجود وسائط أخرى توفر خدمة دعم للعملاء، رغم أنها تزيد من رضى العملاء ومن ثم تزيد من المبيعات. أهمية المحادثات الفورية إن من ينظر للمحادثات الفورية على أنها مجرد تقنية أو وسيلة أخرى يمكن استخدامها للتعامل مع العملاء يتجاهل الفوائد الكثيرة التي تأتي من ورائها، فإن المستخدم مثلًا يراها حلًا أفضل له لأنه لن يضطر إلى الخروج من الموقع من أجل استفسار بسيط طرأ في ذهنه عن المنتج، بل يمكنه الحصول على المساعدة بضغطة زر. وقد قال 51% من المستخدمين أنهم أُعجبوا بالمحادثات الفورية لأنهم يستطيعون تنفيذ أكثر من عملية في نفس الوقت (تسوق – استفسار - ..) أثناء إجراء هذه المحادثة، أما ممثلي الدعم الفني فإن بإمكانهم إجراء أكثر من محادثة نصية في نفس الوقت أيضًا، مما يقلل من نفقات الشركة إذ أنها لن تضطر إلى توظيف المزيد من العاملين، على عكس الشركات التي تستخدم المكالمات الصوتية للدعم الفني. كما أن المحادثات الفورية تحسّن تجربة المستخدم لأنها توفّر توقيتات استجابة منضبطة، فقد وجدت دراسة أن 93% من الشركات لا تتبع قاعدة الخمس دقائق في الرد على العملاء، بل 7% فقط هم من يستجيبون للعملاء في أقل من خمس دقائق. فهذا جدير بالإشارة إليه، إذ أن خمس دقائق تأخير في الرد على الزائر للموقع تتسبب في خسارة الفوز به كعميل بنسبة 400%، وجدير بالذكر أيضًا أن العامل المشترك بين الشركات التي تقع تحت نسبة 7% السابقة هو أنها جميعًا تستخدم المحادثات الفورية. فليس بخافٍ أن خدمة العملاء الممتازة تزيد من المبيعات، فإن 38% من العملاء يقولون أنهم قد اشتروا منتجًا ما نتيجة محادثة فورية مع ممثل للشركة، كما وجدت دراسة للتسويق الإلكتروني أن 63% من العملاء يعودون إلى الموقع الذي أجروْا فيه محادثة فورية. والأهم من كل ذلك أن 92% من العملاء الذين يتسوقون عبر الإنترنت يفضّلون هذه الطريقة في خدمة العملاء، فما أريد قوله هو أن استخدام أدوات للتحدث مباشرة مع العملاء ليس صعبًا، بل هو مربح أيضًا إن نظرت إلى الإحصاءات التي تذكر رضى العملاء عن هذه الطريقة في التعامل معهم. إضافات محادثة فورية لووردبريس 1. Live Chat تُعد هذه الإضافة أفضل الأدوات الموجودة في السوق لتقديم خدمات الدعم الفني للعملاء للمواقع العاملة بووردبريس، وتسمح لأصحاب الموقع أن يتواصلوا مع العملاء من أجهزتهم المكتبية أو اللوحية أو حتى الهواتف، إضافة إلى أنهم لا يحتاجون أن يسجلوا الدخول إلى لوحة تحكم ووردبريس كي يستخدموا الإضافة. وبها خاصية تسمح لممثلي خدمة العملاء أن يرسلوا دعوات محادثة إلى العملاء بُناءً على معايير محددة مثل عدد الصفحات التي زاروها أو الوقت الذي قضوْه على الموقع، إضافة إلى مزايا أخرى مثل المراقبة في الوقت الحقيقي -real time monitoring-، ومشاركة الملفات، ونظام بطاقات يوفر دعمًا على مدار الساعة للعملاء، وهذه الأخيرة تمكّن العملاء من مراسلتك حتى لو لم تكن متاحًا مباشرة على الموقع. وتتكامل live chat مع تطبيقات الطرف الثالث مثل Zendesk أو إحصاءات جوجل أو تطبيقات إدارة العلاقات مع المستخدمين مثل Hubspot وSalesforce، إضافة إلى مواقع الشبكات الاجتماعية مثل فيس بوك وتويتر. وتبدأ أسعار هذه الإضافة من 16$ شهريًا لكل ممثل دعم فني في الشركة، إن دفعت الباقة بشكل سنوي على دفعة واحدة. 2. Zendesk Chat تأتي إضافة Zendesk chat من منصة خدمة العملاء الشهيرة Zendesk، وتتميز بواجهة جميلة التصميم يمكن تغيير القوالب المرئية فيها، إضافة إلى سهولة تثبيتها. كما توفر هذه الإضافة بادئات آلية للمحادثات مع العملاء يمكن تخصيصها (كأن تُفتح محادثةٌ مع العميل حين يبقى فترة معينة على الموقع أو يفتح عددًا معينًا من الصفحات)، وبها ويدجت-widget- مهيأة لتعمل على الهواتف، ولوحة تحليل متطورة. وهناك خطة أسعار مجانية لهذه الإضافة لكنها تسمح بممثل خدمة عملاء واحد فقط، وبمحادثة واحدة مفتوحة، بمعنى أنك ستتعامل مع العملاء واحدًا تلو الآخر. وقد تناسبك هذه الخطة إن كنت المالك الوحيد لموقعك وتقوم بنفسك على تجارتك بدون مساعدة أو توظيف لأحد، أما للاستخدام التجاري فإن خطط الأسعار تبدأ من 14$ شهريًا لكل ممثل دعم فني. 3. Olark يمكنك استخدام هذه الإضافة بعد إضافة شفرة قصيرة إلى القالب الفرعي"child theme” الذي تستخدمه، أو عبر رابطها في موقع ووردبريس. وإليك بعض من مزايا هذه الإضافة: تقارير عن المحادثات تكامل مع برامج Help Desk و CRM مثل Salesforce وZendesk وGroove. تصنيف ممثلي الدعم إلى مجموعات حسب الوظيفة التي يقومون بها. البحث في تاريخ المحادثات، حيث تحصل كل محادثة على تصنيف مفصّل لنشاط المستخدم على الموقع، ويمكن له أن يقيّم المحادثة بعد انتهائها. رؤية ما بداخل سلة تسوق المستخدم. وتبدأ أسعار Olark من 17$ شهريًا لكل ممثل دعم. 4. WP Live Chat Support تهدف إضافة WP Live Chat Support إلى خدمة الشركات التي تبحث عن حلول غير مكلفة للمحادثات الفورية مع العملاء، وتأتي بست قوالب لصندوق المحادثات، وإمكانية نقل صندوق المحادثة في أي مكان في صفحتك، وفتح محادثات مع العملاء دون حد أقصى لعددها، وتخزين محلي للرسائل، وتكامل مع تحليلات جوجل، إضافة إلى أنها لا تحتوي على إعلانات أو روابط، ويمكنك حجب الزوار من عناوين IP بعينها. والإضافة نفسها مجانية، لكن الباقة المدفوعة التي تشتريها لمرة واحدة مقابل 40$ تعطيك مزايا مثل عدد غير محدود من ممثلي الدعم الفني، والردود المحددة مسبقًا، ومعدلات رضى العملاء، والقدرة على إضافة صورة ممثل الدعم الفني لنافذة المحادثة. 5. Tidio Live Chat تعد إضافة Tidio من أسهل الإضافات في تثبيتها، حيث لا تتطلب إلا تفعيلها فقط، وتأتي في ثلاث تصميمات، وتستطيع تعديل اللون إلى ما يناسب هوية شركتك. وتوفر Tidio تطبيقات مخصصة لأجهزة سطح المكتب والهواتف، حيث يمكنك إدارة محادثاتك مباشرة منها، إضافة إلى ودجة تدعم المحادثات المباشرة بأكثر من 140 لغة. ويمكن للمستخدمين أن يصلوا إليك إن لم تكن متاحًا من خلال إرسال أسئلتهم عبر البريد الإلكتروني، ويمكنك الرد عليهم من خلال البريد أيضًا، بل إن Tidio تتكامل مع Zendesk وGetResponse وSalesforce وMailChimp. ويمكنك استخدام باقة مجانية في tidio تدعم ممثل دعم فني واحد ومحادثة واحدة مفتوحة، أما الباقات المدفوعة فتبدأ من 15$ شهريًا لكل ثلاثة موظفين للدعم الفني، ، مع إمكانية إضافة موظفين أكثر بتكلفة 10$ شهريًا للموظف. أو يمكنك اختيار باقة تكلفك 15$ شهريًا لكل 5000 زيارة فريدة للموقع. خاتمة لعلي أكون قد وُفِّقت في بيان هذه الإضافات وتوضيح مزاياها، وأرجو أن تكون قد رأيتَ وجهة نظري في أهمية المحادثات الفورية لكثير من المواقع هذه الأيام -خاصة مواقع التجارة الإلكترونية- حيث تطرأ تساؤلات في أذهان المستخدمين قبل أن يقرروا شراء منتج ما. ولتعلم أن إضافات المحادثة الفورية تقرّب المسافات بين موظفي الشركة وبين المستهلكين ليجيبوا عن أسئلتهم بسرعة، فيزداد ولاؤهم للشركة ومن ثم تزيد مبيعاتهم. وما عليك أن تشغل بالك بشيء بعد تثبيت هذه الإضافات إلا أن تتأكد أن لديك موظفين كفاية للرد على أسئلة العملاء. ترجمة -بتصرف- لمقال How to Setup Live Chat on WordPress لصاحبته Maddy Osman.
  2. سواء كنت تبحث عن عملاء جدد أو تتبع محادثة هاتفية مع عميل أو حتى تقدّم توثيقًا لمواصفات منتجك، فإنك ستضطر إلى إرسال رسالة بريدية في النهاية، بل سيكون عليك في الحقيقة أن ترسل عشرات الرسائل المتشابهة كل يوم، ذلك يعني أنك ستكرر كثيرًا مما تكتبه في كل رسالة لكن مع تغييرات طفيفة هنا وهناك كي ﻻ تبدو رسالتك آلية لكل العملاء، فلا أحد يرغب أن يتلقى رسالة منواضح أنها آلية وليست مخصصة له، لكن ذلك لا يعني أنك مضطر إلى كتابة نفس الرسالة مرة بعد مرة، كما سيكون أفضل أن تركز على الأجزاء التي ستحدث فرقًا معك، وهنا يأتي دور القوالب البريدية. 4 أساليب لاستخدام وتخصيص القوالب البريدية يحفظ لك استخدام القوالب البريدية وقتًا لا بأس به ويسمح لك بزيادة عدد من تصل إليه، وإن اختيار أو تخصيص قالبك البريدي ليس صعبًا حتى لو كان لديك أسلوبك الخاص في جذب الانتباه، فهناك بعض النقاط التي يجب أن تبقيها في ذهنك إن كنت تريد أن تحصل على أكبر نسبة نجاح من رسائل البريد التي ترسلها. 1. انتبه إلى سطر العنوان تزيد نسبة فتح الشخص للرسائل البريدية إن كانت تحتوي على اسمه في سطر العنوان، هذه ظاهرة تم توثيقها جيدًا من قبل، لذا احرص –إن كان ذلك ممكنًا- على إدراج اسم المستقبِل في سطر العنوان في الرسالة. وتزيد أهمية هذه النقطة إن كنت ترسل رسائل باردة، حيث تكون غريبًا تمامًا على من ترسل إليه، وأضف إلى ذلك أنك يجب أن تبقي الرسالة مختصرة ومحددة وشخصية. إليك أمثلة على أسطر العناوين الشائعة: “{تقديم، مثل “مرحبًا”} {الاسم}”، أو “{تقديم} {اسمك/شركتك} <> {اسم المرسل إليه/شركته}” “{اسم شركة المرسل إليه}” “محاولة للتواصل” “طلب سريع” 2. متن الرسالة، ادخل في صلب الموضوع مباشرة إن أول جملة في متن الرسالة أهم مما تظن، ذلك أن أغلب برامج البريد تعرض أول جزء من متن رسالتك إلى جانب سطر العنوان، هذا يعني أن أول رسالتك سيكون ظاهرًا حتى دون فتح الرسالة أصلًا. لذلك فكر جيدًا ما الذي يمكن أن يجذب انتباهك أنت في أول خمس ثوان من قراءة الرسالة. 3. اجعل الرسالة شخصية سيكون هذا هو النص الوحيد الذي ستكتبه فعليًا، تلك الأنباء التي ستزفّها إلى عميلك لتلمس شخصه خاصة، وهنا يقوم القالب الجاهز بأغلب العمل ويذرك تصرف جهدك في أجزاء الرسالة التي تريدها أن تصل جيدًا إلى عميلك المحتمل. وتلك الخطوة مهمة جدًا في حالة رسائل المتابعة وإعادة فتح قنوات التواصل، وتتضمن طرق إضافة تلك اللمسة الشخصية إلى رسالتك ما يلي: استخدام أسماء الأشخاص والشركات والمنتجات. تأييد ما يفعل عميلك أو تأييد مهمة شركته. ذكر أي مخاوف أو مخاطر أو مشاكل تواجهه، وكيف يمكنك مساعدته في حلها. ذكر أي ملاحظات كنتَ قد ذكرتَها في محادثات سابقة. 4. احصل على نقد وطبّق ما فيه من المهم أن تحصل على نقد حول كيفية دخولك على العميل –أو إلى صندوق وارده-، فقد يطلب البعض ذلك النقد من عملائهم أو المستثمرين معهم ليساعدوهم على تجميع نقد حول قوالبهم البريدية. إليك بعض الأسئلة التي يمكن أن تطرحها: هل تفتح هذه الرسالة لو وصلتك؟ هل سترد عليها؟ ما هو الواضح فيها وما الأجزاء التي بدت غامضة؟ كيف أثّرَت تلك الرسالة على مشاعرك؟ خمس قوالب بريدية للمبيعات كتبها محترفون بما أننا تكلمنا قليلًا فيما سبق حول الطرق المثلى لاستخدام القوالب البريدية، دعنا الآن ننظر على هذه القوالب البسيطة التي يمكنها استخدامها في أي وقت تشاء. 1. اسم القالب: قالب الرسالة الباردة عنوان الرسالة: طلب سريع مرحبًا (اسم العميل) سأحاول اختصار هذه الرسالة لعلمي أنك قد تكون مشغولًا، أنا أعمل مع شركات مثل (اسم الشركات) لمساعدتها على (اذكر الفائدة التي تجنيها الشركات منك، مثل تسجيلات عملاء جدد). وأكثر ما يحبه عملاؤنا في شركتنا أننا (نقطة قوتكم الرئيسية، مثل أن جودة العملاء المحتملين قد زادت في منصتكم على مدار الستة أشهر الماضية، ومن ثم فقد رادت معدلات الاستجابة مرتين أو ثلاثة عن متوسط باقي السوق). وأنا أتمنى أن أعطيك أنت أو زميلًا لك عرضًا من عشرين دقيقة، هل يناسبك الثلاثاء القادم أو الأربعاء القادم؟ أطيب التحيات، (اسمك) 2. اسم القالب: متابعة عنوان الرسالة: متابعة بشأن اجتماعنا مرحبًا (اسم العميل) أشكرك على وقتك الذي قضيته هذا اليوم في تصفح شراكتنا المستقبلية، لقد شعرت أن منتجنا قد يساعدك في حل بعض المشاكل التي تجدها في شركتك، خاصة في هذه النقاط التالية: (ميزة 1) ستساعدك في (تحقيق هدف س) (ميزة 2) ستساعدك في (التغلب على عقبة ص) (ميزة 3) ستساعدك في (مسألة ل) وسأرفق لك بعض المصارد التي ستعطيك فهمًا أفضل للطريقة التي يمكننا أن نساعدك بها. إنني أتفهم أنك ستتناقش حول النقطة التالية في شركتك، وأرجو أن تطلعني إن كان لديك أية أسئلة أو إن كانت هناك أي طريقة يمكنني أن أساعدك بها، وإن لم يكن هنالك شيء فسأحدثك في (تاريخ/وقت). تحياتي، (الاسم) 3. اسم القالب: المواد بعد التواصل عنوان الرسالة: المواد بعد محادثتنا مرحبًا (اسم العميل) لقد استمتعت بحديثنا اليوم، خاصة ما ذكرت بشأن دورك في الشركة، وقد فهمت أنك تواجه بعض التحديات حول (المشاكل التي تناقشتما حولها)، وتأثيرها عليك. وكما وعدتك فإني أرفقت لك المصادر والمواد التي قد تساعدك على فهم كيف يمكننا مساعدتك بشكل أفضل لمعالجة هذه المشاكل وإحداث التغيير الذي تريد. أرجو أن تطلعني على أية أسئلة قد تكون لديك، وإن لم تكن ثمة أسئلة فأنا أتطلع إلى الحديث معك مجددًا في (تاريخ/وقت). تحياتي، (اسمك) 4. اسم القالب: إعادة فتح قنوات التواصل عنوان الرسالة: مرحبًا (اسم العميل) كيف الحال؟ أرجو أن تكون أمورك بخير. قد تذكرت أنك كنت مهتمًا بميزة (س) في المرة الماضية، وقد أحدثنا تطورًا ملحوظًا بشأنها وقد أعجب الحل الجديد كثيرًا من عملائنا. وأحب أن أشاركك بعض هذه التحديثات في أقرب وقت يناسبك، أخبرني رجاءًا إن كان (تاريخ/وقت) يناسبك، أو لا تتردد في أن تختار وقتًا أفضل. كما أتمنى أن تخبرني إن كان لديك أي أسئلة مسبقًا كي أجهز الإجابات لدي. تحياتي، (اسمك) 5. اسم القالب: قالب التقديم عنوان الرسالة: طلب مرحبًا (اسم العميل) لقد مر وقت منذ أن تحدثنا آخر مرة، وأتمنى أن تكون بصحة جيدة. دعني أولًا أسألك كيف هي أمورك وأخبار شركتك، وهل هناك فرصة لمساعدتك إلى جانب ما نفعله؟ ثانيًا، لدي طلب وأتمنى ألا تخيّب رجائي: باختصار، هل تعرف أحدًا من معارفك يمكنني أن أتواصل معه كي أرى إن كان بإمكاني مساعدته بنفس الطريقة التي عملنا بها معًا؟ إن كنت تستطيع تقديمي باختصار إلى شخص تظن أن بإمكاني مقابلته والتحدث معه حول تعاون مشترك فسأكون شاكرًا لك، وأعدك أن أعامل جيدًا. لكن يمكنك أن ترد على هذه الرسالة بـ"لا أستطيع التفكير في أحد الآن" إن شئت، وأنا شاكر في كل الأحوال لك على وقتك الذي ستمنحنا إياه. أطيب التحيات، (اسمك) ترجمة –بتصرف- لمقال Five Sales Email Templates to Get You Started – and How to Use Them Effectively لصاحبه James Campbell حقوق الصورة البارزة محفوظة لـ Freepik
  3. لعلك تدرك أن عملاءك الذين بنيت لهم مواقعهم باستخدام ووردبريس يرغبون أن يتواصلوا معك من أجل طرح أسئلتهم أو عرض مشاكلهم، وقد توفِّرُ لهم قناة تواصل من خلال لوحة إدارة الموقع، لكني أرى أن منتدى خاص للدعم الفني تجعله في الواجهة الأمامية (front end) لموقعك سيكون أفضل. وقد رأينا منافع مثل هذا المنتدى بأنفسنا إذ لدينا واحد في WMPU DEV، وهو منتدى نشط جدًا بالمناسبة، وإليك المنافع التي أقصدها: يعرض هذا المنتدى للأعضاء الحاليين والمحتملين الإمكانيات التي توفرها منتديات الدعم الخاصة بنا. يجيب عن أسئلة الأعضاء المشتركين فيه دون أن يضطروا لفتح تذاكر دعم فني جديدة. يزيد من كفاءة فريق الدعم إذ يوجّهون الأعضاء إلى منشورات سابقة إن كان السؤال مكررًا بدلًا من إجابة السؤال من جديد في كل مرة. يمكن أن تنظر إليه على أنه مرجع لمجتمع ووردبريس ككل، إذ أن أي مستخدم لووردبريس يمكنه استخدامه والاستفادة منه. وإن كنت تدير شبكة بها مواقع عديدة لأكثر من مستخدم واحد أو تقدّم خدمة الدعم الفني لعملائك عبر لوحات الإدارة الخاصة بمواقعهم فلعلك تستخدم إضافة Support System، وقد بدأت أنا شخصيًا باستخدامها حين أنشأت شبكة متعددة المواقع (Multisite Network) تتيح للمستخدمين أن ينشئوا مواقعهم الخاصة، ولا تزال تقدّم هذه الشبكة خدمة الدعم لمستخدميها عبر توفير طريقة يتصلون بي من خلالها من أجل الدعم الفني. لكن هذه الإضافة تمتد إلى ما وراء لوحات التحكم للمواقع، فيمكن أن تنشئ مساحات للدعم الفني في واجهة موقعك وتنشر البطاقات التي أجيب عليها في صفحة الدعم الخاصة بك، وذلك يسمح للمستخدمين أن يروا كل البطاقات التي أُجيب عليها، كما تقوم هي نفسها -مساحة الدعم الفني- مقام الدليل على خبرتك في ووردبريس وعلى الخدمة الممتازة التي تقدمها لعملائك، إضافة إلى كونها مرجعًا لمجتمع مستخدمي ووردبريس. وسأعرض لك في هذا المقال كيف تستخدم إضافة Support System لإنشاء منتدى للدعم الفني، إضافة إلى إنشاء نافذة للمستخدمين كي يطرحوا أسئلتهم، ثم نشر الإجابات على تلك الأسئلة في موقعك. وسيكون كل ذلك في الواجهة الأمامية لموقعك، رغم أن المستخدمين لديك سيرون بطاقات الدعم من خلال نوافذ لوحات التحكم الخاصة بهم. تثبيت وإعداد إضافة Support System سنضيف بعض التصنيفات للبطاقات ونضبط إعدادات الإضافة بمجرد تفعيلها -قم بتثبيتها إن لم تكن قد فعلت-. ونبدأ مباشرة في التصنيفات: اذهب إلى Support ثم Ticket Categories، وأنشئ تصنيفات كما لو كنت ستنشئ تصنيفات لمنشور عادي، ولأني أنشئ منتدى وهمي في ووردبريس من أجل الشرح فقط، فإن أسماء تصنيفاتي ستكون لها علاقة بهذا: والآن سنهيئ إعدادات الإضافة، اذهب إلى Support ثم Settings كي ترى صفحة الإعدادات العامة للإضافة، وسترى أنها تعطيك خيارات تتعلق بقائمة الدعم والرسائل البريدية وصلاحيات رؤية البطاقات. غيّر اسم القائمة، وحقل email from وعنوان البريد إن كان ضروريًا في حالتك. ثم ننتقل إلى صلاحيات الرؤية، قم بتحديد كل الخيارات من أجل أن يصل جميع المستخدمين إلى البطاقات. بمجرد أن تضغط على حفظ التغييرات نكون قد انتهينا من إعداد الإضافة وتهيئتها. إنشاء صفحات للمنتدى نحتاج أن ننشئ صفحة في الموقع للمنتدى من أجل أن يكون عامًا ويراه الناس ويفتحوا بطاقات دعم جديدة، فأنشئ صفحة ثابتة (static page) جديدة بالطريقة العادية، وسمّها Support، ثم لا تضف أي شيء إليها. كرر هذه الخطوة مع صفحتين أخرتين، وهما الصفحة التي سيرسل المستخدمون فيها بطاقات جديدة، والأخرى من أجل الأسئلة الشائعة، حيث ستكتب الأسئلة الشائعة لتجيب عن أكثر الأسئلة التي تدور بين المستخدمين. إليك مثالًا عن الصفحات التي أنشأتها: تفعيل واجهة الدعم الأمامية من أجل تفعيل الجزء الأمامي من الإضافة، اذهب إلى Support ثم Settings ثم Front End، وحدد المربع الخاص بخيار Activate Front End. وستظهر الآن عدة خيارات، فأتمّها كما يلي: Use Support System styles: اترك هذا الخيار محددًا ما لم ترد إضافة إعداداتك الخاصة. شخصيًا، لن أغيّر هذا إلا إن كان تخصيص السمة يتعارض مع تخصيص الإضافة. Support Page: اختر صفحة الدعم التي أنشأتها قبل قليل. Submit new ticket Page: اختر الصفحة التي أنشأتها قبل قليل لإرسال البطاقات. FAQs Page: اختر الصفحة التي أنشأتها للأسئلة الشائعة.- اضغط الآن على زر Save changes. إثراء صفحات الدعم بعد أن اخترتَ صفحاتك وفعّلتَ الواجهة الأمامية، يجب أن تضيف كودًا مختصرًا لكل صفحة من صفحات الدعم، عُد إلى صفحات الدعم وأضف الأكواد التالية: صفحة الدعم (Support Page): [support-system-tickets-index] صفحة إرسال البطاقات الجديدة (Submit new ticket Page): [support-system-submit-tickets-form] صفحة الأسئلة الشائعة (FAQs Page): [support-system-faqs] احفظ كل صفحة من تلك الصفحات، ثم أضفهم إلى قائمة التنقل في موقعك. لاحظ أنك لا تحتاج إلى تفعيل صفحة الأسئلة الشائعة في موقعك إن كنت تريد منتدى للدعم فقط ولا تريد أن تنشر الأسئلة الشائعة، لكن إن كنت تجد أن لديك أسئلة تتكرر كثيرًا فربما تكون هذه الصفحة مفيدة حينها. والآن حين يريد مستخدم أن يطرح سؤالًا فإنه سيذهب إلى صفحة الدعم ويختار Submit new ticket ليذهب إلى صفحة إرسال البطاقة. نشر بطاقات المشاكل التي حُلَّت يستطيع المستخدمون الآن أن يرسلوا بطاقاتهم بما أن المنتدى قد صار جاهزًا -ربما تود إضافة بعض تلك البطاقات بنفسك-، وستُنشَر تلك البطاقات بشكل آلي في موقعك بمجرد أن يتم حل المشاكل التي تُذكر فيها. إليك بعض البطاقات العشوائية التي أضفتها إلى موقعي من أجل توضيح المثال: والخطوة التالية الآن هي الإجابة على هذه البطاقات التي أُرسلت إليك، وحاول أن تفصّل الإجابة وتبيّنها إذ أنها ستُنشر على موقعك، إليك صفحة الدعم الخاصة بي: يستطيع المستخدمون في هذه المرحلة أن يرسلوا بطاقات جديدة أو يبحثوا في الموجودة مسبقًا، أو يقرؤوا البطاقات الموجودة مباشرة، وسأرى إجابة كل بطاقة قد أجيب عليها بمجرد النقر عليها: وأستطيع إضافة رد جديد إن مررت للأسفل، أو حتى شكر الشخص الذي أجاب وإخباره أن الحل قد نجح معي. وهنا تبدأ ثمرة هذا المنتدى بالظهور إذ يرى الناس حجم التجاوب والفائدة التي قد يحصلون عليها من المشاركة فيه. إضافة صفحات للتصنيفات سترى أنك إن ذهبت إلى صفحة الدعم في موقعك واخترت أي تصنيف فستظهر كل البطاقات التي تحت هذا التصنيف، ويمكنك استغلال هذا باستخدام ذلك الرابط الذي تم توليده لإنشاء صفحات في موقعك كما يلي: اذهب إلى كل تصنيف عبر النقر على الرابط في صفحة الدعم الخاصة بك، ثم انسخ الرابط الموجود في اللسان الذي ستأخذك إليه تلك النقرة، وأضف هذه الروابط كروابط مخصصة (custom URLs) في قائمة موقعك. يستطيع المستخدمون الآن أن ينتقلوا إلى تصنيف محدد في منتدى الدعم بالنقر على الروابط المخصصة في قائمة الموقع، إضافة إلى النقر على التصنيف في صفحة الدعم الأساسية. خاتمة إن إضافة منتدى للدعم الفني من شأنه أن يخدم عملاءك ويزكّي سمعتك، كما يقدم مرجعًا مفيدًا لعملائك وأي متابع أو مستخدم، وهذا صحيح في حالة منتدى الدعم عندنا في WMPU DEV، إذ يمثّل المنتدى مكانًا نساعد فيه مشتركينا على الاستفادة من ووردبريس بشكل عام، ومن منتجاتنا بشكل خاص. أضف إلى هذا أنك ستعرض مدى خبرتك بمجالك، فإن كنت تقدم إجابات مفيدة لأسئلة الناس فسيثقوا أنك خبير في ووردبريس، وهكذا تساعدك إضافة Support System على إنشاء منتدى دعم فني يخدمك ويخدم عملاءك على حد سواء. والآن أخبرني، هل تقدّم خدمات دعم فني لعملائك؟ وإن كان فكيف تفعلها، وهل جربت الإضافة الخاصة بنا والتي استعرضناها في هذا المقال؟ ترجمة -بتصرف- لمقال How to Set Up a Support Forum with the Support System Plugin لصاحبته Rachel McCollin
  4. قد يكون الاجتماع الذي يجب أن يعقده المدير مع الموظف حول الراتب هو أحد الاجتماعات غير المتوقعة على مدار العام، فهذا الموضوع حساس قليلًا سواء كان في محيط العائلة أو العمل أو الأصدقاء. ويجب أن يلعب المدير دورًا في المنتصف بين قسم الموارد البشرية والموظفين في مناقشة الزيادات في الرواتب، وفرص الحصول على علاوات -أوعدمها-، وكذلك عليه أن يتّبع خطوطًا حازمة في ذلك، لكن مع الحفاظ على سعادة الموظف في نفس الوقت. وقد ذهب فريق من Officevibe إلى أوستن -عاصمة تكساس- لحضور مؤتمر Compference الذي يقام لمدة يومين وينظمه فريق من خبراء المجال في PayScale، وسنلخص لك في هذا المقال ما تعلمناه في ذلك المؤتمر كي تتخلص من المشاكل التي تواجهك أثناء مناقشة الأجور. لاحظ أن الكلمات التي يجب أن تبقيها في ذهنك هي “السياق، والتواصل”، كما أني أريد أن أخبرك قبل أن نبدأ أنه حين نخوض نقاشات صعبة مع الموظفين، فليس المهم ما نقوله فقط، بل كيف نقوله أيضًا. أهمية التواصل بالسياق حول الأجور انظر معي إلى هذه الأرقام من PayScale كي تدرك أهمية السياق أثناء الحديث عن الأجور: يظن77% من الموظفين أن قرارات الأجور تبنى على بيانات قليلة. يظن 54% من الموظفين ذوي الأداء العالي أنهم يتقاضون رواتب أقل مما يستحقون. يظن 50% من الموظفين أنهم يتقاضون رواتب أقل من باقي السوق لمثل وظائفهم، وإن كانوا يتقاضون رواتب مثل السوق أو أعلى. إن الكلمة التي تكررت معنا في النقاط السابقة هي “يظن”، فما هي إﻻ افتراضات ﻷنهم ﻻ يملكون بيانات أو معلومات عن السياق، وهذه هي المشكلة. دعنا الآن ننظر في أهمية ذكر السياق في معادلة الحديث حول الأجور. أولًا: ذكر السياق يضع الأمور في نصابها ويشرح السبب وراء الأرقام المطروحة ولماذا تم اقتراحها. ثانيًا: ﻻ يوجد أحد يحب أن يبقى في الظلام، خاصة حين يتعلق الأمر بالطريقة التي يقيّمك بها شخص آخر. تخيل أن تُعطى رقمًا لكنك ﻻ تفهم معناه وﻻ دلالته، إن ذلك قد يدفع الموظف للجنون، ويشغل حيزًا كبيرًا في حقل أفكاره اليومية. ثالثًا: تخيل شعور المدراء حين يضطرون إلى إعطاء رقم -راتب- لموظف مع تقديم دلالة له، لكن دون معرفة حقيقية لكيفية تفسير دلالته، إن الأمر يشبه طلب التعليق على مباراة هوكي من شخص لم يشاهد مباراة في حياته. اﻷجر مسألة حساسة إن مسألة الأجور تحمل قدرًا عاليًا من الحساسية بذاتها، لذا فإن إعطاء معلومات خاطئة أو حتى التعبير عن المعلومات الصحيحة بطريقة خاطئة قد يؤدي إلى فقدان موظفيك للثقة فيك. ذلك أن مناقشة قيمة أحدهم بأي شكل كان لا تدور حول معادلات وحسابات فقط، فهناك مشاعر بشرية تتدخل في الأمر، لذلك يجب أن يكون المدراء قادرين على أن يقدموا تفسيرات صحيحة ومفصّلة. وتؤكد مجلة هارفارد بيزنس ريفيو بشدة على الحاجة لذكر السياق في مسألة الحديث حول الأجور مع الموظفين: ما هي مخاطر عدم النقاش حول الأجور؟ ببساطة، سيصل الموظفون إلى افتراضاتهم الخاصة حول الأجر الذي يتقاضوه، وحين تترك عقولنا طليقة فإنها تخرج بافتراضات قد تشطح بعيدًا بصاحبها. يقول مايكل ميتزيجر، المدير التنفيذي لpayScale: هذا يعني أن المشكلة لا تتعلق بمقدار المال فحسب، بل بالطريقة التي نتحدث بها عنه أيضًا، فهناك انفصام كبير بين الواقع وفهم واستقبال ذلك الواقع حين نتحدث عن اﻷجور، ونتيجة غياب هذه الشفافية أن الموظفين يتركون الشركة بحثًا عما يظنوه أفضل. الأمور الأساسية التي يجب أن يفهمها المدراء قبل الحديث حول الأجور حان الوقت لجعل المحادثة تسد تلك الفجوة بين ما يفهمه قسم الموارد البشرية عن الأجور، وبين ما يجهله الموظفون، وهنا يأتي دورك أيها المدير، وما سيلي هو ما يجب أن تعرفه، فإن لم تكن تتلقى تفسيرات حول الأجور فاطلب هذه التفسيرات وراء تلك الأرقام التي يُطلب منك إعطاؤها للموظفين، ﻷنها ستحدث فارقًا في علاقتك معهم. 1. فلسفة أجور الشركة ترتبط فلسفة أجور الشركة بأهدافها والقِيَم التي بُنِيَت عليها، ويجب أن يكون المدراء قادرين على الإجابة عن أي أسئلة لدى الموظفين حول الأجور بالتناسق مع تلك الفلسفة كي تتفق وجهات النظر عند الطرفين. الأسئلة المعتادة من الموظفين حول الأجور: لماذا تلك النسبة بالتحديد في الزيادة؟ لماذا حصلت على هذه العلاوة تحديدًا؟ كم سيزيد راتبي في العام المقبل؟ واعلم أنه كلما حصل الموظف على بيانات حول هذه الأسئلة كان سفيرًا لشركتك بدلًا من منتقِصٍ منها، فحيثما كان الفهم فإن التقدير ملازم له. 2. منظور تسعير السوق يجب تدريب المدراء على فهم موضع الشركة في السوق، فالقدرة على شرح هذه النقطة للموظفين الحاليين يعمل كأداة استبقاء لهؤﻻء الموظفين، تذكّر أن السياق يرجح بكفة أي شيء. إليك بعض العناصر المهمة التي يجب أن تبقى على اطلاع بها في شأن الأجور: كيف تضع الشركة أجورها تحديدًا. كيف تحافظ الشركة على تنافسيتها. من الذي تقارن نفسها به في السوق. هل للشركة سبق في السوق أم أنها متخلفة عن الركب. 3. منظور الشركة لتعديلات الأجور يجب أن يوفّر قسم الموارد البشرية في الشركة دليلًا لمناقشة الأجور مع كل الموظفين، سواء الجدد منهم حال توظيفهم في الشركة أو أولئك الحاليين الموجودين في الشركة، فقد تجذب بعض الأيدي العاملة إليك، ويجب اﻵن أن تحافظ عليهم، والطريقة التي تحافظ بها عليهم هي أن تبقى مطلعًا أنت وفريقك على نظرة الشركة للأجور، من خلال النقاط التالية: كيف تناقش زيادة الراتب مع الموظفين الحاليين. كيف تناقش الترقيات. كيف تناقش خفض درجة الموظف. كيف تناقش العلاوات. كيف تناقش تغير دور الموظف أو تغير المسمّى الوظيفي له. كيف تناقش إعادة تصنيف الوظائف. الحقيقة حول الأجور وتفاعل الموظفين لقد استنتجنا من الأبحاث الأخيرة أن الناس -خاصة جيل الألفية- ﻻ ينظرون إلى المال فقط حين يبحثون عن وظيفة، فهم يرغبون في التعلم والنمو والتواصل مع زملائهم، وأن يكونوا جزءًا من كيان أكبر، ويريدون أن يجدوا دافعًا وقيمة في كل يوم لهم في العمل. لكن هذا ﻻ يعني أن المال غير مهم أو أن الموظفين سيرضون بأقل مما يستحقون، بل يعني أنهم ما إن يحصلوا على أجر عادل ويشعروا بأن الشركة تقدّرهم، فسيهتموا أكثر بالنمو عوضًا عن المال. فالأجر في النهاية يحكي الطريقة التي تنظر بها الشركة إلى العاملين لديها، ولو رأى الموظف أن الأجر غير عادل ومجزئ فإنه سيغادر تلك الشركة، وتتحدث هارفارد بيزنس ريفيو عن تلك النقطة قائلة: الصلة بين الأجر وثقافة الشركة كما أن كل فرد في أي مؤسسة مسؤول عن تمثيل ثقافة الشركة وقيمها، فإن كل فرد فيها يجب أن يفهم أسلوب الشركة في الأجور، ﻷن ذلك جزء من الثقافة أيضًا داخل الشركة. هل لديك نصائح تشاركنا بها حول اﻷجور في التعليقات؟ كيف تتحدث مع الموظفين حول ذلك الموضوع؟ ترجمة -بتصرف- لمقال The secret to discussing pay with employees لصاحبته Ali Robins حقوق الصورة البارزة محفوظة لـ Freepik
  5. "بالتأكيد، يمكنني إنهاء ذلك المقال في ساعتين.”. إنني أعلم أن المقال الجيد يحتاج إلى أكثر من ذلك في الغالب، أنا أعلم هذا، ومديري يعلم هذا، لكننا وافقنا على تلك المهزلة رغم ذلك، وفي خلال ساعتين كنت قد جمعت بعض الكلمات ورميتها داخل مستند مع بعض الصور وأرسلتها إليه قائلًة: “ها هو المقال، أهو مناسب؟ أنا جاهزة للتعديلات إن وجدت.”. ثم جلست أنتظر رده الحتمي بفارغ صبر : “وهل تلك كلمات أصلًا؟ أعيدي كتابته.”. إن مثل هذه المواقف تشكل نقاطًا فارقة في حياتي، مواقف فظيعة ومؤلمة بدون داعي ﻷني كنت أمنح وعودًا فوق طاقتي. لكن من ناحية أخرى، من يريد أن يعِدَ بالقليل؟ فهذا يبدو سيئًا، أﻻ يجب أن نعدَ بأكثر من اللازم ثم نفعل ما بوسعنا؟ أليس الجهد هو الفيصل؟ كلا! ربما يرجع تاريخ استخدام البشر للوعود إلى آﻻف السنين، حيث مثّلت تقليدًا اجتماعيًا معقدًا، وتتفاقم عواقب خرق تلك الوعود التي عجز أصحابها عن الوفاء بها، وإليك في هذا المقال الأسباب التي أنصحك من أجلها أن تعِدَ بأقل مما ستسلّمه حقًا: لماذا نقطع وعودًا على أنفسنا؟ مثّلت الوعود ضمانة على أن شيئًا ما سيتم تنفيذه، فقد كانت الوسيلة الأبرز قبل المحاكم والقوانين والأنظمة الاجتماعية المعقدة، وﻻ زالت إحدى أهم الأدوات التي تساعدنا على التواصل مع غيرنا، وهذه هي الأسباب الأربعة التي نقطع وعودًا من أجلها: خلْق الالتزام. تنظيم وإرشاد السلوك. تقليل الحيرة. بناء الثقة. ويحفظ الناس وعودهم ﻷنها تساعدهم على بناء الأساسات اللازمة لحفظ علاقاتهم البشرية وتطويرها، فكلما كبر الوعد زادت ضرورة الالتزام بتنفيذه، فإن الوعود الكبيرة يتبعها توقعات كبيرة، وفي حالة الفشل في تحقيق تلك التوقعات فإن العقل يستجيب بتقليل إفراز الدوبامين، على عكس الحالة التي نحقق فيها تلك التوقعات أو نزيد عليها، إذ يزيد الدماغ من إفراز الدوبامين الذي يجعلنا نشعر بالسعادة، نحن ومن قطعنا له الوعد. إضافة إلى أن الوعود تخبر العالم من حولنا بمدى أهليتنا للثقة: في حالة حفظ الوعد: في حالة خرق الوعد: يحتاج عقلك إلى بعض الثبات، لذا نحن نصدّق من يخبرنا أنه سيفعل كذا وكذا ﻷن هذا يريح العقل البشري، لكن هذا الثبات يبدأ بالتلاشي إن لم يتم الوفاء بذلك الوعد، ﻷن ذلك ليس خرقًا للثقة والتوقعات فقط، بل هو انتهاك لأحد التقاليد الأساسية لدى البشر، ويتعدى أثر عدم الوفاء بذلك الوعدِ خيبةَ اﻷمل ليغيّر طريقة استقبال الناس لنا وتفاعلهم معنا. وعد الحر ديْن عليه وجدت دراسة أجرتها الباحثة الهولندية مانيلا فيث أن الوعود التي لا يوفَ بها تجعلنا نرغب في معاقبة أولئك الذين لم يفوا بها، بل والانتقام منهم أيضًا، وتؤثر تلك المشاعر على أي تفاعل مستقبلي بين الطرفين. تحليل لوعد لم يوفَ به إن عقلك يعرف أنك ستخرق الوعد الذي قطعته من قبل أن تنوي الاعتراف بذلك لنفسك، فقد اكتشف باحثون في سويسرا أن بإمكانهم توقع من سيخرق وعدًا قد قطعه بناءً على تفاعل الدماغ أثناء نموذج من ثلاث مراحل لوضع وعد بتنفيذ شيء ما. مرحلة الوعد لنقل أنك أخبرت زملاءك في العمل أنك ستساعدهم على إنهاء مشروع ما، فأنت لم تقرر قطعًا في هذه المرحلة ما إن كنت ستفي بهذا الوعد أم ﻻ، لكن عقلك سيدرك تناقضًا في نفسك لأنه يعرف أنك ﻻ تنوي الوفاء، وعليه فإنه ينشّط مراكز معالجة المشاعر السلبية. مرحلة الترقّب ستنتظر الآن رد فعل زملائك الذين أخبرتهم أنك ستساعدهم، لترى ما إن كانوا سيثقون بك أم لا، لكن ذلك الترقّب يرفع معدل اﻹجهاد عليك، وهو ما يلتقطه دماغك طبعًا إذ كان يجهزك للعواقب السلبية المحتملة لهذا الوعد. مرحلة اتخاذ القرار لقد قررت أن تخرق وعدك لزملائك بسبب انشغالك الزائد، لكن ذلك القرار سيعزز رد فعل في دماغك يشبه ذلك الذي يحدث عند الكذب أو الخداع، فتشعر ببعض الذنب والخوف من تأثير خرقك لهذا الوعد. وسيكافح دماغك هذا الشعور بتذكيرك بالسبب الذي جعلك تخرق وعدك من الأساس عبر تنشيط الجزء المسؤول عن صناعة القرار المرتبط بالمكافأة في دماغك. ثلاث طرق تساعدك على الوفاء بوعودك 1. سل نفس إن كان يجب أن تعطي وعدًا يجب أن يكون وعدك نابعًا من رغبة حقيقية في تنفيذ ما تريد أن تعِد به، فانظر ما تريد أن تحققه بإعطائك لهذا الوعد وما إن كان يمكن إعطاء وعد أقل منه. **فمثلًا: **لنقل أن اليوم هو الأربعاء، ولم تنه حتى نصف مشروعك، لكنك تعد بأنه سيكون منتهيًا بنهاية الأسبوع لأنك تريد أن تبهر زملاءك في العمل، لكنك نسيت المهام الأخرى التي يجب أن تنهيها. فقم بتقسيم المشروع إلى أجزاء صغيرة، وبدلًا من إعطاء وعد بأنك ستنهي المشروع في وقت غير منطقي، قل أن اﻷجزاء الفلانية من المشروع ستنتهي بتاريخ كذا، فإن ذلك يسمح لك بالتحكم في توقعات من حولك، ومتابعة إنجازك لما عليك من مهام، وستحافظ على إعجاب زملائك بك وعلى حفظك لوعدك. 2. عِد بأقل مما ستفعله قدّر الوقت الذي سيحتاجه المشروع ثم زد على ذلك ضعفه أو ثلاثة أمثاله -وفق حدود معقولة-، ولا تعط إجابة إن سئلت عن المدة اللازمة للمشروع إن لم تكن تعرف بالتحديد، وأخبرهم بدلًا من ذلك أنك سترد عليهم لاحقًا. مثال: إن كان المقال يستغرق مني ثلاثة أيام لكتابته، فسأقول أربعًا كي أحظى بوقت إضافي لربما استغرق بعض المقال أطول من المتوقع، أما إن أنجزته في أقل من أربعة أيام فإن ذلك سيجعل العميل سعيدًا. 3. في حالة الأسوأ قد نضطر أحيانًا إلى خرق وعودنا، فكن صريحًا وقدّم اعتذارًا فوريًا، فذلك يساعدك على حفظ علاقتك على المدى الطويل. فمثلًا: لنقل أني وعدت أن أنهي خمسة مقالات بنهاية الأسبوع، لكني لم أكتب إﻻ أربعة، إليك ما سأقول لمديري مباشرة: “قد استغرقت المقالات أطول مما توقعت لها، لذا سأنهي أربعًا فقط بنهاية الأسبوع، وسأختار موضوعات ليس فيها هذا التوسع في المرة القادمة.”. أرأيت؟ لقد وضحت السبب -وليس العذر- إضافة إلى الحل لتجنب حدوث هذا الموقف في المستقبل. وقد جعلتني الوعود المبالغ فيها أشعر أني في لعبة مطاردة، فأنجز نصف المشروع أحيانًا لمجرد أن أقول "أرأيت، إنه شبه تام …”، أما حين أعِد بأقل مما سأفعله فإني أبهر من حولي ونفسي أيضًا، فهذا يعطيني مساحة لإخراج أفضل ما بداخلي ويشعرني بالسعادة والفخر. واﻷمر في حقيقته يدور حول إعطاء نفسك زخمًا في كل مرة تنجح في تنفيذ وعد ما، إذ ستشعر أنك أكثر ثقة في نفسك وفي قدراتك، وسيرتبط اسمك بالثقة والإيجابية، وستتمكن من بناء أي علاقة تريدها في حياتك وتحافظ عليها أيضًا. ترجمة -بتصرف- لمقال Why you should always under-promise and over-deliver لصاحبته أندريا أيْريس
  6. PostgreSQL، هو نظام متطور مفتوح المصدر، كائنيّ الارتباط-Object Relational ﻹدارة قواعد البيانات، وهو نظام قابل للتوسع، بمعنى أنه يستطيع معالجة اﻷحمال المختلفة بدءًا من تطبيقات جهاز واحد إلى خدمات الويب التجارية التي تتعامل مع مستخدمين كثر في نفس الوقت. وهذا النظام Transactional أي يعامل النقل المتسلسل للبيانات -مثل تحديث قاعدة البيانات- كوحدة واحدة لضمان سلامتها، ويحقق خصائص ACID (Atomicity – Consistency – Isolation – Durability). وكذلك يدعم قسمًا كبيرًا من معايير SQL. فائدة: خصائص ACID هي أربعة خصائص يجب توافرها في تعاملات قواعد البيانات، وهي الذرية-Atomicity -أن تُنفَّذ العملية كوحدة واحدة-، والتناسق-Consistency، والعزل-Isolation، والثبات-Durability. ويوفر PostgreSQL العديد من المزايا مثل: الاستعلامات المعقدة-Complex Queries المفاتيح الأجنبية-Foreign Keys المشاهدات القابلة للتحديث-Updatable Views سلامة عمليات نقل البيانات-Transactional Integrity التحكم في التزامن متعدد الإصدارات-Multiversion Concurrency Control وذكرنا قبل قليل أنه قابل للتمدد والتوسع بواسطة مستخدميه عبر إضافة دوال-Functions جديدة، ومشغّلات-operators، وأنواع بيانات، وطرق فهرسة، ولغات إجرائية-Procedural Languages. ويقدّم PostgreSQL طرقًا عديدة لتكرار قاعدة بيانات، وسنتعلم في هذا الدليل كيفية إعداد تكرار من نوع (الرئيسي-Master/الثانوي-Slave)، وهي عملية مزامنة بين قاعدتي بيانات من خلال النسخ من قاعدة بيانات على خادم (الرئيسي) إلى قاعدة بيانات أخرى في خادم آخر (الثانوي)، وسننفذ هذه العملية على خادم يعمل بتوزيعة أوبنتو 16.04. المتطلبات أن يكون PostgreSQL 9.6 مثبتًا على خادم أوبنتو 16.04 إعداد UFW ثبّت جدار الحماية الناري غير المعقّد-Uncomplicated Firewall على خوادم أوبنتو، وهو أداة ﻹدارة جدار الحماية المعتمِد على iptables. استخدم الأمر التالي في الطرفية: # apt-get install -y ufw واﻵن، أضف PostgreSQL وخدمة SSH إلى جدار الحماية، عبر تنفيذ اﻷمر التالي: # ufw allow ssh # ufw allow postgresql فعّل جدار الحماية: # ufw enable إعداد خادم PostgreSQL الرئيسي سيمتلك الخادم الرئيسي صلاحيات القراءة والكتابة لقاعدة البيانات، وسيكون هو القادر على نقل البيانات إلى الخادم الثانوي. • افتح محررًا نصيًا وعدّل إعدادات PostgreSQL الرئيسية كما يلي: (ملاحظة: استبدل EDITOR$ بالمحرر النصي الذي تفضّله) # $EDITOR /etc/postgresql/9.6/main/postgresql.conf أزل التعليق (#) من سطر listen_addresses وأضف عنوان IP للخادم الرئيسي: listen_addresses = 'master_server_IP_address' واﻵن، أزل التعليق من سطر wal_level لتغيير قيمته: wal_level = hot_standby وأزل التعليق من السطر التالي كي تستخدم المزامنة المحلية-Local Syncing لمستوى المزامنة "Synchronization Level" synchronous_commit = local ثم أزل التعليق من السطرين التاليين، وعدلهما كما يلي، بما أننا نستخدم خادمين: max_wal_senders = 2 wal_keep_segments = 10 واﻵن احفظ الملف وأغلقه. عدّل ملف pg_hba.conf من أجل إعدادات التوثيق-Authentication، كما يلي: افتح الملف عبر هذا الأمر: # $EDITOR /etc/postgresql/9.6/main/pg_hba.conf الصق الإعدادات التالية: # Localhost host replication replica 127.0.0.1/32 md5 # PostgreSQL Master IP address host replication replica master_IP_address/32 md5 # PostgreSQL SLave IP address host replication replica slave_IP_address/32 md5 احفظ الملف وأغلقه، ثم أعد تشغيل PostgreSQL باستخدام systemctl # systemctl restart postgresql إنشاء مستخدم من أجل التكرار سننشئ مستخدم PostgreSQL من أجل عملية التكرار، فسجّل الدخول أولًا إلى حساب المستخدم المسمّىpostgres وافتح صدفة PostgreSQL، من خلال الأوامر التالية: # su - postgres $ psql أنشئ مستخدمًا جديدًا: postgres=# CREATE USER replica REPLICATION LOGIN ENCRYPTED PASSWORD 'usr_strong_pwd'; أغلق الصَّدَفة، وهكذا تنتهي إعدادات الخادم الرئيسي. إعداد الخادم الثانوي لن تكون للخادم الثانوي صلاحيات الكتابة في قاعدة البيانات، وستكون وظيفته الوحيدة هي استقبال البيانات من الخادم الرئيسي، أي ستكون له صلاحية القراءة فقط. • سنوقف أولًا خدمة PostgreSQL: # systemctl stop postgresql افتح ملف الإعدادات الرئيسية لـ PostgreSQL: # $EDITOR /etc/postgresql/9.6/main/postgresql.conf أزل التعليق من سطر listen_addresses وغيّر قيمته: listen_addresses = 'slave_IP_address' أزل التعليق من سطر wal_level وغيّره كما يلي: wal_level = hot_standby وأزل التعليق أيضًا من سطر synchronous_commit كما في الخادم الرئيسي للاستفادة من المزامنة المحلية-local syncing: synchronous_commit = local ثم أزل التعليق من السطرين التاليين وغيّر قيمهما كما يلي: max_wal_senders = 2 wal_keep_segments = 10 أزل التعليق من السطر التالي وغيّر قيمته كما يلي من أجل تفعيل hot_standby للخادم الثانوي: hot_standby = on احفظ الملف وأغلقه. نسخ البيانات من الخادم الرئيسي إلى الثانوي لكي نزامن بيانات الخادم الرئيسي مع الثانوي، فيجب أن يحل المجلد الأساسي “main” في الخادم الرئيسي محل المجلد الرئيسي في الخادم الثانوي، ونفعل هذا كما يلي: • سجل الدخول إلى مستخدم postgres: # su – postgres خذ نسخة احتياطية من مجلد البيانات الفعلي: $ cd/var/lib/postgresql/9.6/ $ mv main main_bak أنشئ مجلد أساسيًا جديدًا: $ mkdir main/ غيّر صلاحياته: $ chmod 700 main وهنا، انسخ المجلد الأساسي من الخادم الرئيسي إلى الخادم الثانوي باستخدام pg_basebackup: # pg_basebackup -h master_IP_address -U replica -D /var/lib/postgresql/9.6/main /-P –xlog وحين ينتهي النسخ، أنشئ ملف recovery.conf داخل المجلد الأساسي "main” وانسخ المحتوى التالي فيه: standby_mode = 'on' primary_conninfo = 'host=10.0.15.10 port=5432 user=replica password=usr_strong_pwd' trigger_file = '/tmp/postgresql.trigger.5432' واﻵن، احفظ الملف وأغلقه، ثم غير صلاحياته كما يلي: # chmod 600 recovery.conf شغّل خدمة PostgreSQL: # systemctl start postgresql وهنا تنتهي إعدادات الخادم الثانوي. الخلاصة لقد رأينا في هذا الدليل المبسّط كيفية ضبط تكرار Master/Slave في PostgreSQL عبر استخدام خادمين يعملان بأوبنتو. وهذه الطريقة في التكرار ما هي إﻻ إحدى طرق عديدة يوفرها نظام PostgreSQL لإدارة قواعد البيانات. ترجمة -بتصرف- لمقال PostgreSQL Replication on Ubuntu Tutorial لصاحبه Giuseppe Molica
  7. قد تكون أول عملية تعاقد مع العملاء مصدر رهبة لبعض المستقلين الذين يشقّون طريقهم في العمل الحر، إذ أنها تبدو معضلة تناقض نفسها، فلكي تحصل على أول عميل يجب أن يكون لديك عملاء سابقين يشهدوا لك بجودة عملك. لكن هذه الحالة لا تحدث دائمًا، وقد أتينا لك اليوم بثمانية مستقلين يشهدون على ذلك. فقد سألت مجتمع CloudPeeps أن يشاركونا بعضًا من قصص تعاقدهم مع أول عميل، ولم أجد فيما ذكروا قصة تشبه الأخرى! ليز كوتنهام، مصممة ومسوّقة - كيف حصلت على أول عميل لك في العمل الحر؟ "كنت أعمل كمديرة للتسويق في شركة كبيرة، وحدث أن نصحت زميلة لي غير سعيدة في وظيفتها أن تستقيل وتتجه إلى العمل الحر، وقد ردّت لي هذا الجميل حين قررت أنا أن أحذو حذوها بأن أوصت بي إلى أحد عملائها. وهكذا فإن هذه الوظيفة الأولى قد منحتني ثقة -ومالًا أيضًا- كي أستقيل وأنتقل إلى العمل الحر.” - هل لديك درس خرجت به من هذه التجربة تخبريننا به؟ "أحسن إلى كل من تقابله، فإن إحسانك ﻻ يضيع أبدًا، وتأكد أن تبقى على اتصال مع من حولك بين الحين والآخر كي ﻻ تخشى الاتصال بهم حين تحتاجهم من أجل عمل ما، فتلك الرسائل بين الحين والآخر تجنّبك اللوم على التواصل بعد أعوام من الهجر.” لوكلين ماكدونالد، مسوِّق رقمي وكاتب إعلانات - كيف حصلت على أول عميل لك؟ "كان أول عميل لي صديقًا لأحد أصدقائي قابلته قبل عدة أعوام وظللنا على اتصال على الفيس بوك، وقد كان في حاجة إلى محرر لنص كانت تعمل عليه شركته إذ كان يعمل في مجال إنتاج الأفلام، وتواصل معي بما أنه يعرف خلفيتي في الكتابة والتحرير.” - هل لديك درس خرجت به من هذه التجربة تخبرنا به؟ "يكاد كل العمل الحر الذي أحصل عليه يأتيني من طريق مشابهة للقصة التي ذكرتُ، وبرأيي فليس مهمًا أن تكون خبيرًا بمجالك، وإنما أن تعرف أشخاصًا يريدون توظيف شخص مثلك، وهنا تكمن أهمية العلاقات مع الناس بالنسبة للمستقلين.” أماندا جويراسيو، مصممة ومفسّرة علامات تجارية - كيف حصلت على أول عميل لك؟ "كان موقع Craigslist مصدرًا جيدًا للعملاء حين بدأت العمل الحر قبل عشر سنوات، وكنت أنشر إعلانات لخدماتي إضافة إلى الرد على إعلانات الوظائف التي أراها مناسبة لي، وكنت أمشّط كثيرًا من المدن الكبرى في الولايات المتحدة وليس فقط المدينة التي أسكن بها. لقد مررت بتلك المرحلة التي أرسل فيها إلى عشر عملاء وﻻ أتلقى ردًا إلا من واحد فقط، لكن ذلك الأسلوب أتى لي بأول بضعة عملاء ﻻ زال أحدهم عميلًا لي، رغم مرور عشر سنوات من أول عمل لنا معًا.” - هل لديك درس خرجت به من هذه التجربة؟ "أحيانًا تضطر إلى إرسال الكثير من الرسائل والعروض والاستعلامات كي تبدأ العجلة بالدوران، ربما تكون قد سمعت هذه النصيحة من قبل، لكن الأمر مجرد أرقام في حقيقته. أيضًا، فإن وجود موقع مميز لك -ليس حسابًا في فيس بوك أو بيهانس … إلخ- لهو نقطة كبيرة في صالحك من منظور العميل المحتمل.” إيرين فتزجيبن، كاتبة ومصوّرة - كيف حصلت على أول عميل لك؟ "إنني أرى الكتابة والتصوير زوجان ﻻ يفترقان، ولقد وقعت على الكتابة الحرة قدرًا إذ اشتركت في منحة صغيرة للأعمال ووظّفتني مرشدتي كي أكتب عن كرة القدم النسائية في كندا وأصور منها بعض المشاهد. وقد نصحتني أن أتواصل مع المجلات لأعرض خدمات الكتابة والتصوير معًا من أجل أن أزيد من فرصة قبول الناشرين لخدماتي، وساعدتني درجتي الجامعية في اللغة الإنجليزية على صقل مهاراتي.” - هل لديك درس خرجت به من هذه التجربة؟ "تعلّمت أن هناك الكثير من البرامج التي يمكنها أن تساعد رواد الأعمال على أن ينجحوا، وتعلّمت أن المرء يجب أن يستغل كل الفرص التي تأتي أمامه، فاقصد مركز الأعمال المحلّي في مدينتك واحرص على أن تستفيد من أولئك الناس الرائعين الذين ستقابلهم.” جولي، مسوّقة في LiuPierre - كيف حصلت على أول عميل لك؟ "بدأت في تقوية علاقاتي حين قررت أني سأترك وظيفتي، وتواصلت مع كل معارفي أخبرهم أني سأترك وظيفتي وأني سأكون متاحة للعمل بدوام جزئي. فتواصلت معي زميلة سابقة لي قائلة أن لديها عميلة في حاجة إلى من ينفّذ لها أعمالًا، وهكذا وقّعت على أول شراكة لي بعد بضع مقابلات.” - هل لديك درس خرجت به من هذه التجربة؟ "ﻻ تخشَ من طلب المساعدة” ميشيل زابوروجتز، مديرة شبكات اجتماعية - كيف حصلت على أول عميل لك؟ "لقد حصلت على أول عميل لي من خلال صفحة اﻷخبار في حسابي في فيسبوك!ن فقد نشر أحد أصدقائي من الجامعة منشورًا عن وظيفة تسويق حرة، وقد أوصى بي لمدير التوظيف، وحصلت على الوظيفة بعد اتصالين هاتفيين!” - هل لديك درس خرجت به من هذه التجربة؟ "ابحث في أي مكان عن الوظائف الحرة، لا أعرف كيف أشدّد أكثر على هذه النقطة، فإن انتشار العمل الحر يزيد يومًا بعد يوم، وإن الشركات ﻻ تهمل ذلك التوجه هذه الأيام، وقد وجدت وظائف حرة في كل مكان، من فيس بوك إلى CloudPeeps إلى لينكدإن، فكل ما عليك أن تبحث بعمق في كل موقع توظيف.” أكشاي ساكديفا، مستشار تسويق - كيف حصلت على أول عميل لك؟ "كنت جديدًا على عالم العمل الحر، فقد كنت أسافر كثيرًا وأردت أن أجد أول عميل لي بأسرع ما يمكن لتمويل أسفاري ولدفع فواتيري، فسجلت في منصات عمل حر كثيرة لكن لم أحصل على عملاء في أي منها، ووجدت الوظائف المتاحة فيها ذات أجور زهيدة. ثم سجّلت في CloudPeeps، وبدأت في وضع عروضي لكن لم أحصل على عملاء أيضًا، فجربت التواصل في مجتمع CloudPeeps على فيس بوك، وتحدثت مع ديفيد هاثاويي وأخبرته أني أبحث عن وظيفة، فأعطاني بعض النصائح لتطوير ملفي الشخصي، فطبّقتها مباشرة. وتواصل معي مرة أخرى بعدها بأيام قائلًا أن لديه عميلًا يبحث عن كاتب، وليس لديه وقت للعمل معه، وسألني ما إن كنت مهتمًا باﻷمر، فوافقت ﻻ شك.” - هل لديك درس خرجت به من هذه التجربة؟ “تواصل مع زملائك المستقلين وابحث عن فرص للمشاركة، واحرص على أن يكون معرض أعمالك مميزًا” ماريا ثومبسون، مخطِّطة تسويق بالمحتوى وكاتبة إعلانات - كيف حصلت على أول عميل لك؟ "كان أول عميل لي هي مدرِّبتي الصحية التي تعاقدت معها لبضعة أشهر، وكنا قد تحدثنا في مناقشات سريعة عن محتوى موقعها وتصميمه، ولما عرفت أني سأتجه للعمل الحر أرادت أن نعمل معًا.” - هل لديك درس خرجت به من هذه التجربة؟ "احرص على أن تطلب نقدًا من عملائك حين ينتهي المشروع، فمن السهل أن تنزع يدك من مشروع لتضعها في المشروع الذي يليه، لكن ذلك الوقت الذي تقضيه بعد كل مشروع في مثل هذا النقد يطوّر من مهاراتك في المستقبل، كما أن الأمر يقوّي أواصر العلاقة بينك وبين عميلك. واحرص كذلك على تجميع بيانات تستخدمها في كتابة دراسة حالة لذلك المشروع، فهذا سيخبر عملاءك المحتملين في المستقبل عن أعمالك بشكل أكثر وضوحًا.” وهكذا، من إعلانات Craigslist إلى فيس بوك، هناك الكثير من الطرق التي يمكن أن تحصل بها على عميلك الأول، خاصة إن كنت تفكر خارج الصندوق. وإنني أتمنى أن تكون هذه القائمة قد أعطتك بعض الأفكار العملية التي يمكنك تطبيقها للحصول على عملاء جدد. ترجمة -بتصرف- لمقال Eight freelancers reveal how they got their first client لصاحبته Amy Rigby حقوق الصورة البارزة محفوظة لـ FreeVector
  8. Django هو إطار عمل مرن يستخدم ﻹنشاء تطبيقات بلغة بايثون، وهذه التطبيقات مُجهزة تلقائيًا لتخزين البيانات في ملف قاعدة بيانات SQLite خفيف ويعمل بشكل جيد في الاستعمالات العادية والصغيرة، لكن استخدام نظام إدارة قواعد بيانات تقليدي سيطوِّر أداء التطبيق تحت ضغط زيادة المستخدمين أو زيادة حجم البيانات. وسنستعرض في هذا الدرس كيفية تثبيت وتهيئة PostgreSQL لاستخدامها مع تطبيقات Django، وسنثبّت الحزم اللازمة وننشئ اعتماديات قاعدة البيانات للتطبيق، ثم نبدأ مشروع Django جديد ونجهّزه ليستخدم هذه اﻹعدادات. المتطلبات خادم يعمل بتوزيعة أوبنتو 16.04 مع مستخدم -غير الجذر- له صلاحية sudo. تثبيت الحزم من مستودعات أوبنتو سنثبّت أولًا pip -مدير حزم بايثون- لتثبيت وإدارة حزم بايثون، وسنثبّت أيضًا برنامج قاعدة البيانات والمكتبات اللازمة للتفاعل معهم. يحتاج إصدار بايثون 2 و3 إلى حزم مختلفة قليلًا عن بعضها، لذا اختر الأوامر التي تتوافق مع إصدار بايثون لديك. انسخ الأوامر التالية إن كنت تستخدم بايثون 2: $ sudo apt-get update $ sudo apt-get install python-pip python-dev libpq-dev postgresql postgresql-contrib وهذه إن كنت تستخدم بايثون 3: $ sudo apt-get update $ sudo apt-get install python3-pip python3-dev libpq-dev postgresql postgresql-contrib يمكننا الآن إنشاء قاعدة البيانات بما أننا أنهينا تثبيت هذه الحِزّم. إنشاء قاعدة البيانات والمستخدم الخاص بها يستخدم Postgres نظام توثيق للاتصالات المحلية اسمه "توثيق النِّدّ Peer Authentication”. وهذا يعني أنه إذا كان اسم المستخدم في نظام التشغيل يطابق اسم Postgres صالح، فإن هذا المستخدم يمكنه الولوج دون الحاجة إلى توثيق. وقد أُنشئ مستخدم للنظام اسمه postgres ليتوافق مع مستخدم postgres المدير لنظام PostgreSQL، وسنحتاج هذا المستخدم لتنفيذ مهام إدارية، ويمكننا أيضًا أن نستخدم sudo وندخل اسم المستخدم من خلال لاحقة u-. سجل الدخول إلى جلسة Postgres تفاعلية عبر كتابة الأمر التالي: $ sudo -u postgres psql وسننشئ أولًا قاعدة بيانات لمشروع Django، ويجب أن يكون لكل مشروع قاعدة البيانات الخاصة به للدواعي الأمنية. وسنسمّي قاعدة البيانات في هذا المقال باسم myproject، لكن من اﻷفضل طبعًا أن تختار اسمًا يصلح لمشروع حقيقي. ملاحظة: تذكر أن تنهي كل الأوامر في محث SQL بفاصلة منقوطة ; postgres=# CREATE DATABASE myproject; أنشئ مستخدمًا لقاعدة البيانات، وسنستعمله للاتصال بقاعدة البيانات والتفاعل معها، وﻻ تنسَ أن تستبدل myprojectuser باسم قاعدة البيانات الذي اخترته، وتغيّر password بكلمة سر قوية: postgres=# CREATE USER myprojectuser WITH PASSWORD 'password'; واﻵن سنعدّل بعض معاملات الاتصال لهذا المستخدم لتسريع عمليات قاعدة البيانات بما أن القيم الصحيحة لن تضطر إلى أن تمر بعمليات استعلام وضبط في كل مرة يحدث اتصال. فسنضبط الترميز الافتراضي على UTF-8 وهو الترميز الافتراضي الذي يتوقعه Django. وسنضبط النظام الافتراضي لعزل التعاملات "default transactio isolation scheme” على read committed، وذلك لحظر القراءة من التعاملات غير المرسلة "uncommitted transactions”. وأخيرًا، سنضبط المنطقة الزمنية الافتراضية لمشاريع Django على UTC. وهذه الإعدادات يُنصح بها في التوثيق الرسمي لمشروع Django، دعنا نكتب ذلك الآن: postgres=# ALTER ROLE myprojectuser SET client_encoding TO 'utf8'; postgres=# ALTER ROLE myprojectuser SET default_transaction_isolation TO 'read committed'; postgres=# ALTER ROLE myprojectuser SET timezone TO 'UTC'; وكل ما نحتاجه الآن هو إعطاء مستخدم قاعدة البيانات صلاحيات الوصول لقاعدة البيانات التي أنشأناها للتو: postgres=# GRANT ALL PRIVILEGES ON DATABASE myproject TO myprojectuser; اخرج الآن من محث SQL: postgres=# \q تثبيت Django في بيئة افتراضية يمكننا تثبيت Django الآن بما أن قاعدة بياناتنا قد صارت جاهزة، وسنثبته وكل اعتمادياته داخل بيئة بايثون افتراضية لتحقيق مرونة أكثر، وستتيح لنا حزمة virtualenv إنشاء هذه البيئات بسهولة. اكتب هذا السطر في الطرفية لتثبيت virtualenv إن كنت تستخدم Python 2: $ sudo pip install virtualenv وهذا إن كنت تستخدم Python 3: $ sudo pip3 install virtualenv أنشئ مجلدًا جديدًا باسم مشروعك (استبدل اسم مشروعك بـ myproject الذي اخترناه هنا لغرض المثال فقط)، ثم انتقل داخله: $ mkdir ~/myproject $ cd ~/myproject اكتب السطر التالي لإنشاء بيئة افتراضية لتخزين متطلبات بايثون لمشروع Django الخاص بنا: $ virtualenv myprojectenv وذلك سيثبّت نسخة محلية من بايثون وأمر pip محلي داخل مجلد اسمه myprojectenv داخل مجلد مشروعك. نحتاج الآن إلى تفعيل البيئة الافتراضية قبل تثبيت البرامج داخلها، ويمكننا فعل ذلك عبر الأمر التالي: $ source myprojectenv/bin/activate سيتغير المحثّ الآن ليشير إلى أنك تعمل الآن داخل بيئة افتراضية وسيبدو شبيهًا بهذا: (myprojectenv)user@host:~/myproject$ ويمكننا الآن تثبيت Django باستخدام pip، ثم سنثبت psycopg2 التي ستتيح لنا استخدام قاعدة البيانات التي أعددناها: (ﻻحظ أنه يجب استخدام أمر pip وليس pip3 داخل البيئة الافتراضية بغض النظر عن نسخة بايثون التي لديك) (venv) $ pip install django psycopg2 يمكننا الآن أن نبدأ مشروع Django داخل مجلد المشروع (myproject في حالتنا)، وسينشئ هذا مجلدًا فرعيًا بنفس اسم مجلد المشروع ليحتوي الشفرة البرمجية، إضافة إلى مخطوطة إدارية "management script” داخل المجلد الحالي، ﻻ تنس إضافة النقطة التي في آخر الأمر التالي كي ﻻ يُنشأ مستوى فرعي جديد في المجلد: (venv) $ django-admin.py startproject myproject . سنضبط الآن مشروعنا ليستخدم قاعدة البيانات التي أنشأناها، افتح ملف الإعدادات الرئيسية لمشروع Django الموجود في المجلد الفرعي للمشروع: (ملاحظة: استبدل مشروعك بـmyproject) (myprojectenv) $ nano ~/myproject/myproject/settings.py ستجد قسم DATABASE في نهاية الملف، وسيبدو مشابهًا لهذا: . . . DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } . . . هذا القسم يستخدم SQLite كقاعدة بيانات، ونريد تعديل هذه لكي يستخدم قاعدة بيانات PostgreSQL الخاصة بنا. فأول ما نفعله هو تغيير المحرك كي يستخدم محوّل postgresql_psycopg2 بدلًا من sqlite3، ثم نستخدم اسم قاعدة بياناتنا (myproject في مثالنا) في خانة NAME، ونضيف بعض بيانات تسجيل الدخول مثل اسم المستخدم وكلمة المرور، والمضيف الذي سيتصل به، وسنضيف خانة Port ونتركها فارغة كي يتم اختيار المنفذ الافتراضي: . . . DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'myproject', 'USER': 'myprojectuser', 'PASSWORD': 'password', 'HOST': 'localhost', 'PORT': '', } } . . . وبما أننا في الملف، فقد تحتاج إلى تعديل تعليمة ALLOWED_HOSTS التي تحدد قائمة عناوين أو أسماء نطاقات مسموح باستخدامها للاتصال مع مشروع Django، فأي طلب اتصال بترويسة HOST ليس في هذه القائمة سيتم اعتراضه. ويتطلّب Django أن تعدّل هذه التعليمة كي يمنع فئة معينة من الاختراقات الأمنية. ولتعديل هذه التعليمة، أدخل -بين قوسين مربعيْن- عناوين IP أو أسماء النطاقات المرتبطة بخادم Django الخاص بك ويجب أن يكون كل نطاق أو عنوان IP داخل علامتي تنصيص مفردتيْن، وتفصل بين كل واحد منهم فاصلة ",”. وإن رغبت في الاستجابة لطلبات من نطاق ما إضافة إلى النطاقات الفرعية له فضع نقطة قبله أثناء كتابته. إليك أمثلة تعرض لك الطريقة الصحيحة لصيغة هذه التعليمة، استبدل النطاقات وعناوين الـ IP التي تريدها بالأمثلة الموجودة هنا: . . . # أبسط حالة: اكتب العناوين وأسماء النطاقات لخادم چانجو الخاص بك # ALLOWED_HOSTS = [ 'example.com', '203.0.113.5'] # ابدأ اسم النطاق بنقطة للاستجابة له ولأي نطاق فرعي # ALLOWED_HOSTS = ['.example.com', '203.0.113.5'] ALLOWED_HOSTS = ['your_server_domain_or_IP', 'second_domain_or_IP', . . .] واﻵن احفظ الملف وأغلقه. نقل قاعدة البيانات واختبار مشروعك يمكننا الآن نقل هياكل البيانات -بما أننا أنهينا ضبط إعدادات Django- إلى قاعدة بياناتنا واختبار الخادم. سنبدأ بإنشاء هيكل ابتدائي لقاعدة البيانات بما أننا ﻻ نملك أي بيانات حقيقية بعد: (myprojectenv) $ cd ~/myproject (myprojectenv) $ python manage.py makemigrations (myprojectenv) $ python manage.py migrate أنشئ حسابًا إداريًا: (myprojectenv) $ python manage.py createsuperuser وسيطلب منك النظام اختيار اسم لمستخدم هذا الحساب وعنوان بريد وكلمة مرور له. انتبه هنا إلى أنه يجب فتح المنفذ الذي سنستخدمه في الجدار الناري كي نتمكن من الدخول إلى خادم تطوير Django، إن كنت تستخدم UFW فإن فتح المنفذ المناسب يتم بكتابة هذا الأمر: (myprojectenv) $ sudo ufw allow 8000 وبمجرد أن تفتح المنفذ يمكنك اختبار عمل قاعدة البيانات بتشغيل خادم Django: http://server_domain_or_IP:8000 يجب أن ترى صفحة index الافتراضية: ضعadmin/ في نهاية الرابط، يجب أن يدخلك هذا لشاشة تسجيل الدخول إلى واجهة التحكم: أدخل اسم المستخدم وكلمة المرور اللتان أنشأتهما قبل قليل باستخدام createsuperuser، فتدخل إلى لوحة التحكم: وبدخولنا للوحة التحكم نكون قد تأكدنا أن قاعدة البيانات قد خزّنت معلومات حساب المستخدم الخاص بنا ويمكننا الدخول إليه دون مشاكل. يمكنك الآن إيقاف الخادم حين تنتهي من تحققك بالضغط على ctrl-c داخل شاشة الطرفية. الخلاصة قد عرضنا في هذا الدليل كيفية تثبيت وإعداد PostgreSQL كقاعدة بيانات في النهاية الخلفية لمشروع Django، إذ تستفيد أغلب المشاريع من استخدام نظم إدارة متطورة لقواعد البيانات، رغم أن SQLite تتعامل بشكل جيد أثناء تطوير المشروع وأثناء الاستخدام الخفيف له. ترجمة -بتصرف- لمقال How To Use PostgreSQL with your Django Application on Ubuntu 16.04 لصاحبه Justin Ellingwood.
  9. إن بحثًا سريعًا في جوجل عن "Working from home” سيعطيك نتائج متباينة من شخص جالس على الأرض محاطًا بحيوانات أليفة إلى أشخاص يحملون أطفالهم أثناء تلقي مكالمات هاتفية، أو يرتدون ملابس النوم أثناء العمل. وصحيح أن كثيرًا من هذه الأمور ﻻ يمكنك فعلها دومًا في شركة عادية ذات مكتب تقليدي، إﻻ أن ما تحاول هذه الصور أن ترسمه هو أن الناس تربط العمل عن بعد بالحرية، سواء حرية ارتداء ما تريد، أو حرية قضاء وقت أكثر مع عائلتك، أو حتى حرية التواجد حول حيوانات أليفة، إن كان هذا ما تريده! وأميل إلى أن العمل عن بعد وخاصة من المنزل يتيح حرية أكبر من المكتب التقليدي، لكن من منظور آخر، فإن ذلك النمط يحتاج إلى تحكم في النفس وحدودًا للعمل، على عكس العمل من مساحات العمل المشتركة أو المقاهي حيث يمكنك الفصل بين المنزل والعمل. أضف إلى هذا أن العمل من المنزل يعني أن من السهل قضاء اليوم كله في السرير، وهذا ما يفعله بعض الناس وفقًا لدراسة وجدت أن 80% من العاملين الشباب يعملون وهم في أسرّتهم. وقد تجنبت ذلك النمط طيلة حياتي المهنية حتى الآن، فوضعت قاعدة لنفسي حين بدأت العمل في Buffer أني لن أعمل أبدًا في السرير، وسأوضح لك في هذا المقال ثلاثة أسباب لهذا. 1. غرفة النوم لن تكون مريحة من الجيد أن تأكل في مكان ﻻ ترتاح فيه، وتنام في مكان ﻻ تعمل فيه، فقد عملت فترة من شقتي واستطعت أن أخصص مساحات مختلفة للأكل والعمل والنوم، رغم أن العمل وتناول الطعام في مكان واحد كان ليكون أسهل بكثير. ويؤكد قسم طب النوم في هارفارد فكرة أن العمل يجب ألا يكون من نفس المكان الذي تنام فيه، فيقولون "إبقاء الحواسيب وأجهزة التلفاز ومواد العمل خارج غرفة الراحة سيزيد من العلاقة بين النوم وغرفة النوم في ذهنك". ذلك يعني أنك إن كنت تعمل من سريرك فسيصبح من الصعب عليك أن تنام بينما ﻻ يزال عقلك يظن أنك في مكان للعمل. 2. الفصل بين العمل والمنزل قد يصعب التفرقة بين عملك وحياتك العادية إن كنت تعمل من المنزل ما لم تغادره إلى مقهى أو مساحة عمل مشتركة، ذلك أن مكان العمل والراحة قريبان من بعضهما، فمن السهل أن تخلط الاثنين معًا، رغم أن الأفضل طبعًا ألا تفعل. فوفقًا لدليل من مراجعات أعمال هارفارد HBR لزيادة إنتاج الفرد العامل:“قد تبدأ في الإحساس أنك دومًا في العمل، وتفقد مكانًا تخصصه كبيت لك". ذلك أن كونك "دومًا في العمل" ليس فكرة سديدة لحياة متوازنة، فهذا سبب آخر لكي تبقى بعيدًا عن السرير أثناء العمل، مع الحفاظ على تخصيص مساحة للعمل وأخرى للراحة. 3. قلة جودة النوم إن عملي من السرير يعني أني أصطحب حاسوبي المحمول أو هاتفي أحيانًا إلى السرير، وأكاد أجزم أن هذا يحدث لكثير من الناس من أمثالي أيضًا، لكن هذا سيؤثر سلبًا على جودة نومي، فالعمل قبل النوم مباشرة -خاصة مع النظر إلى شاشة زاهية- يقلل الميلاتونين الذي تحتاجه للنوم، هذا يعني أنك ستعاني أكثر من أجل نوم أفضل، ومن ثمّ سيتأثر إنتاجك في اليوم التالي. فهذه تعد معادلة خاسرة من كلا الطرفين، إذ أنك ستخسر حياتك العملية بسبب قلة إنتاجك، وراحتك في المنزل بسبب سوء نومك. ما يجب أن تفعله بدلًا من العمل من السرير هناك الكثير من الأمور التي يمكننا فعلها لتجنب العمل من السرير مع الحفاظ على نوم صحي وضمان إحساسنا بالراحة في منازلنا، ولزيادة إنتاجنا في اليوم التالي، إليك اثنين من هذه الأمور: 1. احفظ أجهزتك بعيدًا عن السرير ﻻ تحضر هاتفك أو حاسوبك المحمول إلى سريرك كي ﻻ تضطر إلى العمل من هناك، ذلك يعزز في نفسك أهمية خلق مساحة لسريرك وغرفة نومك ﻻ ينازعها العمل. وهكذا تنام بشكل أفضل وتفصل بين العمل والمنزل، كي ﻻ تشعر أنك تعمل طول اليوم. 2. أنشئ مساحة خاصة للعمل بما أن العمل ﻻ يجب أن يكون في سرير نومك كما ذكرنا مرارًا هنا، فإن المنطق يقتضي أن يكون له مساحة خاصة به، ولو كانت في منزلك، فقد تكون منطقة في المنزل أو مجرد منضدة، وإن كان الفصل صعبًا عليك في حالتك، فربما يحسن بك أن تبحث في مقهى قريب أو مساحة عمل مشتركة كي تساعدك على تحقيق هذا العازل بين المنزل والعمل. مزيد من نصائح العمل عن بعد لقد صممنا هذا المقال ليكون مصاحبًا لدليل تريللو : كيف تقدّر العمل عن بعد، فألق نظرة عليه للاطلاع على خطط جديدة لتنظيم العمل عن بعد. واعلم أن نومًا سليمًا يعني إنتاجية أكثر في اليوم التالي ونشاطًا أكبر كذلك، إضافة إلى أن ذلك أساسي لمن يعملون عن بعد على المدى البعيد لتحقيق هذا العازل الذهني والجسدي بين المنزل والعمل. هل جربت أن تعمل من سريرك أنت أيضًا؟ أحب سماع خواطرك حول الأمر، وعن أي طريقة تتبعها للفصل بين راحتك وعملك في التعليقات هنا! ترجمة -بتصرف- لمقال The Science Behind Why We Should Never Work From Bed لصاحبته Hailley Griffis حقوق الصورة البارزة محفوظة لـ Freepik
  10. تستخدِم محركات البحث تقنية بحث النصوص الكاملة (Full-Text Search (FTS للبحث عن نتائج في قاعدة بيانات ما، وهي تقنية مفيدة في تقوية نتائج البحث في مواقع مثل المتاجر الرقمية ومحركات البحث والجرائد وغيرها. ويتلخص ما تفعله FTS في جلب المستندات “documents” وهي وحدات من قواعد البيانات تحتوي بيانات نصية ﻻ تتطابق بشكل كامل مع نصوص البحث، فمثلًا حين يبحث مستخدم ما عن “cats and dogs” فإن التطبيق المزوّد بـتقنية بحث النصوص الكاملة سيُظهر نتائج تحتوي الكلمتين dogs وcats بشكل منفصل، أو بترتيب معكوس “dogs and cats”، أو صور مختلفة من هذه الكلمات (cat أو dog)، وذلك يعطي أفضلية للتطبيقات في تخمين قصد المستخدم وإظهار نتائج بحث مرتبطة بما يريده وبسرعة أكبر. وتسمح أنظمة إدارة قواعد البيانات مثل PostgreSQL بعمليات بحث نصية بشكل جزئي باستخدام بنود LIKE، لكن هذه العمليات تعطي عادةً أداء دون المستوى مع البيانات الكبيرة، كما أنها مقيَّدة بمطابقة مدخلات المستخدم الحرفية، وهذا يعني أن استعلامًا ما أو بحثًا عن بيانات معينة قد ﻻ يعطي أي نتائج، حتى لو كانت هناك مستندات عن معلومات مرتبطة بهذا البحث. أما باستخدام FTS فيمكنك بناء محرك بحث قوي للنصوص دون الحاجة لاعتماديات جديدة على أدوات أكثر تطورًا، وسنستخدم نظام PostgreSQL في هذا المقال لتخزين بيانات تحتوي مقالات لموقع أخبار افتراضي، ثم نتعلم كيف نبحث في قاعدة البيانات باستخدام FTS، واختيار أفضل النتائج فقط. ثم سنقوم ببعض التحسينات في الأداء لعمليات بحث النصوص الكاملة. المتطلبات خادم مثبت عليه أوبنتو 16.04 به مستخدم يملك صلاحيات `sudo`، ﻻ أن يكون هو المستخدم الجذر. خادمPostgreSQL، وسنستخدم نحن قاعدة بيانات ومستخدم باسم `sammy` كمثال. ملاحظة: تأكد أن يكون لديك حزمة postgresql-conrib عبر تنفيذ الأمر التالي في الطرفية: sudo apt-get list postgresql-contrib الخطوة الأولى: إنشاء بيانات وهمية من أجل الشرح سنحتاج إلى بعض البيانات من أجل استخدامها في اختبار إضافة FTS، لكن إن كان لديك جدول به قيم نصية جاهزة فيمكنك أن تنتقل إلى الخطوة التالية مباشرة وتستبدل قيمك بالقيم الموجودة هنا، أما إن لم يكن لديك فاتبع ما يلي: اتصل بقاعدة بيانات PostgreSQL من خلال الخادم الخاص بها، ولن تحتاج كلمة مرور لأنك تتصل من نفس المضيف “host”: sudo -u postgres psql sammy وهذا الأمر سيفتح جلسة PostgreSQL تفاعلية ظاهر بها اسم قاعدة البيانات الذي نعمل عليها -sammy في حالتنا-، فيجب أن ترى =#sammy في محث قاعدة البيانات. أنشئ جدولًا وسمّه news، وسيمثِّل كل مدخل في هذا الجدول مقالًا بعنوان وجزء من المحتوى والكاتب، إضافة إلى معرّف فريد: sammy=# CREATE TABLE news ( sammy=# id SERIAL PRIMARY KEY, sammy=# title TEXT NOT NULL, sammy=# content TEXT NOT NULL, sammy=# author TEXT NOT NULL sammy=# ); إن نظرنا للجدول السابق، فإن id هو معرّف الجدول الأساسي مع النوع الخاص SERIAL المسؤول عن زيادة هذا المعرف بشكل تلقائي للجدول، وذلك معرّف فريد سنتحدث عنه أكثر في الخطوة الثالثة حين ننظر في تحسينات الأداء. واﻵن أضف بعض البيانات للجدول باستخدام أمر INESRT، ستمثل هذه البيانات الوهمية بالأسفل بعض مقالات الأخبار: sammy=# INSERT INTO news (id, title, content, author) VALUES sammy=# (1, 'Pacific Northwest high-speed rail line', 'Currently there are only a few options for traveling the 140 miles between Seattle and Vancouver and none of them are ideal.', 'Greg'), sammy=# (2, 'Hitting the beach was voted the best part of life in the region', 'Exploring tracks and trails was second most popular, followed by visiting the shops and then checking out local parks.', 'Ethan'), sammy=# (3, 'Machine Learning from scratch', 'Bare bones implementations of some of the foundational models and algorithms.', 'Jo'); سنجرب الآن بعض عمليات البحث بما أننا أدخلنا بعض البيانات التي يمكن البحث والاستعلام عنها. الخطوة الثانية: تجهيز المستندات والبحث فيها أول خطوة هنا هي بناء مستند واحد بأعمدة نصوص متعددة من جدول قاعدة البيانات، ثم يمكننا تحويل النتائج بعدها إلى متَّجَه من الكلمات نستخدمه في عمليات البحث. ملاحظة: يستخدم خرج psql في هذا الدليل تهيئة expanded display والتي تعرض كل عمود من الخرج في سطر جديد لتسهيل عرضها على الشاشة. يمكننا تفعيلها كما يلي: sammydb=# \x يجب أن يكون الخرج هكذا: Expanded display is on. سنحتاج أولًا إلى جمع كل الأعمدة معًا باستخدام دالتي التسلسل `||` والتحويل `()to_tsvector` في PostgreSQL: sammy=# SELECT title || '. ' || content as document, to_tsvector(title || '. ' || content) as metadata FROM news WHERE id = 1; سيخرج لنا هذا أول سجلّ كمستند كامل باﻹضافة إلى نسخته التي سنستخدمها في البحث: -[ RECORD 1 ]----------------------------------------------------- document | Pacific Northwest high-speed rail line. Currently there are only a few options for traveling the 140 miles between Seattle and Vancouver and none of them are ideal. metadata | '140':18 'current':8 'high':4 'high-spe':3 'ideal':29 'line':7 'mile':19 'none':25 'northwest':2 'option':14 'pacif':1 'rail':6 'seattl':21 'speed':5 'travel':16 'vancouv':23 ربما تلاحظ أن هناك كلمات أقل في النسخة المحوّلة metadata في الخرج السابق عن النسخة الأصلية document، وبعض الكلمات مختلفة، وكل كلمة لديها فاصلة منقوطة ; ورقم ملحق بها، وذلك ﻷن دالة ()to_tsvector تنسّق كل كلمة كي نستطيع إيجاد صور مختلفة منها، ثم تصنف النتائج أبجديًا، وذلك الرقم هو موضع الكلمة في document، قد تكون هناك مواضع أخرى للكلمة بينها فواصل , إن كانت الكلمة المنسّقة تظهر أكثر من مرة. يمكننا الآن استغلال إمكانيات FTS عبر استخدام هذا المستند المحوّل في البحث عن كلمة “Explorations”: sammy=# SELECT * FROM news WHERE to_tsvector(title || '. ' || content) @@ to_tsquery('Explorations'); وسنقوم الآن بتحليل الدوال والمشغِّلات التي استخدمناها في اﻷمر أعلاه: تترجم دالةُ ()to_tsquery المعاملَ “parameter” -الذي يمكن أن يكون تعديلًا مباشرًا أو طفيفًا في بحث المستخدم- إلى معيار بحث نصي يقلل المدخلات بنفس طريقة ()to_tsvector. وإضافة إلى ذلك فإن الدالة تتيح لك تحديد اللغة التي تريد استخدامها وما إن يجب أن تكون كل الكلمات موجودة في النتائج أو واحدة منهم فقط. ويحدد مشغِّل @@ ما إن كان tsvector مماثلًا لـ tsquery أم لـ tsvector آخر، عبر عرض إحدى نتيجتين (true أو false)، مما يسهّل استخدامه كجزء من معيار WHERE. الخرج: -[ RECORD 1 ]----------------------------------------------------- id | 2 title | Hitting the beach was voted the best part of life in the region content | Exploring tracks and trails was second most popular, followed by visiting the shops and then checking out local parks. author | Ethan أظهرت عمليةُ البحث المستندَ الذي يحتوي كلمة Exploring، رغم أن الكلمة التي بحثنا عنها هي Exploration، أما لو استخدمنا مشغّل LIKE لكنّا حصلنا على نتيجة فارغة. واﻵن بما أننا عرفنا كيفية تجهيز المستندات لها وكيفية هيكلة المستندات، فسننظر في كيفية تحسين أداء FTS. الخطوة الثالثة: تحسين أداء FTS قد يشكّل توليد مستند في كل مرة نستخدم فيها استعلام FTS مشكلة في الأداء إن كنا نستخدم خوادم صغيرة أو بيانات كبيرة. وأحد الحلول الجيدة لهذا الأمر هو توليد المستند المحوّل أثناء إدخال المستند الأصلي وتخزينه مع البيانات الأخرى، وبهذه الطريقة يمكننا استرجاعه باستعلام صغير عوضًا عن توليده في كل مرة. أولًا ننشئ عمودًا إضافيًا اسمه document في جدول news الذي أنشأناه قبل قليل: sammy=# ALTER TABLE news ADD "document" tsvector; سنحتاج الآن أن نستخدم استعلامًا جديدًا ﻹدخال البيانات في الجدول، لكن على عكس الخطوة الثانية، سنحتاج هنا إلى تجهيز المستند المحوّل وإضافته إلى عمود document الجديد: sammy=# INSERT INTO news (id, title, content, author, document) sammy=# VALUES (4, 'Sleep deprivation curing depression', 'Clinicians have long known that there is a strong link between sleep, sunlight and mood.', 'Patel', to_tsvector('Sleep deprivation curing depression' || '. ' || 'Clinicians have long known that there is a strong link between sleep, sunlight and mood.')); تتطلب إضافة عمود جديد إلى الجدول الموجود مسبقًا أن نضيف قيمًا فارغة لعمود document أولًا، وسنحدّثه الآن بالقيم المولَّدة. استخدم أمر UPDATE لإضافة البيانات الناقصة. sammy=# UPDATE news SET document = to_tsvector(title || '. ' || content) WHERE document IS NULL; وهذه الأسطر التي أضفناها إلى جدولنا تحسّن من أداء FTS، لكن قد نواجه مشاكل أخرى في حالة البيانات الكبيرة بسبب أن قاعدة البيانات ﻻ تزال في حاجة إلى فحص الجدول كله ﻹيجاد الأسطر التي توافق مدخلات البحث، وحل هذا أن نستخدم الفهارس “indexes”. فهرس قاعدة البيانات database index هو هيكل بيانات يخزّن البيانات بشكل منفصل من البيانات الأساسية التي تحسّن عمليات استرجاع البيانات، ويتم تحديثها بعد أي تغيّر في محتوى الجدول وﻻ تتكلف إﻻ الكتابة الجديدة ومساحة تخزين صغيرة نسبيًا. وتسمح المساحة الصغيرة وهيكل البيانات المهيّأ جيدًا للفهارس أن تعمل بكفاءة أكبر من استخدام مساحة الجدول لاختيار الاستعلامات. وبشكل عام، فإن الفهارس تسرّع إيجاد قواعد البيانات للصفوف من خلال البحث باستخدام خوارزميات وهياكل بيانات خاصة. ويمتاز نظام PostgreSQL بأن به عدة أنواع من الفهارس التي تناسب أنواعًا محددة من الاستعلامات، وأقرب هذه الأنواع إلى حالتنا هنا هي فهارس GiST وGIN. والفرق البارز بينهما هو السرعة التي يجلب كل منهما البيانات من الجدول، فـGIN أبطأ أثناء إضافة بيانات جديدة لكنه أسرع في الاستعلام، أما GiST فأسرع في بناء البيانات الجديدة لكنه يحتاج إلى قراءات إضافية للبيانات. وسننشئ فهرس GIN هنا ﻷن GiST أبطأ بثلاث مرات في جلب البيانات: sammy=# CREATE INDEX idx_fts_search ON news USING gin(document); وسيصبح استعلام SELECT أبسط باستخدام عمود document المفهرس: sammy=# SELECT title, content FROM news WHERE document @@ to_tsquery('Travel | Cure'); ويجب أن يكون الخرج شيئًا كهذا: -[ RECORD 1 ]----------------------------------------------------- title | Sleep deprivation curing depression content | Clinicians have long known that there is a strong link between sleep, sunlight and mood. -[ RECORD 2 ]----------------------------------------------------- title | Pacific Northwest high-speed rail line content | Currently there are only a few options for traveling the 140 miles between Seattle and Vancouver and none of them are ideal. واﻵن يمكنك الخروج من لوحة التحكم الخاصة بقاعدة البيانات عبر كتابة q\. الخلاصة يغطي هذا الدليل كيفية استخدام تقنية بحث النصوص الكاملة في PostgreSQL، بما في ذلك تجهيز وتخزين مستند البيانات الوصفية metadata واستخدام فهرس لتحسين أداء البحث. وإن أردت مزيدًا من الشرح حول FTS في PostgreSQL فألق نظرة على التوثيق الرسمي لنظام PostgreSQL حول بحث النصوص الكاملة. ترجمة -بتصرف- لمقال How to Use Full-Text Search in PostgreSQL on Ubuntu 16.04 لصاحبه Ilya Kotov
  11. تبدو فكرة العمل عن بعد أثناء الترحال مثيرة وشيقة، وطريقة مغامرة لكسب الرزق، لكن هناك جانب مظلم لها أيضًا يجب أن أذكره. إذ أن التحدي الأساسي الذي تواجهه كونك تريد تجربة هذا النمط من الحياة هو أنك ستخرّب روتينك اليومي تمامًا، إضافة إلى أن الإغراءات تنتظرك خلف كل منعطف، تريدك أن تضحي بصحتك في مقابل جرعة صغيرة من المرح أو المتعة. والطريقة الوحيدة التي تكافح بها نظامًا يتكالب عليك هكذا هو باستخدام حيل تسمح لك بالتحكم في هذه اللعبة كي تتمكن من تناول كعكتك أو باد ثاي إن شئت! 4 طرق للحفاظ على صحتك كرحالة رقمي 1. اجعل روتينك الرياضي ﻻ يعتمد على معدات خاصة ليس بخافٍ على أحد أنك تشعر بثقة أكبر في نفسك وبطاقة أكثر إن كانت صحتك أفضل، بل تشعر أن حياتك كلها تبدو أفضل، فيجب أن يكون الحفاظ على صحتك أولوية سواء كنت في المنزل أو بعيدًا عنه. تخصص بعض الفنادق صالات رياضية فيها، لكن قد ﻻ تجد ذلك إن كنت تستأجر عبر خدمة مثل Airbnb، فأفضل حل حينها لاتباع نظام صحي رياضي أثناء سفرك هو أن تجعله غير معتمد على صالة رياضية. وأفضّل شخصيًا أن أخصص برنامجًا من ثلاثين دقيقة يتضمن تمارين تعتمد على أثقال الجسد – مثل تمارين ضغط الذراعين والفخذين-، وتمارين أخرى ﻻ تحتاج إلى معدات، وأنفّذها في غرفتي أو في منتزه قريب أول شيء في الصباح، وحقيقة هذا أفضل شيء تبدأ به يومك. وإن كنت لم تجرب تمارين أثقال الجسد من قبل، فأنصحك بكتاب مارك لورين في هذا الشأن وتطبيقه المصاحب له أيضًا من متجر هاتفك. 2. تمرّن على وضعيات صحيحة للظهر والرقبة نحن نعرف الآن جيدًا أن الجلوس يقتلنا، فالوضعيات الخاطئة ﻻ تسبب الآلام فقط، بل تتسبب فعلًا في مقتلك، فحين تكون على سفر فإنك تجد نفسك متنقلًا بين المقاعد غير المريحة على الطائرات وفي الفنادق والمقاهي، وسيكون الأمر مسألة وقت فقط حتى تعاني مشاكل الرقبة أو الظهر. وإليك بعض النصائح للحفاظ على رقبتك وظهرك أثناء السفر: في الطائرة: لا تجلس إﻻ للنوم، أما باقي الوقت فقف ما استطعت في مؤخرة الطائرة -حين يكون إشعار حزام اﻷمان مطفأً، واستغل هذا الوقت في قراءة كتاب أو الاستماع إلى كتاب صوتي أو بودكاست. فوضعية الوقوف تسمح بالتمدد والتمرّن، فبعض تمارين القرفصاء ستحافظ على مرونة جسدك حين تصل إلى وجهتك. في العمل: يقول سام كروس، مؤسس Proxyrack أن نمط العمل الخاطئ وما تبعه من آلام في الرقبة والظهر قد أثّر على نومه ومزاجه وإنتاجه بشكل عام، فتصبح الحياة أصعب بشكل عام. والحل الذي يقترحه هو تجنب الجلوس أو العمل حين تكون بيئة العمل غير مناسبة، وهو يعمل من الفنادق ومساحات العمل المشتركة التي يمكنه أن ينصب فيها مكتبًا محمولًا يعمل عليه واقفًا، انظر الصورة: مكتب محمول كهذا يمكن أن يخفف بعض الآلام التي تأتي من السفر والعمل في ظروف غير مريحة. مرونة الجسد: قد يتسبب الجلوس الطويل في الطائرات والسيارات في آﻻم مزعجة في عضلاتك، وللتغلب على ذلك، احمل كرة تنس في حقيبتك أو كرة مساج صلبة، تستخدمها حين تصل إلى وجهتك، فتستلقي عليها كي تضغط بدورها على عضلاتك لتحررها من تشنجها، وكأنك أحضرت معالجك الشخصي معك! 3. ﻻ تأكل كأنك دومًا في إجازة سترى أن الطعام لمن يسافر كثيرًا يمثّل أحد الأمور المحببة إليه، لكنه كابوس مزعج أحيانًا حين ﻻ تستطيع الحصول على طعام صحي وطازج، وإليك بعض النصائح للحفاظ على حمية صحية أثناء سفرك: أعدّ طعامك بنفسك: تقول كريستي ثومبسون، عضو فريق الدعم في Help Scout، ورحّالة رقمية "الاستمتاع بالمطبخ المحلي هو الجزء المرِح والمسلّي في السفر، لكن إعداد بعض وجباتك على الأقل بنفسك يوفر عليك مالًا وييسّر عليك تناول طعام صحي". خذ طعامك معك: قد تكون وجبة الإفطار أمرًا صعبًا في البلاد التي تحب أن تبدأ يومها بطبقة كثيفة من الزيت، فأنا مثلًا أحب اصطحاب الموسلي -طعام من الحبوب والفواكه مع اللبن- معي، حيث أمزجه بالفواكه المحلية. وبشكل عام، إن كنت تقيم في فنادق تقدم إفطارًا مجانيًا، حاول أن تأخذ حصة جيدة من البروتين والفواكه كي تعينك على الاستمرار في يومك بنشاط 4. حافظ على صحتك العقلية ﻻ يمثّل اعتناؤك بجسدك إﻻ نصف المعادلة فقط، فلا تنسى أن السفر يأخذ ضريبة أيضًا في صورة الإجهاد الذي ينتج من تغير مخططاتك، وحواجز اللغة، وجودة الإنترنت السيئة في الفنادق، … . وإن الأمر يحتاج تخطيطًا حتى لمن في المنزل كي يحافظوا على سلامتهم العقلية، إليك بعض النصائح: التزم بجدول نوم: يجب أن تجرب الحصول على سبع ساعات من النوم كل ليلة وفقًا لعيادة Mayo، واذهب إلى فراشك في نفس التوقيت أو قريب منه كل يوم. وإن هذا الكلام سهل لكنّ تطبيقه صعب إن كنت تعاني من أثر السفر الناتج من اختلاف التوقيتات المحلية، واجتماعاتك مع العملاء، ومواعيد تسليم أعمالك، لكن حاول بقدر إمكانك أن تنظم جدول نوم، فهو يستحق الجهد الذي ستبذله في الالتزام به. صمم بيئة هادئة: قد تكون بعض غرف الفنادق مزعجة بشكل كبير، لذا أصطحب زوجًا من سدادات الأذن كي أضمن الحصول على بيئة تساعدني على النوم. كذلك من المفيد أن تتوقف عن النظر إلى شاشاتك -هاتفك، حاسوبك، إلخ ...، قبل ساعة أو اثنتين من نومك، وأسدل الستائر أيضًا كي لا يزعجك النور أثناء نومك، فإن لم تستطع فاجعل معك قناعًا لعينك تلبسه أثناء النوم. التعامل مع القلق: حاول تصفية ذهنك كل يوم بالطريقة التي تناسبك، إذ أجد أني أتأثر كثيرًا بالمحفزات التي أقابلها أثناء العمل في السفر، لهذا أحاول تصفية ذهني كل ليلة لمدة عشرين دقيقة، وأستخدم تطبيق Headspace أو أستمع إلى بعض الضوضاء البيضاء، إضافة إلى أن الضوضاء البيضاء مفيدة أيضًا في العمل في الأماكن ذات الأصوات العالية. حافظ على صحتك لتبقى سعيدًا صحيح أن كثيرًا من جوانب الحياة تخرج عن نطاق سيطرتنا، وهذا صحيح أثناء العمل في السفر وأثناء الترحال أيضًا، ما بين تأخيرات الرحلات الجوية إلى اختلاف المناطق الزمنية إلى إجهاد السفر وغيرهم، وليس لدينا سوى تقبل ذلك ومحاولة التعايش معه بأفضل صورة ممكنة. وأفضل ما يمكنك فعله للحفاظ على صحتك العقلية والجسدية هو تسكين تلك المجهِدات في الحياة على الطريق، كي تنجز أعمالك بكفاءة وتستمتع بالترحال والمغامرة أيضًا. كيف تحافظ أنت على صحتك وسعادتك إن كنت تعمل عن بعد؟ أخبرنا في التعليقات! ترجمة -بتصرف- لمقال How to maintain your health as a digital nomad لصاحبه James Moore
  12. أنا أقابل عددًا ﻻ حصر له من الناس وأحظى معهم بنقاشات عمل رائعة بحكم عملي المستقل، وقد صار كثير من هؤلاء الناس من عملائي، ثم أصبح بعض هؤﻻء أصدقاء لي. ولعلك تعلم أن كونك مستقلًا يعني أيضًا أن تكون المساعد الشخصي لنفسك -إﻻ إن وظّفت واحدًا طبعًا-، والمحاسب وربما المحامي أيضًا -رغم أني أنصحك بشدة أن تستشير محاميًا متخصصًا إن أمكنك-، فالشاهد أن ذلك يعني قضاء ساعات وربما أيام بين الرسائل البريدية التي تناقش المشاريع ومواصفاتها وأبعادها، وبين مكالمات سكايب أو الاجتماعات الحقيقية وكتابة العقود وتوقيعها، كل ذلك قبل أن أصل إلى الجزء الذي أحسنه، وهو كتابة الشفرة البرمجية. وإنني أعرف كثيرًا من المطورين الذين لا يفضّلون هذه الأبعاد “غير البرمجية” من حياتهم المهنية أو من كونهم مبرمجين، لذا يلجأ بعضهم إلى توكيل أحد لمعالجة “مرحلة اﻻحتكاك بالعميل” كما تسمّى، ﻻ عجب أن توجد خدمات قائمة على هذا النموذج الربحي خاصة. ومبدأ هذه الخدمات بسيط ومباشر، وهو إيجاد عميل ومستقل مناسبين لبعضهما ومعالجة مرحلة الاحتكاك الأولي بينهما، هذا يعني أن الشركات التي تريد مستقلين (مطورين، مصممين، .. إلخ) ليس عليها أن تبحث عنهم بنفسها، فتلك الخدمات الوسيطة تقدم لهم المطور المناسب الذي سيلبي احتياجاتهم من مجتمع من المطورين الموهوبين الذين جمعتهم تلك الخدمات. وليس على ذاك المطور أن يشغل باله بمواصفات المشروع ونقاشاته، بل يقفز مباشرة إلى العمل بمجرد موافقته على المواصفات المذكورة في المشروع. وتعتمد هذه الخدمات على أسلوب التسعير بالساعة -في نطاق معيّن من الأسعار عادة-، من أجل جعل عملية تقدير تكلفة المشاريع مباشرة و”حسابية”. وقد تواصلت معي ممثلة لإحدى هذه الشركات الخدمية لتعرض علي أن أكون جزءًا من مجتمع الموهوبين لديهم من المطورين المستقلين، وتعدني بالمشاريع العظيمة مع نطاق واسع من الشركات الكبيرة والصغيرة على السواء، كل ذلك بينما أركّز أنا على العمل الأساسي في المشروع دون أن أشغل نفسي بمفاوضات المشروع مع العميل ﻷنهم سيقومون بذلك عني. ثم أعطتني نبذة عن الشركة وطريقة عملها، وكيف يتم اختيار وترشيح أعضاء مجتمعهم قبل أن يوظفوهم فعليًا، وعرضت علي فرصة الانضمام إلى هذا المجتمع، وهو إطراء أقدّره كثيرًا ﻷنهم يختارون الأشخاص الذين يرون فيهم مهارة عالية في مجالاتهم كي يقدّموهم إلى العملاء. وبعيدًا عن النموذج الربحي الذي ﻻ أتّبعه شخصيًا في عملي، فإن السبب الرئيسي الذي جعلني أرفض هذا العرض هو أنهم يعدونني بمعالجة الاحتكاك بيني وبين العملاء المحتملين، إذ أني ﻻ أريد تخطي تلك المرحلة أصلًا، بل على العكس تمامًا، فأنا أحبها. صحيح أن ذلك يعني مزيدًا من الساعات التي سأقضيها في المناقشات وساعات أقل للعمل، لكني أعدّ هذا جزءًا أساسيًا من حياتي في العمل المستقلّ، وهو الطريق الذي اخترته لنفسي قبل سنوات ولم أنظر للوراء ثانية بعدها، وتلك الساعات التي تقضيها في الحديث مع العملاء هي أحد الوسائل التي يمكنك أن تطوّر نفسك من خلالها كمستقل وكإنسان أيضًا. وأنا أحب الحديث إلى عملائي والاجتماع بهم في سكايب، أتعرف عليهم وعلى أهداف شركاتهم ومشاريعهم، وأسمعهم يتحدثون عن مشاريعهم بشغف ولماذا اختاروها وأين يريدون أن يصلوا بها، والأهم من ذلك كله هو سماعهم يذكرون السبب الذي جعلهم يختارون العمل معي لمساعدتهم على تحقيق هذه الأهداف، وذلك كله كنت سأفقده لو وافقت على العمل من خلال تلك الشركة الخدمية آنفة الذكر. إضافة إلى أن الحديث مع عملائي له أبعاد أكثر من احتياجات المشروع، فقد كنت على تواصل دائم وثابت مع الفرق التي تعمل على المشاريع التي أعمل عليها، من المصممين إلى المبرمجين من أمثالي وحتى المدراء التنفيذيين، ونتواصل عبر قناة Slack مثلًا، ونخصصها لمناقشة تفاصيل المشروع، وطبعًا فإن طبيعة عملي في المشروع تتعدى مجرد تحويل التصميم إلى شفرة برمجية، فهناك نقاشات حول تصميم تجربة الاستخدام من حيث علاقتها بملائمتها لشرائح العملاء المختلفة مثلًا. إن أحد الأسباب التي تجعل الشركات الوسيطة تعتمد أسلوب التسعير بالساعة هو أنهم يريدون إراحة المستقلين والعملاء على حد سواء من الإرهاق الذي ينتج من تغيرات أبعاد ومواصفات المشروع، لكن ذلك لم يكن مصدر قلق لي، ذلك أني أتواصل مع العميل وأتحدث معه مباشرة. بل إن هذا “الاحتكاك” هو ما يجعلني أتناقش مع العميل بكل حرية بما في ذلك مناقشة مستقبل المشروع، واحتمال تدخلي في مراحله المختلفة، وهو ما جعلني أصل إلى العمل مع عملاء مثل Provata مرة بعد مرة على مر السنوات الفائتة، وقد كان واضحًا بين وبين عملائي أن أي تغير في أبعاد ومواصفات المشروع ينعكس على العقد بيننا، ويحدث ذلك بسلاسة ﻷننا تناقشنا مسبقًا حول احتمال حدوث هذا من أول تواصلنا في المشروع، أثناء مرحلة “الاحتكاك” إن شئت أن تسمّيها. ﻻ تتوقع أن تنمو علاقة ما إن كنت تبني حائطًا بينك وبين الشخص الذي معك في تلك العلاقة، وذلك صحيح في حالة علاقات العمل كما هو صحيح في العلاقات الشخصية، فالعمل مع عملاء ﻻ أستطيع مناقشة تفاصيل المشروع معهم ولا أستطيع التواصل معهم لن يسمح لي أبدًا أن أكوّن صداقات مع الأشخاص الذين يعملون في الناحية الأخرى من المشروع، لكن العمل مع أشخاص مختلفين على مشاريع مختلفة هو أحد اﻷبعاد التي أفضّلها في عملي المستقل، وهو أحد الأسباب التي جعلتني أتجه إلى هذا النمط من العمل قبل سنوات من الآن، بدلًا من العمل لصالح شركة كبيرة. وربما تعرف ذلك الشعور بالوحدة الذي يخيم على نمط عملك وأنت تجلس خلف شاشة تتحدث إلى أشخاص يجلسون خلف شاشات أخرى في مكان آخر من العالم، وقد يخفف عنك هذه الوحدة ذهابك للمؤتمرات التي تهتم بمجالك وحديثك إلى أشخاص يشاركونك نفس الاهتمامات، لكن ذلك يحدث بضع مرات في العام، ما يجعل بنائي لحائط بيني وبين العملاء الذين يمثّلون فرصة للاختلاط بالناس -ولو من وراء شاشة- أمرًا لا أستطيع تحمله، فإن هذا أشبه بآلة شفرة برمجية تحصل على معطيات (تفاصيل المشروع)، وتنتج مخرجات (الشفرة البرمجية) بشكل يومي، دون الجانب الإنساني من هذا العمل. لذلك فإن كل ما وعدتني به تلك الشركة الخدمية لم يكن يمثّل مصدر قلق لي إطلاقًا، ولهذا رفضت عرضها للانضمام إلى مجتمعها. لكن مع هذا، فإني ﻻ أقصد تقليل قيمة ما تقدّمه هذه الشركات الوسيطة، بل على العكس، فأنا أدرك كيف تكون مثل تلك الشركات مفيدة للغاية إن كان المستقل يقدر أجره بالساعة، إذ يمكنه العمل على أكثر من مشروع في نفس الوقت إن خصص بضع ساعات كل أسبوع لكل مشروع، أو إن كان لديه وظيفة بدوام كامل ويريد أن يعمل بضع ساعات إضافية دون أن يرهق نفسه بتفاصيل ونقاشات حول كل مشروع. لهذا فإني أرى بوضوح كيف يمكن أن تساعد هذه الشركاتُ المستقلين على أن يعملوا أكثر ويعملوا بشكل أفضل، فربما تكون فكرة تلافي الاحتكاك بينك وبين العميل مقبولة لك من الأساس إن كنت ﻻ تحب أن تشغل نفسك بالشؤون الإدارية كثيرًا، فاﻷمر مرده إلى التفضيل الشخصي في النهاية. هل الاحتكاك مع العميل سيء لهذه الدرجة؟ كلا، قطعًا، على الأقل ليس بالنسبة إلي، فبدون ذلك الاحتكاك لم أكن لأكسب صداقات مع أولئك الأشخاص الرائعين الذين أعرفهم اليوم، لذا حاول أن تستمتع بالأمر إن كنت مستقلًا وتستخرج منه أقصى ما يمكنك. ابن جسورًا، وليس حوائط. ترجمة -بتصرف- لمقال Build Bridges, Not Walls لصاحبته سارة سويدان. حقوق الصورة البارزة محفوظة لـ Freepik
  13. يشتكي أغلب العاملين عن بعد أن أحد التحديات الرئيسية في نمط العمل عن بعد هو غياب علاقات الحياة اليومية الحقيقية بينهم وبين زملائهم في العمل، ولعلك هكذا أيضًا ما لم تكن انطوائيًا للغاية. ويمكننا أن نعزي قليلًا من ازدهار مساحات العمل المشتركة وخلوات الرحّالة إلى الرغبة الجماعية للعاملين عن بعد في أن يكونوا وسط جماعات، أو جزءًا من فريق حتى لو لم يكن لهم نفس الهدف. ولعل ما يجعل البعض يفضّلون العمل عن بعد هو قسوة العلاقات الشخصية في المكاتب التقليدية للشركات، وقد تظن أن التسييس الداخلي والتحزّب والسلوك الخارج قد يختفي مع العمل عن بعد، وقد يختفي بعضها فعلًا، لكن هناك أمور أخرى قد تظهر على السطح، مثل ضعف التواصل والفشل في تنظيم جدول عمل يناسب المناطق الزمنية المختلفة، وصعوبة كسب الاحترام من الزملاء. وإليك الآن بعض النصائح التي أريدك أن تتبعها لتجنب هذه العقبات التي ظهرت كلها أو بعضها في طريقك منذ أن تركت حياة الشركات والمكاتب التقليدية كي تحسّن علاقاتك مع زملاءك في العمل. اهتم بإظهار هويتك سيكون عليك أن تعرّف عن نفسك بطريقة أكثر وضوحًا وشفافية من مجرد قبول طلبات الصداقة والتعارف في سكايب أو سلاك أو فيس بوك أو غيرهم، وذلك بإظهار وجهك منذ البداية، فاختر صورة احترافية مبهجة لنفسك وضعها في أي مكان تستخدم فيه صورة شخصية لك، حتى إذا استلم زميل لك رسالة منك رأى صورتك أنت مرفقة معها، وليس صورة شعار لشركة تحبها أو شخصية سينمائية تعجب بها. وكذلك كلما فكروا فيك كشخصية حقيقية، استجابوا لاقتراحاتك واحتياجاتك وأفكارك. وللسعي شوطًا آخر في هذا، لم ﻻ تعقد اتصالًا مرئيًا مع كل زميل لك، تتعرف فيها عليه وتعرّفه بنفسك؟ فبدء العمل بتواصل بشري منذ البداية كانطباع أولي سيفيدك ﻻحقًا في كسب ثقة زملائك. كن منتبهًا لاختلاف المناطق الزمنية لقد عملت ككاتب ومحرر عن بعد لشركة تسويقية في لندن، حيث كان أحد زملائي في العمل يسكن في المملكة المتحدة، ما يجعله أسبق مني بخمس ساعات في كل يوم، لكنه لم ينتبه لهذا يومًا إذ كان يراسلني مرات ومرات كل يوم سائلًا إياي عن أماكن بعض الملفات التي اكتملت، أو عن موعد انتهاء هذا وذاك. وكل ذلك ولم يدر بذهنه أبدًا أن موعد غدائه هو بالكاد موعد استيقاظي أنا من النوم، فكن منتبهًا لهذه الفروق في التوقيتات مع بقية زملائك واحترمها لئلا يتعثر كل منكم في صاحبه بين الحين والآخر. وإن كنت تنسى مواعيد العمل لزملائك فاستخدم موقعًا مثل Time and Date لتيسير الأمر عليك، وإن كان الأمر في رأيي ذوقًا أكثر منه حسابًا للتوقيتات، فانتبه لجداول عمل زملائك، وتجنب عقد اجتماعات عمل أو اتصالات أثناء أوقات راحتهم. اعقد اجتماع تعارف لمدة 60 ثانية كنت جزءًا من عملية كبيرة لمدونة تقنية في العام الماضي، ضمن جمع من المحررين والكتّّاب من جميع أنحاء أمريكا، وقد جمعتنا مكالمة جماعية في أول يوم للعمل، ومُنح كل شخص دقيقة واحدة ليعرّف نفسه لباقي الفريق. وأدهشتنا النتائج من هذه المكالمة التي تبدو بسيطة في ظاهرها، فقد ذكرت أنا مثلًا أني من تكساس، وأنّ ابنتيّ توأمتان، وأحب سلسلة Star Wars. ولا شك أن هذه الأمور توافقت مع شخص واحد على الأقل، فقد كنت كلما راسلت أحدًا أتلقى قصصًا عن تكساس ولكنتها ومن لديه توائم في عائلته ومن أخذ يومًا إجازة من العمل يوم إطلاق نسخة The Force Awakens من Star Wars، كل ذلك لمجرد تعريف من ستين ثانية فقط! ﻻ أظن أن بإمكانك بناء علاقة مترابطة بين فريق عمل بهذه الصورة بتلك السرعة. كن صادقًا وواضحًا احرص على أن تكون مرآة لكل كلمة تخرج من فمك إن أردت بناء علاقة قوية مع زملائك العاملين عن بعد، فإن قلت أنك ستسلّم عملًا في موعد معين فلا تتجاوزه، وإن حدث طارئ ما فاحرص على إشعار كل من له علاقة بهذا العمل في أقرب وقت ممكن. وهكذا فإن كفاءتك كعامل عن بعد بشكل عام مبنية على قدرتك على إدارة مهامك دون وجود من يسألك باستمرار عن موعد تسليمك لها، فإظهار نفسك كنموذج للالتزام يجعل الناس تعتمد عليك، وتزيد قيمة أدائك في عملك. بيّن ما تقصده، نصًا أو مرئيًا من السهل أن تسيء الظن بنوايا أحدهم أو كلماته أو مشاعره إن كنتما بعيدين عن بعضكما، أو حين تفرّق بينكما حواجز اللغة والثقافة، فحاول أن تنتبه لهذه الحدود وتبيّن مشاعرك أو نواياك من الكلام في محادثاتك مع زملائك، في رسائل نصية أو -أفضل- في مكالمات مرئية. ذلك أن صراحتك ووضوحك معهم ليست أمرًا مستحبًا في ظروف عملك عن بعد معهم، بل هي من الواجبات اللازمة للحفاظ على كفاءة إنتاج الفريق وسعادته وتناغم أفراده. فاتّبع أسلوب عمل صريح منذ البداية-ومحترم في نفس الوقت- إن كنت تدير فريقك، كي يعرفوا أن لا بأس في إبداء الرأي أو النقد أو طرح الأسئلة التي تدور برؤوسهم. وإن لم تكن أنت المدير فلا تخش أن تتحدث عن المشاكل التي تواجهك في محادثات قصيرة ثنائية، لكن اجعل المحادثة تدور حول رغبتك في الحفاظ على كفاءتك في عملك، وقدّم اقتراحات لتطويرها إن كان لديك. إن الحياة التي يحياها العاملون عن بعد قد تكون مختلفة تماماً عن تلك التي يعيشها زملاؤهم في المكاتب التقليدية، لكنهم جميعًا يعملون لأهداف متشابهة وقد تكون مشتركة بينهم أيضًا، فتذكر أن زملاءنا على الطرف الآخر بشر مثلنا، وأن التعاطف والصراحة ستشد من أزر العلاقة التي بيننا. ترجمة -بتصرف- لمقال How to Bolster Work Relationships When You’re Remote لصاحبه Nick Georgandis حقوق الصورة البارزة محفوظة لـ Freepik
  14. أقدّم لك في هذا المقال طرقًا محددة ومجرّبة ويمكنك تطبيقها مباشرة، كي تقنع العميل أنك من يبحث عنه وأنك الأفضل من بين خمس مصممين -أو مستقلين- آخرين تواصلَ معهم قبلك، فأنا أرغب بمساعدتك في التميز في هذا البحر من المنافسة بما أني عملت مع مئات الشركات من قبل وعرفت الطرق التي تنجح وتلك التي تفشل. وما هذا المقال إﻻ محاولة لمساعدتك في تجنب أخطاء وقعت أنا فيها من قبل كي يتطور عملك بشكل أسرع وأكثر كفاءة، ذلك أنك إن لم تستطع الفوز بعملاء فهذا يعني نهاية نشاطك التجاري. دعنا نلق نظرة على هذه الطرق: 1. اظفر بثقة العميل بسرعة ﻻ شك أن تحقيق الثقة هو حجر الزاوية في الفوز بأي عمل، وإحدى أسرع الطرق التي تظفر بها بعميل محتمل هي أن تريه أنك أهل لثقته، لكن كيف يمكن تحقيق هذا مع شخص تتحدث معه لأول مرة؟ إليك الطريقة: انقل تركيز الحديث بسرعة عليه وعلى شركته، وأظهر له أنك تريد التعرف حقًا على ما يرغب في إنجازه، واعرف قصته وأهدافه وجمهوره وما يفضّله ومنافسيه، … إلخ. باختصار، سل أسئلة عملية وتتعلق مباشرة به وبشركته، فتلك المكانة التي تسمع عنها للانطباع الأول حقيقية، فضع كل الاهتمام عليه من البداية كي يثق أكثر بك، فالثقة هي أصل كل انطباع أولي ناجح، ومن ثمّ تفوز به كعميل لك. 2. حافظ على استمارة التواصل الخاصة بك قصيرة ومحدودة قد تظن أن تقليل عدد الحقول في استمارة التواصل لن يؤثر من قريب أو بعيد على معدل تحويل عملائك المحتملين، لكن شركة Hubspot قد حللت أكثر من 40 ألف صفحة هبوط لعملائها، ووجد دان زاريلّا -عالم شبكات اجتماعية ومؤلف- أن تقليل عدد حقول استمارة التواصل من 4 حقول إلى 3 قد زاد معدل تحويل العملاء بنسبة 50%، هذا يعني زيادة 50% في الأرباح لمجرد إحداث تغيير بسيط كهذا. استخدم أدوات بسيطة مثل Typeform وGravity Forms من أجل إنشاء استمارات قصيرة وفعّالة. 3. اتصل بهم هاتفيًا ﻻ تقلل من أهمية الاتصال الهاتفي التقليدي، فهو طريقة سريعة لكسب ثقة عميلك المحتمل، ولقد استغرقت وقتًا طويلًا قبل أن أسأل السؤال البديهي “أي طريقة أكثر فعالية في تحويل العملاء، الهاتف أم البريد؟”، وقد جربت كلا الطريقتين بنفسي، وإليك النتيجة: كان معدل تحول العملاء حين أستجيب لمشروع ما عبر البريد هو 21%، بينما تزيد تلك النسبة إلى 65% حين أتحدث إليهم عبر الهاتف! هذه زيادة بمقدار 44% حين أستخدم الهاتف، وذاك وحده قد يغيّر حال عملك. لاحظ أنك تستطيع إعداد أداة جدولة مثل Calendly حيث يستطيع العملاء جدولة اتصالات هاتفية معك وفق اﻷوقات المتاحة مسبقًا في جدولك. 4. شهادة العميل المثالية لعلك تتوقع أنك يجب أن تحصل على شهادات ترتبط بعملك، لكن كيف تبدو تلك الشهادة المثالية التي تفيدك؟ يزعم ديريك هالبرن مؤسس مدونة Social Triggers الشهيرة أنه قد توصّل إلى مكونات شهادة العميل المثالية، وهي كالتالي: المشكلة (أو المعتقد) الحل (أو المعتقد الجديد) النتائج (أو الإنجازات) ومهمتنا نحن كعاملين في مجال إبداعي مثل التصميم هي البحث عن المشكلة وإيجاد حل لها، وحين تتكامل شهادات عملائك السابقين مع الحل الذي تعرضه فإن العميل يلاحظ ذلك، وسيشجعه هذا على توظيفك، لماذا؟ ﻷن لديه إثباتًا عن عملك السابق. وتظهر قوة المعاملة بالمثل هنا عند طلب شهادات أو تقييمات من عملاء حين تستخدمها في التوقيت الصحيح، فمثلًا لنقل أنك تعمل على تصميم شعار لعميل ما، وقد أعجبته النسخ الجديدة من الشعار النهائي له، فهنا تكون فرصتك سانحة لطلب شهادة منه أو تقييم عن عملك معه، إليك نموذجًا مما يجب أن تكون عليه رسالتك إليه لطلب تقييم: أرأيت كيف أن أسلوب الرسالة باﻷعلى خفيف ومناسب لطلب شيء ما؟ لم أجد عميلًا يرفض إرسال تقييمه كرد على هذا اﻷسلوب في الطلب، وإنني أضعها لك ها هنا كي تستخدمها كما تشاء، لكن ﻻ تنس اتباع النقاط الثلاث التي ذكرتها لك قبل قليل في هيكلة شهادة العميل التي ترغب فيها، وستساعد تلك الهيكلة على تنظيم أفكاره أثناء كتابة التقييم كي يسهل عليه كتابته. كذلك من المهم ملاحظة أن أيًا مما ذكرت لك لن يصلح إن كان تواصلك مع عميلك سيئًا خلال المشروع، كأن تفوّت مواعيد التسليم أو تقدّم إنتاجًا ﻻ يرضيه، لذا ابدأ الآن في جمع شهادات من عملائك، وستشكر نفسك لاحقًا. 5. اذكر قصتك بكل ما فيها وإني أريدك أن تفكر بعكس المثل القائل “زيّف النجاح إلى أن تحققه”، فالناس ميّالة إلى أولئك الذين يتحدثون بصراحة، ذلك أن المرات التي نفشل فيها فيها تجعلنا أقوى، وبالتالي تكون قصتك أكثر مصداقية وقوة، كما قال توماس إديسون من قبل “إنني لم أفشل، بل وجدت 10000 طريقة لم تنجح”. وأنا أعلم أن إظهار فشلك وأخطائك للناس قد يكون منافيًا للبديهة، لكن الناس تتأثر بها، إذ أن كل مستمع لتجربتك خاض أو يخوض منعطفًا صعبًا في حياته بشكل ما، وإن حذفت الأخطاء التي مررت بها من قصتك في عملك فسيحجب ذلك اﻷثر الذي يمكن أن تحدثه قصتك، فكن شخصيتك الحقيقية كي تكسب عملاء أكثر يتعاطفون معك أو حتى يشاركونك قصة مشابهة من حيواتهم. 6. عوامل تحويل العملاء عن طريق المواقع نحن ننسى عادة أن هدف موقعنا على الإنترنت هو تحويل الزوار إلى عملاء، ذلك أن فكرة التصميم المرتكز على التحويل يمكن أن تكون غريبة، دعنا نلق نظرة الآن على كيفية زيادة معدل التحويل من الموقع من أجل كسب عملاء جدد. ولقد أصبحت سرعة صفحة ما عاملًا في نظر جوجل ضمن مئتي عامل آخر لتهيئة المواقع لمحركات البحث -بصراحة، أحتاج أن أطبّق هذه النقطة في موقعي الشخصي-. وقد أجرت Kissmetrics دراسة وجدت فيها أن نصف الزوّار غادروا الموقع بعد انتظار 3 ثوان أو أكثر من أجل تحميل الصفحة على حواسيبهم المكتبية -حين يأتي أحدهم إلى موقعك ويغادر دون زيارة صفحة أخرى فإن هذا يسمّى ارتداد-. وهكذا تخسر نصف عملاءك المحتملين ﻷن صفحتك أبطأ من الحد المقبول، فحاول أﻻ تزيد مدة تحميل صفحتك عن ثانيتين إلى ثلاث، واستخدام أدوات مثل GTMetrix وPingdom لقياس سرعة تحميل موقعك، وستعطيك GTMetrix نصائح لتهيئة موقعك كي يعمل بكفاءة. 7. معرض أعمال الموقع نحن نتعلم بأعيننا بشكل أفضل، فالدماغ يعالج المعلومات البصرية أسرع من النصوص المكتوبة بستين ألف مرة، فهل يعرض معرضك أفضل الأعمال التي نفّذتها؟ هل يظهر تنوعها؟ هل يبدأ وينتهي بقطع فريدة من أعمالك؟ لقد تحدثنا سابقًا عن تطوير الثقة بينك وبين العميل، ويبرز معرض أعمالك استحقاقك لهذه الثقة، فالعملاء المحتملين يبحثون عن الاهتمام والجودة والإبداع الذي تضعه في أعمالك، وسيقارنون أعمالك مباشرة مع غيرك كي يقرروا من اﻷنسب لهم. وإني ﻷذكر كلمة الأستاذ مازيلان من كلية التصميم “إن مهارتك تساوي أقل قطعة في معرض أعمالك”، فهناك حكمة بالغة في هذه الكلمة، فلا تخف من تقليل عدد أعمالك في معرضك إلى عدد قليل من أفضل ما نفّذته، فإن كان لديك ثلاثين تصميمًا وثمانية منهم أفضل من الباقي، فليكن معرض أعمالك ثمانية فقط، فالجودة تتفوق على الكم دومًا هنا. 8. جمال المتابعة لنقل أنك تتصل بعميل محتمل وتشعر بوجود مبشّرات لحدوث صفقة بينكما، وتنتظر الرد منه بمباشرة تنفيذ المشروع، لكن الرد لا يأتي، ويطول انتظارك ليمتد إلى شهر دون أن تسمع إجابة من عميلك. وهنا يأتي دور المتابعة، فبعد محادثتك الأولى، انتظر يومين أو ثلاثة قبل أن تراجع عميلك، ولقد وجدت أن البريد يصلح للمتابعة أفضل من الهاتف، ذلك أنك ﻻ تزال في منتصف عملية اتخاذ للقرار، أو أن العميل لم يفكر في المشروع بعمق، فهنا تكون الرسالة البريدية أقل إلحاحًا هنا. وحين تراجع عميلك للسؤال عن المشروع، ﻻ تقل فقط “هل تريد المضي قدمًا في مشروعك؟”، لكن أرسل نماذج من أعمالك بدلًا من ذلك، بالتوازي مع العناصر التي يحتاجها، وأرسل تقييمات عملائك، والمنافع التي سيحصل عليها مرتّبة، وعملاء يمكن أن يرجع إليهم، وروابط مباشرة إلى أعمالك، إلخ. إليك مثالًا على رسالة يمكنك استخدامها كي تضمن فوزك بعملاء جدد: لذا ﻻ تنس متابعة عملائك دون أن تلحّ عليهم، ففي أحيان كثيرة يكون العميل مشغولًا ويحتاج تذكرة بسيطة كي يسعى في تنفيذ مشروعه أو إتمامه. 9. ابن علاقات أصيلة مع مؤثرين في مجالك قد أثرّت هذه النقطة على عملي في التصميم بشكل إيجابي، وأرغب في أن يكون لك مثل ذلك أيضًا، ولدي قصة قصيرة ستساعدك على تصوّر هذه النقطة. تواصلت قبل بضع سنين مع جيكوب كاس الذي يدير مدونة التصميم الشهيرة Just Creative ، وتابعت مدونته عن قرب، ثم قررت أن أتواصل معه يومًا ﻷسأله عن رأيه في الدليل الذي كتبتُه في تصميم الشعارات، والذي زاد عن عشرين ألف كلمة. فأدهشني أن رد علي سريعًا، وذكر في رده أنه قرأ الدليل كله، وأشار علي بتحويله إلى كتاب إلكتروني أو مطبوع. صراحة لم يدر بخلدي أن أحول الدليل لكتاب من قبل، ثم صرّح في وقت ﻻحق بكلمة قوية عن الدليل فقال: “الدليل المثالي لتصميم الشعارات-The Ultimate Guide to Logo Design” هو أكثر مصدر شامل رأيته إلى الآن، وﻻ يكلّف وقتًا كبيرًا لقراءته، فأسلوب كايل -الكاتب الأجنبي، قابل للتطبيق وسهل الفهم، ولديه نبرة تحدد مفاتيح النجاح من تجربته الخاصة في العمل مع مئات الشركات الكبيرة والصغيرة. وقد حوّلت الدليل إلى كتاب إلكتروني أخذًا بنصيحته، واشتراه كثير من المصممين من 43 دولة في ست قارات، كل ذلك من مجرد رسالة بريدية صغيرة تسأله عن رأيه. واﻵن أنا وجيكوب على تواصل منتظم، وأعدّه صديقًا جيدًا لي، وأنا ممتن لرغبته في متابعة الترويج لدليل الشعارات وعرضه هنا وهنا في مدونته. لذا فإن السؤال الذي يطرح نفسه هو “من هم المؤثرين الذين تحترمهم والمرشدين المبدعين الذين تتطلع إليهم؟” ﻻ تخش التواصل معهم وبدء محادثة صادقة حقيقية، فليس لديك ما تخسره، بل على العكس قد تكسب كما كسبت أنا من ورائه، فقد يقدموك في مواقعهم، وتكتب ضيفًا في مدوناتهم، وتقدّم أعمالًا في مقابل روابط إلى معرض أعمالك. واعلم أن مصداقيتك ومكانتك ستزيد بشكل كبير حين يقدّمك مؤثر ما في مجالك، وستزيد فرصتك في الفوز بعملاء جدد. 10. ﻻ تخف من الشفافية أنا أخبر عملائي بوضوح أني لست أرخص مصمم في السوق، لكن إن كانوا يريدون مصممًا يسعى للتميّز في إنتاج حلول ممتازة لشركاتهم، فإنني الخيار الأمثل لهم. وإن هذه الصراحة مع العملاء تحقق لك فائدتين: مستوى أعلى من الصراحة (أني لست أرخص مصمم…) سيعود الاستثمار معي بفائدة عليهم (إنتاج حلول ممتازة…) لذا ﻻ تخف من كونك صريحًا مع عملائك، فلا شك أن ستجني منافع تلك الصراحة فيما بعد. 11. سل هذا السؤال البسيط لم أرَ شركة أو منظمة ممن عملت معها سابقًا ﻻ تذكر لي أنها مقيدة بميزانية، لذا دعنا نخاطبهم بنفس اللغة، وهذا السؤال البسيط سيساعدك على الفوز بعملاء أكثر مما يمكنك تحمله، صدقًا. إليك الأمر: كيف يتناسب سعري مع ميزانيتك؟ اذكر هذا مباشرة بعد ذكرك لسعرك، وستفتح على نفسك طرقًا جديدة للفوز بالعميل، لكن ما الذي يجعل هذا السؤال مميزًا؟ هناك ثلاث حالات يمكن أن تقع فيها إجابتهم: الحالة الأولى: متوافق مع ميزانيتك أنت موافق على الميزانية. ممتاز. الحالة الثانية: قريب من الميزانية إن كانت ميزانية العميل أقل قليلًا مما تطلبه، فيمكن أن نتطور في الأمر إلى اتفاق في صالح الطرفين، تذكّر أن تحدد قيمة خدماتك وكم يساوي هذا المشروع بالنسبة لك. لكن على أي حال، اعلم أن هناك حالات يكون فيها التفاوض على السعر من مصلحة الطرفين، فيمكن أن تقدّم خصمًا بسيطًا لهذا المشروع، في مقابل عمل متواصل فيما بعد، فقد تخصم 50. فلا تفعل هذا بنفسك وﻻ بزملائك من المصممين ولا بصناعة التصميم ككل، فأنا وأنت ونحن، كلنا مسؤولون، وكل مصمم يمكن أن يكون له بصمة إيجابية أو سلبية في قيمة أعمالنا لعملائنا، فنحن نعرف كم أن التواصل المرئي الفعّال مؤثر على أي مؤسسة، فلنقيّم أعمالنا بما تستحق، كي يفعل عملاؤنا ذلك أيضًا معنا. واﻵن اخبرني، هل جربت طرقًا للفوز بعميل ونجحت معك؟ ترجمة -بتصرف- لمقال Creative, Win More Clients – 14 Proven Ways لصاحبه Kyle Courtright حقوق الصورة البارزة محفوظة لـ Freepik
  15. تستهلك الرسائل البريدية وقتًا في الكتابة والصياغة والتحرير وﻻ أحد يحب قضاء وقت في مهمة مملة كهذه، لكنك تضطر إلى التعامل معها كل يوم في عملك كمطوّر ويب، وهذا يعني أنك ستنفق ساعات كل يوم في كتابتها ومراجعتها. لكن من ناحية أخرى، فهذا التكرار يعني أيضًا أنك ستكسب وقتًا وجهدًا كبيرين إن جعلت هذه العملية أبسط، ويصبح لديك وقت لتقديم دعم أفضل وتوليد المزيد من الأرباح وبناء علامتك التجارية بشكل عام، وأنت في حاجة إلى قوالب بريدية من أجل تبسيط كتابة الرسائل البريدية وأتمتتها، كما فعل كل المستقلين الناجحين من قبلك. لذا إليك عشرة قوالب مفيدة تضيفها إلى برنامج البريد الذي تستخدمه، كي توفّر وقتًا لنفسك وتزيد من إنتاجيتك. القالب اﻷول: طلب التوصية بك لعملاء جدد لو لاحظت طريقة عمل العاملين في المبيعات لرأيتهم يطلبون من عملائهم ترشيح خدماتهم لعملاء جدد بمجرد إنهاء الصفقة، تمامًا كما لو أن طلب التوصية هو آخر خطوة من عملية الصفقة نفسها! فكن مثلهم، إذ يجب عليك أيضًا طلب هذه التوصيات كجزء من عملية تسليمك للمشروع، إليك نموذجًا لقالب رسالة بريدية يمكنك إرساله: فائدة 1: اذكر شخصًا محددًا باسمه من معارف عميلك يمكن أن يوظّفك. أضف تلك الفقرة إلى النموذج: ﻻ أريدك أن تظن هذه الرسالة مشبوهة أو تجعلك تبدو مثل من يتعقب الناس خلسة، بل هذا محض ذكاء منك كي ينقل العميل اسمك وسمعتك لمن يعرفه. فائدة 2: تنصح بيا كايلن من مجلة Smashing أن تبادر بطلب التوصية من عميلك لأصدقائه، فهذا يزيل القلق من نفس ذلك الصديق بما أن من يرشحك صديقه، عبر إرفاق صيغة نصية جاهزة يعدّلها عميلك ثم يرسلها إلى معارفه لترشيحك لهم، كما هو موضح أدناه: إن الهدف من هذا التقديم الجاهز هو توفير عناء الكتابة على العميل، وهو أمر سيقدّروه لك إذ قد يكسل بعضهم عن صياغة مثل تلك الرسالة. القالب الثاني: العملاء الجدد حين تحصل على مشروع مع عميل وتكون على وشك البدء فيه، فإن الوقت مناسب ﻹرسال رسالة ترحيبية، وهذه الرسالة فرصتك ﻹخبار العميل كيف سيتم العمل في المشروع، وتقلل من المراسلات المبدئية حين ﻻ يعلم العميل شيئًا عما يجري من طرفك. فائدة: إن كنت تستخدم أداة ﻹدارة مشاريعك مثل Basecamp أو Trello، فقدّمها إلى عميلك في رسالة الترحيب، وضع له فقرة مثل هذه: القالب الثالث: طلب الشهادات إن أفضل توقيت لطلب شهادة أو تقييم من عميلك هو عند تسليم المشروع، إذ سيكون تجاوب العميل عاليًا معك حينها، إليك نموذجًا عن كيفية طلب ذلك: فائدة 1: كن دائمًا مستعدًا لطلب تقييم عميلك أو شهادته عن عملك معه. ﻻ أذكر أين قرأت هذه النصيحة لكنها مفيدة على أي حال. فمثلًا، إن أرسلت نسخة من المشروع للمراجعة أو نموذجًا أوليًا وأبهر العميل وأرسل لك ردًا يشكرك فيه، فأرسل له فورًا رسالة تستأذنه فيها أن تستخدم كلماته تلك كشهادة منه على عملك، إليك نموذجًا عن الرسالة التي يمكنك أن ترسلها إليه: فائدة 2: تجنب استخدام عبارات عامة وغامضة في نص الشهادة الذي تقترحه عليه مثل “مقدّم خدمات ممتاز” أو “متعاقد يمكن الاعتماد عليه”. وركز بدلًا من ذلك على الكيفية التي حللت بها مشاكل العميل، جرب البحث عن بعض أفضل مطوري ووردبريس لترى صفحات شهادات عملائهم، إليك صفحة شهادات العملاء لمطور اسمه بيل إريكسون. تذكّر أﻻ تجري خلف شهادة مبهرة، وإنما شهادة تجعل العملاء المحتملين يرغبون في توظيفك. فائدة3: جرب هذه الصيغة في نص الشهادة الذي ستقترحه على العميل، هذا النص تنصح به جوانا ويب: كما يمكنك أيضًا أن ترسل إليه رسالة طلب الشهادة تلك عبر لينكدإن. القالب الرابع: عرض عملك كدراسة حالة تعدّ دراسات الحالة للعملاء أقوى مئة مرة من الشهادات ﻷنها تظهر للعميل المحتمل كيف حللت مشكلة عميلك السابق، بينما الشهادة ﻻ تحتوي إﻻ على تجربة العميل معك. إليك مثالًا عن طلب للعميل أن تعرض تجربتك معه كدراسة حالة: لن يتردد العميل بمساعدتك إن أعجبه عملك، وأغلب العملاء يسعد بالمشاركة حقيقة ﻷنهم يرغبون بمساعدتك لإعجابهم بجودة عملك، لكن لا تعِد العميل بروابط إلى شركته أو بالترويج له (خاصة إن لم يكن معرض أعمالك مشهورًا) وتجنب إرسال أسئلة دراسة الحالة كنص داخل الرسالة نفسها، إذ سيخلق هذا فوضى في الرد على كل الأسئلة التي ستضعها، وستضطر للتنقل بين الرسائل وردودها ذهابًا وعودة مرات كثيرة، واﻷفضل أن تستخدم أداة مثل Typeform كي تنشئ استمارات أسئلة جميلة ومرتبة. القالب الخامس: التقديم على وظائف استخدم هذا القالب الذي سأذكره باﻷسفل حين تقل طلبات المشاريع التي تأتيك من توصيات العملاء والطرق الطبيعية الأخرى التي ﻻ تتضمن رسائل العروض الباردة مثلًا. أنت في حاجة بالطبع إلى تخصيص اجزاء من الرسالة بناء على عرض الوظيفة أو المشروع الذي تتقدم إليه، دعنا ننظر في مثال لنرى كيف يمكن تنفيذ هذا التخصيص على مطالب محددة للعميل في عرض الوظيفة: دعنا نستخدم هذه المعطيات الآن لنخصص نموذج العرض الذي سترسله للعميل: سنختار أفضل ثلاثة متطلبات تظن أن العميل قد يوظفك من أجلها، وإليك تطبيقًا عمليًا لتقييم تلك المتطلبات: طلاقة في الإنجليزية. سيعرف العميل تلقائيًا تمكّنك من هذه المهارة إن كنت سترسل العرض بالإنجليزية، فهذه الخطوة غير مهمة، لكن ربما تحتاجها لعميل عربي. خبرة في PHP/MySQL. هذه عامة، تخطّاها أيضًا. كتابة شفرة نظيفة ومتوافقة مع المعايير القياسية. هذه يمكن استخدامها. خبرة في ووردبريس (+5 سنوات). هذه مهمة، لكن يمكن تغطيتها في مقدمة الرسالة. متابعة لتطورات الويب. عامة أيضًا وغير محددة، تخطاها. متاح للعمل من 9-5. يمكنك استخدامها بما أنها محددة بتوقيت قد يكون خارج منطقتك الزمنية. قدرة على التركيز على إنشاء مواقع رائعة. يمكن استخدامها. رغبة في العمل مع فريق. تخطاها. واﻵن، لنحوّل هذه القائمة المصغّرة التي خرجنا بها إلى نقاط ترفع من احتمال توظيفك: يمكن التعبير عن نقطة بناء شفرة نظيفة بقولك شيئًا مثل “لم أرسل شفرة سيئة أو بها سخام من قبل، بل أتأكد من أن شفرتي تمر على كل المصغّرات minifiers كجزء من عملية مراجعتي لها، وأنها أيضًا شفرة رشيقة lean”. هل وضحت الفكرة؟ القالب السادس: رفض المشاريع تكمن فائدة إرسال رسائل الرفض للعملاء أن العميل حينها يمكن أن ينظر في توظيف شخص آخر، كما يجنبك رسائل المتابعة-follow up emails.إليك مثالًا عن الرسالة التي يمكن أن تستخدمها: القالب السابع: جدولة المكالمات تتضمن مشاريع التطوير الكبيرة تواصلًا كثيفًا في العادة، ويحدث أغلب ذلك التواصل على سكايب وليس في الرسائل البريدية، لذا فإن الاحتفاظ بنموذج رسالة لجدولة اتصال سيوفر وقتًا في صياغتها كل مرة. فبمثل هذا النموذج تساعد العميل على تحديد مدى أهمية الاتصال، وما إن كان بإمكانهم تأجيله. ﻻ تنس أيضًا أن تلخص اجتماعكما في رسالة موجزة بأهم ما تحدثتما فيه لترسلها إليه بعد الاجتماع مباشرة. كما يمكن أن تسجّل المكالمة إن لم ترغب في أخذ ملاحظات أثناء الاجتماع، كي تراجعها فيما بعد وتلخصها، لكن أخبر العميل مسبقًا أنك ستسجل الاجتماع. إليك بعض الأدوات التي تسجل لك الاجتماع في سكايب. القالب الثامن: المتابعة إن لم يرد عليك عميل محتمل قد راسلته من قبل، فلا يعني هذا أنه ﻻ يريد العمل معك مرة أخرى، بل ربما هو مشغول أو لم ير رسالتك، وهنا يأتي دور رسائل المتابعة. تقول هيذر مورجن، المدير التنفيذي لشركة Salesfolks، وهي شركة تساعد شركات البرمجيات الخدمية SaaS على كتابة الرسائل الباردة، أن عليك إرسال رسائل متابعة مرة بعد مرة، ربما حتى سبعة رسائل، ذلك أنه على حد قولها: كذلك تنصح هيذر بعد تكرار النص في رسائل المتابعة. القالب التاسع: الإبلاغ عن تأخير في التسليم قد تخرج أمور عن سيطرتك أحيانًا وتضطر إلى قضاء مزيد من الوقت الإضافي ﻹنجاز المشروع، وأنصحك بإخبار عميلك مباشرة أنك قد تتأخر في إرسال المشروع عن الوقت المتفق عليه بينكما. إن كان التأخير يزعج العميل فيمكن أن تعرض خصمًا مما ستقبضه كتعويض عن هذا التأخير، فتضيف مثل هذا السطر إلى الرسالة السابقة: القالب العاشر: الرسائل الباردة لن يفلح أي قالب معك في الرسائل الباردة إلى العملاء، والطريقة الوحيدة التي تحصل بها على رد من عميل محتمل في رسالة باردة هي بالبحث وتعلم فن كتابة الرسائل الباردة. لكن سأعطيك هنا فكرة عن الرسائل الباردة التي تنجح في استخراج رد من العميل المحتمل عبر هذين النموذجين الرائعين: النموذج الأول من Masswerks، وهو بسيط ومباشر وفعّال أيضًا، بل إن هذا النموذج قد جعل Masswerks تكسب مشروعًا استشاريًا بقيمة 15 ألف دولار. تظهر الرسالة أن الرسائل الباردة يمكن أن تكون مؤثرة بدون انتهاج أساليب ملتوية، وﻻحظ كيف أن الشركة تتحدث من منظور النتائج التي ستحققها للعميل دون أن تبدو كمن يحاول كسب المال فقط. أما النموذج الثاني فإنه من مصمم مستقل اسمه جيك جورجوفان، وقد كسب من تلك الرسالة 4250 دولار. تنصح هيذر مورجن أن تحافظ على الرسالة الباردة الأولى قصيرة، ربما 3-5 جمل، كما تعطي نصيحة جميلة عن كيفية جعل عنوان الرسالة جاذبًا للانتباه: إن أردت أن يلاحظ عميلك المحتمل رسالتك فيجب أن تشركه فيها على مستوى عميق، وتفعل هذا عن طريق أمرين: إما أن تطرح سؤالًا عن تجارته، مثل “سؤال عن معدلات تحويل العملاء لـ(اسم الشركة)”، وإما أن تعرض نصيحة قيّمة له، مثل “اقتراح لزيادة معدل تحويل العملاء بعشر مرات في (اسم الشركة)”. وهذا كل ما لدي بشأن نماذج الرسائل، لكن ستحتاج أن تفعّّل الردود المعلّبة Canned Responses في Gmail كي ﻻ تضطر إلى نسخ تلك النماذج في كل مرة تريد استخدام أحدها. لذا دعنا ننظر في كيفية عمل هذه الردود. استخدام الردود المعلّبة في Gmail الردود المعلّبة هي قوالب في Gmail تستطيع إدراجها في رسائل بثلاث نقرات فقط. لتفعيلها، اذهب إلى Gmail settings، ثم Labs، ثم Canned Responses. اضغط على Enable ثم Save Changes. ولحفظ رد معلّب، انسخ أحد النماذج باﻷعلى مع عنوان رسالته وألصقه في Gmail -تذكر أن تزيل التنسيق من النص كله وتضغط على أيقونة remove formatting-. واﻵن أضف هذه الرسالة كنموذج، اضغط على الأيقونة الصغيرة في أسفل اليمين واختر Canned Responses، ثم اختر New Canned Response. وهكذا يكون نموذجك جاهزًا للاستخدام. وفي المرة التالية التي تريد استخدام رد معلب فيها، يمكنك اختيار واحد مما حفظته مسبقًا بهذه الطريقة. وإضافة إلى تفعيل الردود المعلبة في Gmail، فإني أشير عليك بتثبيت هذه الإضافات في Gmail أيضًا لتعطيك مزيدًا من التحكم في كيفية حدوث المناقشة. 3 إضافات مجانية في Gmail Boomerang for Gmail تتيح لك هذه الإضافة جدولة الرسائل، وهي مفيدة للمستقلين خاصة والشركات التي تخدم عملاء في مناطق زمنية مختلفة. فسواء كانت رسالة عروض أو تحديث حالة، فإن هذه الإضافة ستساعدك على توصيل هذه الرسائل في أوقات العمل لعملائك. وتسمح لك الباقة المجانية في الإضافة بجدولة عشر رسائل، ويمكنك الترقية للحصول على مزايا أكثر مثل جدولة رسائل أكثر والرسائل الراجعة Recurring Messages، والتعقب غير المحدود Unlimited tracking، وغيرها … . UglyEmail تتيح لك هذه اﻹضافة تحديد الرسائل التي لديها متعقبات للفتح والنقرات، فقد يتعقب أحد عملائك أحيانًا توقيت فتحك للرسالة كي يعرف هل تجاهلته أم ﻻ، وقد تكون حقيقة مشغولًا ولا تود الرد مباشرة، لذا يفضل أﻻ تقرأ هذه الرسائل إن لم تستطع الرد مباشرة، وتضع هذه الإضافة أيقونة عين أمام كل الرسائل التي تحاول تعقبك. PixelBlock قد تتيح لك الإضافة السابقة تحديد الرسائل التي تحاول مراقبة سلوكك فيها، لكن إضافة PixelBlock تحظر كل محاولات التعقب. وهي إضافة يجب على أي مطور أو شركة استخدامها، لأنك ﻻ تريد أن يعرف أحد أنك قرأت رسالته في الواحدة صباحًا على هاتفك، وقد يشعر العميل أنك غير محترف ﻷن عملك يقتطع من وقت فراغك أيضًا. وستكفي هذه الإضافات لأغلب المستقلين، لكن إن نما عملك إلى الحد الذي تحتاج فيه إلى مزايا جديدة، فجرب أدوات ﻹدارة علاقاتك مع العملاء-CRM مثل Hubspot أو MixMax أو Streak، وأغلب هذه الأدوات تدعم عشر نماذج في نسخها المجانية. الخلاصة إن إعداد مثل هذه النماذج التي ترسلها بضغطة زر إلى عملائك بعد تعديلات بسيطة توفّر عليك ساعات تذهب في كتابة وتنقيح الرسائل مرة بعد مرة، وإني أضعها بين يديك كي تستخدمها كما تشاء وتعدّل فيها لتناسب نبرة حديثك مع عملائك. ترجمة -بتصرف- لمقال 10 Email Templates Every Web Developer Needs to Keep Handy لصاحبته Disha Sharma حقوق الصورة البارزة محفوظة لـ Freepik
  16. تزيد أحجام قواعد البيانات مع الوقت حتى تتجاوز أحيانًا المساحة اﻷصلية التي خُصِّصت لها، وقد تواجهك مشاكل في المدخلات والمخرجات I/O إن كانت قاعدة البيانات موجودة في نفس القسم “Partition” الموجود به بقية نظام التشغيل. وسنتعلم في هذا الدليل كيفية نقل مجلد البيانات في نظام PostgreSQL لإدارة قواعد البيانات إلى مكان جديد في حالة كنت تريد إضافة مساحة جديدة أو تبحث في طرق لتحسين الأداء، أو الاستفادة من مزايا التخزين الأخرى التي توفرها أنظمة مصفوفات الأقراص المستقلة RAID، أو عُقّدُ التخزين الشبكية “Network Block Storages”، أو غيرها من الأجهزة وأنظمة التخزين. المتطلبات خادم يعمل بتوزيعة أوبنتو 16.04، عليها مستخدم له صلاحية sudo -انتبه، ليس المستخدم الجذر root-. خادم PostgreSQL، يمكنك قراءة كيفية تثبيت واستخدام PostgreSQL على أوبنتو في هذا المقال. وسننقل البيانات إلى وحدة تخزينية “Block Storage Device” لها نقطة الضم التالية /mnt/volume-nyc1-01. فائدة: تكون اﻷقراص أو اﻷجهزة/الوحدات “Devices”بشكل عام في أنظمة لينكس عبارة عن ملفات، وكل جهاز “قسم/partition من القرص الصلب مثلًا” له نقطة ضم “mount point” يكون فيها محتواه. الخطوة الأولى: نقل مجلد بيانات PostgreSQL سنبدأ جلسة PostgreSQL تفاعلية أولًا كي نتحقق من المكان الحالي للمجلد، وسنستخدم أمر psql للدخول إلى شاشة تفاعلية “interactive monitor”، ثم نضيفu postgres- لتخبر sudo أن ينفِّذ أمر psql كمستخدم postgre. $ sudo -u postgres psql وبمجرد دخولك إلى الشاشة، اطلب عرض مجلد البيانات: postgres=# SHOW data_directory; وسيكون الخرج في حالتنا هكذا: data_directory ------------------------------ /var/lib/postgresql/9.5/main (1 row) ويؤكد هذا الخرج أن PostgreSQL مُعدَّ لاستخدام مجلد البيانات الافتراضي main الموجود في المسار ذي اللون الأحمر بالأعلى، إذًا هذا هو المجلد الذي سننقله. اكتب q\ للخروج بمجرد أن تتأكد من وجود المجلد في النظام. سنوقف PostgreSQL لضمان سلامة البيانات، قبل أن نغيّر شيئًا في مجلد main: $ sudo systemctl stop postgresql ثم نستعلم عن حالة PostgreSQL لنتأكد أنها أُوقِفَت، إذ أن systemctl ﻻ يعرض نتائج أوامر إدارة الخدمات في النظام: $ sudo systemctl status postgresql وتتأكد أنها أوقفت إن كان السطر الأخير في الخرج يقول لك إن الخادم قد توقف: . . . Jul 22 16:22:44 ubuntu-512mb-nyc1-01 systemd[1]: Stopped PostgreSQL RDBMS. والآن، سننسخ مجلد البيانات الحالي إلى مكان جديد باستخدام rsync، مع استخدام لاحقة a- للحفاظ على الصلاحيات وبقية خصائص المجلد، وv- لعرض خرج مفصّل كي تتابع ما يحدث. ملاحظة: تأكد من عدم وجود شرطة مائلة بعد اسم المجلد، والتي قد تضاف تلقائيًا إن استخدمت زر tab لإكمال النصوص، إذ أن rsync سيضع محتوى المجلد في نقطة الضم بدلًا من مجلد محتوي لـ PostgreSQL. سنبدأ rsync من مجلد postgresql من أجل محاكاة هيكل المجلد الأصلي في المكان الجديد، وسنتجنب مشاكل الصلاحيات للترقيات المستقبلية عبر إنشاء مجلد postgresql داخل نقطة الضم “mount point” والإبقاء على ملكيته لمستخدم PostgreSQL. ونحن لا نحتاج هنا إلى مجلد الإصدار 9.5 بما أننا حددنا مكان المجلد بوضوح في ملفpostgresql.conf، لكن ﻻ بأس باتباع أسلوب المشروع خاصة إن كانت هناك حاجة في المستقبل لتشغيل عدة إصدارات من PostgreSQL: $ sudo rsync -av /var/lib/postgresql /mnt/volume-nyc1-01 وسنعيد تسمية المجلد الحالي مع امتداد bak. ونبقي عليه حتى نتأكد أن النقل تم بنجاح، ونحن نعيد تسميته من أجل تجنب أي لبس قد يحدث من ملفات موجودة في كلا من المكان القديم والجديد: $ sudo mv /var/lib/postgresql/9.5/main /var/lib/postgresql/9.5/main.bak وبهذا نكون جاهزين لننتقل إلى ضبط إعدادات PostgreSQL. الخطوة الثانية: التوجيه إلى المكان الجديد للبيانات تُضبط القيمة الافتراضية لـ data_directory في إعدادات PostgreSQL على أنه موجود في هذا المسار: /var/lib/postgresql/9.5/main وتوجد هذه الإعدادات في ملف postgresql.conf، وسنغيّر الآن تلك الإعدادات لنضع المكان الجديد لمجلد البيانات: $ sudo nano /etc/postgresql/9.5/main/postgresql.conf ابحث عن السطر الذي يبدأ بكلمة data_directory وغيّر مساره إلى المسار الموجود فيه المجلد الجديد، وفي حالتنا فإن هذا السطر يجب أن يبدو هكذا بعد تغيير المسار: . . . data_directory = '/mnt/volume-nyc1-01/postgresql/9.5/main' . . . الخطوة الثالثة: إعادة تشغيل PostgreSQL نحن الآن جاهزون لتشغيل PostgreSQL، الصق الأمر الأول لتشغيله، والثاني لمعرفة حالته: $ sudo systemctl start postgresql $ sudo systemctl status postgresql افتح شاشة PostgreSQL التفاعلية: $ sudo -u postgres psql اطلب عرض قيمة data_directory لنتأكد أن مجلد البيانات الجديد هو المستخدَم الآن: postgres=# SHOW data_directory; يجب أن يكون الخرج هكذا في حالتنا: data_directory ----------------------------------------- /mnt/volume-nyc1-01/postgresql/9.5/main (1 row) وننتهز هذه الفرصة بما أننا أعدنا تشغيل PostgreSQL وتأكدنا أنه يستخدم المكان الجديد، كي نتأكد أن قاعدة البيانات تعمل بكفاءة. احذف مجلد البيانات الاحتياطي -القديم- بمجرد أن تتأكد من سلامة أي بيانات موجودة مسبقًا: $ sudo rm -Rf /var/lib/postgresql/9.5/main.bak أعد تشغيل PostgreSQL مرة أخيرة للتأكد من أنها تعمل كما يجب: $ sudo systemctl start postgresql $ sudo systemctl status postgresql الخلاصة يجب أن تستخدم قاعدةُ بياناتك الآن المجلدَ الجديد في المكان الذي اخترتَه له، وهذا يعني أنك تستطيع الآن زيادة حجم قاعدة البيانات بما أنك نقلتها من المكان القديم ذي المساحة المحدودة. ترجمة -بتصرف- لمقال How To Move a PostgreSQL Data Directory to a New Location on Ubuntu 16.04 لصاحبته Melissa Anderson
  17. چانجو هو إطار عمل مرن يستخدم ﻹنشاء تطبيقات بلغة بايثون، وهذه التطبيقات مُجهزة تلقائيًا لتخزين البيانات في ملف قاعدة بيانات SQLite خفيف ويعمل بشكل جيد في الاستعمالات العادية والصغيرة، لكن استخدام نظام إدارة قواعد بيانات تقليدي سيطوِّر أداء التطبيق تحت ضغط زيادة المستخدمين أو زيادة حجم البيانات. وسنستعرض في هذا الدليل كيفية تثبيت وتهيئة PostgreSQL لاستخدامها مع تطبيقات Django، وسنثبّت الحزم اللازمة وننشئ اعتماديات قاعدة البيانات للتطبيق، ثم نبدأ مشروع Django جديد ونجهّزه ليستخدم هذه اﻹعدادات. المتطلبات خادم يعمل بتوزيعة ديبيان جنو/لينكس إصدار 8 “Jessie” مع مستخدم -غير الجذر- له صلاحية sudo. تثبيت الحزم من مستودعات ديبيان سنثبّت أولًا pip -مدير حزم بايثون- لتثبيت وإدارة حزم بايثون، وسنثبّت أيضًا برنامج قاعدة البيانات والمكتبات اللازمة للتفاعل معهم. يحتاج إصدار بايثون 2 و3 إلى حزم مختلفة قليلًا عن بعضها، لذا اختر الأوامر التي تتوافق مع إصدار بايثون لديك. انسخ الأوامر التالية إن كنت تستخدم بايثون 2: $ sudo apt-get update $ sudo apt-get install python-pip python-dev libpq-dev postgresql postgresql-contrib وهذه إن كنت تستخدم بايثون 3: $ sudo apt-get update $ sudo apt-get install python3-pip python3-dev libpq-dev postgresql postgresql-contrib إنشاء قاعدة البيانات والمستخدم الخاص بها يستخدم Postgres نظام توثيق للاتصالات المحلية اسمه “توثيق النِّدّ Peer Authentication”. وهذا يعني أنه إذا كان اسم المستخدم في نظام التشغيل يطابق اسم Postgres صالح، فإن هذا المستخدم يمكنه الولوج دون الحاجة إلى توثيق. وقد أُنشئ مستخدم للنظام اسمه postgres ليتوافق مع مستخدم postgres المدير لنظام PostgreSQL، وسنحتاج هذا المستخدم لتنفيذ مهام إدارية، ويمكننا أيضًا أن نستخدم sudo وندخل اسم المستخدم من خلال لاحقة u-. سجل الدخول إلى جلسة Postgres تفاعلية عبر كتابة الأمر التالي: $ sudo -u postgres psql وسننشئ أولًا قاعدة بيانات لمشروع Django، ويجب أن يكون لكل مشروع قاعدة البيانات الخاصة به للدواعي الأمنية. وسنسمّي قاعدة البيانات في هذا المقال باسم myproject، لكن من اﻷفضل طبعًا أن تختار اسمًا يصلح لمشروع حقيقي. postgres=# CREATE DATABASE myproject; سيكون الخرج هكذا: CREATE DATABASE أنشئ مستخدمًا لقاعدة البيانات، وسنستعمله للاتصال بقاعدة البيانات والتفاعل معها، وﻻ تنس أن تستبدل myprojectuser باسم قاعدة البيانات الذي اخترته، وتغيّر password بكلمة سر قوية: postgres=# CREATE USER myprojectuser WITH PASSWORD 'password'; سيكون الخرج هكذا: CREATE ROLE واﻵن سنعدّل بعض معاملات الاتصال لهذا المستخدم لتسريع عمليات قاعدة البيانات بما أن القيم الصحيحة لن تضطر إلى أن تمر بعمليات استعلام وضبط في كل مرة يحدث اتصال. فسنضبط الترميز الافتراضي على UTF-8 وهو الترميز الافتراضي الذي يتوقعه Django. وسنضبط القاعدة الافترضية لعزل التعاملات “default transactio isolation scheme” على read committed، والتي تحظر القراءة من التعاملات غير المرسلة “uncommitted transactions”. وأخيرًا، سنضبط المنطقة الزمنية الافتراضية لمشاريع Django على UTC. وهذه الإعدادات يُنصح بها في التوثيق الرسمي لمشروع Django، دعنا نكتب ذلك الآن: postgres=# ALTER ROLE myprojectuser SET client_encoding TO 'utf8'; postgres=# ALTER ROLE myprojectuser SET default_transaction_isolation TO 'read committed'; postgres=# ALTER ROLE myprojectuser SET timezone TO 'UTC'; ويكون الخرج هكذا: ALTER ROLE ALTER ROLE ALTER ROLE وكل ما نحتاجه الآن هو إعطاء مستخدم قاعدة البيانات صلاحيات الوصول لقاعدة البيانات التي أنشأناها للتو: postgres=# GRANT ALL PRIVILEGES ON DATABASE myproject TO myprojectuser; ويكون الخرج هكذا: GRANT اخرج الآن من محث SQL: postgres=# \q يجب أن تعود الطرفية بك الآن إلى جلسة shell السابقة. تثبيت Django في بيئة افتراضية يمكننا تثبيت Django الآن بما أن قاعدة بياناتنا قد صارت جاهزة، وسنثبته وكل اعتمادياته داخل بيئة بايثون افتراضية لتحقيق مرونة أكثر، وستتيح لنا حزمة virtualenv إنشاء هذه البيئات بسهولة. اكتب هذا السطر في الطرفية لتثبيت virtualenv إن كنت تستخدم Python 2: $ sudo pip install virtualenv وهذا إن كنت تستخدم Python 3: $ sudo pip3 install virtualenv أنشئ مجلدًا جديدًا باسم مشروعك (استبدل اسم مشروعك بـ myproject الذي اخترناه هنا لغرض المثال فقط)، ثم انتقل داخله: $ mkdir ~/myproject $ cd ~/myproject اكتب السطر التالي لإنشاء بيئة افتراضية لتخزين متطلبات بايثون لمشروع Django الخاص بنا: $ virtualenv venv وذلك سيثبّت نسخة محلية من بايثون وأمر pip محلي داخل مجلد اسمه venv داخل مجلد مشروعك. نحتاج الآن إلى تفعيل البيئة الافتراضية قبل تثبيت البرامج داخلها، ويمكننا فعل ذلك عبر الأمر التالي: $ source venv/bin/activate سيتغير المحثّ الآن ليشير إلى أنك تعمل الآن داخل بيئة افتراضية وسيبدو شبيهًا بهذا: (venv)user@host:~/myproject$ ويمكننا الآن تثبيت Django باستخدام pip، ثم سنثبت psycopg2 التي ستتيح لنا استخدام قاعدة البيانات التي أعددناها: (venv) $ pip install django psycopg2 يمكننا الآن أن نبدأ مشروع Django داخل مجلد المشروع (myproject في حالتنا)، وسينشئ هذا مجلدًا فرعيًا بنفس اسم مجلد المشروع ليحتوي الشفرة البرمجية، إضافة إلى مخطوطة إدارية “management script” داخل المجلد الحالي: (venv) $ django-admin.py startproject myproject . ملاحظة: تأكد من إضافة النقطة في نهاية الأمر السابق، فنحن ﻻ نحتاج مستوىً فرعيًا آخر في المجلد بما أننا أنشأنا مجلدًا أبًا للمشروع “parent directory” ليحتوي مجلد البيئة الوهمية، وهو ما كان سيحدث لو لم نضع النقطة في نهاية سطر الأوامر السابق. يجب أن تكون هيكلة مجلدك الحالي شبيهة بهذا: . └── ./myproject/ ├── manage.py ├── myproject/ │ ├── __init__.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py └── venv/ └── . . . وكما ترى فإن لدينا مجلدًا أبًا للمشروع يحتوي مخطوطة manage.py، ومجلد داخلي للمشروع، ومجلد البيئة الوهمية venv الذي أنشأناه قبل قليل. ضبط إعدادات قاعدة بيانات Django سنضبط الآن مشروعنا كي نستخدم قاعدة البيانات التي أنشأناها، افتح ملف الإعدادات الرئيسية لمشروع Django الموجود في المجلد الفرعي للمشروع: (ملاحظة: استبدل مشروعك بـmyproject) (venv) $ nano ~/myproject/myproject/settings.py قد تحتاج أيضًا إلى تعديل تعليمة ALLOWED_HOSTS قبل إعداد قاعدة البيانات، وتلك التعليمةتحدد قائمة عناوين أو أسماء نطاقات مسموح باستخدامها للاتصال مع مشروع Django، فأي طلب اتصال بترويسة HOST ليس في هذه القائمة سيتم اعتراضه. ويتطلّب Django أن تعدّل هذه التعليمة كي يمنع فئة معينة من الاختراقات الأمنية. ولتعديل هذه التعليمة، أدخل -بين قوسين مربعيْن- عناوين IP أو أسماء النطاقات المرتبطة بخادم Django الخاص بك ويجب أن يكون كل نطاق أو عنوان IP داخل علامتي تنصيص مفردتيْن، وتفصل بين كل واحد منهم فاصلة “,”. وإن رغبت في الاستجابة لطلبات من نطاق ما إضافة إلى النطاقات الفرعية له فضع نقطة قبله أثناء كتابته. إليك أمثلة تعرض لك الطريقة الصحيحة لصيغة هذه التعليمة، استبدل النطاقات وعناوين الـ IP التي تريدها بالأمثلة الموجودة هنا: . . . # أبسط حالة: اكتب العناوين وأسماء النطاقات لخادم چانجو الخاص بك # ALLOWED_HOSTS = [ 'example.com', '203.0.113.5'] # ابدأ اسم النطاق بنقطة للاستجابة له ولأي نطاق فرعي # ALLOWED_HOSTS = ['.example.com', '203.0.113.5'] ALLOWED_HOSTS = ['your_server_domain_or_IP', 'second_domain_or_IP', . . .] واﻵن ابحث عن قسم DATABASES الذي يبدو كهذا: . . . DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } . . . هذا القسم يستخدم SQLite كقاعدة بيانات، ونريد تعديل هذه لكي يستخدم قاعدة بيانات PostgreSQL الخاصة بنا. فأول ما نفعله هو تغيير المحرك كي يستخدم محوّل postgresql_psycopg2 بدلًا من sqlite3، ثم نستخدم اسم قاعدة بياناتنا (myproject في مثالنا) في خانة NAME، ونضيف بعض بيانات تسجيل الدخول مثل اسم المستخدم وكلمة المرور، والمضيف الذي سيتصل به، وسنضيف خانة Port ونتركها فارغة كي يتم اختيار المنفذ الافتراضي: . . . DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'myproject', 'USER': 'myprojectuser', 'PASSWORD': 'password', 'HOST': 'localhost', 'PORT': '', } } . . . واﻵن احفظ الملف وأغلقه. نقل قاعدة البيانات واختبار مشروعك يمكننا الآن نقل هياكل البيانات -بما أننا أنهينا ضبط إعدادات Django- إلى قاعدة بياناتنا واختبار الخادم، سنبدأ بإنشاء هيكل ابتدائي لقاعدة البيانات بما أننا ﻻ نملك أي بيانات حقيقية بعد: (venv) $ cd ~/myproject (venv) $ ./manage.py makemigrations (venv) $ ./manage.py migrate أنشئ حسابًا إداريًا: (venv) $ ./manage.py createsuperuser وسيطلب منك النظام اختيار اسم لمستخدم هذا الحساب وعنوان بريد وكلمة مرور له. ملاحظة: قبل أن تجرب خادم التطوير، تأكد أن تفتح منفذًا في جدارك الناري، وإن كنت تستخدم جدار ufw، فإن فتح المنفذ المناسب يتم عبر كتابة هذا الأمر: (venv) $ sudo ufw allow 8000 أما إن كنت تستخدم جدار iptables، فإن الأمر الذي تحتاجه يعتمد على اﻹعدادات التي تستخدمها، الأمر التالي يصلح ﻷغلب الإعدادات: (venv) $ sudo iptables -I INPUT -p tcp --dport 8000 -j ACCEPT يمكنك الآن اختبار عمل قاعدة بياناتك بشكل صحيح من خلال بدء تشغيل خادم تطوير Django: (venv) $ ./manage.py runserver 0.0.0.0:8000 اذهب إلى عنوان IP الخاص بالخادم أو اسم النطاق الخاص به متبوعًا بـ 8000: للوصول إلى الصفحة الجذر الافتراضية لـDjango: http://server_domain_or_IP:8000 يجب أن ترى صفحة index الافتراضية: ضع admin/ في نهاية الرابط، يجب أن تكون قادرًا على الوصول لشاشة تسجيل الدخول إلى واجهة التحكم: أدخل اسم المستخدم وكلمة المرور اللتان أنشأتهما قبل قليل باستخدام createsuperuser، فتدخل إلى لوحة التحكم: وبدخولنا للوحة التحكم نكون قد تأكدنا أن قاعدة البيانات قد خزّنت معلومات حساب المستخدم الخاص بنا ويمكننا الدخول إليه دون مشاكل. يمكنك الآن إيقاف الخادم حين تنتهي من تحققك بالضغط على ctrl-c داخل شاشة الطرفية. وإن أردت وسيلة أخرى لاختبار قاعدة البيانات يمكنك الاستعلام داخل قاعدة بيانات Postgres نفسها باستخدام psql، فمثلًا يمكنك الاتصال بقاعدة بيانات مشروعك (myproject) عن طريق المستخدم myprojectuser وإظهار كل الجداول المتاحة بكتابة الأمر التالي: (venv) $ psql -W myproject myprojectuser -h 127.0.0.1 -f <(echo '\dt') لتفصيل اﻷمر السابق، فإنه يجب أن نستخدم ﻻحقة h- من أجل الاتصال بالمضيف المحلي localhost عبر الشبكة لتحديد أننا نريد توثيق كلمة المرور بدلًا من توثيق النّدّ. أما W- فستجعل psql يسألك عن كلمة المرور المناسبة، وf- لتمرير الأمر الوصفي “meta-command” في psql لتنفيذه، وdt\ لعرض كل الجداول في قاعدة البيانات. List of relations Schema | Name | Type | Owner --------+----------------------------+-------+--------------- public | auth_group | table | myprojectuser public | auth_group_permissions | table | myprojectuser public | auth_permission | table | myprojectuser public | auth_user | table | myprojectuser public | auth_user_groups | table | myprojectuser public | auth_user_user_permissions | table | myprojectuser public | django_admin_log | table | myprojectuser public | django_content_type | table | myprojectuser public | django_migrations | table | myprojectuser public | django_session | table | myprojectuser (10 rows) وكما ترى فإن Django قد أنشأ بعض الجداول داخل قاعدة البيانات الخاصة بنا، وهذا يؤكد لنا أن إعداداتنا كانت صحيحة. الخلاصة قد عرضنا في هذا الدليل كيفية تثبيت وإعداد PostgreSQL كقاعدة بيانات في النهاية الخلفية لمشروع Django، إذ تستفيد أغلب المشاريع من استخدام نظم إدارة متطورة لقواعد البيانات، رغم أن SQLite تتعامل بشكل جيد أثناء تطوير المشروع وأثناء الاستخدام الخفيف له. ترجمة -بتصرف- لمقال How To Use Postgresql with your Django Application on Debian 8 لصاحبه Justin Ellingwood.
  18. سنتعلم في هذا الدرس كيفية ترسيخ هويّة بصرية قوية لموقعك عبر تصميم أيقونة الهوية “fav icon” واستخدامها في ووردبريس، ليراها الزائر إلى موقعك بمجرد وصوله، وإبراز الموقع وسط زحام ألسنة المواقع التي لديه في المتصفح عن يمين موقعك وشماله، وسنتعرّف أيضًا كيف ننقل نفس الهوية البصرية عبر الأجهزة المختلفة التي قد يزورك منها المستخدمون. تعريفٌ بأيقونة الهوية Favorite Icon هي تلك الصور الصغيرة التي تراها في ألسنة المتصفح بجانب عنوان الموقع، وتراها أيضًا في تاريخ التصفح والمواقع المفضّلة، سواء في المتصفح العادي أو على الأجهزة المحمولة، وتكون عادة بمقاس 16*16 أو 32*32 بكسل وتلعب تلك الرموز الصغيرة دورًا هامًا في إبراز هوية موقعك فهي تميزه وسط الألسنة الكثيرة التي قد تكون لدى المستخدم في نفس الوقت، ووجود ذلك الرمز في لسان موقعك يعني أن المستخدم لن يجد صعوبة تذكر في العودة إليه بمجرد التفكير في ذلك، وهذا في مصلحة موقعك والمحتوى الموجود به. الصيغ المستخدمة في أيقونات الهويّة شقّت أيقونات الهويّة طريقها بصورة رسمية لأول مرة في متصفح ميكروسوفت “إنترنت إكسبلورر” إصدار 5، في عام 1999، أي حين كان الإنترنت في أيام طفولته، وقد اعتمدتها W3C (اتحاد الويب العالمي) في غضون بضعة أشهر، واستخدمها مطورو الويب من حينها. وتدعم أغلب متصفحات الويب الآن صيغ الصور الحديثة التي يمكن إخراج أيقونة الهوية بها، مثل png – gif – svg، إضافة إلى صيغة ico القديمة، وسنمر سريعًا على أشهرهم سريعًا فيما يلي: صيغة ICO تظل هذه الصيغة أكثر صيغة مدعومة لأيقونات الهوية عبر المتصفحات والأجهزة المختلفة، ويفضَل أن تُخرج نسخة من أيقونة الهوية لموقعك بهذه الصيغة، حتى لو كنت تستخدم صيغة حديثة مثل PNG. لماذا؟ ببساطة لأن الصيغ الأحدث مثل PNG وGIF غير مدعومة من بعض المتصفحات القديمة، ولأن المكان الذي تبحث فيه المتصفحات عن أيقونة الهوية للموقع يختلف بشكل كبير من متصفح لآخر، وهناك احتمال لحدوث خطأ 404 إن لم يجد المتصفح أيقونة الهوية في المكان الافتراضي الذي يبحث فيه. كما أن صيغة ICO تسمح بحفظ أكثر من صورة في نفس الملف، كأنها حاوية لمجموعة صور، وهذا يفيدنا في حفظ عدة نسخ من أيقونة الهوية بأكثر من كثافة نقطية في ملف واحد -مثلًا 16*16 و32*32 و48*48 كما تنصح مايكروسوفت-، كي يقرر المتصفح أي صورة أفضل للعرض حال فتح الموقع من جهاز بعينه. ذلك أن نسخة 16*16 مثلًا لن تكفي وحدها، فهي لا تناسب العرض في شريط المهام أو على سطح المكتب للمستخدم مثلًا وإن كانت مناسبة تمامًا للعرض في لسان المتصفح، فحينها يكون وجود أكثر من نسخة في مصلحة هوية الموقع البصرية. صيغة PNG أحد المزايا الرئيسية لاستخدام صور PNG أن تصميمها وإخراجها سهل، وأن البرامج التي تقوم بذلك متوفرة للمختص وغير المختص، مثل PhotoShop وGIMP، كما أنها تدعم خيارات شفافية متطورة، ويدعمها اتحاد الويب العالمي كذلك W3C. ورغم أن صيغة ICO تدعم شفافية قناة ألفا 8-بت “8bit alpha channel transparency”، إلا أن إيجاد برامج لتصميم الصورة وإظهار تأثير الشفافية من الصعوبة بمكان. الاختيار بين الصيغتين الإجابة المختصرة لسؤال “أي الصيغتين أستخدم؟” هي أن تستخدم كليهما، فيمكنك ضبط إعدادات أيقونة الهوية باستخدام وسم ، عبر تحديد المكان الذي يحتوي على أيقونة الهوية بصيغة PNG، مع الإبقاء على نسخة أخرى .ICO متاحة كخيار احتياطي في مجلد الجذر للموقع. وبهذا فإنك تضمن تغطية أكبر قدر ممكن من إصدارات المتصفحات التي قد يدخل منها المستخدمون إلى موقعك مع تقليل احتمال ظهور خطأ 404. ماذا عن الأجهزة المحمولة؟ لا شك أن أغلب حركة الويب تأتي من أجهزة محمولة سواء كانت هواتف أو حواسيب لوحية، لذا يجب ألا تهمل ذلك أثناء تصميم أيقونة الهوية. لكن تلك الأجهزة متشعبة ومتنوعة أكثر من المتصفحات نفسه،ا حين نفكر في مقاسات الصورة المناسبة وأحجام الشاشات وأنظمة تشغيل تلك الأجهزة أيضًا، فليس هناك حل واحد يناسبهم جميعًا. وحينها يجب أن يكون لديك نسخ بصيغة PNG، ونسخ لأيقونات Apple Touch، وأخرى لرسوميات Windows 8 Tile Graphics، وهكذا .. كي تغطي كافة النسخ المحتملة لأيقونة الهوية لموقعك أو هويتك البصرية بشكل عام. ولكن بداعي التبسيط في هذا المقال، فإننا سنكتفي بإنشاء أيقونة هوية بصيغة ico فقط، أما إن أردت التوسع بعدها فاطلع إن شئت على هذه الخيارات للأجهزة المحمولة، وهذا الدليل الجامع لخيارات أيقونات الهوية. كيفية إنشاء أيقونة هوية “Fav Icon” إننا ننصح باستخدام برامج تصميم احترافية لإنشاء هويتك البصرية بشكل عام ولأيقونة الهوية في حالتنا هذه، وسنستخدم برنامج PhotoShop CS6 من شركة أدوبي لهذا الدليل، لكن لديك خيارات مجانية مثل GIMP أيضًا، وستجد الخيارات متشابهة نوعًا ما. حمّل إضافة ICO Format الخاصة ببرنامج فوتوشوب، والتي سنحفظ صورتنا بامتداد ico من خلالها. داخل فوتوشوب، اضغط File، ثم New، ثم أنشئ صورة بأبعاد 512*512 بكسل، بكثافة نقطية قدرها 72 بكسل/بوصة. صمم أيقونتك داخل مساحة الصورة الفارغة التي أنشأناها قبل قليل. حين يكون تصميمك جاهزًا، اضغط Image، ثم Image Size. تأكد من تنشيط خيار Constrain Proportions واضبط أبعاد الصورة على 16*16 بكسل. استخدم فلتر Unsharp Mask لتقليل التشويش في الأيقونة. اضغط File ثم حفظ باسم، واحفظ تصميمك بامتداد ICO وإليك مثالًا لأيقونة موقعي الخاص: وهناك أدوات على الإنترنت يمكن أن تستخدمها إن لم تكن ترغب في تصميم أيقونتك بنفسك، وكل ما عليك فعله هو رفع الصورة التي ترغب فيها إلى أحد هذه المواقع -معظم تلك الأدوات يمكنها إخراج ملفات ICO تحتوي على أحجام مختلفة للصورة- : Dynamic Drive – Favicon Generator Favicon.cc Favicon Generator انتبه إلى أن المظهر الافتراضي لصورتك في لسان المتصفح ستكون بكثافة 16*16 بكسل، فلا تجعل تصميمك به تفاصيل كثيرة تجعل من الصعب رؤية تفاصيل منها، فألق نظرة على الأيقونات التي تستخدمها أغلب المواقع المشهورة -أو يمكنك النظر إلى أيقونة أكاديمية حسوب في أعلى لسان المتصفح لديك-، وستلاحظ أنها بسيطة ومباشرة. والآن بما أن لديك أيقونة هوية لموقعك، دعنا نضيفها داخل ووردبريس: كيفية إضافة أيقونة الهوية إلى ووردبريس إن كنت تعرف ووردبريس فستقول لابد أن يكون أحدهم قد كتب إضافة هنا أو هناك تقوم بهذا عني، وصحيح أنه يمكنك استخدام إضافات لتنفيذ هذا بدلًا عنك لكن يجب أن تكون لديك هذه المعرفة على أي حال بشيء صغير كهذا، بدلًا من تحميل موقعك بإضافة أخرى لمجرد تنفيذ شيء صغير كهذا. وفي هذا الدليل المختصر، سنرى كيف نضيف ايقونة الهوية إلى ووردبريس 4.3 -هذا الإصدار وقت كتابة المقال الأصلي، لكن يمكن تطبيقه على نسخة ووردبريس لديك، نسخة 4.8 وقت ترجمة المقال-: سجّل دخولك إلى لوحة إدارة ووردبريس. اضغط على Appearence (مظهر)، ثم Customize (تخصيص). اضغط على Site Identity أو (هوية الموقع) إن كنت تستخدم النسخة العربية من ووردبريس. اضغط على Select file (اختر ملفًا) في الجزء الذي تجد مكتوبًا فيه Site Icon (أيقونة الموقع)، واختر أيقونة الهوية التي صممتها. ستظهر أيقونة الهوية الآن تحت ترويسة Site Icon في Site Identity، اضغط Save and Publish (حفظ ونشر). وهكذا نكون قد غيرنا أيقونة الهوية. لاحظ أن ووردبريس تسمح لك بتعديل عملك قبل نشره باختيار جزء الصورة التي ترغب فيها كي تكون أيقونة الهوية، في حالة أن تكون الصورة التي رفعتها مستطيلة مثلًا وليست مربعة. كيف تضيف أيقونة الهوية في ووردبريس 4.2 (والإصدارات الأقدم) لأولئك الذين لم يرقّوا إصدرات ووردبريس لديهم لأي سبب كان، يمكن اتباع الخطوات التالية لإضافة أيقونة الهوية: ارفع الصورة التي أنشأتها إلى المجلد الجذر لموقعك باستخدام برنامج لبروتوكول نقل الملفات FTP. الصق الشفرة التالية في ملف header.php داخل السمة التي تستخدمها للموقع: https://gist.github.com/midoriberlin/111a3ce34672106eb620، انتبه إلى أنك ستغير الرابط وامتداد الملف إن كنت تستخدم صيغة أخرى غير PNG. ارفع صورة أيقونة الهوية إلى مجلد السمة الرئيسي. تأكد أن ترفع صورة الأيقونة إلى المجلد الجذر للموقع والمجلد الرئيسي للسمة، فلا تهمل هذه الخطوة الثالثة كي تضمن ظهور أيقونة الهوية حتى لمن يتصفح محتوى الموقع من قارئات الأخبار “feed readers”. الخلاصة آمل أنك بنهاية المقال قد رأيت أن تلك الأيقونة الصغيرة مهمة لهوية موقعك ومستخدميه، وأنها سهلة في إضافتها لووردبريس أيضًا -على الأقل في الإصدارات الحديثة منها-، أما الآن فدعني أعيد لك ملخص المقال في عجالة: أضف كلا الصيغتين ICO وPNG لتغطية أكبر قدر ممكن من المتصفحات الموجودة الآن. اطلع على الدليل الجامع لأيقونات الهوية كي تستهدف أكبر شريحة ممكنة من الأجهزة المحمولة (أو حالات الاستخدام عمومًا). استغل أدوات مثل Favicon.cc كي تخرج أكثر من حجم لأيقونتك في ملف واحد بكفاءة ويسر. استخدم خاصية Site Icon في ووردبريس 4.3+ كي تريح رأسك من عناء تثبيتها بالطريقة التقليدية في الإصدارات القديمة، لكن الإصدار القديم متوفر إن شئت. دعنا نعرف في التعليقات إن واجهت مشكلة في عرضها في موقعك! ترجمة -وبتصرّف- لمقال How to Add a Favicon to Your WordPress Site لصاحبه Tom Ewer
  19. قد تصاب بحيرة في بداية استخدامك لووردبريس حين تبدأ في التعمق فيها كنظام إدارة للمحتوى لديك لتواجه مصطلحات مثل التصنيفات-Taxonomy والتصنيفات الخاصة-Custom Taxonomies بعد أن كنت تتعامل بسلاسة مع الفئات-Categories والوسوم-Tags. وسنتناول في هذا المقال الفرق بين كل منهم، وكيفية استخدامهم في موقعك، مع بعض الأمثلة على كيفية استخدامهم، ونظرة أيضًا على كيفية استخدام إضافاتنا لهم لإضافة إمكانيات جديدة لموقعك. التعريفات دعنا نبدأ ببعض التمهيد أولًا كي ندرك أبعاد ما نتحدث عنه، فنبدأ بالتصنيفات-taxonomies إذ أنها أوسع المصطلحات التي سنتعامل معها وأشملها. التصنيف Taxonomy أتى هذا المصطلح أصلًا من علم الأحياء، حيث يستخدم في تصنيفات الأنواع الحية وممالك الكائنات، ويعرّفه قاموس أوكسفورد على أنه “نظام يستخدم في التقسيم أو التصنيف”. أما لدينا في ووردبريس فهو يشير إلى “تقنية جمع لبعض المنشورات أو الروابط أو أنواع مخصصة من المنشورات”، وهيا ننظر الآن في بعض الأمثلة التي ستزيل اللبس نهائيًا عن فهم التصنيف في ووردبريس. فقد عرفنا إلى الآن أنه نظام تجميع تستخدمه أنت لتحديد نوع أي منشور في ووردبريس، فالفئة-category تُعدّ تصنيفًا، وكذلك الوسم-tag ما هو إلا تصنيف أيضًا، وتستطيع إنشاء تصنيفاتك الخاصة التي تضع المنشورات العادية والمخصصة تحتها، حيث يكثر استخدام التصنيفات لتمييز منشورات عادية عن نوع مخصص من المنشورات-Custom Post Type، من أجل تلافي أي خلط بين المنشورات العادية والمخصصة منها. فمثلًا ستجد أن إضافة “Support System Plugin” تضيف نوعي منشورات خاصة حين تثبتّها في موقعك، وهما “Support Ticket” و”FAQ”. كما ستنشئ تصنيفين مخصصين هما “Ticket Category” و”FAQ Category”. وذلك التقسيم يفصل بين البطاقات “Tickets” التي لديك والأسئلة الشائعة “FAQ”، وبين منشورات عادية كمقالات مدونة الموقع. ما هو الفصل Term؟ هو عنصر داخل التصنيف، تستخدمه لتمييز منشوراتك عن بعضها، ويمكن أن يجمع عدة عناصر فرعية أخرى فيه. فإن كنت تستخدم إضافة “Support” التي ذكرناها قبل قليل وأنشأت فئات-categories لكل فريق من فِرَق الدعم لديك، فكل واحد من تلك الفِرَق يشكّل فصلًا في تصنيف “Ticket Category” الذي أنشأَته الإضافة حين ثبّتّها. ويمكنك أن تنشئ فصولًا مختلفة لتصنيف “FAQ Category” كذلك إلا أنك قد ترى عناصر مكررة، لكن بالنسبة لووردبريس فهذه فصول مختلفة وستُخَزَّن منفصلة في قاعدة البيانات، حتى لو أعطيتها نفس الأسماء. إضافة Support System تضيف نوعين مخصصين من المنشورات، وتصنيفين ما هي الفئة Category؟ يخلط الناس عادة بين الفئات-Categories والتصنيفات-Taxonomies، إليك وظيفة كل منهما وموقعه: • الفئة عبارة عن تصنيف. • فئة س التي تضيفها داخل تصنيف ص، هي فصل-Term داخل هذا التصنيف وأحد عناصره. فإذا أنشأت فئات لمنشوراتك مثل “الأخيرة” و”المميزة”، فستكون تلك فصولًا في تصنيف واحد، تمامًا كما أن المبيعات والدعم مثلًا عبارة عن فصول في تصنيف “Ticket Categories” داخل إضافة “Support System”. ما هو الوسم-Tag إذًا؟ الوسم يشبه الفئة كثيرًا، فهو فصل في تصنيف “post_tag”، فإن كان لديك “ووردبريس” و”شروح” كوسوم لمنشوراتك، فهما فصلان في تصنيف “post_tag”. ولا تسألني لماذا سُمّيت الوسوم في ووردبريس “post_tags” ولم تُسمّ الفئات “post_categories”، فهذا أحد ألغاز ووردبريس العجيبة. لكن ما الفرق بين الوسم والفئة، ولمَ نحتاج إلى الاثنين؟ ألا يغني أحدهما عن الآخر؟ تختلف الفئات عن الوسوم في أن بنيتها هرمية، فيمكن أن تنشئ فئة فرعية من فئة موجودة أصلًا، لكن لا يمكن فعل هذا في الوسوم، لهذا ستجد نفسك تستخدم الفئات لهيكلة موقعك أكثر من الوسوم، بما أن لكل منهما بنية منفصلة. أما التصنيفات ففيها مرونة أكبر، إذ يمكن تشكيلها لتكون هرمية مثل الفئات، ويمكن استخدامها مثل الوسوم بحيث لا يتفرع تصنيف من آخر، لذا يمكن اعتبارها تتصرف مثل الفئات، غير أن الفرق بينهما أن التصنيف يمكن أن يحتوي فئة بينما العكس غير صحيح. إنشاء التصنيفات والفصول ننتقل الآن إلى كيفية إنشاء فصل أو تصنيف بما أننا فصّلنا في معانيها قبل قليل، ستجد ابتداءًا أن ووردبريس لديها تصنيفات قليلة موجودة افتراضيًا، وهي: Category Tag Link category: لا يُستخدم هذا مع المنشورات العادية، لكن مع منشورات الروابط. وهو أحد الآثار الموجودة في ووردبريس أيام ميزة كان اسمها blogroll. خلاصة الأمر أنك تستطيع تجاهل هذا التصنيف. Post format: يستخدم هذا التصنيف مع المنشورات العادية، ولتحديد نوع المنشور كذلك -فيديو، نص، إلخ-. أتخيل أن يكون هذا مفيدًا للمدونين رغم أني لم أستخدمه بنفسي أو أرى حالات استخدام كثيرة له. ومما سبق يتبيّن أن ووردبريس تأتي بأربع تصنيفات أساسية مباشرة، يمكننا الاستفادة مباشرة من اثنين منهما. وستجد تصنيف “Category” به فصل واحد وهو “uncategorized”، أما تصنيف “post_tag” لا يحتوي أي فصول حتى تضيف أنت بنفسك فيه. لكن هذا لا يشكّل نهاية الطريق للتصنيفات والفصول في موقعك، فإن ووردبريس تسمح لك بإنشاء تصنيفاتك الخاصة وتضع تحتها أي نوع من المنشورات تراه مناسبًا. ولديك طريقتين لإنشاء تصنيف خاص بك، وهي إما عبر دالة ()register_taxonomy بكتابة شفرة برمجية ، أو باستخدام إضافة CustomPress لإنشاء تصنيفات جديدة دون كتابة أي شفرة. وأي من تلك الطريقتين ستنشئ تصنيفًا جديدًا، كما يمكنك إنشاء فصول برمجيًا باستخدام دالة ()wp_insert_term . قد يفيدك هذا إن كنت تكتب إضافة بتصنيف تريد تجهيزه بفصول مسبقًا، لذا إن كنت تكتب إضافة لتذاكر الدعم كإضافتنا التي تحدثنا عنها في أول المقال واستخدمناها كمثال، فربما تود إضافة تصنيف مثل”priority” مثلًا، وتضع فيه فصولًا بأسماء مثل “high” و”medium” و”low”. غير أن أسهل طريقة يمكن إنشاء فصل بها هي من خلال صفحة داخل لوحة تحكم ووردبريس في إضافة “Support System”، تختص بإنشاء فئة تذاكر جديدة، وستجد أن إضافة فصل جديد هنا يشبه إضافة فئة جديدة في صفحة الفئات “categories” إليك صورة منها: استخدام مختلف للتصنيفات والفئات والفصول توضع الفئات منفصلة عن التصنيفات المخصصة وفصولها، لا بأس بهذا إن كنت تستخدم إضافة من طرف ثالث يجب أن تعمل على أنواع عديدة من المواقع إن كان المطور لا يعرف كيف ستستخدم التصنيفات أو المنشورات العادية في موقعك، فعندهاا لن يجعل التصنيفات التي أنشأتها الإضافة تتفاعل مع تلك العادية التي ستستخدمها. لكن إن كنت تكتب إضافتك بنفسك، فلا بأس أن تستخدم خيالك قليلًا، كما سنرى الآن: استخدام التصنيفات الخاصة لإضافة طابع مميز للمنشورات العادية قد يأتي عليك وقت لا تكفي فيه فئات موقعك لتصنيف المنشورات إن كان الموقع مبنيًا بشكل أساسي على المنشورات/المقالات وحدها، وستجد أنك تستخدم عدة طبقات من الفئات الفرعية إلى حد أن الفئات الرئيسية يجب أن تكون تصنيفات بحد ذاتها. وإحدى الطرق التي تحدد بها أن هذه هي حالتك أن تسأل نفسك إن كان هناك أي تفاعل بين الفئات الفرعية، وما إن كنت تربط الفئات الرئيسية إلى منشوراتك أم لا. فإن كان كل محتوى مدونتك عن الكتب مثلًا، ولديك فئتين رئيسيتين هما المؤلِّف ومجال الكتاب، مع فئات فرعية لعدة مؤلفين وأنواع كثيرة للكتب، فيجب أن تنشئ تصنيفين رئيسيين هما المؤلف، ومجال الكتاب، لماذا؟ لأن كل مقال عن كتاب سيكون تحت فئة واحدة فقط في تصنيف المؤلف. لن تربط تصنيفي المؤلف ومجال الكتاب لأي مقال بعد الآن. كما أن إنشاء تصنيفات جديدة يتيح لك كتابة شفرة برمجية لاستعلامات مخصصة تبحث عن الكتب في مجال ما لمؤلف معين، قد تستطيع فعل هذا باستخدام الفئات، لكن لن تكون بنفس الكفاءة. استخدام التصنيفات الخاصة مع المنشورات وأنواع المنشورات الخاصة لا يوجد سبب يمنعك من تسجيل تصنيف مخصص وتضع تحته نوع معينًا من المنشورات خصصته ليكون الخيار الافتراضي لما تنشره، فلنقل مثلًا أنك تعمل على مدونة الكتب السالفة الذكر، وأنشأت نوع منشورات سميته “review” تستخدمه لكتابة مراجعات عن الكتب التي قرأتها، فإن هذا يختلف قطعًا عن المقالات العادية في مدونتك والتي ستتحدث عن موضوعات أكثر شمولية حول الكتب. فيمكن أن تنشئ تصنيفًا مخصصًا-Custom Taxonomy من مجال الكتاب لمراجعة الكتب، كي يعرف القراء أنك تحت هذا التصنيف تكتب مراجعات لكتب في هذا المجال أو ذاك. وإن أردت استخدام التصنيفات لمنشورات مدونتك أيضًا فيمكنك كتابة منشورات عن كل مجال تهتم به ثم تستخدم خطاف pre_get_posts لترتيب المنشورات والمراجعات في هذا المجال أو ذاك في صفحة أرشيفات الفصل الخاص به. أو تنشئ قالبًا مخصصًا لهذا التصنيف (اسمه taxonomy-genre.php) كي يبدأ حلقتين-loops، واحد للمراجعات وآخر للمنشورات. إضافة التصنيفات للصفحات يمكنك أيضًا أن تضيف التصنيفات لأنواع منشورات ليس لديها تصنيف افتراضي ملحقة به، كالصفحات مثلًا. ولفعل هذا نستخدم دالة ()register_taxonomy_for_object_type ، إذ يسمح لك ذلك بإضافة أي تصنيفات موجودة مسبقًا إلى أي نوع منشور موجود أيضًا من قبل. فكي تضيف تصنيفات إلى الصفحات مثلًا ستضيف هذا إلى دوال السمة التي تستخدمها أو إلى إضافة -plugin: <?php register_taxonomy_for_object_type( 'category', 'page' ); ?> وإن أردت فعل هذا مع تصنيف أنشأته بنفسك، فأضف هذا السطر إلى شفرة إنشاء التصنيف باستخدام دالة ()register_taxonomy ، والعامل الثاني في هذه الدالة هو نوع المنشور الذي سيدخل تحت هذا التصنيف، وإن كنت تريد استخدام أكثر من نوع منشور فيجب أن تضعهم في مصفوفة. إذًا، إذا أنشأت نوع منشورات اسمه “review” وأردت إنشاء تصنيفًا اسمه “genre” سيدخل تحته أي”review” أو”page” أو”post”، فإن شفرة إنشاء التصنيف تكون هكذا: <?php register_taxonomy( 'genre', array( 'review', 'post', 'page' ), $args ); ?> وكمل تلاحظ فإن أول عامل متغير هنا هو معرّف التصنيف “genre”، ثم الثاني هو مصفوفة أنواع المنشورات، والثالث هو معاملات للتصنيف الذي أنشأته. وفائدة استخدام التصنيفات هنا هي إمكانية إنشاء تصميمات لعناصر بعينها في هذا المجال -review،posts،page لتصنيف genre في حالتنا-، كما يمكن تحديد مكان أي صفحة في أي فئة ثم إجراء استعلام-query في قالب صفحتك يخرج لك منشورات ومراجعات من تلك الفئة بعد محتوى الصفحة التي حددتها، أو عرض محتويات الصفحة بمراجعاتها، أو المنشورات في صفحة أرشيفات التصنيف. خاتمة إن القدرة على إنشاء تصنيفاتك الخاصة في ووردبريس هو أحد الأمور التي جعلتها نظام إدارة محتوى بدلًا من منصة تدوين، عبر استغلال كل طرق التصنيف الممكنة للمحتوى التي يمكنك إنشاء مواقع تعرض المحتوى الذي تريده بدقة. المهم ألا تترك نفسك تغرق في الاختلافات بين التصنيف والفئة، فالتصنيف-taxonomy هو الأشمل، وداخله فصول-terms، كل منها يمكن أن يكون فئة-category بذاتها. ترجمة -بتصرف- لمقال Using Categories, Tags and Taxonomies Properly in WordPress لصاحبته ريتشل ماكّولن.
  20. نحن نعرف أن الإنترنت يحفل بأوامر لينكس البسيطة التي رأيتها أو استخدمتها عشرات المرات من قبل، مثل ls لسرد محتوى مجلد أو pwd لمعرفة أين أنت الآن داخل النظام، وcd للتنقل بين المجلدات، وغير أولئك كلهم مما يشتهر من أوامر لينكس وينتشر في الإنترنت. ولا شك أنك مللت من رؤيتها هنا وهناك في عشرات المواقع التي تعرض استخدامات الطرفية في لينكس، فأنت تريد تطوير مهاراتك في استخدام الطرفية لتنجز مهامًا بشكل أفضل، فإنك تعرف أن الطرفية مفيدة في أمور مثل إنهاء مهمة عالقة أو تستهلك الذاكرة، أو تحميل فيديو من يوتيوب بخيارات مختلفة بين الصوت والفيديو، أو الحصول على معلومات من ملف معين، أو حتى تصفح الإنترنت حين تريد الحفاظ على سعة باقة الإنترنت. وفي هذا الجزء من المقال سنعرض بعض الأساليب التي تزيد من استفادتك من الطرفية وأوامرها. كيفية استخدام أمر cat بشكل أفضل يحسب كثير من المبتدئين في لينكس أن cat يستخدم لعرض محتويات ملف في الطرفية، لكن هذا ليس صحيحًا. فقد يكون من المفيد عرض ملف .json في الطرفية، خاصة حين يكون لديك بيانات JSON من أجل طلب لـ rest api. وعلى سبيل المثال، فهذا الأمر سيعرض محتويات ملف باستخدام أمر cat: cat temperature.json وخرج هذا الأمر هو محتويات الملف: { "measured_at":"2015-12-25 21:55:57.188743+00:00", "sensor_id":"somekey", "temperature":14 } وسأستخدم ملف temperature.json من أجل طلب POST باستخدام أمر curl، لكن هذا لوقت آخر، دعنا نركّز الآن على أننا كلنا نعرف طريقة استخدام أمر cat بالطريقة السابقة من أجل عرض محتويات ملف ما، لكن هل جربت إنشاء ملف جديد باستخدامه من قبل؟ 1. طريقة إنشاء ملف جديد باستخدام cat هي هكذا: cat >newfile.txt 2. ولنقل أني أريد نقل محتويات ملف قديم إلى آخر جديد، أستطيع هذا باستخدام cat أيضًا: cat oldfile.txt >newfile.txt سينسخ الأمر السابق كل محتويات oldfile، وينشئ ملفًا جديدًا باسم newfile، ويلصق المحتويات فيه، وإنني أفضّل هذه الطريقة على أمر cp في نسخ الملفات وعمل النسخ الاحتياطية إذ إنها أكثر عملية. 3. ولدي أمر آخر أفعله باستخدام cat، وهو عرض أرقام الأسطر في الملف، حين أرغب في تحديد خطأ في سطر ما أو معرفة كم سطر في الملف cat -n temperature.json وسيكون خرج هذا الأمر هو التالي: 1 { 2 "measured_at":"2015-12-25 21:55:57.188743+00:00", 3 "sensor_id":"somekey", 4 "temperature":14 5 } 4. ويمكننا عرض الملف بشكل معكوس من الأسفل إلى الأعلى باستخدام نفس الأمر معكوسًا، هكذا: tac temperature.json ويكون الخرج هكذا: } "temperature":14 "sensor_id":"somekey", "measured_at":"2015-12-25 21:55:57.188743+00:00", { كيفية استخدام أمر ls بشكل عملي 1. قد يبدو أمر ls أمرًا بسيطًا لمعظم مستخدمي لينكس، لكن ذلك الأمر يخفي كثيرًا من العملية والقوة، فيمكننا أن نعرف هل يوجد ملف باسم معين داخل مجلد ما، دون أن نبحث يدويًا عن الملف، من خلال استخدام أنبوب-pipe: ls | grep somefile هذا الأمر السابق هو دمج بين أمرين، وهما ls الذي نستخدمه لعرض محتوى المجلد وgrep الذي يأتي لنا بنص معين إن كان موجودًا، لذا فإن ls في الأمر السابق سيعرض محتويات المجلد، لكنه سيمررها إلى grep عبر الأنبوب “|” فيبحث الأخير عن الملف الذي نريده ويخبرنا أموجود هو أم لا. ويكون الخرج هو الملف الذي نريده فقط إن كان موجودًا. 2. إن كنت أريد عرض المحتويات المخفية داخل المجلد فأستخدمه مع -a ls -a لاحظ أن الملفات التي يبدأ اسمها بنقطة(.) يعتبرها لينكس ملفات مخفية، وهذا الأمر بالأعلى يعرضها. 3. إن كنت أرغب في عرض الملفات حسب آخر تاريخ تعديل لها نضيف لاحقة -t ls -t 4. ويمكن أن نضيف وظيفة أخرى إليه، وهي جعل الخرج أكثر قابلية للقراءة، بإضافة حرف l إليه كي يظهر لنا صلاحيات الملفات والحجم وغير ذلك، هكذا: ls -lt 5. ولتحديد نوع المحتويات داخل مجلد ما، نضيف لاحقة -F إلى أمر ls، كي يظهر لنا ما إذا كان هذا مجلد فرعي أو ملف تنفيذي أو غير ذلك، هكذا: سنستخدم الأمر العادي ls لإظهار محتويات مجلد ما، فيخرج لنا هذا المحتوى: normal.txt unixmen أما حين نكتب ls -F، يكون الخرج هكذا: normal.txt unixmen/ وهنا يمكننا رؤية أن unixmen هو مجلد وليس ملف، بما أن لينكس يلحق أسماء المجلدات بـ /. كيف أعرف إن كان اتصالي بالإنترنت سليمًا؟ تحدث هذه الحالة حين تريد زيارة موقع ولا تستطيع، وتتحير هل المشكلة منك ومن إعدادات الشبكة أم من الموقع نفسه، والحل هو أمر ping: مثال على جوجل: ping www.google.com وإن أخرج لك الأمر ردًا فهذا يعني أن المشكلة ليست من عندك. كيف أعدّل الملفات من الطرفية؟ لعلك سمعت بمحرر ViM الشهير، وهو محرر يعمل من الطرفية، ويفيدني جدًا حين أريد كتابة بعض بياناتjson لطلب POST، يمكنك تثبيته بهذا الأمر (إن كنت تستخدم أوبنتو): sudo apt-get install vim ثم نفتح به ملفًا لتعديله، نكتب vim ثم اسم الملف: vim file2editinhere ولدخول وضع التعديل في الملف نضغط حرف i، ثم نكتب ونعدّل كما نشاء، ثم نضغط Esc للخروج من وضع التعديل، ونكتب نقطتين فوق بعضهما كهذه (:)ثم wq، كل ذلك دون مسافات، لنحفظ الملف ونغلقه، :wq أما إن أردت الحفظ فقط، فنكتب : ثم w. :w ترجمة -بتصرف- لمقال How to use the linux terminal like a bro, First part لصاحبه SureSwift Content
  21. مقدمة: إطار التحليل الشبكي Bro هو إطار عمل مفتوح المصدر لتحليل الشبكات يركز على مراقبة أمانها، وهو نتاج خمس عشرة سنة من البحث واستخدمته جامعات كثيرة ومعامل بحثية ومراكز حواسيب خارقة وعدد من مجتمعات العلوم المفتوحة-Open Science. وقد بدأ تطويره بشكل أساسي في المعهد الدولي لعلوم الحاسوب في بيركلي والمركز الوطني لتطبيقات الحواسيب الخارقة في أوربانا-شامبين في إيلينوي. وتتلخص مزايا Bro فيما يلي: سياسات مراقبة خاصة بكل موقع، إذ تسمح لغة Bro النصية-scripting language بذلك استهداف الشبكات عالية الأداء. محللات للعديد من البروتوكولات، مما يسمح بالتحليل الدلالي عالي المستوى-High Level Semantic Analysis حتى على مستوى التطبيق. جمع إحصائيات شاملة على مستوى التطبيق للشبكة التي يراقبها. تسجّيل كل شيء يراقبه، ويوفّر أرشيفًا عالي المستوى لنشاط الشبكة. متطلبات Bro للعمل على الخادم يحتاج Bro إلى الاعتماديات-Dependencies التالية: Libpcap مكتبات Open SSL مكتبة BIND8 Libz Bash (نحتاجها من أجل BroControl) Python إصدار 2.6 أو أحدث (من أجل BroControl) كما يتطلب بناؤه من المصدر ما يلي: CMake 2.8 أو أحدث Make GCC 4.8 فأحدث، أو Clang 3.3 فأحدث SWIG GNU Bison Flex Libpcap headers OpenSSL headers zlib headers بدء العمل ثبّت الاعتماديات المطلوبة بتنفيذ الأمر التالي: # apt-get install cmake make gcc g++ flex bison libpcap-dev libssl-dev python-dev swig zlib1g-dev تثبيت قاعدة بيانات GeoIP من أجل موقع IP الجغرافي يعتمد Bro على GeoIP لتحديد الموقع الجغرافي للعنوان، فثبّت إصدارات IPv4، وIPv6 عبر هذه الأوامر: $ wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz $ wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz فُكّ ضغط تلك الأرشيفات التي حملناها: $ gzip -d GeoLiteCity.dat.gz $ gzip -d GeoLiteCityv6.dat.gz انقل الملفات التي فككناها إلى مجلد GeoIP: # mvGeoLiteCity.dat /usr/share/GeoIP/GeoIPCity.dat # mv GeoLiteCityv6.dat /usr/share/GeoIP/GeoIPCityv6.dat بناء Bro من المصدر سنحصل على احدث إصدار من مستودعات git (اقرأ هذا المقال لتثبيتgit وإعداده إن لم يكن مثبتًا لديك)، عبر الأمر التالي: $ git clone --recursive git://git.bro.org/bro نذهب إلى هذا المجلد المنسوخ-cloned directory، ونبني bro بهذه الأوامر: $ cd bro $ ./configure $ make سيستغرق أمر make بعض الوقت للبناء، ويتوقف هذا الوقت على قوة الخادم نفسه. ويمكن تنفيذ شفرة configure النصية مع بعض المعاملات-arguments لتحديد أي الاعتماديات تريد بناءها، خاصة خيارات (–with-*) تثبيت Bro داخل مجلد bro سابق الذكر، نفذ الأمر التالي، حيث سيكون مجلد التثبيت هو usr/local/bro/ # make install تهيئة وإعداد Bro تقع ملفات تهيئة Bro وضبطه في مجلد etc، في مسار usr/local/bro/etc/، وستجد ثلاثة ملفات: node.cfg، يستخدم لتحديد أي عقدة-node أو مجموعة عُقّد سيراقبها (العقدة في الشبكات هي جهاز يتلقى/يشكّل/يحوّل المعلومات الواردة عبره). broctl.cfg، ملف تهيئة BroControl. networks.cgf، يحتوي قائمة بالشبكات في ترميز التوجيه غير الفئوي-CIDR Notation. ضبط إعدادات البريد افتح ملف broctl.cfg، حيث تستبدل $EDITOR في الأمر التالي بالمحرر النصي الذي تفضله: # $EDITOR /usr/local/bro/etc/broctl.cfg ابحث في الملف عن قسم Mail Options، وعدل سطر MailTo كما يلي: # Recipient address for emails sent out by Bro and BroControl MailTo = admin@example.com استبدل عنوان البريد بالعنوان الذي تريد، ثم احفظ الملف وأغلقه. لديك الكثير من الخيارات هنا، لكن الخيارات الافتراضية جيدة ولا تحتاج تعديلات. اختيار العُقَد التي ستُراقَب إن Bro مجهز افتراضيًا ليعمل في الوضع المستقل-Standalone، وهو ما نشرحه في هذا المقال، لذا لن تحتاج إلى تغيير الكثير، لكن سننظر على أي حال في ملف node.cfg: # $EDITOR /usr/local/bro/etc/node.cfg يجب أن ترى شيئًا كهذا في قسم [bro]: [bro] type=standalone host=localhost interface=eth0 تأكد أن تكون الواجهة-interface مطابقة لواجهة خادم أوبنتو 16.04، ثم احفظ الملف وأغلقه. ضبط شبكات العقدة-Node’s Networks آخر ملف سنعدّل فيه هو network.cfg، افتحه باستخدام المحرر النصي الذي تفضله: # $EDITOR /usr/local/bro/etc/networks.cfg يجب أن ترى المحتوى التالي: # List of local networks in CIDR notation, optionally followed by a # descriptive tag. # For example, "10.0.0.0/8" or "fe80::/64" are valid prefixes. 10.0.0.0/8 Private IP space 172.16.0.0/12 Private IP space 192.168.0.0/16 Private IP space احذف المدخلات الثلاثة (التي هي أمثلة فقط لكيفية استخدام الملف)، وأدخل مساحةIP العامة والخاصة للخادم الخاص بك، على هذه الهيئة: X.X.X.X/X مساحة IP العامة X.X.X.X/X مساحة IP الخاصة احفظ الملف وأغلقه. إدارة تثبيت Bro باستخدام BroControl تحتاج إلى استخدام BroControl من أجل إدارة Bro، وهو يأتي في صورة صَدفة تفاعلية-interactive shell وأداة سطر أوامر، افتح الصدفة بالآتي: # /usr/local/bro/bin/broctl ولتستخدمها كأداة سطر أوامر، أضف معاملًا-argument إلى الأمر السابق، مثال: # /usr/local/bro/bin/broctl status سيتحقق هذا الأمر من حالة Bro بإخراج نتيجة كهذه: Name Type Host Status Pid Started bro standalone localhost running 6807 20 Jul 12:30:50 خاتمة ما شرحناه في هذا المقال يلخص دليل تثبيت Bro، وقد استخدمنا طريقة التثبيت من المصدر لأنها أكفأ طريقة ممكنة للحصول على آخر إصدار متوفر، لكن اعلم أن أداة تحليل الشبكات هذه يمكن تحميلها أيضًا في صورة ملف ثنائي/تنفيذي إن لم ترغب ببنائها من الصفر. ترجمة -بتصرف- لمقال Network Analysis: How To Install Bro On Ubuntu 16.04 لصاحبه Giuseppe Molica حقوق الصورة البارزة محفوظة لـ Freepik
  22. رغم حدوث التقييمات السنوية في الشركات مرة واحدة كل عام، إلا أن أثرها يظل باقيًا ومخيّمًا على روح الشركة وثقافتها ، فهي تولّد عقيدة عند الموظف تتحكم في الطريقة التي يؤدي بها مهامه، وتجعله يركّز على المحفز الخارجي -نتيجته في التقييم- بدلًا من المحفز الداخلي -القيم الخاصة بالشركة-، وهي عقيدة مبنية على الخوف من النتيجة السلبية، مما يؤدي إلى قتل الإبداع و النمو في الشركات والأفراد على حد سواء. لذا فقد جلسنا مع كاهينا أويردين وجوانا أواجني، الإداريتان في فريق الثقافة والتنظيم في شركة GSOFT -الشركة الأم لشركتنا Officevibe-، وقد شرحتا لنا السبب الذي جعل مؤسستنا تسير عكس التيار وتوقف التقييم السنوي من دورات النقد والتغذية الراجعة إلى الأبد. من أين يبدأ التغيير تشرح كاهينا تلك الجملة قائلة بأن هناك انتقال من الدوافع الجوهرية الداخلية لتنفيذ مهمة بعينها إلى الدوافع العرَضية، ويضيع الهدف والمعنى في هذا الانتقال، فهناك متعة تُقتطع من العملية حين تعلم أنك تعمل من أجل التقييم، وأرى أنك حينها تعمل من أجل سبب خاطئ. ذلك أن محاولة التعلم بصوره المختلفة -في المدرسة أو بيئة العمل- من أجل الدرجات والمكافآت يزيل الأصالة من الفعل نفسه ويحجّم التفكير والإبداع، وهما العنصران اللذان تنمو الشركة وتنجح بهما. ما وراء الدرجات تبيّن كل من كاهينا وجوانا أن التقييمات السنوية لم تعد طريقة يُعتمد علها في التقييم، ذلك أنها تتأثر كثيرًا بالنتائج القريبة قصيرة المدى، إضافة إلى أن الثقة في الملاحظات التي يجمعها المدراء على مدار العام طريقة غير فعّالة ومفرطة في التفاؤل. ويظهر قصور هذا الأسلوب أيضًا في تثبيط همة الموظفين إذ سيشعرون أن أداءهم صار مرتبطًا بالتقييم الذي أُعطي لهم، ويصبح الموظف حبيس تلك القيمة الرقمية التي أعطيتها له، ويتعامل معه مديره وزملاؤه بناءً على تلك القيمة. لذلك فإننا في حاجة إلى تغيير تلك التقييمات الرقمية واستبدال شيء أقل اعتمادًا على القيم الرياضية بها، لكن يجب أن يكون ذلك البديل ذا معنى ولا يحُدّ من مستوى إنتاج الموظف. لماذا تتعارض التقييمات السنوية مع أنظمة التقييم والتغذية الراجعة الأخرى تستنكر كاهينا اعتماد بعض الشركات نظام التقييم السنوي رغم استخدامها لأنظمة تقييم وتغذية راجعة مختلفة في نفس الوقت قائلة: إن الاتجاه الحالي الذي يركّز على جعل الموظفين في مركز اهتمام المؤسسات من أجل زيادة مستوى الآدمية فيها يتعارض مع أسلوب التقييمات السنوية التي تزيد من الخوف. مستقبل الإدارة في غياب التقييم السنوي يمكن القول بأننا ننتقل إلى عهد جديد في الإدارة، نميل فيه إلى الابتعاد عن الأمر والتحكم، ونجنح إلى تشجيع الفرق ذاتية التنظيم والقيادة المشتركة. إن هذا يسمح للناس بالتركيز على غايتهم من العمل بدلًا من إبهار أشخاص بعينهم من أجل التقييم الذي يتمنون الحصول عليه منهم، كما يفتح للموظف بابًا لتجربة حياة العمل بعيدًا عن عامل الخوف من التقييم، ممهدًا الطريق إلى النمو والإبداع في مسيرته المهنية، حين ينظر إلى السبب والغاية التي يعمل من أجلهما، بدلًا من النظر إلى عواقب كل فعل يقوم به. إن مستقبل العمل الذي نراه يركّز أكثر على تشجيع المخاطرة وتقبل الأخطاء التي نتجت عن الفضول والسعي للاختبار والاكتشاف بدلًا من عدّ مرات الفشل للموظف. لماذا تصر الشركات على الإبقاء على التقييم السنوي إن تغيير منظومة التغذية الراجعة التي ظلّت تلك المنظمات تستخدمها لعقود يتطلب تفكيرًا عميقًا، ذلك أن التخلي عن إحدى عادات الشركة يزداد صعوبة بزيادة حجم الشركة وتعقيدها، خاصة حين يكون لديك نظام نظيف وبسيط يجعلك تجمع السنة كلها في تقييم نهائي. حتى لو أدركت الشركة أن تلك العملية بها عيوب أو قصور فإن عملية التغيير ستكون ثقيلة عليها في تطبيقها دون إرشادات واضحة للبدائل التي تتبعها الشركة. صحيح أن التغيير قد يكون مخيفًا لكنه يستحق المحاولة، ولا يهم إن كنت شركة جديدة أو لك خمسين عامًا في السوق، فيجب أن تبدأ الآن في حركة التغيير إن كنت تريد البقاء كمنظّمة تفكر في المستقبل. ما يريده الموظفون حقًا تستطرد جوانا هنا أن الأمر مناف للمنطق أصلًا بما أن التقييم السنوي يقيّد نفسه إلى الماضي في حين أن التطور يجب أن يسير للأمام، فالتخلص من التقييم المبني على الدرجات ضروري لأي بيئة تعلم ناجح، وإن الموظفين يهتمون بفرصة التعلم والنمو أكثر من المال والمنح، وأول خطوة لتحقيق ذلك هو التواصل المستمر، وفرصة استمرار التغذية الراجعة على مدار السنة. وبما أن التعليم لا نهاية له، فإن إنهاء العام بتقييم سنوي يجعل دورة التعلم ذات بداية ونهاية مرتبطة بذلك التقييم، على عكس التقييم المستمر طيلة العام. لغة التقييم التي يجب أن نتوقف عنها نحن نحتاج إلى تغيير اللغة والمصطلحات التي نستخدمها مع تغيير نظام التقييم السنوي، فالكلمات نفسها تحتوي معاني ودلالات، لذا يجب أن تنظر المنظمة بعناية إلى المصطلحات التي تستخدمها لأنها ستغير ثقافتها وطاقتها ونبرتها، ومن ثَمّ طريقة تصرف الموظفين فيها. تشرح كل من كاهينا وجوانا أن كلمات مثل السيطرة والغلبة قد طغت على ثقافة الفِرَق بدلًا من الفوز المشترك وقوة الجماعة، وإن الكيانات التي نريد إنشاءها لن تكون أفضل بأجزائها المفردة، وإنما عن طريق مشاركة كل فرد فيها وتعاونه مع باقي فريقه. كيف تغير أسلوبك في الخطاب النقاش – التحدي. بدلًا من "أريد أن أرى مهارتك في هذا"، حاول استخدام لهجة ودودة مثل "دعنا ننظر في هذا الأمر بعمق أكبر". الإبداع المشترك – التعاون. حين تجرد كلمة التعاون من معناها، فلن يكون ضروريًا أن تعني العمل الجماعي المباشر، فالتعاون على مشروع قد يعني أن أجلس في زاوية وأؤلف كتابًا بينما تجلس في زاوية أخرى تصمم له رسومات توضيحية، ثم ندمج ما كتبته مع ما رسمته أنت، فالإبداع المشترك ينطوي على العمل معًا حقيقة على مشروع ما. التقييم – التقدير. كلمة التقييم هي أكثر كلمة قد تكون مكروهة في اللغة بالنسبة للموظفين، لذا إني أدعو إلى تغيير الطريقة التي ننظر بها إلى الأداء، فنستبدل التقدير بالتقييم، حيث أن التقدير كلمة إيجابية وقوية في نفس الوقت. الحل: ربط الأداء بالقيم وليس الأرقام أول خطوة نحو تغيير نظم تقييم الأداء في الشركة هي تحديد القيَم الأساسية لشركتك، وتوضيحها جيدًا، ثم انشرها بعد ذلك في الفِرَق في شركتك، وأكّد عليها كل حين. فالمهم هو الفريق والتحرك الجماعي نحو هدف مشترك مبني على نظام قيمي، وليس الأداء الشخصي والدرجات الفردية، فهذين لا ينتميان إلى بيئة العمل. تطبيق الحل سنقسّم القيَم إلى معايير مختلفة أطلقنا عليها "خريطة الحرارة"، والتي سنستخدمها كل ثلاثة أشهر لقياس مدى تطور الموظفين بين الاجتماعات الثنائية الشهرية، وستزودنا الاجتماعات الثنائية ببيانات نتابع بها ذلك التطور. إليك مثالًا يوضح الأمر: معيار قيمة "العائلة": الإبداع المشترك. الحساسية. المجتمع. الاهتمام بالآخرين. استخدم الألوان بدلًا عن الأرقام: أخضر – مستوى جيد، تابع ما تفعله. أصفر – مستوى متوسط، يمكن العمل على تحسينه بالتدريج. أزرق – مستوى ضعيف يحتاج إلى التحسين الفوري. لا أحد سيركز هنا على أرقام، بل بدلًا من هذا فإن الألوان ستستخدم للتعبير عن حالة تطور الموظف مقارنة بمنظومة القيم الخاصة بالشركة. ستلهم هذه الطريقة الجديدة الموظفين كي ينظروا إلى الهدف الأسمى والسبب الذي يعملون من أجله، وسيركّز على التطوير المستمر الذي يجعل الموظفين يعلمون أن هناك دومًا مساحة للنمو. الخلاصة تخصيص الدرجات لتقييم التعليم يقتل الإبداع لأنه يجعل المحفز خارجيًا وليس داخليًا. الخوف من التقييم السنوي يقتل الإبداع في بيئة العمل. التغذية الراجعة تحتاج إلى أن تكون على مدار العام، وليس مرة واحدة فقط فيه. يحتاج الموظفون إلى التواصل المستمر للتعلم والنمو. نحتاج أن ننتبه إلى مصطلحاتنا التي نستخدمها ونتجنب استخدام كلمات تحفز الردود الدفاعية لدى الموظف. ربط أداء الموظفين بأرقام يؤثر على الطريقة التي ينظرون بها إلى أنفسهم والطريقة التي ينظر بها مدراؤهم إليهم ويعاملونهم على أساسها. يجب ربط الأداء بالقيم للحفاظ على تحقيق جميع أفراد المنظمة للهدف المشترك. هل جربت مثل ذلك الأسلوب ورأيت نفعه من قبل؟ أو كنت تتمنى تطبيقه في شركتك؟ دعنا نسمع منك في التعليقات. ترجمة -بتصرّف- لمقال Why We Got Rid Of The Annual Review, For Good لصاحبته Ali Robins حقوق الصورة البارزة محفوظة لـ Freepik
  23. تابعنا في الجزء السابق من الدرس الأدوات الخاصة بالميزانيات الكبيرة والمتوسطة وسنتابع اليوم سرد أهم الأدوات المجانية وأدوات البحث.. أدوات تهيئة المحتوى المجانية قبل أن تشتري أيًا من الأدوات التي ذكرناها في المقال، يجب أن تعرف أولًا بعض أشهر أدوات تهيئة المحتوى المجانية، فكيف ستعامل مع المزايا الكثيرة والمتشعبة للأدوات المدفوعة إن لم تستطع استخدام الأدوات المجانية بإمكانياتها البسيطة؟ وتكفي الأدوات التي سنذكرها الآن لتنفيذ مهام تهيئة المحتوى الخاصة بموقع تجاري صغير، وستعمل كدعامة حين تستخدم الأدوات المدفوعة فيما بعد. 1. Answer The Public هي أداة بحث بصرية للكلمات المفتاحية، وتجمع بين جامع الاقتراحات التلقائية من جوجل “Google AutoSuggest Scraping” مع جامع أسئلة “question scraper”، وتمنحك وصولًا سهلًا للأسئلة التي يسألها عملاؤك على جوجل، الأمر الذي يفيدك في تطوير موضوعات المحتوى لديك وإيجاد كلمات مفتاحية دلالية. 2. Bloomberry / Question Analyzer هي أداة مجانية تابعة لـ BuzzSumo، وتعرف أيضًا باسم Question Analyzer، وتيسّر هذه الأداة البحث عن الأسئلة عبر المنتديات المشهورة مثل ريدديت وقورا وأمازون، وكسابقتها فهي تساعدك على أن تجد كلمات مفتاحية مرتبطة بمحتواك وتبحث في أسئلة العملاء في الإنترنت. 3. UberSuggest استخدم هذه الأداة للبحث عن كلمات مفتاحية غير موجودة في مخطِّط جوجل للكلمات المفتاحية، فهي أداة بحث تُستَخدم كأداة لاقتراح الموضوعات التي يجب أن تكتب فيها، وعدد مرات البحث فيها غير محدود، كما أنها تنفِّذ مهمتها بشكل ممتاز، وهذا شيء جيد بالنسبة لأداة مجانية. 4. Carrot2 Search Engine هي أداة مفتوحة المصدر لتجميع نتائج البحث، وتساعدك على تنظيم نتائج البحث في تصنيفات موضوعية لتعطيك لمحة سريعة وتقدم لك استعراضًا أكثر كفاءة، وهي أيضًا كسابقتيها مناسبة كأداة للبحث واختيار الموضوعات. 5. LSI Graph هو مولّد للكلمات المفتاحية الكامنة المفهرسة والمرتبطة بالكلمة المستهدفة لخدمة مهام تهيئة المحتوى، والكلمات المفتاحية التي يولّدها ترتبط بكلمة مفتاحية أساسية. وباختصار فهذه الأداة تساعدك على إيجاد كلمات مفتاحية تتعلق بالكلمة الأساسية لديك. أدوات جوجل المجانية 1. مخطِّط جوجل للكلمات المفتاحية Google Keyword Planner لعله أشهر الأدوات التي تستخدم في البحث عن الكلمات المفتاحية في الإنترنت، وهو مباشر وبسيط: ابحث عن الكلمة المفتاحية وستحصل على بيانات مفيدة كثيرة. وتُقسَّم البيانات فيه إلى أعمدة مثل مستوى المنافسة، والعرض المتوقع Estimated Bid، والتي تخبرك كم يتوقع أن تحوّل زوارك إلى عملاء باستخدام الكلمة المفتاحية التي بحثت عنها. 2. منصة بحث جوجل Google Search Consol منصة بحث جوجل هي خدمة مجانية تقدمها جوجل لتساعد موقعك على أن يُعثر عليه في الإنترنت، ويساعدك في مراقبة ومتابعة حالة موقعك وحضوره في الإنترنت، ويحدد ما إن كان لديك بيانات وصفية “meta data” مكررة أم لا، ويتفقد المشاكل الأمنية المحتملة بصفة دورية، ويقدم قائمة من الصفحات التي فهرستها إضافة إلى مزايا أخرى كثيرة. 3. معلومات سرعة الصفحات من جوجل Google PageSpeed Insights أحد أهم عوامل الترتيب التقني في تهيئة المحتوى هي سرعة تحميل الموقع، وهذه الأداة تمسح موقعك لتحدد سرعة تحميله بناءً على الوقت الذي يستغرقه جوجل في تفسيره، وتخبرك على إثر ذلك إن كان موقعك بطيئًا أو مناسبًا أو يحتاج مزيدًا من العمل عليه لتطويره، كما ستظهر لك بعض المشاكل التي قد تكون لديك وحلولها أيضًا. أدوات البحث في منصات معيّنة 1. أداة البحث عن الكلمات المفتاحية في Reddit (keyworddit) تتيح لك هذه الأداة استخراج كلمات مفتاحية من مجتمع فرعي في ريدديت “Subreddit”، عبر كتابة اسم المجتمع الفرعي ثم اختيار واحد من القائمة التي سيولدها البرنامج تلقائيًا، ثم استخرج الكلمات المفتاحية من المجتمع الفرعي. 2. Pinterest Keyword tool تساعدك هذه الأداة في تهيئة عناوين لوحات Pinterest Boards، وإن كنت تستهدف فئة المراهقين والشباب فاعلم أن Pinterest من المنصات المهمة لك، إذ تذكر تقارير أنهم يستخدمونها بنفس قدر استخدام إنستجرام. وشأنها كمخطِّط جوجل للكلمات المفتاحية، فإن أداة pinterest المجانية للبحث عن الكلمات المفتاحية تتيح لك البحث عن “عبارات” مفتاحية -جُمل تتكون من ثلاث كلمات على الأقل وتستهدف شرائح محددة من السوق عوضًا عن استهداف كل السوق أو كل شريحة ممكنة-. كما تتيح لك تفقُّد تاريخ بحثك عن الكلمات المفتاحية، وتحميل الكلمات إن شئت. خاتمة لا تمثّل هذه القائمة إلا غيضًا من فيض تلك الأدوات المتاحة على الإنترنت، وقد يكون من بينها ما هو أصلح لك اعتمادًا على المهام التي تريد تنفيذها. وتحديد أي أداة أنسب لك يجب أن يمر عبر محاولات من التجربة والخطأ، لذا استغلّ فترات التجربة المجانية التي تقدمها بعض البرامج. ترجمة -بتصرف- لمقال WordPress SEO Tools for Every Budget لصاحبته Maddy Osman
  24. ما هي Let’s Encrypt هي هيئة شهادات مجانية تابعة لمجموعة أبحاث أمن الإنترنت-Internet Security Research Group (ISRG)، وتقدم هذه الهيئة طريقة سهلة ومؤتمتة للحصول على شهادات SSL/TLS مجانية لجعل الزيارات على خادم الويب مشفرة وعبر بروتوكول HTTPS. ومعظم خطوات الحصول على الشهادة وتثبيتها يمكن جعلها تتم تلقائيًا باستخدام أداة Certbot. وهذه الأداة يمكن استخدامها حين يتسنى الاتصال بالخادم عبر SSH، أي حين يوجد دخول من الصدفة “Shell” على الخادم. وسنرى في هذا المقال كيف نستخدم Certbot للحصول على شهادة SSL مجانية ومن ثم استخدامها مع NGINX على خادم أوبنتو 16.04 تثبيت Certbot سنضيف مستودع Certbot أولًا، لماذا؟ لأن مطوريه يقومون على صيانة وتحديث هذا المستودع بآخر إصدار من Certbot أولًا بأول، بشكل أسرع مما تفعله أوبنتو بالبرنامج في مستودعاتها، فأوبنتو تحتاج وقتًا لمراجعة كل برنامج يدخل مستودعاتها، خاصة إن كان في إصدار LTS مثل 16.04، وبالتالي فمن الطبيعي أن يتأخر كل برنامج قليلًا حتى يدخل تلك المستودعات. والآن، لإضافة مستودع Certbot: # add-apt-repository ppa:certbot/certbot ثم نحدّث قائمة APT # apt-get update ونثبّت البرنامج # apt-get install certbot الحصول على الشهادة هناك العديد من إضافات Certbot التي يمكن الحصول على شهادة SSL من خلالها، ويقوم مدير الخادم بتثبيتها وتهيئة الخادم بعد ذلك بنفسه. وسنستخدم إضافة Webroot في هذا المقال، وهي إضافة تصلح للحالات التي يمكن فيها تعديل المحتوى، ولسنا في حاجة لإيقاف الخادم أثناء عملية تصدير الشهادة. تهيئة NGINX تنشئ Webroot ملفًا مؤقتًا لكل نطاق في مجلد مخفي اسمه well-known، موجود في المجلد الجذر لـweb، وفي حالتنا فإن مجلد web موجود في var/www/html/. تأكد أن Let’s Encrypt لديها صلاحية الوصول لهذا المجلد، من خلال تعديل تهيئة NGINX. ولفعل ذلك، نفذ هذا الأمر لفتح الملف الذي سنعدّل فيه (استبدل $EDITOR بمحرر نصي من تفضيلك): # $EDITOR /etc/nginx/sites-available/default ضع هذه الأسطر في قسم server داخل الملف: location ~ /.well-known { allow all; } احفظ الملف واخرج، ثم تفقد تهيئة NGINX عبر الأمر التالي: # nginx -t ويجب أن ترى هذين السطرين -بفرض نجاح الأمر-: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful والآن أعد تشغيل NGINX: # systemctl restart nginx الحصول على الشهادة باستخدام Certbot الخطوة التالية هي الحصول على شهادة جديدة باستخدام Certbot مع إضافة Webroot. وسنؤمّن في هذا الشرح (كمثال) نطاق www.example.com عبر الأمر التالي: (لا تنسى أنك يجب أن تحدد كل نطاق تريد تأمينه بهذه الشهادة). # certbot certonly --webroot --webroot-path=/var/www/html -d www.example.com سيسألك Certbot خلال العملية عن بريد إلكتروني صالح من أجل الإشعارات، وسيطلب منك مشاركته مع EFF، غير أن ذلك غير ضروري، وسيكون لديك الشهادةبعد الموافقة على شروط الخدمة. وبعد انتهاء العملية، سيحتوى مجلد etc/letsencrypt/archive/ على الملفات التالية: chain.pem: شهادة السلسلة-Chain Certificate الخاصة بـLet’s Encrypt. cert.pem: شهادة النطاق. fullchain.pem: دمج للشهادتين السابقتين. privkey.pem: المفتاح الخاص للشهادة. كما سينشئ Certbot روابط رمزية لآخر ملفات الشهادة في etc/letsencrypt/live/domain_name/، وهو المسار الذي سنستخدمه في تهيئة الخادم. تهيئة SSL/TLS على NGINX الخطوة التالية هي تهيئة الخادم، أنشئ قصاصة-snippet جديدة في etc/nginx/snippets، تلك القصاصة هي جزء من ملف تهيئة يمكن إدراجه في ملفات تهيئة المضيف الوهمي-virtual host. أنشئ ملف جديد (استخدم محررك النصي بدلًا من $EDITOR) # $EDITOR /etc/nginx/snippets/secure-example.conf محتويات هذا الملف ستكون الموجّهات التي تحدد مواقع الشهادة والمفتاح، الصق المحتوى التالي في الملف: ssl_certificate /etc/letsencrypt/live/domain_name/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/domain_name/privkey.pem; في مثالنا الذي نشرحه، سيكون domain_name هو example.com. تعديل تهيئة NGINX افتح الملف الافتراضي للمضيف الوهمي: # $EDITOR /etc/nginx/sites-available/default عدل محتواه كما يلي: server { listen 80 default_server; listen [::]:80 default_server; server_name www.example.com return 301 https://$server_name$request_uri; # SSL configuration # listen 443 ssl default_server; listen [::]:443 ssl default_server; include snippets/secure-example.conf # # Note: You should disable gzip for SSL traffic. # See: https://bugs.debian.org/773332 … كان هذا الكود من أجل تفعيل التشفير في NGINX، احفظ الملف واخرج ثم تأكد من ملف تهيئة NGINX: # nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful أعد تشغيل NGINX: # systemctl restart nginx خاتمة إن اتبعت الخطوات السابقة فيجب أن يكون لديك الآن خادم آمن مبني على NGINX، مع تشفير من Certbot وLet’s Encrypt. وهذه إعدادات أساسية قطعًا، فيمكنك استخدام معاملات-parameters كثيرة في NGINX لتعديل تهيئته وتخصيصه، حسب حاجة خادم الويب. ترجمة -بتصرف- لمقال Encryption: How To Secure an NGINX web server on Ubuntu 16.04 لصاحبه Giuseppe Molica
  25. يبدو للبعض أن تحقيق رضى الموظف عن حاله في وظيفته أمرًا مثاليًا بعيد عن الواقع، استنادًا إلى النتائج المخيبة للآمال التي خرجت بها الأبحاث التي تقيس تفاعل الموظفين طيلة الأعوام الماضية، والشركات التي أنفقت ملايين الدولارات لتحسين نشاط موظفيها وزيادة تفاعلهم، ومئات المقالات التي تقدم نصائح لزيادة تفاعل الموظفين ورضاهم في العمل. لكن رغم تلك الجهود كلها فإن مؤشر سعادة الموظفين لم يتحسن كثيرًا عن وضعه منذ خمس عشرة سنة. وقد يكون الحل لإسعاد الموظفين سهلًا ولا يكلف شيئًا في كثير من الأحيان إلا أن القول أسهل كثيرًا من الفعل، إذ أن نسبة الموظفين السعداء لا تتجاوز 13% فقط، وفقًا لإحصائية من Gallup. ولأننا نبتغي زيادة تلك النسبة من الموظفين السعداء في أعمالهم، فإننا نستعرض في هذا المقال اثنتي عشرة طريقة بسيطة ومجرّبة لتحقيق ذلك. كيفية زيادة رضى الموظفين يجب أن أشير في البداية أن أصل سعادة الموظف يعود قبل أي شيء إلى الثقة، فأهميتها تكمن في أن ما تفعله يجب أن يخرج من مشكاة ثقتك بأفراد فريقك، فلا يُعقل أن تعطي الموظف مرونة واستقلالًا ومسؤوليات أكثر إن لم تثق به من البداية! كما أن أحد أفضل الأمور التي يمكنك فعلها كقائد هي تطوير ذكائك العاطفي، فسيكون لديك حينها تعاطف أكثر، وشفقة عليهم وعرفان وتقدير لمجهودهم. دعنا ننظر الآن في الطرق التي تزيد من رضا الموظف وسعادته: 1. اجعل توقعاتك منطقية حين نظرنا في تقرير خرجنا به من دراسة حالة تفاعل الموظفين أجريناها قبل مدة أن 60% من الموظفين يلاحظون أن وظيفتهم تضر بحياتهم الشخصية، فنحن لا نملّ من القراءة في نصائح تخبرنا كيف ننجز أكثر في وقت أقل، لكن كان يجب أن ننظر في الطريقة التي نحيا بها حياة صحية ومتوازنة بين العمل والحياة الشخصية بدلًا من محاولة عصر أوقاتنا لاستخراج مزيد من العمل منها. وإنها مسؤوليتك كقائد ألا يشعر الموظف لديك أنه غارق إلى أذنيه في العمل، فإن الموظف نفسه يخشى أن يشتكي من كثرة العمل لئلا يتهم بالكسل والتخاذل. فحاول قدر وسعك أن تشجع الموظف على التحدث في مثل تلك المسألة إن وجدها أو اشتكى منها، فقد يكون من الصعب عليك أحيانًا أن تقلل من المهام في فريقك لتحقيق ذلك التوازن وفقًا لحالة المؤسسة التي تعمل فيها، فلا تهمل الاجتماعات الصادقة مع فريقك كل حين لتعيد النظر في التوقعات المرجوة منكم وما إن كانت أكثر من اللازم، ولتحث الفريق على البوح بالمشاكل التي تضايقهم. 2. قدِّر العمل الجيد اعلم أن تقدير المجهود الذي يقوم به العاملون معك في الفريق هو أسهل وأرخص الطرق لزيادة سعادتهم ورضاهم عن وظائفهم، ولا يتطلب ذلك منك إلا أن تكون واعيًا لمجهودهم الذي يبذلونه كي تبدي تقديرك لهم عليه لاحقًا. وهنا يأتي دور الذكاء العاطفي الذي تحدثنا عنه قبل قليل، فهو ما سيعينك على إدراك حاجتهم إلى إظهار التقدير لمجهودهم. وقد أظهرت أبحاثنا أن 63% من الموظفين لا يرون أنهم يتلقون التقدير الكافي، فهذه فرصة عظيمة للقادة أن يجعلوا موظفيهم فخورين بما ينجزوه. ولنأتي الآن إلى الطريقة التي ستظهر بها ذكاءك العاطفي الذي تحدثنا عنه، فلديك أداة مثل Bonusly التي استخدمناها بأنفسنا فيما مضى، كما يمكنك ذكر الأمر بأسلوب بسيط مثل إنشاء قناة عامة في Slack لتذكر فيها تلك الإشارة اللطيفة إلى مجهود أعضاء فريقك. 3. ركّز على المدى البعيد إن التفكير قصير المدى أو البحث عن تلك النجاحات السريعة لا يضر بشركتك فحسب، بل يسبب إحباطًا للموظفين أيضًا، فهم يحتاجون لمعرفة نفس الرؤية بعيدة المدى التي يراها طاقم إدارة الشركة، فذلك يرسخ قيم الشركة ورسالتها، ذلك أن رسالة الشركة شيء بعيد المدى، وارتباط الموظفين بهذه الرسالة يزيد من حماستهم للعمل. فسَلِ الموظفين لديك أين يرون الشركة بعد عشر سنين من الآن؟ وناقش إجاباتهم معهم كفريق، وسترى مقدار الحماسة التي ستدب في أوصالهم لشعورهم أن أفكارهم قد تقرر مصير الشركة. 4. تواصل أكثر من المعتاد تذكّر أن قلة التواصل هي أصل كثير من مشاكل الإحباط في العمل، وأنه لا يوجد سقف لمعدّل التواصل مع فريقك، وهذا يعني أنك يجب أن تتواصل أكثر من المعدل الذي تراه طبيعيًا، فالمعرفة قوة، وكلما تواصلت مع فريقك وزادت البيانات التي لديهم عن أدائهم وعن الشركة كان أفضل. فاعمل على خلق ثقافة مفتوحة وتواصل صادق بين فريقك، فهذا الشعور بالأمان والراحة لقول ما تشاء لأي فرد في فريقك هو عنصر أساسي لبناء فريق ناجح. 5. اهتم بسلامة الموظفين إن إظهار اهتمامك الصادق بسلامة الموظف أحد أنجح الطرق لزيادة رضاه عن الوظيفة، سواء كانت سلامة الموظف البدنية أو العقلية، وسيعود عليك بشركة هادئة خالية من الإجهاد والضغط والقلق. وبمكنك إظهار هذا الاهتمام بتوفير جدول عمل مرن أحيانًا، وإظهار ثقتك بالعاملين معك، وبتفقد أحوالهم كل حين لترى ما يمكنك فعله لمساعدتهم. أما الاهتمام بالسلامة الجسدية للعاملين فلن تحتاج إلى ميزانية كبيرة للاستثمار فيها مقارنة بالأموال التي ستخسرها نتيجة إصابة أحد الموظفين بمرض جراء إجهاد أو قلق أو قلة حركة، فيمكن أن توفر اشتراكات في صالة ألعاب رياضية، أو تخصص مكانًا لفاكهة طازجة في المكتب، أو تساعدهم في بدء نشاطات رياضية، فكل ذلك يظهر للموظفين أنك تهتم بهم. 6. اعرض عليهم فرصًا للتعلم لا شك أن النمو الشخصي هو أهم عنصر لتفاعل الموظف، فحين يتوقف الموظف عن التعلم فإنه يصاب بالملل ويبدأ بالبحث في أماكن أخرى عن محفّزات له، ولتمنع بحثه عن العمل في مكان غير شركتك عليك أن توفّر له برامج للتعلم المستمر، فسيحبك الموظف من أجل ذلك. وكمثال على ذلك، أعلنت شركة buffer مؤخرًا أنها ستمنح كل موظفيها ميزانية خاصة للتعلم لتظهر لهم أنها تقدّر نموّهم على الصعيد الشخصي. تخيل منح كل موظف ميزانية في حدود 50$ شهريًا من أجل إنفاقها على أي دورة يريدها، هذا يظهر له جليًّا أن شركته تهتم به. وأهم من هذا أن توفر وقتًا لهم كي يتعلموا فيه، فلا يُعقل أن تصرف لهم ميزانية للتعلم ثم تطلب منهم أن يعملوا 60 ساعة أسبوعيًا أو أكثر! 7. قدّم تغذية راجعة بصِفة دورية يتجنب أغلب المدراء نقد للعاملين معهم، لكن الموظف في حاجة إلى من ينتقده ويوجّهه، وليس كل موظف يتحسس من النقد كما تظن، وليس شرطًا أيضًا أن تكون أنت وقحًا في نقدك، بل يكفيك أن تكون مباشرًا وصادقًا، فسيحترمك الموظف لهذا. فخصص وقتًا للنقد الدوري عبر اجتماعات ثنائية مُجدولة مرة في الشهر مع كل فرد في فريقك، وحاول إيجاد فرصة غير رسمية للحديث كلما أمكن. 8. قِس مستوى التفاعل بشكل دوري لم تعد الاستبيانات السنوية كافية هذه الأيام، فإظهار اهتمامك بتفاعل موظفيك من أجل زيادة مستوى رضاهم عن العمل في شركتك يتطلب منك أكثر من هذا. وسواء كنت تستخدم استبيان النبضة (Pulse Survey) أو مؤشر ترويج الموظف(eNPS) أو أي استبيان آخر يقيس مدى تفاعل الموظفين، فإن العنصر الذي يجعل هذا الاستبيان فعّالًا هو تكراره على فترات مجدولة ومتقاربة. 9. لا تركّز على المِنَح فقط تحدّث جيم هارتر -كبير العلماء في gallup- في مقابلة معه عن أن المنح والمزايا التي تعطى للموظفين لا تُحدث الأثر المتوقع منها، قائلًا: وبذا نعرف أن المنح ليست سيئة في ذاتها، وإنما من الخطأ أن نركّز عليها كثيرًا ونعطيها أكبر من حقها، لكن هناك استثناء لهذا، فيقال أن المنحة/الميزة الوحيدة التي تحدث فرقًا في مستوى رضى الموظف هو الجدول المرن، ذلك أن الموظفين يحبون شعور أنهم أهل للثقة التي تسمح لهم ببعض المرونة في جدول العمل. 10. توثيق العلاقات في العمل لا يمكنك إجبار اثنين على تكوين صداقة في العمل، لكن تستطيع خلق بيئة لهذه العلاقة كي تحدث من تلقاء نفسها، عبر تنظيم أنشطة مثل الغداء الجماعي أو المشاريع الجماعية، أو أوقات ترفيه للفريق كله. ويجب أن يكون هدفك من هذا هو أن تعرّف العاملين معك أن لا بأس في أخذ استراحة خلال اليوم للتحدث مع زميل تخففًا من العمل، وهي مسؤوليتك كقائد للفريق أن تضمن نشأة وبقاء تلك العلاقات. 11. أخبر الموظف عن مستقبله المهني أحد أقوى الطرق لزيادة رضى الموظف في وظيفته هي تقديم شيء يتطلع إليه في المستقبل، فمساعدته للتخطيط على المدى البعيد لحياته المهنية يُظهر له أنك تلزم نفسك بضمان نجاحه في مسيرته المهنية، وأنك مستعد للاستثمار فيه على المدى البعيد. وتفعل هذا عبر جلسات تدريب وإرشاد لتطويره وتوثيق علاقاته في العمل، وكلما عملت معه على رسم خارطة لأهدافه المهنية كان أكثر رضى في وظيفته. 12. امنح القوة للعاملين معك يحتاج أن يشعر العاملون معك أن بيدهم قوة واستقلالية تخوّلانهم في التحكم بمهام عملهم إلى الحد الذي يمكّنهم من الانطلاق في تنفيذ العمل بالطريقة التي يحبونها. ولا يحدث هذا إلا إن وثقت بهم، لكن تلك الثقة غير كافية، فيجب أن تشعرهم أن بإمكانهم اتخاذ قرارات بأنفسهم، فدعهم يختارون المهام التي يريدون العمل عليها، والوقت الذي يرغبون في العمل عليها فيه إن كان ذلك مناسبًا، ويقتصر دورك بعدها على الإرشاد فقط. هل لديك نصائح جربتها مع الموظفين لديك لزيادة مستوى رضاهم في العمل؟ لم لا تخبرنا بها في التعليقات! ترجمة -بتصرف- لمقال Twelve Proven Strategies To Increase Job Satisfaction لصاحبه Jacob Shriar حقوق الصورة البارزة محفوظة لـ Freepik