كيف يمكن تنزيل Laravel PHP Framework بإستخدام Composer PHP Dependency Manager

تاريخ النشر : 2014 ,December 15
التصنيف : برمجة | تصميم وتطوير المواقع | كمبيوتر وإنترنت | Leave a Comment
أولا، أنت بحاجة لأن تقوم بتنزيل وتثبيت Composer PHP Dependency Manager على جهازك. اذهب لهذه الصفحة getcomposer.org/doc/00-intro.md واختر النسخة المخصصة لنظام التشغيل OS الذى تعمل عليه، سواء كان Windows أو Linux أو Mac، وقم بتنزيلها وتثبيتها على جهازك وفقا للتعليمات المذكورة بجوار كل نظام تشغيل.
الآن ستحتاج لأن تتأكد من أن Composer قد تم تثبيته على جهازك بنجاح، وللقيام بذلك، افتح برنامج الـ Terminal أو Command Prompt (يفضل أن تستخدم برنامج Git Bash لأن هناك أوامر سنستخدمها لا تعمل على برنامج Command Prompt الخاص بنظام تشغيل Windows، لذلك قم بتنزيل وتثبيت نسخة Git Bash التى تناسب نظام التشغيل الذى تعمل عليه من هنا git-scm.com/downloads) وبعد أن تفتح البرنامج، اكتب فيه كلمة composer ثم اضغط مفتاح Enter على لوحة المفاتيح، فإذا ظهر لك الشكل التالى أو شيئا قريبا منه، فقد قمت بتثبيت Composer على جهازك بنجاح، (قد تختلف بعض التفاصيل لديك، حسب النسخة التى تستخدمها)..
2014-12-15_112438
الخطوتان السابقتان لن تحتاج لأن تقوم بهما فى كل مرة تريد تنزيل وإعداد نسخة من إطار العمل لارافيل Laravel Framework، وإنما ستقوم بهما فى أول مرة فقط، وبعد ذلك ستتبع الخطوات التالية لتنزيل وإعداد Laravel.
1- افتح برنامج Git Bash (أو Terminal) واكتب فيه الجملة التالية لكى تحدد وتذهب إلى المكان الذى تريد حفظ مشروعك البرمجى عليه:
ومادمت تستخدم Laravel Framework إذن فأنت تبنى موقع انترنت بلغة PHP، وبالتالى فأنت تستخدم سيرفر محلى على جهازك لأعمال التطوير، فإذا كنت تستخدم XAMPP كسيرفر محلى مثلا، فسيكون الأمر السابق على الصورة التالية:
2- اكتب الأمر التالى لكى تنشئ مجلد بالاسم الذى ستحدده فى الأمر، وتقوم بتنزيل Laravel بداخله:
أسم المجلد your-project-name هو فقط الذى يمكنك تغييره فى هذا الأمر، والباقى يجب أن يظل ثابتا ويكتب بنفس الطريقة الموضحة. وبعد أن تكتب الأمر اضغط مفتاح Enter على لوحة المفاتيح، وانتظر حتى يقوم Composer بتنزيل Laravel Framework وكل المكتبات اللازمة للعمل معه، ولاحظ أن عملية التنزيل ستستغرق بعض الوقت فى أول مرة، ولكن سيتم الأمر بصورة أسرع بعد ذلك فى كل مرة تحاول فيها انشاء مشروع جديد.
3- اكتب الأمر التالى لكى تذهب إلى مجلد المشروع الذى أنشأته للتو:
أنت الآن بداخل مجلد المشروع الذى أنشأته، ولكى تشاهد محتوياته من ملفات ومجلدات، اكتب الأمر التالى ثم اضغط على مفتاح Enter:
4- لكى تتأكد من أن عملية تنزيل وإعداد Laravel قد تمت بنجاح، افتح برنامج تصفح الانترنت Browser الذى تستخدمه، وبعد أن تتأكد من أن XAMPP يعمل فى الخلفية، اكتب فى المتصفح العنوان التالى  http://localhost/your-project-name/public ، فإذا شاهدت الصورة التالية فمعنى ذلك أنك قد قمت بتنزيل وإعداد Laravel Framework على جهازك بنجاح (لاحظ أنه قد يختلف الشكل بين نسخة وأخرى من Laravel ولكن عموما سيظهر لك ما يفيد بأنك قد وصلت بنجاح)..
2014-12-15_130949

كيف يمكن معرفة الأخطاء الناتجة عن قاعدة البيانات داخل إطار العمل Codeigniter الخاص بلغة PHP؟

تاريخ النشر : 2013 ,October 30
التصنيف : برمجة | Leave a Comment

كنت أحاول أن أنشئ موقع بسيط للغاية (عبارة عن مدونة) بإستخدام إطار العمل Codeigniter، وكنت أعمل على الجزء الخاص بتعديل أو تحديث بيانات تدوينة ما من داخل لوحة تحكم الموقع Back-end، وكان هدفى هو أن تتم عملية تعديل البيانات عن طريق الـ Ajax، لكى لا تتم إعادة تحميل الصفحة من جديد. ومن المفترض أن يكون ناتج عملية تعديل البيانات فى قاعدة البيانات هو النجاح أو الفشل، ليس هناك إحتمال آخر. فإذا نجحت العملية نعرض للمستخدم رسالة تفيد بذلك، وإذا فشلت نعرض له رسالة أخرى تفيد بذلك وتذكر له السبب وراء الفشل.

