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

سمير عبود

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

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

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

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

    34

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

  1. مرحبا نرجو منك أن توضح لنا المشكلة جيدا حتى نتمكن من مساعدتك بأي لغة برمجية تبرمج و كيف تكتب و ماهي النتيجة التي تظهر لك
  2. مرحبا لا يُشترط مشاهدة الدروس بشكل مرتب لكن للإستفادة بشكل أكبر يُفضل المشاهدة بالترتيب بما أنك مُسجل في الدورة لديك وصول مدى الحياة للدروس فإذا لم تفهم درس بإمكانك إعادته أكثر من مرة بالتوفيق
  3. مرحبا ما يؤثر عليك في منصة مستقل هو: تقييمات العملاء معرض أعمالك معدل إتمام المشاريع المهارات التي تتقنها العروض التي تقدمها و كيفية طرحها قدّم على مشاريع لك القدرة على إنجازها حاول في طريقة طرحك للعروض جذب العملاء إهتم بمعرض أعمالك لأنه واجهتك أمام العملاء إطلع على مدونة مستقل فستجد فيها مواضيع مهمة و بالتوفيق
  4. مرحبا من بين التقنيات التي يجب عليك تعلمها حتى تصبح مطور واجهات أمامية محترف : 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 ... وغيرها من برامج التصميم
  5. مرحبا @عبدالعزيز العدني فعلا أنت مشتت و حائر أولا 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 ركز على هدفك و لا تشتت نفسك و بالتوفيق
  6. مرحبا يمكن عمل البرنامج بهذا الشكل #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(); } بإمكانك تجربة البرنامج من هنا بالتوفيق
  7. مرحبا @ملك.. يمكنك إضافة الأيقونة بإستخدام الكود التالي <head> // ..... // تضع سورس الأيقونة داخل href <link rel="shortcut icon" href="favicon.ico" /> // ..... </head> بالنسبة للسؤال الثاني تستطيع جعل الموقع الخاص بك رسبونسيف responsive متجاوب مع جميع الشاشات بإستعمال الطرق التالية Media Queries Viewport Responsive Grid-View Css framework مثل ( bootstrap , foundation , materialize , .....) بالتوفيق
  8. مرحبا ال GitHub هو عبارة عن مستودع فيه تستطيع حفظ مشاريعك البرمجية و مشاركتها مع الآخرين عندما تعمل مع مجموعة أو فريق حيث كل شخص له مهام محددة ينجزها فسيصعب على الفريق عملية التجميع في مشروع واحد لذلك تم خلق تقنية تسهل هذه العملية و هذه التقنية تسمى ال git يعتبر ال git نظام للتحكم بالنُسخ أو version control system أو إختصار VCS و منصة ال GitHub تعتمد هذا النظام يوجد عدة مستودعات أخرى غير ال GitHub كال gitlab أو ال bitbucket لكن أشهرها هو GitHub معظم الشركات اليوم تشترط في متطلبات العمل خبرة في التعامل بال git و ال GitHub لذلك على المبرمج إكتساب مهارة فيهما بالتوفيق
  9. مرحبا يجب عليك معرفة ذلك قبل الإشتراك معهم و يجب عليك دراسة الإختيارات و ماهو أفضل خيار بالنسبة لتطبيقك او مشروعك هناك عدة أنواع من الاستضافات Shared Web Hosting Cloud Based Web Hosting VPS او Virtual Private Server Dedicated Web Server .... معظمها تدعم لغة بايثون لأن شركات الإستضافات تطمح لكسب و إستقطاب أكبر عدد من الزبائن لذلك توفر معظم لغات البرمجة لذلك عليك أن تدرس أفضل خيار و بعدها تقوم بالإشتراك ليس عليك تثبيت أي شيئ لأن مهمة صيانة السيرفر تقع على شركة الاستضافة أنت عليك الإهتمام بمشروعك و كتابة كود سليم نظيف خالي من الأخطاء و الثغرات و ستجد وسائل و أدوات مثبتة مسبقا في الاستضافة تساعدك في عملك
  10. عند الإشتراك مع شركة إستضافة تقوم بإعطائك حساب إسم مستخدم و كلمة سر و عند الدخول إلى حسابك تستطيع معرفة نوع السيرفر بالإضافة إلى نظام التشغيل عند الدخول سيظهر لك مثل هذا الشيء تضغط على server information ستظهر لك معلومات السيرفر بهذا الشكل لا يتوجب عليك تركيب لوحة تحكم cPanel لأنها تأتي مع الإستضافة
  11. مرحبا @Khaled Almousawi هل قمت بالاشتراك في شركة هوستينج و تود معرفة نوع السيرفر الموجود في الاستضافة و نظام التشغيل الخاص به ؟
  12. مرحبا @Ahmed Sawy بالنسبة لسؤالك هل أستعمل جافا أو رئاكت نتيف لبرمجة و بناء تطبيقات موبايل هذا يعتمد على المبرمج و يتغير من شخص لآخر و من مشروع لآخر إذا كان المشروع يعتمد و بدرجة كبيرة على محسسات و مستشعرات الهاتف و التعامل مع android native APIs و التواصل معها بشكل كبير فالأحسن إعتماد لغة جافا أو كوتلن لكن إن كان المشروع عبارة عن متجر فيه سلة مشتريات أو تطبيق إخباري أو مثلا تطبيق يعرض أشياء فرئاكت نتيف سيكون خيار جيد جافا أو كوتلن تسمح لك ببناء تطبيقات كبيرة التعقيد و الوصول إلى native apis يكون أسهل رئاكت نتيف مبنية على أساس رئاكت فريموورك التي تستعمل لغة جافاسكربت لذلك فبناء التطبيقات يكون بإستخدام رئاكت نتيف أسرع منه عند إستخدام جافا أو كوتلن إذا كنت مطور ويب و تحسن إستخدام تقنيات الويب بما فيها لغة الجافاسكربت فمن الأحسن التوجه نحو الرئاكت نتيف لكن إن كنت مطور جافا و تحسن التعامل مع لغة الجافا فمن الأحسن التوجه لبناء تطبيقات موبايل بلغة جافا ملاحظة إذا كان لديك خبرة مسبقة في التعامل مع أندرويد بإستخدام جافا أو كوتلن فليس هناك أي داع للتحويل الى رئاكت نتيف و من الأحسن كسب أكبر خبرة ممكنة فيما أنت فيه كلا من بناء تطبيقات أندرويد بإستخدام جافا أو كوتلن و رئاكت نتيف مطلوبين و بكثرة رئاكت نتيف سهلة التعلم مقارنة بجافا أو كوتلن لأن جافا تحتاج معرفة مسبقة بالبرمجة الكائنية التوجه و تعلمها سيحتاج منك مدة أكبر من تعلم رئاكت نتيف رئاكت نتيف cross platform فريم وورك من خلالها تنتج تطبيق للمنصتين ( أندرويد و iOS ) بكود واحد هذا لا يعني أنك لن تحتاج الى جافا أو كوتلن أو سويفت في بعض الحالات تحتاج الى إضافات باللغات النتيف تذكر أن أيا منهما ليس جيدًا ولا أحدًا منهما يعتبر سيئًا. يعتمد ذلك على المطور ومتطلباته
  13. مرحبا@ملك.. أنصحك بإتباع خطوات الشرح بهذا الفيديو و ستستطيع رفع الموقع على إستضافة 000webhost الشرح باللغة العربية رابط الفيديو: من هنا بالتوفيق
  14. مرحبا يمكن عمل البرنامج بلغة جافا بهذا الشكل 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); } } بإمكانك تجربة البرنامج من هنا بالتوفيق
  15. مرحبا @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 بالتوفيق
  16. مرحبا @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 + " "); } } بإمكانك تجربة البرنامج من هنا
  17. مرحبا @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; } } بإمكانك تجربة البرنامج من هنا بالتوفيق
  18. مرحبا حتى تشارك موقعك مع الآخرين تحتاج الى رفع ملفات الموقع على إستضافة و ربطه بدومين و من ثم يستطيع الآخرين تصفح موقعك من خلال الدومين ( مثلا yourwebsite.com ) هناك بعض المواقع توفر بعض الإستضافات المجانية تستطيع الإستفادة منها لكن بما أن الموقع الخاص بك عبارة عن static website فيستطيع أي شخص أن يرى الأكواد من خلال المتصفح أدعوك لقراءة هذا المقال عن الإستضافات المجانية من خلال هذا الرابط
  19. مرحبا رأيي إذا أردت تعلم البرمجة إختر لغة برمجية و لتكن لغة سي و تعلم الخوارزميات و طور مهارتك فيها قم بتطبيق الخوارزميات بلغة سي تعلم أولا مفهوم الخوارزميات و أسسها تعلم التحليل ( إذا قابلتك مشكلة ما كيف ستقوم بحلها ما هي الخطوات التي ستتبعها ) تعلم ال data structure بما فيها Array List Stack Queue Heap Tree ... تعلم خوارزميات الترتيب في هياكل البيانات و قم بتطبيقها بإستعمال لغة سي بتعلم هذه الأشياء سيصبح لديك أساس قوي في البرمجة و سيمكنك من تعلم أي لغة برمجية بسهولة. فقط ستتعلم ال syntax الخاص باللغة أما المفهوم نفس الشيء بعد تعلم الأساس إختر لك مجالا و أبدأ رحلتك لا تكثر المجالات و لا تكثر لغات البرمجة أهم شيء هو التخصص و الإحتراف في مجالك و كسب أكبر كم من الخبرة إذا كنت تريد فعلا أن تصبح مبرمج محترف فعليك أولا بالتعلم ثانيا إردة قوية للتعلم ثالثاً الصبر لا تقول كم من الوقت أحتاج لأنه مهما تعلمت ستظهر لك أمور جديدة لم تكن تعلمها من قبل لأن هذا المجال واسع لا تيأس ولا تستصعب الأمور إبحث و أسأل حتى تفهم جيدا و ستجد الكثير من الأشخاص سيساعدوك لتصل إلى مبتغاك إجعل محرك البحث صديقك الدائم أنصحك بالإطلاع على هذا المقال من خلال هذا الرابط تعلم البرمجة بالتوفيق
  20. مرحبا أنا أستخدم إطار العمل 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' ]); // .... } ستجد أشياء مماثلة لما تبحث عنه باللغة التي تريدها لأن مطورين اللغة يطورون بإستمرار على اللغة و يضيفون أشياء جديدة بالتوفيق
  21. مرحبا @ملك.. من مشاهدتي للكود وجدت أن تنسيق css يعتمد على الشكل التالي ال container في اليمين ال aside في اليسار و انت في كود ال html قمت بوضع ال aside داخل ال container لذلك ال aside يأتي تحت المحتوى الموجود في ال container رفعت الأكواد الجديدة على codepen بإمكانك القاء نظرة على النتيجة و الكود الجديد من خلال هذا الرابط قمت بتغيير السورس الخاص بالصورة بإمكانك نسخ الأكواد عندك و ستجد النتيجة في الجزء السفلي و الأكواد في الجزء العلوي بالتوفيق
  22. و عليكم السلام يمكن أيضا التحقق من الصورة و هي على هيئة base64 حتى لغات البرمجة توفر أدوات من خلالها تستطيع التحقق من الصورة بشكل كامل أي المحتوى و ليس فقط اللاحقة فإن كانت تحتوي على برمجيات خبيثة يتم رفضها
  23. مرحبا أولا: حتى نستطيع مساعدتك بشكل جيد عليك رفع الكود كامل إما عن طريق ملف مضغوط أو كتابته في محرر الأكواد هنا حتى نطلع عليه بشكل كامل ثانيا: من خلال مشاهدتي للكود الخاص بك من خلال الصور لاحظت انك كاتب الوسم link داخل الوسم aside والمفروض الوسم link المكان المخصص له داخل وسم head بهذا الشكل : <head> // .... <link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet"> </head> ثالثا: من خلال مشاهدتي للأكواد في الصورة لاحظت وجود كلاس css خاص ب aside ولم تستعمله في أكواد ال html أتحدث عن هذا الجزء من css .aside{ /* ....... */ } المفروض إستعمال هذا الكلاس داخل وسم aside بهذا الشكل حتى يتم تطبيق التنسيق الخاص به // ..... // ..... <aside class="aside"> // content here </aside> بهذا الشكل يتم تطبيق الكلاس على وسم ال aside و يكون على جنب أو يمكنك إبقاء أكواد ال html كما هي و تغيير ال css بهذا الشكل : /* لاحظ أننا استعملنا الوسم وليس الكلاس */ aside { /* stylesheet properties here */ /* .......... .......... */ } ملاحظة: حتى نستطيع مساعدتك بشكل جيد يجب أن نكون على اطلاع كامل بالكود فمن الصور لا نلاحظ الأخطاء بالتوفيق
  24. و عليكم السلام أولا الحماية هو علم قائم بحد ذاته و لا يمكن حصره في مقال واحد أو إثنين لذلك على المبرمج أن يكون دائم الإطلاع على مستجدات الثغرات و كيفية الحماية منها أنصحك بقراءة بعض المقالات عن هذا العلم بخصوص سؤالك و هو كيفية منع المستخدم من رفع برمجيات خبيثة بدل صورة ببساطة هذا يندرج تحت التحقق من البيانات أو data validation و الأكيد و الجدير بالذكر أن أي لغة برمجية تتيح و توفر لك أدوات من خلالها تستطيع التأكد أن ما رفعه المستخدم عبارة عن صورة بالفعل ليس التحقق من اللاحقة فقط ( jpg , png , .... ) بل التحقق من الملف كامل هل هو صورة أم لا فإن كان صورة تقوم بحفظه و إستخدامه في موقعك إن كان لا تخبر المستخدم أن ما قام برفعه ليس صورة أنا لا أستعمل اللغات التي ذكرتها لكن بإمكانك الإستعانة ب Google بكتابة : Image validation in python و سيقترح عليك كيفية التحقق بالتوفيق
  25. مرحبا يمكنك تغيير الخلفية الى صورة بإستخدام هذه الأكواد أولا تقوم بكتابة كود html الذي سيحتوي على canvas بهذا الشكل <canvas id="c"></canvas> و بعدها تستخدم جافاسكربت بهذا الشكل var c = document.getElementById("c"); var ctx = c.getContext("2d"); //making the canvas full screen c.height = window.innerHeight; c.width = window.innerWidth; var background = new Image(); background.src = "https://img.freepik.com/free-photo/3d-grunge-room-interior-with-spotlight-smoky-atmosphere-background_1048-11333.jpg"; background.onload = function(){ ctx.drawImage(background,0,0, window.innerWidth,window.innerHeight); } يمكنك مشاهدة النتيجة من خلال هذا الرابط
×
×
  • أضف...