لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 10/10/16 في كل الموقع
-
الإصدار 2.0.0
44946 تنزيل
كثر العاملون عن بعد في اﻷعوام الأخيرة إما عملًا حرًا أو نظاميًا، وقفز هذا النمط قفزات كبيرة وتغير كذلك عدة مرات في تلك الأعوام، وربما نشهد استقرارًا نسبيًا لتقلباته على المدى القريب، وإن كان الإصدار الأول من هذا الكتاب منتصف عام 2015 يبشِّر به ويدعو الناس إليه وإلى مزايا التعامل مع الموظفين عن بعد، كان لزامًا علينا تحديث الكتاب وإصدار هذه النسخة التي سنتوسع فها ونتعرض للمشاكل التي تواجه الذين يوظِّفون عن بعد، فقد طرأت مشاكل جديدة لم تكن موجودة من قبل استحداث هذا النمط من العمل، وسنذكر بعض الحلول لتلك المشاكل مما رأيناه في السوق أو جربناه بأنفسنا. وكانت الوظائف التي تسمح بالعمل عن بعد في الغالب في المجال التقني أو المجالات التي تعتمد على التقنية في مهامها اليومية، حيث يكون المنتج مادة تُنشأ وتعالَج وتُخرَج على الحواسيب، إما برمجيات أو تصاميم أو نصوص أو مرئيات أو مواد مالية أو غيرها، على عكس المجالات التي تكون المنتجات فيها حقيقية مثل المصانع والمتاجر التي لا بد من تواجد حقيقي للموظفين في محل الإنتاج أو البيع، فازدهرت الشركات المتخصصة في تلك المجالات التي تعتمد أساسًا على نهج العمل البعيد وبدأت شركات كثيرة بتبنيه وفقًا لما يناسبها طبعًا، وهنا أردنا تبيان الطريق الصحيح الذي يسهِّل على صاحب الشركة تبني مفهوم العمل عن بعد ويوصل بشركته إلى النجاح، فرأينا أن نضع هذا الكتاب بين يديك ليكون عونًا ودليلًا ومرجعًا. هذه النسخة موجَّهة في الأساس إلى رواد الأعمال وأصحاب الشركات الذين يودون تأسيس شركة تعمل عن بعد أو لديهم شركة قائمة تقليدية تعمل من مقر حقيقي ويريدون تحويلها إلى شركة بعيدةً سواءً كليًا أو جزئيًا، أما إن كنت عاملًا تعمل عن بعد، سواءً موظفًا أو مستقلًا، فنحيلك هنا إلى كتاب دليل المستقل والعامل عن بعد. ونرجو بهذا العمل أن نكون قد وُفقنا في وضع مرجع بين يديك يؤهلك لتأسيس شركة تعمل عن بعد ويرشدك إلى أهم نواحي إدارتها وتوظيف مختلف الكفاءات فيها، بل وحتى تطويرها والانطلاق بها نحو النجاح، عسى أن نرى الكثير من الشركات العربية التي تخدم سوق العمل وتقوده نحو التطور والنجاح. هذا الكتاب مرخص بموجب رخصة المشاع الإبداعي Creative Commons «نسب المُصنَّف - غير تجاري - الترخيص بالمثل 4.0». يمكنك قراءة فصول الكتاب على شكل مقالات نسردها بالترتيب التالي: مدخل إلى العمل عن بعد تأسيس بيئة عمل عن بعد أساسيات التوظيف عن بعد آليات الإدارة والتطوير لشركة تعمل عن بعد تحديات العمل عن بعد والإدارة البعيدة استقرار وتطور الشركات العاملة عن بعد1 نقطة -
بعد أن تعرفنا في الدرس الأول على طريقة تثبيت Django وإنشاء مشروعنا الأول فيه، سنشرع في هذا الدرس في إنشاء تطبيقنا الأول والذي سيكون عبارة عن موقع بسيط للاقتراعات يتكون من قسمين: القسم الأول: واجهة يمكن للمستخدم أن يطلع من خلالها على الأسئلة المطروحة واختيار الإجابة التي يرغب فيها. أما القسم الثاني: لوحة تحكم يمكن من خلالها إضافة الأسئلة وتعديلها وحذفها وإضافة الأجوبة وغير ذلك من الأمور. المشاريع Projects والتطبيقات Applications قبل أن ندخل في تفاصيل إنشاء تطبيق الاقتراعات، لا بأس في الحديث بشكل موجز عن مفهومي "المشروع" Project و"التّطبيق" Application في Django. يمثّل المشروع تطبيق الويب الذي يتم إنشاؤه بواسطة Django، ويتم تعريفه من خلال ملف الإعدادات Settings، فكما رأينا في الدرس السابق فبعد تنفيذ الأمر: django-admin startproject mysite تم إنشاء حزمة بايثون تحتوي على ملفات settings.py و urls.py و wsgi.py، وعادة ما تتوسع هذه الحزمة بإضافة المزيد من الملفات مثل ملفات CSS والقوالب وما إلى ذلك من الأمور التي لا تكون مرتبطة بتطبيق معيّن. وعادة ما يكون مجلّد المشروع هذا (المجلد الذي يحتوي على الملف manage.py) حاويًا للتطبيقات التي يتم إنشاؤها بشكل مستقل، وهذه التطبيقات ما هي إلا حزم بايثون تعمل على تقديم بعض الخصائص وتؤدي بعض المهام، ويمكن استخدام هذه التطبيقات في مشاريع متعددة، وهذا ما يسمى بمبدأ قابلية إعادة الاستخدام re-usability. إنشاء تطبيق الاقتراعات ملاحظة: ابتدءًا من هذا الدرس فإن عبارة "مجلد المشروع" تعني المجلد الذي يحتوي على ملف manage.py. توجّه في سطر الأوامر إلى مجلد المشروع ثم اكتب الأمر التالي: python manage.py startapp polls يمكن الحصول على نفس النتيجة من خلال الأمر التالي: django-admin startapp polls بعد تنفيذ الأمر ستجد أنّ إطار العمل قد أنشأ مجلدًا جديدًا يحمل الاسم polls، ويتضمن عددًا من الملفات نستعرضها بشكل مختصر: init__.py__: هذا الملف مشابه للملف الموجود في مجلد المشروع، وهو ملف فارغ يعني وجوده أن هذا المجلد هو حزمة من حزم بايثون. admin.py: يمكن من خلال هذا الملف إدارة وتخصيص لوحة التحكم والتي تأتي جاهزة مع التطبيق. apps.py: يمكن من خلال هذا الملف إعداد التطبيق configuration لاستخدامه في مشاريع أخرى. models.py: سيتضمن هذا الملف النماذج التي يتعامل التطبيق معها، والتي تكون مسؤولة عن إنشاء جداول قواعد البيانات. tests.py: يمكن من خلال هذا الملف إجراء الاختبارات Tests على التطبيق. views.py: تضاف في هذا الملف العروض المسؤولة عن تحديد البيانات والمعلومات التي سيتم عرضها على المتصفح، وهي كذلك صلة الوصل بين المسارات والقوالب. مجلد migrations: سيستقبل هذا المجلد الملفات الناشئة عن عملية تهجير قاعدة البيانات. إعدادات المشروع يحتوي مجلد المشروع على ملف الإعدادات settings.py، وهو عبارة عن ملف بايثون يحتوي جميع الإعدادات الخاصة بالمشروع، وسنستعرض بعض محتويات هذا الملف بشكل موجز. BASE_DIR: متغير نصّي يقدّم مسار المجلد الأساسي للمشروع، ويمكن الاستفادة من هذا المتغير في تحديد مسارات المجلدات التي تحتوي على القوالب أو الملفات الساكنة وغيرها، وسنتعرف على طريقة استخدامه عند الحديث عن القوالب. SECRET_KEY: عبارة عن سلسلة نصية من حروف ورموز عشوائية يمكن الاستفادة منها في حماية التطبيق. DEBUG: متغير من نوع bool، ويمكن من خلاله التحكم في وضع التنقيح Debugging، حيث تظهر معلومات مفيدة عند حدوث الأخطاء، ولكن ينصح بتغيير قيمته إلى False عند نقل المشروع إلى بيئة الإنتاج. INSTALLED_APPS: عبارة عن قائمة تتضمن التطبيقات التي سيضمها المشروع الحالي، ويمكنك أن تلاحظ وجود عدد من التطبيقات المثبتة بشكل مسبق، مثل إدارة لوحة التحكم admin، والاستيثاق auth، والجلسات sessions وغيرها. TEMPLATES: عبارة عن قائمة تتضمن إعدادات القوالب المستخدمة في المشروع، وما يهمنا فيها هو العنصر DIRS والذي يتم من خلاله تعيين المسارات التي تحتوي على ملفات القالب. DATABASES: قائمة أخرى مسؤولة عن تحديد المعلومات اللازمة للتعامل مع قواعد البيانات، وسنتطرق إليها عند الحديث عن النماذج Models والاتصال بقواعد البيانات. LANGUAGE_CODE: يمكن من خلال هذا المتغير تحديد لغة واجهة لوحة التحكم، والإعداد الافتراضي هنا هو اللغة الإنكليزية، ولكن Django يدعم العديد من اللغات ومن ضمنها العربية، وإن كنت ترغب في استخدام اللغة العربية في عرض عناصر لوحة التحكم، فيمكنك تغيير قيمة هذا المتغير بالشكل التالي: LANGUAGE_CODE = 'ar' TIME_ZONE: يمكن من خلال هذا المتغيير تعيين المنطقة الزمنية التي سيستخدمها Django في دوال الوقت والتاريخ. ويمكن استبدال هذه القيمة حسب الرغبة. STATIC_URL: في هذا المتغير يتم تحديد مسار المجلد الذي يحتوي على الملفات الساكنة وهي ملفات CSS و Javascript والخطوط والصور وغيرها. كتابة العرض الأول العرض View عبارة عن دالة مكتوبة بلغة Python (أو صنف كما سنرى في الدروس اللاحقة) يمكن تلخيص عملها ببساطة في أنها تأخذ الطلبات Requests التي يرسلها العميل وتقوم بإرجاع الإجابة response والتي يمكن أن تكون على هيئة شيفرة بصيغة HTML، أو إعادة توجيه لصفحة أخرى، أو صفحة خطأ 404، أو ملف XML، أو صورة أو أي شي آخر. لنبدأ الآن بكتابة العرض الأول في مشروعنا، وللقيام بذلك افتح ملف polls/view.s.py في محرر النصوص المفضّل لديك، ثم امسح محتوياته واكتب الشيفرة التالية: from django.http import HttpResponse def index(request): html = "مرحبًا بك في تطبيق الاقتراعات، هذه هي الصفحة الرئيسية." return HttpResponse(html) في السطر الأول من هذه الشيفرة قمنا باستيراد الصنف HttpResponse من وحدة django.http، وهو المسؤول عن التعامل مع الاستجابة التي ترد على الطلب الذي أرسلناه إلى الخادوم من خلال الدالة index، وذلك عن طريق تمرير المعامل request عند تعريف الدالة. ستقوم هذه الدالة بإعادة العنصر HttpResponse والذي يحتوي على الإجابة، وهي في مثالنا هذا عبارة عن سلسلة نصية بسيطة. ملاحظة: في حال عدم ظهور الأحرف العربية بشكل صحيح، أضف السطر التالي إلى بداية ملف views.py: # -*- coding:utf8 -*- لنتمكن من مشاهدة النتيجة على المتصفح، يجب أن نربط هذا العرض بمسار معين؛ وللقيام بذلك توجه إلى الملف mysite/urls.py وعدّل محتوياته لتصبح بالشكل التالي: from django.conf.urls import url from django.contrib import admin from polls import views urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^polls/', views.index), ] يتضمن هذا الملف جميع المسارات التي سنستخدمها في المشروع، وهو بمثابة جدول لمحتويات الموقع. في البداية قمنا باستيراد محتويات ملف views.py الموجود في مجلد polls من خلال الشيفرة التالية: from polls import views من خلال هذه الشيفرة يمكنك أن تلاحظ أن Django يتعامل مع المجلد polls باعتباره حزمة من حزم بايثون، وذلك لاحتواءه على ملف init__.py__ كما ذكرنا سابقًا. بهذا الطريقة يمكننا الوصول إلى دالة index التي أنشأناها قبل قليل في ملف views.py الموجود في مجلد polls (أو حزمة polls لنكون أكثر دقة) وذلك تمهيدًا لربطها بالمسار الذي نرغب فيه. أضفنا كذلك الشيفرة التالية إلى قائمة urlpatterns: url(r'/polls', views.index), وهي عبارة عن دالة وظيفتها ربط المسار الذي نحدده في المعامل الأول بالعرض الذي نحدده في المعامل الثاني. لاحظ أن المسار عبارة عن سلسلة نصية مسبوقة بحرف r صغير وذلك لإخبار بايثون بأن يتعامل مع هذه السلسلة النصية على أنّها سلسلة خام raw، بمعنى أنه سيتم تجاوز جميع العلامات الخاصة المستخدمة في هذه السلسلة، وهذا ضروري جدًّا، لأن Django يستخدم التعبيرات النظامية Regular Expressions في تحديد المسارات وتمرير المتغيرات، وهذه التعبيرات تستخدم الكثير من الرموز التي يجب تجاوزها لتعمل الشيفرة بالشكل الصحيح. سنتعرف على المسارات وآلية عملها وكيفية استخدام التعبيرات النظامية، في الدروس اللاحقة. يمكنك الآن التوجه إلى مجلد المشروع وتشغيل الخادوم الخاص بـ Django عن طريق سطر الأوامر من خلال الأمر التالي: python manage.py runserver انتقل في المتصفح إلى العنوان التالي: http://127.0.0.1:8000/polls لتشاهد عبارة الترحيب في واجهة الموقع. يمكننا استخدام شيفرة HTML ضمن السلسلة النصية التي ترجعها دالة العرض، وللقيام بذلك افتح ملف polls/view.py وعدّله ليصبح بالشكل التالي: from django.http import HttpResponse def index(request): html = """ <html dir="rtl"> <head> <title>تطبيق الاقتراعات</title> </head> <body> <h1>تطبيق الاقتراعات</h1> <p>مرحبًا بك في تطبيق الاقتراعات، هذه هي الصفحة الرئيسية.</p> </body> </html> """ return HttpResponse(html) من المؤكد أن التطبيقات التي نراها على صفحات الإنترنت لا تتمتع بهذه البساطة الشديدة، وهذا يعني أن استخدام شيفرة HTML ضمن دالة العرض أمر غير عملي على الإطلاق، وهنا تظهر الحاجة إلى فصل هذه الشيفرات عن العروض وهذه هي وظيفة القوالب Templates والتي سنتعرف إليها في الدروس اللاحقة. خاتمة تعرفنا في هذا الدرس على مفهومي المشروع والتطبيق في Django، وقمنا بكتابة العرض الأول وتعرفنا بشكل مختصر على المسارات Urls. سنتعرف في الدرس القادم على كيفية التعامل مع قواعد البيانات من خلال النماذج Models، وكذلك سنتعرف على كيفية تهجير قواعد البيانات، وكذلك الاستعلام عن البيانات برمجيًا، وذلك لتهيئة قاعدة البيانات التي سنستخدمها في تطبيق الاقتراعات.1 نقطة
-
استخدم قوة التصاميم المبنية على شبكة لإنشاء مخطط صفحة بنمط احترافي في برنامج أدوبي إن ديزاين والتي من الممكن تعبئتها بمعلومات مختلفة لإنتاج سيرة ذاتية رائعة. لقد تمت دعوتي للمشاركة في تحدي ستيفن ستيفنسون في موقع مجلة Smashing Magazine. وكان الهدف هو تصميم سيرة ذاتية لشخصية وهمية بناءً على المعلومات الواردة في التحدّي. وكان توجّهي هو تصميم مستند بلونين فقط بحيث تظهر مهارات السيد ستيفنسون التصميمية من خلال مخطط نظيف وأنيق. لنعد إلى عملية إنشاء المستند ولنرى كيف تم إنتاج نمط تخطيط الشبكة الأولي. وأنا أتمنى أن تساعدك التقنيات المستخدمة لإنتاج سيرة ذاتية خاصة بك إضافة إلى تصاميم جرافيكية أخرى. للقيام بتصاميم بهدف طباعتها ومبنية على نمط شبكي فإننا سنستخدم برنامج أدوبي إن ديزاين للقيام بالمهمة. وكبرنامج نشر مكتبي فإن إن ديزاين يملك حزمة أدوات مفيدة إنشاء تصاميم معقّدة. أنشئ مستندًا جديدًا وحدّد الحجم إلى A4 وحدّد الهوامش عند 10مم من كل حافة. لن يكون هناك أية عناصر ملونة عند أطراف التصميم لذلك لا داعي لهوامش الحدود القصوى Bleed. اذهب إلى القائمة: Layout > Margins and Columns أنشئ 5 أعمدة بهامش 5مم. اذهب إلى خيارات إن ديزاين وانظر في قسم الأدلّة Grids. وبما أن التصميم المخطط يعتمد على اللون السماوي كثيرًا فسيكون من المفيد تغيير اللون الأزرق لخطوط الأدلة. اختر لونًا كالرمادي الفاتح. وأيضًا غيّر الهامش العلوي إلى 0 مم وزِد باقي الهوامش إلى 13 pt وألغِ تحديد الأدلّة في الخيار الخلفي. تأكّد من أن جميع الأدلّة ظاهرة من القائمة: View > Grids and Guides والآن الصفحة جاهزة ليتم وضع جميع العناصر بداخلها بدقة ضمن خطوط الشبكة المنظمة. استخدم أداة الإطار المستطيل Rectangle Frame Tool لرسم مستطيل في الزاوية العلوية اليمنى ومع تفعيل خيار المحاذاة والمطابقة إلى الأدلة فإن الشكل سيكون ضمن خطوط الأدلة بدقة. لوّن هذا المستطيل باللون السماوي 100%. أنشئ منطقة كتابة نص باستخدام أداة النص واكتب اسمك. هنا اخترنا اسم الشخصية الخيالية Steven Stevenson مع كافة التفاصيل المتعلقة به. اختر خطًّا كلاسيكيًّا أنيقًا مثل خط Meta. اضبط حجم النص ليكون مناسبًا بدقة ما بين الخطوط الأساسية. وبعد الانتهاء من وضع النص بشكل صحيح في مكانه الصحيح اذهب إلى القائمة: Object > Fitting > Fit Frame to Content وبما أن العنوان سيكون بحجم أكبر فإن أية أخطاء ستكون أكثر وضوحًا لذلك قم بضبط المسافة بين الحروف لتجنب أية أخطاء. ضع المؤشر بين كل حرفين واضبط المسافة بينهما باستخدام مفاتيح الأسهم ومفتاح Alt. كرّر العملية مع النص التالي ولكن اجعل حجم النص هذه المرة أصغر قليلًا. المفتاح في التصميم هو التأكد من محاذاة العناصر لخطوط الأدلة الأقرب. ارسم منطقة نصيّة كبيرة تغطّي الأعمدة الثلاثة الأولى في الصفحة. ألصق مجموعة كبيرة من المحتوى النصي داخل هذه المنطقة. اضبط النص عبر ضبط نوعية الخط ووضعه في حجم 10 pt والعناوين بحجم 13pt مع مطابقة خطوط الأدلة. واضبط المسافة البادئة قبل كل قسم من أقسام النص لتوضيح مجال المعلومات الذي يلي هذه البادئة ومستواه. استبدل ألوان العناوين باللون السماوي وأحجامها بحجم العناوين المخصص. سنقوم بتحديد مستويات النص وأهميته عبر الأحجام المختلفة والألوان المختلفة التي نعطيها لكل جزء من النص مما يساعد على تحديد مستويات المعلومات المختلفة ضمن النص. اضبط العناوين الفرعية أيضًا لتطوير تسلسل هرمي واضح للنص. العناوين الرئيسية في أعلى الصفحة بارزة بسبب أحجامها وألوان خلفيتها النابضة بالحياة. يتم عرض المعلومات الثانوية تحت عناوين متوسطة الحجم ملوّنة باللون الأزرق. المستوى التالي من المعلومات موضوع تحت عناوين بخط عريض مع لون أسود أخف 80% وأخيرًا النص الأساسي يستخدم خطًّا أسود بحجم 10pt. ضع قائمة معلومات الاتصال في العمود الأيمن. ارسم مستطيلات ملوّنة بالأزرق تحت النص ولكن أصغر بالحجم، فقط بما يناسب حجم النص تمامًا ضمن ارتفاع خطوط الأدلة. عند رسم المزيد من المستطيلات ستلاحظ فارقًا بسيطًا جدًّا بين العناصر. غيّر لون النص إلى الأبيض وحاذِه إلى مركز المستطيل وليس إلى خطوط الأدلة. لاحظ كيف توضّعت العناصر ضمن ذات خطوط الأدلة. أدخل باقي التفاصيل وحاذِها بالشكل المناسب. أضِف باقي المعلومات إلى ما تبقّى من العمودين. استخدم ذات نمط النص والتسلسل الهرمي البصري للعناوين الرئيسية والفرعية. حدّد حزمة عناصر قائمة ثم اذهب إلى القائمة: Type > Bulleted & Numbered Lists > Apply Bullets هذا سيضيف نقاطًا بشكل آلي إلى كل سطر. أبقِ على نص القائمة محدّدًا ثم اذهب إلى القائمة: Type > Bulleted & Numbered Lists > Convert Bullets to Text يمكننا الآن أن نقوم بتحديد كل نقطة ضمن القائمة وتغيير لونها إلى السماوي لإضافة المزيد من التحسينات البصرية على تصميم الصفحة. أنهِ تصميم الصفحة عبر وضع مستطيل أزرق سماوي أسفل الصفحة بحجم 210x2 مم. صغّر منظور التصميم وألقِ نظرة عليه. قم بإجراء نظرة فاحصة شاملة على التصميم وتأكّد من أن جميع العناصر قد تمت محاذاتها إلى الشبكة الأساسية. عند النظر إليها بدون خطوط الأدلة سيبدو التصميم رائعًا مع المحتوى الذي تمت محاذاته والمظهر المنظم. قم بتصدير هذا الملف إلى ملف PDF. ترجمة -وبتصرّف- للمقال: Create a Grid Based Resume CV Layout in InDesign لصاحبه: Chris Spooner.1 نقطة