وهذا هو ما فعلته برمجيا، ولكن عند التجربة وجدت أن رسالة النجاح هى فقط التى تظهر لى عند النجاح فى تعديل البيانات، أما فى حالة الفشل فلا يظهر لى أى شئ. وعندما بحثت عن سبب المشكلة وجدت أنه  لكى نستطيع أن نعرض رسائل الخطأ الناتجة عن قاعدة البيانات داخل Codeigniter فيجب أولا أن نغير القيمة الإفتراضية للعنصر التالى:

الموجود فى ملف الإعدادات الخاص بقاعدة البيانات application/config/database.php  بحيث يأخد القيمة FALSE  بدلا من القيمة الإفتراضية TRUE ، ليصبح فى النهاية هكذا:

أما بالنسبة لأشهر الدوال التى نستطيع من خلالها معرفة الأخطاء الناتجة عن قاعدة البيانات فهما دالاتان هما:

وهى الدالة التى نستطيع من خلالها معرفة رقم الخطأ الحاصل والناتج عن قاعدة البيانات. يمكن مشاهدة قائمة بأرقام وتفاصيل الأخطاء الخاصة بقاعدة بيانات MySQL من هنا.

أما الدالة الثانية فهى:

وهى الدالة التى نستطيع من خلالها معرفة وصف الخطأ الذى حدث، وهى بالطبع أفضل من معرفة رقم الخطأ فحسب.ولكن -مع ذلك- فإن رقم الخطأ له أهمية كبرى فى بعض الأحيان، وهى -مثلا- عندما تريد أن تتخد قرارات برمجية معينة بناء على حدوث خطأ معين، فهنا يجب عليك أن تستخدم رقم الخطأ وليس وصفه، لأن الوصف غالبا ما لا يكون مجردا، وإنما فى معظم الحالات يحتوى على أسماء تتغير من حالة لأخرى، كأن يحتوى -مثلا- على أسم قاعدة البيانات، أو أسم جدول فيها، أو أسم حقل معين فى هذا الجدول، وكل هذه المسميات تتغير من مبرمج لآخر -حسب تفضيلاته-، ومن تطبيق لآخر أو من موقع لآخر.

وآخيرا فإن الدالة التى أنشأتها واستخدمتها لتعديل البيانات فى هذه الحالة هى مايلى:

 

بعض دوال التعامل مع الملفات فى لغة php

تاريخ النشر : 2013 ,August 31
التصنيف : برمجة | 3 Comments

 

هناك العديد من دوال التعامل مع الملفات فى لغة الـ php، سأذكر هنا أشهرها وأكثرها إستخداما، وخصوصا ما يتعلق منها بقراءة محتويات ملف ما أو بإضافة محتويات إليه. سوف أنشئ ملفين لهذا الغرض، الملف الأول سوف يحتوى على الـ class التى ستحتوى على الأكواد الأساسية للتعامل مع الملفات بالشكل الذى نريده، وسوف نسميه File.class.php. والملف الثانى سيحتوى على الكود الذى سنحدد من خلاله ما هى العمليات التى نريد تنفيذها على  الملف، سواء كانت قراءة محتوياته أو الإضافة إليها، وسوف نسميه index.php.

فى الكود السابق أنشأنا class أسمها File وأضفنا بداخلها دالتين فقط. الدالة الأولى هى write التى سنستخدمها لإضافة محتوى إلى ملف ما. والدالة الثانية هى read التى سنستخدمها لقراءة محتوى من ملف ما.

بالنسبة لدالة write، فهى تحتاج لكى تعمل أن نمرر لها وسيطين arguments، الأول file_name$ هو مسار وأسم الملف المطلوب إضافة محتوى إليه، والثانى content$ هو المحتوى المطلوب إضافته. وقبل أن ننشئ اتصالا بالملف الذى سنتعامل معه سيكون من الجيد أولا أن نتأكد من أن هذا الملف موجود ويمكن إضافة محتوى إليه، لأن صلاحيات الملف قد لا تسمح لنا بإضافة محتويات إليه، فإذا كان الأمر كذلك فستظهر لنا رسالة تخبرنا بذلك، والتى سيظهرها الكود التالى الموجود بداخل دالة write:

فإذا لم تظهر لنا رسالة خطأ، فهذا يعنى أن الملف موجود وأنه يمكن إضافة محتوى إليه. وستصبح الخطوات كما يلى على التوالى:

1- فتح الملف عن طريق:

ومن المهم هنا ملاحظة الوسيط الثانى الذى تأخذه دالة fopen فهو الذى سيحدد الحالة mode التى سيتم فتح الملف عليها، فهناك عدة حالات منها: فتح الملف للقراءة فقط ، أو للكتابة فقط، او للقراءة والكتابة معا، وحالات أخرى.. ويمكن مراجعة جميع الحالات من خلال هذه الصفحة.

والحالة mode التى استخدمناها هنا هى الحالة a (والتى ترمز إلى append) والتى تعنى اننا سنفتح الملف لإضافة محتوى إليه فقط، على أن يتم إضافة هذا المحتوى إلى نهاية الملف بعد أى محتوى آخر قد يكون موجود فيه، وبذلك نحافظ على محتوياته الموجودة من قبل (ان وجد). كما أن الحالة a تعنى أن الملف إذا لم يكن موجودا من الأساس فسوف يتم إنشاؤه أولا ثم يتم اضافة المحتوى إليه بعد ذلك.

