عبدالهادي الديوري
الأعضاء-
المساهمات
368 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
22
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو عبدالهادي الديوري
-
وعليكم السّلام ورحمة الله وبركاته. هذه المُشكلة تتواجد في بعض مُتصفّحات الهواتف الذكيّة، يُمكن أن يكون السّبب هو رابط الفيديو الذي تضعه في موقعك، تأكّد من أنّ الرّابط كامل وصريح. مثال على رابط غير واضح: src="/videos/My_video.mp4" مثال على رابط كامل: src="https://academy.hsoub.com/videos/My_video.mp4"
-
يُمكنك استعمال مواقع العمل الحر مثل موقع مُستقل، كل ما عليك فعله هو إضافة أفضل الشّعارات التّي صمّمتها إلى معرض أعمالك، وبعدها يمكنك تقديم عروض على مشاريع التّصميم المفتوحة، يُمكن أن تكون مواقع العمل الحر أفضل بكثير من مواقع المُسابقات، خاصّة إذا كنت مُصمّما موهوبا وذا حس فني. المهم أن تُقدّم أعمالك بأبهى حلّة، يُمكن كذلك إنشاء موقع خاص بك أو عرض أعمالك على منصّة Behance للمُصمّمين.
-
وعليكم السّلام ورحمة الله وبركاته. الحقيقة أنّ بيع التّصاميم أمر غير رائج، يُمكنك عرض تصاميمك على معرض للأعمال مثل منصّة Behance وإضافتها إلى معرض أعمالك في موقع مُستقل، بعدها يُمكنك العمل كمُصمّم مُستقل لتصمّم الشّعارات حسب الطّلب. مثلا، لدي شركة وأرغب بتصميم شعار لها، أول ما سأبحث عنه هو مُصمّم مميّز ليقوم بتصميم شعار خاص، لن أشتري شعارا جاهزا بل سأطلب شيئا حصريا. وبالطّبع العامل الحاسم في تحديد ما إن كنت سأعمل معك أو لا هو معرض أعمالك. لو أعجبتني أعمالك فسوف أتعامل معك سواء مُباشرة أو عبر موقع للعمل الحر (مُستقل أو خمسات مثلا) وفّقك الله
- 5 اجابة
-
- 1
-
هلّا فصّلت سؤالك أكثر. ما اللغة التّي استخدمتها وما المكتبة التّي اعتمدت عليها؟ إذا كنت قد بدأت مشوارك للتو، فيُمكنك استخدام لغة بايثون وإطار العمل Kivy إذ يُسمح لك بتطوير تطبيق وتشغيله على منصات عديدة مثل لينكس، وندوز، أندرويد...
- 2 اجابة
-
- 1
-
أطر العمل الخاصّة بتطوير تطبيقات الويب المتوفّرة للغة بايثون كثيرة ومتنوعة ما يجعل المبتدئ حائرا أمام الخيارات الكثيرة، فصّلت من قبل بعض الفروقات بين أطر العمل المُختلفة، وأقترح البدء بإطار العمل Flask وستنشر مقالات حوله في الأكاديميّة قريبا. في إنتظار دروس إطار العمل Flask، هذا المقال مُقدّمة بسيطة لتطوير تطبيق ويب بسيط بلغة بايثون وإطار العمل Bottle، أنصح به لكل مبتدئ لأخذ فكرة عن المبدء الأساسي لتطوير تطبيقات الويب، وهو مفيد كذلك التعرف على تقنيات مثل تقنية MVC. هذه أجوبة تخص تطوير الويب بلغة بايثون:
-
صديقي، أفضل مكان للوصول إلى المعلومة هو مُحرّك البحث، لذا ابحث عن الأمور التي تهمّك، وكلّما وجدت مقالا يهمّك أو شيئا يفيدك في موقع ما، ضع علامة Bookmark للموقع لتذكّره. أنصحك بالبحث باللغة الإنجليزيّة فالمحتوى الأجنبي أكبر بكثير من المحتوى العربي، يُمكنك بعدها نقل المعلومات التي تحصل عليها من المواقع الأجنبيّة إلى مدوّنة خاصّة بك لتفيد غيرك. أما بالنّسبة للأمور البرمجيّة فأنصح بالتركيز على التوثيق الرّسمي للغة أو المكتبة التي تريد معلومات عنها، ويُمكن كذلك مُشاهدة الفيديوهات التّعليميّة على موقع Youtube.
- 3 اجابة
-
- 1
-
يُمكن استخدام الوحدة socket لفحص منفذ معيّن والتأكد من أنّه مفتوح أو مُغلق. المثال التّالي يفحص المنفذ رقم 80 لمُضيف موقع جوجل: import socket socket_connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM) result = socket_connection.connect_ex(("google.com", 80)) print result يُمكن استبدال google.com بعنوان IP معيّن، ويُمكن كذلك استبدال 80 برقم المنفذ الذي ترغب بفحصه، ولفحص أكثر من منفذ يُمكن الاستعانة بحلقة for بسيطة. إذا كانت قيمة المُتغيّر result تُساوي 0 فهذا يعني بأنّ المنفذ مفتوح.
-
الوسيلة الرّسميّة والأكثر نجاحا هي باستخدام لغة Java، ورغم ذلك يُمكن صناعة تطبيقات للأندرويد باستخدام لغات برمجة أخرى غير لغة جافا، وعادة ما تسمى بالتّطبيقات الهجينة Hybrid Applications ويُمكن استعمال لغات مثل Javascript وC# وبايثون وغيرها من اللغات الأخرى. لإنشاء تطبيقات للأندرويد بلغات أخرى يُمكن استخدام المكتبات وأطر العمل المُتوفّرة لهذا الغرض والتّالي مثال على مكتبة لكلّ لغة من اللغات التي ذكرتها سابقا: بايثون: إطار العمل Kivy سي شارب: Xamarin جافاسكريبت: Ionic
-
الوحدات Modules الوحدة مجموعة من شيفرات بايثون (دوال، أصناف…) يُمكن إعادة استخدامها من طرف المبرمج بسهولة، و يُمكن كذلك أن تسمى بالمكتبة. يُمكن استيراد وحدة في برنامجك باستخدام كلمة import مع إلحاق اسم الوحدة. في المثال التالي نستورد وحدة time المُساعدة في التعامل مع الوقت في لغة بايثون، إذ توفّر دوالًا جاهزة تُمكننا من إجراء عدّة عمليات، كالحصول على الوقت الحالي، وكذلك التاريخ وغير ذلك. import time بعد أن قمنا باستيراد وحدة الوقت، يُمكننا الآن الوصول إلى العديد من الدوال والمتغيرات المتواجدة بهذه الوحدة. يُمكننا مثلا الحصول على تاريخ اليوم والوقت باستدعاء الدالة asctime كالتالي: >>> import time >>> time.asctime() 'Fri Apr 8 19:47:35 2016' يُمكننا كذلك الوصول إلى العديد من الدوال الأخرى المتعلّقة بالوقت، وهذه قائمة ببعض هذه الدوال: time: الحصول على عدد الثواني التي مرّت منذ يوم 1 يناير 1970، الذي يُسمى توقيت يونكس أو Unix Time. >>> time.time() 1460139948.733128 sleep: الانتظار لعدد من الثواني قبل تنفيذ أمر معيّن. الأمر التالي سيوقف مُفسّر لغة بايثون عن العمل لخمس ثوان قبل استكمال العمل: >>> time.sleep(5) البرنامج التالي سيقوم بالانتظار لمدة ثانية واحدة قبل طباعة كلمة !Hello: >>> time.sleep(1); print 'Hello!' يُمكننا كذلك استيراد دالة واحدة أو مجموعة من الدوال فقط دون كامل الوحدة، وذلك باستخدام الجملة from import. مثلا يُمكننا استيراد الدالة asctime بمُفردها بالسّطر التالي: from time import asctime لاستدعاء أكثر من دالة، افصل بينها بفواصل. from time import asctime, sleep لاستعمال هذه الدوال المُستوردة يكفي استدعاؤها باسمها دون البادئة time. >>> from time import asctime, sleep >>> sleep(1) >>> asctime() 'Fri Apr 8 19:49:25 2016' الحصول على مساعدة حول الوحدة أو حول دالة من وحدة ما يُمكنك استعمال سطر الأوامر للحصول على التوثيق الخاص بالوحدة الذي يشرح كل دالة على حدة بتنفيذ الأمر التالي من برنامج الطّرفيّة Terminal: pydoc time غيّر time باسم الوحدة التي ترغب بالحصول على توثيق لها. يُمكن كذلك استخدام الدالة help على بايثون مع تمرير اسم الوحدة أو الدالة التي ترغب في معرفة المزيد عنها: help('time') # توثيق الوحدة time الكامل help('time.sleep') # التوثيق الخاص بالدالة sleep مُخرج السّطر الثاني: Help on built-in function sleep in time: time.sleep = sleep(...) sleep(seconds) Delay execution for a given number of seconds. The argument may be a floating point number for subsecond precision. إنشاء وحدة خاصة بك أشرنا من قبل بأنّ الوحدة مُجرّد دوال ومتغيّرات، ما يعني بأنّك تستطيع تحويل أي ملف مكتوب بلغة بايثون إلى وحدة ما دام به دوال وأصناف. سننشئ في هذا المثال وحدة لحساب مربّع عدد ومكعّبه، أي أنّ الوحدة ستحتوي على دالتين square لحساب مُربّع العدد، و cube لحساب مُكعّبه، أنشئ ملفا باسم num.py وضع به ما يلي: mill = 1000000 def square(x): return x * x def cube(x): return x * x * x لقد أنشأت الآن وحدة يُمكن أن يستعملها غيرك من المُبرمجين. افتح مُفسّر بايثون واستورد الوحدة num وبعدها جرّب استعمال الدالتين على عدد معيّن: >>> import num >>> num.square(3) 9 >>> num.cube(3) 27 >>> num.mill 1000000 لاحظ بأنّنا استطعنا الوصول إلى قيمة المُتغيّر mill كذلك. يُمكن كذلك استدعاء دالة واحدة فقط: >>> from num import cube >>> cube(3) 27 توثيق الوحدة يُمكنك توثيق الوحدة ليسهل على المبرمجين فهم الدوال ووظائفها، وذلك باستعمال سلسلة التوثيق Docstring تكون داخل ثلاث علامات تنصيص كالتّالي: """The num module provides utilties to work on numbers. """ mill = 1000000 def square(x): """Computes square of a number.""" return x * x def cube(x): """Computes cube of a number.""" return x * x إذا نفّذت الأمر pydoc على الوحدة، فستجد أن التوثيق قد أضيف تلقائيا. Help on module num: NAME num - The num module provides utilties to work on numbers. FILE /home/dyouri/num.py FUNCTIONS cube(x) Computes cube of a number. square(x) Computes square of a number. DATA mill = 1000000 الوحدة OS تُمكّن الوحدة os من إجراء عمليات نظام التّشغيل مثل إنشاء المجلّدات وعرض قائمة بالملفات المتواجدة بمجلّد معيّن، أو حتى حذف مُجلّد أو ملف بلغة بايثون. عرض مسار مجلد العمل الحالي يُمكنك أن تحصل على مسار المجلّد الحالي بالدّالة getcwd وهي اختصار لـ get current working direcrtory أي (احصل على مُجلّد العمل الحالي)، ويُمكن تنفيذ الدّالة كالتّالي: >>> import os >>> os.getcwd() '/home/dyouri' إذا كنت تستعمل مُفسّر بايثون في Windows، فالمُخرج سيكون مشابها لما يلي: 'C:\Python27' إنشاء مجلد جديد يُمكنك إنشاء مُجلّد بالدالة mkdir مع تمرير اسم المُجلّد كمُعامل: >>> import os >>> os.mkdir('New Folder') بعد تنفيذ الأمر ستجد بأنّ المجلّد قد أضيف إلى قائمة المُجلّدات. عرض مكونات مجلد معين يُمكنك كذلك عرض مُكونات مُجلّد بالدّالة listdir وسيكون المخرج عبارة عن قائمة بأسماء الملفات والمجلّدات الموجودة في المسار المُمرّر للدالة. في هذه الحالة سنُمرّر مسار المُجلّد الحالي. dir = os.getcwd() os.listdir(dir) يُمكنك عرض كل عنصر في سطر بحلقة for. dir = os.getcwd() list = os.listdir(dir) for item in list: print item إعادة تسمية ملف أو مجلد يُمكنك إعادة تسمية ملفّ أو مُجلّد بالدّالة rename كما يلي: os.rename('Old', 'New') حيث Old هو الاسم القديم، وNew هو الاسم الجديد. حذف ملف لحذف ملف يكفي استخدام الدالة remove، مع تمرير مسار الملف. os.remove('file.txt') حذف مجلد فارغ يُمكن حذف مُجلّد فارغ بالدّالة rmdir مع تمرير مسار المجلّد المرغوب حذفه. os.rmdir('New Folder') إذا أردت أن تحذف مجلّدا يحتوي على ملفات فيمكن استخدام وحدة Shutil. (انظر القسم التالي). تنفيذ أوامر النظام أوامر النّظام هي الأوامر التي تستطيع تنفيذها من الطّرفيّة Terminal أو من برنامج Cmd على Windows. يُمكنك تنفيذ أوامر النّظام عبر الدالة system وذلك بتمرير الأمر كمُعامل. os.system('ls') الوحدة Shutil تُمكّن الوحدة Shutil من إجراء عمليات على الملفات والمجلّدات، مثل نسخ ملف من مسار إلى مسار آخر أو نقله، أو حذف مُجلّد كامل. حذف مجلد كما أشرنا سابقا، تستطيع استخدام os.rmdir لحذف مُجلّد فارغ، لكن ماذا لو أردت حذف به ملفات؟ يُمكنك استخدام الدّالة rmtree من وحدة shutil للقيام بذلك. import shutil shutil.rmtree('Folder') نسخ ملف يُمكنك استخدام الدّالة copy لنسخ ملف من مسار إلى مسار آخر، الدالة تقبل مُعاملين، المُعامل الأول يُمثّل مسار الملف المراد نسخه، والمُعامل الثاني يُمثّل مسار الملفّ المراد النّسخ إليه. shutil.copy('file.txt', 'Folder/file.txt') نقل ملف لنقل ملفّ يُمكن استخدام الدّالة move عوضا عن الدالة copy الخاصّة بالنّسخ. shutil.move('file.txt', 'Folder/file.txt') تمرير معاملات إلى ملف بايثون من الطرفية بالوحدة Sys تُمكّننا الوحدة sys من تمرير مُعاملات عند تشغيل ملف مكتوب بلغة بايثون، فمثلا يُمكنك أن تكتب برنامجا للطّباعة دون الحاجة إلى الدّخول إلى مُفسّر بايثون. سيكون اسم الملف مثلا print.py وسنمكن من تمرير مُعامل له عند تشغيله كالتالي: python print.py 'Hello World!' يُمكن الحصول على المُعاملات الممرّرة على شكل قائمة، وهي مخزّنة في المُتغيّر argv من الوحدة sys. أنشئ ملفا باسم print.py وضع به ما يلي: import sys print sys.argv إذا قُمت بتشغيل الملفّ مع تمرير معامل أو أكثر فستُطبع قائمة تحتوي على جميع هذه المُعاملات. جرّب تنفيذ الملف مع تمرير كلمة hello كمُعامل. python print.py hello ستجد بأنّ المُخرج سيكون عبارة عن قائمة بعنصرين: ['print.py', 'hello'] العنصر الأول هو اسم الملفّ، والعنصر الثاني هو ما قُمنا بتمريره. يُمكنك بالطّبع الوصول إلى عنصر محدّد فقط بتحديد رقمه من القائمة: import sys print sys.argv[1] في الشيفرة أعلاه، قمنا بطباعة العنصر الثاني. إذا كرّرت أمر التّشغيل السّابق ستُلاحظ بأنّ المُخرج هو كلمة hello فقط. لتمرير جملة، يكفي إحاطتها بعلامتي التّنصيص. python print.py 'Hello World!' الحزم Packages الحزمة أو الرّزمة عبارة عن مُجلّد يحتوي على وحدة أو أكثر. عوضا عن ملفّ num.py يُمكن أن نقوم بوضع الملفات داخل مُجلّد الحزمة. لإنشاء حزمة عليك إنشاء مُجلّد باسم الحزمة، التي سنُسميها num_package وداخل هذا المجلّد سنضع ملفيّن square .py و cube.py. كذلك يجب أن يحتوي المُجلّد على ملف باسم init__.py__ وذلك لإخبار بايثون بأنّ هذا المُجلّد عبارة عن حزمة. لإنشاء المُجلّد والملفّات اللازمة، يُمكنك تنفيذ البرنامج التّالي: import os os.mkdir('num_package') open('num_package/__init__.py', 'w').close() open('num_package/square.py', 'w').close() open('num_package/cube.py', 'w').close() سنضع في ملفّ square.py الدالة الأولى: def square(x): return x * x وفي ملف cube.py الدالة الثانية: def cube(x): return x * x * x وسنترك الملفّ init__.py__ فارغا. استيراد الحزمة يُمكنك استيراد الحزمة كاملة كالتّالي: import num_package أو يُمكنك استيراد كل وحدة على حدة. import num_package.square import num_package.cube بعد الاستيراد، يُمكن الوصول إلى الدوال كالتالي: >>> num_package.square.square(3) 9 >>> num_package.cube.cube(3) 27 يُمكن كذلك وضع إختصار للوحدة وذلك لاختصار الوصول إلى الدوال، فقط ألحق سطر الاستيراد بكلمة as وبعدها أعطها اسما مُختصرا. import num_package.square as sqr ستستطيع الآن الوصول إلى الدالة بكتابة شيفرة أقل: sqr.square(3) يُمكن كذلك استخدام جملة from .. import. from num_package.square import square as sqr sqr(3) تمارين التمرين 1 استعمل وحدة time لإنشاء ساعة بسيطة تطبع الوقت الحالي كل ثانية. التمرين 2 أنشئ المُجلدات التّالية (10 مُجلّدات) باستخدام لغة بايثون: Folder1 Folder2 Folder3 . . Folder10 ملاحظة: استخدام حلقة تكرار لإنجاز الأمر. التمرين 3 أعد تسمية المُجلّدات التي أنشأتها في التّمرين 2 بإضافة العدد واحد لنهاية كل مُجلّد، أي أنّ المُجلّد Folder1 يتغيّر اسمه إلى Folder2 وهكذا إلى أن تصل إلى المُجلّد العاشر Folder11. التمرين 4 استعمل وحدة Sys لإنشاء آلة حاسبة بسيطة، يُمكن استخدامها كالتّالي: python calc.py 3 + 4 => 7 python calc.py 10 - 4 => 6 ما التالي؟ وصلنا أخيرا إلى نهاية هذه السّلسلة التي تشرح أساسيات اللغة، فهنيئا لك على صبرك وهنيئا لك على إضافة لغة بايثون كمهارة أخرى إلى قائمة مهاراتك، ستتمكّن الآن من برمجة برامج ذات وظائف مُتعدّدة ومُعقّدة، وتستطيع قراءة وفهم بعض الشيفرات المُتواجدة على موقع Github. إنّ ما يجعل بايثون لغة شهيرة هي مكتباتها التي تتعدّى الآلاف في شتى المجالات، لذا فالحديث عن لغة بايثون لا يمكن أن ينتهي هنا. يُمكنك اختيار مكتبة أو إطار عمل لتعلّم تطوير الويب (Flask, Bottle, Django)، تطبيقات سطح المكتب (Python Qt, Python Gtk, TkInter, Kivy)، أو حتى مُعالجة الصّور بمكتبة OpenCV، وغيرها الكثير. إذا كنت مُهتما بتطوير تطبيقات الويب فيُمكنك إلقاء نظرة على درس إنشاء موقع بسيط بإطار العمل Bottle. المصادر المعتمدة التوثيق الرّسمي للغة بايثون، فصل الوحدات كتاب Python Practice Book لكاتبه Anand Chitipothu
-
مرحبا، المشكلة تحدث لأنّ pip لا يمتلك صلاحيات للوصول إلى ملفّات النّظام، لذلك عليك فتح برنامج cmd كمُدير النّظام. ادخل إلى قائمة "ابدأ" واكتب cmd، انقر على الزرّ الأيمن للفأرة واختر " Open as administrator". بعدها سيعمل pip بشكل جيّد.
- 1 جواب
-
- 1
-
إليك هذا الموقع: CSS Button Generator لا يوفّر الموقع إختيارات كثيرة لنوع الخطّ، لذا عليك تغييره بنفسك. فقط غيّر Arial في السّطر التّالي إلى اسم الخط الذي تُريده. font-family: Arial;
-
لم أفهم المقصد جيدا ولكنني أظنّ بأنّك تقصد ما إذا كان يتوجّب عليك نشر المقالات باسمك الحقيقي أو ترك الآخرين لنشر مقالاتك بدلا عنك. في هذه الحالة، أنا لا أرى أية مُشكلة في نشر مقالاتك بنفسك، المهم أن تنشرها في المكان المُناسب وتتجنّب أساليب التّسويق غير الشّرعيّة. بالنّسبة لفكرة أنّ العمل هو الذي يتحدّث عن صاحبه فهي فكرة صحيحة، والطريقة المُثلى للوصول إلى هذه المرحلة هي بكتابة مقالات ذات جودة عاليّة، وصدّقني كلّما كانت جودة المقال أعلى كلّما استقبلت المزيد من الزّوار.
-
Web2Py إطار عمل لبناء تطبيقات الويب، ويُعتبر من الأطر التي تأتي بإضافات ودوال مُساعدة كثيرة (مثل Django) وهذه بعض مميّزاته: الإطار يهدف إلى تسهيل بناء تطبيقات ذات جودة عاليّة في أسرع وقت ممكن إتاحة أداة للتّعامل مع قواعد البيانات وإدارتها توفير حماية للتطبيق التّحكم بالتّطبيق وتطويره من واجهة "المُدير" (admin) مُباشرة من المُتصفّح طريقة كتابة الشّيفرة شبيهة كثيرا بفلسفة لغة بايثون الإطار يلتزم بالتّوافقيّة الرّاجعة Backward compatibility أي أنّ النّسخ الجديدة مُتوافقة مع النّسخ القديمة، ما يجعل تعلّمه من المصادر القديمة أمرا سهلا. يتمتّع الإطار بتوثيق جيّد، وهناك كتب تعليميّة حوله المشروع بدأ عام 2007 ولازال التّطوير مُستمرّا إلى الآن. مُقارنة بين Django وWeb2Py
-
هل تستطيع الدّخول إلى لوحة التّحكم Cpanel الخاصّة باستضافتك؟
-
بالإضافة إلى الإجابة، يُمكنك الحصول على عنوان URL أي صفحة فقط بسطر جافاسكريبت التّالي: window.document.URL جرّبها على أية صفحة على الويب بفحص العنصر Inspect Element، ثمّ ضع الشيفرة في سطر الأوامر داخل تبويبة Console.
- 4 اجابة
-
- 1
-
هل أنت متأكّد من أنّك تستعملها بالشّكل الصّحيح؟ لاحظ حالة الأحرف: Meteor.isClient Meteor.isServer
-
وعليكم السّلام. صديقي، الرّسالة تعني بأنّه يتوجّب عليك فتح الملفّ php.ini والبحث عن الجملة التّالية: max_execution_time ثمّ عدّلها ليكون كالتّالي: ini_set('max_execution_time', 0); إذا لم يكن السّطر موجودا مُسبقا فأضفه. هذا ما فهمته من الرّسالة، ومن المُفضّل أن تتصل بمن لديه خبرة بلغة php ليُساعدك على تركيب القالب، ويُمكنك كذلك توظيف أحدهم على موقع مُستقل.
-
صديقي، قبل أن تكون كاتبا يجب عليك أن تقرأ. أسقط هذا المثال على سؤالك وستجد بأنّ العمل قبل ريادته شيء مهم جدا. ليس من الضّروري أن تكون مُوظّفا يتقاضى راتبا شهريا ويجلس 8 ساعات في مكتبه لكي تستطيع دخول ريادة الأعمال وإنشاء شركتك الخاصّة، بل يُمكنك العمل كمُستقل أو العمل مجانا (إذا كان الأمر يُناسبك بالطّبع) مع مؤسّسات غير ربحيّة، فبهذا تكتسب خبرة العمل في فريق منظّم وتحت قيادة واحدة. بعدها يُمكنك الاستفادة من خبرتك لإنشاء وإدارة شركتك الخاصّة. أنصح كذلك بقراءة الكتب والمقالات حول ريادة الأعمال قبل خوض غمارها، فهذا مُفيد ويُقرّبك من الواقع أكثر، وقد يعتبر في بعض الأحيان بديلا جيّدا عن الخبرة الحقيقيّة.