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

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

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

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

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

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

    22

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

  1. يُمكنك الانتقال إلى نمط الاستبدال من نمط الإدخال بالضّغط على مفتاح Insert من لوحة المفاتيح، ويُمكنك الانتقال من النّمط العادي -normal mode- إلى نمط الاستبدال -replace mode- بالضّغط على مفتاح Insert من لوحة المفاتيح مرّتين. لكن لا تعتبر هذه الطّريقة فعالة كثيرا خاصّة إذا لم تكن تمتلك الزر Insert على لوحة مفاتيحك. عوضا عن ذلك يُمكنك ببساطة الانتقال إلى نمط الاستبدال بالضّغط على الحرف R (Shift+r) من لوحة المفاتيح وذلك من النّمط العادي -normal mode-. الإجابة المختصرة: من النّمط العادي: للانتقال إلى نمط الاستبدال عليك الضّغط على مفتاح Insert مرّتين. أو كبس الزّر R. من نمط الإدخال: للانتقال إلى نمط الاستبدال عليك الضّغط على مفتاح Insert . ملاحظة: يُمكنك التّغيير بين كل من نمط الإدخال ونمط الاستبدال بالضّغط على زرّ Insert في كلّ مرّة ترغب بالتّغيير بينهما
  2. يُمكن الحصول على العملاء من عدّة مصادر، أول وأهم مصدر هو مواقع العمل الحر مثل موقع مُستقل، فهي موجودة أصلا لربط المُستقلين بالعملاء، وفيها تجد العديد من العملاء الذين يبحثون عن مُستقلين لإنجاز مشاريعهم، ويكفي أن تدخل إلى القسم الذي تُجيد العمل فيه وتُقدّم عرضك على المشاريع الموجودة والتّي تُوافق مهاراتك بالطّبع. وتعتبر الشّبكات الاجتماعية من أهم مصادر العملاء كذلك، وخاصّة المجموعات التّقنية، فهناك يُمكنك المُشاركة بإيجابية في المُجتمعات وتقديم الفائدة للجميع، مع رابط صغير يؤدي إلى موقعك أو حسابك بمواقع العمل الحر. ولا تنس بأنّ السّبيل إلى اكتساب عملاء جدد هو بناء معرض أعمال مُنظّم ومميز، يجعل العميل يُفضّلك على غيرك.
  3. هذا الأمر يحدث كثيرا عند المُستقلين، خاصّة إن كان من شروط العميل أن لا يقل المقال عن عدد معيّن من الكلمات، إليك النصائح التالية والتي أتمنى أن تُساعدك: - ابحث ثمّ ابحث، نحن الآن في عصر المعلومات الجاهزة ولم يعد البحث يكلّف الكثير بل إنّ ضغطة زر واحدة كافية للحصول على أطنان من المعلومات في زمن قياسي. لذلك فإن بدأت بكتابة مقال في مجال معينّ وانقطعت عنك الأفكار فالسّبيل إلى الحصول على المزيد من المعلومات يكمن في البحث عن موضوع مقالتك فبالتأكيد هناك من سبقك في الكتابة عن الأمر، ومن المحتمل جدّا أن تجد معلومات كنت قد غفلت عنها ولم تكتبها في مقالك، فقط ابتعد عن النّسخ واللصق، خذ أفكارا من هذه المقالات، وحوّلها بأسلوبك إلى فقرات تغني بها مقالاتك. - استعن بالمصادر الأجنبيّة، فهي غنيّة بالمعلومات ومتعدّدة، ومن المُفضّل أن تتقن أكثر من لغة، مع الحرص على إتقان اللغة الانجليزية، فهي الرائدة في العالم في أيامنا هذه، وإتقانها أصبح من ضروريات العامل الحر، إذ يجب أن تكون حاضرة في لائحة مهاراتك.
  4. موضع الوسم <script> يؤثّر بطريقة مُباشرة على سرعة تحميل الصّفحة وذلك لأنّ المُتصفّح يتّبع طريقة معينة لتحميل الصّفحة وتقديمها للزائر، بحيث تكون طريقة التّحميل عند المُتصفحات الحديثة كالتّالي: جلب صفحة HTMLتحليل الـHTMLالوصول إلى الوسوم <script> التّي تطلب منه الحصول على ملفّات جافاسكريبت إضافية.يبدأ المُتصفّح بجلب ملفّات جافاسكريبت الخارجية، ويوقف تحليل بقيّة الـHTML إلى حين انتهاء العمليّة.بعد الحصول على الملفّ الخارجي، يُتابع المُتصفّح تحليل بقيّة شيفرات الHTML.لذلك فمن المُفضّل وضع وسوم في أعلى <script> الشّيفرة داخل الوسم <head>. ويتّبع الجميع هذه الطّريقة في أغلب تطبيقات الويب، (يُمكنك التأكد بفحص عنصر صفحات الويب التّي تزورها)، كما توفّر لنا هذه الطّريقة تحميلا سريعا للصّفحة في أغلب المُتصفّحات الحديثة.
  5. مرحبا بك، إنّ تحسين المنتج يكون بمعرفة مُتطلبات العملاء، ومعرفة مدى إعجابهم به وما الجوانب التّي يرغبون بتطويرها وتحسينها. ومن المُهم بذلك أن تكون راضيا عن منتجك وأن تتحقّق من أنّه ذو جودة عاليّة، ومن المُهمّ كذلك أن تتحقّق من أنّ العملاء سعداء باستخدامهم لمنتجك، والسّبيل إلى ذلك يكون بالتّواصل المُباشر معهم وطلب تقييم بسيط لمنتجك، يُمكن كذلك أن ترسل لهم نموذجا لملئه، كما تستطيع أن تنشئ استبيانا على البريد الإلكتروني يحتوي على بضع أسئلة ليُجيب عنها عملاءك. واحرص على ألّا تُضيف العديد من الخصائص والمُميّزات دفعة واحدة، فقد يمنع ذلك سهولة استخدام المنتج، وبالتّالي فقد تفقد بعضا من العملاء. احرص كذلك على أن يكون المنتج مواكبا وحديثا، فمثلا لو كان موقعا إلكترونيا فيجب عليك أن تجعله متوافقا مع الهواتف الذكية، خاصّة وأن قاعدة المُتصفحين من هواتفهم تكبر يوما بعد يوم.
  6. يتوفّر Ubuntu على مُستودعات الحزم التّي تحتوي بدورها على برمجيّة Postgresql ويُمكنك أن تقوم بتنصيبها كالتّالي: أولا قم بتحديث المُستودعات ( لتحصل على آخر إصدارات البرمجيات): sudo apt-get updateولتنصيب برمجية Postgresql يجب عليك تنصيب كلّ من postgresql و postgresql-contrib، ويُمكنك القيام بذلك بتنفيذ الأمر التّالي من الطّرفية: sudo apt-get install postgresql postgresql-contrib أدخل كلمة المُرور إذا طُلبت منك. سيعرض لك الأمر البرمجيات التّي ستُنصّب على جهازك، وسيطلب منك تأكيد التنصيب، اكتب y ثمّ اضغط ENTER لتأكيد العمليّة. سيأخذ منك الأمر بعض الوقت حسب سرعة الاتّصال لديك، لذلك اصبر قليلا. للتأكّد من أنّ كلّ شيء جيد قم بالتّحقّق من نُسخة برمجيّة Postgresql وذلك بالأمر التّالي: psql --versionإذا حصلت على جواب يُشبه السّطر: psql (PostgreSQL) 9.4.5فهذا يعني بأنّ Postgresql منصّبة بنجاح
  7. يُمكنك أن تحرّك مؤشّر الفأرة ببساطة بالضّغط على الرّقم 0 من لوحة المفاتيح، ويُمكنك كذلك الضّغط على المفتاح ^ للوصول إلى أول حرف من السّطر بشرط ألّا يكون مسافة، أي أنّ المؤشر سينتقل مُباشرة إلى العمود الرابع إذا كانت الأعمدة من 1 إلى 3 عبارة عن مسافات بيضاء. يُمكنك كذلك الانتقال إلى أول السّطر والدّخول مُباشرة إلى نمط الإدخال -Insert mode- بالضّغط على الزرّ I (Shift+i).
  8. أصبح بالإمكان العمل مع أكثر من ملفّ بنظام الألسنة Tabs منذ الإصدار السّابع من مُحرّر Vim، لذلك أولا أنصحك بأن تتحقّق من إصدار المحرّر لديك بتنفيذ الأمر التّالي من الطّرفيّة: vim --versionرقم الإصدار مذكور في أول سطر، ويجب أن يكون شيئا كهذا: VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Dec 9 2014 17:36:18) لاحظ الرّقم 7.4، هذا هو رقم الإصدار، لذلك تأكّد من أنّك تملك الإصدار السّابع، إذا لم تكن تمتلك الإصدار السّابع فعليك أن تقوم بتحديث المُحرّر. للعمل مع الألسنة، يُمكنك فتح أكثر من ملفّ بحيث يكون كلّ ملفّ في لسان مُستقل بالأمر التّالي: vim -p f1.txt f2.txt f3.txtللتنقل بين الألسنة، استعمل الأوامر التّالية. للانتقال إلى أول لسان: :tabfirstللانتقال إلى أول لسان: :tablastللانتقال إلى اللسان التّالي: :tabnللانتقال إلى اللسان السّابق: :tabpلعرض الألسنة مع الملفّات المفتوحة فيها: :tabsلإغلاق لسان: :tabclose لإغلاق جميع الألسنة عدا اللسان الحالي: :tabonly لفتح ملفّ جديد (أو تعديل ملفّ متواجد في جهازك) في لسان جديد: :tabedit f5.txtيُمكن كذلك التنقّل بين الألسنة في الوضع العادي (Normal Mode) بالأوامر التّالي: gt للانتقال إلى اللسان التّالي. gT للانتقال إلى اللسان السّابق.
  9. يُمكنك التأكّد من نُسخة Vim لديك بتنفيذ الأمر التّالي من الطّرفية: vim --versionستحصل على الكثير من الأسطر كناتج للأمر، رقم الإصدار يكون في السّطر الأول، ويبدو كالتّالي: VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Dec 9 2014 17:36:18)لاحظ الرّقم 7.4، هذا هوّ رقم الإصدار في Vim. يُمكنك كذلك الحصول على رقم الإصدار بفتح المُحرّر من الطّرفيّة دون فتح أي ملفّ، وذلك بتنفيذ الأمر vim من الطّرفية: vimانظر الصّورة: لاحظ رقم الإصدار: version 7.4.488أمّا إذا كنت ترغب بالحصول على الإصدار من داخل المُحرّر فعليك بتنفيذ الأمر: :versionمُخرجات الأمر أعلاه تكون نفسها مُخرجات الأمر الأول من الطّرفيّة.
  10. يُمكنك فتح أكثر من ملفّ، بحيث يكون كلّ ملفّ في قسم أفقي بالأمر: vim -o f1.txt f2.txt f3.txtيُمكنك فتح أكثر من ملفّ، بحيث يكون كلّ ملفّ في قسم عمودي بالأمر: vim -O f1.txt f2.txt f3.txtوللتّنقل بين أقسام الشاشة فعليك بتركيبتي المفاتيح: CTRL+SHIFT+w+wأمّا إذا كنت ترغب في التّنقل بين الأقسام الأفقيّة والتّحكم في اتّجاه التّنقل فعليك استبدال الحرف w الثّاني بأحد الأسهم في لوحة المفاتيح أو بأحد الأحرف التّالية: k للانتقال للقسم الأعلى CTRL+SHIFT+w+kj للانتقال للقسم الأسفل CTRL+SHIFT+w+jأمّا التّنقل بين الأقسام العموديّة والتّحكم في اتّجاه التّنقل، فعليك كذلك باستبدال الحرف w الثّاني بأحد الأسهم في لوحة المفاتيح أو بأحد الأحرف التّالية: l للانتقال للقسم لليمين CTRL+SHIFT+w+lh للانتقال للقسم لليسار CTRL+SHIFT+w+hلإغلاق الملفّ الحالي: CTRL+SHIFT+cلإغلاق جميع الملفّات والإبقاء على الملفّ الحالي فقط: Ctrl-W o
  11. يُمكن إنهاء الجلسات والاتّصالات ببساطة في Postgresql بإعادة تشغيل الخادم، وللقيام بذلك استعن بالأمر: sudo service postgresql restartيُمكنك إنهاء جميع الجلسات عدا جلسة اتّصالك بـ pg_terminate_backend وذلك وفق الشّيفرة التّالية: SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE -- don't kill my own connection! pid <> pg_backend_pid() -- don't kill the connections to other databases AND datname = 'database_name' ;مع استبدال database_name باسم قاعدة البيانات التّي تتصل بها. قد تواجهك بعض المشاكل إذا كنت تستعمل إصدارا أقدم من الإصدار 9.2، لذلك من المُفضّل أن تُحدّث برمجية Postgresql إلى آخر إصدار. إذا لم تكن ترغب في تحديث برمجيّة Postgresql على جهازك والإبقاء على النّسخة الحاليّة فعليك بتغيير الشّيفرة أعلاه لتُطابق التّالي: SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE -- don't kill my own connection! procpid <> pg_backend_pid() -- don't kill the connections to other databases AND datname = 'database_name' ; الاختلاف هو أن procpid استبدلت بعد الإصدار 9.2 بـ pid.
  12. الطّريقة الأكثر شهرة للانتقال إلى آخر السّطر تكون بالضّغط على زر $ في النّمط العادي -normal mode – والنّمط المرئي -visual mode-، ولكن هناك أيضا طريقة أخرى تكون بالضّغط على الزر End إذا كان مُتوفّرا لديك في لوحة المفاتيح. الجميل في طريقة الزر End هو مقدرتك على استخدامه في جميع الأنماط. ويُمكنك كذلك الضّغط على A (Shif+a) للوصول إلى آخر حرف من السّطر والانتقال إلى نمط الإدخال -insert mode-. للاستزادة: مدخل إلى Vim
  13. يُمكنك فتح ملفين أو أكثر من الطّرفية باستخدام الأمر التّالي: vim f1.txt f2.txt f3.txtمع استبدال أسماء كلّ من f1 f2 f3 بأسماء ملفّاتك. يُمكنك الانتقال بين الملفّات بالأوامر التّالية: للانتقال إلى الملف التّالي: :nللرّجوع إلى الملفّ السّابق: :prevللحصول على قائمة بالملفّات المفتوحة: :lsلإضافة ملفّ آخر (f4.txt كمثال): :n f4.txtللانتقال إلى ملفّ معيّن، يُمكنك تنفيذ الأمر b مع اسم الملفّ المراد الوصول إليه: :b f2.txtللعودة إلى آخر ملفّ قمت بالتّعديل عليه: :b#للاستزادة: مدخل إلى Vim
  14. طريقة الحفظ والمغادرة في Vim تكون بالأمر: :wq!كما يُمكنك أن تُنشئ اختصارا للأمر بوضع السّطر التّالي في ملفّ vimrc الخاص بك. بعد وضع السّطر في ملفّ vimrc والخروج من الطّرفيّة والدّخول إلى Vim من جديد ستصبح قادرا على الحفظ والمغادرة بنقرة على زر F8. map <F8> :wq!<CR>وهناك أيضا طريقة أخرى تعدّ أسرع نسبيا وهي بالأمر ZZ من لوحة المفاتيح، أي الضّغط على Shift ثمّ z ثمّ z. للاستزادة: مدخل إلى Vim
  15. في مُعظم الأوقات لا تستطيع أن تجد ملفّ vimrc لأنّه ببساطة لا يتم إنشاءه بعد تنصيب المُحرّر، لذلك عليك إنشاءه بنفسك، وأفضل مكان لإنشاءه هو مجلّد المنزل لذلك فمن المُفضّل إنشاءه بالأمر التّالي: touch $HOME/.vimrcأمّا إذا كنت ترغب بالحصول على مساره من داخل المُحرّر فعليك أن تستخدم الأمر التّالي، مع ملاحظة أنّ تنفيذ الأمر يجب أن يكون بداخل المُحرّر، وللوصول إلى سطر الأوامر فعليك الضّغط على ESC ثمّ نقطتان (:). :echo($MYVIMRC)ستحصل على المسار الكامل لملفّ vimrc الخاصّ بك. ولتعديله يكفي فتحه بالأمر التّالي (من داخل المُحرّر): :e $MYVIMRC
  16. يُمكنك أن تحصل على رقم الإصدار ببساطة من الطّرفيّة بتنفيذ الأمر: psql --versionأو الأمر (الحصول على بيانات آخر عمود والذي يُمثّل رقم النّسخة): psql --version | awk '{print $NF}'يُمكنك كذلك الحصول على رقم الإصدار من سطر الأوامر الخاصّ بـ Postgresql بالأمر: SELECT version();ويُمكنك كذلك الاعتماد على الاستعلام SHOW server_version; للوصول إلى رقم الإصدار كالتّالي (هذا الاستعلام يجب أيضا أن يُنفّذ داخل سطر أوامر Postgresql): SHOW server_version;
  17. مرحبا، إنّ للتواصل الجيد مع المُستقل فائدة كبيرة، خاصّة وأنّك لا تستطيع مُتابعة العمل ماديّا، ولابدّ من التّواصل الجاد إذا كنت ترغب بالحصول على أفضل النّتائج، كما أنّ جودة العمل محكومة بمدى توضيحك للمُستقل تفاصيل المشروع، والاستفسار عن النّقاط غير الواضحة من حقّك ومن واجب المُستقل إجابتك عنها، لذلك فعليك أن تضبط التّواصل بينكما بمجموعة من الضّوابط، أوّلها أن توضّح للمُستقل المطلوب منه ونتائج العمل التّي تريده، كما يجب عليك أن تكونا ودودا في تعاملك مع المُستقل، ولا تُفرط في الجدية، كما يجب عليك أن تسأله بين الحين والآخر عن أحوال المشروع، ومن المُفضّل وضع أوقات اجتماع توافق أوقات فراغك، عليك أن توضح للمُستقلّ بأنّ المُهمّ هو النّتيجة. ولا تشغل بالك بكلّ كبيرة وصغيرة، إذ يكفي أن تطّلع بين الحين والآخر على الأحوال.
  18. بعد أن تعرّفنا في الدّرس السّابق على طريقة تنصيب بايثون وكيفيّة العمل معها، سنكمل في هذا الدّرس مشوار تعلّم هذه اللغة بتعلّم كيفيّة التّعامل مع البيانات مثل المُتغيّرات وأنواعها كالأرقام وإسناد القيم. ولكن قبل ذلك عليك أن تتعرّف على طريقة دعم اللغة العربيّة، ويجب عليك أن تفهم بعض المُصطلحات المتداولة في مجال البرمجة (والتّي اعتَمدتُ عليها في هذا الدّرس). تذكير: نقوم بتنفيذ الأسطر البرمجيّة مُباشرة من مُفسّر بايثون، لمزيد من المعلومات عن المُفسّر راجع الدّرس السّابق. وللتوسع في لغة بايثون وتعلمها أكاديميًا، ننصحك بالانضمام إلى دورة تطوير تطبيقات باستخدام لغة بايثون التي تقدمها أكاديمية حسوب. دعم اللغة العربية في بايثون قد تواجه خطأ إذا حاولت تنفيذ أمر طباعة جملة "مرحبا بالعالم" مُستخدما حروفا عربية، لذلك يجب عليك أن تكتب السّطر التّالي، قبل كتابة أي أمر يحتوي على كلمات عربية: # -*- coding: utf-8 -*- المصطلحات مخرج Output: تعني الجواب أو النّتيجة الذي يُقدّمها مُفسّر بايثون، فمثلا إذا طلبت من مُفسّر بايثون طباعة كلمة Hello، فستستخدم السّطر التّالي: >>> print "Hello" Hello هنا نُسمّي Hello المُخرج الذي يُرجعه البرنامج (أي نتيجة الأمر). مُتغيّر: وهو الاسم الذي نُطلقه على حرف أو “كلمة” تحمل قيمة مُعيّنة، مثلا: >>> name = "abdelhadi" هنا قُمنا بإنشاء مُتغيّر name وأسندنا له القيمة abdelhadi. وإذا أردنا إظهار القيمة abdelhadi فيكفي أن نكتب اسم المُتغيّر في مُفسّر بايثون: >>> print name كما يُمكن أن نضيف تحّية على الشّكل التّالي: >>> print "Hello " + name تُفسّر الشيفرة أعلاه وتكون مُخرجاتها: Hello Abdelhadi يُمكن أن يحمل المُتغيّر عدّة أنواع من القيم، كالأرقام والنّصوص والأحرف… تعيين القيم يُعتبر تعيين قيمة لاسم معيّن من أهمّ أساسيّات البرمجة، وهذا الاسم معروف في البرمجة بالمُتغيّر، وإليك مثالا على ذلك: >>> x = 4 >>> x * x 16 قمنا في المثال أعلاه بوضع القيمة 4 للمتغيّر x، بعبارة أخرى المُتغيّر x يحمل القيمة 4. بحيث يُمكننا استعمال x عوضا عن 4 في باقي الأسطر في برنامجنا. وبعدها قمنا بالعمليّة الحسابيّة x * x أي 4 * 4 وحصلنا على 16 كنتيجة. إذا حاولت أن تستخدم مُتغيّرًا لم يُعرّف من قبل في برنامجك، فستحصل على خطأ كالتّالي: >>> foo Traceback (most recent call last): File "<stdin>", line 1, in ? NameError: name 'foo' is not defined >>> foo = 4 >>> foo 4 حاولنا أعلاه أن نقوم باستخدام المُتغيّر foo الذي لم نعرّفه أساساً، فحصلنا على رسالة من مُفسّر بايثون مفادها بأنّ المُتغيّر foo ليس موجودا. وبعد تعريفه وتعيين القيمة "4" له أصبح بإمكاننا استدعاؤه بدون أي مشكلة. إذا وضعت قيمة مُغايرة لمتغيّر يحمل مُسبقاً قيمة ما، فالقيمة القديمة تُستَبدَل بالقيمة الجديدة، بحيث يحمل المتغيّر القيمة الجديدة. >>> x = 4 >>> x 4 >>> x = 'hello' >>> x 'hello' في المثال أعلاه، قمنا بتحديد القيمة "4" للمتغيّر x ثمّ بعد ذلك قمنا بتحديد "hello" لنفس المُتغيّر فأصبح x يحمل القيمة hello في نهاية المطاف. ويُمكنك تعيين أكثر من قيمة لأكثر من مُتغيّر في آن واحد. >>> a, b = 1, 2 >>> a 1 >>> b 2 >>> a + b 3 ومُبادلة قيمتي مُتغيّرين (بحيث يحمل المُتغيّر قيمة الآخر) سهل جدّا في لغة بايثون: >>> a, b = 1, 2 >>> a, b = b, a >>> a 2 >>> b 1 عند تعيينِ قيمة في بايثون، تكون الأهميّة للجانب الأيمن قبل الأيسر، بحيث يقوم بايثون بالتّعرّف على القيّم في الجانب الأيمن ثمّ يقوم بتعيينها للمتغيّرات في الجانب الأيسر لعلامة = . إذ ما يقع على يسار علامة = هو المُتغير وما يقع على يمينها هو القيمة. التعليقات تُستعمل التّعليقات في البرمجة لشرح وظيفة سطر معين أو لإعطاء فكرة عن برنامجك لمن يقرأ شيفرته، وتكون التّعليقات مسبوقة بعلامة # إما في سطر مستقل أو في نفس سطر الشّيفرة، وتتميّز بأنّها لا تؤثّر على عمل البرنامج إذ يتجاهلها المُفسّر ولا تُنفّذ، وهي عموما اختيارية، لذا فأنت لست مُجبرا على كتابتها، وإليك مثالاً على التّعليقات: >>> # السّطر التّالي عبارة عن تعيين قيمة لمتغيّر >>> x = 'hello' # هذا السّطر عبارة عن تعيين قيمة لمتغيّر الأرقام لقد تعرّفنا من قبل حول كيفيّة التّعامل مع الأرقام بشكل بسيط. >>> 42 42 >>> 4 + 2 6 تدعم بايثون الأعداد العشريّة كذلك. >>> 4.2 4.2 >>> 4.2 + 2.3 6.5 وتدعم العمليّات المُختلفة مثل الإضافة والفرق وغيرهما من العمليّات الحسابيّة: + إضافة - الفرق * الضّرب / القسمة ** الأس (القوة) % باقي القسمة لنجرّب هذه العمليّات على الأعداد الصّحيحة: # عمليّة إضافة >>> 7 + 2 9 # عمليّة فرق >>> 7 - 2 5 # عمليّة ضرب >>> 7 * 2 14 # عمليّة قسمة >>> 7 / 2 3 # الأس >>> 7 ** 2 49 # باقي القسمة >>> 7 % 2 1 إذا تمعّنت في النّظر ستجد أنّ ناتج قسمة 7 على 2 يُساوي 3 وليس 3.5 وهذا لأنّ الرّمز / يُرجع الأرقام الصحيحة فقط عندما يعمل معها، لننظر مالذي سيحدث إذا جرّبنا نفس الأمر لكن بأعداد عشريّة هذه المرّة: >>> 7.0 / 2.0 3.5 >>> 7.0 / 2 3.5 >>> 7 / 2.0 3.5 يُمكن القيّام بالعمليّات الحسابيّة بالاعتماد على أكثر من عامل: >>> 7 + 2 + 5 - 3 11 >>> 2 * 3 + 4 10 هذا مهمّ جدّا وذلك لفهم كيفيّة تعامل لغة بايثون مع العمليّات الحسابيّة، حيث هناك أولويّات للعمليّات وذلك كالقائمة التّالية، من الأقل أولويّة إلى الأه: + - * / % ** ولفهم ذلك أكثر، إليك هذا المثال: عند تنفيذ العمليّة 2 + 3 * 4 في بايثون فالعمليّة الأولى التّي تُنفّذ هي 3 * 4 ، لأن العامل * أكثر أولويّة من عامل +، وبعد ذلك تضاف القيمة إلى 2. >>> 2 + 3 * 4 14 يُمكننا أن نعتمد على الأقواس () لتحديد أولويّات العمليّات، انظر المثال التّالي: >>> (2 + 3) * 4 20 في المثال أعلاه، قمنا بوضع العمليّة 2+3 بين قوسين لإخبار مُفسّر بايثون بأنّ لهذه العملية الأولويّة ويجب حسابها أوّلا، فإن لم نقم بوضع القوسين لقام المُفسّر بحساب العمليّة 4*3 ثم إضافة العدد 2. جميع العمليّات باستثناء ** يبدأ تطبيقها من اليسار ثمّ اليمين. 1 + 2 + 3 * 4 + 5 ↓ 3 + 3 * 4 + 5 ↓ 3 + 12 + 5 ↓ 15 + 5 ↓ 20 تمارين تمرين 1 ما هي مُخرجات (القيّم التّي سيطبعها) البرنامج التّالي: x = 4 y = x + 1 x = 2 print x, y تمرين 2 ما هي مُخرجات (نتيجة) البرنامج التّالي: x, y = 2, 6 x, y = y, x + 2 print x, y تمرين 3 ما هي مُخرجات البرنامج التّالي: a, b = 2, 3 c, b = a, c + 1 print a, b, c ترجمة -وبتصرف- للكتاب Python Practice Book لصاحبه Anand Chitipothu.
  19. إذا كانت تفاصيل المشروع مُبهمة فمن شبه المُستحلين أن تحصل على من ينجز المشروع، وستلاحظ بأنّ العروض خارج نطاق العمل المطلوب، وقد تحصل على الكثير من الأسئلة من المُتقدّمين للعمل، لذلك عليك اتّباع الخطوات التّالية: - اعرف ما تريده، ماهو الهدف من المشروع؟ مالذي ترغب بالحصول عليه؟ ما هيّ المهارات المطلوبة لإنجاز المشروع؟ - ضع التّفاصيل على شكل نقاط ووضّح للمُستقلّين النّقاط الأهم ثمّ النّقاط المُهمّة، ثمّ الأمورَ الاختيارية. - ضع ملفا يشرح كلّ تفصيل على حدا، لكي لا يكون العرض الخاصّ بك طويلا جدّا بحيث ينفر منه المُستقلون. - من المُفضّل وضع رسم تخطيطي لتفاصيل المشروع، ليكون المشروع واضحا ومفهوما.
  20. يُمكن اختيار مُستقل للعمل على مشروعك بالاعتماد على عدّة عوامل، أوّلها الأعمال السّابقة للمُستقل، إذ عليك إلقاء نظرة على معرض أعمال المتقدّم للعمل على مشروعك، زر موقعه الشّخصي إذا كان يمتلك واحدا، حلّل جيّدا أعماله وانظر إلى تقييم عملائه السّابقين واقرأ تعليقاتهم على العمل المُقدّم لهم، اختر المُستقل الأعلى تقييما، ومن المهم أن تتواصل مع المُستقل قبل قبول عرضه، اسأله عمّا سيقدّمه لك، وقارن ما يعدك به باحتياجاتك، لا تُوظّف مُستقلّا يدّعي بأنّه على علم بكلّ شيء، وأهمّ ما يجب الحرص عليه هو عدم الاعتماد على عامل واحد فقط لاختيار المُستقل، بل ادرس كلّ شيء من جميع النّواحي، واحذر من توظيف المُستقل الذي يُقدم العرض الأرخص، فقد يضيّع وقتك وقد يُقدّم عملا سيء الجودة.
  21. مرحبا بك، إنّ لتوظيف المُستقلّين منافع عدّة، وخاصّة إن كانت شركتك حديثة عهد، فالمُستقل يمتلك عدّة امتيّازات عن المُوظّف العادي، فهو قادر على استغلال وقته أفضل لأنّه دائما ما يكون محكوما بمواعيد محدّدة، وتكون له الحريّة التّامة في اختيار أوقات العمل الأنسب له ممّا يزيد من إنتاجيّته، كما أنّ مواقع التّوظيف عن بعد تستطيع أن تُوفّر لك مُستقلّين محترفين بميزانية مُناسبة، ويُمكنك أيضا أن تختار بين المُستقلين الأكثر تقييما ممّا يضمن لك جودة العمل، كما أنّك لا تحتاج إلى الكثير من المعدّات للحصول على العمل المطلوب، فالمُوظّف العادي يحتاج إلى مكتب وحاسوب وأجهزة أخرى يجب عليك تحمّل تكاليفها. أمّا المُستقل فيكفي تزويده بتفاصيل العمل، والاتفاق بينكما على المبلغ الذي سيحصل عليه بعد إنهاء المشروع والمُدّة اللازمة لذلك.
  22. تُعتبر خدمة Heroku من أسهل الخدمات لنشر تطبيقك على الويب وتستطيع نشر تطبيقك باتّباع الخطوات التّالية: - أوّلا قم بتنصيب جوهرة Heroku على جهازك: gem install heroku- قم بالتّسجيل على الموقع إذا لم تكن مُسجلا. - أنشئ ملفّ config.ru وضع فيه التّالي (مع استبدال myapp باسم التّطبيق ): require "myapp" run Sinatra::Applicationأنشئ التّطبيق في Heroku في الموقع بعد تسجيل دخولك. ثمّ نفّذ الأمر التّالي على جهازك: heroku createارفع التّطبيق باستخدام أداة Git : git push heroku master
  23. يُمكن أن تقوم بذلك عبر الاستعانة بجوهرة builder ولتنصيبها عليك أن تُنفّذ الأمر التّالي: gem install builderبعدها لا تنس أن تستدعيها في تطبيقك: require 'sinatra' require 'builder'الآن يُمكنك بناء تغذية RSS بعد أن تحصل على بيانات الموقع (posts في هذا المثال): require 'sinatra' require 'builder' get '/rss' do @posts = # ...احصل على المُشاركات builder :rss end ثم قم بضبط ملفّ العرض views/rss.builder على النّحو التّالي: xml.instruct! :xml, :version => '1.0' xml.rss :version => "2.0" do xml.channel do xml.title "Liftoff News" xml.description "Liftoff to Space Exploration." xml.link "APP_URL/" @posts.each do |post| xml.item do xml.title post.title xml.link "APP_URL/posts/#{post.id}" xml.description post.body xml.pubDate Time.parse(post.created_at.to_s).rfc822() xml.guid "APP_URL/posts/#{post.id}" end end end endاستبدل APP_URL بعنوان URL الخاص بالتّطبيق.
  24. أولا قم بتنصيب جوهر Sequel على جهازك بالأمر: gem install sequelثمّ استدع الجوهرة في الملفّ مع كل من rubygems و sinatra بالأسطر التّالية: require 'rubygems' require 'sinatra' require 'sequel'استخدم قاعدة بيانات في الذاكرة بسيطة مثل sqlite3: require 'sqlite3' DB = Sequel.sqliteأنشئ جدولا: DB.create_table :links do primary_key :id varchar :title varchar :link endأنشئ فئة النّموذج class Link < Sequel::Model; endويُمكنك الآن أن تُطوّر تطبيقك: get '/' do @links = Link.all haml :links end
  25. يُمكنك أن تستخدم Ohm في تطبيقات Sinatra بالاعتماد على جوهرة ohm التّي يُمكن تنصيبها بالأمر: gem install ohmيجب عليك استدعاءها مع كل من rubygems و sinatra بالأسطر التّالية: require 'rubygems' require 'sinatra' require 'ohm'اضبط Ohm لبيئتك: configure :production do Ohm.connect(:url => ENV["MY_REDIS_URL"]) endأنشئ فئة النّموذج وفهرس Redis : class Post < Ohm::Model attribute :title attribute :body index :title endيُمكنك البدء بالعمل على تطبيقك: post '/post' do Post.create :title => params[:title], :body => params[:body] endالبحث وإرجاع البيانات: get '/posts/:title' do @posts = Post.find(:title => params[:title]) erb :index endملفّ العرض views/index.erb: <% @posts.each do |post| %> <h1><%= post.title %></h1> <% end %>
×
×
  • أضف...