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

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

  1. Mustafa Suleiman

    Mustafa Suleiman

    الأعضاء


    • نقاط

      10

    • المساهمات

      13209


  2. أسامة زيادة

    أسامة زيادة

    الأعضاء


    • نقاط

      4

    • المساهمات

      2501


  3. عبدالباسط ابراهيم

    • نقاط

      3

    • المساهمات

      4894


  4. Adnane Kadri

    Adnane Kadri

    الأعضاء


    • نقاط

      3

    • المساهمات

      5196


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

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

  1. اعذرني على التحدث معك بصراحة، لكن بتلك الطريقة لن تصل إلى شيء في البرمجة، فهى مملة بطبيعتها وعملية التعلم مملة أيضًا فقد تواجه مشكلة تقتضي منك يوم كامل لحلها فهل ستترك مجال البرمجة؟ دائمًا ما أنصح أن تجعل الملل صديقًا لك، فللأسف برمجت عقولنا على المكافآت السريعة، تخيل معي أنه قبل أن تتعلم البرمجة تقضي وقتك في مشاهدة التيك توك وفيديوهات يوتيوب السريعة وألعاب الكمبيوتر والسوشيال ميديا وخلافه. وبدأت تعلم البرمجة لتجد أنه لا يوجد مكافآت سريعة، بل جد واجتهاد وساعات مذاكرة طويلة، والمكافأة تأتي بعد فترة من المذاكرة حيث ستجد نفسك تتحسن بعد فترة وتصبح قادر على تنفيذ مشروع بسيط مثلاً وستفرح بذلك. وفي البرمجة لا يوجد طريق مختصر، أو يوجد لكنه نهايته مسدودة، حيث ستصبح قداراتك البرمجية ضعيفة، ولن تتمكن من تعلم تقنيات أو لغات جديدة، فعند التأني في تعلم الأساسيات وبذل الوقت والجهد، فستجد نفسك تتعلم بشكل أسرع فيما بعد وقادر على تجربة أشياء جديدة ومستوعب للمصطلحات البرمجية وتعقيداتها دون مشكلة، ولن تخاف إذا رأيت كود لم تراه من قبل. الأمر أشبه بتخطي فترة التدريب في ألعاب الكمبيوتر، للعب مباشرًة، لتجد نفسك أنك مشتت وتتخبط وتعود إلى التدريب مرة أخرى أو تقوم بالبحث عن كيفية اللعب أو تجاوز عقبة ما؟ وأنصحك بقراءة النقاشات التالية، فستجد بها إجابة على الكثير من الأسئلة لديك:
    3 نقاط
  2. اواجه مشكل في تحميل وتجربة المستودع
    2 نقاط
  3. عندي صفحة تسجيل دخول لمستخدمين لنظام مستشفى منهم المرضى والدكاترة والممرضين , اذا تم تسجيل دخول كل شخص يتم توجيهه لصفحتة , صفحة الدكتور بيتم عرض له المرضى المسجلين عنده , كيف بيتم استعراض المرضى المسجلين عند كل دكتور من PHPMYADMIN بلغة PHP
    2 نقاط
  4. من الممكن أن تشعر بالملل عند دراسة العمليات الحسابية والمفاهيم الأساسية للغة بايثون، وهذا شعور طبيعي يحدث للعديد من الأشخاص. ولكن من المهم أن تفهم أن هذه الأساسيات هي الأساس الذي يساعدك على فهم ديجانغو والعمل عليه بطريقة أفضل. لذلك، ينصح بأن تكمل دراسة الأساسيات بتركيز، وإذا شعرت بالملل، فحاول تغيير الطريقة التي تتعلم بها، ابحث عن مصادر تعليمية مختلفة مثل الفيديوهات أو المشاريع التطبيقية، وحاول تطبيق المفاهيم التي تتعلمها في مشاريع صغيرة وعملية. بالإضافة إلى ذلك، يمكن أن تحدد خطة دراسية لتحقيق الاستفادة المطلوبة من الدورة، يمكنك تحديد الأهداف الخاصة بك والمهارات التي تريد تحسينها، وتقسيم الموضوعات إلى أجزاء صغيرة ومحددة وتحديد جدول زمني لإتمامها. بالنسبة لتخطي بعض الدروس فلا أعتقد أنه هناك أي سبب يجعلك تتخطى هذه الدروس إلا إذا كنت تعرفها بالفعل حيث أن مسار أساسيات لغة بايثون Python يعتبر من أهم المسارات لهذه الدورة حيث تعتبر هي الأساس للمسارات القادمة
    2 نقاط
  5. وعليكم السلام، لا تقلق فهذا شيء طبيعي وأمر عرضي معروف في المجال ككل ولا يُعنى ببايثون على نحو الخصوص، وخصوصا في جزئيات الأساسيات. ولذلك فقد وجب الصبر والمحافظة على التزامك في مشاهدة وتطبيق الدروس وستلحظ فارقا مع الوقت. فيما يلي بعض الخطوات لتجنب مشاكل الملل وعدم القدرة على الاستيعاب بسببه: لا تنسى أن تأخذ استراحات منتظمة وتعطي نفسك بعض الوقت للاسترخاء واستعادة الطاقة. قد تكون بعض الفترات المنتظمة من الاستراحة تساعدك على الابتعاد عن الملل والتعب وتعزز قدرتك على الاستيعاب. قم بتنظيم الوقت وتجنب المراجعة بشكل عشوائي، وقم بالتعلم بشكل منتظم ومنظم واحرص على الاستمرارية وتذكر دوما "أن قليلا دائم خير من كثير منقطع". قم بتهيئة مكتبك أو حاسبك أو محيط دراستك بما في ذلك وضعية جلوسك وكرسيك ونحوهما لأجل انتاجية أكثرر اكتب الكود بنفسك وحاول فهمه وتجربته على أمثلة مختلفة. لا تتردد في طرح الأسئلة والاستفسارات في المجتمعات المختصة.
    2 نقاط
  6. السلام عليكم .. هل يمكن معرفة mac address للزائر بلغة php
    1 نقطة
  7. اريد ان افهم باستفاضة ما دور document في الكود التالي اريد ان افهم دورها تحديدا ولماذا لا يمكن ان نستغنى عنها مثلا ؟؟ ما فائدتها
    1 نقطة
  8. السلام عليكم. لو سمحتم توضيح الخطأ التالي Already included file name 'c:/Users/saadaoui/Desktop/Backend/models/product.js' differs from file name 'c:/Users/saadaoui/Desktop/Backend/models/Product.js' only in casing. The file is in the program because: Imported via "./models/product" from file 'c:/Users/saadaoui/Desktop/Backend/index.js' Root file specified for compilation product.js const mongoose = require("mongoose") const Product = mongoose.model("Product", { title: { type: String }, description: { type: String }, price: { type: Number }, image: { type: String } }) module.exports = Product; شكرا لكم.
    1 نقطة
  9. مرحبا , اعمل في تطبيق سطح مكتب بلغة Python و مكتبة Tkinter و لككني اريد ان تتغير قيم القائمة المنسدلة في التطبيق باستخدام متغيرات Tkinter مثل (()StringVar) ارجو منكم مساعدتي و شكرا مقدما.
    1 نقطة
  10. السلام عليكم اخوتي من فضلكم لماذا اشعر بالملل عند دراست لغة بايثون رغم اني احبها و جدا مشتاق حتي انتهي من الاساسيات و البدء بDjango ولاكن في الاساسيات توجد موضوعات كثيره عن العمليات الحسابيه و مع مرور الدروس اشعر بالملل و لا اقدر المواصله من فضلكم ماذا تنصحوني ان افعل او ما هي الدروس الاساسيه المهمة حتي ابدا Django و هل يوجد خطة دراسيه معينه لتحقيق الاستفادة المطلوبه من الدوره و شكرا جزيلا لكم
    1 نقطة
  11. السلام عليكم أعمل على لغة بايثون حالياً أعمل على تطبيق وأستخدمت فيه مكتبة Tkinter لتصميم واجهة ومكتبة Openpyxl للتعامل مع ملفات الإكسل ( Excel ) من أدوات مكتبة Tkinter توجد أداة أسمها Combobox ( القائمة المنسدلة ) لدي ملف أكسل يحتوي عل أعمدة وصفوف قمت بتحميل بيانات العمود الأول ووضعة داخل أداة Combobox سؤالي لكم أحبتي عند إختيار قيمة من القائمة المنسدلة ( Combobox ) أحتاج أن تظهر القيمة المقابلة لها أو بمعنى أخر جلب القيمة المقابلة لها من نفس الصف من العمود الأخر أنا من يحدده إضهار النتيجة على أداة النص أو طباعتها مثلا. أرجو أن يكون السؤال واضح لكم .
    1 نقطة
  12. السلام عليكم اتعلم مجال تعلم الاله الاول ام تحليل البيانات عشان طبعان مجال تعلم الاله يعتمد علي البيانات ؟ هل فيه فرصه عمل لمحلل البيانات علي موفع العمل الحر او موقع عن بعيد ؟
    1 نقطة
  13. السلام عليكم كيف الحال . عندي سؤالين خفيفان ان شاء الله الاول ماهو مسار البرمجة يوجد خورزميات ورياضيات ماهي الموضوع التي يجب ان ادرسها لاصبح مبرمج انا كنت اتابع دروس عبر اليوتيوب لكن لا استفيد شي علمت ان اللغات متشابهة مثل روبي وبايثون وهناك لغات عالي المستوى مثل سي وسي بلس وهذا اصعب وتاخذ وقت لكن لغة اصيلة المهم اخترت لغة python واريد تعلم web developer ولكن ينقصني جدول او خطة عمل للخورزميات مثلا والرياضيات اتمنى تزويد بها او اذا كان هناك موضوع هنا يجيب عليها . السؤال الثاني مثلا صنعت موقع ويب وله backend python هل اذا صنعت له نسخة للجوال مثلا بلغة سويفت واجه مستخدم استطيع استخدام backend python ولا لا له backend خاص للجوال هذا سؤال يدور في راسي ومحيرني .
    1 نقطة
  14. 1 نقطة
  15. أولاً عليك إنشاء اتصال بقاعدة البيانات باستخدام معلومات الاتصال الصحيحة: <?php $servername = "اسم_خادم_قاعدة_البيانات"; $username = "اسم_مستخدم_قاعدة_البيانات"; $password = "كلمة_مرور_قاعدة_البيانات"; $dbname = "اسم_قاعدة_البيانات"; // إنشاء الاتصال $conn = new mysqli($servername, $username, $password, $dbname); // التحقق من نجاح الاتصال if ($conn->connect_error) { die("فشل الاتصال بقاعدة البيانات: " . $conn->connect_error); } ?> بعد إنشاء الاتصال بقاعدة البيانات، تستطيعي استعمال استعلام SQL لاسترداد المرضى المسجلين عند الدكتور المعين. ولنفترض أن لديك معرّفًا فريدًا لكل دكتور في قاعدة البيانات، فستحتاج إلى استخدام هذا المعرّف لاسترداد المرضى المتعلقين به، وقومي بإضافة الكود التالي لاستعلام SQL لاسترداد المرضى: <?php $doctor_id = $_SESSION['doctor_id']; // تحصل على معرف الدكتور من جلسة الدخول // استعلام SQL لاسترداد المرضى المسجلين عند الدكتور المعين $sql = "SELECT * FROM المرضى WHERE doctor_id = $doctor_id"; $result = $conn->query($sql); if ($result->num_rows > 0) { // يوجد مرضى مسجلين عند الدكتور while ($row = $result->fetch_assoc()) { // قم بعرض بيانات المرضى هنا echo "اسم المريض: " . $row["اسم_المريض"] . "<br>"; echo "رقم الهوية: " . $row["رقم_الهوية"] . "<br>"; // وهكذا... } } else { // لا يوجد مرضى مسجلين عند الدكتور echo "لا يوجد مرضى مسجلين عندك حاليًا."; } // إغلاق الاتصال بقاعدة البيانات $conn->close(); ?> وانتبهي إلى أنه يجب أن يتم تغيير اسم الجدول "المرضى" وأسماء الأعمدة وأيضًا استخدام المتغير المناسب لمعرف الدكتور في قاعدة البيانات، كما يجب أن يكون لديك جلسة لتتتبع معرف الدكتور بعد تسجيل الدخول وقبل عرض الصفحة الخاصة بالدكتور.
    1 نقطة
  16. انتبه الى أنك لا تقوم بإعادة هيكلة JSX على نحو صحيح في ملف المكون Text.js لا يتم التعرف أصلا على return التي هي داخل div. قم بإعادة صياغة ذلك ليصبح: function Text(props){ return ( <div> <p>{props.text}</p> <p>{props.children}</p> </div> ) }
    1 نقطة
  17. تمام , ايون انا عاوز اتعلم مجال تعلم الاله شكرا جدا
    1 نقطة
  18. السلام عليكم ما الدورت التي ستضاف في حسوب ؟ هل ستضاف دور (كامل )لتعلم مجال تعلم الاله وتحليل البيانات ؟
    1 نقطة
  19. ما هو ال pattern الافضل mvvm or repository لعمل مشاريع فلاتر و برجاء شرح مفصل لكليهما و و توضيح الفارق و الاحترافي اكثر و شكرا
    1 نقطة
  20. لربط أداة Combobox في Tkinter بملف Excel باستخدام مكتبة Openpyxl، عليك بالتالي: 1- استيراد المكتبات المطلوبة: from tkinter import * from tkinter.ttk import Combobox from openpyxl import load_workbook 2- تحميل ملف Excel باستخدام load_workbook: workbook = load_workbook('اسم_الملف.xlsx') sheet = workbook.active # تحديد ورقة العمل النشطة 3- استخراج قيم العمود الأول من ورقة العمل وتخزينها في قائمة: column_values = [cell.value for cell in sheet['A']] # افتراضًا أن القيم في العمود الأول (A) 4- إنشاء نافذة Tkinter وإضافة أداة Combobox: window = Tk() combo = Combobox(window, values=column_values) # تعيين قيم القائمة المنسدلة combo.pack() 5- إضافة دالة تعمل عند اختيار قيمة من Combobox: def on_combobox_selected(event): selected_value = combo.get() # القيمة المحددة من القائمة المنسدلة row_index = column_values.index(selected_value) + 1 # +1 لأن الصفوف تبدأ من 1 وليس 0 corresponding_value = sheet['B' + str(row_index)].value # افتراضًا العمود الثاني (B) # قم بعرض القيمة المقابلة في أداة النص أو قم بطباعتها print(corresponding_value) # يمكنك استخدام أي طريقة تعرض القيمة combo.bind("<<ComboboxSelected>>", on_combobox_selected) # ربط الدالة بحدث اختيار القيمة من Combobox window.mainloop() وبذلك عند اختيار قيمة من Combobox، ستستدعى الدالة on_combobox_selected وسيتم استخراج القيمة المقابلة لها من العمود الثاني (افترضت العمود B) ومن ثم يمكنك طباعتها أو عرضها في أداة النص أو التلاعب بها على النحو الذي ترغب به.
    1 نقطة
  21. عند العمل على مشاريع فلاتر (Flutter)، باستطاعتك استخدام أنماط مختلفة لتنظيم وإدارة الكود، وهناك نمطين شائعين في عالم فلاتر هما MVVM و Repository. سأوضح لك الفارق بينهما وسأشرح كل نمط على حدة 1- MVVM (Model-View-ViewModel) يعتبر MVVM من أنماط التصميم الأكثر شيوعًا في تطوير تطبيقات الهواتف المحمولة بما في ذلك فلاتر، وينقسم هذا النمط إلى ثلاثة أجزاء رئيسية: Model: يمثل البيانات والمنطق الخاصة بالتطبيق، ويمكن أن يكون لديك مثيلات للنماذج التي تحتوي على بيانات يستخدمها التطبيق. View: تمثل واجهة المستخدم، وتعرض البيانات المنتجة من ViewModel وتتفاعل مع المستخدم. ViewModel: يعمل كوسيط بين Model و View، ويتولى استرجاع البيانات من Model وتحويلها إلى شكل مناسب للعرض على الـ View، أيضًا يحتوي على المنطق اللازم للتعامل مع استجابة المستخدم. الفكرة الرئيسية وراء MVVM هي فصل الواجهة البصرية عن البيانات والمنطق الخاصة بها، مما يتيح تبسيط عملية اختبار وصيانة التطبيق وسهولة إضافة ميزات جديدة. 2- Repository Pattern يستخدم نمط Repository لإدارة استرجاع البيانات وحفظها في التطبيق، ويقدم هذا النمط واجهة وسيطة (Interface) تحدد العمليات الممكنة مع البيانات مثل الاسترجاع والحفظ والتحديث والحذف، ويقوم المستودع (Repository) الفعلي بتنفيذ هذه العمليات باستخدام مصادر البيانات المناسبة مثل قواعد البيانات أو خدمات الويب. وفي سياق فلاتر، يمكن أن يكون المستودع هو الجزء الذي يسترجع البيانات من قواعد البيانات أو يتصل بخدمات الويب لجلب البيانات، وبإمكانك استخدام Repository Pattern بشكل مستقل أو مع نمط آخر مثل MVVM لتوفير واجهة بين النمطين. أي الفكرة الأساسية وراء Repository Pattern هي تجنب تكرار كود الوصول للبيانات في مختلف أجزاء التطبيق، وتوفير واجهة واحدة للتعامل معها، بدلاً من أن يتم استدعاء وكتابة الاستعلامات المباشرة في أجزاء مختلفة من التطبيق، ويستخدم المستودع كوسيط للتفاعل مع البيانات. الأسلوب الأكثر احترافية الأمر يعتمد على نوع المشروع وحجمه وتعقيده، فعادةً ما ينصح باستخدام نمط MVVM لأنه يفصل واجهة المستخدم عن البيانات ويسهل اختبار وصيانة التطبيق. أما إذا كنت تعمل على مشروع بسيط وغير معقد، فتستطيع استخدام نمط Repository بشكل مستقل، وإذا اقتضى الأمر تستطيع أيضًا استخدام كلا النمطين معًا.
    1 نقطة
  22. هل يمكنني تحديد الinput المراد تحديده للتعديل عليه في css بواسطة "type="password فقط ام يمكنني تحديده بأي صفة اخرى لأنني وجدت المدرب في الدولة يقوم بتحديد المراد بواسطة type فقط
    1 نقطة
  23. هناك تعارض في أسماء الملفات بسبب الحالة الكبيرة والصغيرة للحروف، وفي ويندوز يتم التفريق بين الحروف الكبيرة والصغيرة في أسماء الملفات. لذلك، يعتبر الملف 'c:/Users/saadaoui/Desktop/Backend/models/product.js' مختلفًا عن الملف 'c:/Users/saadaoui/Desktop/Backend/models/Product.js' بسبب اختلاف الحالة في الحرف الأول من اسم الملف (product.js مقابل Product.js). عندما تستدعي الملف './models/product' في الملف 'c:/Users/saadaoui/Desktop/Backend/index.js'، يحاول النظام إدراج الملف 'product.js' ولكنه يجد تعارضًا بسبب الاختلاف في حالة الحروف. يجب الاستدعاء الصحيح للملف هو الذي يتطابق مع الاسم الفعلي للملف بالضبط من حيث الحالة الكبيرة والصغيرة للحروف، أي الاستدعاء كالتالي: './models/Product' بدلاً من './models/product'. تأكد أيضًا من أنك تستخدم نفس الحالة الكبيرة والصغيرة لاسم الملف عند الاشارة إليه في الملف 'c:/Users/saadaoui/Desktop/Backend/index.js'.
    1 نقطة
  24. في مجال الويب ليس مطلوبة بكثرة، لكن فيما يتعلق بالواجهة الخلفية وتحليل البيانات والذكاء الإصطناعي فهى مطلوبة بكثرة. ولكن كما ذكرت من قبل ودائمًا أكرر أنت من تحدد ذلك، من خلال تفقد المطلوب في سوق العمل لديك وقد أوضحت ذلك بالتفصيل في النقاش التالي: وأيضًا إليك نقاشات متعلقة بنفس الأمر: وبخصوص تعلم Django أم Flask فعليك بتعلم كلاهما، ولكن Django هو المطلوب في سوق العمل وإليك نقاش حول ذلك:
    1 نقطة
  25. نعم، لغة Python تعتبر مطلوبة جدًا في سوق العمل في تطوير الويب. Python هي إحدى اللغات البرمجية الشائعة والمستخدمة على نطاق واسع في تطوير تطبيقات الويب والمواقع الإلكترونية وتتميز Python بعدة مزايا تجعلها مناسبة لتطوير الويب سهولة تعلم اللغة بحيث تعتبر لغة Python لغة برمجة سهلة التعلم والفهم، مما يجعلها ملائمة للمبتدئين والمطورين الذين يرغبون في اكتساب مهارات برمجة الويب. الوفرة والقوة بحيث أن لغة Python توفر مكتبات وأطر عمل قوية مثل Django وFlask وPyramid وغيرها، التي تسهل وتسرع عملية تطوير تطبيقات الويب وتحسن من جودتها. قابلية الاندماج يمكن استخدام Python بسهولة في تطوير الويب بجانب تقنيات أخرى مثل HTML وCSS وJavaScript، مما يتيح إمكانية الاندماج مع العناصر الأخرى في تطبيقات الويب. مجتمع نشط تتمتع Python بمجتمع كبير ونشط من المطورين، مما يعني وجود العديد من المصادر والمكتبات المفتوحة المصدر والتوثيق المتاحة، وذلك يسهل عملية التطوير ويوفر دعمًا قويًا في حالة وجود أي استفسارات أو مشاكل. لهذه الأسباب وغيرها، فإن Python تظل لغة برمجة شائعة ومطلوبة في سوق العمل في تطوير الويب. اختيار بين Django و Flask يعتمد على الاحتياجات الخاصة بمشروع التطوير الخاص بك ومدى تعقيد المشروع ومستوى الخبرة الخاصة بك كمطور. Django Django هو إطار عمل قوي وشامل يهدف إلى تسريع عملية تطوير تطبيقات الويب. يوفر Django العديد من المكونات والميزات المدمجة مثل نظام إدارة قواعد البيانات ونظام التوثيق ونظام التوجيه وإنشاء واجهات المستخدم الإدارية. يوفر Django بنية تطوير معتمدة على المجلدات والملفات، مما يسهل إعادة استخدام الشفرة والتعاون في فرق التطوير. Django يعتبر مثاليًا لتطوير تطبيقات الويب الكبيرة والمعقدة التي تتطلب إدارة كبيرة للبيانات والمحتوى. Flask Flask هو إطار عمل صغير الحجم ومرن يركز على البساطة والمرونة في التطوير. يقدم Flask مجموعة من الأدوات الأساسية لتطوير تطبيقات الويب بما في ذلك نظام التوجيه ونظام القوالب والتكامل مع قواعد البيانات. يسمح Flask للمطورين بالتحكم الكامل في عملية التطوير وتنظيم الشفرة بطريقة مرنة وحسب احتياجات المشروع. Flask يعتبر مناسبًا لتطوير تطبيقات الويب الصغيرة والمشاريع البسيطة التي لا تتطلب الكثير من الأدوات والميزات المدمجة. إذا كنت تبحث عن إطار عمل قوي ومتكامل لتطوير تطبيقات الويب الكبيرة والمعقدة، فإن Django هو الخيار الأمثل. أما إذا كنت تفضل مرونة وبساطة الإطار العمل وترغب في التحكم الكامل في عملية التطوير، فإن Flask يمكن أن يكون الخيار الأفضل لك.
    1 نقطة
  26. ليس شرطا أن يتعلم المهندس البرمجي Software Engineer مجالات متنوعة كثيرة. فيمكن أن يتخصص المهندس البرمجي في مجال محدد: قد يتخصص في تطوير تطبيقات الويب Web Development ، ويتعلم لغات الـ PHP أو Node.js أو .NET بشكل مكثف. أو يتخصص في تطوير التطبيقات على الهواتف الذكية Mobile App Development ويتعلم لغات كـ Swift أو Java أو Kotlin. أو يتخصص في مجال ذكاء اصطناعي AI ويتعلم لغات برمجة خاصة بذلك كـ Python للتعلم الآلي Machine Learning. لذا ليس بالضرورة أن يقوم المهندس البرمجي بتعلم "كل شيء"، بل يمكنه التركيز على مجال معين والتخصص فيه، فيصبح خبيراً في ذلك المجال. على الرغم من أن الإلمام بعدة تقنيات ولغات برمجة أمر مفيد للغاية بالطبع. وللتوضيح أكثر قم بقراءة المقالات الموجودة في التعليق السابق
    1 نقطة
  27. في الآونة الأخيرة هناك نقاش دائر حول ما الفرق بين software Developer والـ Software Engineer وإذا بحثت على الإنترنت ستجد أن الـ Software Engineer هو مسؤول عن عملية تصميم السوفت وير أو البرنامج من البداية حتى النهاية من حيث التصميم والتحليل وهيكلة المشروع وخلافه. أما الـ Developer فهو مسؤول عن كتابة الكود فقط، أو تنفيذ المهام المطلوبة منها والتي وضعها الـ Software Engineer، وذلك التعريف على الإنترنت فقط. أما على أرض الوقع فكلاهما سواء وهما شخص واحد، ويجب على الـ Developer الجيد أن يطمح إلى أن يكون Software Engineer ويتعلم أساسيات البرمجة وعلوم الحاسوب ودورة الحياة لتطوير الأنظمة البرمجية SDLC وهي إختصار لـ Software Development Life Cycle، وقد تم توضيحها في النقاش التالي: بالإضافة إلى دراسة الخوارزميات وهياكل البيانات وتعلم مهارة Problem solving، وأنماط التصميم Design Patterns. أيضًا يجب الإلمام بالـ hardware architecture لمعرفة كيف يتم معالجة الكود الخاص بك عن طريق المعالج والنظام والذاكرة العشوائية. وفي بداية تعلمك قد تبدوا الأمور السابقة صعبة الفهم أو لا تجد فائدة لها، وذلك صحيح، ونصيحتي إليك هي بمحاولة فهمها بقدر استطاعتك، ثم تعلم لغة البرمجة الأولى لك والعودة إلى مذاكرة ما سبق مرة أخرى وستجد فائدة كبيرة جدًا وستفهم ما كان مبهم وأشبه بعلوم الفضاء بالنسبة لك في البداية.
    1 نقطة
  28. مهندس البرمجيات (Software Engineer) هو محترف في مجال تطوير البرمجيات وتصميمها. يعمل على إنشاء برامج حاسوبية وتطبيقات مختلفة باستخدام مهاراته في البرمجة والهندسة البرمجية. يشمل دور مهندس البرمجيات فهم متطلبات العميل وتحويلها إلى تصميمات برمجية، وتنفيذ هذه التصميمات باستخدام لغات البرمجة المناسبة وأدوات التطوير، واختبار وتحسين البرمجيات لضمان أداءها الجيد والجودة العالية. يعتمد مهندس البرمجيات على مجموعة واسعة من المهارات التقنية، بما في ذلك البرمجة، وهندسة البرمجيات، وقواعد البيانات، وتصميم واجهة المستخدم، والأمان السيبراني، وإدارة المشاريع، والاختبار والتصحيح، والتعامل مع البيانات الكبيرة وتقنيات الذكاء الاصطناعي والتعلم الآلي. يعمل مهندس البرمجيات عادة ضمن فريق تطوير يتعاون مع أعضاء الفريق الآخرين مثل مهندسي البرمجيات الآخرين ومصممي واجهة المستخدم ومديري المنتجات. يمتلك مهندس البرمجيات دوراً مهماً في تطوير البرمجيات المستخدمة في مجالات متنوعة مثل تطبيقات الويب والهواتف المحمولة والبرمجيات الحاسوبية وأنظمة التشغيل والذكاء الاصطناعي والروبوتات والألعاب وغيرها. يعتبر مهندس البرمجيات مسؤولاً عن إنشاء وصيانة البرمجيات بطريقة فعالة وموثوقة وآمنة. تتطلب وظيفة مهندس البرمجيات معرفة عميقة بلغات البرمجة مثل Java، C++، Python، وغيرها، فضلاً عن مفاهيم هندسة البرمجيات وأساليب التطوير المختلفة. يجب أن يكون مهندس البرمجيات قادراً على حل المشاكل التقنية والتعامل مع التحديات البرمجية المختلفة التي يمكن أن تواجهه خلال عمله.
    1 نقطة
  29. حتى تنهي هذا التشتت يجب أن تقوم بمراجعة أهدافك من تعلم البرمجة هل هي فقط لتعلم والدراسة فقط أو من أجل الحصول على مشاريع أو وظيفة ، لذلك لو كان هدفك الحصول على وظيفة يجب عليك أن تدخل سوق العمل ورؤية ما أكثر المجالات التي عليها طلب أو المجالات التي فيها وظائف وأعمال كثيرة وبعدها قم بتحديد المجال الذي تريد الإنضمام إليه .
    1 نقطة
  30. يجب أن يكون لديك شغف وحب للمجال البرمجي الذي اخترته وهذا أهم عامل للإستمرار في مرحلة التعلم والتطوير في المجال ، وذلك حتى لا تشعر بالملل أو الشعور بأنك لا تنجز في مجالك ومن أهم الأمور التي يمكنك فعلها حتى تلتزم في المجال. تحديد أهداف واضحة لذلك يجب عليكتحديد أهدافك في المجال الذي اخترته بشكل واضح ومحدد. قد تكون هذه الأهداف متعلقة بالمهارات التي ترغب في اكتسابها أو المشاريع التي ترغب في إنجازها. تأكد من أن الأهداف قابلة للقياس وقابلة للتحقيق. التعلم المستمر واكتساب المعرفة وتطوير المهارات اللازمة في مجالك مهم جدًا. استثمر الوقت في القراءة والدراسة ومتابعة أحدث التطورات في المجال الذي اخترته. قد ترغب أيضًا في حضور دورات تدريبية أو ورش عمل لتطوير مهاراتك بشكل مستمر. الممارسة العملية وهذا أهم أمر يجب أن تمارسه بحيق يجب أن تقوم بتطبيق المفاهيم التي تعلمتها في مشاريع عملية. قد تحتاج إلى إنشاء تطبيقات أو إكمال مشاريع تطبيقية لتطبيق المفاهيم النظرية وتعزيز فهمك العملي. الانخراط في المجتمع المهني يجب عليك أن تبحث عن فرص للانخراط في المجتمع المهني المرتبط بالمجال الذي اخترته. قد تكون هناك مجموعات ومنتديات عبر الإنترنت حيث يمكنك التواصل مع المحترفين الآخرين ومشاركة المعرفة والخبرات. التحفيز الذاتي ومكافأة نفسك يجب عليك المحافظة على التحفيز والاستمرار في مسارك على الرغم من التحديات التي قد تواجهك. حدد مصادر التحفيز الشخصية التي تعمل بشكل جيد بالنسبة لك، سواء كان ذلك من خلال تحقيق أهداف فردية أو الحصول على تقدير واعتراف من الآخرين. الثقة بالنفس اعتقد في قدرتك على تحقيق النجاح وتطوير مهاراتك في المجال الذي اخترته. قد تواجه تحديات وفشل في بعض الأحيان، ولكن الثقة بالنفس ستساعدك على التغلب عليها والمضي قدمًا. تذكر أن الالتزام والاستمرارية هما مفتاح النجاح في أي مجال. قم بتحديد أهدافك واعمل بجد واستمتع بعملك، وستجد نفسك تحقق تقدمًا وتحقق نجاحًا في المجال الذي تختاره.
    1 نقطة
  31. 1- أولاً عليك بإضافة متغير للتتبع وعرض تقدم التحميل في النافذة الحالية، ولنفترض أن المتغير يسمى progressBar. 2- بعد ذلك في الدالة uploadvideo(), بعد السطر: iStream = getContentResolver().openInputStream(pdffile);، قم بإضافة الكود التالي: int fileLength = iStream.available(); وهذا سيحسب حجم الملف المراد تحميله. 3- في داخل الحلقة while في دالة getBytes(), بعد السطر byteBuffer.write(buffer, 0, len);، قم بإضافة الكود التالي: uploadedBytes += len; int progress = (int) ((uploadedBytes * 100) / fileLength); updateProgressBar(progress); وهو يحسب حجم البيانات المحملة حتى الآن ويحسب التقدم بنسبة مئوية، وتستدعى الدالة updateProgressBar() لتحديث قيمة progress bar بناءً على التقدم. 4- إضافة الدالة updateProgressBar() في النشاط الحالي (activity) لتحديث قيمة progress bar: private void updateProgressBar(int progress) { progressBar.setProgress(progress); } 5- تعديل المكان المناسب في الكود لإنشاء وعرض progress bar، وتستطيع إضافته في أي مكان ترغب فيه. مثلاً ، إضافة الكود التالي في بداية uploadvideo(): progressBar = new ProgressBar(this, null, android.R.attr.progressBarStyleHorizontal); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 20); progressBar.setLayoutParams(params); progressBar.setProgress(0); progressBar.setMax(100); layout.addView(progressBar); حيث layout هو عنصر من واجهة المستخدم يحتوي على العناصر التي تظهر فيها progress bar، وبإمكانك استبدال layout بعنصر آخر في واجهة المستخدم الخاصة بك. وعليك استيراد المكتبات اللازمة وتعديل الأسماء المطلوبة وفقًا لما تريده في الكود.
    1 نقطة
×
×
  • أضف...