2- إضافة المحتوى المراد إلى الملف عن طريق:

ولاحظ هنا أننا استخدمنا n\ بعد المحتوى content$ المراد اضافته، وذلك لكى يتم اضافة هذا المحتوى على سطر منفصل فى الملف

3- غلق الملف عن طريق:

وكلمة فتح الملف وغلق الملف لا تعنى اننا سنرى الملف أمامنا على الشاشة، فهو لن يظهر لنا، ولكننا اذا فتحناه بالطريقة العادية فى أى وقت فسوف نجد فيه المحتوى المضاف.

هذا بالنسبة لدالة write، أما بالنسبة لدالة read التى سنستخدمها لقراءة محتويات الملف، فهى تأخذ وسيطا واحدا هو مسار وأسم الملف file_name$ المراد قراءة محتوياته. وكبداية سيكون من الجيد أن نتأكد من أن الملف المراد قراءة محتوياته موجود ويمكن قراءته، وسيتم ذلك عن طريق هذا الجزء من الكود الموجود بداخل الدالة read:

فإذا لم يكن الملف موجودا أو غير قابل للقراءة، فسوف تظهر لنا رسالة تشير إلى ذلك. أما إذا كان موجودا وقابلا للقراءة فسيتم الأمر كما يلى:

1- فتح الملف للقراءة منه فقط عن طريق:

لاحظ هنا أن الوسيط الثانى للدالة fopen قد تغير من a الذى استخدمناه عند الكتابة فى الملف، إلى r الذى سنستخدمه هنا للقراءة فقط من الملف.

2- قراءة محتويات الملف سطر سطر عن طريق:

إننا هنا ببساطة كأننا نقول للمؤشر الذى يقرأ من الملف: إذا لم تكن قد وصلت إلى آخر سطر، إذن فأعد لنا هذا السطر الذى تقف عنده. والمسئول عن إعادة محتوى الملف سطر سطر هو دالة fgets. وبذلك سنظل نحصل على محتويات الملف سطر سطر إلى أن تنتهى. ويمكننا تخزين هذه الأسطر فى متغير واحد file_content$  ونستخدمة دفعة واحدة بعد ذلك كما سيتضح فيما يلى.

3- غلق الملف عن طريق:

4- إعادة محتوى الملف كله الذى سبق تخزينه فى متغير عن طريق:

هذا هو الحال بالنسبة لملف Fils.class.php الذى أنشأناه أولا. أما بالنسبة لملف index.php الذى سنعرض من خلاله كيف سنتعامل مع الملف فهو كما يلى:

لقد أدرجنا ملف الـ class أولا لكى نستطيع ان ننشئ كائن object ونستخدمه، ثم أنشأنا كائن جديد، ثم أنشأنا متغير حفظنا فيه مسار وأسم الملف الذى سنتعامل معه، وذلك من خلال الكود التالى:

الآن نحن نريد أن نضيف إلى الملف تاريخ اليوم والوقت الحالى، سيتم ذلك كما يلى:

لاحظ هنا أننا لم ننشئ ملف test.txt أساسا من قبل، ولكن الدالة التى نستخدمها هى التى ستقوم بإنشائه عندما لا تجده فى الموضع الذى حددناه له والذى حفظناه فى المتغير file_name$ . الآن إذا ذهبت إلى مكان الذى تحفظ فيه ملف index.php فسوف تجد فيه ملف جديد أسمه test.txt وستجد بداخله عندما تفتحه تاريخ اليوم والوقت المسجل على سطر منفصل.

أما بالنسبة لقراءة محتويات هذا الملف فسوف نقرأها كما يلى:

وبمجرد تشغيلك لصفحة index.php فسوف يظهر لك على الفور محتويات ملف test.txt كما تظهر فيه.

كيف يمكن الإنتقال بنعومة إلى أعلى صفحة ويب أو إلى أسفلها أو إلى موضع معين فيها بإستخدام jQuery؟

تاريخ النشر : 2012 ,July 9
التصنيف : تصميم وتطوير المواقع | Leave a Comment

كثيرا ما أحتاج -فى بعض صفحات الويب التى أقوم بإنشائها- إلى الإنتقال بنعومة إلى أعلى الصفحة أو إلى أسفل الصفحة أو إلى موضع معين فيها، عند وقوع حدث معين، مثل الضغط على رابط ما، أو زر ما، أو عند إظهار رسالة ما. وقد وجدت فى jQuery حلا رائعا لذلك، والمدهش أنه حل قصير للغاية، وهو كما يلى:

أولا: الإنتقال إلى أعلى الصفحة بإستخدام jQuery

يمكن الإنتقال بنعومة إلى أعلى صفحة الويب، عند وقوع حدث ما، بإستخدام  الدالة التالية:

 

ثانيا: الإنتقال إلى أسفل الصفحة بإستخدام jQuery

يمكن الإنتقال بنعومة إلى أسفل صفحة الويب، عند وقوع حدث ما، بإستخدام  الدالة التالية:

 

ثالثا: الإنتقال إلى موضع معين فى الصفحة بإستخدام jQuery

يمكن الإنتقال بنعومة إلى موضع معين فى صفحة الويب، عند وقوع حدث ما، بإستخدام الدالة التالية، والتى تستقبل وسيطا واحدا، هو أسم تعريف (id) العنصر الذى سيتم الإنتقال إليه:

 

