لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 04/03/16 في كل الموقع
-
سنعرض في هذا الدرس كيفية تثبيت إطار عمل Laravel وطريقة إعداده ثم نكتشف المجلدات المكوِّنة للإطار. هذا الدرس جزء من سلسلة تعلم Laravel والتي تنتهج مبدأ "أفضل وسيلة للتعلم هي الممارسة"، حيث ستكون ممارستنا عبارة عن إنشاء تطبيق ويب للتسوق مع ميزة سلة المشتريات. يتكون فهرس السلسلة من التالي: مدخل إلى Laravel 5. تثبيت Laravel وإعداده على كلّ من Windows وUbuntu. (هذا الدرس) أساسيات بناء تطبيق باستخدام Laravel. إنشاء روابط محسنة لمحركات البحث (SEO) في إطار عمل Laravel. نظام Blade للقوالب. تهجير قواعد البيانات في Laravel. استخدام Eloquent ORM لإدخال البيانات في قاعدة البيانات، تحديثها أو حذفها. إنشاء سلة مشتريات في Laravel. الاستيثاق في Laravel. إنشاء واجهة لبرمجة التطبيقات API في Laravel. إنشاء مدوّنة باستخدام Laravel. استخدام AngularJS واجهةً أمامية Front end لتطبيق Laravel. الدوّال المساعدة المخصّصة في Laravel. استخدام مكتبة Faker في تطبيق Laravel لتوليد بيانات وهمية قصدَ الاختبار. يتكون جانب التثبيت في هذا الدرس من جزأين، الأول لنظام تشغيل وندوز وسيكون الاعتماد فيه على برنامج Laragon؛ أما الجزء الثاني فهو موجَّه لتوزيعة لينكس Ubuntu 14.04. وقع الاختيار على Laragon لسهولة العمل عليه إذ يأتي مضمَّنا بإطار عمل Laravel ولا يتطلب سوى إعدادات يسيرة، كما أنه يوفر واجهة أوامر Shell تتيح تنفيذ بعض أوامر Linux. يغطي الدرس المواضيع التالية: متطلبات تثبيت Laravel تثبيت Laravel باستخدام Composer التحقق من نجاح تثبيت Laravel بنية المجلدات في Laravel إعداد مشروع عمل جديد في Laravel متطلبات تثبيت Laravel يجب قبل البدء في تثبيت Laravel التأكد من توفر العناصر التالية: خادوم ويب (Apache). الإصدار 5.5.9 من PHP لتثبيت الإصدار 5.2 من Laravel. قاعدة بيانات (MySQL). أداة Composer. تفعيل الوحدات المطلوبة على كلّ من PHP (وهيّ OpenSSL، PDO ،Mbstring وTokenizer) وتعليمة mod_rewrite على Apache . بيئة تطوير IDE (اختياري). تتناول الفقرات التالية آلية تثبيت هذه العناصر على كل من نظام تشغيل Windows و توزيعة Ubuntu 14.04. ملحوظة: سنعتمد في هذه السلسلة على الإصدار 5.2 من إطار العمل Laravel. قد توجد اختلافات طفيفة مع الإصدارات اللاحقة؛ إلا أن المبدأ العام هو نفسه. تهيئة بيئة العمل على Windows توجد برامج عدة تمكن من الحصول على بيئة تطوير Apache PHP MySQL على Windows ومن أشهرها XAMPP وWAMP. يوجد أيضا خيار آخر وهو برنامج Laragon الذي يتضمن خدمات أخرى إضافة للثلاثة المذكورة، من بينها أداة Composer لإدارة الاعتماديات Dependencies والتي تسهل من تثبيت Laravel وإنشاء مشاريع تعمل عليه كما سنرى لاحقا. تثبيت Laragon نبدأ بتنزيل برنامج Laragon من الموقع الرسمي ثم تثبيته. اختر أثناء التثبيت مجلد عمل Laragon: سيقترح عليك المثبِّت تفعيل إنشاء المضيفات الافتراضية Virtual hosts تلقائيا. تمكّن هذه الميزة من إنشاء مضيف افتراضي لكل مجلد يُنشأ ضمن أصل المستند Document root (أي \C:\laragon\www في حالتنا). يعني هذا أنه عند إنشاء مجلد باسم wordpress على المسار \C:\laragon فإن مضيفا افتراضيا باسم wordpress.dev يحيل إلى هذا المجلد سيُعد تلقائيا. نكمل عملية التثبيت: بإكمال تثبيت Laragon نكون قد ثبّتنا كلّا من خادوم ويب Apache، قاعدة بيانات MySQL وأداة إدارة الاعتماديات Composer. نشغل الخدمات بالضغط على زر Start All. تظهر الخدمات المشغَّلة (خادوم ويب Apache وقاعدة بيانات MySQL) في الواجهة الرئيسية للبرنامج. يمكننا الآن إنشاء مشروع Laravel للعمل عليه. سنستخدم سطر الأوامر لهذا الغرض. توجد إمكانية إنشاء مشروع من واجهة البرنامج بالذهاب إلى قائمة: Menu -> Laravel -> Create project -> Laravel 5 اضغط على زر Shell لإظهار سطر الأوامر. تبدو واجهة سطر الأوامر على النحو التالي: إنشاء مشروع Laravel باستخدام أداة Composer تُستخدَم أداة Composer لإدارة الاعتماديات في برمجيات PHP. يقوم مبدأ عملها على التصريح بالمكتبات والعناصر اللازمة للمشروع وستتولى الأداة تثبيتها وإدارة تحديثاتها. اكتب الأمر التالي في نافذة سطر الأوامر: composer create-project --prefer-dist laravel/laravel larashop "5.2.*" ستحصُل على مخرجات مشابهة لما يلي: ننتظر اكتمال تثبيت Laravel وإنشاء مشروع larashop: يثبت الأمر السابق Laravel وينشئ مشروع Laravel باسم larashop في المجلد \C:\laragon\www الذي هو أصل المستند. ملحوظة: إذا كان إصدار Composer المضمّن في Laragon قديما فسيظهر لديك تحذير - قد يكون مصحوبا بخطأ في التثبيت - عند تنفيذ أمر Composer. للتخلّص من هذا التحذير، وتجاوز الخطأ، حدّث Composer بتنفيذ الأمر أدناه في نافذة سطر الأوامر: composer self-update نفعّل بعد اكتمال تثبيت Laravel وإنشاء مشروع larashop، خدمة PHP Server على المنفذ 8000 في واجهة Laragon بالذهاب إلى القائمة Menu ثم خيار Preferences ثم تبويب Services & Ports ثم التأشير على الصندوق المناسب كما في الصورة أدناه. ستلاحظ ظهور سطر جديد في واجهة البرنامج باسم الخدمة التي فعّلناها للتو. اختبار التثبيت يمكننا الآن التحقق من أن كل شيء جرى على ما يُرام؛ إما بالذهاب إلى واجهة Laragon ثم اختيار: Menu -> www -> larashop أو إدخال المسار التالي في شريط عنوان المتصفح: http://localhost/larashop/public/ أو اسم المضيف التالي (إن كنت تركت خيار إنشاء المضيفات الافتراضية تلقائيا أثناء تثبيت Laragon): http://larashop.dev يجب أن تظهر صفحة الويب التالية في المتصفّح دلالة على أن كل شيء وُضع في مكانه الصحيح: تهيئة بيئة العمل الخاصة بـLaravel على لينكس يتلخّص إعداد بيئة العمل الخاصة بـLaravel على لينكس بالخطوات التاليّة. تثبيت Apache، PHP وMySQL نبدأ بتثبيت حزم LAMP على أوبنتو. توجد خطوات التثبيت بالتّفصيل في درس كيف تُثبِّت حِزم MySQL، Apache، Linux :LAMP وPHP على Ubuntu 14.04. نشير هنا إلى أن الإصدر الموجود في المستودعات الرسمية لأوبنتو (5.6.11 أثناء كتابة هذه السطور) يفي بالمتطلبات (5.5.9 فما فوق). تثبيت المتطلبات الأخرى تثبَّت بعض الوحدات المطلوبة لتشغيل Laravel تلقائيا عند تثبيت PHP، في ما تحتاج أخرى لتثبيتها وتفعيلها. يثبت الأمر التالي هذه الوحدات وأدوات إضافية أخرى: sudo apt-get install -y php5-json openssl php5-mcrypt curl git-core أضفنا حزمتي curl و git-core التين تحتاجهما أداة Composer لتنزيل أرشيف Laravel إلى أمر التثبيت. نفعّل وحدة mcrypt على PHP: sudo php5enmod mcrypt نفعّل كذلك تعليمة mod_rewrite على خادوم ويب Apache: sudo a2enmod rewrite نعيد تشغيل خادوم الويب لاعتماد التعديلات: sudo service apache2 restart تثبيت Composer وإعداده نفذ الأمر التالي لتنزيل أداة Composer وتثبيتها: curl -sS https://getcomposer.org/installer | php نغيّر مكان الأداة ليصبح تنفيذها ممكنا دون الحاجة لذكر المسار الكامل للملف: sudo mv composer.phar /usr/local/bin/composer ثم نتأكد من سلامة تثبيت الأداة: composer يجب أن تشبه النتيجة ما يلي: تثبيت Laravel يمكننا الآن تنفيذ الأمر التالي لتثبيت Laravel باستخدام Composer: sudo composer create-project --prefer-dist laravel/laravel /var/www/html/larashop "5.2.*" يثبت الأمر Laravel (الإصدار 5.2) وينشئ مشروعا على المسار /var/www/html/larashop/. ننتظر حتى اكتمال التثبيت ثم نجعل الحساب الخاص بخادوم الويب مالكَ مجلد المشروع ونعطي إذن الكتابة لجميع المستخدمين حتى نتمكن من التعديل على ملفات المشروع: sudo chown -R www-data:www-data /var/www/html/larashop sudo chmod -R 777 /var/www/html/larashop الخطوة الأخيرة هي نقل ملكية المجلد composer./~ إلى المستخدم الحالي: sudo chown -R $USER $HOME/.composer عند الذهاب الآن إلى العنوان http://localhost/larashop/public/ ستظهر الشاشة التالية دلالة على نجاح عملية التثبيت: إنشاء مضيف افتراضي نقدم هنا باختصار طريقة إنشاء مضيف افتراضي Virtual host بحيث يمكننا الوصول إلى واجهة Laravel بكتابة اسم المضيف (اخترنا larashop.dev اسما للمضيف) فقط في المتصفح. للمزيد حول المضيفات الافتراضية راجع هذا الدرس. نفذ الأمر التالي: /etc/apache2/sites-available/larashop.dev.conf أضف المحتوى: <VirtualHost *:80> ServerName larashop.dev DocumentRoot /var/www/html/larashop/public/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/html/larashop/> AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> أضف اسم المضيف إلى خادوم الويب: sudo a2ensite larashop.dev عطل اسم المضيف الافتراضي: sudo a2dissite 000-default أعد تحميل إعدادات Apache: sudo service apache2 reload افتح ملف المضيفات لتحريره: sudo nano /etc/hosts أضف السطر التالي مباشرة بعد السطر الأخير من الأسطر التي تبدأ بـ127.X.X.X: 127.0.1.1 larashop.dev يمكن الآن الوصول إلى واجهة Laravel الأمامية بالذهاب إلى العنوان larashop.dev في المتصفح. بنية مجلدات Laravel يلخص الجدول التالي أهم مجلدات Laravel التي تجب عليك معرفتها. app: يحتوي على الشفرة المصدرية للتطبيق. app/console: توجد أوامر artisan هنا. app/events: يحتوي على أصناف Classes الأحداث Events. app/exceptions: الأصناف التي تتعامل مع الاستثناءات Exceptions. app/Http: تحتوي على الأصناف الخاصة بالمتحكِّمات Controllers، المُرشِحات Filters والطلبات Requests. app/jobs: يحتوي هذا المجلد على الأشغال Jobs التي تمكن إضافتها إلى قائمة الانتظار Queue. app/listeners: يحتوي على الأصناف التي تعالج الأحداث. bootstrap: توجد هنا الأصناف التي يحتاجها إطار عمل Bootstrap. config: يحتوي هذا المجلد على ملفات الإعداد. database: توجد في المجلد أصناف التهجير Migration والبذر Seed الخاصتين بقاعدة البيانات. كما يحتوي المجلد على قاعدة بيانات SQLite. public: يحتوي على متحكمات الواجهة الأمامية للتطبيق وموارد أخرى مثل الصور، ملفات CSS، Javascript وغيرها. resources: يحوي العروض Views وملفات التوطين Localization. storage: يحتوي على قوالب blade المجمّعة Compiled، حقول الجلسات Sessions وأمور أخرى. tests: توجد به الاختبارات الأحادية Unit tests. vendor: يحتوي على اعتماديات Composer. إعداد مشروع Laravel جديد إعداد التطبيق توجد معلومات إعداد التطبيق في الملف config/app.php/ سنرى في هذه الفقرة: ضبط وضع التنقيح Debugging mode: يُستخدم وضع التنقيح لتحديد مقدار المعلومات الواجب إظهارها عند حدوث أخطاء في التطبيق. ضبط المنطقة الزمنية Time zone: يستخدم PHP هذا الإعداد في دوالّ الوقت والتاريخ. مفتاح التطبيق Application key: تُستخدَم هذه القيمة في التعميّة Encryption. وضع التنقيح افتح الملف config/app.php/ واعثر على السطر التالي: 'debug' => env('APP_DEBUG', false), عدّل السطر بحيث يصبح على النحو التالي: 'debug' => env('APP_DEBUG', true), تفعلّ التعليمة ('debug' => env('APP_DEBUG', true وضع التنقيح بإعطاء القيمة true للمتغيّر APP_DEBUG؛ وهو ما يعني أن Laravel سيظهر معلومات مفصَّلة عند حدوث أخطاء. تفيد المعلومات المفصَّلة كثيرًا في البحث عن مشاكل في التطبيق ومن ثم تصحيحها. المنطقة الزمنية ابحث في نفس الملف عن السطر التالي: 'timezone' => 'UTC', تعطي هذه التعليمة القيمة الافتراضيّة UTC للمتغيّر timezone. تشير UTC إلى التوقيت العالميّ الموّحّد؛ يمكنك إبدالها بالقيمة الموافقة لمنطقتك الزمنيّة المفضّلة. مفتاح التطبيق اعثر على السطر التالي: 'key' => env('APP_KEY', 'SomeRandomString'), وضع سلسلة محارف String من اختيارك مكان SomeRandomString: 'key' => env('APP_KEY', 'ines5@dinemwa8aw3bambuyabakoiwe'), اخترنا سلسلة محارف عشوائية من 32 محرفا Characters لاستخدامها في التعميّة. إعدادات أخرى توجد الكثير من الإعدادات الأخرى التي يمكن اكتشافها بتصفح الملف config/app.php. إعداد الاستيثاق توجد إعدادات الاستيثاق ضمن الملف config/auth.php/. سنترك الإعدادات بقيمها الافتراضية، يمكنك تغييرها بما يوافق احتياجاتك. إعداد قاعدة البيانات يوجد إعداد قاعدة البيانات ضمن الملف config/database.php/؛ تُستخدم قاعدة بيانات MySQL افتراضيّا. يمكن تعديل الملف لاستخدام نظام إدارة قواعد بيانات مختلف. سنستخدم قاعدة بيانات MySQL في هذا الدليل ونغيّر بضعة إعدادات: اسم قاعدة البيانات database، اسم المستخدم username، كلمة سر المستخدم. ابحث عن الأسطر التالية في ملف إعداد قاعدة البيانات: 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, ], حدّث القيم لتصبح على النحو التالي: 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', 'larashop'), 'username' => env('DB_USERNAME', 'root'), 'password' => env('DB_PASSWORD', 'melody'), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, ], تعد التعليمة ('database' => env('DB_DATABASE', 'larashop', التطبيق لاستخدام قاعدة بيانات larashop. يمكنك الذهاب إلى MySQL وإنشاء قاعدة بيانات خاوية باسم larashop في MySQL. تضبط التعليمة ('username' => env('DB_USERNAME', 'root', التطبيق لاستخدام الحساب root للوصول إلى قاعدة البيانات. يجب أن تستخدم حساب مستخدم صالحا في MySQL. التعليمة المواليّة ('password' => env('DB_PASSWORD', 'melody', تحدد كلمة سر الحساب المستخدم في التعليمة السابقة. خاتمة رأينا في هذا الدرس كيفية تثبيت Laravel ثم بنية المجلدات الموجودة في إطار العمل وإعدادات أساسية لمشروع Laravel. الخطوة التاليّة ستكون إنشاء أول تطبيق في Laravel. ترجمة -وبتصرّف- لمقال Laravel 5 Installation and Configuration لصاحبه Rodrick Kazembe.1 نقطة
-
كثُر الحديث في السنوات الأخيرة عن إطار العمل Laravel وانتشر بين مطوّري PHP حتى إنه أصبح إطار العمل الأكثر استخداما بينهم، سواء للمشاريع الشخصية أو المهنية، حسب استبيان أجراه موقع SitePoint الشهير. كما أنه من أكثر المشاريع التي يُساهَم فيها على GitHub. سنتعرّف في سلسلة الدّروس هذه، التي يمثّل هذا المقال مقدّمة لها، على إطار العمل Laravel وأهم المبادئ التي يعمل وفقا لها. لماذا Laravel؟توجد الكثير من الأسباب التي تدعو لاختيار Laravel منها ماهو نفعيّ (انتشار أكبر يعني فرصًا أكثر للحصول على فرص توظيف) ومنها ماهو تقني بحت. قبل الإجابة على السؤال "لماذا Laravel؟" قد يكون من المفيد محاولة الإجابة عن "لماذا إطار عمل؟" بمعنى آخر ألا يمكنك كمطوّر PHP البدء من الصفر وبناء تطبيقك حسب الحاجة؟ يمكننا القول -باختصار- أن أطر العمل تجعلك تتخلص من ضرورة الاعتناء بتفاصيل كثيرة، ترفع كثيرا من إنتاجيتك وتقيك من أخطاء التعامل المباشر مع بيئة لغة البرمجة من قبيل أخطاء التعامل مع استعلامات قواعد البيانات التي قد تنتج عنها هجمات الحقن بتعليمات SQL المعروفة بــSQL injection. تفرِض أطر العمل الجيدة على مستخدميها الفصل بين أجزاء التطبيق وتنفيذ بنية Architecture مجرَّبة تؤدي في النهاية إلى الرفع من تصميم التطبيق وجعل الشفرة المصدرية أيسر في القراءة وأسهل في الصيانة والاختبار. نجمل في ما يلي أهم الأسباب التي تجعل من اختيار Laravel مناسبًا: سهولة الاستخدام.الفصل بين عناصر التطبيق مما يسهل عمل فريق من المطوّرين وتقاسم المهامّ بينهم.دعم التطوير السريع للتطبيقات Rapid Application Developing, RAD: توفر أداة Artisan وسيلة سريعة لإنشاء شفرة مصدرية نمطية للتعديل المباشر عليها. كما أنها تُستخدَم لمهامّ أخرى مثل تشغيل الاختبارات الأحادية Unit tests، تهجير قواعد البيانات، وغيرها.التضمين الافتراضي لوظائف شائعة الاستخدام في تطبيقات الويب، مثل الاستيثاق Authentication، التوجيه Routing، إدارة قواعد البيانات، إرسال البريد الإلكتروني.متحكمات RESTful: يعني هذا أنه يمكن الاستفادة من أفعال HTTP القياسية مثل PUT، POST، GET وDELETE.إدارة الاعتماديات Dependencies باستخدام Composer وهو ما يعني إمكانية استخدام الحزم والمكتبات الموجودة على الموقع www.packagist.com بيُسر ضمن مشاريعك.استخدام إطار العمل Eloquent وهو إطار للربط بين الكائنات في قاعدة البيانات والتصنيفات في شفرة التطبيق Object Relational Mapper.بنية MVCتتبع المشاريع في إطار العمل Laravel بنية Model-View-Controller (تُختصر بـMVC) التي تقسّم التطبيق إلى ثلاثة أجزاء متصلة في ما بينها، وتُفرّق بين التمثيل الداخلي للمعلومة والطرق التي تُقدَّم بها المعلومة إلى المستخدم. يقع جزء النموذج Model في قلب بنية التطبيق؛ تُعالَج في هذا القسم البيانات وتُنفَّذ عليها القواعد (في تطبيق محاسبة تنتمي الفواتير والعمليات عليها إلى هذا الجزء). يتولى الجزء الثاني في البنية وهو العرض View مهمة تقديم البيانات إلى المستخدم. يمكن أن تأخذ نفس البيانات أشكالا عدّة للعرض (مخطّط بياني، جدول، … إلخ). أما الجزء الثالث (المتحكِّم Controller) فيأخذ مُدخلات ويحوّلها إلى أوامر يرسلها للنموذج والعرض. يمكن شرح الأمر على النحو التالي: يرسل المتحكّم أمرا إلى النموذج لتعديل حالته (تحرير فاتورة). كما يمكنه إرسال أمر إلى العرض بتغيير طريقة تقديم البيانات (الانتقال بين أسطر الفاتورة).يخزّن النموذج البيانات المعثور عليها وفقا لأوامر المتحكّم وتلك المعروضة في العرض.يولّد العرض مخرجات للمستخدم حسب البيانات الخزّنة في النموذج.يجمل المخطط البياني التالي آلية العمل. سلسلة دروس Laravel: إنشاء تطبيق ويب للتسوقننطلق في سلسلة الدروس هذه من مبدأ أن أفضل وسيلة للتعلم هي الممارسة، لذا سنبدأ خطوة خطوة بإنشاء تطبيق ويب للتسوق مع ميزة سلة المشتريات. تعطي الصورة التالية فكرة عن شكل الموقع الذي نريد إنشاءه. تشمل السلسلة المواضيع التالية: تثبيت Laravel وإعداده على كلّ من Windows وUbuntu.أساسيات بناء تطبيق باستخدام Laravel.إنشاء روابط محسنة لمحركات البحث (SEO) في إطار عمل Laravel.نظام Blade للقوالب.تهجير قواعد البيانات في Laravel.استخدام Eloquent ORM لإدخال البيانات في قاعدة البيانات، تحديثها أو حذفها.إنشاء سلة مشتريات في Laravel.الاستيثاق في Laravel.إنشاء واجهة لبرمجة التطبيقات API في Laravel.إنشاء مدوّنة باستخدام Laravel.استخدام AngularJS واجهةً أمامية Front end لتطبيق Laravel.الدوّال المساعدة المخصّصة في Laravel.استخدام مكتبة Faker في تطبيق Laravel لتوليد بيانات وهمية قصدَ الاختبار.ترجمة -بتصرّف- لمقال Laravel 5 Tutorial لصاحبه Rodrick Kazembe.1 نقطة
-
تكلمت في مقال سابق عن كيفية ترتيب العناوين في العرض التقديمي، والآن أرغب في التحدث بشكل تفصيلي عن قسم "المشكلة" وتقديم بعض الاقتراحات حول كيفية وصف المشكلة الحقيقية التي تقوم بحلّها. تستخدم العديد من الشركات الناشئة الإحصائيات والأخبار لوصف المشاكل التي تقدّم حلولًا لها، فعلى سبيل المثال نرى العبارة التالية في كثير من الأحيان: وعادة ما ترتبط هذه الأخبار مع بعضها البعض وبشكل متتابع لتدعم إحداها الأخرى وتساعد في البرهنة على وجود مشكلة واضحة. وعلى الرغم من أنّ استخدام الإحصائيات والأخبار مفيد في إثبات وجود المشكلة، يجب أن لا تكون السبيل الوحيد لوصفها. بدلًا من ذلك، يجب تحويل الموضوع إلى قصّة يتم من خلالها توضيح المشكلة، ويمكن أن يكون أحد العملاء الحقيقين أو الافتراضيين بطل هذه القصة. إنّ إطلاع الناس على قصّة شخص معيّن (أو شركة معيّنة) واجه مشكلة معينة وبخصائص وصفات معينة أكثر تأثيرًا من مجرّد استخدام الإحصائيات. إليك بعض الأمثلة: Shockwave Innovations من العملاء الذين نتعامل معهم، وقد واجهت هذه الشركة مشكلة تتعلق بـ ________ (ابدأ بإلقاء القصة). التقينا بعدد كبير من الشركات في قطاع _______، وقد كان _________ (اذكر المشكلة) من الأمور التي كنا نسمع عنها مرارًا وتكرارًا، فعلى سبيل المثال في شركة Shockwave Innovations ________ (ابدأ بإلقاء القصة). أعرفّكم بـ Gordon Daugherty. Gordon هو مؤسس شركة Shockwave Innovations، وهو مستثمر ملاك واستشاري في شؤون الشركات الناشئة. عندما يستيقظ Gordon كل صباح ________ (ابدأ بسرد قصة بعنوان (يوم في حياة Gordon) توضّح فيها المشكلة التي يواجهها). لا تقم بوضع قائمة من المشاكل المتتابعة في قصتك، فمثلًا لا تخضع العبارة التالية للأسلوب القصصي: بدلًا من ذلك أعد صياغة الجملة لتصبح بالشكل التالي: لاحظ أنّ إعادة صياغة الجملة قد أسست للغاية المنشودة ووصفت الأمور بطريقة تجعل القارئ يتعاطف مع بطل القصّة، وإن قمت بذلك بشكل صحيح، فقد يشعر من يسمع القصة بالمعاناة التي تطرحها القصة، ألا تشعر بالأسف تجاه Gordon المسكين؟ ابدأ بالقصة ثم أتبعها ببعض الإحصائيات التي تدعم الموضوع الذي تطرحه، وهذا متّسق مع ما قدّمته من نصائح حول ترتيب العناوين في العرض التقديمي حسب ترتيب: "المشكلة" ثمّ "السوق". سيكون الانتقال من "المشكلة" إلى "السوق" جيدًا عند استخدام بعض المعلومات غير المؤكدة حول السوق والتي ترتبط بالمشكلة التي تقوم بوصفها، وبعد ذلك يمكنك الاستمرار في طرح المزيد من المعلومات حول حجم السوق وما شابه ذلك. ما يميّز الأسلوب القصصي أنّك تستطيع العودة إلى القصّة عندما تصل إلى قسم "الحلول": يمكنك الآن الحديث عن الصفات والخصائص المتعددة للحلول التي تقدّمه. باختصار، يتذكّر الناس القصص بشكل أسهل من الإحصائيات والأخبار غير المؤكدة، لذا حاول أن تجعل قصصك حقيقية وقابلة للتذكر وذلك عن طريق رسم صورة وصفية كتلك التي وضّحتها في المثال السابق. ساعد الجمهور على الشعور بالمعاناة التي تطرحها خلال القصة، ولكن لا تقم بذلك عن طريق تضخيم الأمور والمبالغة فيها، بل حاول جعل القصة قابلة للفهم والتصديق. يمكنك تجربة القصة التي قد ألّفتها بأن تلقيها على شخص ما ثم تطلب منه أن يقصّها عليك من جديد، وبعد مرور يومين اطلب منه تذكُّر القصة مرة أخرى لتنظر إن كان قادرًا على القيام بذلك أم لا. ترجمة -وبتصرّف- للمقال Use Storytelling to Describe the Problem You Solve لصاحبه Gordon Daugherty.1 نقطة
-
ممتاز طالما أنه لديك خبرة فهذا أدعى للنجاح، لأنّه لا بد من التجارب في البداية قبل المشروع دعيني أؤكد لك مجددًا على أمرين الاول هوية الموقع وتميزه، بحيث يكون له بصمة مختلفة في الساحة مثلا انظري إلى محتوى الأكاديمية بسهولة يمكنك الشعور بهوية خاصة بالموقع، ادخلي إلى موقع مثلا ساسة بوست تشعرين أنك دخلتي إلى هوية أخرى، ادخلي الآن إلى موقع رصيف22 ستجدين نفسك أمام هوية أخرى.. هذه أمثلة... بينما كم تجدين من المواقع (لا سيما مواقع الأخبار التقنية) متشابهة بين بعضها؟ حتى أنك تقرأين المادة لا تعرفين هل كتبها هذا الموقع أو ذاك النقطة الثانية المحتوى، يجب أن يكون المحتوى فريد ومميز، غير منسوخ من الوب العربي، بل ولمَ لا تُفكري بتخصيص مساحة جيدة من الموقع للكتابة في أحد المجالات التي يندر تناولها عربيا. كل هذا يحتاج إلى فريق تحرير يمتلك لغة إنكليزية تؤهله للإطلاع على المواقع العالمية والاستلهام أو الترجمة منها (عند الترجمة لا تنسي مراسلة أصحاب المواقع والحصول على موافقة كي لا تواجهي لاحقا مشاكل عندما يصبح موقعك مشهورا، دومًا أسسي بشكل صحيح) بخصوص التكاليف طالما أنك ستتعاملين مع شركة في دولتك فلا يمكنني تحديد الأسعار، لكنها بالتأكيد أعلى مما يمكن تحصيله أونلاين (وفي المقابل أونلاين هناك مستقلين يقدّمون عملا بجودة رائعة وهناك من هو بخلاف ذلك تماما) تكاليف المحررين، السعر الذي ستطرحيه سيجلب فئة محددة، لذا إن تكررت تجاربك بشكل سيء مع المحررين فاعلمي أن المشكلة بالسعر (دوما يوجد استثناءات للقاعدة، قد تجدين من يقدم محتوى رائع بسعر بسيط) بالتوفيق1 نقطة
-
أولا يجب أن تحددي ما هو المحتوى الذي تنوين نشره ثانيا يجب أن يكون لديك فريق من الكتاب وفقك الله1 نقطة
-
عالم التقنية والمعلوماتية لا يمكن أن يندثر باعتبار أن هذا الميدان متطور من يوم لآخر، وأحيانا من ساعة لأخرى، لذلك أقول لك أنه فعلا عالم مهم ويمكننك في اي وقت البدء فيه، لكن من أجل اختصار الطريق أنصح باختيار جزء من هذا العالم الكبير والتخصص فيه، بل حتى أنصح بالتخصص في التخصص. عالم التقنية كبير جدا يدخل فيه جميع الأجهزة التقنية والتكنولوجية، وبالتالي صعب المنافسة، ولكي تسهل الامور ينصح بالتخصص في مجال ما، مثلا هواتف الموبايل وليكن الآيفون، ففي هذا المجال لوحده يمكنكي أن تكتبي الكثير والمئات من المواضيع، اعملي خاصة على حل مشاكل مستخدمي هذه الأجهزة خاصة. وكما قال الأخ في السابق يجب وضع في الحسبان كل التكاليف والجهد الذي يحتاجه عمل مثل هذا في البداية. بالتوفيق1 نقطة
-
وعليكم السلام إليك مجموعة من النقاط تعقيبًا على كلامك، ولك أن تتأملي بها وتعملين بما ترينه مناسبًا - أنت تفكّرين في إنشاء موقع لغرض إثراء المحتوى العربي + الربح لم تذكري لنا شيئًا عن كادر هذا المشروع، هل هو مؤلف منك فقط؟ أم هناك فريق سيعملون معًا. فإذا أردنا الحديث بشكل واقعي فإن مشروعا كهذا يحتاج إلى فريق على الأقل من ثلاثة أشخاص لتقاسم المهام فما بينهم. لنقل مثلًا الموقع هو مجلة كمبيوتر، على الأقل أنت تحتاجين إلى 3-5 مواضيع يومية لا سيما في الفترة الأولى، في هذه الفترة سيكون هناك الكثير من العمل والقليل من المردود. هل يمكنك لوحدك أن تُقدّمي مثل الزخم؟ وهل يمكنك أن تقدمي مواضيع متنوعة بهذا القدر لا سيما أنك منقطعة عن متابعة المستجدات منذ فترة وكم يمكنك أن تستمري لوحدك؟ فأنا أضمن لك أنك ستعانين من مشكلة استنزاف خلال شهرين أو ثلاثة بدون فريق عمل في حال كان لديك فريق أو كنت تودين تأسيس فريق هنا عدة تعقيدات - الاتفاق على هوية الموقع، لا يكفي ان نقول مجلة كمبيوتر، هذه ليست هوية للموقع. بدون هوية لن تعرفون ماذا يجب أن تفعلون وعلى ماذا تركزون وما هي الأهداف التي تنوون تحقيقها.. اثراء المحتوى العربي كلمة فضفاضة، تمثل رؤية للمشروع وليست هوية، والرؤية لا تغني عن الهوية هل ستركزون على الاخبار أولا بأول أم على المقالات التحليلة، هل ستركزون على الترجمة أم على الكتابة من الصفر ما هي الشريحة المستهدفة، عموم المهتمين أم فئة أصغر هل ستتجهون أكثر نحو مواضيع الهواتف الذكية أم لا وهكذا. كل هذه الأسئلة وأكثر ستحدد هوية الموقع وهي شيء يجب أن يكون واضح بالنسبة لك وبالنسبة للفريق - تقاسم العمل، في البداية العمل سيكون مجاني، سوف نبذل ربما ستة أشهر على الموقع بدون فلس واحد، هل الجميع مستعدون ولديهم الوقت لذلك - ليس فقط لن تحصلوا على أجر في البداية، ولكن عليكم دفع تكاليف التشغيل، وفي هذه الحالة ينبغي تقاسمها بالتساوي إذا كان الفريق كله مؤسسون، او يمكنك أن تكوني أنت المؤسسة والآخرون محررون، هذا شيء تحدديه في الخطوة السابقة - أيضا عليكم أن تخصصوا ميزانية ولو قليلة بغرض التسويق، ليس لاجل أن تحظوا على الشهرة الكبيرة وبدء المردود ولكن على الأقل كي تشعروا بأن الجهد الذي تنشرونه يوميا يلاقي صدىً - كل ما سبق ليس للإحباط، لانه لا يجب أن يكون الحماس هو الدافع، أنا أعمل في مجال المحتوى منذ عدة سنوات وهو مجال متعب ويحتاج إلى صبر حتى تبدأ ثمراته طبعا بعد الفترة الأولى (ستة أشهر تأسيسة، ثم ستة أشهر نمو جيد) وهي تقارب العام سيبدأ الموقع بتحقيق أرباح متنامية ويمكنكم بدء الكسب بأفكار كثيرة وستغطون جميع النفقات التي تم دفعها في البداية وقد يشكل لكم الموقع دخلًا حقيقيًا المشروع مجدي لأن الانترنت العربي في نمو وعدد المستخدمين والمتصلين للشبكة في تزايد مستمر هذه السوق ذاهبة للنمو والناجح من يبدا باستغلالها مبكرا1 نقطة
-
مرحبًا هل تم الحجب نتيجة لإضافة معينة أم بسبب Firewall شركة الإستضافة؟ وهل لو كانت إضافة ما إسمها؟ بالتوفيق1 نقطة
-
شكرا جزيلا لك بحثت عن الافتراضية وسألت عرفت أنها تفعل بشكل جزئي فقط وإذا اكتشف الباي بال أنها افتراضية يقوم بإغلاق الحساب سأجرب خمسات أو الجلفة إنفو شكرا لك مرة أخرى1 نقطة
-
جمعنا في هذا المقال 10 أدوات تساعد مستخدمي لينكس في مهامّ متنوعة مثل مراقبة الشبكة، فحص النظام وأوامر أخرى للرفع من الإنتاجية. الأداة w يُظهر أمر w المستخدمين مسجلي الدخول إلى النظام والعمليات التي ينفذونها: w أضف الخيار h- للحصول على المساعدة: w -h nmon وهي أداة تعرض معلومات عن أداء النظام، يمكن تثبيتها على أوبنتو بالأمر: sudo apt-get install nmon ثم بعد التثبيت ننفذ الأمر: nmon يمكن للأداة تحصيل معلومات عن استخدام الشبكة، المعالج والذاكرة. اضغط على حرف c لمعلومات عن استخدام المعالج: وحرف n لمعلومات عن الشبكة: تعطي الأداة بالضغط على حرف d معلومات عن استخدام القرص الصلب: ncdu وهي أداة تُستعمَل لتحليل استخدام مساحة القرص الصلب. للتثبيت على أوبنتو نفذ الأمر: sudo apt-get install ncdu وللاستخدام: ncdu / تأخذ الأداة معطى يمثّل المجلد الذي نريد معرفة مساحته على القرص الصلب. في المثال أعلاه حدّدنا المجلّد الجذر. قد يأخذ تحليل القرص بعض الوقت حسب حجمه، ثم تظهر النتيجة: استخدم الأسهم للانتقال بين قائمة المجلدات، وزر Enter لاختيار مجلد، n لترتيبها حسب الاسم و s لترتيبها حسب الحجم (تُرتّب المجلدات مبدئيا حسب الحجم). slurm تُستخدَم هذه الأداة لمراقبة تدفق البيانات عبر الشبكة حيث تظهرها في شكل منحنيات بيانية. sudo apt-get install slurm استخدم الخيار i- لمراقبة واجهة شبكة محددة: slurm -i eth1 اضغط زر l و c للانتقال بين طريقتي العرض، r لتحديث الشاشة و q للخروج. findmnt يُُستخدَم أمر findmnt للعثور على نظم الملفات المركّبة Mounted. كما يُستخدَم لتركيب أو نزع تركيب أجهزة طرفية عند الحاجة. findmnt نستخدم خيار l- للعرض على هيئة لائحة. findmnt -l عرض نظم الملفات المركّبة في ملف fstab: findmnt -s يمكن أيضا البحث عن نظم الملفات حسب النوع: findmnt -t ext4 dstat هي أداة مجمَّعة لمراقبة استخدام الذاكرة، عمليات النظام وأداء القرص الصلب. تُعدّ dstat بديلا جيدا لكل من ifstat ،iostat و dmstat. للتثبيت: sudo apt-get install dstat نفذ أمر dstat للحصول على معلومات مفصّلة عن استخدام المعالج، القرص الصلب والشبكة. يتيح الخيار c- تركيز المعلومات المعروضة على المعالج: dstat -c كما يمكن استخدام الخيار l- مع c- لمعرفة متوسّط استخدام المعالج لدقيقة، 3 دقائق أو 15 دقيقة. يوجد خيار D-الذي يمكن من متابعة أداء تجزئة قرص صلب بدلا من كامل القرص (d- لعرض أداء القرص فقط دون بقية الإحصاءات): dstat -dD sda7 saidar أداة أخرى تعمل في سطر الأوامر لمراقبة إحصاءات النظام مثل استخدام القرص الصلب، الشبكة، الذاكرة، مساحة الإبدال Swap وغيرها. للتثبيت: sudo apt-get install saidar ثم ننفذ أمر saidar للحصول على إحصاءات عن مختلف موارد النظام. يمكن استخدام الخيار c- لتلوين المخرجات. saider -c ss تأتي ss (اختصار لـSocket statistics) بديلا لأداة netstat لتجميع معلومات من فضاء النواة Kernel، تتميّز بالسرعة مقارنة مع netstat. لعرض جميع الاتصالات (نستخدم less لتسهيل تصفح المخرجات، اضغط على زر المسافة للانتقال للشاشة الموالية): ss |less يمكن استخدام الخيار A- لحصر النتائج حسب النوع: ss -A tcp كما توجد إمكانية عرض أسماء ومعرّفات العمليات pid: ss -ltp ccze تتيح هذه الأداة عرض السجلات Logs بهيئة أكثر جاذبية، للتثبيت نفذ الأمر: sudo apt-get install ccze مثال على الاستخدام: tailf /var/log/syslog | ccze تمكّن الأداة أيضا من حفظ السجلات بنفس طريقة العرض في ملف HTML: tailf /var/log/syslog | ccze -h > /path_to_file.html يعرض الأمر عند استخدام الخيار l- وحدات الأداة (أنواع السجلات التي تتعامل معها). ranwhen.py وهو سكربت python يعمل في الطرفية لعرض نشاطات النظام بيانيا، ينشئ السكربت منحنيات بيانية ملوّنة لعرض تفاصيل الأنشطة. للتثبيت على أوبنتو أضف المستودع التالي: sudo apt-add-repository ppa:fkrull/deadsnakes ثم حدّث النظام: sudo apt-get update وثبّت الإصدار 3.2 من python: sudo apt-get install python3.2 نزّل السكربت: wget -c https://github.com/p-e-w/ranwhen/archive/master.zip ثم فك ضغطه: unzip master.zip && cd ranwhen-master بإمكاننا الآن تنفيذ الأداة: python3.2 ranwhen.py ترجمة - وبتصرّف - لمقال Ten 10 Useful Utilities For Linux Users لصاحبه Rajneesh Upadhyay.1 نقطة
-
1 نقطة
-
بغض النظر عن قضيته الجدالية فقد كان تشارلز داروين خائفًا، حيث وبحلول 1859 كان قد قضى 22 عامًا في السّفر حول العالم، حيث دأب خلال سفره هذا على تدوين ملاحظات والبحث في أصول المخلوقات، لينشر نظريّته حول التّطور، ويواجه أيديولوجيّات متأصّلة ومقبولة على نطاق واسع. من البديهيّ أن لا ينتظر شخص ما 22 عامًا من أجل إنهاء مشروعه، بغضّ النّظر عن الجدل الذي قد يخلقه. صحيح أنّ مجال نظريّة داروين قد يكون غالبًا أكبر بكثير من مشروعك الذي تعمل عليه حاليًا، إلّا أنّه يمكن لنا أن نقارن ما بين ما تمر به حاليًا وما بين الاضطرابات الدّاخليّة التي عانى منها داروين فيما يتعلّق بإنهاء مشروعه الكبير -وهذا هو بيت القصيد-. ويكون هذا القلق حاضرًا في مشاريعنا أيضًا، حيث يمنعنا القلق من العمل نفسه وإمكانية نشره من مواصلة العمل إلى النهاية. بالنسبة للكثيرين، فإن القلق حول إنهاء مشاريعنا وحول كيف سننشرها هو السبب الذي يقف وراء عدم إنهائنا لها. حيث يمنعنا القلق من العمل نفسه وإمكانية نشره من مواصلة العمل إلى النهاية. حتّى ولو قضيت الساعات الطّوال في الحديث حول مدى التّأثير الكبير الذي قد تُحدثه فكرة ما فإنّه ما لم تطلق منتجك فلا تتوقّع حدوث أي تأثير، حيث أنّ إنجاز الفكرة وإطلاقها هو ما يُسبّب هذا التّأثير. لذا فإن عمَلنا كروّاد أعمال يتمثّل في إنهاء ما بدأناه، صحيح أنّ مشاركة عملنا المكتمل قد يكون شاقًّا، إلّا أنّه أهمّ حافز من أجل التّغيير. دعونا نتعرّف على بعض العوائق التي تحول دون تحقيق وإخراج المشاريع التي نحلم بها إلى الوجود. هناك فرق ما بين الاستعداد والإعداد (التحضير) هنالك أسئلة مهمّة وضروريّة يجب طرحها في هذه الحالة: هل السّوق المستهدف جاهز لاستقبال مشروعك؟ هل أنت جاهز لإطلاق المُنتج؟ هل مشروعك في المستوى؟ هل الوقت مناسب؟ كتب Seth Godin –كاتب ورائد أعمال متقن لفنّ الوصول إلى المنتج النّهائي- عن الاختلاف بين الأمرين قائلًا: يمكن البدء بالعمل حالما يتقبّل الشّخص هذا الاختلاف ويعرف مكانته، فأحيانًا، تكون أفضل طريقة لاختبار فكرة ما هي عدم النّظر في العديد من المتغيّرات أو النّتائج في سبيل بلوغ الكمال، بل العمل على إخراجها إلى العالم والتّأقلم إلى جانبها، حيث ستراقب الفكرة مثل مراقبة الطّفل، تتعثّر، تتعلّم، تنمو، تفشل وتنجح. الحاجة للكمال إنجاز مشروع وتسليمه يتطلّب التّعلّم، وعندما يصبح التّعلّم عادة يوميّة، يصبح طريق النّجاح حينها معبّدًا. يعمل نخبة الكتّاب، العلماء، الفنّانون وروّاد الأعمال على ترجمة أفكارهم على أرض الواقع، تعلّم كل ما يمكن تعلّمه، تكرار ذلك، ثم إنجاز نفس العمليّة مجدّدًا. لا يتعلّق الأمر بإزالة الخوف أو الشّكوك من العمليّة، ولا بتقليص أيّ فرصة للفشل أو التّعثّر، حيث يجب توقّع حدوث مشاكل أثناء العمل على إنتاج شيء ممتاز، وأن تكون جاهزًا للتعامل معها برويّة، لأن ذلك سيساعدك على تعلّم ما يمكن تحسينه ويمنح المشروع فرصة لإحداث الفارق. قدّمنا مؤخّرًا خدمة Beacon على Help Scout، حيث كان واضحًا لمن كانت الخدمة موجّهة، ما نفعها، والتّغيير الذي كنّا نحاول إحداثه، صحيح أنّ الخدمة لم تكن كاملة عند إطلاقها، لكنّها كانت جاهزة، مع ذلك، ظهرت مشاكل في الأسبوع الأول واستطعنا حلّها، كما أنّ الأفكار وردود الفعل التي وردتنا ساعدتنا على توسيع مجالات إدراكنا. وبالتّالي فإن عمليّة إطلاق Beacon لم تكن بسيطة، حيث لم نطلق الخدمة ونحتفل بإطلاقها ثم انتقلنا للتركيز على شيء آخر، بل واصلنا متابعها عن كثب، وشهدنا تحسنّ طريقة تفاعل عملائنا، مع تعلّمنا لأشياء جديدة كل يوم. تخيلّ إن كنّا انتظرنا أن تصبح الفكرة كاملة، تخيّل إن لم نطلق الخدمة، هل كنّا لنتعلّم؟ آراء الآخرين من حولك؟ يكون الكشف عن فكرة أو منتج ما محفوفًا بالمخاطر ويفتح المجال للانتقادات. نشعر كبشر بالقلق إزاء آراء الآخرين حولنا كوننا اجتماعيين بالفطرة، لذا سيكون من الصّعب عدم الشعور بالإهانة أو الإحباط في حال فشل الفكرة، كما سيكون الأمر أسوأ بكثير في حال تم استثمار مال كثير وقضاء وقت طويل في العمل عليها دون تحقيق عائدات منها، لذلك فإنّه من البديهي أن يكون التّفكير في الفكرة أسهل بكثير من إنجاز الفكرة والخروج بمنتج نهائي. مع ذلك، يجب ألّا يُنِمّ أيّ مشروع عن شخصيتك أو هويّتك، بل التّغيير الذي تودّ إحداثه من خلال تلك الفكرة، وإذا لم يتمّ هذا التّغيير، عندها تكون الفكرة هي التي تحتاج إلى التّرقيع لا هويّتك. قدّم المخترع الألماني Johannes Gutenberg آلة طباعة في القرن الخامس عشر، حيث كان حوالي 96% من سكّان القارة الأوروبية أميّين، كان من الممكن أن تفشل فكرة الطبّاعة حينها ليعتقد الجميع أن Gutenberg مجرد أبله، لكن كما علّمنا التاريخ، فإن هذا المشروع الجريء غيّر النّاس، المجتمعات، والعالم برمّته. أعظم عقبة قد تواجهها لإنهاء ما بدأته هي أنت وشعورك بالقلق، الخوف والشكّ. يكون جزء من هذا التّردّد عائدًا إلى رغبتك في الحرص على كون كافّة الأمور في محلّها، لكنّ الأمر يتحوّل لاحقًا إلى وهم تختبئ فيه بحجة المراجعة والتّلميع. وكلّما طالت فترة تأجيلك، كلما استغرقت وقتًا أطول لتعلم شيء مهمّ يساعدك ومشروعك على المضيّ قدمًا. أحد الدّروس الأساسيّة التي يمكن تعلّمها من إحداث تغيير ما هي أنّك لن تستطيع أن تعلم ما إذا كانت الفكرة ستنجح أم لا إن لم تنفّذها. ترجمة -وبتصرّف- للمقال The Importance of Finishing What You Start لصاحبه Paul Jun.1 نقطة
-
أخي لنكن واقعيين خمسة دولار لا يمكنها أن تشرع لك بموقع ناجح، لكن بالتأكيد يمكنك استثمارها وتحقيق أرباح تساعدك بدورها على البدء بأفكارك جوهر الحل: ابحث عن مشكلة وقدّم لها حلًا مأجورًا حتى لو لم تستخدم الدولارت الخمسة التي بحوزتك، مثلا هل يمكنك أن تخصص من يومك بعض الوقت لتحجز دور على سينما أو مطعم ومن ثم تبيعه بسعر عالي! هذه الفكرة تنجح في طوابير شراء أجهزة الآيفون، وكذلك في المطاعم لا تخجل من تقديم خدمة أيًا كانت فقد تجد من يدفع لك مقابلًا لها هل تسكن في منطقة تمر بها الدراجات الهوائية بكثرة؟ ضع لافتة لنفخ الدواليب بمقابل الفكرة الأكثر فاعلية فكّر بشراء شيء قميته 5$ ويمكنك بيعه بقيمة 10$، وكرر العملية بشكل تصاعدي لا يوجد حلول سحرية للبدء بخمسة دولار، لكن المؤكد أنك تحتاج إلى بذل جهد كبير حتى يكبر المبلغ، وبعد ذلك يمكن للمال أن يبذل الجهد عنك لتحقيق الأرباح1 نقطة