لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 10/27/24 in أجوبة
-
2 نقاط
-
اهلا انا اعمل على مشروع backend with node js و frontend with react واريد اضافة فكرة ان يقوم المدير بتحميل صور معينة وحفظها في قاعدة البيانات ومن تم يقوم الزبون في جهة اخرى برؤية هذه الصور فقط دون تحميل اي صورة، فهل هناك طرق معينه يتم فيها التعامل مع الصور؟ ام فقط اقوم بتخزينها في قواعد بيانات mongodb بصيغةtype String ومن تم اقوم بعرضها؟ لانني رايت انه يوجد طرق تخزين خارجيه ولم افهم كيف يتم التعامل مع الصور؟2 نقاط
-
السلام عليكم هو اي البرنامج ده Google MENA Internship Program ؟ وهل اقدر اشارك فيه وانا من مصر ؟2 نقاط
-
السلام عليكم هي اي الرياضيات الا يفضل اكون عرفها كامبرمج ؟ او يعني بدرس في الكليات ؟2 نقاط
-
2 نقاط
-
ماهو Gitpod ؟ وكيف يمكن استخدامه؟ ومالفرق بينه وبين Github؟ وهل هو مهم أو مفيد للمبرمج؟2 نقاط
-
السلام عليكم، هل هناك تطبيق للمنصة يسمح بتحميل الدروس لمشاهدتها لاحقًا دون الحاجة لاتصال مستمر بالإنترنت؟ ستكون هذه الميزة مفيدة للغاية، خاصة في المناطق التي تعاني من ضعف الإنترنت، مما يتيح متابعة الدروس بجودة عالية وتركيز أفضل. وشكرًا لكم.2 نقاط
-
وعليكم السلام ورحمة الله وبركاته. من المفيد جداً لأي مبرمج أن يتعلم أساسيات الأمن السيبراني وستكون إضافة قوية له في ال cv الخاص به وفي عمله عموما حتى لو كان ينوي العمل في مجالات مثل تطوير الويب أو الموبايل أو تحليل البيانات. حيث ستساعدك الأساسيات في حماية المعلومات الحساسة والمستخدمين وأيضا إكتشاف وتجنب الثغرات المعروفة . ولكن لا بئس إذا لم تكن لديك الأساسيات ولكن يتوجب عليك معرفة أشهر أنواع الثغرات وكيفية حلها في مجالك فمثلا في مجال الويت أشهر الثغرات الموجودة هي SQL Injection و CSRF ( Cross-site request forgery) والعديد من الثغرات المشهورة لذلك يجب معرفتها وكيفية تجنبها . أما بخصوص شهادة Google Cybersecurity Professional Certificate فهي برنامج تعليمي يقدمه جوجل عبر منصة Coursera و يهدف إلى تزويد المشاركين بأساسيات ومهارات الأمن السيبراني. تشمل محتويات البرنامج: مقدمة للأمن السيبراني: فهم التهديدات والهجمات الشائعة. أساسيات الشبكات: التعرف على كيفية عمل الشبكات وكيفية تأمينها. تحليل المخاطر: كيفية تحديد وتحليل المخاطر المحتملة. أدوات الأمن السيبراني: تعلم استخدام الأدوات والتقنيات المستخدمة في المجال. استجابة الحوادث: كيفية التعامل مع الحوادث الأمنية والاستجابة لها. والكورس مصمم للمبتدئين ولا يتطلب أى خبرة سابقة في المجال ويمكنك مشاهدة محتويات الكورس على منصة Coursera لتفاصيل أكثر2 نقاط
-
1 نقطة
-
أرى أن الطريقة المثالية هي أن يتم تحميل الصور وتخزينها في نظام تخزين خارجي ك Amazon S3 أو Cloudinary والحصول على رابط URL للصور المحملة ثم يتم بعد ذلك حفظ الروابط في قاعدة بيانات MongoDB بدلا من تخزين الصور نفسها. يمكنك رفع الصورة في الجزء الخاص بالـ backend من خلال استخدام مكتبة مثل Multer لتحميل الملفات (للتعامل مع ملفات الصورة عند رفعها من قبل المدير) وتخزين الصورة في خدمة تخزين خارجية من خلال واجهة API الخاصة ب Amazon S3 مثلا لتحميل الصورة وتخزينها وبعد رفع الصورة بنجاح، ستحصلين على رابط URL للصورة ثم تحفظين رابط ال URL في قاعدة البيانات ك String مثلما قلت بالضبط. وفي الجزء الخاص بـ frontend، يمكنك عرض الصور باستخدام عنصر <img src={imageURL} />، بحيث يمثل imageURL الرابط المخزن. وهذا الاستعمال لأنه في حال ما إذا كنت ستعرضين عددا كبيرا من الصور دفعة واحدة، فمن الأفضل استخدام الخدمات الخارجية مثلما أشرنا مع استخدام CDN وهذا بغية تسريع تحميل الصور على واجهة المستخدم وأيضا يمكنك البحث عن طرق التسريع الأخرى مثلا يمكنك أيضا إضافة آليات مثل التحميل عند التمرير (lazy loading) في الواجهة الأمامية لتقليل الحمل على الخادم.1 نقطة
-
1 نقطة
-
1 نقطة
-
1 نقطة
-
أساسيات الرياضيات فقط أي ما تم دراسته في المرحلة الأساسية من تعليمك، تستطيع البحث على اليوتيوب عن الأساسيات ومراجعتها. بالنسبة للخوارزميات فما تحتاجه هو دراسة discreet math فقط، وهي الرياضيات المنفصلة وذلك فرع من الرياضيات يهتم بدراسة الكيانات المنفصلة، أي الكيانات التي يمكن عدها بشكل منفصل. على عكس الرياضيات المستمرة التي تتعامل مع الكميات المتصلة مثل الأرقام الحقيقية مثل درجة الحرارة، يمكن أن تكون 20 درجة مئوية، أو 20.5 درجة مئوية، أو 20.123 درجة مئوية، وهكذا. تركز الرياضيات المنفصلة على الكيانات المنفصلة مثل الأعداد الصحيحة، الرسوم البيانية، المجموعات، والأنظمة المنطقية، مثل عدد الطلاب في الفصل، يمكن أن يكون 20 طالبًا، أو 21 طالبًا، لكن لا يمكن أن يكون 20.5 طالبًا. وهي مهمة لأنها توفر الأدوات الأساسية لفهم وفك تشفير العالم الرقمي الذي نعيش فيه، وتستخدم مفاهيمها في العديد من التطبيقات العملية، من تصميم مواقع الويب إلى تطوير الألعاب إلى تحليل البيانات.1 نقطة
-
1 نقطة
-
Gitpod هو بيئة تطوير متكاملة أي أنه عبارة عن IDE وهي مستندة إلى السحابة، توفر بيئة جاهزة لتطوير البرمجيات على الإنترنت مما يتيح العمل على المشاريع في أي مكان، دون الحاجة إلى إعداد بيئة تطوير محلية كما يوفر إمكانية الوصول إلى الشيفرات المصدرية وبناء التطبيقات، وإجراء الاختبارات بشكل متزامن مع فريق العمل. وباختصار، GitHub هو المكان الذي تحتفظ فيه بالشيفرات المصدرية، بينما Gitpod هو المكان الذي يمكنك فيه تطوير تلك الشيفرات بشكل مباشر.1 نقطة
-
كلاهما يقدمان خدمة مختلفة، منصة GitHub هي خاصة بإدارة إصدارات الكود المصدري من خلال GIT وتخزين الكود ومشاركة المشاريع وتسهيل العمل بين فريق العمل. بينما Gitpod هو بيئة تطوير سحابية Cloud IDE لتشغيل مشاريع Git بشكل تلقائي في حاويات Docker، أي المكان الذي تعمل على كتابة الكود به، أي عند فتح مشروع في Gitpod، فإنه يُنشئ بيئة تطوير مُخصصة في حاوية Docker. وللعلم تستطيع تشغيل المنصة على حاسوبك أيضًا وليس على السحابة فقط. وتوفر مجموعة من الأدوات الأساسية لتطوير البرمجيات، مثل محرر الكود، وترجمة الكود، واختبار الكود، وإدارة الإصدارات، وتستطيع الوصول إلى بيئة التطوير من أي جهاز متصل بالإنترنت، دون الحاجة إلى تثبيت أي برامج، فلا حاجة لتثبيت بيئة تطوير محلية. أو يمكنك التطوير بشكل محلي لكن بشكل أسرع بسبب استخدام حاويات Docker. وتتيح لك الربط مع مستودعات Git مثل GitHub، GitLab، Bitbucket، وغيرها.1 نقطة
-
لنفترض أن لدينا جدولين جدول للموظفين وآخر للأقسام كالتالي: جدول الموظفين: لعرض معلومات كل موظف. CREATE TABLE Employees ( EmpID int, EmpName varchar(50), DeptID int ); جدول الأقسام: لعرض الموظفين وأقسامهم. SELECT Employees.EmpName, Departments.DeptName FROM Employees INNER JOIN Departments ON Employees.DeptID = Departments.DeptID; JOIN هو أمر في SQL يستخدم لربط جدولين أو أكثر معا بناء على عمود مشترك بينهم فمثلا INNER JOIN يأخذ فقط البيانات المشتركة بين الجدولين مثلا عندما نريد معرفة الموظفين الذين لديهم أقسام فقط بينما LEFT JOIN يأخذ كل البيانات من الجدول الأيسر + البيانات المتطابقة من الجدول الأيمن مثلا عندما نريد معرفة كل الموظفين حتى لو لم يكن لديهم قسم. لاحظ RIGHT JOIN فهو يأخذ كل البيانات من الجدول الأيمن + البيانات المتطابقة من الجدول الأيسر ونستعمله عندما نريد معرفة كل الأقسام حتى لو لم يكن فيها موظفين بينما FULL JOIN فهو يأخذ كل البيانات من كلا الجدولين إضافة أنه يظهر NULL للقيم غير المتطابقة. وهذا مثال لكود كيفية استعمال كل نوع كما شرحنا الآن لنبدأ ب INNER JOIN: SELECT * FROM Table1 INNER JOIN Table2 ON Table1.id = Table2.id; LEFT JOIN أو (LEFT OUTER JOIN): SELECT * FROM Table1 LEFT JOIN Table2 ON Table1.id = Table2.id; RIGHT JOIN أو (RIGHT OUTER JOIN): SELECT * FROM Table1 RIGHT JOIN Table2 ON Table1.id = Table2.id; FULL JOIN أو (FULL OUTER JOIN): SELECT * FROM Table1 FULL OUTER JOIN Table2 ON Table1.id = Table2.id; ال CROSS JOIN: وهو يقوم بعمل ضرب ديكارتي (Cartesian product) بين الجدولين فيربط كل صف في الجدول الأول مع كل صف في الجدول الثاني كالتالي: SELECT * FROM Table1 CROSS JOIN Table2; أي أننا يمكننا استخدام كل من: INNER JOIN عندما نريد فقط البيانات المتطابقة LEFT JOIN عندما نريد جميع البيانات من الجدول الأول حتى لو لم يكن لها تطابق RIGHT JOIN عندما نريد جميع البيانات من الجدول الثاني FULL JOIN للحصول على جميع البيانات من كلا الجدولين لكن يجب أن نتجنب استخدام CROSS JOIN إلا في حالات خاصة لأنه ينتج عددا كبيرا من السجلات.1 نقطة
-
دمج البيانات مثل ربط قطع البازل، أي لدينا مجموعة من قطع البازل، كل قطعة تمثل جدولًا في قاعدة البيانات، لكي تُكمل الصورة الكاملة، تحتاج إلى ربط هذه القطع معًا. هنا يأتي دور JOIN في SQL. أي JOIN هي عبارة SQL تُستخدم لدمج البيانات من جداول متعددة بناءًا على علاقة مشتركة بينها، مثل ربط قطع البازل معًا لإنشاء صورة كاملة. ويوجد أنواع لـ JOIN، أولها INNER JOIN مثل ربط قطعتين من البازل تتناسبان تمامًا معًا، ويعرض فقط الصفوف التي تتطابق قيمها في مفتاح الربط في كلا الجدولين. مثل جدول الطلاب يحتوي على معلومات عن الطلاب (اسم الطالب، رقم الطالب). جدول الدرجات يحتوي على معلومات عن درجات الطلاب (رقم الطالب، اسم المادة، الدرجة). SELECT Students.Name, Grades.Subject, Grades.Grade FROM Students INNER JOIN Grades ON Students.StudentID = Grades.StudentID; سيُظهر الاستعلام أسماء الطلاب والمواد التي درسها كل طالب والدرجات التي حصل عليها. النوع الثاني هو LEFT JOIN مثل ربط قطعة من البازل مع قطعة أخرى وقد تكون هناك فراغات Null، ويعرض جميع صفوف الجدول الأيسر، مع إمكانية عرض البيانات المتوافقة من الجدول الأيمن. مثل جدول الطلاب يحتوي على معلومات عن الطلاب (اسم الطالب، رقم الطالب). وجدول الأنشطة يحتوي على معلومات عن الأنشطة التي يشارك فيها الطلاب (رقم الطالب، اسم النشاط). SELECT Students.Name, Activities.ActivityName FROM Students LEFT JOIN Activities ON Students.StudentID = Activities.StudentID; النتيجة هي أسماء جميع الطلاب، مع عرض أسماء الأنشطة التي يشارك فيها كل طالب إن وجدت، وإن لم يشارك طالب في أي أنشطة، ستُظهر قيمًا فارغة (NULL) في عمود "اسم النشاط". النوع الثالث هو RIGHT JOIN مثل ربط قطعة من البازل مع قطعة أخرى وقد تكون هناك فراغات Null، ويعرض جميع صفوف الجدول الأيمن، مع إمكانية عرض البيانات المتوافقة من الجدول الأيسر. مثل جدول الأنشطة يحتوي على معلومات عن الأنشطة التي يشارك فيها الطلاب (رقم الطالب، اسم النشاط). وجدول الطلاب يحتوي على معلومات عن الطلاب (اسم الطالب، رقم الطالب). SELECT Activities.ActivityName, Students.Name FROM Activities RIGHT JOIN Students ON Activities.StudentID = Students.StudentID; نتيجة الاستعلام هي أسماء جميع الأنشطة، مع عرض أسماء الطلاب الذين يشاركون فيها إن وجدت، وفي حال لم يكن هناك طالب مرتبط بنشاط معين، ستُظهر قيمًا فارغة (NULL) في عمود "اسم الطالب". النوع الأخير هو FULL JOIN مثل ربط جميع قطع البازل معًا، بغض النظر عن وجود فراغات، ويعرض جميع صفوف كلا الجدولين، سواء كانت متوافقة أم لا. مثل جدول الطلاب يحتوي على معلومات عن الطلاب (اسم الطالب، رقم الطالب). وجدول المعلمين يحتوي على معلومات عن المعلمين (اسم المعلم، رقم المعلم). SELECT Activities.ActivityName, Students.Name FROM Activities RIGHT JOIN Students ON Activities.StudentID = Students.StudentID; ستحصل على أسماء جميع الطلاب والمعلمين، مع عرض البيانات المتوافقة بينهما، وإن لم يكن هناك تطابق، ستُظهر قيمًا فارغة (NULL) في الأعمدة من الجدول الآخر.1 نقطة
-
و عليكم السلام ال JOIN: هي عملية تستخدم لربط الجداول مع بعضها البعض بناءً على علاقة مشتركة. و غالبًا ما تُستخدم عندما يكون لديك بيانات موزعة في جداول متعددة وترغب في جلبها معًا في استعلام واحد لتقديم نتائج مفيدة. و هناك عدة انواع له: INNER JOIN: يتم إرجاع السجلات التي لها قيم مطابقة في كلا الجدولين فقط. إذا لم يكن هناك تطابق، فلن يتم عرض السجل في النتيجة. LEFT JOIN (LEFT OUTER JOIN): يتم إرجاع جميع السجلات من الجدول الأيسر (Left Table)، مع السجلات المطابقة من الجدول الأيمن (Right Table). إذا لم يكن هناك تطابق، فستحتوي الأعمدة من الجدول الأيمن على قيمة NULL. RIGHT JOIN (RIGHT OUTER JOIN): يعمل بشكل مشابه لـ LEFT JOIN، لكن يتم إرجاع جميع السجلات من الجدول الأيمن، مع السجلات المطابقة من الجدول الأيسر. إذا لم يكن هناك تطابق، ستكون القيم من الجدول الأيسر هي NULL. FULL JOIN (FULL OUTER JOIN): يجمع نتائج كل من LEFT JOIN و RIGHT JOIN، حيث يتم إرجاع جميع السجلات من كلا الجدولين. إذا لم يكن هناك تطابق، فسيتم ملء القيم غير الموجودة بـ NULL.1 نقطة
-
مجالين مختلفين تمامًا. Google Cybersecurity Professional Certificate تركيزها على مهارات الأمن السيبراني الأساسية، مثل تحديد نقاط الضعف، التحقيق في الحوادث، والاستجابة لها، ومناسبة لمن يرغب في بدء مسيرته المهنية في مجال الأمن السيبراني أو تحسين مهاراته في المجال مثل تحليل المخاطر، اختبار الاختراق، إدارة الأحداث الأمنية، وتشفير البيانات. وتُمكنك من الحصول على وظائف مثل محلل أمن المعلومات، مهندس أمن المعلومات، أو مسؤول أمن المعلومات. بينما Google IT Support Professional Certificate تختص بمهارات دعم تكنولوجيا المعلومات الأساسية، مثل حل مشكلات الأجهزة والبرامج، دعم المستخدمين، وإدارة الشبكات. ومناسبة للحصول على وظائف مثل فني دعم تكنولوجيا المعلومات، مساعد تقني، أو مسؤول دعم تقني.1 نقطة
-
الفرق هنا بين مهندس برمجيات وبين مبرمج، فالأول لديه دراية كبيرة بين الأساسيات ويستطيع تعلم أي شيء، والثاني لديه دراية بالتقنيات فقط (الإطارات والمكتبات). بالطبع أي شخص خارج الكلية يستطيع تعلم نفس الشيء لا مشكلة، الفكرة هي في الإلتزام. في حال كان الشخص الذي يدرس بكلية خاصة بالبرمجة مهتم بالبرمجة بالفعل، فسيصبح أفضل من الشخص العادي الذي تعلم البرمجة من خلال مسار تعليمي دونّ تأسيس لمدة سنة مثلاً أو حتى 6 أشهر، ففي الجامعى يتم دراسة علوم الحاسوب بشكل متعمق. لكن للعلم أيضًا أغلب المناهج قديمة، وستحتاج إلى الدراسة بجانب الكلية لتحديث معلوماتك فالتقنية يتم تطويرها بشكل متسارع، لذا ذكرت (شخص مهتم بالبرمجة) وليس شخص يدرس من أجل النجاح بالكلية فقط. فلا حاجة لدراسة 4 سنوات لتصبح مبرمج بالطبع، المنهج المفيد لك تستطيع إنهائه في 6 أشهر أو سنة حسب الخبرة السابقة لديك، ستجد منهج لذلك على GItHub مثل Open Source Society University: https://github.com/ossu/computer-science الكلية توفر لك أشخاص مهتمين بنفس اهتماماتك وأيضًا تشجيعك على الدراسة.1 نقطة
-
الجامعة لا تعلّمك البرمجة فقط، البرمجة هي جزء من المادة التعليمية وليست متمحورة حولها، يعني لن تعطيك إلا الشيء القليل من كلّ شيء، ثم يأتي دور المتعلّم أو الطالب من خلال البحث وتطوير نفسه ومهاراته سواء، أي أنّ دراسة علوم الحاسوب في الجامعة لا يعني أن تستغني عن التطوير الذاتي في هذا المجال. الجامعة ستأخذ منك وقتا طويلا لكنها ستعلمك المبادئ الأساسية من خوازرميات وجبر وتلقّنك المفاهيم الرياضياتية والإحصاء وغيرها التي تحتاجها في هذا المجال، ثم ستعطيك لمحة عن كلّ شيء تقريبا لكن أحيانا في جامعاتنا العربية يتمّ تدريس بعض المقاييس بأشياء أكل عليها الدهر وشرب وكما نعرف فهذا المجال في تطور مستمر والتحديثات فيه لا تكاد تتوقف، لكن التدريس بتلك الطريقة له غايته ميزاته وعيوبه، فالجامعة تريدك أن تجد المشكل بنفسك ثم تأتي الحلول فيما بعد، فعلمك كيف تصل إلى التفكير المنطقي، فلو تدرسك مباشرة بأطر العمل الحديثة فقد لا يكون الأمر مثل التدريس بالخوارزميات القديمة أو بالأحرى الأساسية والتي منها تطورت اللغات والبرمجة. أنصحك باختيار مجال معين سواء أكان ضمن مجالك الدراسي في الجامعة أو لم يكن، ثم قم بتطوير نفسك فيه بالتزامن مع دراساتك الجامعية، وحتما ستسفيد من الجامعة من خلال دراستك للخوارزميات وقواعد البيانات والبنى وغيرها. الفرق الجوهري الذي أراه بين الاثنين هو أن الطالب في الجامعة هو مشروع مهندس وليس مبرمج وشتّان بين الاثنين، لكن في الجامعة ما ينقص خريجي الهندسة هو التجربة العملية والخبرات، وهنا قد تظن أن المبرمج خارج الجامعة لديه إمكانيات وخبرات أكثر لكن الفرق هو أنّ الخبرات لدى المتعلم في الجامعة مرتبة ومنظمة لأن البرنامج المعد في الجامعة مدروس ومسطر ليصل إلى أهداف معينة، بينما الذي خارج الجامعة فأفكاره قد تجدها مبعثرة وأحيانا تجده قد حفظ ما يفعله نتيجة التكرار ونتيجة المشاريع الكثيرة التي أنجزها.1 نقطة
-
أمر عادي جدا قد يتعلم المبرمج أساسيات الأمن السيبراني حتى لو لم يكن سيعمل في هذا المجال بل سيكون ذلك مفيدا كثيرا بالنسبة له ولمساره، فمن ناحية الحماية سيتكون لديه فهم لكيفية حماية التطبيقات التي يقوم بتطويرها مما سيساعده على تجنب الأخطاء الشائعة التي قد تؤدي إلى ثغرات أمنية ومنه سيسعى لكتابة كود أكثر أمانا منذ البداية وسيساهم في تطبيق أفضل الممارسات الأمنية في التطوير. أما بخصوص Google Cybersecurity Professional Certificate فهي شهادة احترافية تقدمها شركة Google وتغطي: أساسيات الأمن السيبراني وشبكات الحاسب وأمنها بالإضافة إلى نظم التشغيل وأمنها وأمن البنية التحتية وحسب ما أتذكر أيضا لغة بايثون للأمن السيبراني وغيرها ولكني أعتقد أنك ستحتاج إلى التحضير بشكل مكثف لاجتياز اختبار الشهادة.1 نقطة