طارق جهاد

الأعضاء
  • المساهمات

    168
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • Days Won

    17

السُّمعة بالموقع

92 Excellent

المعلومات الشخصية

7 متابعين

  1. وعليكم السلام ورحمة الله. انت بحاجة إلى Web Service )فكر بها كموقع الكتروني( هي التي تقوم بتخزين بيانات المستخدمين وصورهم والمعالجة الاخرى للبيانات. الآن انت بحاجة لربط تطبيق الجوال مع هذه الخدمة Web Service، بحيث يقوم تطبيق الجوال بارسال بيانات لها، وهي تقوم بتخزين بيانات المستخدم ورفع الصور ووو. يتم التواصل بين تطبيق الجوال وبين الخدمة Web Service عن طريق Web API. يمكن انشاء هذه الـ Web API بإحدا تقنيات Server Side مثل PHP, Java, ASP.NET, Python, Ruby وغيرها. ويمكنك طلبها هذه الخدمة من اي تطبيق سواء كان تطبيقات جوال، تطبيقات سطح مكتب، او حتى تطبيقات ويب اخرى. بالتوفيق،،،
  2. بامكانك العمل على بيئة Untiy لتطوير الألعاب باستخدام سي شارب https://www.devu.com/tutorials/unity
  3. وعليكم السلام ورحمة الله. اخي الكريم بداية لتكن المقارنة دائما بهدف اختيار المناسب بدل ان تكون بهدف تحديد الافضل والدخول بجدالات عقيمة. هناك مجموعة اسئلة قد تسألها لنفسك لتحدد اي مسار يناسبك اكثر. 1. كم هو الوقت المتاح لك لتعلم تقنية او تقنيات جديدة؟ أرغب بالبدء بأسرع وقت بمشاهدة تطبيقاتي تعمل على اجهزة العملاء فهذا سيطعني دافع اكبر للتعلم والمواصلة )اذهب مع الخيار الثاني( لا مشكلة لدي بالوقت، المهم ان تكون تطبيقاتي متوافقة 100 % مع معايير غوغل وابل ومايكروسوف، مهما طال الوقت )اذهب مع الخيار الأول( 2. هل لديك العزيمة الكافية لتعلم ثلاث تقنيات متتالية بهدف انشاء تطبيق )اضف لها الميزانية الكافية( نعم اريد ان اتعلم الاندرويد بلغة الجافا، ثم انتقل إلى بيئة مختلفة تماما ولغة برمجة مختلفة تماما وابدء بتعلم سوفت و Xcode وابدء من الصفر في تطوير نفس التطبيق الذي طورته ضمن اندرويد، ثم اعيد نفس الكرة مع ويندوز )اذهب مع الخيار الأول( لا أريد ان تقل عزيمتي اثناء تعلمي هذه التقنيات ومواجهة مشاكل كل تقنية بحيث اقف عند نقطة ولا استطيع المتابعة، ولكن ارغب باستثمار وقتي وتطوير تطبيقات بتقنية واحدة ومواجهة المشاكل مرة واحدة، بحيث استطيع الانطلاق وبعدها قد افكر بتعلم كل تقنية على حدة )اذهب مع الخيار الثاني( 3. ما هي طبيعة التطبيقات التي تود تطويرها هل هي تطبيقات ألعاب، معالجة صور وفيديو او تطبيقات خدمية كالمتاجر الالكترونية وغيرها؟ تطبيقات معالجة الفيديو والصوت والتطبيقات التي تعتمد كثيراً على هاردوير الموبايل نفسه )اذهب مع الخيار الأول( التطبيقات الخدمية وتطبيقات التواصل الاجتماعي وتطبيقات معالجة البيانات )اذهب مع الخيار الثاني( تابع باقي الأسئلة مع نفسك، وستحدد بعدها اي تقنية/تقنيات مناسبة اكثر لك في الوقت والمتطلبات والامكانيات الحالية لديك، وتأكد دائما بأن هذا الامر قابل للتغيير وليس قرآناً. فقد تقوم بتغيير رأيك عند نقطة معينة وقد تغير التقنيات المستخدمة بل وقد تغير ما لا يخطر ببالك حالياً. بالتوفيق،،،
  4. بإمكانك تجربة هذا الكود: static void Main(string[] args) { bool isExit = false; do { // Ask the user Console.WriteLine("Do you want to enter grades?"); Console.WriteLine("Yes: Enter subject name"); Console.WriteLine("No: Enter 1"); // Check input if it is subject name (continue) or 1 (exist) string input = Console.ReadLine(); int number; isExit = int.TryParse(input, out number); // Input =1, exit if (isExit) return; // Continue enter grades Console.Write("Enter students count:"); int count = int.Parse(Console.ReadLine()); int[] grades = new int[count]; int sum = 0; for (int i = 0; i < count; i++) { Console.Write("Enter student " + (i + 1) + " grade:"); grades[i] = int.Parse(Console.ReadLine()); sum += grades[i]; } Console.WriteLine("--- REPORT ---"); Console.WriteLine("Subject Name: " + input); Console.WriteLine("Students Count: " + count); Console.WriteLine("Average: " + (sum / count)); Console.WriteLine("---------------------------"); Console.WriteLine(); } while (!isExit); } بالتوفيق،،،
  5. ما هي لغة البرمجة المطلوبة، اعتقد ++C؟
  6. وعليكم السلام ورحمة الله. RESTful API او Representational State Transfer بمعنى ارسال/استقبال البيانات عن طريق بروتوكول http http يسمح لنا بارسال طلب بصيغة معينة وباكشن معين Get, Post, Put, Delete تسمى http verb بالتالي عندما اقوم بارسال طلب إلى السيرفر، فإن السيرفر سيفهم نوع الطلب بناءا على الـ verb المرسل مع الطلب بالتالي: اصبح تطوير rest api اسهل بمعنى يمكن ارسال الطلب لنفس العنوان ولكن باختلاف verb حتى استطيع عمل مختلف ال verbs على البيانات مثلا: https://www.mywebsite.com/api/customers يمكن ان استخدم هذا العنوان سواء لقراءة البيانات او كتابة بيانات جديدة إلى السيرفر. وطبعا انت المسؤول عن تطوير هذه الروابط والدوال المرتبطة معها والمسؤولة عن ادارة البيانات. اعود إلى سؤالك: اذا Restful api هي الية لارسال واستقبال البيانات وليس لانشاء الواجهات او ادارة قواعدة البيانات. ما انت بحاجة للتركيز عليه هو Client Application او التطبيق الذي سيقوم باستهلاك هذه البيانات. يجب ان يكون لديك شكل البيانات القادمة من rest إلى client application التالي: { "members": [ { "id": 1, "name":"member1", "level": 1, }, { "id": 2, "name":"member2", "level": 2, } ] } لدي هنا مجموعة من الاعضاء مع تفاصيل كل عضو، واستطيع بكل بساطة ان احدد للعضو الاول اضافة موضوع واحد والعضو الثاني اضافة موضوعين، بالاستفادة من خاصية level ضمن هذه الـ api بالتالي حاليا انت بحاجة لقراءة البيانات من قاعدة البيانات على السيرفر وتحويلها إلى json كما في المثال، او xml بحسب ما يناسبك. ثم تعريف طرح هذه البيانات بشكل web service يمكن الوصول لها عن طريق روابط معينة. وتقوم انت من خلال client application باستهلاك هذه البيانات وعرض واجهات المستخدم بالشكل المناسب. ملاحظة: client application يمكن ان يكون Web app Desktop app Mobile app IoT app TV app او اي تطبيق اخر حاول تفصيل ما تحاول انجازه بالتفصيل حتى استطيع مساعدتك اكثر بالتوفيق،،،
  7. وعليكم السلام ورحمة الله. اخي بأي حال انت بحاجة لاستضافة الموقع على IIS. سواء على الويب او على شبكة محلية. من خيارات المشروع ضمن فيجوال ستوديو، اختر Web ثم من قائمة السيرفرز اختر Local IIS ثم اضغط على Create Virtual Directory بالطبع انت بحاجة لان يكون IIS مفعل مسبقا على الجهاز، لذلك تأكد من ذلك كالتالي: اضغط على زر ابدء ابحث عن iis يظهر لديك Internet Information Services Manager IIS. اذا لم يظهر لديك، اتبع الخطوات التالية: Control Panel Programs and Features Turn Windows features on or off ثم ابحث فعل خيارات iis كما في الصورة اخيراً، اذا كنت تستخدم SQL Server لقاعدة البيانات، فأنت بحاجة لمنح IIS صلاحية للوصول إلى قاعدة البيانات، هذا موضوع اخر بالطبع بالتوفيق،،،
  8. هذا الكود لن يعمل في حال كانت جميع الاعداد المدخلة أكبر من الصفر )دائما سيكون 0 هو اصغر عدد!( لذلك يجب اعتبار اول عدد تم ادخاله هو اصغر رقم، ثم المرور على باقي الاعداد. الطرق كثيرة هذه احداها: public static void Main() { int min; int[] numbers = new int[7]; for (int i = 0; i < 7; i++) { numbers[i] = int.Parse(Console.ReadLine()); } min = numbers[0]; for (int i = 1; i < 7; i++) { if (numbers[i] < min) min = numbers[i]; } Console.WriteLine($"Min = {min}"); } وهذه طريقة اخرى: public static void Main() { int min = 0; for (int i = 0; i < 7; i++) { int number = int.Parse(Console.ReadLine()); if(i==0) { min = number; } if (number < min) { min = number; } } Console.WriteLine($"Min = {min}"); } بالتوفيق،،،
  9. أخي الكريم. على اعتبار ان اي برنامج سيتم تحويلة إلى لغة الألة بالنهاية Binary. وهي الشيء الوحيد الذي يفهمة المعالج بالتالي انت بحاجة للتعرف على ألية عمل المعالج نفسه، والذي يتكون من مجموعة من Registers المتصلة مع بعضها، ويتم نقل الاشارات الكهربائية Bits بين هذه register بطريقة منطقية، بمعنى بطريقة مصممة مسبقاً، بحيث ينتج عنها معالجة البيانات )معالجة البيانات ليست اكثر من عملية الجمع!( لاحظ الصورة المرفقة ل Register. يحوي المعالج على دارات مشابه له. مع مجموعة من الداوئر الالكترونية الاخرى مثALU, Accumulator جدير بالذكر، ان طبيعة هذه الـ Register إما 32-bit او 64-bit، وبالطبع 64 بت تكون اكثر قدرة على تخزين البيانات بالتالي قدرة معالجة اكبر حاول الاطلاع على الية عمل المعالج CPU، وهذا فيديو مساعد https://www.youtube.com/watch?v=cNN_tTXABUA
  10. You need something like this You can create the database by running this script todo-erd.sql
  11. بشكل مبسط يمكنك انشاء صورة (ربما صورة متحركة ايضا) لكن كلمة في لغة الاشارة، بحيث يصبح لديك قاموس في النهاية (يربط بين الكلمات والصور) ثم يكون لديك خوارزمية تقوم بقراءة النص وقراء الصور الموافقة لها من القاموس (يمكنك قراءة النص كلمة كلمة او جملة جملة بحسب القاموس المعرف مسبقاً) واخيرا نقوم بعرض الصور. يوجد مثال مرفق لهذا المقترح بشكل متطور. يمكنك استخدام احدى تقنيات 3D ونمذجة الكلمات والجمل إلى حركات بحيث يتم ايضا رسم المشهد بشكل متسلسل وانسيابي بين الحركات. اذا كان لديك خبرة ب سي شارب فإن تقنية WPF توفر بيئة رائعة لتطوير تطبيقات 3D، شاهد المثال على الرابط https://www.youtube.com/watch?v=3Nkh03djvo4 بالتوفيق،،، SignLanguageApp.rar
  12. اخي الكريم حدد ميولك في البداية (اي مجال برمجة بالضبط تود العمل به) الويب ام الموبايل او تطبيقات سطح المكتب، ام لا تعرف بالضبط حتى الآن؟ وثانيا حاول الاطلاع على مختلف انواع التكنولوجيا الموجودة وستجد نفسك منجذبا لبعضها دون الآخر. ومن هناك تستطيع ان تنطلق بشكل افضل. حالياً مجتمع البرمجيات يتجه بالكل نحو التكنولوجيا والتقنيات مفتوحة المصدر، واصبحت مشاركة الشركات الكبرى في تطوير ادواتها ولغاتها امرا روتينيا، بإمكانك الآن مثلا مشاركة قوقل او مايكروسوفت او مجتمع بايثون وغيرهم في تطوير الادوات والتنقيات. لديك على سبيل المثال وليس الحصر NodeJS AngularJS .NET Core ASP.NET Core Python Ruby Ruby On Rails Xamarin and Xamarin Forms Flutter وغيرها العديد جميعها تقنيات ولغات جميلة ومفتوحة المصدر، يمكن المشاركة في تطويرها واستخدامها في تطوير تطبيقات واحتراف مجال عملك، وبالطبع ستفتح لك المجال لاستكشاف تقنيات جديدة خصوصا اذا كنت شغوفا في البرمجة، ستجد نفسك متابعاً لكل ما هو جديد. مثلاً، امس تم اصدار النسخة 3.6 من تقنية Xamarin Forms وكنت بانتظارها لاحد المشاريع عندي، ومباشرة قمت بترقية التطبيق لدي. ودائما ابحث اين يتجة مجتمع البرمجة واحاول التكيف من المجتمع الجديد. نصيحتي لك من كل ما سبق، لا تعتمد على تقنية دون اخرى، لا تدخل في نقاشات اي تقنية او لغة افضل من الاخرى، حافظ على التعلم المستمر ومتابعة كل ما هو جديد، تحلى دائما بالصبر عند مواجهتك لمشاكل معينة، وحاول البحث عنها، وفهم سبب المشكلة لتزيد من رصيد خبرتك ومهاراتك. عذار على الاطالة بالتوفيق،،،
  13. وعليكم السلام ورحمة الله 1. كل لغات البرمجة تستخدم RAM في تخزين البيانات اثناء التنفيذ Run time حتى لو كنت تقرأ من ملف او من الانترنت، بالنهاية ستكون البيانات على ذاكرة جهازك، والمصفوفات سيتم تمثيلها بالذاكرة بشكل متشابه لكن يختلف النحو Syntax المستخدم ضمن لغة البرمجة لتعريف المصفوفات. 2. بالإمكان عمل اي شيء، لكن السؤال ما هي الفائدة من تفادي استخدام هياكل البيانات اذا كان الجواب لصعوبتها، فأنت حتما ستحتاجها عاجلا او آجلاً. لا تنسى ان هناك هياكل بيانات يوجد بها مسبقا خوارزميات البحث والترتيب (مثل Lists و Arrays) في جافا وسي شارب. 3 -4. الخوارزميات التكرارية او Loops هي من اساسيات جميع لغات البرمجة، حالها كحال الجمل الشرطية وتعريف المتغيرات والدوال وغيرها. لكن يوجد العديد من الاشكال لها وقد تجد بعض لغات البرمجة تحوي على اليات تكرارية لا توجد عند غيرها، لكن بشكل عام جميع لغات البرمجة يجب ان تحوي على اساسيات معينة حتى تسمى لغة برمجة ومن ضمن هذه الاساسيات الحلقات التكرارية بالتأكيد. وغالبا ستجد حل لاي مشكلة بأي لغة برمجة كانت عند اتقانك لدرجة معينة من هذه اللغة. 5. لديك انظمة عد مختلفة لانه لا يمكن لنظام عد واحد ان يشمل جميع الحالات، المعالج لا يفهم الى اشارة كهربائية (on -off) يتم اعتبارها رياضيا (0 -1) بالتالي انت بحاجة نظام عد يعتمد فقط على الصفر والواحد حتى يستطيع انجاز باقي العمليات الرياضية، لذلك لديك Bindary، ايضا نظام السداسي عشر Hexadecimal يستخدم لتسهيل تمثيل Binary (ويمكن استخدام 16 رمز في تمثيله) ( 0 1 2 3 4 5 6 7 8 9 A B C D E F) مثلا الرقم 0000 binary يقابل 0 hexadecimal 0001 يقابل 1 0010 يقابل 2 0011 يقابل 3 ... 1001 يقابل 9 1010 يقابل 10 ... 1111 يقابل F وهي 16 الحد الاعلى في نظام السداسي عشر، الان يمكنك تمثيل الاعداد بشكل اسهل ضمن النظام السداسي عشر بدل النظام الثنائي مثلا: العدد 11010100 بالنظام الثنائي مساوي ل D4 بالسداسي عشر والعدد 11111111111111110011 بالنظام الثنائي مساوي لFFFF3 بالسداسي عشر النظام الثماني octal يمكنك استخدم من 0 إلى 7 فقط لتمثيل الارقام، يعني 1 بايب فقط. 6. preemptable resources و non preemptable resources هي الية عمل ضمن نظام التشغيل وتعني ان مشاركة المصادر من عدمه. بمعنى هناك بعض المصادر يمكن مشاركتها وهناك مصادر لا يمكن، مثال مختصر، يمكن مشاركة الطابعة (الطباعة مصدر هنا) مع اكثر من شخص (عملية او Process ضمن نظام التشغيل) بحيث يقوم نظام التشغيل بالتحويل بين هذه العمليات Switching او Swapping، اي اذا تم انتهاء مدة التنفيذ المسموحة للعملية الاولى ولم تنهي الطباعة يقوم بتحويل المصدر للعملية الثانية وهكذا. هذا يسمى ب Multi-Tasking وهو اساس عمل جميع انظمة التشغيل الحديثة. طبعا انت لن تشعر ب Switching. لانه غالبا يتم على مستوى اجزاء من الثانية عدة مرات. هنا بامكانك اعتبار الطابعة preemptable resources، على الطرف الآخر سواقة الاقراص المدمجة CD لا يمكن مشاركتها او تحويلها لعملية اخرى، بمجرد اخراجك ل CD منها، انت انهيت العملية Process الخاصة بها، وبادخالك ل قرص اخر انت اعطيت كامل المصدر (CD Driver) الى عملية اخرى، لانه لا يمكن اجراء تحويل Swapping او Switching. اتمنى ان تصل الفكرة حاولت اختصارها 7. لا ليست جميع لغات البرمجة متكافئة، كل لغة تم تصميمها لاغراض معينة ولها متطلبات معينة. هناك لغات يمكنها التنفيذ مباشرة علىى نظام التشغيل مثل لغة السي والسي بلس بلس، وهناك لغات بحاجة بيئة افتراضية للتنفيذ مثل جافا بحاجة ل Java Virtual Machine وسي شارب بحاجة ل .Net Framework. اخيرا، كملاحظة الاسئلة السابقة هي اسئلة نظرية اكثر من كونها عملية، واذا كانت ترغب بالدخول او دخلت مسبقا في البرمجة، فهذه الاسئلة لا تشكل فرقا كبيرا في العمل، اما اذا كنت تدرس او تعمل بمجال علوم الحاسوب، فنعم انت بحاجة لمزيد من التعمق. بالتوفيق،،
  14. اخي الكريم، منتدى البرمجة هنا مختص بالبرمجيات وليس بصيانة الحاسوب. على أي حال، ربما يكون لديك مشكلة ماس كهربائي في الماوس نفسها، جرب تبديلها. بالتوفيق،،،
  15. أخي الكريم فقط كملاحظة قبل البدء بتعلم php او اي لغة اخرى. حاول ان تفهم بداية ما فائدة هذه اللغة او التقنية مثلاً php هي لغة الموقع على السيرفر بينما html,css, javascript واجهة المستخدم التي يراها ويتفاعل معها، لتنفيذ الكود الموجود على الموقع. لذلك دائماً احرص ان لا تبدأ بتعلم تقنية او لغة بمجرد نصيحة أحد الزملاء فقط، بل حاول الاطلاع على اللغات والتقنيات الموجودة ومقارنتها، ثم اختر ما يناسبك. فمثلاً، انا لا انصحك بتعلم php! لكن ربما انصحك بتعلم ASP.NET Core لذلك أيضاً لا تأخذ بنصيحتي قبل ان تتطلع بنفسك على هذه التقنيات ثم تختار المناسب لك. بالتوفيق،،،