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

لوحة المتصدرين

  1. Mohssen A Mohssen

    Mohssen A Mohssen

    الأعضاء


    • نقاط

      3

    • المساهمات

      317


  2. Bader almansouer

    Bader almansouer

    الأعضاء


    • نقاط

      3

    • المساهمات

      65


  3. سامح أشرف

    سامح أشرف

    الأعضاء


    • نقاط

      3

    • المساهمات

      2934


  4. محمد الساحلي

    محمد الساحلي

    الأعضاء


    • نقاط

      3

    • المساهمات

      31


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 04/03/22 في كل الموقع

  1. لدي نص يتم الحصول عليه من قِبل المستخدم، من خلال عنصر textarea، بالشكل التالي: $bio = "string multiline string with empty lines and extra spaces"; كيف أقوم بتحويل هذا النص إلى سطر واحد فقط؟ لتصبح النتيجة بالشكل التالي: $bio = "string multiline string with empty lines and extra spaces";
    2 نقاط
  2. هل لو اني تعلمت من الكتب لغة البايثون ساصبح محترف ام لا؟ وايضا تعلمت البايثون من قناة CodeZilla هل هذا يؤهلني للاحتراف في البايثون ام ماذا؟
    2 نقاط
  3. تمنى مساعده ورد كيف رسل ملف فوجل ستديو كود عندي خطاء ولا اعرف صححها واريد مساعده
    1 نقطة
  4. لدي مصفوفة Array بالشكل التالي: $arr = [ "id" => 1, "name" => "Emad Saif", "email" => "mail@gmail.com" // ... ]; حاولت إستخدام الكود التالي: var arr = {{ $arr }}; لكن يبدو أن هذه الطريقة تنجح فقط مع النصوص والأرقام وليس المصفوفات، كيف أقوم بتمرير هذه المصفوفة إلى JavaScript في أحد قوالب blade؟
    1 نقطة
  5. السلام عليكم ورحمة الله وبركاته اريد موقع شبيه بموقع موضوع مع بعض التعديلات ويكون بلغتين كم بيكف المشروع ؟
    1 نقطة
  6. لدي نموذج بسيط بالشكل التالي: class Note(models.Model): title = models.CharField(max_length=50) thumbnail = models.FileField(upload_to='thumbnails/', blank=True) من المفترض أن يكون بإمكان المستخدم رفع صورة -إن أراد ذلك-، ولكن المشكلة هنا أنه في حالة لم يقم المستخدم برفع صورة: >>> note = Note(title='my-note') >>> note.save() فإن الخطأ التالي يحدث عند محاولة التأكد من أن هناك صورة مصغرة thumbnail: >>> note.thumbnail <FieldFile: None> >>> note.thumbnail is None False كيف يمكنني التأكد من أن الحقل thumbnail ليس فارغًا؟
    1 نقطة
  7. housb.html تمنى وصلك رساله بشكل صحيح
    1 نقطة
  8. يمكنك الضغط على ملفاتك بالزر الأيمن للماوس ، ثم اختيار إضافة للأرشيف ، سيتكون لديك ملف جديد أيقونته على شكل كتبٍ يمكنك رفع هذا الملف هنا بحيث سوف نكون قادرين على تحميله و المساعدة في حل المشكلة التي تواجهك .
    1 نقطة
  9. يمكنك أن تستخدم max Function DB::table('products')->find(DB::table('products')->max('id')); هذه ال function تجلب لك أكبر id موجود في products table . والحل الثاني أنك تجلب جميع البيانات بالترتيب التنازلي Desc ، ثم تجلب أول عنصر من البيانات $products = Product::orderBy('id', 'desc')->first(); ولكن من ناحية ال performance الطريقة الاولى أفضل . ولاحظ في الطريقة الاولى ستتعامل مع Query Builder
    1 نقطة
  10. مبدئيًا ، لا يمكنك الإعتماد على الكتب بشكل كامل في تعلمك للبرمجة لأن البرمجة هي عملية بالدرجة الأولى ، الكتب تساندك وتسرع رحلتك في التعلم لكن الإعتماد الكلي عليها لن يُقدم ولا يؤخر. يُنصح لتعلم أي لغة برمجة سواء كانت البايثون أو أي لغة أخرى بفهم أساسيات البرمجة أولًا ، فلغات البرمجة بينها العديد من الأشياء المشتركة ، بل تكاد تكون لغات البرمجة هي الأفكار ذاتها مع تغيُر طريقة كتابة الكود أو ما نسميه ال "Syntax" وهذه هي الخطوات المرُشحة من المتخصصين لتعلم البايثون:- مشاهدة كورس لشرح البايثون (مع ضرورة التطبيق أثناء العمل) من المهم جدًا أن يكون الكورس معتمد على التطبيق وليس التلقين ، وأرُشح لك كورسات منصة حسوب في البايثون ، فدائمًا حسوب تقدم شروحات ذات جودة عالية سواءًا كانت مكتوبة أو مرئية يمكنك الوصول لكورس البايثون الخاص بأكاديمية حسوب من هنا بعد إتقانك للـSyntax وطريقة كتابة الكود ، أرُشح لك بدأ مشاريع صغيرة من أفكارك الخاصة ، بدون الإعتماد على أكواد الغير ، يبدو الأمر صعبًا في البداية لكن سرعان ما سيتحسن الأمر وستلاحظ فرق كبير في المستوى. شارك أعمالك مع مجتمع المبرمجين في GitHub و Twitter، كذلك يمكنك المشاركة في التحديات مثل #100DaysOfCode ، ستجعلك أكثر حماسًا للتعلم وتُلزم نفسك بالإستمرار في هذا المسار.
    1 نقطة
  11. يمكنك إستخدام الكود التالي في حال كان لديك العديد من الإتصالات تريد إحتسابها from django.db import connections,connection,reset_queries from django.conf import settings settings.DEBUG = True ... def query_count_all()->int: query_total = 0 for c in connections.all(): query_total += len(c.queries) return query_total و لمزيد من الدقه و الإيجاز يمكنك استخدام def query_count_all()->int: return sum(len(c.queries) for c in connections.all()) بالعلم أن reset_queries() في آلية عملها تقوم بالتعامل بشكل جيد مع الإتصالات المتعددة
    1 نقطة
  12. يوجد الكثير من الطرق التي تمكنك من تعلم البرمجة أو لغة برمجية تريدها، منها الدورات و الدروس المسجلة و الكتب و المقالات و غيرها. و لكل شخص طريقته التي تناسبه في التعلم. و لكن كلٍ من هذه الطرق تساعدك على تعلم الأساسيات و المبادئ الأساسية الخاصة بالتقنية و تضعك على بداية الطريق لاكتساب مهارة ما. و لكن هذه المصادر التعليمية وحدها لا توصل للاحتراف مهما كان كم الكتب أو الدورات التي قمت بالاطلاع عليها، فالاحترافية نصل لها بعد وقت (قد يصل إلى سنوات) من الخبرة و العمل على المشاريع و التعرض لمشكلات مختلفة و حلها و بالطبع الدراسة و الاطلاع فكل هذه الأمور معًا ستمكنك لتكون محترفًا.
    1 نقطة
  13. بجانب ما اقترحه المدربون يمكنك استعمال lastInsertId في حالة رغبت باستخدام insert K وهو احد توابع الواجهة DB التي تقوم بجلب آخر معرف لآخر عنصر تم ادراجه بشكل عام، يكون ذلك بعد تنفيذ الادراج: User::insert($data); $id = DB::getPdo()->lastInsertId();
    1 نقطة
  14. يمكنك ببساطة معرفة الاستعلامات التي قام بها django في جلسة عن طريق >>> from django.conf import settings >>> settings.DEBUG = True >>> from django.db import connection >>> Model.objects.count() >>> print(len(connection.queries)) 1
    1 نقطة
  15. بالإضافة الى الطرق التي قدمها المدربون يمكنك استخدام التابع insertGetId كالتالي $id = Product::insertGetId( ['name' => $request->name,'price' => $request->price] ); ولكن لا تنسى في ملف نموذج Product ان تضيف الحقول الى الخاصية fillable كالتالي protected $fillable=['name','price'];
    1 نقطة
  16. يمكنك الحصول على المعرف الخاص بالنموذج مباشرة بعد حفظه كالتالي: $product->save(); $product->id; // المعرّف أو في حال كان حقل المعرف الأساسي للجدول من نوع Auto Increment فيمكنك الحصول على آخر نموذج تمت إضافته عبر الاستعلام التالي: $product = Product::orderBy('id', 'desc')->first(); في هذه الحال يجب التأكد من أن نسخة واحدة من تطبيقك فقط تتعامل مع قاعدة البيانات، لتجنب إنشاء عنصر جديد من قبل نسخة أخرى قبل حصولك على جواب الاستعلام السابق فتحصل على جواب خاطئ
    1 نقطة
  17. يمكنك الحصول على الid بعد حفظ المنتج في قاعدة البيانات بواسطة الاسم الخاص به.. أي كالتالي. $productId = Product::where('name', '=', $product->name)->first()->id; هنا قمنا بعملية بحث داخل جدول المنتجات للحصول على المنتج مطابق للاسم .. ثم نحصل على المعرف الخاص به ونخزنه في المتغير productId بهذه الطريقة يمكننا الحصول على ال id المنتج الذي تمت إضافته .. فيصبح الكود بشكل كامل .. ##عملية الإضافة $product = new Product; $product->name = $request->name; $product->price = $request->price; $product->save(); #عملية الحصول على المعرف $productId = Product::where('name', '=', $product->name)->first()->id;
    1 نقطة
  18. قد لا ترغب في نسخ كل شيفرة او محتوى نصي مرتين، ولذلك فإنك ستحتاج تخزين هاته العبارات والكلمات في مصفوفة ترابطية تحمل العبارات التي تظهر في العربية وتلك التي تظهر في الانجليزية، وبما أننا نعمل على صفحة هبوط تطلب ان تفهرسها محركات البحث فإننا سنحتاج أن تكون هاته الترجمات حاضرة عند طلب الصفحة وتفسيرها، بمعنى أنه لن يتم تحميل وترجمة القالب على المتصفح فقط، اي ان هاته المصفوفة لن تخزن على جانب العميل في مصفوفة جافاسكربت وانما على جانب الخادم في مصفوفة PHP مثلا. كما ان هاته الصفحة سيتم تكوينها على مستوى الخادم وارسالها الى المتصفح، (ان تكن لديك اي خبرة بتطوير الواجهة الخلفية فيمكنك المرور مباشرة الى الحل المقترح الثاني) فيما يلي صفحة PHP مثلا: <?php // جلب اللغة من الطلب // يمكن استعمال الجلسة او ملفات تعريف الارتباط مثلا لتخزين اللغة المفعلة $lang = $_GET['language']; // مصفوفة ترجممات $translations = [ // الكلمات العربية 'ar' => [ 'home' => 'الرئيسية' ], // الكلمات الانجليزية 'en' => [ 'home' => 'main page' ] ]; <html> <head> <title> <?php echo $translations[$lang]['home']; ?> </title> </head> <body> </body> <html> ففي حالة طلب المسار: https://domain.co?lang=ar سيصير الخادم الصفحة كـ: <html> <head> <title> الرئيسية </title> </head> <body> </body> <html> و في حالة طلب المسار: https://domain.co?lang=en سيصير الخادم الصفحة كـ: <html> <head> <title> Home </title> </head> <body> </body> <html> سيعطيك هذا امكانية التعديل على مكوناتك وصفحاتك بشكل غير مشروط او صعب، بجانب انه سيعطيك امكانية اضافة مالانهاية من اللغات والترجمات للقالب او صفحة الهبوط التي تشتغل عليها. الحل الثاني وهو بمجرد انشاء صفحتي HTML واحدة للعربية وأخرى للانجليزية index.html و index-ar.html مثلا، أين سيمكن وضع كل محتوى بلغته المرافقة.
    1 نقطة
  19. انا برأي إنها مجرد مسألة كيفية استيعابك للمعلومات. من الافضل ان تبدأ بموارد الفيديو لانها أكثر تفاعلاً من مجرد قراءة كتاب. يمكنك اختيار أي من الحالتين ولكن الشيء الأكثر أهمية الذي يجب أن تضعه في اعتبارك هو أنك تحتاج إلى التدريب ، فمجرد قراءة كتاب أو مشاهدة مقاطع الفيديو لن يساعدك على التحسن. لغة بايثون هي واحدة من أكثر لغات البرمجة شيوعًا وتستخدم في العديد من المجالات ويكنك اختيار ايا من هذه المجالات: تطوير الويب الاتمته علوم البيانات استخراج وتنقيب البيانات الذكاء الاصطناعي والتعلم الآلي تطبيقات سطح المكتب وغيرها لمزيد من التفاصيل يمكنك الاضطلاع على هذا المقال
    1 نقطة
  20. تستطيع كذلك إستخدام الدالة copy لتحميل الصورة لديك على الخادم، ثم تقوم بإرسالها إلى المستخدم: $filename = 'image.jpg'; $tempImage = tempnam(sys_get_temp_dir(), $filename); copy('https://www.example.com/image.jpg', $tempImage); return response()->download($tempImage, $filename); يمكنك معرفة المزيد عن الدالة copy في PHP من خلال توثيق الدالة في موسوعة حسوب من هنا.
    1 نقطة
  21. يمكنك إرسال الملف باستخدام التابع streamDownload، حيث تمرر له تابع وتقوم داخل التابع بطباعة محتويات الملف بعد جلبه باستخدام file_get_contents كالتالي: return response()->streamDownload(function () { echo file_get_contents('https://www.example.com/image.png'); }, 'image.png');
    1 نقطة
  22. إن كنت تستخدم redis لتخزين المهام jobs بدلًا من قاعدة البيانات، فيمكنك معرفة حجم queue من خلال Redis Facade بهذا الشكل: use Illuminate\Support\Facades\Redis; Redis::lrange('queueName', 0, -1); // قم بإستبدال queueName باسم الرتل أيضًا يمكنك إستخدام الحزمة laravel/horizon والتي توفر لك لوحة تحكم للإطلاع على queue system ومعرفة كل الوظائف التي تمت والتي فشلت في التنفيذ وغيرها، يمكنك تثبيت الحزمة من خلال الأوامر التالية: composer require laravel/horizon php artisan horizon:install ولتشغيل لوحة التحكم عليك تنفيذ الأمر التالي: php artisan horizon
    1 نقطة
  23. يتم وضع العمليات JOBs في رتل Queue قبل دخولها حيز التنفيذ، لذلك معرفة حجم الرتل، يعطينا عدد العمليات قد الانتظار. حيث نستخدم الدالة size من الصنف Queue ونمرر لها اسم الرتل Queue::size($queue); كما توفر لارافل الكئان Illuminate\Bus\Batch الذي يتوفر عدة خواص: العمليات التي لم تبدأ: // عمليات قيد الإنتظار processed jobs ... $batch->pendingJobs; عمليات أخرى: <?php // UUID المعرف الخاص $batch->id; // الاسم $batch->name; // العدد الكلي للعمليات $batch->totalJobs; // غير مكتملة | فشلت $batch->failedJobs; // المكتملة $batch->processedJobs(); // نسبة الإكمال (0-100)... $batch->progress(); // التأكد من إنتهاء العملية $batch->finished(); // إلغاء العملية $batch->cancel(); // Indicates if the batch has been cancelled... $batch->cancelled();
    1 نقطة
  24. يوفر لارافيل Laravel التابع updateOrCreate والذي يقوم بإستقبال بيانات المستخدم الذي تبحث عنه، وكذلك البيانات التي تريد تحديثها: $user = User::updateOrCreate( ['id' => 5], ['name' => "new full name", 'email' => "mail@gmail.com"] ); بهذا الشكل سوف يتم البحث عن المستخدم الذي يحمل المعرف 5 وفي حالة تم العثور عليه، سوف يتم تغير اسمه وبريده الإلكتروني، وإذا لم يكن موجودًا من الأساس، سوف يتم إنشائه من جديد. ملاحظة: يقوم التابع updateOrCreate بحفظ السجل مباشرةً في قاعدة البيانات، لذلك ليس عليك إستخدام التابع save لحفظ التغيرات. توثيق التابع updateOrCreate في موسوعة حسوب
    1 نقطة
  25. بدأت أخيرا في وضع اللمسات الأخيرة على مشروعك، وحان الوقت لتبحث عن استضافة مواقع مناسبة لتطلق موقعك في رحاب شبكة الإنترنت. الآن ستجد نفسك أسير مشكلة أخرى؛ أمام الكم الهائل من شركات استضافة المواقع، كيف ستختار الاستضافة المناسبة لمشروعك الناشئ؟ كثرة الخيارات تربك بشكل فضيع، وتدفع الشخص، غالبا، للانتقاء بشكل خاطئ. لمساعدتك في اختيار أنسب شركة استضافة لشركتك الناشئة أقدم لك هذه القائمة المختصرة التي توفر مجموعة من الخيارات المحدودة التي تتوافق مع كل مرحلة من مراحل مشروعك. لكن يجب أن أشير إلى أنني لم أجرب بنفسي كل هذه الشركات، إنما انتقيتها بناء على كثير من البحث وعدد من القراءات المختلفة لقصص تجارب رواد أعمال آخرين من دول مختلفة. الخطوة الأولى: WebFaction يكون المشروع صغيرا في بدايته، ولا يحتاج إلى سيرفرات خاصة، بل مجرد استضافة صغيرة عادية، من نوع الاستضافات المشتركة Shared Hosting، ستفي بالغرض. لولا أن تلك الاستضافات المشتركة تكون غالبا موجهة للمبتدئين ولا تتيح لك حرية التحكم في النظام كما تحب. لهذا قد تفكر في البدء فورا باستضافة من نوع VPS، إلا أن الوقت ما زال مبكرا على تبذير أموالك القليلة على ذلك النوع من الاستضافات، لذلك فإن الحل هو البحث عن خدمة استضافة وسط بين الاستضافات المشتركة وVPS. في هذه الحالة لن تجد أفضل من استضافة شركة Web Faction، التي تقدم لك تجربة أداء وتحكما كاملا يضاهي استضافات VPS لكن بسعر أقل بكثير. المرحلة الثانية: Linode بعد بضعة أشهر، لن تقل عن ستة، سيبدأ مشروعك الوليد في النمو. ربما عندها ستحتاج إلى استضافة توفر لك مواردا أفضل لتلبية الطلب على موقعك. الآن يحين الوقت لاختيار استضافة VPS. يمكنك آنذاك نقل موقعك كاملا، أو فقط بعض الأجزاء والاحتفاظ بأجزاء أخرى في استضافة Web Faction. أو على الأقل احتفظ بالاستضافة القديمة لتخزين الملفات الثابتة (مثل صور الأعضاء Avatar) والنسخ الاحتياطية من قاعدة البيانات. أفضل استضافة VPS وجدتها هي المقدمة من شركة Linode. توفر خيارات متعددة بأسعار مناسبة للغاية وجودة عالية. المرحلة الثالثة: الحوسبة السحابية قد يكبر بعد ذلك مشروعك بسرعة، وتود أن تنتقل لحلول استضافة سهلة الإدارة لا تتطلب الكثير من مدراء النظام المتفرغين. لن تجد في هذه الحالة أفضل من خدمات الحوسبة السحابية المقدمة من شركة أمازون، التي توفر صيغا متعددة تلبي الكثير من الاحتياجات. هذا الحل قد يكون مناسبا للكثيرين، وثمة من سيفضل الاعتماد عليه منذ أول خطوة أو في المرحلة الثانية. لكني شخصيا لا أحب كثيرا الاعتماد على هذا الحل في كل المراحل. المرحلة الرابعة: سيرفرات خاصة كثيرون سيفضلون استخدام حلول الحوسبة السحابية المقدمة من أمازون في هذه المرحلة أيضا. قد يكون ذلك مناسبا للبعض، لكن ليس دائما. لذلك إذا كانت لديك القدرة على توظيف مدير نظام (Sys Admin) كفؤ، الأفضل مغادرة الحوسبة السحابية حين تصير أغلى من تكلفة السيرفرات الخاصة (Dedicated Servers) وحين يبدأ أداؤها في الانخفاض. ثمة الكثير من الأسماء الموثوقة في مجال تقديم الاستضافة من النوع السيرفرات الخاصة، لكني أفضل شركة SoftLayer. سمعتها طيبة وأسعارها معقولة.
    1 نقطة
  26. قلت سابقا خلال حديثي عن الفرق بين الشركات الناشئة والشركات الصغيرة (التي يمكننا أيضا تسميتها بالشركات المعيشية) بأن الشركات الناشئة مسكونة -بطبيعتها- بهاجس التوسع الكبير ومواصلة النمو بلا حدود، ويوجهها هدف رئيسي يتمثل في التغيير، وجعل العالم مكانا أفضل للعيش. هذا من طبيعة ريادة الأعمال ودونه تغذو الشركات مجرد أعمال تجارية تهدف إلى تحقيق مستوى معيشي معين، وليست شركات ناشئة (Startups) تهدف إلى غزو العالم بمنتجات وأفكار جديدة. لكن تحقيق ذلك النمو الكبير ليس سهلا، وهو ليس عمل يوم وليلة. تحقيق ذلك يتطلب عملا جهيدا يمتد لسنوات لن تقل عن ثلاث. تحقيق ذلك النمو يتطلب صبرا كبيرا وإيمانا أكبر بالهدف من وراء المشروع. أما البحث عن تحقيق ذلك التوسع الكبير من أول يوم فهو السبب الأول الذي سيقود إلى الفشل. ربما أغلبكم يعرف كيف بدأت فيسبوك. لاحظوا أن شبكة فيسبوك انطلقت شهر فبراير من العام 2004، لكنها لم تبدأ فعليا في تحقيق النجاح عالميا إلا في حدود سنة 2007. النقطة الأهم هنا هي أن فيسبوك لم تكن شبكة مفتوحة للعموم في بدايتها، بل كانت متاحة فقط للطلبة الجامعيين. بل ليس كل الطلبة الجامعيين، ففيسبوك لم تكن متاحة لكل الجامعات الأمريكية دفعة واحدة، إذ كانت الشبكة تضيف الجامعات التي يمكن لطلبتها التسجيل فيها، تباعا وليس دفعة واحدة أول مرة. هذا الأسلوب سمح لفيسبوك بالتحكم في حجم النمو والتحكم في المصاريف والبنية التحتية للشبكة، وهو ما أنقدها من الوقوع في نفس الحفرة التي وقعت فيها شبكة Friendster التي كانت ناجحة جدا قبل فيسبوك لكنها فشلت لاحقا بسبب نموها السريع وعدم قدرتها على إدارة ذلك النمو. تحقيق العالمية ليس من أول يوملو ألقيتم نظرة على المشاريع التي عرضت مؤخرا في مؤتمر عرب نت القاهرة -وهي نسخة مصغرة عن حالة المشاريع العربية الناشئة عموما- لوجدتم أن أغلبها متوفر بالانجليزية. ما سبب ذلك؟ لا أجد إلا ثلاثة أسباب لذلك: (3) صاحب المشروع ليس متمكنا من العربية، (2) صاحب المشروع يعتقد أن العرب يستخدمون الإنترنت بالانجليزية أكثر من العربية، أو (1) صاحب المشروع يريد استهداف العرب وغير العرب فيستخدم الانجليزية كونها لغة عالمية. السبب رقم ثلاثة أزمة حقيقية تمس الثقافة العربية، لكنه خارج اهتمامنا الآن. أما السبب الثاني فهو اعتقاد شائع لكن لا توجد أي دراسة تثبت ذلك، وإن كان مجرد بحث صغير -حسب رؤيتي الشخصية- سيثبت عكس ذلك. أما السبب رقم واحد فهو ما يهمنا في هذا الموضوع. لو أن صاحب الشركة الناشئة يعتمد الانجليزية لأنه يريد كل العالم فهو يرتكب خطأ كبيرا لأنه يتجاهل السوق العربي الذي يعرفه ويتسرع بالتوسع نحو سوق عالمي لا يعرف عنه شيئًا. قال السيد رشيد البلاع، مؤسس الوطنية للإنترنت (N2V)، في حوار سابق مع زاجل: ”النموذج الذي نستعمله ونحاول أن نطبقه على رواد الأعمال الذين نعمل معهم هو أن نطلب منهم أن يفكروا بمشروع له مستقبل كبير وأن يبدؤوا بتطبيقه بشكل صغير لاثبات النظرية وبعد ذلك إما أن ينمو المشروع بشكل كبير أو يقتل بشكل سريع وينتقلوا لمشروع آخر. “ هذا هو المطلوب، إيجاد فكرة لمشروع يستهدف سوقا كبيرا، لكن يتم البدء بالتركيز على فئة صغيرة من السوق، لاختبار الفكرة وملاءمتها للسوق، ثم مواصلة النمو تدريجيا، حتى تحقيق الهدف النهائي بالاستحواذ على كامل السوق المستهدف. التركيز الجغرافي ليس عنصريةخلال حديثي مع صديق حول مشروعه وفرص نموه اقترحت عليه التركيز على محيطه الجغرافي (أي دولته) والنجاح في ذلك المحيط لاكتساب علامة تجارية قوية، ثم بعد ذلك يبدأ في التوسع تباعا نحو دول عربية أخرى. كان رده بأنه مقتنع بالفكرة لكنه يخاف من تهمة العنصرية. أي أن يتهم بأنه يتجاهل الآخرين ويركز فقط على دولته لدوافع عنصرية! لا أنكر بأن رده فاجأني، وإن كان الواقع يثبت بأنه هناك فعلا أفراد سينتهجون ذلك النهج، ويتهمونه بالعنصرية. لكنهم مجرد أفراد، وكما يقول المثل البيزنس هو بيزنس. ليس عليك أن تقلق من هذه الناحية. لديك مشروع معين، إبدأ بتنفيذه في المحيط الجغرافي الذي تعرفه جيدا، ولا تلتفت إلى باقي الأسواق المماثلة إلا حين تحقق النجاح في سوقك المحلي. لماذا يجب أن تبقى صغيرا؟ثمة عدد من الأسباب تدفعك لأن تبقى صغيرا لأطول فترة ممكنة، أو هي امتيازات لا يمكنك تجاهلها تحصل عليها حين تبدأ صغيرا. أهمها؛ تقليل المخاطرة لأنك آنذاك ستستثمر مالا ووقتا أقل في المشروع، وفي حالة الفشل لن تخسر الكثير. أما الامتياز الآخر فهو قدرتك على المناورة والمنافسة، فحجمك الصغير يمنحك ميزة المرونة والسرعة في اتخاذ القرارات، وبالتالي قدرة أعلى على مواجهة المنافسة. الخلاصة: لا تتسرع بالتوسع في مشروعك. إبدأ صغيرا وحافظ على حجمك الصغير إلى أن يتعذر عليك البقاء صغيرا. أي إلى أن تحقق النجاح تلو النجاح وتكتسب تسارعا طبيعيا في حجم النمو. أن تبدأ صغيرا يعني قدرتك على التحكم في المصاريف والوقت، مما يعني القدرة على بدء وإدارة مشروعك دون الحاجة لتمويل كبير. أن تكون صغيرا يعني أن تكون أسرع في تحقيق الأرباح ومجابهة المنافسين، ويعني قدرتك على أن تخدم عملاءك فردا فردا وبشكل مباشر، أي قدرتك على تغيير العالم بشكل أسرع وأفضل.
    1 نقطة
  27. عادة ما يتم الخلط بين ريادة الأعمال وبين امتلاك الأعمال التجارية الصغيرة المدرة للدخل. فالأولى تقود إلى تأسيس الشركات الناشئة (وهو تعريب قاصر لـ Start-up) أما الثانية فهي تؤدي إلى إنشاء الشركات الصغيرة والمتوسطة (Small and Medium Business)، والفرق بينهما هو ذاته الفرق بين امتلاك محل بقالة وتأسيس شبكة اجتماعية على الإنترنت. حسب تعريف ويكيبيديا؛ الشركة الناشئة هي شركة حديثة الإنشاء تكون في طور تنمية وبحث عن الأسواق. أما الشركات الصغيرة والمتوسطة فهي أعمال تجارية ذات إيرادات وعدد موظفين ضمن سقف محدد -قد يختلف بين دولة وأخرى. التعريف صحيح لكنه يبقى قاصرا، نوعا ما، عن الإحاطة الكاملة بمعنى الشركات الناشئة. الفرق الجوهري بين الشركات الناشئة (أو ستارت آب، لو شئتم الدقة) والشركات الصغيرة والمتوسطة، هو أن الأولى تقوم على التغيير والثورة أما الثانية فتقوم على الحفاظ والثبات. صاحب العمل التجاري الصغير لا يتجاوز طموحه تطوير الشركة قليلا لتصل إلى مستوى الشركات المتوسطة. فهدفه الأساسي هو أن يعيش حياة مستقرة مع دخل معقول يلبي متطلباته اليومية. هذا النوع من الشركات عادة ما يكون فرديا (يؤسسه شخص واحد) وخاصا (لا يشترك فيه أي مستثمر خارجي)، سواء كان محل بقالة في حي شعبي أو سلسلة أسواق ممتازة (سوبر ماركت) متواجدة في أكثر من مدينة. أما الشركات الناشئة فهي مسكونة كليا بهاجس التوسع الكبير ومواصلة النمو بلا حدود، ويوجهها هدف رئيسي يتمثل في التغيير، وجعل العالم مكانا أفضل للعيش. يعتبر المال دافعا مهما لبدء الأعمال التجارية، لكنه يعتبر هدفا نهائيا لدى صاحب الشركة الصغيرة أو المتوسطة، في حين أنه مجرد وسيلة لدى مؤسس الشركة الناشئة لتحقيق مزيد من النمو والتوسع. الفارق الأساسي الآخر (وهو أيضا يندرج ضمن مبدأ الحفاظ والتغيير أو الثابت والمتحول) هو: الإبداع والابتكار. صاحب العمل التجاري الصغير لا يقدم على المخاطرة إلا بشكل محدود جدا. هو يبحث عن فكرة ناجحة تجاريا ويقلدها. ابتداء من محلات تصوير المستندات وانتهاءً بمشاريع حقوق الامتياز (Franchise)، مرورا بشركات خدمات استضافة وتصميم مواقع الإنترنت. أما الشركات الناشئة فهي تقوم على الإبداع والابتكار، فدونهما لا يمكنها أن تحقق أي نجاح يذكر. الشركات الناشئة خيار أفضل أم الشركات الصغيرة؟لا يمكن التفضيل بينهما بهذا الشكل، فما دام الهدف النهائي من كل منهما مختلفا، فإن الاختيار بينهما يتحدد بالهدف نفسه، أي بالغاية وليس بـ ”البريستيج“! كيف تختار بين أن تؤسس عملا تجاريا صغيرا وبين أن تبني شركة ناشئة؟ أولا حدد هدفك، هل تريد الحصول على حياة مستقرة ودخل شبه مضمون أم أنك تريد خوض مغامرة إنشاء عمل تجاري جديد والانطلاق في رحلة التوسع بلا حدود. حدد أيضا إذا ما كنت قادرا على الابتكار ومواصلة الإبداع بلا قيود، أم أن ملكاتك الإبداعية محدودة. أدرس الخيارات الأخرى أيضا، مثل القوانين التنظيمية وإمكانيات التمويل. عادة الحصول على تمويل للمشاريع الصغيرة والمتوسطة يكون أسهل (خاصة القروض البنكية). بعض الدول العربية تقدم الدعم للمشاريع الصغيرة أكثر مما تقدمه للشركات الناشئة. فالمغرب، مثلا، ومصر يتوفران على برامج حكومية لدعم الشركات الصغيرة والمتوسطة، في حين أن الأردن، وإلى حد ما السعودية أيضا، توفران دعما أكبر للشركات الناشئة من خلال برامج موجهة لرواد الأعمال. من جهة أخرى، غالبا يتم ربط ريادة الأعمال (أي بناء الشركات الناشئة) بمجال الإنترنت، لكن هذا غير صحيح. فتأسيس الأعمال الناشئة (Startups) ليست حكرا على الإنترنت فحسب. كما أنه هناك أفكار كثيرة يمكن إنشاؤها على الإنترنت وهي تندرج ضمن تصنيف الأعمال الصغيرة وليس المشاريع الريادية الناشئة، مثل: شركات استضافة وتصميم المواقع، خدمات الترجمة، الاستشارات القانونية، التدريب... حلل كل هذه التفاصيل بشكل دقيق، وبعد ذلك ستستطيع الاختيار بسهولة، بين أن تبادر بإنشاء شركة ناشئة، تؤسس عملا تجاريا صغيرا.. أو تكتفي بالعمل كموظف في شركة أخرى.
    1 نقطة
×
×
  • أضف...