وفى جميع الحالات السابقة، يمكن تغيير كلمة “slow” بكلمة “fast” أو بكلمة “medium”، كما يمكن تغيير ايهم برقم يعبر عن عدد المللى ثانية الذى سيتم الإنتقال إلى الموضع المحدد خلاله، فإذا وضعنا مثلا رقم 1000 فسوف يتم الإنتقال إلى الموضع المحدد خلال ثانية واحدة، وإذا كان الرقم 5000 فسيتم الإنتقال خلال 5 ثوان، وهكذا.

وكلما قل رقم المللى ثانية تم الإنتقال بشكل أسرع، وكلما زاد الرقم تم الإنتقال بشكل أبطأ. والقيمة الإفتراضية لكلمة “slow” هى 600 مللى ثانية، والقيمة الإفتراضية لكلمة “fast” هى 200 مللى ثانية. وإذا إستخدمنا رقما بدلا من كلمة “slow” فى الدالة السابقة، فيمكن كتابة نفس هذه الدالة كما يلى:

 

كندل Kindle وإخوانه والثورة القادمة فى شكل الكتاب

تاريخ النشر : 2010 ,June 1
التصنيف : آراء وإنطباعات وأمور شخصية | تطوير الذات | قراءات | 3 Comments

kindle-amazonهل حلمت يوما أن تتحرك، فى أى وقت وفى أى مكان، ومعك جميع كتبك التى قرأتها من قبل، أو التى تقرأ فيها حاليا، أو التى تنوى قراءتها مستقبلا؟.. إذن فعليك بـ "كندل Kindle" أو أحد إخوانه.

هل حلمت يوما أن تتحرك، فى أى وقت وفى أى مكان، ومعك جميع المجلات وجميع الجرائد التى تتابعها وتواظب على قراءتها منذ سنوات عديدة مضت، بل وتصلك نسختك من كل مجلة أو جريدة تتابعها، بمجرد صدورها، حتى لو كنت أنت فى الطرف الآخر من الكرة الآرضية؟.. إذن فعليك بـ "كندل Kindle" أو أحد إخوانه.

هل حلمت يوما بكتاب يقرأ لك المحتوى الذى بداخله، إذا شعرت أنت بالإرهاق من القراءة، وأردت إكمال الباقى إستماعا؟.. إذن فعليك بـ "كندل Kindle" أو أحد إخوانه.

هل حلمت يوما أن تستطيع أن تشترى أى كتاب تريده، بأى لغة، ومن أى بلد، وتبدأ فى القراءة فيه، فى أقل من (60) ستين ثانية فحسب؟.. إذن فعليك بـ "كندل Kindle" أو أحد إخوانه.

هل حلمت يوما بكتاب يمكنك الوصول فيه إلى كلمات أو عبارات معينة بسهولة وسرعة فائقة، دون أن تضطر إلى قراءة الكتاب بالكامل للعثور عليها؟.. إذن فعليك بـ "كندل Kindle" أو أحد إخوانه.

هل حلمت يوما بكتاب يمكنك أن تتحكم فى حجم الخط المطبوع به، وتقوم بتكبيره أو تصغيره حتى يلائمك ويريح عينيك أثناء القراءة؟.. إذن فعليك بـ "كندل Kindle" أو أحد إخوانه.

هل حلمت يوما بكتاب يقدم لك تعريفا لكل لفظ أو مصطلح لا تعرف معناه، عندما تشير إليه، أو أن يترجمه لك إلى لغتك؟.. إذن فعليك بـ "كندل Kindle" أو أحد إخوانه.

هل حلمت يوما أن يكون بمقدورك الحصول مجانا على نسخة أخرى من كل كتاب اشتريته فيما مضى، ثم تخلصت منه، أو ضاع منك، أو تلف لأى سبب من الأسباب. ليس هذا فحسب، بل وتحصل على نسخة تحتوى على كل الهوامش والشروحات والتعليقات التى كتبتها أنت بنفسك على النسخة المفقودة أو التالفة؟.. إذن فعليك بـ "كندل Kindle" أو أحد إخوانه.

هل حلمت يوما أن تنخفض أسعار الكتب التى تشتريها إلى النصف تقريبا أو ربما أكثر؟.. إذن فعليك بـ "كندل Kindle" أو أحد إخوانه.

هل حلمت يوما أن تمتلك مجانا نسخة من كل كتاب سقطت عنه حقوق الطبع والتأليف، بسبب مضى المدة المقررة قانونا لذلك؟.. إذن فعليك بـ "كندل Kindle" أو أحد إخوانه.

هل حلمت بيوم يتوقف فيه قطع الأشجار وتدمير الغابات من أجل صناعة الورق الذى تطبع عليه الكتب والصحف والمجلات ؟.. إذن فعليك بـ "كندل Kindle" أو أحد إخوانه.

ولكن ماهو "كندل Kindle" ومن هم إخوانه؟!! كندل Kindle هو "القارئ الآلى" الأشهر ،وربما الأكثر إنتشارا فى السوق حاليا، الذى أنتج موقع أمازون amazon.com الجيل الأول منه، وأطلقه داخل الولايات المتحدة فى نوفمبر 2007، أما إخوانه فهم القارئات الآلية المشابهة التى أنتجتها شركات أخرى، بعضها قبل كندل Kindle أمازن نفسه بعدة سنوات، ولكنها لم تشيع أو تنتشر إلا بعد ظهور كندل Kindle ومعرفة الناس به، نتيجة حملة التسويق والترويج الضخمة التى جرت له.

