Sam Ahw

21 نقاط السمعة
5.79 ألف مشاهدات المحتوى
عضو منذ
بشكل عام لايٌنصح بوضع التحديث التلقائي لـ node.js وخصوصاً في بيئة النشر، لأن من الممكن أن يتم تحديث النسخة إلى نسخة أحدث قد تتضارب مع بعض المكتبات أو المشاريع الموجودة لديك، ولذلك يقوم المبرمج بنفسه بهذه العملية لضمان عدم التحديث إلا عن الحاجة لذلك والتأكد من أن التحديث لن يسبب مشاكل. يمكنك بالإضافة لـ npm استخدام مدير حزم NVM وهي أداة مفيدة جداً لاستعراض النسخ وتحميلها كما يتيح لك الحصول على أكثر من نسخة والتنقّل بينهم عند الاستخدام، إن كان
عند اشتراكك بخدمات الاستضافة cloud servers لا يتم مشاركة بياناتك أو موارد قواعد البيانات لديك مع بقية المستخدمين أبداً فهذه أمور حساسة بالنسبة لجميع شركات الاستضافة وإنما يتم فقط التشارك بالموارد الفيزيائية للخادم مثل المعالج، الذاكرة، أقراص التخزين..إلخ. لذلك لاداعي للقلق من ناحية خصوصية البيانات فإن شركات كبيرة انتقلت إلى الخدمات السحابية لسهولة إدارتها وتوفرّها. أما بالنسبة لتكلفة نظام التشغيل، في حال توجهّت لبناء خادم ويب خاص أو VPS يمكنك استخدام Ubuntu على سبيل المثال أو أي نسخ مفتوحة المصدر
فشل خادم الويب من خلال الاختراق أو عدم توفّره (حجب الخدمة) يعود للموارد الموجودة على خادم الويب ولطريقة إعدادك لخادم الويب وتطبيق آليات الحماية فيه ولا علاقة لنظام التشغيل نفسه بذلك، فأي نظام تشغيل أو توزيعة من توزيعات Linux من الممكن أن تفشل في ذلك في حال كانت الإعدادات المطبّقة ضعيفة أو غير شاملة. يتم استخدام Centos أو Ubuntu بكثرة ضمن خادم الويب من معظم الشركات العالمية كونه يدعم كل منهما إمكانية التحكّم وتخصيص الإعدادات وبالتالي ملائم جداً لبناء خادم
تسمى هذه الطريقة بـ (null safe Optional Chaining) وتستخدم للتأكد من قيمة متغيّر إن كانت لا تساوي null أو undefined. في المثال المرفق، يتم اختبار قيمة المتغيّر image قبل تنفيذ التابع map على المصفوفة، وذلك لتجنّب الأخطاء التي قد تحدث في حال كانت فيمة المتغيّر غير معرّفة. وهي نفس الطريقة التي يتم استخدام الشرط if لاختبارها أحياناً: if(image != null) أو if(image.length) // في حالة المصفوفات وفي إطار العمل React: { image && image.map( ...
عندما تتقن لغة البرمجة مثل C# يجب عليك الاطلاع على أطر العمل والتقنيات التي يتم استخدامها في بناء التطبيقات مثل إطار عمل .NET أو Mono وتعلّم برمجة المكتبات وكتابة شيفرة برمجية قابلة لإعادة الاستخدام كما يمكنك التوسّع في أنماط التصميم أو Design Patterns والذي سيساعدك على تطوير مشاريع كبيرة الحجم. وهنالك العديد من التقنيات البرمجية الأخرى التي قد يطلب اتقانها لتنفيذ بعض المشاريع ويمكنك البحث عنها على الانترنت. كما يجب عليك اتقان التعامل مع قواعد البيانات بأشكالها المختلفة فهذا يعتبر
يمكنك استخدام إضافة Woocommerce ضمن wordpress وستتيح لك جميع الميزات اللازمة لعمل المتجر الالكتروني دون الحاجة لبناء وبرمجة الخصائص من الصفر وبعدها يمكنك تخصيص القالب وتثبيت الإضافات كما تشاء وبالطريقة التي تناسبك. أما بالنسبة لسرعة الموقع، فذلك يعتمد على العديد من العوامل ضمن موقعك منها أحجام ودقة الصور والتنسيقات المستخدمة والإضافات plugins والمكتبات المثبتة والتي تستخدمها ضمن القالب ولكن بشكل عام كشيفرة برمجية خاصة بالووردبريس هي جيدة جداً من حيث الأداء والعديد من المواقع العالمية تستخدم هذا النوع من المتاجر
حدثت بعض المشاكل في بعض المواقع التي تعمل على ووردبريس عند التحديث الأخير وكان معظمها متعلقاً بالقوالب والإضافات وليس بنسخة PHP أو بيئة العمل، لذلك في حال كنت تستخدم قالب خاص يجب عليك التأكد من أن القالب المستخدم والإضافات الموجودة جميعها تدعم الإصدار الجديد، ويفضّل إنشاء نسخة كاملة عن الشيفرة البرمجية وقاعدة البيانات قبل التحديث وأيضاً إجراء التحديث بشكل محلّي أو على خادم ويب تجريبي للتأكد من توافق النسخ مع بيئة التشغيل والإضافات. غالباً يتم ذكر في حال كانت نسخ
بما أن المتغيّر single هو الذي يحوي على عنصر المنشور post، يمكنك استخدام التابع get_permalink وتمرير معرّف المنشور ID كالتالي: <?php echo get_permalink( $single->ID ); ?> يمكنك الاطلاع على مزيد من التفاصيل حول permalink من توثيق وردبريس.
جميع دورات حسوب بنفس المستوى من حيث الشرح والمعلومات حيث لا يوجد دورة جيدة وأخرى سيئة، أما اختيارك للدورة فيعود لحاجتك ببناء التطبيقات فمثلاً دورة الجافاسكريبت تحوي أطر عمل وتقنيات أخرى مثل بناء تطبيقات سطح المكتب من خلال Electron وتطبيقات الهاتف الجوال من خلال react native لأن لغة الجافاسكريبت تدعم ذلك. أما في حال كان توجهّك فقط لطرف الخادم وتفضّل العمل بلغة PHP يمكنك اختيار دورة PHP. يمكنك التواصل مع مركز مساعدة أكاديمية حسوب من خلال الرابط التالي وسيقومون بمساعدتك
لا يتم استخدام أي تنسيقات في طرف خادم الويب، ولن تحتاج حتى أساسيات CSS في حال كان تخصصك back-end فقط. ولكن يمكنك التعرف على الأساسيات في جميع تقنيات طرف المستخدم html, css, javascript فقط للاطلاع عليها ومعرفة كيفية عملها وذلك سيسهّل عليك تصوّر كيف سيتم استقبال البيانات من طرف المستخدم وعرضها في التطبيق. أما مصادر تعلّم أساسيات CSS فهي كثيرة جداً، والسبب بذلك أن تعلمها سهل ولا يحتاج لخبرات برمجية كبيرة يمكنك متابعة أي مصدر على يوتيوب أو بالبحث على
يوجد العديد من الطرق والنصائح التي تحمي من اختراقات XSS وتطبيقها يعتمد على المشروع بحد ذاته والتقنيات المستخدمة فيه من حيث التعامل مع إدخال البيانات من المستخدم، أنواع قواعد البيانات المستخدمة والوسائط middlewares والمكتبات الإضافية التي يتم استخدامها من طرف الخادم والمستخدم معاً، لكل مشروع ثغرات معيّنة ولا يمكن تعميم الثغرات نفسها على كافة المشاريع، ولكن عموماً يوجد بعض النصائح التي عادةً ما يتم الاستعانة فيها في معظم الحالات ولكن بداية يجب عليك تحديد أنواع XSS المتاحة ثم معالجة الثغرات
عادةً مايتم استخدام Blazor في هذا النوع من تطبيقات الويب ذات الصفحة الواحدة SPA من طرف المستخدم لإمكانيته بتجزئة الشيفرات البرمجية إلى مكونات Components وبالتالي سيسهّل عملك ويقسم المشروع إلى أجزاء صغيرة يمكنك تطويرها بشكل مستقل لاحقاً
بشكل عام، تعتمد سرعة التطوير على حجم المشروع ومتطلباته والتقنيات التي سيتم استخدامها في التطوير، سواء موقع ويب أو تطبيق هاتف جوال. على سبيل المثال، تطوير موقع ويب باستخدام Wordpress وإضافة تعديلات بسيطة سيكون أسرع من تطوير موقع كامل من الصفر باستخدام أطر عمل أخرى. وبنفس المبدأ بالنسبة لتطبيقات الهاتف، استخدام لغات البرمجة وأطر العمل التي تسمح التطوير على نظم تشغيل متعددة ستختصر الوقت على المبرمج وتسهّل عمله بدلاً من تطوير تطبيقات مختلفة لتتناسب مع نظم تشغيل مختلفة مثل IOS
Razor: هو محرّك قوالب يجمع بين C# و HTML لبناء موقع ويب بشكل ديناميكي، وله نوعين من ناحية الاستخدام: عندما تتوضّع الشيفرة البرمجية من طرف المستخدم (المتصفّح) يدعى Blazor. والنوع الآخر هو باستضافة المشروع بشكل كامل على خادم الويب بدلاً من المتصفّح باستخدام Asp.net Core وأيضاً باستخدامه له SignalR للتواصل مع طرف المستخدم (المتصفح). خلاصة: يعتبر Blazor كنموذج استضافة لمكونات Razor. أما بالنسبة للميزات والعيوب، فذلك يعتمد على المشروع الذي يتم تطبيق التقنيات فيه، بعض المشاريع قد تتناسب مع Razor
من الجيد طبعاً أنك اخترت الطريق الذي رأيته مناسب لك، ولكن أقترح عليك التجربة ولو بمشاريع بسيطة حتى لا تعود وتختار مسار آخر بعد فترة وتدخل في هذه الحلقة التي يعاني منها معظم من يبدأ بالبرمجة. المسار الأمثل يكمن أولاً بتحديد ماهو نوع التطبيقات أو البرمجيات التي تحب أن تعمل عليها وتبنيها، وإن كانت لتطوير الويب، ستجد أمامك مسارات فرعية عديدة مثل تطوير واجهات المستخدم (المواقع التفاعلية التي تقصدها في السؤال) أو التطوير من طرف خادم الويب back-end (وفيه لغة
لا يمكن لأحد تحديد ما إذا كانت لغة برمجة سهلة أو صعبة سوى أنت بنفسك، فلغات البرمجة التي قد يجدها البعض صعبة قد تجدها انت سهلة والعكس صحيح، اعتماداً على معرفتك ومهاراتك بالبرمجة بشكل عام وقدرتك على الانتقال من لغة برمجة لأخرى بسلاسة. "وعند الاطلاع على دروس كوتلن رأيت ان صيغتها بالكتابه غير مرتبه" المقصود بكوتلن أنها أسهل من جافا كما يشاع، ليس من ناحية النص البرمجي نفسه أو syntax وإنما بما يمكن تحقيقه من وظائف برمجية بطرق مختصرة وسهولة
أي تطبيق لا يعتمد على الخصائص المركزية للجهاز الجوال يمكن اعتباره تطبيق لا يحتاج لـ Native APIs، مثال التطبيقات التي لا تستخدم الكاميرا، GPS، مقياس التسارع، وغيرها... معظم التطبيقات البسيطة مثل الآلة الحاسبة، المفكرة، جدول المهام،...إلخ. والتطبيقات الأخرى التي تعتمد على الويب مثل المدونات أو الأخبار جميعها لا تحتاج لكافة خصائص Native API ويمكن اعتبارها مثال جيّد لذلك. يمكنك البحث أكثر عن مفهوم خصائص native api لكي تستطيع إيجاد أمثلة أكثر عن تطبيقات لا تستخدم هذه الميزات.
لا يمكنك ذلك، عند مشاركة الشاشة أنت تقوم بمشاركة الجزء الظاهر لك أي متصفح الويب ولذلك لا يمكنك تغيير ذلك بأن تظهر عناصر لك فقط. إذا أردت أن تخفي عناصر مؤقتاً من الصفحة يمكنك ذلك من خلال خاصيات CSS أو بإنشاء عدة حسابات وتحديد صلاحيات بالكود البرمجي عند تسجيل الدخول. أما برامج مشاركة الشاشة فالبعض منها يتيح لك خاصية التشويش على أجزاء معيّنة بالشاشة حتى لا تظهر للمستخدم الآخر.
تختلف طرق تعلّم البرمجة من شخص لآخر، فبعض الأشخاص يفضلون الشرح بفيديوهات وتطبيق عملي، والبعض الآخر يفضّل قراءة الكتب. لذلك يجب عليك تحديد ماهي الطريقة التي تفضلها أنت في التعلّم ثم التوجه إليها والبحث عن مصادر بهذه الطريقة. أما بالنسبة للبرمجة، فحتماً أن الشروح التي شاهدتها هي ليست للمبتدئين، أو تكون موجهة للأشخاص الذين لديهم معرفة بأساسيات البرمجة، بالنسبة لشخص ليس لديه أي معرفة بالبرمجة يوجد لغة برمجة بسيطة وتستخدم في تعلّم التفكير المنطقي وأساسيات البرمجة تدعى Scratch وهي ليست
فرص العمل كثيرة وحتماً ستجد شخص ما محتاج لخدمة أو تعديلات بسيطة بصفحات HTML يمكنك إنجازها بما تعلّمته. الأمر فقط يعتمد على خوارزمية بسيطة: كلما زادت معرفتك أكثر في لغات البرمجة والتقنيات كلما زادت فرص العمل المتاحة لك. ولذلك يجب عليك المحاولة على تعلّم المزيد حتى تجد المزيد من الفرص وبالتالي لن تستغرق وقت كبير بإيجاد مشاريع لتعمل عليها بل ستجد نفسك قادر على إنجاز العديد من المشاريع والفرص التي تتاح أمامك.
  • PHP
نعم يمكنك الانتقال وتعلّم PHP والتعرف على كيفية تطبيق ما تعلّمته من خلال PHP
لقد ذكرت في التعليق أنه يجب تحليل البرنامج لتحديد هذه التفاصيل، لا يمكن تحديد لغات البرمجة والتقنيات اللازمة دون معرفة ماهو التطبيق وما الخصائص التي سيقدمها. يمكنك البدء بكتابة جميع الميزات التي يتيحها برنامجك على ورقة والبحث على الانترنت على سبل تحقيق هذه الميزات بواسطة لغات برمجة الويب، وفي حال لم تكن تملك الخبرة الكافية في برمجة الويب، يمكنك التوجه إلى إحدى منصات العمل الحر مثل حسوب أو خمسات وطرح مشروعك هناك للتعامل مع أحد المستقلين ومساعدتك على إنجاز مشروعك.
بما أن المحتوى الذي تريد جمعه هو محتوى نصي، يمكنك استخدام textContent بدلاً من innerHtml: <p id="myParagraph"></p> var p = document.getElementById("myParagraph"); var button1 = document.getElementById("button1"); var button2 = document.getElementById("button2"); button1.addEventListener("click",()=>{ p.textContent="test1";}); button2.addEventListener("click",()=>{ p.textContent +=" test2";}); <p>test1</p> //عند الضغط على الزر الأول <p>test1 test2</p> //عند الضغط على الزر الثاني
ستحتاج لإعادة برمجة البرنامج نفسه باستخدام تقنيات ولغات برمجة الويب، فالبرنامج المحفوظ على جهازك تمت كتابته ليتناسب مع نظام التشغيل الذي تعمل عليه سواء ويندوز أو mac أو غيره، ولا يمكن لمتصفح الويب أن يدعم كافة خصائص نظام التشغيل كما هي، كما ستحتاج لبناء نظام توثيق وتحقق من المستخدمين لإتاحة نظام تسجيل الدخول إلى خدمتك السحابية على الويب. لذلك يجب تحليل هذا البرنامج لمعرفة لغات البرمجة والتقنيات اللازمة لإعادة بنائه كتطبيق ويب، وبعد تحديدها يمكنك البدء بتحليل خصائص البرنامج والميزات
  • PHP
PHP لغة برمجة منفصلة عن javascript، وهي مختصة في طرف الخادم server-side، لذلك ستحتاج لتعلّم الشيفرات البرمجية والتوابع التي تعلمتها في الجافاسكريبت أيضاً في PHP. حيث لكل لغة برمجة تركيب الجمل أو (syntax) الخاص بها، تماماً مثل اللغات المحكية (العربية، الانكليزية،..إلخ). فستجد أيضاً معظم توابع التعامل مع المصفوفات وجمل التكرار..إلخ التي تعلمتها في الجافاسكريبت موجودة في PHP ولكن بشكل مختلف، ولكن ستتمكن من فهمها بشكل أسرع لأنك تعلّمت الأساسيات. ويبقى الانتقال من لغة برمجية لأخرى سهل عندها بمجرد الاطلاع على