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

كل الأنشطة

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

  1. الساعة الماضية
  2. تعلم Excel لتحليل البيانات فيه لزمة كبيرة، وده حتى لو كنت بتستخدم لغات برمجة زي Python أو تقنيات SQL في مجال تحليل البيانات. وده لان Excel بيتعامل معاه في كل مكان في الشركات والمؤسسات في الدنيا. تعرف تستخدم Excel يعني إنك تقدر تتعامل مع البيانات في كل الأوضاع وتتواصل مع الناس اللي ممكن يكونوا مش مبرمجين ويفضلوا الأدوات الجرافيكية على البرمجة. وهو ايضا عنده واجهة مستخدم سهلة جدا بتساعدك تعمل تحليلات بسيطة وسريعة من غير ما تحتاج تكتب أكواد معقدة. ده بيخليه مثالي للمهام السريعة أو لما تحتاج تغييرات بسيطة على البيانات. و يمكنك من فهم تنسيقات بيانات مختلفة قبل نقلها لبايثون أو قواعد البيانات. قد تحتاج إلى التعامل مع أنظمة إدارية تخزن البيانات في Excel. فيه كتير من الأدوات القوية للتحليل الإحصائي والمالي، زي Pivot Tables، والدوال الإحصائية، والرسوم البيانية. Excel ممكن يكون نقطة انطلاق ممتازة لفهم الأساسيات قبل ما تتعلم أدوات أكثر تعقيدا زي Python وSQL. بالطبع، Python وSQL قويين جدا وبيتعاملوا مع بيانات أكبر وتحليلات أعقد. Python مفيد خصوصا في التحليل الإحصائي المتقدم والتعلم الآلي، وSQL ممتاز للتعامل مع الاستفسارات المعقدة على قواعد البيانات. بس استخدام Excel لسه مهم لأسباب كتير، وبيكمل مهاراتك في Python وSQL بتقديم حلول سريعة وفعالة في مواقف مختلفة. فهو لا يحل محل بايثون وSQL بالتأكيد، لكن معرفته تساعد خاصة في بداية العمل مع البيانات.
  3. دراسة برنامج إكسل في مجال تحليل البيانات له فوائد عديدة. فبرنامج إكسل يحتوي على ميزات متنوعة تسهل تنظيم وفرز وتصفية البيانات. وهو أداة سهلة الاستخدام ومتوفرة على نطاق واسع في أغلب المؤسسات. فلغات البرمجة مثل بايثون و SQL أيضا id أدوات هامة في تحليل البيانات لكن يبقى تعلم برنامج إكسل مفيد لأنه يمكن أن يكمل استخدام هذه الأدوات الأخرى. يمكن استخدام برنامج إكسل في مشاريع تحليل البيانات المختلفة، كما أنه يمكن تحقيق التكامل مع الأدوات الأخرى يمكنك استخدام Excel لتنظيم وتنسيق البيانات قبل تحليلها باستخدام Python أو SQL، أو حتى لتلخيص النتائج وتقديمها بشكل مبسط للآخرين. يمكنك تصفح هذا المصدر لمزيد من المعلومات المفيدة فقد تم ذكر العديد من استعمالات Excel في هذا المجال:
  4. السلام عليكم هو ليه ان بتعلم Excel في مجال نحليل البيانات هو مش باثيون و SQL مش كافي في مجال تحليل البيانات ؟ هو وان بشتغل علي مشروع سواء مشروع تحليل بيانات او نموذج تعلم الاله مش هنا وان بحليل البيانات ده مش ان في الاساس هستخدم باثيون و SQL
  5. لا يبدوا بالشيفرة أي مشكلة. يرجح أن تكون المشكلة بسبب إعدادات الأمان في المتصفح أو في الخادم. فهذا السلوك يحدث عندما يتم فتح موقع عبر HTTPS وتتم محاولة الوصول إلى API الحافظة (navigator.clipboard.writeText) عبر HTTP. جرب الوصول إلى الموقع باستخدام HTTPS وانظر ما ان حلت المشكلة.
  6. قم بفحص مدخلات المستخدم عن طريق الاستمارة ثم قم بتنفيذ استعلام قاعدة بيانات لجلب ذلك العدد ثم قم بتنفيذ عملية الطرح ببساطة. اليك مثالا: <form action="{{ route('form.submit') }}" method="POST"> @csrf @method('POST') <input type="number" name="number" /> <button type="submit">submit</button> </form> ثم قم بتعريف المسار المعني: Route::post('/form/submit', function(Request $request){ $number = $request->number; $storedNumber = MyModel::first()->my_number; $result = (int) $number - $storedNumber; // بقية الكود })->name('form.submit'); قد تحتاج كخطوة اضافية فحص ادخال العدد والتأكد من أنه عدد بالفعل. Route::post('/form/submit', function(Request $request){ $request->validate(['number' => 'integer']); $number = $request->number; $storedNumber = MyModel::first()->my_number; $result = (int) $number - $storedNumber; // بقية الكود })->name('form.submit');
  7. العمل في مضمار الترجمة على موقع سمارت كات Smartcat للترجمة هو مجال خصب لإثبات الذات وتأكيد الثقة بالنفس وإظهار القدرات والمهارات الفردية وتحقيق الطموحات الشخصية؛ وهو حقل واسع يتضمن العديد من مجالات الترجمة المختلفة. يتميز موقع Smartcat بكونه رحب وواسع أمام المترجمين وأصحاب الشركات الكبيرة والمشاريع الصغيرة في إنجاز العديد من مشاريع الترجمة، وأن له دورًا كبيرًا في إيجاد فرص عمل منتجة للمترجمين والعاملين في صناعة الترجمة؛ وذلك لأنه يستوعب أعدادًا كبيرةً من العمالة ويساهم في خلق بيئة ديناميكية تمكّن المترجمين المحترفين من تسويق خدماتهم وعرض مهاراتهم بشكل مرن للغاية. كما يساعدهم في الوصول إلى مجموعة واسعة من الفرص الوظيفية، سواء كانوا يبحثون عن مشاريع حرة أو عقود دائمة؛ ولا يمكن تحقيق ذلك إلا بامتلاك ملف شخصي على الموقع. الصفحة الرئيسية لموقع سمارت كات للترجمة إن الاهتمام بإنشاء ملف شخصي ناجح على موقع سمارت كات يجب أن يسير وفق استراتيجية ناجعة تستفيد من الفهم عميق للأسواق المستهدفة ومتطلبات الوظائف المرغوبة؛ إذ يتعين عليك تحليل احتياجات الصناعة وفهم الكفاءات المطلوبة، مما يساعدك في تحديد العناصر الأساسية التي يجب تسليط الضوء عليها في ملفك الشخصي، وتضيف إليها معرض أعمال جذاب بما يتواءم مع سياسة الموقع. تتناول هذه المقالة عرضًا لأهم الخصائص التي يجب أن يتصف بها ملفك الشخصي على موقع سمارت كات للترجمة. تتلخص هذه الخصائص المهمة في 12 عنصر أساسي على النحو التالي، وللحصول على ملف شخصي ينال محط أنظار العملاء المحتملين والجدد على الموقع، ننصحك باتباع النصائح الأتية: واضح ومترابط منطقيا بعد إتمام عملية التسجيل التي تطرقنا إليها في المقال السابق سيطلب منك الموقع إعداد ملفك الشخصي وكتابة نبذة تعريفية تشرح فيها خبراتك ومهاراتك وقدراتك؛ لكن وجب التنويه إلى نقطة ضرورية قد يغفل عنها البعض، إذ يقضي ممن لديهم ملف شخصي على موقع سمارت كات وغيرها من مواقع العمل الحر في الحديث عن أنفسهم أو انطباعاتهم الشخصية أو حتى عن خبراتهم العامة دون التركيز على العناصر الرئيسية التي تبرز مهاراتهم وكفاءتهم المهنية، الأمر الذي يدفع العميل لاتخاذ قرار التوجه إلى حساب مترجم آخر ليجد عنده ما لم يجده لديك. على سبيل المثال إذا كنت مترجمًا تعمل في مجال الترجمة القانونية ولديك ملف تعريفي على موقع سمارت كات، فيجب أن تحدد لغات العمل الخاصة بك، أي اللغة (اللغات) التي تترجم إليها واللغة (اللغات) التي تترجم منها، وقِس عليها بقية التفاصيل. دقيق وموجز يجب أن تكون النبذة التعريفية عنك دقيقةً وموجزةً دون إثارة للبس أو التعقيد. ويُنصح أيضًا بإضافة كلمات مفتاحية بسيطة تصف مهاراتك بدقة، ولا مانع من إضافة عدد سنوات خبرتك في المجال ذات الصلة. وللحصول على ملف شخصي دقيق وموجز اتبع النصائح التالية: تجنب العبارات الركيكة والمطولة ابتعد عن الحشو والعبارات المكررة حدد أهدافك المهنية بوضوح واختصار حدّث النبذة التعريفية بشكل دوري لتعكس آخر تطورات مسارك المهني. إتمام الملف الشخصي يفقد العديد من مستخدمي المنصة الكثير من الفرص بسبب تغاظيهم عن إكمال الملف الشخصي الخاص بهم؛ لذلك أول خطوة صحيحة لجذب العملاء هي إتمام الملف الشخصي الخاص بك وإبراز أفضل أعمالك. صحيح إملائيا وقواعديا تأكد من أن ملفك التعريفي خالٍ من الأخطاء اللغوية والنحوية والإملائية، فلا يعقل أن تكون مترجمًا ولغتك تعج بالضعف اللغوي والركاكة الهزيلة. اسأل نفسك: كيف سيثق العميل بقدرتك على الترجمة إذا كانت لغتك غير سليمة؟! مهذب وصريح يجب أن يتحلى ملفك الشخصي على قدر كبير من الاحترافية والمصداقية والأدب عند وصف نفسك وتقديم معلوماتك المهنية. تذكر أن لغتك تعكس انطباعًا عن نفسك، وبالتالي يجب أن تولي اهتمامًا فائقًا للمفردات التي تستعملها. الابتعاد عن المبالغة في تصوير الإنجازات والقدرات الشخصية قد يبالغ المستخدم في تصوير إنجازاته ومهاراته، وقد يدّعي بعض الإنجازات والمهارات التي لديه وهو في الحقيقة عكس ذلك، لكن في نهاية المطاف سوف يتضح الواقع للزوار، وسيقلل هذا من فرص القبول؛ لذلك احرص على عدم المبالغة حتى لا تثير الشكوك بين العملاء عندما يجدون معلومات متنافرة مع الحقيقة. صورة شخصية احترافية من الجدير بالذكر أن تحرص على وضع صورة شخصية مناسبة، فهي تلعب العنصر البصري الأول الذي يشد انتباه الزوار. وإليك أهم النصائح لاختيار موفق: وضوح الصورة: تأكد أن الصورة الشخصية واضحة تمامًا وذات جودة عالية، حتى يتمكن العملاء من رؤية ملامح وجهك جيدًا. وابتعد قدر الإمكان عن استخدام الفلاتر. تجنب ارتداء النظارات الشمسية: وذلك حتى لا تعطي انطباع أنك لا تريد أن تظهر في الصورة. صور الوجه فقط ولا تنسى الابتسامة الصادقة: يُفضل استخدام صورة للوجه فقط دون أجزاء أخرى من الجسم، كما يُشجع على الابتسامة بطريقة صادقة وودّية لتظهر بشكل لطيف ومحبب. تحقق من الإضاءة الخاصة بك: تجنب الظلال القوية والإضاءة الزائدة التي قد تؤثر على جودة الصورة. معرض أعمال ناجح يجب أن تسأل نفسك أولًا: أي نماذج الأعمال يمكن أن يتفاعل معها العملاء بأفضل شكل ممكن؟ وأيها يمكن أن يؤدي إلى ردة فعل غير إيجابية؟ بناءً على الإجابة حسّن معرض أعمالك. عند عرض نماذج الأعمال الخاص بك، لا بد من مراعاة النصائح التالية: اعرض أفضل أعمالك أولًا، ليكون الانطباع الأول عن أعمالك أفضل ما يمكن. ضع روابط لمشاهدة أعمالك إن أمكن ليعكس مدى مهنيتك واحترافيتك في العمل. تأكد من أن روابط الأعمال تعمل جيدًا وأن الملفات قابلة للفتح بسهولة. أظهر بعض التنويع في الأعمال مع الحفاظ على تخصصك. قدم وصفًا واضحًا وموجزًا لكل مشروع. احرص على أن تكون نماذجك محدّثةً ومتوافقةً مع احتياجات وتوجهات السوق الحالي. إذا كنت مهتمًا ببناء معرض أعمالك بطريقة احترافية، فيمكنك استخدام موقع سمارت كات أو إحدى المواقع والمنصات المجانية المخصصة لذلك. استشهد بآراء أفضل العملاء حاول أن تطلب من العملاء الذين سبق وقدمت لهم خدماتك تقييمات إيجابية تسهم في تعزيز سمعتك على المنصة، إذ يمكن تساعد آرائهم الإيجابية على رفع تقييمات ملفك الشخصي؛ مما يؤدي إلى زيادة ثقة العملاء وجذب المزيد من العملاء الجدد. الترويج اعتمد على منصات التواصل الاجتماعي والمواقع الرقمية لمشاركة ملفك الشخصي وخدماتك، إذ يمكنك بناء هوية جذابة تلفت انتباه الجمهور المستهدف؛ مما يسهم في فتح آفاق لفرص جديدة للتعاون والعمل المشترك. إليك بعض النصائح للترويج الأنجح والأكثر فعالية: اختيار منصات التواصل الاجتماعي المناسبة: حدد المنصات التي يكثر استخدامها في مجالك المهني. على سبيل المثال، تُعَد منصة LinkedIn مناسبةً أكثر للترويج المهني، في حين يمكن أن تكون منصة Instagram أو Twitter أكثر ملاءمةً للمجالات الإبداعية. تحسين ملفك الشخصي على مواقع التواصل: ضع رابطًا مباشرًا يوجه الجمهور نحو ملفك الشخصي على موقع سمارت كات. نشر محتوى قيم باستمرار: شارك جمهورك المستهدف أهم النصائح أو الخبرات التي اكتسبتها من المنصة، وتفاعل معهم وأفدهم من تجاربك. استخدم الوسوم: احرص على استخدام الوسوم ذات الصلة وتجنب استخدام الوسوم العشوائية للحصول على أفضل النتائج ولكي يصل محتواك إلى أكبر شريحة ممكنة من الجمهور المستهدف. تفاعل مع متابعيك ولا تتجاهلهم: كن سريعًا في الرد على تعليقاتهم ورسائلهم الخاصة، مما يظهر لهم مدى اهتمامك بهم ويعزز من استمراريتهم للتفاعل معك. المشاركة في مجتمع سمارت كات: انضم إلى مجموعات أو صفحات متخصصة تتحدث حول المنصة، وتابع الصفحة الرسمية لسمارت كات على مواقع التواصل الاجتماعي ليصلك كل ما هو جديد. استخدم أداة الترجمة بمساعدة الحاسوب الموجودة على سمارت كات تتوفر في الموقع خاصية مميزة تعزز من فرصة ظهورك على الموقع وتحسين تصنيفك. حيث كلما وظفت أدوات الترجمة بمساعدة الحاسوب عبر موقع سمارت كات للترجمة حصلت على دعوة عمل من عملاء جدد. الاستعانة بموقع سمارت كات لبناء معرض أعمال ناجح على مواقع العمل الحر الأخرى يمكنك الاستفادة من موقع سمارت كات في بناء معرض أعمال لك على منصات العمل الحر مثل موقع مستقل وموقع خمسات، وغيرها من المواقع؛ إذ يمكنك بناء معرض أعمال كبير. على سبيل المثال، يمكنك ترجمة ملفات عديدة عبر موقع سمارت كات المجانية وعرضها على موقع مستقل في ملفك الشخصي كدليل يثبت مهاراتك في إيجاد العمل باحترافية على المنصة، وهكذا سيرى العملاء المحتملين والجدد ملفك الشخصي ومن يدري ربما تحصل على فرصة للعمل معهم. خاتمة وصفوة القول إنه لإرساء قواعد جيدة لزيادة زوار بروفايلك على موقع سمارت كات للترجمة يتطلب الأمر إضفاء معرض أعمال ناجح وبناء ملف شخصي جذاب يسهم في تميزك في بيئة شديدة التنافس. ونشدد هنا على أهمية الاستفادة القصوى من النصائح المذكورة آنفًا والعمل بها، حتى نضمن لك تحقيق نتائج إيجابية. اقرأ أيضًا المقال السابق: كيفية انشاء مشروع ترجمة على برنامج سمارت كات Smartcat تعرف على منصة سمارت كات للترجمة ما هي خدمة Translation Hub المقدمة من Google؟ خدمة Azure AI Translator المقدمة من Microsoft مدخل إلى منصة الترجمة Weblate للمبتدئين
  8. هناك احتمالان رئيسيان لمشكلة عدم عمل زر النسخ على السيرفر المحلي، فقد تكون هنالك مشكلة في أذونات JavaScript لأنه قد لا يكون لدى مستخدم الويب على السيرفر المحلي الأذونات اللازمة للوصول إلى واجهة برمجة التطبيقات (API) clipboard الخاصة بـ JavaScript، فواجهة برمجة التطبيقات هذه تستخدم لنسخ النص إلى الحافظة. وقد تكون هنالك مشكلة في تكوين سيرفر الويب قد يكون هناك تكوين معين على سيرفر الويب المحلي يمنع تنفيذ وظائف JavaScript الخاصة بنسخ النص. لأبسط لك الأمر، على سبيل المثال، قد تكون هناك قيود على طلبات HTTP من نوع "POST" مثلا. لذا يمكنك بداية أن تتأكد من أن مستخدم الويب على السيرفر المحلي لديه الأذونات اللازمة للوصول إلى واجهة برمجة التطبيقات clipboard. كما يمكن تجربة استخدام مكتبة JavaScript خارجية لنسخ النص، مثل clipboard.js، قد توفر هذه المكتبات وظائف أكثر سهولة وفعالية للتعامل مع واجهة برمجة التطبيقات. في حال استمرت المشكلة يمكنك إرفاق أي رسائل خطأ تكون قد ظهرت معك.
  9. عندي كود HTML فيه button لنسخ رابط ما يعمل عندي بشكل ممتاز، عندما ارفع الموقع على السيرفر المحلي win server 2016 لدي لا يعمل button. علما اني اريده على صفحة الهوم بيج في المتصفحات التي على نفس شبكتي. كود HTML: <button id="copyIcon" onclick="copyFunctionE()" onmouseout="outFuncE()" class="tooltips fas fa-copy"> <span class="tooltiptext" id="myTooltip">copy link</span> </button> كود JS: function copyFunctionE() { // Copy Link navigator.clipboard.writeText("http://prodapp1.com.sa"); //coppied message var tooltip = document.getElementById("myTooltip"); tooltip.innerHTML = "copied"; } //on mouse out message function outFuncE() { var tooltip = document.getElementById("myTooltip"); tooltip.innerHTML = "copy link"; } هل هي مشكلة كود او مشكلة سيرفر ؟ علما اني رفعتها على كلاود سيرفر مجاني واشتغل معايا. وشكراً..
  10. حسب ما فهمته فأنت ترغب في الحصول على آخر رقم تم حفظه في قاعدة البيانات وإضافته إلى قيمة من حقل إدخال ثم طرحه، لعمل ذلك أولا يجب أن تقوم باسترجاع آخر رقم مخزن يمكنك استخدام Eloquent ORM أو منشئ استعلامات قاعدة البيانات في Laravel لاسترجاع آخر رقم تم حفظه من قاعدة البيانات. بعد ذلك يمكنك الوصول إلى قيمة الإدخال باستخدام كائن $request الذي توفره طريقة التحكم في Laravel. على سبيل المثال، إذا كان حقل الإدخال يحمل اسم input_number، يمكنك استرداد قيمته هكذا: $inputNumber = $request->input('input_number'); وبمجرد حصولك على كل من آخر رقم تم حفظه وقيمة الإدخال، يمكنك تنفيذ الطرح باستخدام التعليمات البرمجية التالية: $result = $lastStoredNumber - $inputNumber; وسيؤدي ذلك إلى تخزين نتيجة الطرح في المتغير $result ثم يمكنك عرضها واستخدامها بسهولة.
  11. اليوم
  12. عندي عدد مخزن في قاعدة البيانات اريد ان اجلب اخر رقم تم حفظه واقوم بطرحه مع عدد مدخل من input
  13. ليس المقصود إلتقاط صورة للشاشة وحفظ الكود بتلك الطريقة، بل المقصود هو التطبيق مع الشرح مرة مع المدرب ومرة بمفردك ثم الإحتفاظ بالملف الذي به الكود في مجلد خاص بالدورة. وذلك للتطبيقات العملية البسيطة التي تتكون من ملف واحد أو ملفين مثلاً، أي نقوم بإنشاء مجلد للدورة ثم بداخل المجلد نقوم بتقسيمه إلى مجلدات فرعية بحيث يصبح لكل مسار مجلد ثم نضع داخل مجلد التطبيقات العملية الخاصة بالمسار، ثم نرفع مجلد الدورة بالكامل بالمجلدات التي بداخله على مستودع GitHub. لكن المشاريع الكبيرة الكاملة نقوم بإنشاء مجلد منفصل لها ونرفعها على مستودع GitHub خاص بها بشكل مستقل.
  14. تتطلع الشركات في وقتنا الحالي إلى العمل بأسلوب ذي وتيرة إنجاز سريع والتركيز على جعل التحديثات "مملة"، لأنها أصبحت بسيطةً ومتوقعة، وهذه هي الخصائص الأساسية لنشر البرامج بصورة مستمرة وبثقة والتعامل مع التحديثات على أنها نشاط اعتيادي. تحدث كل من (دايفيد فارلي) و(جيز هامبل) في عام 2010 في كتابهما التسليم المستمر (Continuous Delivery) عن التصدير المستمر للبرمجيات، إذ ستجد في كتابهما عدة ممارسات لا تزال صالحة في يومنا هذا. إذًا، فالتسليم المستمر Continuous Delivery ليس مفهومًا جديدًا، لكن العديد من المؤسسات لا تزال لا تجيد تطبيقه. ستجد في هذا المقال مفاهيمًا تساعدك على فهم مبدأ النشر المستمر ونصائح لكيفية تطبيق ممارسات عملية لتحسين تقييمات العملاء التي تحصل عليها بعد كل إصدار. ما هو النشر المستمر CD الغرض من النشر هو استخدامه كطريقة للحصول على آراء العملاء، إذ ستحصد أكبر قدر ممكن من تعليقات العملاء عند كل نشر. لكن، للحصول على تعليقات قيّمة، يجب أن تأخذها من مستخدمي برامجك. ولذلك، تحتاج إلى إصدار التحديثات في بيئة الإنتاج production environment. وهذا هو جوهرالنشر المستمر Continuous Deployment أي نشر التعليمات البرمجية في بيئة الإنتاج بصورة آمنة ومستمرة وآلية ومؤتمتة دون الحاجة لإجراء أي تحقق يدوي. ملاحظة: بيئة الانتاج هي مكان نشر التطبيق وجعله متاحًا للمستخدمين، كمثال عليها Play Store أو الموقع الخاص بشركة ما بحيث ترفع تطبيقها عليه على سبيل المثال. قد يخطر في ذهنك أن هذا المفهوم غير مُستَخدَم على أرض الواقع وأنه مفهوم نظري وحسب، لكن تطبق الشركات الكبرى كشركة نتفليكس Netflix وايتسي Etsy وتسلا Tesla مفهوم النشر المستمر لنشر التحديثات البرمجية لتطبيقاتها المختلفة، فعند نشر التحديثات البرمجية تحصل الشركات على آراء المستخدمين بعد الاستخدام الفعلي، وتترجمها إلى خدمات أو تستخدمها لتطوير منتجاتها. وهذا هو الفرق الأساسي بين التسليم المستمر Continuous Delivery والنشر المستمر Continuous Deployment. ما الفرق بين النشر المستمر والتسليم المستمر إن النشر المستمر والتسليم المستمر هما أساس DevOps لكن الاعتقاد أن النشر المستمر هو نفس التسليم المستمر هو خطأ شائع، إذ إنه ثمة فرق بينهما يتعلق بوقت نشر التحديث. فالتسليم المستمر هو القدرة على تجهيز التحديثات البرمجية بحيث تكون جاهزة للإصدار. أي أن التحديثات مرت في أنابيب تجزئة تنفيذ التعليمات ونجحت في جميع الاختبارات، وليس هناك حاجة للعمل عليها. إذًا، أصبحت التحديثات البرمجية مؤهلة للإصدار. أما النشر المستمر فهو استراتيجية إصدار أو نشر تُستخدم في النشر المستمر Continuous Delivery، إن كان التحديث جاهزًا للنشر فيُدفع إلى بيئة الإنتاج تلقائيًا، أي يُصدر. فلا يمكن تطبيق النشر المستمر دون تطبيق التسليم المستمر، وبالتالي فإن التسليم المستمر هو الخطوة الأولى لإصدار التحديثات آليًّا وبسرعة وأمان وبطريقة "مملة" تحتاج إلى تنفيذ بعض الآليات المهمة بدءًا من التكامل المستمر. وللتعرف على المزيد من المعلومات حول أبرز الفروقات بين النشر المستمر والتسليم المستمر ننصحك بمشاهدة الفيديو التالي: ما سبب أهمية التكامل المستمر يُعد التكامل المستمر إحدى الممارسات المهمة لبناء خط تجزئة يصَدّر البرمجيات آليًّا مع التركيز على الجودة. توجد ثلاث قواعد أساسية للتكامل المستمر: يبنى البرنامج من فرع واحد من مجلد الشيفرة البرمجية code repository. يستخدم خط التجزئة مجموعة اختبارات مؤتمتة وموثوقة. إذا فشل بناء البرنامج، تتوقف عملية التكامل وتُلغى التعديلات. وبهذه الطريقة، تحرص على أن جميع التعديلات مؤهلة للإصدار، حتى لو أجلت الإصدار إلى وقت آخر أو منصة آخرى. لكن القاعدة الأهم هي إجراء اختبارات مؤتمتة موثوق بها. كما ستحتاج إلى إجراء اختبارات سريعة وتعمل بالتوازي، واختبارات لجميع السيناريوهات المهمة في تطبيقك، مثل اختبار المسار السعيد happy path test، واختبار للبيانات التي عطلت الإنتاج سابقًا، واختبار إدخال بيانات غير صحيحة. لا تحتاج إلى الحصول على درجة تغطية الشيفرة code coverage بنسبة 100%، ولكن يجب عليك زيادة عدد الاختبارات التي تجريها تدريجيًا قبل الإعلان عن جاهزية التعديلات البرمجية. لن تجري الأمور بسلاسة دائمًا كما خططت، وهذا أمر متوقع. ولهذا يجب أن تكون لديك القدرة على حل المشكلات فورًا. لا تترك خط التجزئة معطوبًا أبدًا. فالهدف هو ترك مسار متوفر في حال احتجت إلى إجراء تغيير طارئ، والاستمرار في استخدام خط التجزئة المؤتمت الذي أنشأته. وبطبيعة الحال، لن تصل إلى هذه النقطة بين عشية وضحاها، لذلك يجب أن تتبنى عقلية التحسين المستمر كي تنجح. والآن سنتعمق أكثر في كيفية تطبيق النشر المستمر. كيفية تطبيق النشر المستمر الخطوة الأولى، هي التدرب على أجزاء صغيرة من العمل، لا تنتظر حتى تجمّع تعديلات كافيةً أو مهمةً كي تنشر تحديثًا في بيئة الإنتاج. فكلما كانت التعديلات صغيرة، كان اختبارها ونشرها أسهل وأسرع. وتستطيع بهذه الطريقة التدرب مرارًا حتى تصل إلى نقطة يكون فيها وضع التعديلات مستقرًا. كما أن استخدام الأدوات هو أمر مهم، لذلك يجب أن تستخدم أدوات تساعدك في بناء، واختبار، وتحزيم، ونشر، وإصدار البرامج بصورة آليّة. إن إدارة الميزات Feature Management تُعد مفيدة للغاية، إذ يمكنك أن تفعّل التحديثات البرمجية للعملاء بنقرة واحدة. وبهذه الطريقة، تجعل الشيفرة البرمجية جاهزة للإصدار حتى لو لم تكن مكتملة. إذ يمكنك تفعيل ميزة ما لكي تختبرها، أو تفعيلها في جزء معين من الشيفرة لإجراء اختبارات ألف/باء أو A/B tests وأي اختبار آخر. فكل ذلك متاح بالإضافة إلى الحصول على آراء العملاء القيمة فورًا، وإنتاج برامج أفضل مع كل إصدار. لكن يجب أن تطبق النشر المستمر لغرض واضح مثل الابتكار، أو تحسين جودة البرامج، أو إصدار الميزات في الوقت المناسب. حتى إن وُجِدت قيود لا تسمح لك بتطبيق النشر المستمر، فإن الاستعداد لذلك سيساعدك على تقليل الوقت والجهد اللازمين لكل إصدار. الخاتمة لنلخص ما ورد في مقالنا، النشر المستمر هو القدرة على إصدار التحديثات البرمجية آليًّا دون أي تدخل بشري. تحتاج لتطبيق ذلك إلى الاعتماد على مجموعة اختبارات مُحكمَة الإعداد لتلافي حدوث الأخطاء، كما أن تقسيم التغييرات الكبيرة إلى تغييرات أصغر يسمح لك بالتدرب أكثر وتقليل احتمالات ظهور الأخطاء (كما يسهل التراجع عن عن هذه التغييرات الصغيرة). لا يمكنك تطبيق النشر المستمر بين عشية وضحاها، إذ إنه ثمة سلسلة من الخطوات التي عليك اتباعها أولاً. وترتيب هذه الخطوات هو كالتالي: التكامل المستمر، ثم التسليم المستمر، ثم النشر المستمر. كما يمكنك التدرب في بيئة التطوير أو الاختبار، وليس ضروريًا أن تبدأ في بيئة الإنتاج، ولكن عليك أن تحدد ما تريد إنجازه، مثلًا هل تريد تحقيق وقت تسويق قصير Time To Market، أم تريد تحقيق مدة توريد Lead Time قصيرة، أم تريد إجراء المزيد من التجارب. يمكنك اعتماد فحص يدوي أخير إذا كنت تحتاج إلى ذلك (على سبيل المثال، للتحقق من التوافق، أو التحقق من متاجر تطبيقات الأجهزة المحمولة، أو الأجهزة الطبية)، ولكن هذا يُعد تسليمًا مستمرًا، ولا بأس في ذلك. إذ يمكن تطبيق الممارسات والأدوات المذكورة في مقالنا، بغض النظر عن مجال عملك أو كميته. وإذا كان لديك من الاستفسارات حول ما ورد في مقالنا، أو أردت الحصول على الدعم والمساعدة أضف سؤالك في قسم التعليقات أسفل المقال، أو اكتبه في قسم الأسئلة والأجوبة في أكاديمية حسوب. ترجمة -وبتصرف- للمقال What Is Continuous Deployment? A Complete Explanation من موقع Cloudbees. اقرأ أيضًا مدخل إلى التكامل المستمر والنشر المستمر CI/CD أفضل ممارسات منهج التكامل المستمر والتسليم المستمر CI/CD إعداد التكامل المستمر والنشر المستمر باستخدام الخدمتين CircleCI وCoveralls التكامل المستمر: تثبيت Concourse CI على أوبنتو محاكاة عقلية DevOps
  15. مرحباً , إن كنت تقصد كيف يمكن كتابة كود لعملية حسابية في SQL Server من خلال حقلين من جدول , فهذا مثال بسيط كيف يمكنك فعل ذلك : SELECT Number1, Number2, (Number1 + Number2) AS Sum FROM TableName; هذا الاستعلام يختار الأعداد من الجدول، ثم يقوم بإجراء الجمع بين العددين ويظهر الناتج في عمود يسمى Sum . مثال أخر أكثر تعقيداً : SELECT Product, SUM(Quantity) AS TotalQuantity, SUM(UnitPrice * Quantity) AS TotalSalesAmount, CASE WHEN SUM(Quantity) > 200 THEN SUM(UnitPrice * Quantity) * 0.9 ELSE SUM(UnitPrice * Quantity) END AS TotalSalesWithDiscount FROM Sales GROUP BY Product HAVING SUM(Quantity) > 100; أفترضت وجود جدول يسمى Sales ويحتوي على الأعمدة التالية: Product و Quantity و UnitPrice , و نريد حساب إجمالي مبلغ المبيعات لكل منتج حيث تكون الكمية المباعة أكبر من 100، ونريد أيضا تضمين خصم بنسبة 10٪ للمنتجات التي تزيد كميتها المباعة عن 200. فلاحظ أنه في البداية قمت باختيار اسم المنتج و إجمالي الكمية المباعة (TotalQuantity) وإجمالي مبلغ المبيعات (TotalSalesAmount) وإجمالي مبلغ المبيعات مع تطبيق الخصم (TotalSalesWithDiscount). أيضاً لاحظ أنني قمت باستخدام دالة SUM لحساب الكمية الإجمالية المباعة وإجمالي مبلغ المبيعات لكل منتج. واستخدمت CASE لتطبيق خصم بنسبة 10٪ على إجمالي مبلغ المبيعات للمنتجات التي يزيد مجموع الكميات المباعة من 200. وأقوم بتجميع النتائج حسب عمود Product. كما استخدمت الشرط HAVING لتصفية المنتجات التي تكون كميتها المباعة أقل من 100.
  16. كنصيحة لا تحكمي على أي دورة في أي مكان بعدد الساعات الخاصة بها، فالأهم هو محتوى، فالساعات الطويلة لا تعني محتوى جيد والعكس صحيح لا تعني الساعات القصيرة محتوى سيء، لذا الأهم هو ثراء المحتوى ودسامته مع عدم الإخلال بالأساسيات. وعدد ساعات دورة بايثون هي 67 ساعة، وعدد ساعات دورة تطوير واجهات المستخدم هي 72 ساعة، لذا الفرق 5 ساعات فقط. وأول مسارين هما الأساسيات في دورة بايثون يستحوذان على نسبة كبيرة حيث يحتوي مسار أساسيات لغة بايثو على 11 ساعة من المحتوى، ومسار تطبيقات عملية باستخدام بايثون على 15 ساعة. والمطلوب للتقدم للإمتحان هو إنهاء 4 مسارات على الأقل، ولا يشترط مسارات معينة، لكن من الأفضل إنهاء كامل مسارات الدورة لتحقيق استفادة.
  17. ستجدd أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس. بالنسبة لسؤالك، بالطبع يكفي وحتى ما بعد الأساسيات لا مشكلة به، وبإختصار إذا كنتي تفضل بيئة تطوير بسيطة ومخصصة لتطوير Python وترغبين في التوسع في استخدام الإضافات وتخصيص البيئة الخاصة بك فاستخدمي VSCode لكونه code editor. ، أما إن كنتي بحاجة إلى ميزات متقدمة مدمجة مثل محلل ومصحح Python قوي ودعم كبير لإطارات العمل الخاصة ببايثون، فبيئة التطوير PyCharm هي الخيار الأفضل بالنسبة لك وذلك لكونه IDE أي بيئة تطوير ومتكاملة مخصصة للغة برمجية معينة. بمعنى أن VSCode بحاجة إلى تخصيصه فيما بعد مثل تثبيت إضافة خاصة بإطار بجانغو وفلاسك من أجل إظهار الكود بشكل جيد ومثل تلك الأمور ستتكرر لذلك ذكرت أن عليك تخصيصه بما يتناسب مع استخدامك، أما PyCharm فيدعم ذلك بشكل إفتراضي. لكن في البداية من الأفضل استخدام vscode لكونه بسيط وسهل الاستخدام.
  18. بالإضافة إلى التعليق السابق، من المهم جداً التأكد من ترتيب الجداول، لأن في كثير من الأحيان، إذا كانت هناك مشكلة تتعلق بقاعدة البيانات ولا يبدو أن السبب مرتبط بالكود، فقد يكون السبب هو ترتيب الجداول. يتم ترتيب الجداول في لارافيل تنازليًا حسب الوقت الذي تم إنشاؤها به، بمعنى أنه إذا تم إنشاء جدول جديد، فسيكون ترتيب الجداول في آخر الجداول التي تم إنشاؤها. ستلاحظ في الصورة أن الجداول يتم ترتيبها من الأقدم إلى الأحدث. كيف يسبب هذه خطا عند استخدام مفهوم Foreign Key في Laravel، يجب أن يكون الجدول الذي تشير إليه Foreign Key موجودًا قبل الجدول الذي يحتوي على Foreign Key. وإذا كان Laravel يحاول إنشاء الجدول الذي يحتوي على Foreign Key قبل الجدول الذي يشير إليه، فقد يتسبب ذلك في الخطأ الذي واجهته
  19. االمشكله اللي بتواجهها دي غلطة شائعة بتحصل لما بتكون فيه مشكلة في تكوين قيود الـ Foreign Key في قواعد بيانات MySQL مع Laravel. النوع ده من الاخطاء بيظهر لما خصائص العمود اللي عايز تربطه بـ Foreign Key مش متطابقة مع خصائص العمود المرجعي في الجدول التاني. فيه أسباب محتملة كتير للغلطة دي اولهم ان نوع البيانات مش متطابق لازم نوع البيانات للعمود id_client في جدول evaluers يكون نفس نوع البيانات للعمود id في جدول clients. وبعد كدا لازم ان تتأكد من خصائص العمود لو العمود id في جدول clients بيستخدم خصائص زي UNSIGNED، لازم العمود id_client في جدول evaluers يكون معرف بنفس الطريقة. و لازم الترميز والترتيب للجداول المرتبطة يكون متطابق. علشان تحل الغلطة دي، ممكن تتأكد من النقط دي يجب ان تتأكد من تطابق نوع البيانات وخصائصه: Schema::create('clients', function (Blueprint $table) { $table->increments('id'); // لو كان بيستخدم increments مثلًا }); Schema::create('evaluers', function (Blueprint $table) { $table->unsignedInteger('id_client'); $table->foreign('id_client')->references('id')->on('clients'); }); لو الجدول بيستخدم ترميز معين، تأكد ان الجدول التاني بيستخدم نفس الترميز والترتيب. شغل عملية التهجير من جديد بعد ما تتأكد من صحة التعريفات: php artisan migrate:fresh دي هتحذف كل الجداول وتعيد إنشائها من جديد. تأكد من أنك لا تفقد بيانات مهمة قبل تنفيذ هذا الأمر. ما ينفعش خالص تتجاهل النوع ده من الغلطات، لأنه هيأثر على سلامة البيانات والعلاقات في قاعدة البيانات، واللي ممكن يسبب مشاكل في استرجاع البيانات أو تكامل البيانات في المستقبل. الأفضل دايمًا تصلح الغلطات دي على طول.
  20. عند العمل على تهجير جداول في laravel ظهر لي هذا الخطأ مع انه تم انشاء الجدول في قاعدة البيانات اي ان عملية تهجير تمت بنجاح الخطأ : SQLSTATE[HY000]: General error: 1005 Can't create table `cosultation`.`evaluers` (errno: 150 "Foreign key constraint is incorrectly formed") (SQL: alter table `evaluers` add constraint `evaluers_id_client_foreign` foreign key (`id_client`) references `clients` (`id`)) at D:\PROJET\exemple\vendor\laravel\framework\src\Illuminate\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 this exception a 758▕ // lot more helpful to the developer instead of just the database's errors. 759▕ catch (Exception $e) { ➜ 760▕ throw new QueryException( 761▕ $query, $this->prepareBindings($bindings), $e 762▕ ); 763▕ } 764▕ } 1 D:\PROJET\exemple\vendor\laravel\framework\src\Illuminate\Database\Connection.php:545 PDOException::("SQLSTATE[HY000]: General error: 1005 Can't create table `cosultation`.`evaluers` (errno: 150 "Foreign key constraint is incorrectly formed")") ماهو سبب ظهور هذا الخطا وهل تجاهله يؤثر على عملي مرة اخرى ، وشكرا
  21. يرجي التوضيح اكثر ما هي العمليه الحسابيه التي تريد تنفيذها اذا كنت تريد كود لانشاء جدول للعمليات الحسابيه وهذه قصدك فا ببساطه هذه مثال لكليفية انشاء هذه الجدول CREATE TABLE Operations ( OperationID INT PRIMARY KEY, Operand1 DECIMAL(10,2), Operand2 DECIMAL(10,2), Operator CHAR(1), Result DECIMAL(10,2) ); OperationID: يمثل معرف العملية الحسابية. Operand1: يمثل العدد الأول في العملية الحسابية. Operand2: يمثل العدد الثاني في العملية الحسابية. Operator: يمثل العملية الحسابية المستخدمة (+، -، *، /). Result: يمثل النتيجة النهائية للعملية الحسابية.
  22. طول أو قصر وقت الفيديوهات وعددها شيء غير مؤثر بشكل كبير في مقارنة الدورات. الأهم هو المحتوى الموجود فيها والأهم منه هو استيعاب الطالب لما يدرسه فيها. في الفيديوهات الأولى مثلا قد يكون عدد الفيديوهات كثيرا ووقتها قصير نسبيا، لأنها تتناول مفاهيم بسيطة يمكن دراستها في وقت قصير، كما أنّ عدد هذه المفاهيم يكون كبيرا (كل شيء يبدو هكذا في البداية) لذلك تكون عدد الفيديوهات كثيرة. لكن مع التقدّم في الدروس تصبح عدد الفيديوهات أقل ويزداد طولها (وتعقيدها)، وسوف تصبح الدروس مترابطة فيما بينها بشكل كبير، والطالب عندما يحاول تطبيق كل ما يدرسه فيها (وربّما يزيد إبداعا من عنده، فهذا أحسن) سوف يكلّفه هذا وقتا كثيرا ويقع في مشاكل وسيحتاج إلى طلب المساعدة من المشرفين وغير ذلك. لذلك لا يمكن حساب وقت الدورة بناء على عدد الفيديوهات أو مجموع وقتها، بل إن الأمر يختلف من طالب لآخر، فكلّ طالب له قدراته الخاصّة في الدراسة واهتماماته وأشغاله. يمكنك إيجاد إجابات مشابهة عن كيفية تقدير مدّة الدورة وآلية الامتحان في هذا السؤال:
  23. هل تعتبر دورة بايثون قصيرة مقارنة بدورة تطوير واجهات المستخدم من ناحية عدد الفيديوهات المطلوبه للبدء في الإمتحان في كل دورة
  24. كتابة الكود غير مرتبطة بالمحرر الذي تختارينه. يمكن أن تختاري أي محرر تريدين. في دورة تطوير التطبيقات باستخدام Python يستخدم المدرّب عادة برنامج PyCharm لأن هذا هو خياره الشخصي، لكن هذا ليس شرطا. إذا كنت متمكّنة أكثر في VS Code أو تشعرين بأنه يريحك أكثر أو متوافق مع جهازك بشكل أحسن فيمكنك استخدامه. وفي حالة لم تستطيعي متابعة المدرّب في جزئية محددة بسبب اختلاف البرامج، فيمكنك طرح سؤال في قسم التعليقات أسفل الدرس وسوف يقوم أعضاء الإشراف الذين يستخدمون VS Code بمساعدتك.
  25. هل يمكنني استخدام برنامج vscode لدراسه الدورة من البداية إلى النهاية
  26. الاحتفاظ بالمشاريع يعني الإبقاء على الملفات التي تمّ العمل عليها عند متابعة المدرّب. في الدروس المتقدّمة تكون المشاريع مجلّدات تحوي عدّة ملفّات كثيرة وكبيرة، وهذه يجب الاحتفاظ بها. سوف يتم رفع هذه المشاريع على GitHub في وقت لاحق قبل التقدّم للامتحان. في الدروس الابتدائية تكون المشاريع متكوّنة من ملف واحد، فمن الأحسن الاحتفاظ بها هي أيضا. في بعض الدروس الابتدائية لا توجد أصلا ملفّات لحفظها. في هذه الحالة يمكنك نسخ الأوامر التي تم إدخالها في ملف نصّي مثلا. لا أعتقد أن أخذ لقطات الشاشة أمر ضروري لكنها فكرة جيّدة ويمكنك إضافتها.
  27. البارحة
  28. ماذا يعني الاحتفاظ بالمشاريع العمليه لإرسالها للمراجعة يعني هل يجب أن أخذ لقطة للشاشة لكل كود مع المخرج الخاص به
  1. عرض المزيد
×
×
  • أضف...