إذن فـ "كندل Kindle" هو "قارئ آلى"، حسنا.. ولكن ماهو أصلا القارئ الآلى؟!! القارئ الآلى e-Reader هو جهاز أنتج أساسا ليستخدم فى قراءة الكتب الإليكترونية، ثم تطور الأمر وأصبح يستخدم كذلك فى قراءة الصحف الإليكترونية، والمجلات الإليكترونية، والمستندات الشخصية ومستندات العمل الإليكترونية، والمدونات الإليكترونية، وكذلك الدخول وتصفح بعض مواقع الأنترنت، وتشغيل ملفات الموسيقى، والاستماع للكتب الصوتية.

وكان يطلق على القارئ الآلى فى البداية، قارئ الكتب الأليكترونية e-Book Reader، ولكن لأنه لم يعد يقتصر على قراءة الكتب الإليكترونية فحسب كما ذكرنا، فقد صار من الأنسب تسميته بالقارئ الآلى e-Reader فقط.

والقارئ الآلى يمكنه أن يخزن لك عدد رهيب من الكتب والصحف والمجلات والمستندات، التى لن تجد الوقت لكى تقرأها كلها، حتى ولو لم يكن لديك شئ آخر تفعله فى الحياة غير القراءة، وحتى لو عشت مائة عام. يكفى أن تعرف أن أقل مساحة تخزين لقارئ آلى موجود فى السوق الآن، تستطيع ان تحفظ مايقرب من 3500 كتاب، وهناك قارئات آلية أخرى يمكنها تخزين أضعاف أضعاف هذه الكمية من الكتب.

والقراءة من على شاشة القارئ الآلى، تختلف تماما عن القراءة من على شاشة الكمبيوتر أو التليفون المحمول. لأن القارئ الآلى يستخدم تقنية الحبر الإليكترونى E-Ink، التى تجعل شاشته تعرض النص بدقة لا تختلف كثيرا عن دقة الحبر على الورق الطبيعى. كما أن شاشة القارئ الآلى تستخدم (16) درجة من درجات اللون الرمادى لعرض المحتويات، بما يؤدى لعرضها بوضوح شديد، وهو ما يجعل قراءة الكتب والمجلات والصحف الإليكترونية على القارئ الآلى أمرا مريحا، على عكس القراءة من على شاشة الكمبيوتر أو التليفون المحمول.

أما حجمه، فلا أجد أفضل من عبارة "سيدهشك صغر حجمة" التى كنت أسمعها فيما مضى، فى أحد إعلانات التليفزيون. فأنت إذا قارنت بين حجم القارئ الآلى، وبين ما يقدمه لك من منافع، فـ "سيدهشك صغر حجمة" فعلا. فمثلا سبعة من أفضل عشرة قارئات آلية فى السوق سنة 2010 (وفقا لبحث أجراه موقع toptenreviews.com)، كانت مساحة شاشة كل منها 6 بوصة فقط، ووزن كل منها يتراوح بين 250 و 300 جرام فقط، أما أبعاد كل منها فكانت أقل من (20سم طول) و (13سم عرض) و (1سم سمك). ومع ذلك –والمدهش أيضا- أن بطاريته يمكنها أن تعمل (14) يوما متصلة، دون أن تحتاج إلى شحن، إذا تم إستخدامه فى القراءة فقط، لأنه لا يستهلك من البطارية شيئا أثناء القراءة، إلا عند قلب الصفحة والانتقال إلى صفحة أخرى.

وسيؤدى إنتشار القارئ الآلى مستقبلا، وإستخدامه على نطاق واسع، إلى الحصول على الكتب بأسعار منخفضة، لأنه لن تكون هناك تكلفة ورق أو طباعة أو نقل أو تخزين أو شحن، ولن يكون هناك وسطاء بينك وبين الناشر، بل وربما يختفى الناشر نفسه مستقبلا، ويقوم المؤلفون بنشر كتبهم إليكترونيا بأنفسهم. تخيل كيف يمكن أن ينخفض سعر الكتاب بسبب كل ذلك.

وتخيل كذلك كيف سنحافظ على البيئة، وكيف ستعود إلى طبيعتها ويختفى التلوث، لأننا سنقلل إلى أقصى درجة من عمليات قطع الأشجار، التى نحتاجها للطباعة على الورق المصنوع منها. فضلا عن أنه عندما ينخفض أو لا يكون هناك نقل أو شحن، فستقل العوادم التى تخرج من السيارات والسفن والطائرات التى تستخدم فى عملية النقل والشحن.

وتخيل سهولة تحديث بيانات الكتب، وتصحيح الأخطاء التى قد تظهر فيها، فى ثوانى وبضغطة زر، بدلا من الأنتظار شهور وربما سنوات لحين صدور طبعة ثانية يتم التصحيح فيها.

