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

سمير عبود

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

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

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

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

    34

كل منشورات العضو سمير عبود

  1. مرحبا هناك طرق و وسائل يجب إستعمالها لحماية الواجهة البرمجية الخاصة بمشروعك حيث تسمح فقط للأشخاص المخول لهم و الذين لديهم تصريح للوصول إلى API مثل استعمال basic authentication او oauth حيث يتم التحقق من التصاريح في كل طلب لمنع أي مستخدم من الوصول إلى بيانات مستخدم آخر يتم إستعمال ما يسمى ب token و يتم تحريره لكل مستخدم و يكون مشفر و فريد من نوعه أي لكل مستخدم token خاص به مثلا في إطار لارافيل هناك عدة حزم يتم إستعمالها لهذا الغرض ك: JWT token Laravel passport Laravel sanctum
  2. مرحبا الدورات المدفوعة تكون شاملة بهدف معين. برنامج كامل من الصفر. تحديثات بشكل مستمر على المحتوى. متابعة من قبل خبراء و مختصين للرد على استفسارات الطلاب . تكون مبنية بشكل كبير على التطبيق العملي حتى أن الدورات في أكاديمية حسوب تهدف الى التوجيه لسوق العمل حيث أن الطالب بعد إنهاء دورة ما يكون قد بنا معرض أعمال له لا بأس به هذا لا يعني أن الدورات المجانية ليست مفيدة فأنا على سبيل المثال تعلمت من دورات مجانية على قناة الزيرو ويب سكول و غيرها من القنوات و تعلمت أيضا من دورات مدفوعة وأحيانا أخرى بالبحث و الكتب الدورات المجانية غالبا ما تركز على الأساسيات و تُهمل التطبيق العملي و الطالب بعد إنهاء دورة ما يصبح تائه و لا يعرف كيف يوظف ما تعلمه خصوصا على شخص مبتدئ لا يفقه في المجال شيء لذلك عليك بالتعلم من المصادر التي تفهم منها و ترتاح لها
  3. مرحبا لا شك أن منصة أندرويد ستوديو أفضل في تطوير تطبيقات الأندرويد لأنها تساعد المطورين كثيرا في عملهم بالنسبة للسؤال هل أستعمل layout editor لبناء الواجهات عن طريق drag and drop أو أكتب أكواد XML بنفسي بالنسبة لي أحب أن أكتب الكود بنفسي و لا أحب إستعمال drag and drop لأن كتابة أكواد ال XML سيكسبك خبرة أكثر و يعطيك الحرية الكاملة أنصحك بذلك و عندما تتعود بإمكانك استعمال هذه الأدوات لكن ستبقى بحاجة أحيانا للتعديل بنفسك على الكود
  4. هذا مثال بسيط لطباعة الأرقام العربية بلغة HTML <!DOCTYPE html> <html lang="ar" dir="rtl"> <head> <meta charset="utf-8" /> <meta http-equiv="x-ua-compatible" content="ie=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>مثال عن لغة html</title> <!-- <link rel="stylesheet" href="css/main.css" /> --> <!-- <link rel="icon" href="images/favicon.png" /> --> </head> <body> <h1>تاريخ اليوم : ٦/١٠/١٤٤١ </h1> </body> </html> حتى يتم التعرف على الأرقام العربية يجب عليك وضع الترميز utf-8 هكذا <meta charset="utf-8" /> لا دخل لمحرر الأكواد في هذه المشكلة لاحظ أنني استعملت محرر الويندوز أنظر للصور لمشاهدة النتيجة
  5. مرحبا نرجو منك أن توضح لنا المشكلة جيدا حتى نتمكن من مساعدتك بأي لغة برمجية تبرمج و كيف تكتب و ماهي النتيجة التي تظهر لك
  6. مرحبا لا يُشترط مشاهدة الدروس بشكل مرتب لكن للإستفادة بشكل أكبر يُفضل المشاهدة بالترتيب بما أنك مُسجل في الدورة لديك وصول مدى الحياة للدروس فإذا لم تفهم درس بإمكانك إعادته أكثر من مرة بالتوفيق
  7. مرحبا ما يؤثر عليك في منصة مستقل هو: تقييمات العملاء معرض أعمالك معدل إتمام المشاريع المهارات التي تتقنها العروض التي تقدمها و كيفية طرحها قدّم على مشاريع لك القدرة على إنجازها حاول في طريقة طرحك للعروض جذب العملاء إهتم بمعرض أعمالك لأنه واجهتك أمام العملاء إطلع على مدونة مستقل فستجد فيها مواضيع مهمة و بالتوفيق
  8. مرحبا من بين التقنيات التي يجب عليك تعلمها حتى تصبح مطور واجهات أمامية محترف : Html CSS JavaScript jQuery CSS framework مثل bootstrap JavaScript Frameworks مثل angular او Vue أو react CSS preprocessor مثل sass او less خبرة في التعامل مع RESTful APIs خبرة في ال git و GitHub حتى تتعلم هذه التقنيات مجانا بإمكانك التعلم من خلال اليوتيوب و أنصحك بقناة Elzero web school فهي توفر معظم هذه التقنيات على شكل دورات كما يوجد أيضا تطبيقات عملية و هناك قنوات أخرى عديدة بإمكانك الإستفادة أيضا هناك العديد من المقالات و الكتب المجانية في أكاديمية حسوب بإمكانك الإستفادة و التعلم منها من خلال هذه الروابط: مقالات البرمجة مقالات التصميم أما إذا كنت تقصد graphic designer فعليك تعلم برامج التصميم مثل برامج أدوبي مثل Photoshop ، illustrator ... وغيرها من برامج التصميم
  9. مرحبا @عبدالعزيز العدني فعلا أنت مشتت و حائر أولا html و html5 نفس اللغة فقط تم إضافة بعض الخصائص و العناصر الجديدة و هي لغة توصيفية نفس الشيء بالنسبة لل CSS و Css3 تم إضافة خصائص جديدة و تم التطوير على CSS و تعتبر لغة تنسيقية بالنسبة لمبادرة المليون مبرمج عربي تم إطلاقها من دولة الإمارات بمساعدة udacity حيث ستقوم بإختيار أحد المسارات الموجودة و تقوم بالتعلم و عند الانتهاء هناك إمتحان و الناجحين يتحصلون على nanodegre أي دورة أخرى متكاملة في نفس المسار الذي قمت بالإنخراط فيه مقدمة من udacity و مؤخرا تم إضافة مسارات أخرى بالتعاون مع شركة ميكروسوفت أنصحك بأن تضع هدف لنفسك و لا تشتت نفسك بأشياء أخرى حاول التركيز للوصول إلى الهدف الذي وضعته و تعلم التقنيات و اللغات التي توصلك الى هدفك أعط لنفسك الوقت الكافي في التعلم و تطبيق ما تعلمته حاول إيجاد حلول لمشاكل موجودة بالأشياء التي تعلمتها عليك أن تحب المجال و الهدف الذي تطمح إليه عند التأكد من إتقانك بنسبة كبيرة لتقنية تعلمتها انتقل لتقنية أخرى ال front end developer أو مبرمج الواجهات الأمامية هو الشخص الذي يقوم بتطوير واجهات تفاعلية مع المستخدم و من بين التقنيات التي يجب عليك تعلمها حتى تصبح مطور واجهات أمامية : Html CSS JavaScript jQuery CSS framework مثل bootstrap JavaScript Frameworks مثل angular او Vue أو react CSS preprocessor مثل sass او less خبرة في التعامل مع RESTful APIs خبرة في ال git و GitHub ركز على هدفك و لا تشتت نفسك و بالتوفيق
  10. مرحبا يمكن عمل البرنامج بهذا الشكل #include <iostream> #include <ctime> using namespace std; // هنا قمنا بتعريف كلاس الطالب class Student{ // هنا قمنا بتعريف خصائص الطالب public: int id; public: string name; public: char grade; public: int i = 0; // هنا قمنا ببناء الدالة المنشئة او ال constructor Student(int id, string name, char grade) : id(id), name(name), grade(grade) {} // هنا استعملنا ++ operator overloading Student operator ++() { char grade = generateRandomGrade(); Student tmp(i + 2,"new name " + (i + 2), grade); if (grade == 'A' || grade == 'B' || grade == 'C') ++i; return tmp; } // هذا من أجل طباعة عدد الطلاب الذين لديهم grade A, B or C void displayCount() { cout << "number of students who have grade A, B or C: " << i; } // هذا من أجل تحرير grade عشوائي char generateRandomGrade() { char grades[6] = { 'A', 'B', 'C', 'D', 'E', 'F'}; return grades[rand() % 6]; } }; int main() { srand(time(NULL)); // هنا قمنا بإنشاء مجموعة من الطلاب و في كل مرة نطبع ال grade الخاص بكل طالب Student s1(1,"Samir Abboud", 'E'); Student s2 = ++s1; cout << "Student 2 grade: " << s2.grade << "\n"; Student s3 = ++s1; cout << "Student 3 grade: " << s3.grade << "\n"; Student s4 = ++s1; cout << "Student 4 grade: " << s4.grade << "\n"; Student s5 = ++s1; cout << "Student 5 grade: " << s5.grade << "\n"; // طباعة عدد الطلاب الذين لديهم ال grade المطلوب s1.displayCount(); } بإمكانك تجربة البرنامج من هنا بالتوفيق
  11. مرحبا @ملك.. يمكنك إضافة الأيقونة بإستخدام الكود التالي <head> // ..... // تضع سورس الأيقونة داخل href <link rel="shortcut icon" href="favicon.ico" /> // ..... </head> بالنسبة للسؤال الثاني تستطيع جعل الموقع الخاص بك رسبونسيف responsive متجاوب مع جميع الشاشات بإستعمال الطرق التالية Media Queries Viewport Responsive Grid-View Css framework مثل ( bootstrap , foundation , materialize , .....) بالتوفيق
  12. مرحبا ال GitHub هو عبارة عن مستودع فيه تستطيع حفظ مشاريعك البرمجية و مشاركتها مع الآخرين عندما تعمل مع مجموعة أو فريق حيث كل شخص له مهام محددة ينجزها فسيصعب على الفريق عملية التجميع في مشروع واحد لذلك تم خلق تقنية تسهل هذه العملية و هذه التقنية تسمى ال git يعتبر ال git نظام للتحكم بالنُسخ أو version control system أو إختصار VCS و منصة ال GitHub تعتمد هذا النظام يوجد عدة مستودعات أخرى غير ال GitHub كال gitlab أو ال bitbucket لكن أشهرها هو GitHub معظم الشركات اليوم تشترط في متطلبات العمل خبرة في التعامل بال git و ال GitHub لذلك على المبرمج إكتساب مهارة فيهما بالتوفيق
  13. مرحبا يجب عليك معرفة ذلك قبل الإشتراك معهم و يجب عليك دراسة الإختيارات و ماهو أفضل خيار بالنسبة لتطبيقك او مشروعك هناك عدة أنواع من الاستضافات Shared Web Hosting Cloud Based Web Hosting VPS او Virtual Private Server Dedicated Web Server .... معظمها تدعم لغة بايثون لأن شركات الإستضافات تطمح لكسب و إستقطاب أكبر عدد من الزبائن لذلك توفر معظم لغات البرمجة لذلك عليك أن تدرس أفضل خيار و بعدها تقوم بالإشتراك ليس عليك تثبيت أي شيئ لأن مهمة صيانة السيرفر تقع على شركة الاستضافة أنت عليك الإهتمام بمشروعك و كتابة كود سليم نظيف خالي من الأخطاء و الثغرات و ستجد وسائل و أدوات مثبتة مسبقا في الاستضافة تساعدك في عملك
  14. عند الإشتراك مع شركة إستضافة تقوم بإعطائك حساب إسم مستخدم و كلمة سر و عند الدخول إلى حسابك تستطيع معرفة نوع السيرفر بالإضافة إلى نظام التشغيل عند الدخول سيظهر لك مثل هذا الشيء تضغط على server information ستظهر لك معلومات السيرفر بهذا الشكل لا يتوجب عليك تركيب لوحة تحكم cPanel لأنها تأتي مع الإستضافة
  15. مرحبا @Khaled Almousawi هل قمت بالاشتراك في شركة هوستينج و تود معرفة نوع السيرفر الموجود في الاستضافة و نظام التشغيل الخاص به ؟
  16. مرحبا @Ahmed Sawy بالنسبة لسؤالك هل أستعمل جافا أو رئاكت نتيف لبرمجة و بناء تطبيقات موبايل هذا يعتمد على المبرمج و يتغير من شخص لآخر و من مشروع لآخر إذا كان المشروع يعتمد و بدرجة كبيرة على محسسات و مستشعرات الهاتف و التعامل مع android native APIs و التواصل معها بشكل كبير فالأحسن إعتماد لغة جافا أو كوتلن لكن إن كان المشروع عبارة عن متجر فيه سلة مشتريات أو تطبيق إخباري أو مثلا تطبيق يعرض أشياء فرئاكت نتيف سيكون خيار جيد جافا أو كوتلن تسمح لك ببناء تطبيقات كبيرة التعقيد و الوصول إلى native apis يكون أسهل رئاكت نتيف مبنية على أساس رئاكت فريموورك التي تستعمل لغة جافاسكربت لذلك فبناء التطبيقات يكون بإستخدام رئاكت نتيف أسرع منه عند إستخدام جافا أو كوتلن إذا كنت مطور ويب و تحسن إستخدام تقنيات الويب بما فيها لغة الجافاسكربت فمن الأحسن التوجه نحو الرئاكت نتيف لكن إن كنت مطور جافا و تحسن التعامل مع لغة الجافا فمن الأحسن التوجه لبناء تطبيقات موبايل بلغة جافا ملاحظة إذا كان لديك خبرة مسبقة في التعامل مع أندرويد بإستخدام جافا أو كوتلن فليس هناك أي داع للتحويل الى رئاكت نتيف و من الأحسن كسب أكبر خبرة ممكنة فيما أنت فيه كلا من بناء تطبيقات أندرويد بإستخدام جافا أو كوتلن و رئاكت نتيف مطلوبين و بكثرة رئاكت نتيف سهلة التعلم مقارنة بجافا أو كوتلن لأن جافا تحتاج معرفة مسبقة بالبرمجة الكائنية التوجه و تعلمها سيحتاج منك مدة أكبر من تعلم رئاكت نتيف رئاكت نتيف cross platform فريم وورك من خلالها تنتج تطبيق للمنصتين ( أندرويد و iOS ) بكود واحد هذا لا يعني أنك لن تحتاج الى جافا أو كوتلن أو سويفت في بعض الحالات تحتاج الى إضافات باللغات النتيف تذكر أن أيا منهما ليس جيدًا ولا أحدًا منهما يعتبر سيئًا. يعتمد ذلك على المطور ومتطلباته
  17. مرحبا@ملك.. أنصحك بإتباع خطوات الشرح بهذا الفيديو و ستستطيع رفع الموقع على إستضافة 000webhost الشرح باللغة العربية رابط الفيديو: من هنا بالتوفيق
  18. مرحبا يمكن عمل البرنامج بلغة جافا بهذا الشكل public class Main { public static void main(String[] args) { // هنا قمنا بإنشاء مصفوفة و ملأناها برواتب الموظفين int[] salaries = { 2000,3500,2200,4100,2000,1500,2600,3600,3900,4000 }; // هنا قمنا بالزيادة على الرواتب حسب الشروط for (int i = 0; i < salaries.length; i++){ if (salaries[i] < 2000) salaries[i] += 200; else if (salaries[i] >= 2000 && salaries[i] < 3000) salaries[i] += 150; else if (salaries[i] >= 3000 && salaries[i] < 4000) salaries[i] += 100; else salaries[i] += 50; } // هذا من أجل عرض الرواتب بعد الزيادة for (int salary: salaries) System.out.println(salary); } } بإمكانك تجربة البرنامج من هنا بالتوفيق
  19. مرحبا @Lisa يمكن عمل البرنامج بلغة جافا بهذا الشكل بإستعمال حلقة while public class Main { public static void main(String[] args) { int number = 3; int i = 0; int end = (int) 100 / number; System.out.println("Multiples of number " + number + ": "); while (i <= end) { System.out.print(number * i + " "); i++; } } } بإمكانك تجربة البرنامج من هنا ملاحظة: يمكنك تغيير العدد 3 الى عدد اخر و سيجلب لك البرنامج مضاعفات هذا العدد المحصورة بين 0 و 100 بالتوفيق
  20. مرحبا @Lisa يمكن عمل البرنامج بلغة جافا بهذا الشكل public class Main { public static void main(String[] args) { int number = 3; int start = 0; int end = (int) 100 / number; System.out.println("Multiples of number " + number + ": "); for (int i = start; i <= end; i++) System.out.print(number * i + " "); } } بإمكانك تجربة البرنامج من هنا
  21. مرحبا @Lisa يمكن عمل البرنامج بلغة جافا بهذا الشكل import java.util.Scanner; public class Main { public static void main(String[] args) { // الكائن المسؤول عن المدخلات Scanner sc = new Scanner(System.in); System.out.println("أدخل عدد صحيح: "); // إستعمال البلوك try and catch حيث عند حدوث خطأ لا نعرضه للمستخدم try { int number = sc.nextInt(); System.out.println("القيمة المطلقة للعدد: " + number + " هي: " + absolute(number)); } catch (Exception e) { System.out.println("لقد أخطأت يرجي المحاولة لاحقا"); } } // هنا قمنا بتعريف الاقتران الذي سيقوم بحساب القيمة المطلقة لعدد صحيح private static int absolute(int number) { return number >= 0 ? number : -number; } } بإمكانك تجربة البرنامج من هنا بالتوفيق
  22. مرحبا حتى تشارك موقعك مع الآخرين تحتاج الى رفع ملفات الموقع على إستضافة و ربطه بدومين و من ثم يستطيع الآخرين تصفح موقعك من خلال الدومين ( مثلا yourwebsite.com ) هناك بعض المواقع توفر بعض الإستضافات المجانية تستطيع الإستفادة منها لكن بما أن الموقع الخاص بك عبارة عن static website فيستطيع أي شخص أن يرى الأكواد من خلال المتصفح أدعوك لقراءة هذا المقال عن الإستضافات المجانية من خلال هذا الرابط
  23. مرحبا رأيي إذا أردت تعلم البرمجة إختر لغة برمجية و لتكن لغة سي و تعلم الخوارزميات و طور مهارتك فيها قم بتطبيق الخوارزميات بلغة سي تعلم أولا مفهوم الخوارزميات و أسسها تعلم التحليل ( إذا قابلتك مشكلة ما كيف ستقوم بحلها ما هي الخطوات التي ستتبعها ) تعلم ال data structure بما فيها Array List Stack Queue Heap Tree ... تعلم خوارزميات الترتيب في هياكل البيانات و قم بتطبيقها بإستعمال لغة سي بتعلم هذه الأشياء سيصبح لديك أساس قوي في البرمجة و سيمكنك من تعلم أي لغة برمجية بسهولة. فقط ستتعلم ال syntax الخاص باللغة أما المفهوم نفس الشيء بعد تعلم الأساس إختر لك مجالا و أبدأ رحلتك لا تكثر المجالات و لا تكثر لغات البرمجة أهم شيء هو التخصص و الإحتراف في مجالك و كسب أكبر كم من الخبرة إذا كنت تريد فعلا أن تصبح مبرمج محترف فعليك أولا بالتعلم ثانيا إردة قوية للتعلم ثالثاً الصبر لا تقول كم من الوقت أحتاج لأنه مهما تعلمت ستظهر لك أمور جديدة لم تكن تعلمها من قبل لأن هذا المجال واسع لا تيأس ولا تستصعب الأمور إبحث و أسأل حتى تفهم جيدا و ستجد الكثير من الأشخاص سيساعدوك لتصل إلى مبتغاك إجعل محرك البحث صديقك الدائم أنصحك بالإطلاع على هذا المقال من خلال هذا الرابط تعلم البرمجة بالتوفيق
  24. مرحبا أنا أستخدم إطار العمل laravel الخاص بلغة php و عند عملية التحقق من صورة أستعمل الكود التالي <?php // .... public function store(Request $request) { $request->validate([ 'image' => 'required|image|mimes:jpeg,png,jpg,gif|max:2048' ]); // .... } هذا بإستعمال validation image الموجودة في الإطار لكن لارافيل يتيح لنا إنشاء custom validation خاص بنا بهذا الشكل مثلا <?php Validator::extend('is_png',function($attribute, $value, $params, $validator) { $image = base64_decode($value); $f = finfo_open(); $result = finfo_buffer($f, $image, FILEINFO_MIME_TYPE); return $result == 'image/png'; }); و بعدها يمكننا استعماله بهذا الشكل <?php // .... public function store(Request $request) { $request->validate([ 'image' => 'required|is_png' ]); // .... } ستجد أشياء مماثلة لما تبحث عنه باللغة التي تريدها لأن مطورين اللغة يطورون بإستمرار على اللغة و يضيفون أشياء جديدة بالتوفيق
  25. مرحبا @ملك.. من مشاهدتي للكود وجدت أن تنسيق css يعتمد على الشكل التالي ال container في اليمين ال aside في اليسار و انت في كود ال html قمت بوضع ال aside داخل ال container لذلك ال aside يأتي تحت المحتوى الموجود في ال container رفعت الأكواد الجديدة على codepen بإمكانك القاء نظرة على النتيجة و الكود الجديد من خلال هذا الرابط قمت بتغيير السورس الخاص بالصورة بإمكانك نسخ الأكواد عندك و ستجد النتيجة في الجزء السفلي و الأكواد في الجزء العلوي بالتوفيق
×
×
  • أضف...