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

كل الأنشطة

تحدث تلقائيًا

  1. الساعة الماضية
  2. Matplotlib هي مكتبة رسم بياني في بايثون تقدم تحكما دقيقا في تفاصيل الرسوم البيانية وتتيح مرونة كبيرة في التخصيص، كما يمكن استخدامها لإنشاء رسوم بيانية بسيطة ومعقدة وتدعم مجموعة واسعة من الأنواع مثل الخطوط والأشرطة والدوائر وحتى الرسوم البيانية ثلاثية الأبعاد. في حين أن Seaborn مبنية على Matplotlib وتستخدم لإنشاء رسوم بيانية أكثر تعقيدا وجمالية بشكل أسهل وتأتي بأنماط جاهزة تجعل الرسوم البيانية أكثر جاذبية وتوفر دوال مدمجة لإنشاء الرسوم البيانية الإحصائية بسهولة. كما أنها تتكامل بسهولة مع مكتبة Pandas، مما يجعلها مناسبة لتحليل البيانات والاستكشاف في النهاية فإن اختيار المكتبة يعتمد على احتياجات المشروع، فإذا كنت بحاجة إلى تخصيص دقيق، فإن Matplotlib هي الأفضل، أما إذا كنت تريد سهولة في الاستخدام ورسوم بيانية جميلة بسرعة، فإن Seaborn هي الخيار الأنسب.
  3. كلاهما لتحليل البيانات وتصويرها في لغة البرمجة Python، وكل منهما مناسبة لأغراض معينة. لأن Matplotlib هي مكتبة أساسية لتصوير البيانات ومرنة جداً وتوفر تحكم كامل بالتفاصيل الدقيقة للرسم البياني، وتستخدم لإنشاء الرسوم البيانية البسيطة والمعقدة. أما Seaborn في الواقع هي مبنية على Matplotlib وتهدف إلى جعل عملية إنشاء الرسوم البيانية الإحصائية أكثر سهولة وجمالية، حيث توفر واجهة عالية المستوى لإنشاء الرسوم البيانية الإحصائية المعقدة بسهولة. بالتالي Matplotlib تتطلب كتابة كود برمجي أكثر تفصيلاً لإنشاء الرسوم البيانية وتحتاج إلى إعدادات يدوية لكل جزء من الرسم البياني. بينما Seaborn توفر واجهة أبسط وأكثر بديهية لإنشاء الرسوم البيانية، وتقوم بتحديد العديد من الإعدادات بشكل تلقائي لجعل الرسوم البيانية أكثر جمالية. لذا Matplotlib توفر تحكم كامل في كل جزء من الرسم البياني، مما يجعلها مناسبة عند الحاجة إلى تخصيصات دقيقة ومعقدة.
  4. السلام عليكم اي الفرق بين seaborn وبين matplotlib ؟
  5. نعم بالتأكيد يمكنك ذلك. ستساعدك الفيديوهات على رؤية التعليمات البرمجية قيد التنفيذ وفهم كيفية عملها في السياق العملي. والكتب توفر شروحات أكثر عمقا وتفصيلا للنظريات والمفاهيم الأساسية. ابدأ بمشاهدة فيديوهات تعليمية للحصول على نظرة عامة وفهم أساسي للمفاهيم. ثم بعد مشاهدة الفيديوهات، استخدم الكتاب لتعمق الفهم ولإيجاد تفاصيل إضافية حول الموضوعات التي تعلمتها. ولكن حاول كتابة الأكواد بنفسك وتجربة ما تعلمته من الفيديوهات والكتاب. الطريقة المثلى هي عند مواجهة صعوبة في الفيديوهات استعن بالكتاب لمزيد من التوضيح.استخدم الكتب كمرجع بعد الانتهاء من موضوع معين. توكل على الله واجتهد.
  6. لا مشكلة، الفصول مرتبة ترتيبًا متدرجًا بدءًا من المواضيع الأساسية وحتى المواضيع المتقدمة بما يناسب المتعلم الجديد الذي يريد تعلم لغة جافاسكربت من الصفر دون خبرة مسبقة
  7. هل استطيع تعلم جافا سكربت عن طريق المقاطع وفي النفس الوقت استخدم الكتاب لمساعدتي اكثر ؟ ام ان الكتاب اصعب وليس للمبتدئين ؟
  8. يمكنك تحميله بصيغة PDF وقراءته على جهازك، ولكن لا توجد خدمة لطلب نسخة ورقية منه مباشرة من خلال الأكاديمية. إذا كنت ترغب في الحصول على كتب معينة، يمكنك زيارة قسم "الكتب" في الموقع واختيار الكتاب الذي تريده. ستحصل على معلومات حول الكتاب مثل نبذة تعريفيّة، اسم الكاتب، التقييم العام، وتفاصيل أخرى مثل عدد مرات التحميل وحجم الملف. كما يمكنك متابعة تفاعلات الأعضاء ومراجعاتهم حول الكتب التي قمت بتحميلها. إذا كنت تفضل النسخ الورقية، يمكنك طباعة الكتاب بنفسك بعد تنزيله من الموقع. تتوفر الكتب الإلكترونية مجانا وتدعم الطباعة لاستخدامك الشخصي. للأسف، لا توجد حاليا خدمة لتوفير الكتب الورقية من قبل أكاديمية حسوب، ولكن الطباعة الذاتية تعتبر حلا مناسبا.
  9. لا يوجد نسخة مطبوعة من الكتاب، لكن الكتاب مجاني تحت رخصة المشاع الإبداعي، أي تستطيعي تحميله ثم طباعته بنفسك لقراءته. لكن في بدايات تعلمك لا أنصحك بالتعلم من كتاب، فأنتِ بحاجة إلى مشاهدة التطبيق العملي والتوضيح بالفيديو وبعد الإنتهاء من الأساسيات والتطبيق عليها والوصول لمستوى جيد تستطيعي قراءة الكتاب.
  10. السلام عليكم بنسبه لكتاب جافا سكربت الموجود على المنصه هل استطيع الحصول عليه عن طريق طلبه ؟ لانني لا احب القراءه عن طريق الجهاز
  11. اليوم
  12. الله ينور علي حضرتك والله جزاك الله كل خير شكرااا لحضرتك جدا جدا ماكنتش اعارف كده الصراحه شكراا جدا اصل هو بستخدم jupyter فا عمل العكس هل علي jupyter عادي ؟ ونا بستخدم VScode
  13. الكود الذي كتبته صحيح، ولكن هناك نقطة مهمة يجب أن تعرفها بخصوص استخدام الأنماط (styles) في مكتبة matplotlib. الأنماط يجب أن تطبق قبل إنشاء الرسم البياني (أي قبل استدعاء دالة plt.plot). هنا انت قمت بإنشاء الرسم البياني أولا ثم حاولت تطبيق النمط، وهذا هو السبب في أن النمط لم يطبق على الرسم البياني. دعنا نعيد كتابة الكود بشكل صحيح بحيث يتم تطبيق النمط قبل إنشاء الرسم البياني: import matplotlib.pyplot as plt # قائمة الأعداد للمحورين a = [1,2,3,4,5,6,7,8] b = [1,2,3,4,5,6,7,8] # تطبيق النمط قبل رسم المخطط plt.style.use('bmh') # رسم المخطط plt.plot(a,b) # عرض المخطط plt.show() في هذا الكود، قمت بتطبيق النمط bmh قبل رسم المخطط، لذا سيتم تطبيق النمط على المخطط بشكل صحيح.
  14. السلام عليكم عندي استخدم مكتبه matplotlib بكتب الكود ده import matplotlib.pyplot as plt a = [1,2,3,4,5,6,7,8] b = [1,2,3,4,5,6,7,8] plt.plot(a,b) plt.style.use('bmh') plt.show() بس ليه هنا الخلفيه زي ماهي ليه الكود مشتغلش صح ؟
  15. The interaction between engineering and business can make the difference in achieving successful technology management. In fact, it opens up an interesting field of opportunities for innovation and the development of competitive advantages. However, not many engineering professionals have engineering and management skills in their profile. This fortunate marriage involves technology management, but also the design of business models, processes and business practices. Therefore, it is the best way to fight against the competition with more agile and visionary responses. Solve the gap between technical Baricitinib 4mg (Barigen) skills and business management The engineering-business management combination is fortunate when one considers that many engineers are not prepared to address the challenges of technology management. This gap between technical skills and business skills demands educational programs that integrate both areas effectively. The objective is to develop skills to implement significant changes taking advantage of technology. Embrace virtual learning in the Digital Age You may be interested in reading: Adopt virtual learning in the Digital Age Accelerate your career with the right program Share your data with us and let our advisors guide you towards excellence The combination of both functions includes, among other capabilities: A solid foundation in Business Analytics, Operations Research and Commercial Intelligence topics. Skills in collaborative design, process modeling and strategic analysis. Knowledge in change management and leadership in innovation issues. Understanding of IT project management and the development of business agility that ensures effective adaptation to constantly changing markets. Expertise in managing, negotiating and developing innovation strategies. Where can you find a program that successfully brings all this together? HeMaster in Business Engineering with Information Technologies(MBE): Towards the digital transformation ofUC Chileaddresses the aforementioned topics, and is aimed at students with a background in engineering, business and technology. It is ideal for industrial, commercial, computer and systems engineers, providing them with training in the evaluation of processes to build products and systems. This Program from the Engineering Department of UC Chile combines theory and practical experience. It also encourages the application of knowledge in a project that tests the acquired skills, addressing three central areas: Management, Technology and Innovation. If you want to know more details about this UC Chile program, supported by its prestigious Engineering Department, visitour website.
  16. في البداية دعنا نتعرف أولاً عن معني كل مصطلح منهم أولًا: تنسيق EDIFACT هو اختصار لـ “Electronic Data Interchange for Administration, Commerce, and Transport” وهو تنسيق قياسي يُستخدم لتبادل البيانات بين أنظمة المؤسسات. يعتمد على ترميز البيانات بشكل نصي ويستخدم لتبادل المعلومات التجارية والمالية واللوجستية. باختصار هو طريقة لتوحيد التواصل بين الأنظمة المختلفة للمؤسسات، وبالتالي مهما كان نشاط المؤسسة وأسلوبها في التعامل، فالجميع مجبر على اتباع قواعد معينة لتوحيد التواصل فيما بينهم. فيتم استخدام رموز معينة للتعبير عن الشيء المطلوب، المثال التالي يوضح عناصر إشعار شحن يمكن استخدامه بين عدة مؤسسات رقم الفاتورة تاريخ الفاتورة إشارة الشحن (تاريخ شحن كل عنصر) شروط الدفع تفاصيل العناصر المحددة والرسوم الزيادات والخصومات أما لغة XML فهي لغة ترميزية يمكننا من خلالها تمثيل البيانات المهيكلة والمنظمة، على سبيل المثال بيانات جدول بقواعد البيانات يمكن تمثيلها باستخدام هذه اللغة كما بالمثال التالي: <?xml version="1.0" encoding="UTF-8"?> <products> <product> <name>K.B</name> <price>100</price> </product> <product> <name>Mouse</name> <price>80</price> </product> <product> <name>Speaker</name> <price>200</price> </product> </products> وللتحويل بينهما، يجب فهم هيكلة EDIFACT ثم يمكن تحويلها إلى ملف نصي، ومن ثم تحويل الملف النصي إلى هيكلة xml العناصر: رقم الفاتورة (Invoice Number): في XML، يمكن تمثيله باستخدام عنصر مثل <InvoiceNumber>. تاريخ الفاتورة (Invoice Date): يمكن تمثيله باستخدام عنصر مثل <InvoiceDate>. إشارة الشحن (Shipment Referral - تاريخ شحن كل عنصر): يمكن تمثيله باستخدام عنصر مثل <ShipmentReferral>. شروط الدفع (Payment Terms): يمكن تمثيله باستخدام عنصر مثل <PaymentTerms>. تفاصيل العناصر المحددة والرسوم (Specific Item Details and Charges): يمكن تمثيلها باستخدام عناصر مثل <Item> و <Charge>. الزيادات والخصومات (Surcharges/Discounts): يمكن تمثيلها باستخدام عناصر مثل <Surcharge> و <Discount> وستكون الشيفرة كاملة شيء كهذا <Invoice> <InvoiceNumber>12345</InvoiceNumber> <InvoiceDate>2024-05-21</InvoiceDate> <ShipmentReferral> <Item1>2024-05-15</Item1> <Item2>2024-05-18</Item2> <!-- ... --> </ShipmentReferral> <PaymentTerms>Net 30</PaymentTerms> <ItemDetails> <Item> <Description>Product A</Description> <Quantity>10</Quantity> <UnitPrice>100</UnitPrice> <!-- ... --> </Item> <!-- ... --> </ItemDetails> <Surcharges> <Surcharge> <Description>Shipping Fee</Description> <Amount>20</Amount> </Surcharge> <!-- ... --> </Surcharges> <Discounts> <Discount> <Description>10% Off</Description> <Amount>50</Amount> </Discount> <!-- ... --> </Discounts> </Invoice> بالتأكيد الموضوع يحتاج إتقان كلٍ من التنسيقين وكذلك معرفة ودراسة تفاصيل المعلومات المراد تحويلها حتى لا يحدث خطأ.
  17. كيف احول للـ EDIFACT كيف احول للـ XML
  18. وهل عند انتهاء من الدورة مثلا والبحث عن العمل لمدة 6 اشهر ولم اجد عمل ..وقمتم بارجاع لي المبلغ هل بعدها يتم اخراجي من الاكاديمية 🤔؟
  19. البارحة
  20. إذا بدأت بدورة علوم الحاسوب وليس لديك خبرة سابقة، نعم يمكنك دخول سوق العمل بعد الانتهاء منها بشرط أن تكون الدورة شاملة وتغطي الأساسيات مثل البرمجة وهياكل البيانات والخوارزميات. مسألة الدخول لسوق العمل برأيي أنه لا يحتاج اكتساب خبرة كبيرة، فيمكن البدء من خلال العمل على مشاريع صغيرة نجد أنفسنا قادرين على حلها ثم التدرج شيئا فشيئا وبالطبع سنتعلم أكثر من خلال المشاريع التي ننجزها. من المهم أيضًا أن تطبق ما تتعلمه من خلال مشاريع عملية وتبقى على اطلاع بالتطورات الجديدة في المجال. الخبرة العملية، سواء من خلال التدريب أو العمل بدوام جزئي، ستساعدك كثيرا. وإذا وجدت نفسك مهتما بمجال معين بعد الانتهاء من الدورة، يمكنك متابعة التعلم في هذا المجال لتزيد من فرصك في الحصول على وظيفة مناسبة مستقبلا، فهذه الدورة يبدو أنها ضرورية لدخول الدورات الأخرى وتعلمها. يمكنك مراجعة الاستفسارات والإجابات حول دورة علوم الحاسوب من هنا:
  21. العديد من المواقع توفر إمكانية تصميم صفحات ويب باستخدام قوالب جاهزة، وتتيح لنا أيضا تحميل الكود الخاص بالموقع بعد الانتهاء من التعديلات. من بين هذه المواقع، موقع Wix وهو أحد الخيارات الشهيرة، حيث يمكن استخدام واجهة مستخدم بديهية وسهلة لتصميم الموقع دون الحاجة إلى كتابة أي كود وبعد الانتهاء من تصميم الموقع، يمكن تصديره كملفات HTML وCSS وJavaScript. Squarespace هو الآخر يقدم خدمة مماثلة، حيث يتيح استخدام مجموعة من القوالب الاحترافية التي يمكن تخصيصها بسهولة. بعد تصميم الموقع، يمكن نشره مباشرة أو تصديره للاحتفاظ بنسخة من الكود. WordPress غني عن التعريف وهو يعتبر منصة مرنة للغاية، خصوصا عند استخدام إضافات مثل Elementor أو Divi. فهذه الإضافات توفر واجهات سحب وإفلات تتيح تصميم الموقع بدون كتابة كود. بعد الانتهاء، يمكن تصدير الكود الخاص بالموقع فإذا كنت تستخدم مكونات إضافية معينة تدعم هذه الخاصية. Bootstrap Studio هو تطبيق يمكن تنزيله، ويتيح تصميم مواقع باستخدام Bootstrap من خلال واجهة سحب وإفلات أيضا والعديد من المواقع تعمل بنفس المبدأ لأن استخدام هذه الأدوات يوفر الوقت والجهد لكن استخدامها قد لا يكون مناسبا عندما تحتاج إلى تخصيصات متقدمة جدا أو تفاعلات معقدة لا تستطيع هذه الأدوات توفيرها بشكل كامل. فإذا كان الأداء الأمثل هو هدف رئيسي، فقد تنتج هذه الأدوات كودا غير فعال مما يؤثر سلبا على سرعة وأداء الموقع. ففي المشاريع التي تتطلب توافقا مع أنظمة أو متصفحات قديمة، قد يكون من الضروري كتابة الكود يدويا لضمان التوافق الكامل. أما بالنسبة للمشاريع التي تتطلب مستويات عالية من الأمان، الاعتماد على أدوات التصميم بدون كود قد يكون غير كاف لضمان كل متطلبات الأمان الضرورية.
  22. أنصحك باتباع خطة تتضمن الاستماع للدرس مرة واحدة بتركيز ثم تدوين الملاحظات، وبعد الانتهاء من الدرس، تقوم بتلخيص المفاهيم والدوال الرئيسية مع استخداماتها ثم افتح محرر الأكواد وابدأ في تجربة الدوال والأمثلة التي تم شرحها. مع محاولة تطبيق ما تتعلمه فورا لترسيخ المفاهيم وتثبيتها في ذهنك. لتحقيق أفضل النتائج، من المفيد البحث عن مصادر إضافية للتعلم. يمكنك الاعتماد على أكاديمية حسوب حيث توفر العديد من المقالات والمصادر من بينها: كما يمكنك استخدام موقع roadmap.sh للحصول على خارطة طريق مفصلة توضح المهارات والمفاهيم التي يجب تعلمها لتصبح مطور بايثون محترف فتلك الخارطة تقدم ترتيبا منطقيا للموضوعات وتساعد على تتبع تقدمك في التعلم وهذا رابطها: Step by step guide to becoming a Python developer in 2024
  23. أول خطوة نقوم بتنظيم ملفات القوالب وذلك من خلال إنشاء مجلد `templates` في جذر الموقع، ونضع بداخله مجلدات لكل قالب بحيث يكون لكل مجلد قالب يحتوي على ملفات `.tpl` الخاصة به هكذا: project_root/ |-- templates/ | |-- template1/ | | |-- header.tpl | | |-- footer.tpl | | |-- index.tpl | |-- template2/ | |-- header.tpl | |-- footer.tpl | |-- index.tpl |-- other_files_and_folders/ لإعداد نظام القوالب نستخدم مكتبة مثل Smarty لتسهيل الأمر، نقوم بتثبيتها من خلال ال Composer composer require smarty/smarty ثم نقوم بإعداد ملف php: require_once('vendor/autoload.php'); $smarty = new Smarty; $template = isset($_GET['template']) ? $_GET['template'] : 'default'; $templatePath = __DIR__ . "/templates/{$template}"; $smarty->setTemplateDir($templatePath); $smarty->setCompileDir('templates_c'); $smarty->setCacheDir('cache'); $smarty->setConfigDir('configs'); // Assign variables and display template $smarty->assign('name', 'Abdelouahab'); $smarty->display('index.tpl'); ثم نقوم بإنشاء صفحة في لوحة التحكم لعرض وتعديل ملفات القوالب بهذا الشكل: $templatesDir = __DIR__ . '/templates'; $templates = array_diff(scandir($templatesDir), ['..', '.']); foreach ($templates as $template) { echo "<a href='edit_template.php?template={$template}'>{$template}</a><br>"; } صفحة تعديل القالب: $template = isset($_GET['template']) ? $_GET['template'] : ''; $filepath = __DIR__ . "/templates/{$template}/index.tpl"; if ($_SERVER['REQUEST_METHOD'] === 'POST') { file_put_contents($filepath, $_POST['content']); } $content = file_get_contents($filepath); ?> <form method="post"> <textarea name="content" rows="20" cols="80"><?= htmlspecialchars($content) ?></textarea><br> <input type="submit" value="Save"> </form> ثم نضيف جدول في قاعدة البيانات لحفظ القالب المختار من قبل المستخدم: CREATE TABLE settings ( id INT AUTO_INCREMENT PRIMARY KEY, template VARCHAR(255) NOT NULL ); ثم نقوم بحفظ القالب: $template = $_POST['template']; $pdo = new PDO('mysql:host=localhost;dbname=your_db', 'username', 'password'); $stmt = $pdo->prepare("UPDATE settings SET template = ? WHERE id = 1"); $stmt->execute([$template]); ثم نستخدمه من خلال هذه الشيفرة: $stmt = $pdo->query("SELECT template FROM settings WHERE id = 1"); $template = $stmt->fetchColumn(); $templatePath = __DIR__ . "/templates/{$template}"; $smarty->setTemplateDir($templatePath); $smarty->assign('name', 'Abdelouahab'); $smarty->display('index.tpl'); وأخيرا في لوحة التحكم، نقوم بإضافة خيار لتحديد القالب الحالي من خلال إنشاء قائمة منسدلة (Dropdown) لاختيار القالب، وتحديث القيمة في قاعدة البيانات عند التغيير هكذا: $templatesDir = __DIR__ . '/templates'; $templates = array_diff(scandir($templatesDir), ['..', '.']); echo "<form method='post'>"; echo "<select name='template'>"; foreach ($templates as $template) { echo "<option value='{$template}'>{$template}</option>"; } echo "</select>"; echo "<input type='submit' value='Save'>"; echo "</form>"; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $selectedTemplate = $_POST['template']; $stmt = $pdo->prepare("UPDATE settings SET template = ? WHERE id = 1"); $stmt->execute([$selectedTemplate]); }
  24. بداية، ستحتاج إلى إنشاء نموذج Django يعبر عن البيانات التي تريد تخزينها لنفترض أنك تريد حفظ اختيار المستخدم في حقل يسمى 'choice' فأول خطوة كما ذكرنا هي إنشاء النموذج على النحو التالي في ملف `models.py`: from django.db import models class ChoiceModel(models.Model): CHOICES = [ ('option1', 'Option 1'), ('option2', 'Option 2'), ('option3', 'Option 3'), ] choice = models.CharField(max_length=10, choices=CHOICES) def __str__(self): return self.choice وهذا النموذج يحتوي على حقل يتضمن خيارات ثابتة يمكن للمستخدم الاختيار منها. ثاني شيء ستحتاج إلى إنشاء نموذج Form يعرض القائمة المنسدلة في HTML ننشؤه من خلال ملف forms.py على النحو التالي: from django import forms from .models import ChoiceModel class ChoiceForm(forms.ModelForm): class Meta: model = ChoiceModel fields = ['choice'] ولتوضيح الفكرة فهذا النموذج يستخدم النموذج الذي أنشأته في الخطوة السابقة لعرض القائمة المنسدلة في HTML. بعدها ستحتاج إلى إنشاء عرض أو (View) يعرض النموذج ويتعامل مع البيانات المرسلة من المستخدم ننشؤه في ملف views.py على النحو التالي: from django.shortcuts import render, redirect from .forms import ChoiceForm def choice_view(request): if request.method == 'POST': form = ChoiceForm(request.POST) if form.is_valid(): form.save() return redirect('success') else: form = ChoiceForm() return render(request, 'choice_form.html', {'form': form}) هذا العرض يتأكد من أن النموذج يتم عرضه بشكل صحيح ويتعامل مع إرسال البيانات فإذا كان الطلب من نوع POST يتم التحقق من صحة النموذج وحفظ البيانات في قاعدة البيانات لكن سنحتاج إلى إنشاء قالب HTML يعرض النموذج. يمكنك إنشاء هذا القالب في ملف choice_form.html داخل مجلد `templates` على النحو التالي: <!-- templates/choice_form.html --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Choice Form</title> </head> <body> <h1>اختر من القائمة المنسدلة</h1> <form method="post"> {% csrf_token %} {{ form.as_p }} <button type="submit">إرسال</button> </form> </body> </html>
  25. لحل المشكلة يمكنك تعطيل الكود في ملف 'AuthServiceProvider.php' مؤقتا حتى يتم إنشاؤه بنجاح أثناء عملية الترحيل والبذر لأنه يستخدم جدول 'permissions' كما هو موضح هنا: /* Permission::whereIn('name', ['edit-post', 'delete-post', 'add-post'])->get()->map(function($per) { Gate::define($per->name, function($user, $post) use ($per) { return $user->hasAllow($per->name) && ($user->id == $post->user_id || $user->isAdmin()); }); }); Permission::whereIn('name', ['edit-user', 'delete-user', 'add-user'])->get()->map(function($per) { Gate::define($per->name, function($user) use ($per) { return $user->hasAllow($per->name) && $user->isAdmin(); }); }); */ ثم قم بتشغيل الأمر التالي لإنشاء مفتاح التطبيق: php artisan key:generate ثم تأكد من إدخالك لمعلومات الاتصال الصحيحة في ملف `.env` مثلما هو موضح هنا: DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=اسم_قاعدة_بياناتك DB_USERNAME=اسم_مستخدم_قاعدة_بياناتك DB_PASSWORD=كلمة_مرور_قاعدة_بياناتك والآن يمكنك القيام بتشغيل الأمر التالي لترحيل الجداول وتعبئتها بالبيانات الأولية: php artisan migrate:fresh --seed وبعد الانتهاء من الترحيل والبذر بنجاح، افتح ملف `AuthServiceProvider.php` مرة أخرى وقم بإزالة التعليق عن الأسطر التي علقتها سابقا. Permission::whereIn('name', ['edit-post', 'delete-post', 'add-post'])->get()->map(function($per) { Gate::define($per->name, function($user, $post) use ($per) { return $user->hasAllow($per->name) && ($user->id == $post->user_id || $user->isAdmin()); }); }); Permission::whereIn('name', ['edit-user', 'delete-user', 'add-user'])->get()->map(function($per) { Gate::define($per->name, function($user) use ($per) { return $user->hasAllow($per->name) && $user->isAdmin(); }); }); وشغل المشروع مباشرة: php artisan serve ففي هذه العملية، قمنا بتعليق الكود مؤقتا لتجنب حدوث خطأ عند تشغيل الأوامر المتعلقة بتهيئة قاعدة البيانات. فالكود الذي يتم تعليقه يستخدم جدول permissions، وهو جدول لم يتم إنشاؤه بعد. تعليق الكود مؤقتا هنا سيسمح لك بإتمام عملية الترحيل والبذر بنجاح وبمجرد أن يتم إنشاء الجدول من خلال عملية الترحيل والبذر، يمكن إزالة التعليق وإعادة تفعيل الكود لتشغيله بشكل طبيعي.
  26. دليل شامل لـ انشاء متجر على شوبيفاي من الصفر 2024 هل تمتلك فكرة متجر إلكتروني ولديك منتجات ترغب في بيعها من خلاله؟ فإن انشاء متجر على شوبيفاي سيسهل عليك كثيراً ويمكنك من امتلاك متجر إلكتروني ناجح. وتُعَد التجارة الإلكترونية في الوقت الحالي واحدة من أكثر أنواع المشاريع نجاحاً، خاصة بعدما أصبح إنشاء المتاجر الإلكترونية أكثر سهولة وأقل تكلفة مقارنة بإنشاء متجر فعلي على أرض الواقع. كما أن نسبة المتسوقين عبر الإنترنت في تزايد مستمر، حيث بات الكثير من الأفراد يعتمدون على الإنترنت في البحث عن المنتجات التي يرغبون بها وشرائها أونلاين. وفي هذه المقالة سوف نتناول بالتفصيل كيفية انشاء متجر على شوبيفاي، وكذلك التكلفة التي قد تتحملها للحصول على متجر. ما هو موقع شوبيفاي Shopify؟ وكيف يعمل؟ إن موقع شوبيفاي Shopify هو أحد المنصات الإلكترونية التي تتيح للمستخدمين من خلالها إمكانية انشاء وتصميم متجر إلكتروني بسهولة. ويتيح لك موقع شوبيفاي كافة الأدوات التي قد تحتاجها حتى تتمكن من تأسيس متجرك الإلكتروني بنفسك دون الحاجة لامتلاك خبرة حول البرمجة. فكل ما ستحتاجه حتى تتمكن من انشاء متجر على شوبيفاي هو تحديد فكرة المنتجات التي ستعرضها ثم اختيار الخطة التي تناسبك على الموقع وبدء تصميم متجرك الخاص من خلاله بسهولة. ومن ثَم تتمكن من الدخول في عالم التجارة الإلكترونية الذي أصبح في الفترة الأخيرة من أكثر أشكال الأعمال ربحية على الإنترنت. أما بالنسبة إلى آلية عمل الموقع، فشوبيفاي يوفر لك مختلف الأدوات التي تحتاجها لتصميم متجرك الإلكتروني بنفسك بدون الحاجة لاستخدام أكواد برمجية. كما أنه يوفر لك بعض الخصائص المجانية للاستخدام لانشاء المتجر، والبعض الآخر تكون أكثر تقدماً ولكنها مدفوعة أي تحتاج لشرائها لإضافتها واستخدامها في متجرك. ويوفر لك متجر شوبيفاي أيضاً الكثير من خيارات الشحن المحلية والدولية وكذلك بوابات دفع مدمجة من خلاله كما يمكنك أن تقوم بربط متجرك بشركات شحن خارجية أو بوابات دفع خارجية أيضاً. اكمل الليل من هنا
  27. المشروع يستعمل في ملف AuthServiceProvider.php الجدول permissions لإنشاء بعض البوابات (Gates) لتعريف التصريح لبعض العمليات ('edit-post', 'delete-post', 'add-post') لذلك ستحتاج مبدئياً إلى فتح الملف و تعطيل الأسطر: Permission::whereIn('name', ['edit-post', 'delete-post', 'add-post'])->get()->map(function($per) { Gate::define($per->name, function($user, $post) use ($per) { return $user->hasAllow($per->name) && ($user->id == $post->user_id || $user->isAdmin()); }); }); Permission::whereIn('name', ['edit-user', 'delete-user', 'add-user'])->get()->map(function($per) { Gate::define($per->name, function($user) use ($per) { return $user->hasAllow($per->name) && $user->isAdmin(); }); }); أي تعليقها: /* Permission::whereIn('name', ['edit-post', 'delete-post', 'add-post'])->get()->map(function($per) { Gate::define($per->name, function($user, $post) use ($per) { return $user->hasAllow($per->name) && ($user->id == $post->user_id || $user->isAdmin()); }); }); Permission::whereIn('name', ['edit-user', 'delete-user', 'add-user'])->get()->map(function($per) { Gate::define($per->name, function($user) use ($per) { return $user->hasAllow($per->name) && $user->isAdmin(); }); }); */ ثم إكمال عملية تهيئة المشروع: php artisan key:generate إنشاء قاعدة بيانات ثم ربط معلومات الإتصال بها في الملف env. بعد ذلك تنفيذ أمر التهجير و البذر: php artisan migrate:fresh --seed يمكنك بعد ذلك الرجوع إلى الملف السابق وإزالة التعليق من الأسطر السابقة. و أخيراً تشغيل المشروع
  28. عند عمل clone لمشروع لارافيل نظام إدارة المحتوى https://github.com/HsoubAcademy/laravel_cms.git ومن ثم عمل composer update يظهر هذا الخطأ Generating optimized autoload files > Illuminate\Foundation\ComposerScripts::postAutoloadDump > @php artisan package:discover --ansi Illuminate\Database\QueryException SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using passw ord: NO) (SQL: select * from `permissions` where `name` in (edit-post, delete-po st, add-post)) at C:\Users\Mohsen\ALaravel\laravel_cms\vendor\laravel\framework\src\Illuminat e\Database\Connection.php:760 756▕ // If an exception occurs when attempting to run a query, we'll format the error 757▕ // message to include the bindings with SQL, which will make th is exception a 758▕ // lot more helpful to the developer instead of just the databa se's errors. 759▕ catch (Exception $e) { ➜ 760▕ throw new QueryException( 761▕ $query, $this->prepareBindings($bindings), $e 762▕ ); 763▕ } 764▕ } 1 [internal]:0 Illuminate\Foundation\Application::Illuminate\Foundation\{closure}(Object( App\Providers\AuthServiceProvider)) 2 C:\Users\Mohsen\ALaravel\laravel_cms\vendor\laravel\framework\src\Illumina te\Database\Connectors\Connector.php:70 PDOException::("SQLSTATE[HY000] [1045] Access denied for user 'forge'@'loc alhost' (using password: NO)") Script @php artisan package:discover --ansi handling the post-autoload-dump even t returned with error code 1 وعند عمل الامر php artisan migrate --seed يظهر هذا الخطأ
  1. عرض المزيد
×
×
  • أضف...