وتخيل كيف يمكن أن تصبح خاصية "أقرأ لى" الموجودة فى قارئ آلى مثل "كندل Kindle" مثلا، مفيدة لضعاف النظر أو فاقدى البصر، حيث يمكنهم أن يستمعوا لجميع الكتب المخزنة لديهم على الجهاز، وكذلك لجميع الصحف والمجلات التى تصلهم على الجهاز فور صدورها. وكيف يمكن أن يفيدهم ذلك فى دراستهم، عندما تكون جميع الكتب الدراسية المقررة عليهم موجودة على القارئ الآلى معهم، يستمعون إليها وقتما يحبون، ودون الحاجة لوجود أحد يقرأ لهم دروسهم. وأثناء القراءة يقوم كندل Kindle من تلقاء نفسه، بقلب كل صفحة ينتهى من قراءتها، بل ويتذكر آخر صفحة وصل إليها فى القراءة السابقة، ويبدأ منها. ويمكن ضبطه لتسريع عملية القراءة، أو تبطيئها، كما يمكن الاختيار بين أن يكون صوت القارئ ذكر أو أنثى.

والقارئ الآلى يمكن وصله بسهولة بأى جهاز كمبيوتر، حيث سيظهر على الفور وكأنه وحدة تخزين خارجية، مثل الفلاش ميمورى، وهذا يعني أنه سيعمل على أي نظام تشغيل بدون أي مشاكل وبدون أي إعدادات مسبقة، ولا حاجة لتثبيت أي شيء على الكمبيوتر قبل وصل القارئ الآلى به. وعند وصله بالكمبيوتر يمكن الدخول إليه بسهولة، للنقل إليه أو الحذف منه، ودون الحاجة لتثبيت أى برامج من أى نوع.

أما طلبة المدارس والجامعات فسيكون بإمكانهم الاستغناء عن جميع الكتب الدراسية، والاكتفاء بالقارئ الآلى، يحملونه معهم فى أماكن الدراسة، ويذاكرون منه فى البيت وفى خارج البيت. ولن يحتاجوا لحمل حقائب تقصم ظهورهم وتسبب لهم تشوهات فى أجسامهم. أما على المستوى القومى، فستوفر الدولة تكاليف طباعة ونقل وتخزين الكتب الدراسية، لتستغلها فى أمر آخر أكثر أهمية، وستتمكن من تحديث الكتب وتغيير محتواها بما يواكب العلوم الحديثة فورا وبسرعة فائقة.

ويوفر لنا القارئ الآلى "كندل Kindle" مثلا، أن ندخل منه على موقع أمازون، ونشترى ما شئنا من كتب، من قسم الكتب الإليكترونية، ونقوم بتنزيله ونبدأ فى القراءة فيه فى أقل من ستين ثانية فحسب. بل ويوفر لنا الموقع أن نقوم مجانا بتنزيل وقراءة أجزاء من الكتاب تصل إلى فصول كامله أحيانا، قبل أن نشتريه، لنرى إن كان هو الكتاب الذى نريده أم لا.

ومن الأمور الرائعة التى يقدمها لنا القارئ الآلى، القدرة على البحث عن كلمات أو عبارات معينة فى الكتاب الذى تقرأ فيه، أو حتى فى جميع الكتب المخزنه عليه، والعثور عليها وتظليلها فى المواضع التى جاءت فيها بسرعة فائقة. تخيل مثلا أنك باحث أو طالب تحضر رسالة ماجيستير أو دكتوراه، وأن لديك قائمة ضخمة من الكتب والمراجع التى ستعتمد عليها فى إتمام بحثك أو رسالتك، ثم تخيل كيف أصبح بمقدورك أن تصل فى ثوانى إلى جميع المواضع، فى جميع هذه الكتب والمراجع، التى وردت فيها كلمة أو مصطلح أو عبارة معينة، وكيف يمكن أن يوفر عليك ذلك شهور وربما سنوات كنت ستقضيها فى هذا البحث. وقس على ذلك الكثير والكثير.

وإذا كنت تقرأ فى كتاب على القارئ الآلى، وقابلتك كلمة أو مصطلح لا تعرف معناه، فيكفى أن تشير إليها فحسب، لتظهر لك قائمة فيها كل المعانى المحتملة لهذه الكلمة، ومستقبلا سيترجمها لك القارئ الآلى إلى لغتك، أو إلى أى لغة أخرى تختارها.

ومن الأمور الرائعة الأخرى التى يقدمها لنا القارئ الآلى، القدرة على التحكم فى حجم الخط، وتكبيره أو تصغيره حسب الحاجة. تخيل كم هى مفيدة هذه الخاصية لضعاف البصر، بل وكم هى مفيدة لراحة العين أثناء القراءة لسليمى البصر أنفسهم.

أنت فى الأحوال العادية، كنت تشترى كتاب ما، ثم بعد أن تقرأه ربما تتخلص منه، أو ربما يضيع منك، أو ربما يتلف لأى سبب، فإذا أردت أن تقرأه مرة أخرى، فسيكون عليك أن تذهب لتشتريه مره أخرى. أما الآن ومع القارئ الآلى، فقد تغير هذا المفهوم، لأن الكتاب الأليكترونى الذى ستشتريه مره، سيظل ملكا لك إلى الابد، حتى لو تخلصت من النسخة التى معك، أو ضاعت منك، أو تلفت لأى سبب. لن تحتاج إلا لأن تدخل مره أخرى على الموقع الأليكترونى الذى اشتريت منه الكتاب، لتعيد تنزيل نسخة أخرى منه مجانا، ليس هذا فحسب بل أن النسخة التى ستعيد تنزيلها –وهذا هو المذهل- ستحتوى على جميع التعليقات والشروحات التى سبق وكتبتها أنت بنفسك على النسخة المفقودة, تخيل!!! هذا أمر حادث فعلا الآن مع قارئ آلى مثل "كندل Kindle" وموقع أمازون.

