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

عبد الله محمد5

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

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

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

  • عدد الأيام التي تصدر بها

    2

كل منشورات العضو عبد الله محمد5

  1. السلام عليكم أخي إذا كنت تقصد الكيفية: فأنت بحاجة إلى حساب مطور بالنسبة لمتجر جوجل سيكلفك 25$ اما بالنسبة للبلاي ستور سيكلفك 50$ بعدها يمكنك رفع التطبيقات الخاصة بك على المتجر. أظن أنك تقصد وجود مميزات في تطبيقك لا يمكن الوصول اليها الى بمقابل مادي: في هذه الحالة فهي فكرة جيدة والكثير من تطبيقات الجوال تقوم بها لتحصيل المال و بالنسبة لسعر الخدمة فهذا يعتمد على نوع التطبيق والفئة المستهدفة بالاضافة إلى أسعار التطبيقات المنافسة .
  2. السلام عليكم أخي بالنسبة للborder radius لا يمكن ان تقوم بعمل هذا الشكل باستخدام البوردر ريديس . لكن لديك حلان: ان تستخدم svg مماثل للشكل الذي تريده وتجعل الfill له باللون الابيض ويكون الz-index اعلى من المربع الاصفر وبالتالي سيبدو وكأن المربع الاصفر بهذا الشكل المطلوب. مثال : هذا الsvg يتم استخدامه في الشكل الموجود في الصورة. <svg viewBox="0 0 1000 100" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none"> <path class="shape-fill" fill="#FFFFFF" d="M421.9,6.5c22.6-2.5,51.5,0.4,75.5,5.3c23.6,4.9,70.9,23.5,100.5,35.7c75.8,32.2,133.7,44.5,192.6,49.7 c23.6,2.1,48.7,3.5,103.4-2.5c54.7-6,106.2-25.6,106.2-25.6V0H0v30.3c0,0,72,32.6,158.4,30.5c39.2-0.7,92.8-6.7,134-22.4 c21.2-8.1,52.2-18.2,79.7-24.2C399.3,7.9,411.6,7.5,421.9,6.5z" /> </svg> 2- ان تستخدم مربع اخر بالابيض و تقوم بضبط الborder radius له بطريقة مشابهة لتلك المستخدمة مع الsvg.
  3. السلام عليكم أخي المواقع تتكون من جزئين أساسيين : الواجهات الأمامية(html,javascript,css,bootstrap). الواجهات الخلفية(php,mysql). في هذه الدورة سوف تتعلم كل ما يتعلق بواجهات المستخدم الأمامية اعتمادًا على التجربة العملية والمادة العلمية , لكنك ستظل بحاجة الى تعلم لغة php حتى تتمكن من انشاء متجر يمكنك اضافة منتجاتك عليه.
  4. هنالك عدة طرق للربح من خلال رفع التطبيقات على متجر جوجل وهي: ان تقوم ببيع التطبيق الخاص بك. ان تقوم بأضافة عمليات الشراء داخل التطبيق كأن تقوم مثلاً بأنشاء تطبيق لعرض المسلسلات ويتم شراء المسلسلات بدفع قيمة معينة. ان تقوم بوضع اعلانات داخل التطبيق يتوجب على مستخدم التطبيق مشاهدتها او دفع مبلغ معين نظير استخدام التطبيق دون وجود هذه الاعلانات. ايضاً يمكنك عمل نظام الاشتراك فاذا اخذنا مثلاً تطبيق عرض المسلسلات بدلاً من جعل المستخدمين يدفعون في كل مرة مقابل المسلسلات الجديدة يمكن ان يدفعوا اشتراكاً سنوياً او شهرياً. اخيراً يمكنك كسب المال من خلال الحصول على عقود رعاية لتطبيقك. توفر جوجل امكانية انشاء حملات اعلانية لتطبيقك على اليوتيوب او متجر جوجل او حتى محرك بحث جوجل يمكنك البدء في حملتك من هنا. وصلت ارباح بعض المبرمجين الى 5000 دولار شهرياً
  5. السلام عليكم يجب عليك ان تستخدم الBootstrap وسيسهل عليك مهمة جعل التصميم متوافق مع شاشات الحاسوب المختلفة والايباد والتلفون. اما اذا كنت لا تريد استخدام الBootstrap فيجب عليك ان تستخدم الmedia queries وهي عبارة عن قواعد تحكم وضع العناصر الموجودة في التصميم حسب حجم الشاشة مما يسهل عليك انشاء واجهات متوافقة مع الجوال . مثال بسيط على الmedia queries: @media screen and (min-width: 480px) { body { background-color: lightgreen; } } في هذا المثال يتم تغيير لون الخلفية الى الاخضر في حالة أن تكون الشاشة أكبر من أو تساوي 480px . وقس على ذلك فشاشات الهاتف تكون : 320px 375px 480px . . 768px ولكنني انصحك بأن تقوم بتعلم الbootstrap.
  6. السلام عليكم أخي نصيحتي لك دائماً لا تقف عند مسألة ايهما افضل طالما أنها سوف تقوم بأيصالك الى تحقيق نفس الشيء إبدأ بتعلم اي واحد منها. فهنالك العديد من الفريموركات في مجال البرمجة و التوقف عند مسألة ايها افضل قد يكون مضيعة للوقت في بداية تعلم البرمجة. توفر ionic أطر العمل لاستخدامها في التطبيق. بينما توفر Cordova الإضافات لتشغيل التطبيق على غرار التطبيق الأصلي. ايونيك توفر العديد من الوظائف المختلفة، والتي تحتاج إلى أن تكون متكاملة مع التطبيق، في حين يوفر كوردوفا وصول الhardware من جهاز إلى التطبيق. ال React native هو فريمورك مبني بأستخدام الجافاسكربت لذلك انصحك ان تتعلم الجافاسكربت في البدء حتى تسهل الامر على نفسك.
  7. السلام عليكم يجب عليك ان تحدد اهداف الاداة التي تريدها ولكن عموماً اليك بعض النصائح: اولاً لابد ان تعرف الاداة حتسخدم في ماذا علشان تقدر تحدد نوع التشفير الذي ستستخدمه وبالتالي تبدأ تختار الخوارزمية و في النقطة دي في حاجتين: اذا كنت محتاجاً الى سرعة عالية فعليك ان تستخدم التشفير المتماثل. اما اذا كانت السرعة او القوة الحاسوبية غير مطلوبة فيمكن استخدام التشفير الغير متماثل. بعد ذلك يكون العمل كما هو الحال في جميع البرمجيات فلا اعتقد انه الامر سيكون صعباً لأن الخوارزمية التي ستعمل عليها ستكون موجودة اصلاً وكل ما عليك هو تطبيقها .
  8. وعليكم السلام لا اعتقد انه يعمل من غير API فمثل هذه التطبيقات لابد ان تتعامل مع web service تجلب منه البيانات المتعلقة بالحلقات والتصنيفات والترجمه وغيرها وذلك لايمكن بدون API لقد بحثت عن الAPIs المستخدمة لمثل هذه الاغراض ويمكنك الاطلاع عليها من هنا بعد اختيار الAPI اللي حتشتغل بيها كل المطلوب منك انك تعمل التطبيق بتاعك وتربطه مع الAPI ممكن تشتغل بالاندرويد ستديو بالجافا او الكوتلن اما لو عاوز التطبيق يشتغل على الاندرويد والايفون انصحك بأستخدام flutter.
  9. السلام عليكم الRestfull API هي وسيلة لتنظيم الوصول والاستخدام للweb service عن طريق انشاء الAPIs بتقدر من خلالها انك تعمل POST GET PUT DELETE لجميع انواع البيانات اي انك بتقدر من خلالها انك تقرأ البيانات او تخزن البيانات او انك تعدل البيانات او انك تحذف البيانات وده كله عن طريق ارسال HTTP Requests بيتم التعامل معاها عن طريق الAPI اللي بتمثل حلقة الوصل بين التطبيقات والويب سيرفس. الRestful api هي نفسها REST web service وهي نفسها الREST علشان ما تتلخبط لو لاقيت الكلمات دي. انواع الRequests او ما يعرف بالمنهجيات بالنسبة لRESTful api هي: 1.GET ودي علشان تعمل استرجاع او جلب للبيانات من قاعدة البيانات. 2.POST ودي علشان تعمل تخزين او اضافة لعنصر جديد الى قاعدة البيانات. 3.PUT ودي علشان تقدر تعدل على البيانات. 4.DELETE ودي علشان تقدر تمسح البيانات
  10. السلام عليكم ده تصحيح للكود بتاعك #include <iostream> #include <string.h> using namespace std; struct stud { char n[30]; int sn; float dr[3], sum, avr; }; void read(stud x[], int n) { int i, j; for (i = 0; i < n; i++) { cout << "\n enter student " << i << " name:"; cin.getline(x[i].n, 30); cout << "\n enter student " << i << " sn:"; cin >> x[i].sn; cout << "\n enter student " << i << " 3 dr:"; x[i].sum = 0; for (j = 0; j < 3; j++) { cin >> x[i].dr[j]; x[i].sum += x[i].dr[j]; } x[i].avr = x[i].sum / 3; cin.ignore(); } } void print(stud x[], int n) { int i, j; cout <<"\nname" << "\t" << "s n\td1\td2\td3\tsum\tavg\n"; cout << "=================================================="; for (i = 0; i < n; i++) { cout << "\n" << x[i].n << "\t" << x[i].sn << " "; for (j = 0; j < 3; j++) cout << x[i].dr[j] <<" "; cout << " " << x[i].sum << " " << x[i].avr; } } void sort(stud x[], int n) { int i, j; stud t; for (i = 0; i < n; i++) { for (j = i + 1; j < n; j++) { if (strcmp(x[i].n, x[j].n) > 0) { t = x[i]; x[i] = x[j]; x[j] = t; } } } } void search(stud x[], int n) { char s[30]; cout << "enter the student you are searching for: "; cin >> s; for (int i = 0; i < n; i++) { if (strcmp(x[i].n , s) == 0) { cout <<x[i].n << "\t" << x[i].sn << " "; for (int j = 0; j < 3; j++) cout << x[i].dr[j] << " "; cout << " " << x[i].sum << " " << x[i].avr; } else { if(i == (n-1)) cout << "wrong search"; } } } int main() { stud list[120]; int n = 3; read(list, n); print(list, n); sort(list, n); print(list, n); search(list, n); return 0; } المشكلة كانت انك بتقارن مصفوفة بنص باستخدام ال== وده غلط عدلت لك الموضوع بعمل المقارنة بواسطة الدالة ()strcmp بعدها كانت المشكلة انه لو كان العنصر اللي تبحث عنه بالاندكس 3 مثلاً حيطبع wrong search مرتين قبل ما يجيب القيمة الصحيحة فقمت اضفت شرط ان طباعة العبارة wrong search يتم فقط لو كان العنصر اخر عنصر في المصفوفة
  11. هذا من دواعي سروري ان اوضح لك طيب انت في البداية لازم تتعب شوية عشان تتعب وتوصل لأنك تاخد فرصة كويسة في سوق العمل. انت ممكن تشتغل بالاشياء التي تعلمتها من خلال مواقع العمل الحر ولكن فرصة حصولك على الوظائف ستكون ضعيفة بعض الشيء لذلك يجب عليك ان تطور من نفسك بعض الشيء: حاول ان تتعلم البوتستراب. حاول ان تقوم بتصميم اعمال لك لوضعها في معرض اعمالك مثل ان تصمم متجر الكتروني . اغلب المشاريع يطلب المستقل منك ان تقوم بتسليمه العمل كاملاً تصميماً وبرمجة لذلك يجب عليك ان تتعلم برمجة قواعد البيانات وتختار احدى لغات البرمجة وانصحك بphp و اتباعها بأطار لارافل, او عوضاً عن ذلك يمكنك ان تتعلم الوردبريس. من خلال تجربتي عندما بدأت اريدك ان تعرف ان العمل في منصات العمل الحر ميزته انك تضمن حقك بالرغم من صعوبة الحصول على فرصة في البدايات ولكن لو اضطريت انك تعمل خارج منصات العمل الحر عليك اخذ الحيطه حتى لا يتم خداعك. حتى تضمن حصولك على فرصة في مواقع العمل الحر دائماً اجعل عرضك المادي معقولاً ويحبذ ان تكون اقل عرض خاصة في البدايات .
  12. وعليكم السلام اخي نعم يمكنك ان تبدأ العمل ولكن انصحك بمواصلة التعلم اثناء تقديم عروضك على المشاريع مثلاً يمكنك ان تتعلم البوتستراب ومن ثم تتعلم قواعد البيانات و البي اتش بي حتى تزيد من فرصة توظيفك . و لكن الان يمكنك ان تحصل على وظائف من خلال ما تعلمته ولكنني انصحك ان تقوم بعمل تصميمين او ثلاثة لتضعهم في معرض اعمالك حتى تزيد من فرصة توظيفك.
  13. نعم يمكنك ان تبدأ العمل في حال انك اصبحت مجيداً لها . والافضل ان تواصل التعلم اثناء بحثك حاول ان تتعلم البوتستراب كبداية وربنا يوفق.
  14. السلام عليكم اخي في خيارين : الاول انك تحول ملف الورد الى .txt وتبدأ تقرأ البيانات من الملف بأستخدام الphp. الثاني انك تتعامل معاه بنفس حالته انه doc. وتستخدم COM extension ودي بتمكنك انك تفتح ملف الورد وتتعامل معاه ممكن تقرأ عنها من هنا
  15. السلام عليكم عملت بحث عن بايونير وقرأت بعض الاسئلة الشائعة ووصلت للاتي اتمنى انه يساعدك: عادةً تصل الأموال عادةً إلى حسابك البنكي في غضون 2-3 أيام عمل من تلقيك بريداً إلكترونياً لتأكيد السحب. يمكنك تنزيل كشف تأكيد التحويل من حساب Payoneer الخاص بك. يرجى تسجيل الدخول واتباع الخطوات التالية: انتقل إلى النشاط > المعاملات. من قائمة المعاملات، حدد مكان السحب المتأخر. استخدم عوامل التصفية لمساعدتك في العثور على المعاملة المحددة التي تبحث عنها. انقر على أيقونة الوثيقة على يمين معلومات السحب. في معلومات المعاملة، انقر فوق الحصول على تأكيد. يمكن أن يساعد هذا التأكيد البنك الذي تتعامل معه في التحقيق في حالة السحب. بالإضافة لذلك، في كشف تأكيد التحويل يمكنك الاطلاع على معلومات الحساب البنكي التي في الملف. لو ما وصلت لشيء الافضل انك تتواصل مع الادارة من هنا
  16. ال json هي اختصار ل javascript object notation و بتستخدم لتخزين وتبادل البيانات بين السيرفر والمتصفح او السيرفر وتطبيقات الهاتف طريقة كتابتها هي نفس طريقة كتابة ال objects في الجافا سكربت let data = { "name": "ahmed abubaker", "age": 23, "city": "Khartoum" } البيانات التي يتم تبادلها بين السيرفر والمتصفح تكون عباره عن نصوص والjson عندما يتم تبادلها تكون عبارة عن نص . يتم بعدها معالجة النص وتحويله الى json لاستخراج البيانات التي بداخله. بالطريقة دي var myObj = JSON.parse(myJSON); بعد كده بنقدر نصل للبيانات الموجودة بداخل الjson عن طريق المتغير myObj بالطريقة التالية: let name = myObj.name; let age = myObj.age; طيب خلينا نتكلم عن طريقة كتابة الjson في قاعدتين مهمات لازم تعرفهم في البدء 1- الjson عبارة عن key وهو زي الage,name في المثال الفوق و value ودي زي قيمة الage,name في المثال الفوق وبتكون بالشكل ده key:value. 2-لازم بعد كل key:value تعمل فاصلة "," تفصل بينهم وبين القيم الجاية لو في قيم جاية اما لو مافي فماف داعي للفاصلة. بعد كده نجي لأنواع القيم اللي ممكن انها تخزن في الjson : 1-الارقام : let data = {"age":23}; 2-النصوص: let data = {"name":"ahmed abubaker"}; 3-الjson اوبجكت: let data = {"address":{"country":"sudan","city":"khartoum"}}; 4-المصفوفات: let data = {"countries":["sudan","egypt","oman"]}; 5-القيم المنطقية (true,false): let data = {"isOdd":true,"isEven":false}; لو عندك اي سؤال او محتاج اي مساعدة انا يشرفني اني اساعدك
  17. زي ما ذكر الاخوه ان الفرونت اند ديفلوبر بيقوم بتكويد التصاميم وتحويلها الى شيء يمكن استخدمه وربطه مع قواعد البيانات سواء كان تصميم تطبيق هاتف او موقع اوتطبيق سطح مكتب علشان كده بيتعين عليك كفرونت اند انك تعرف الادوات اللي بتعمل بيها كدة زي الcss و الhtml و غيرها ده بالاضافة ان في برامج اصبحت بتختصر عليك كل التعب ده زي الbootstrap studio اللي بتشتغل عليه drag and drop مع بعض المعرفة البسيطة بال css . اما بالنسبة لسؤالك تحديداً عن منصات العمل الحر فحسب تجربتي ان انت لو عايز تزيد فرصة توظيفك فالافضل انك تجيد التصميم باستخدام الالستوريتر والفوتوشوب وغيرهم من ادوات التصميم بالاضافة الى الحاجات اللي ذكرتها فوق. ومهم جداً انك يكون عندك عدد من الاعمال تضيفها لمعرض اعمالك علشان تزيد فرصة توظيفك.
  18. انت ما شاء الله عليك اشتغلت الكود بطريقة صحيحة بس عندك نقطة صغيرة يلزم انك تعدلها ul li :hover { overflow: auto; text-emphasis: none; display: inline; padding: 5px 20px; border: 2px solid #fff; } في مسافة بين ال li و hover وده اللي عاملك المشكلة ومخلي انك تجد العناصر بتبعد عن بعضها لما يحصل هوفر علشان كده لازم تشيل الspace وتخلي الستايل بالشكل ده ul li:hover { overflow: auto; text-emphasis: none; display: inline; padding: 5px 20px; border: 2px solid #fff; } دي طريقة وحتخلي يكون في اهتزاز بسيط للعناصر بسبب زيادة حجم الايتم اللي عليه الماوس. الطريقه الثانية وهي اللي قالها الاخ تحتي ولكن حتى لو طبقت طريقته مالم تزيل المسافة بين li و ال hover حتظل المشكلة قائمة . بالنسبة للخلفية انت دايماً علشان تغير الخلفية في الcss كل اللي عليك تضيف السطر اللي تحت للجزئية المراد تغيير خلفيتها. background-color:;//color name or color hashcode or rgb/rgba انا غيرت لك الخلفية كاملة بتاعة الشاشة كلها عن طريق اضافة السطر اللي فوق الى ال<body> تفضل ملفات مشروعك style.css kingsalman.html اذا كان لديك اي استفسار انا جاهز للرد عليك
  19. لانو كمثال لما اكتب ETH يقوم بالشراء مباشرة لانها موجودة في الكود ولكن لا اعرف كيف اقوم بي اضافة جميع العملات في الموقع الي الكود. لو ممكن ارفق الكود علشان اقدر اساعدك
×
×
  • أضف...