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

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

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

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

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

  • عدد الأيام التي تصدر بها

    22

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

  1. لغة روبي من أشهر لغات البرمجة المتواجدة في أيامنا هذه، وتتميّز بسهولة تعلّمها وبقصر شيفرتها، كما أنّها تتمتع بمُجتمع ضخم، إذ تستطيع أن تجد حلا لأي مُشكلة قد تُواجهك، وهي مُتعددة الأغراض، إذ يُمكنك بها إنشاء تطبيقات سطح الكتب وتطبيقات الويب بالاستعانة بأطر العمل والمكتبات المُتوفّرة لها، وأهم أطر العمل الخاصة بتطوير الويب بهذه اللغة هي كل من إطار Sinatra وإطار Ruby On Rails وإليك وصفا مُختصرا لكل إطار عل ذلك يُساعدك على اختيار ما يُناسبك: إطار Ruby On Rails: هو إطار عمل ضخم، يتميّز بالكثير من الدوال المُساعدة ويوفر التطوير بطريقة سلسة كما أنه مُناسب للمُبتدئ الذي يرغب في تعلم تطوير الويب وأخذ تعلماته لتطوير تطبيقات معقدة وهو سهل التّعلم كثيرا. كما أنّ إطار Rails يتميّز بكونه مُناسبا جدا للمشاريع الكبيرة والضخمة، وهناك العديد من المواقع الكبيرة التي تستخدمه مثل موقع Github، لذلك إذا كنت ترغب بتطوير تطبيقات الويب بسهولة وترغب بتعلّم تطوير تطبيقات مُعقدة مع مُساعدة كبيرة من الدوال المُساعدة. فهذا الإطار هو الأنسب لك. إطار Sinatra: يتميز بكونه إطارا صغيرا ويمنح لك التّحكم الكامل بالمكتبات وبكيفية عمل التّطبيق بأكمله، ويُوفّر كذلك دوال مُساعدة يُمكنك أن تستدعيها من الملف، ويخول لك استدعاء ما تحتاج إليه فقط دون الحاجة إلى استدعاء كامل الإطار، ويُمكنك أن تقوم ببناء التّطبيق وملفاته بتقنية MVC أو مُتحكم، عرض، نموذج. وهو لك إذا كنت ترغب بتحكم كامل بالتّطبيق وإذا كنت ترغب بالتّعمق في تعلم اللغة ويُمكن أن يُساعدك على فهم الكثير من التقنيات الداخلية، وهو مناسب جدا للمشاريع الصغيرة.
  2. عندما تقوم بتطوير برنامج ما بلغة معيّنة، فإنّك تتبع طريقة مُعيّنة في بناء الجملة، فمثلا في لغة بايثون لطباعة جملة ما نستعمل السّطر التّالي: print 'Hello World!' ولكن ماذا لو نسيت وأخطأت في كتابة الشّيفرة وكتبت مثلا: print Hello World!' البرنامج لن يعمل وسيعطي خطأ رغم أنّ التغيير بسيط جدا إذ أنّنا لم نحذف سوى علامة التنصيص '، وتصحيح الخطأ هنا كما سيتبادر إلى ذهنك هو البحث عن الخطأ وإصلاحه، أي إضافة علامة التّنصيص في مكانها. وهذا النوع من الأخطاء هو الذي يُسمى أخطاء بنية الجملة أو Syntax Error وهو شائع جدا بين صفوف المبتدئين.
  3. الحصول على العملاء أمر جيّد، ولا شك أنّه مصاحب دائما بالحصول على شرائح متنوعة منهم، لذلك عليك أن تعتمد على عدة عوامل للاختيار بين من يستحق أن تجعله عميلا دائما، ومن يجب عليك أن تطرده في أقرب وقت ممكن، ومن يجب عليك التّعامل معه بحذر، ولا شك أنّ عامل الراحة من أهم هذه العوامل، أي أنّك ملزم بتحليل أفعالك وإنتاجيتك عند التعامل مع كل عميل، فمثلا عند بدء العمل مع عميل جديد أعجبك مشروعه، عليك أن تحلّل كل يوم يمر عليك وأنت تعمل في ذلك المشروع، وانظر إلى نفسيتك ومدى راحتك في العمل مع العميل، هل تُزعجك طلباته، هل التّعديلات التي يطلبها منك تبدو غير معقولة؟ هذه الأسئلة ستجعلك تعيد التّفكير في مدى رغبتك في العمل مُجدّدا مع العميل. وبالطّبع المال يُعتبر أساس الصّفقة والعميل الذي يُقدّر عملك عادة ما يدفع لك ما تستحقه، لذلك يجب عليك أن تُبقي على العميل الذي ترتاح إلى العمل معه بغض النّظر عن قدر المال الذي يدفعه لك ما دمت مُقتنعا بأنّ العمل الذي تقوم به يستحق المال الذي يدفعه.
  4. عليك أولا أن تعرف بأنّ المواقع الإلكترونية تعتمد على العديد من التّقنيات واللغات وأهم لغة لتطوير الويب هي لغة HTML الهيكلية وهي بسيطة جدا، ولن يأخذ منك تعلمها الكثير من الوقت، ولغة CSS مُهمة كذلك لتنسيق الموقع وجعل منظره جذابا، ثمّ لغة Javascript لإضافة المزيد من التفاعل لموقعك. أمّا لغات الواجهة الخلفية مثل لغة php و ruby و python فهي لغات تُستعمل للتعامل مع قواعد البيانات وذلك بمُساعدة رئيسية من أطر العمل المُتوفّرة لكل لغة، أقصد بالتعامل مع قواعد البيانات إدخال البيانات إلى قاعدة البيانات (اسم المُستخدم وكلمة مروره مثلا) التّحقق منها وحذفها أو تعديلها وأمور أخرى تتعلق بهذه المبادئ. لذلك فإن أردت أن تبدأ بتعلم التّقنيات اللازمة لإنشاء مواقع إلكترونية فعليك بتعلم التّالي: لغة HTML5 لغة CSS3 لغة Javascript لغة بايثون. إطار عمل للويب (مثل إطار Django). كيفيّة التعامل مع قواعد البيانات باستعلامات SQL. يُمكن كذلك أن تُضيف تقنيات أخرى لتعلماتك مثل تقنية Ajax ومُختلف مكتبات لغة Javascript (مثل Jquery، EmberJS، AngularJS، ReactJS …). قد يبدو لك الأمر مُعقدا، ولكن صدقني أصعب جزء هو البداية وأسوأ شيء قد تواجهه هو عدم الاهتمام بالتّعلم، فحالما تتعلم لغة HTML سيبدو لك الأمر بسيطا وستنتقل إلى لغة CSS وبعدها يزيد مستوى التّعقيد درجة درجة عندما تنتقل إلى تعلم لغة Javascript ستتعلم أسس البرمجة (هذا إن لم تكن قد تعلمت لغة بايثون). إذا تعلمت أحد لغات البرمجة ستجد نفسك قادرا على تعلم اللغة التالية بسهولة ويُسر. وتذكر بأنّك ستواجه عقبات لا تعد ولا تحصى والمُهم ألا تستسلم لهذه العقبات بل عليك أن تعتمد على مُحركات البحث لإيجاد حلول المشاكل التي تواجهك.
  5. بالطّبع أطر العمل الخاصة بلغة بايثون لتطوير الويب هدفها الأساسي تمكين مُبرمج لغة بايثون من إنشاء مواقع إلكترونية ببساطة، ولكنها تختلف في فلسفتها، فكل إطار يعتمد في تحقيق هدفك على منهج معيّن. وإليك أهم الأطر المتوفرة مع ذكر ميزة كل إطار: Flask: إطار صغير يمنحك التحكم الكامل بتطبيقك، يتميز بالمرونة، وهو سهل التعلم. Django: إطار كبير، يتميز بعدد كبير من الدوال المُساعدة، ويتميز بأنّه الأنسب للمشاريع الضخمة، كما أنّ له مجتمعا كبيرا جدا مُقارنة بأطر العمل الأخرى. Bottle: إطار غاية في الصّغر حتى أنّ حجمه مركز في ملف واحد، يتميز بأنّه يُعطي للمطور التحكم الكامل بتطبيقه، وهو في الحقيقة غير مُناسب للمشاريع الضخمة إلا إذا كنت ترغب في التعمق بلغة بايثون والاعتماد على نفسك دون الاعتماد على الدوال المساعدة والمكتبات. Web2py: يتميز بسهولة تعلمه، ومناسب للمُبتدئين، كما يتميز بسرعة تطبيقاته. ويقترب كثيرا من إطار العمل Django. Pyramid: يتميز بالمرونة وسهولة التعلم، ويمنح للمُستخدم إمكانية إنشاء تطبيقات صغيرة بسرعة. Tornado: إطار مُناسب للتّطبيقات التّي تحتاج إلى سرعة في التّشغيل، وسرعة في إرسال واستقبال الطّلبات (كتطبيقات الدردشة) وهو قريب جدا من بيئة NodeJS الخاصة بلغة Javascript. TurboGears 2: إطار يتميز بقوته وسهولة التعامل معه ويتميز بسهولة إجراء عمليات على قواعد البيانات. هذه بعض الأطر المُتوفرة للغة بايثون التّي تُمكنك من إنشاء تطبيقات الويب بلغة بايثون والمرجو ملاحظة بأنّ القائمة أعلاه ليست مُكتملة وهناك العديد من الأطر الأخرى التي لم أذكرها.
  6. يُمكنك أن تقوم بهذا الأمر ببساطة بالاستعانة بجملة While لتكرار الشيفرة كلما كانت كلمة المرور غير مُساوية لكلمة المرور المرغوبة، وذلك بالشيفرة التّالية: user_password = 'secret' password = raw_input('Enter the Password: ') while password != user_password: password = raw_input('Wrong Password, please try again: ') print 'successfully signed in!' السّطر الأول: نعيّن كلمة المرور إلى المتغيّر user_password السّطر الثاني: يقوم البرنامج بطلب كلمة المرور من المُستخدم السّطر الثالث: تتحقّق حلقة While من كون كلمة المرور غير مطابقة لكلمة المرور المُدخلة، إذا تحقّق الشّرط، ينتقل البرنامج إلى السّطر الرابع، إذا لم يتحقّق (أي كلمتا المرور متساويتان )، ينتقل البرنامج إلى السّطر الخامس. السّطر الرابع: يقوم البرنامج بإخبار المُستخدم بأنّ كلمة المرور خاطئة ويطلب منه إعادة المُحاولة. السّطر الخامس: يطبع البرنامج جملة تفيد المستخدم بأنّ تسجيل الدخول قد نجح.
  7. تُعدّ لغة بايثون البرمجيّة من أسهل اللغات في التّعلم وهي أمثل خيار للمبتدئين، وللغة تطبيقات عديدة، إذ يُمكنك أن تبني تطبيقات مُختلفة ومتنوعة كتطبيقات سطح المكتب وتطبيقات الويب، وذلك بالاستعانة بأطر العمل، وإطار العمل هو مجموعة من الملفات والوحدات التي تخول لك تطوير التّطبيقات بسرعة وأمان، وdjango و Flask من أبرز أطر العمل الخاصّة بتطوير الويب لهذه اللغة، وإليك وصفا مُختصرا لكل إطار عسى أن يُساعدك على اختيار الإطار المناسب لك: إطار Django: إطار عمل ضخم، يتميّز بالكثير من الدوال المُساعدة ويوفر التطوير بطريقة سلسة كما أنه مُناسب للمُبتدئ الذي يرغب في تعلم تطوير الويب وأخذ تعلماته لتطوير تطبيقات معقدة. كما أنّ إطار Django يتميّز بكونه مُناسبا جدا للمشاريع الكبيرة والضخمة، وهناك العديد من المواقع الكبيرة التي تستخدمه، لذلك إذا كنت ترغب بتطوير تطبيقات الويب بسهولة وترغب بتعلّم تطوير تطبيقات مُعقدة مع مُساعدة كبيرة من الدوال المُساعدة. إطار Flask: يتميز بكونه إطارا صغيرا ويمنح لك التّحكم الكامل بالمكتبات وبكيفية عمل التّطبيق بأكمله، ويُوفّر كذلك دوال مُساعدة يُمكنك أن تستدعيها من الملف، ويخول لك استدعاء ما تحتاج إليه فقط دون الحاجة إلى استدعاء كامل الإطار، ويُمكنك أن تقوم ببناء التّطبيق وملفاته كما تشاء. وهو لك إذا كنت ترغب بتحكم كامل بالتّطبيق وإذا كنت ترغب بالتّعمق في تعلم اللغة ويُمكن أن يُساعدك على فهم الكثير من التقنيات الداخلية، وهو مناسب جدا للمشاريع الصغيرة. إذا كنت لا زلت في بداياتك وترغب بتعلم لغة بايثون فعليك بهذه السّلسلة من الدروس.
  8. لغة PHP لغة برمجة خاصّة ببناء تطبيقات الويب، ورغم أنّك تستطيع أن تبني بها تطبيقات من أنواع أخرى مثل تطبيقات سطح المكتب وغيرها، إلا أنّها لن تعمل بكفاءة عاليّة، لأنّ هذه اللغة قد بُنيت خصيصا لتطوير تطبيقات الويب والتعامل مع عمليات الواجهة الخلفيّة على جهة الخادوم، وتستطيع إن تعلّمتها أن تُنشئ تطبيقات الويب المُختلفة مهما كان تعقيدها، ومُعظم المواقع التي تزورها قد بُنيت بهذه اللغة، مثل موقع Facebook وموقع مُستقل والعديد من المواقع الأخرى، كما أنّها تُعتبر الحجر الأساس لمُدونات ووردبريس المُنتشرة على الويب، ويُمكنك عند تعلّمها أن تبدأ بتطوير المواقع إمّا باللغة فقط دون مُساعدة أو تعتمد على أطر الويب التي تُسهل التعامل مع البيانات وتُسهل إنشاء المواقع بسرعة وأكثر أمانا. كما يجب أن تعرف بأنّ اللغة وحدها غير كافيّة لإنشاء المواقع الإلكترونية ذات الشّكل الجذاب وتجربة مُستخدم جيدة، بل يجب أن تُمزج مع التّقنيات واللغات الأخرى في هذا المجال، خاصّة اللغات الثلاث: HTML/CSS/Javascript
  9. تعني كلمة Front-end أو الواجهة الأماميّة في مجال تطوير الويب مجموع العمليات التي تتم في جهة المُتصفح، إذ تتم العمليات في تطبيقات الويب على مرحلتين، مرحلة الخادوم التي تقوم بالتعامل مع قواعد البيانات بلغات برمجة مثل بايثون وروبي وphp وغيرها، والمرحلة الأخرى هي مرحلة تقديم البيانات بقالب جميل بلغات يفهمها المُتصفح مثل لغتي Html و CSS ولغة البرمجة Javascript ومُختلف المكتبات الخاصة بهذه اللغة مثل Jquery و Ajax وغيرها. ومُطوّر الواجهة الأمامية هو الشّخص الذي يستخدم هذه اللغات والتّقنيات للتحسين من تجربة المُستخدم.
  10. البرنامج في البرمجة هو مجموع الإرشادات التي تُعطيها للحاسوب عندما يُنفّذه، فمثلا برنامج طباعة، لا يقوم إلّا بإصدار أمر للمُفسّر لكي يطبع جملة معيّنة، ويُمكن لهذه الإرشادات أن تكون رياضيّة كأن يجمع البرنامج بين عددين أو يقسم أو يطرح أو غير ذلك، أو يُمكن أن يؤدي غرضا أكثر تعقيدا (في التّنفيذ وليس في البرمجة) مثل تعديل ملف أو حذفه من الحاسوب وما إلى ذلك، والإرشادات ترتكز أساسا على المُكونات التّالية: المدخلات: أي ما يُدخله المُستخدم من معلومات كاسمه أو كلمة مروره. يُمكن كذلك أن تكون المُدخلات عبارة عن ملف ما. المُخرجات: وهو عرض النّتيجة على المُستخدم، فمثلا إن أخطأ في إدخال كلمة المرور الصحيحة ستكون المُخرجات عبارة عن رسالة "كلمة المرور خاطئة، حاول مُجدّدا”. عادة ما تُستخدم الدّالة print للقيام بالأمر في مُعظم اللغات. الشّروط: أي ما يستخدمه المبرمجون للتحقق من صحة المعلومات أو من قيمة مُتغيّر معيّن، وذلك بجمل If و Else في لغات البرمجة. التّكرار: يُمكن أن يتطلب البرنامج تكرار شيفرة مُعيّنة لعدد من المرّات، ولا يُمكنك ببساطة أن تنسخ الشيفرة وتقوم بلصقها أكثر من مرّة، فهذا لا يتوافق أبدا مع مبادئ البرمجة. الريّاضيات: يُمكنك أن تبني العديد من البرامج بمعرفة مُتوسطة أو حتى قليلة في الريّاضيات، ويُمكنك أن تبني مواقع معقدة بمعرفة قليلة جدا في الرياضيات (يعني يكفي أن تعرف كيفية إجراء عمليات الطرح، الضرب، الجمع، القسمة)، لكن حالما ترغب ببرمجة برنامج غاية في التّعقيد ويؤدي الكثير من المهام فلا بد أن تكون لديك دراية معمقة في مجال الريّاضيات (مثل برامج التّصميم وتحرير الفيديو). وأنبّه على أنّ البرامج في البرمجة لها نفس التّعريف كما في برنامج المُتصفح، يعني أنّ جميع البرامج التّي تستخدمها تستخدم المبادئ نفسها، لكن طريقة البرمجة مُختلفة.
  11. حلقة التكرار While أو While loop هي جملة تُستعمل في لغة بايثون لتكرار شيفرة مُعيّنة عددا من المرات أو بشكل لا نهائي، أو إلى أن يستقبل البرنامج مُدخلا من المُستخدم، وتقوم بتحديد مرات التكرار بمُتغيّر تزداد قيمته مع كل تكرار فإن وصل إلى قيمة التّكرار التي نرغب بها يتوقّف البرنامج، انظر المثال التّالي: count = 0 while (count < 10): count = count + 1 print "Hello!" في المثال أعلاه عرّفنا أولا المتغير count بعدها وضعنا شرط while والذي يعني "كلما كانت قيمة المتغير count أصغر من 10 فنفّذ الشيفرة التالية”، بعدها قمنا بزيادة قيمة المتغير count بمقدار واحد، بعدها طباعة جملة Hello وهكذا سوف تقوم الحلقة بزيادة المتغير وتكرار الشيفرة إلى أن تُساوي القيمة عشرة.
  12. يُمكن أن تنشر تطبيقات مبنية بلغة روبي وإطار سيناترا بتشغيل الخادوم مع إضافة معامل لتحديد رقم المنفذ وذلك بالأمر التّالي: ruby app.rb -o 0.0.0.0 -p 3000 و يُمكن أن تقوم بتحديد رقم منفذ لتطبيق آخر عند تشغيل الخادوم. بالأمر: ruby app.rb -o 0.0.0.0 -p 5000 يُمكن كذلك تغيير رقم المنفذ ليُصبح الرّقم 80 عوضا عن رقم المنفذ 4567 الافتراضي، وذلك كالتّالي: sudo ruby app.rb -p 80 إذا كنت تستخدم مدير نسخ روبي RVM فعليك استبدال sudo بـrvmsudo كالتّالي، لأن المنافذ ذات الأرقام الصغيرة تتطلّبُ صلاحيات الجذر: rvmsudo ruby app.rb -p 80 لكن تحقق من أنّ المنافذ متاحة وأنّ التطبيقات الأخرى لا تستخدمها. كل هذه الأوامر تُقوم بتشغيل خادوم Sinatra كل على منفذ معين، فمثلا للوصول إلى التّطبيق الأول يكفي الدخول على العنوان 0.0.0.0:3000 أو عن طريق عنوان IP الجهاز على سبيل المثال: 198.168.1.0:3000 والذي يُمكنك الحصول عليه عبر الأمر ifconfig في نظام لينكس والأمر ipconfig على نظام الوندوز.
  13. إليك مُختلف الطّرق للانتقال إلى نمط الإدخال، أقصد بالمؤشّر في الجمل التّالية الفأرة أو المربع الذي يُمكنك تحريكه باستعمال الأسهم لوضعه فوق الحرف المُناسب. i للانتقال إلى نمط الإدخال مع إبقاء المؤشّر في مكانه. I للانتقال إلى نمط الإدخال وتحريك المؤشّر إلى أول السّطر. o للانتقال إلى نمط الإدخال في سطر جديد بعد المؤشّر أي تحت المؤشّر. O للانتقال إلى نمط الإدخال في سطر جديد قبل المؤشّر (فوق المؤشّر).
  14. يُمكنك أن تنشر عدّة تطبيقات مبنيّة بلغة Ruby وإطار Rails على جهاز واحد بتغيير رقم المنفذ عن كلّ تطبيق، فمثلا هذا ينصت من المنفذ رقم 3000 والثّاني من المنفذ رقم 5000 وهكذا بحيث تتمكن من الوصول إلى التطبيقات في المتصفّح من العناوين التّالية على سبيل المثال: localhost:3000 localhost:5000 ويُمكن أن تقوم بذلك بتشغيل الخادوم في مجلّد كلّ تطبيق على حدة وتخصيص رقم المنفذ، فمثلا إذا أردنا أن ننشر تطبيقين على العنوانين المذكورين أعلاه فيُمكن أن ننفّذ الأمرين التّاليين بواقع أمر واحد في مجلّد كل تطبيق. rails server # المنفذ رقم 3000 الافتراضي rails server -p 5000 # المنفذ رقم 5000
  15. لغة C++ من أقدم لغات البرمجة التي لا زالت تُستخدم في أيامنا هذه، وهي المُهيمنة على تطبيقات سطح الكتب بجانب لغات المتوفرة من شركة مايكروسوفت، تتميز بأنّها لغة عالية المستوى high-level Language، تُستخدم على نحو كبير لتطوير أنظمة التّشغيل، وتعلمها سيساعدك على فهم مبادئ وعمل البرامج بشكل أفضل وأكثر تعمقا وستعينك كذلك على فهم كيفية إدارة الذاكرة من قبل البرامج، بحيث تُمكنك من إدارة ذاكرة البرنامج الذي تُطوره بشكل كامل دون قيود، كما أنّ لغة C++ قد أثّرت على العديد من لغات البرمجة الحديثة المشهورة مثل Java ولغة PHP. اللغة تعتمد على مبدأ البرمجة الكائنية أو Object Oriented Programming ما يجعلها مرنة وسهلة الاستخدام. تُمكنك لغة C++ من إنشاء تطبيقات سطح المكتب ذات أداء عالي وتجاوب سريع وتُعتبر مكتبة Qt من أشهر المكتبات المتاحة لهذا الغرض.
  16. نعم يا صديقي، يُمكن أن تقوم باختصار أوامر الطرفية الطويلة لتُصبح كلمات قصيرة أو حتى أحرفا. وهذا بفضل نظام الأسماء المُستعارة في أنظمة لينكس أو ما يُسمى بـAlias وهي خاصية مُفيدة جدا. يُمكنك أن تُنشئ مثلا اختصارا لأمر تنصيب الحزم: sudo apt-get install ليُصبح كلمة أو حرفا كالتّالي: inst وذلك بتنفيذ الأمر: alias inst='sudo apt-get install' لاحظ بأنّ علامة "=” يجب أن تكون ملتحمة مع الأمر المراد أن يُختصَر، أي أنّه لا يجب عليك أن تضع أي مساحة. عندما تُنفّذ الأمر في الطّرفية يُمكنك أن تعمل بالاختصار إلى أن تُغلق الطرفية، عند فتح الطّرفية من جديد ستجد بأنّ الاختصار لم يعد موجودا. لكي تجعل الاختصار دائما عليك أن تضع الأمر داخل ملف bashrc الموجود في مجلّد المنزل لكن تذكر بأنّه ملف مخفي أي أنّه مسبوق بنقطة. افتح الملف بمُحررك المُفضل، أو يُمكنك أن تنفّذ الأمر التالي داخل مجلّد المنزل لكي تفتحه بمُحرّر nano: nano .bashrc ابحث عن السطر التالي: alias l='ls -CF' وضع أمر الاختصار تحته: alias inst='sudo apt-get install' احفظ وأغلق الملف بتركيبة مفاتيح Ctrl+x، عند إكمال هذه الخطوة، سيكون الاختصار مُتاحا دائما حتى لو أغلقت الطرفية وفتحتها مُجددا.
  17. Back-end أو الواجهة الخلفيّة هو تعريف لمجموع ما يتعلّق بالعمليات التي تتم على الخادوم، ولا تظهر هذه العمليّات للمُستخدم النهائي كالبرمجة، الحماية وما إلى ذلك، يُمكنك تشبيه الواجهة الخلفيّة بمصنع للحواسيب، أنت لا ترى كيف ينظمون المكونات داخل المصنع، وكيفيّة تجميع كل حاسوب وعدد الآلات اللازمة لذلك، وقد تكون على علم بنوعيّة الآلات المُستخدمة كما قد تكون على علم بلغات البرمجة وأطر العمل المُستخدمة في تطبيقات الويب، ولكنك لن تعرف كيف قاموا بالبرمجة إلّا إذا أخبروك (مشروع مفتوح المصدر). في مواقع الويب لا يُمكنك أن تعرف كيف بُرمج الموقع الذي تتصفّحه الآن إلا إذا أخبرك أحد المطورين بذلك وأعطاك بالفعل شيفرة الموقع، عموما العمليات المُنجزة في الواجهة الخلفيّة تتعلّق بالبيانات وكيفيّة تقديمها للمُستخدم وكيفيّة التعامل مع طلب من المُستخدم، فمثلا البحث في الموقع يتم أولا بالحصول على جملة البحث من المُستخدم من خلال نموذج البحث، بعدها يقوم الخادوم بالاستعانة بلغة برمجة (Php, Python, Ruby أو غيرها) ونمط قواعد بيانات (Mysql, Postgresql, MongoDB أو غيرها) بترشيح الجملة المُدخلة ويبحث عن تطابق في قاعدة بياناته، فإن وجد تطابقا قدّمه وإن لم يجد شيئا أرجع معلومة تُفيد بذلك. ومُطوّر الواجهة الخلفيّة هو الشّخص الذي يستطيع القيام بهذه العمليات بالاستعانة بلغة برمجة.
  18. حلقة For ببساطة هي جملة تقوم بتكرار الشيفرة التّالعة لها عددا من المرّات، وأنت (المبرمج) من يُحدّد عدد مرّات التّكرار، فمثلا لنقل أنّك لسبب ما تريد أن تطبع جملة "Hello, World!” 100 مرة، لا يُمكنك أن تقوم بنسخ جملة الطّباعة 100 مرّة لأنّ الأمر سيأخذ الكثير من وقتك، عوضا عن ذلك يُمكنك استعمال حلقة For لتكرار جملة الطّباعة 100 مرّة، انظر المثال: for count in range(1, 101): print 'Hello, World!' هذه القطعة من الشّيفرة كافيّة لطباعة جملة التّرحيب 100 مرّة ولا تتطلّب الكثير من الوقت. يُمكنك كذلك أن تقوم بطباعة مُتغيّر التّكرار (count في هذه الحالة) الذي يحمل قيمة التكرار ويزداد كل مرّة، فمثلا المثال التّالي: for count in range(1, 6): print count سيكون مخرج المثال أعلاه قيما كالتّالي: 1 2 3 4 5 يُمكنك كذلك أن تستعمل حلقة التّكرار For لكي تقوم بالمرور حول قيم قائمة معيّنة: list = ['Hello', 4, 6, 9, 'World!','Hi'] for item in list: print item الشيفرة أعلاه ستطبع جميع مُكونات القائمة list.
  19. نعم يُمكنك أن تستغل إمكانيّة تغيير رقم المنفذ لنشر أكثر تطبيق مبني بـDjango على جهاز واحد، بحيث تستطيع أن تُشغّل مثلا ثلاثة خوادم كل واحد في منفذ معيّن، مع التّركيز على ضرورة أن تكون المنافذ مُتاحة غير مُستخدمة من طرف أي تطبيق آخر. انظر المثال التّالي: python manage.py runserver 0.0.0.0:8000 python manage.py runserver 0.0.0.0:5000 python manage.py runserver 0.0.0.0:3000 في المثال أعلاه شغّلنا ثلاثة خوادم في جهاز واحد الأول على المنفذ 8000 الثّاني على المنفذ 5000 والثّالث على المنفذ 3000، مع ملاحظة بأنّه يجب عليك تنفيذ كلّ أمر داخل مُجلّد التّطبيق المراد نشره، يعني الأمر الأول في مجلّد التطبيق الأول، الأمر الثّاني في مجلّد التطبيق الثّاني والأمر الثّالث في مجلّد التطبيق الثّالث وهكذا... ملاحظة: إذا أردت أن تنشر تطبيقات أخرى على منافذ ذات أرقام صغيرة (مثل المنفذ رقم 80) فعليك أن تنفّذ الأمر بصلاحيات الجذر، فمثلا إذا أردت أن تنشر تطبيقا على المنفذ رقم 80 فعليك إدراج الأمر sudo في البداية: sudo python manage.py runserver 0.0.0.0:80
  20. مرحبا، يُوفّر مُحرّر Vim طريقة جميلة لتحرير الملفات عن طريق تطبيق الأوامر من لوحة المفاتيح، وأنماطه المُختلفة تلبي حاجة المُستخدم في السّرعة والإنتاجيّة، بحيث يرفع عدم استعمال فأرة الحاسوب في زيادة مردوديتك، وإليك قائمة الأنماط مع شرح مُختصر لكل نمط: النمط العادي -Normal mode-: النمط الأول الذي ستلتقيه عند تشغيل المحرر وهنا يُمكن تشغيل الأوامر المسبوقة بنقطتين (:) مثل أمر إظهار ترقيم الأسطر (set number)، ومن هذا النّمط تتمكن من الانتقال إلى الأنماط الأخرى، وتعود إليه بالضّغط على زر Esc من لوحة المفاتيح. النمط المرئي -Visual mode-: يُمكن الانتقال إليه بالضغط على زر v من لوحة المفاتيح، وهو النّمط الذي يُمكنك من تضليل الكلمات وتحريرها بالأوامر الاعتيادية x للحذف أو القص y للنسخ p للصق… نمط الإدخال -Insert mode-: يُمكنك الدّخول إليه بزر i من لوحة المفاتيح النّمط الذي ستقضي فيه معظم وقتك لأنّه النّمط الذي يُمكنك من الكتابة على الملف. نمط الإستبدال -Replace mode-:للانتقال إليه يُمكنك الضغط على الزر R (shift+r) من لوحة المفاتيح، وهو النّمط الذي يُمكنك من الكتابة فوق الكتابة الموجودة مُسبقا واستبدالها بما تريد.
  21. يُمكن أن تنشر تطبيقا مبنيا بلغة روبي وإطار سيناترا بتشغيل الخادوم مع إضافة معامل لتحديد المُضيف وذلك بالأمر التّالي: ruby app.rb -o 0.0.0.0 أو يُمكن أن تقوم بتحديد بيئة الإنتاج عند تشغيل الخادوم. بالأمر: ruby app.rb -e production يُمكن كذلك تغيير رقم المنفذ ليُصبح الرّقم 80 عوضا عن رقم المنفذ 4567 الافتراضي، وذلك كالتّالي: sudo ruby app.rb -p 80 إذا كنت تستخدم مدير نسخ روبي RVM فعليك استبدال sudo بـrvmsudo كالتّالي: rvmsudo ruby app.rb -p 80 لكن تحقق من أنّ المنفذ متاح وأنّ التطبيقات الأخرى لا تستخدمه.
  22. الحصول على العديد من العملاء أمر جيد حقا، ولكن تبعاته صعبة، الأمر الصعب هو اختيار عميل للتعامل معه على المدى البعيد، ويُمكن أن يكون الأمر مُحيّرا جدا خاصّة إن كان عملاءك على قدر متساو من الأهميّة، ونصيحتي أن تسعى إلى البقاء مع العميل الذي ترتاح إليه وإلى العمل معه أكثر، أي أنّك يجب أن تختار العميل الذي يمتلك مشاريع مثيرة للاهتمام، مشاريع تحب العمل عليها، ليس فقط لمُجرّد المال بل لزيادة خبرتك وتعلّم المزيد عن مجالك، كما يجب الحرص على الابتعاد عن العملاء الذين يسببون لك القلق والتوتر على الدوام، وبالطّبع فالعملاء الذين يدفعون أكثر لهم أهميّة أكثر ممن لا يدفع لك ما تستحقه، مع وضع النصيحة الأولى بعين الاعتبار.
  23. إنّ حقيقة أنّك تستطيع جذب العديد من العملاء في أوقات قصيرة أمر ممتاز ونعمة عظيمة، فهناك العديد من المُستقلين الذين لا يجدون إلا عميلا أو عميلين بين فترات كبيرة من الزّمن، ولكن لا تجعل هذا يغرّك فدوام الحال من المُحال كما يقولون، فماذا لو حصلت على تقييم سيء من أحد العملاء الجدد، أو أنّ العملاء الجدد الذين كان من المُحتمل أن يتعاملوا معك قد تعاملوا مع مُستقل مُنافس، لذلك يجب عليك التّفكير في إبقاء العملاء الجدد وتحويلهم إلى أصدقاء وعملاء دائمين، وتذكيرهم بأنّك تهتم لهم وبأنّك مُتحمّس للعمل معهم مجدّدا متى سنحت الفرصة، وحاول أن تتواصل معهم بين الحين والآخر لكي يضعوك بعين الاعتبار ويرجعوا إليك متى كان لديهم مشروع جديد، بحيثُ تكون أوّل من يلتفتون إليه من المُستقلّين للعمل على إنجاز مشاريعهم.
  24. يُمكنك أن تُعدّل تطبيقا مبنيا بإطار العمل Sinatra ليُنصت على المنفذ الافتراضي لبروتوكول HTTP أي المنفذ رقم 80 ببساطة، من خلال إضافة معامل p ثمّ رقم المنفذ 80 كالتّالي: sudo ruby app.rb -p 80 إذا كنت تستخدم مدير نسخ روبي RVM فعليك استبدال sudo بـrvmsudo كالتّالي: rvmsudo ruby app.rb -p 80 تأكّد فقط من أنّ المنفذ متاح وأنّه غير مشغول من طرف تطبيق آخر.
  25. يُمكنك أن تقوم بتشغيل تطبيق مبني بلغة بايثون وإطار العمل Django على المنفذ الافتراضي لطلبات HTTP رقم 80 عوضا عن المنفذ 8000 الافتراضي وذلك عبر تخصيص ذلك عند تشغيل الخادوم كالتّالي: sudo python manage.py runserver 0.0.0.0:80 مع ملاحظة أنّ تشغيل التّطبيقات على منافذ ذات أعداد صغيرة يجب أن يتم بصلاحيات المدير لذلك يجب عليك إضافة sudo في بداية الأمر، ويجب كذلك أن تتأكّد من أنّ المنفذ رقم 80 مُتاح وأنّ التّطبيقات الأخرى لا تستخدمه. ولاحظ بأنّنا قمنا بتشغيل الخادوم على العنوان 0.0.0.0 وبالتّالي ستستطيع أن تصل إلى التّطبيق عن طريق عنوان IP الخاص بجهازك. والذي يُمكن أن تحصل عليه بالأمر ipconfig.
×
×
  • أضف...