وإذا لم تكن تريد أن تدفع لشراء كتب جديدة، فيمكنك أن تستمتع مجانا بتنزيل وقراءة جميع الكتب التى سقطت عنها حقوق الطبع والتأليف بسبب مضى المدة المقررة قانونا لذلك، والتى ستجد من بينها الكثير من الكلاسيكيات المعروفة.

وهناك ألاف الكتب المسموعة، التى يمكنك تنزيلها من الأنترنت مجانا، والاستماع إليها من خلال القارئ الآلى، ولكن هذه العملية ستحتاج منك أن تنزل هذه الكتب المسموعة على الكمبيوتر أولا، ومن ثم تنقلها من الكمبيوتر إلى القارئ الآلى. وما ينطبق على الكتب المسموعة ينطبق كذلك على الموسيقى والأغانى، بل وأكثر، لأنك يمكنك أن تشغل موسيقى هادئة فى الخلفية على القارئ الآلى وأنت تقرأ فيه.

وأخيرا بمقدورك أن تحتفظ على قارئك الآلى بمستنداتك الشخصية، أو مستندات العمل، وتأخذها معك أينما ذهبت، ويمكنك أن تنقلها بنفسك من على الكمبيوتر إلى القارئ الآلى من خلال وصلة USB، على أن تكون هذه المستندات بإحدى الصيغ التى يتعامل معها ويفهمها قارئك الآلى. وهناك قارئات آلية مثل "كندل Kindle"، لكل جهاز منهم عنوان بريد أليكترونى (إيميل) فريد، يمكنك أن ترسل إليه المستندات التى تريد تخزينها على "كندل Kindle"، وسيقوم هو بتحويلها إلى واحدة من الصيغ التى يتعامل معها ويفهمها، ويخزنها لديه، بحيث يمكنك الوصول إليها والتعامل معها فى أى وقت.

هذا هو القارئ الآلى، وما يقدمه فعلا الآن، وهذا هو ما بدأ يكون عليه شكل الكتاب الآن، وما سيكون عليه فى المستقبل، ويجب علينا أن نستعد للتعامل مع هذا الأمر من الآن، وأن ننتهز كل الفرص المتاحة و الممكنة لإستغلال هذه التقنية (الحلم) والاستفادة منها إلى أقصى درجة ممكنة.

ولا يعنى هذا أن الكتاب الورقى سيختفى من الوجود. إطلاقا، لن يختفى الكتاب الورقى أبدا، وسيظل له محبيه ومريديه، وأنا منهم، بل وربما كنت من أشد الناس تطرفا فى حب الكتاب الورقى، ولا أستطيع تخيل إختفاؤه. ولكن يجب التفرقة بين ما يستحق الطباعة لأنه سيساهم فى تشكيل الحضارة البشرية بأى شكل، وبين ما يطبع ولافائدة من ورائه. ففى ظل وجود القارئ الآلى، ينبغى (فى رأيى) وقف طباعة المجلات والصحف والكتب الدراسية تماما، والاستعاضة عنها بالنسخ الإليكترونية التى يمكن أن يتعامل معها القارئ الآلى.

كيف يمكن نقل محتويات مدونة تعمل بنظام WordPress إلى مدونة تعمل بنظام Blogger

تاريخ النشر : 2010 ,March 3
التصنيف : كمبيوتر وإنترنت | 3 Comments

Wordpress to Bloggerأردت أن أحتفظ بنسخة إحتياطية من أرشيف مدونتى هذه، التى تعمل بنظام ووردبرس WordPress، فى مدونة قديمة لى تعمل على بلوجر Blogger. وكنت أحسب أن المسألة سهله وبسيطة ويمكن تنفيذها بسرعة من داخل Blogger نفسه. وذلك عن طريق الإتصال بهذه المدونة وإستيراد محتوياتها من داخل نظام Blogger، تماما كما هو الحال عندما نريد إستيراد محتويات مدونة تعمل بنظام Blogger. من داخل نظام WordPress. فقد كنت على يقين من أن Blogger لابد يوفر أداة تقوم بذلك. ولكن خاب أملى عندما بحثت فيه ولم أجد مثل هذه الأداه.

وإنما وجدت فيه أداه تستورد إليه المحتويات إذا كانت محفوظة فى ملف من نوع معين. فحاولت أن أجربها على الملف الذى صدرته من داخل WordPress، وحفظته على الكمبيوتر لدى، ولكن Blogger للأسف لم يقبله. وعندما بحثت على الأنترنت عن حل لهذه المشكله، وجدتها مشكلة شائعة، وقابلها كثيرون قبلى. وكان أفضل حل عثرت عليه وطبقته ونجح معى، هو الأداة التى يوفرها موقع wordpress2blogger.appspot.com، والتى تحول ملف المحتويات الذى يتم تصديره من داخل WordPress، إلى ملف صالح لإن يتم إستيراده من داخل Blogger. و الموقع يحتوى على الخطوات اللازمة لعمل ذلك بالتفصيل.

حل لمشكلة إختفاء قائمة نظم التشغيل المثبتة على الكمبيوتر بعد تثبيت Windows 7 عليه

تاريخ النشر : 2010 ,February 17
التصنيف : كمبيوتر وإنترنت | 7 Comments

Windows 7 Logoواجهتنى مشكلة منذ عدة أيام، عندما قمت بتحميل نظام التشغيل الجديد Window 7 على جهازى. فقد صار الجهاز يفتح عليه مباشرة، ويعمل به، دون أن يعرض لى (كما كان يفعل دائما) قائمة بنظم التشغيل المثبتة على الجهاز، لأختار من بينها النظام الذى أريد أن أعمل عليه.

فقبل تثبيت Windows 7 على الجهاز، كان مثبتا لدى (3) نظم تشغيل مختلفة، هى Windows XP، و Windows Vista، و Linux Ubuntu. وكنت أتنقل فيما بينها بسهولة، بسبب القائمة التى كان يعرضها أمامى الكمبيوتر فى بداية تشغيله، وفيها أسماء النظم الثلاثة، ويتيح لى اختيار النظام الذى أريد أن أعمل عليه من بينها بسهولة. وكنت أخصص قسم Partition مستقل لكل نظام تشغيل. وقررت أن أزيل نظام التشغيل Windows XP نهائيا، لأننى لم أعد أستخدمه، وأثبت بدلا منه، وعلى نفس القسم، نظام التشغيل الجديد Windows 7.

بحثت على الأنترنت، عن حل لهذه المشكلة، و استغرف البحث حوالى ثلاث ساعات، تنقلت خلالها بين عدد كبير جدا من المواقع والمنتديات، دون أن أحصل من أى منها على إجابة شافية، أو فائدة تذكر. والغريب أننى لم أستغرق كل هذا الوقت من قبل فى البحث عن حل لمشكلة تتعلق بالكمبيوتر. ولكنى أيضا أكتشفت أن نفس هذه المشكلة واجهت عدد كبير جدا من المستخدمين حول العالم، و أنهم هم أيضا يبحثون عن حل لها.

وفى نهاية بحثى وصلت إلى منتدى موقع Cnet الشهير، وعثرت فيه على سؤال حول نفس مشكلتى، وربما بنفس التفاصيل، وعثرت فى الردود على رد فى نصف سطر أو أقل، يقول صاحبه لصاحب السؤال أن يجرب برنامج أسمه EasyBCD. فقررت –كمحاولة أخيرة- أن آخذ بالنصيحة، وأجرب هذا البرنامج، لعله يحل المشكلة.

بحثت عن برنامج EasyBCD على الانترنت، ووجدته ونزلته من موقعه الرسمى www.neosmart.net. وهو بالمناسبة برنامج مجانى. وقد نجح تماما فى أن يعيد لى إمكانية إختيار نظام التشغيل الذى أريده عند تشغيل الكمبيوتر، كما كان الامر تماما قبل تثبيت Windows 7. وسأورد فيما يلى أربعة صور تعرض الخطوات التى قمت بها فى البرنامج لحل المشكلة.

الصورة الأولى: عبارة عن واجهة البرنامج الرئيسية التى واجهتنى عندما قمت بتشغيله. وكان مدرجا فيها بيانات نظام التشغيل Windows 7 فقط، وليس فيها ذكر لنظم التشغيل الأخرى المثبتة على الجهاز، مثلها مثل Windows 7.

1-EasyBCD-View-Settings-before

الصورة الثانية: توضح كيف قمت بإضافة نظام تشغيل Windows Vista المثبت لدى على الكمبيوتر، لكى يظهر بعد ذلك مع Windows 7 فى قائمة واحدة عند بدء التشغيل، يمكننى أن أختار منها النظام الذى أريده. والخطوات التى قمت بها مرقمة من 1 حتى 5، أما رقم 6 فهو يشير إلى المكان الذى من المفترض أن يظهر فيه أسم الويندوز المضاف بعد أداء الخطوات من 1 إلى 5. مع ملاحظة أن الخطوة رقم 3 ستكتب فيها الأسم الذى ترغبة لإصدار الويندوز الذى ستضيفه (فى حالتى كان Windows Vista). وفى الخطوة رقم 4 ستختار حرف القسم Partition المثبت عليه الويندوز الذى تضيفه (فى حالتى كان D).

2-EasyBCD-Add-Remove-Entries

الصورة الثالثة: توضح الخطوات التى قمت بها لتحديد نظام التشغيل الإفتراضى. أى نظام التشغيل الذى يجب أن يفتحه الكمبيوتر ويعمل به إذا لم أختر أنا -من قائمة تحميل البداية Bootloader-، نظام تشغيل آخر خلال وقت محدد (30 ثانية غالبا، يمكن زيادتها أو تقليلها من نفس هذه النافذة من البرنامج).

3-EasyBCD-Change-Settings

الصورة الرابعة والأخيرة: توضح كيف تمت إضافة بيانات نظام التشغيل Windows Vista فى نافذة البرنامج الأولى (الصورة الأولى)، إلى جوار بيانات نظام تشغيل Windows 7 التى كانت موجودة من البداية.

4-EasyBCD-View-Settings-after

تدوينات سابقة »



رب هب لى شجاعة لتغيير الأشياء التى أستطيع تغييرها، و سكينة لقبول الأشياء التى لا أستطيع تغييرها، و حكمة لمعرفة الفارق بينهما.
سان فرانسيز