سؤال انترڤيو محنك شويتين بس فكرته سهلة جدًا...
.
.
الناتج هيكون 8 .. وتعال أقولك ليه؟
خلينا نقسم السؤال إلى جزئين:
📌 الجزء الأول .. الـ Array الصغيرة، وهي دي حل السؤال، الـ comma هنا هتعمل Evaluation للـ Array وهترجع تاني رقم وهو 3، دايمًا بترجع الرقم اللي على اليمين أو الرقم الأخير.
[1, 3] => 3
📌 الجزء الثاني .. الـ Array الكبيرة، ودي Array عادية جدًا بيتعمل عليها Access من قبل القيمة اللي طلعت من الـ Array الصغيرة اللي هي 3، يعني الموضوع هيوصل وهيبقى بالشكل ده:
[2, 4, 6, 8, 10][3] => 8
لو الدنيا لسه موضحتش ممكن تقرأ أكتر عن الـComma Operator من هنا:
🔰 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comma_operator
🔰 https://www.javanoscripttutorial.net/javanoscript-comma-operator
.
.
الناتج هيكون 8 .. وتعال أقولك ليه؟
خلينا نقسم السؤال إلى جزئين:
📌 الجزء الأول .. الـ Array الصغيرة، وهي دي حل السؤال، الـ comma هنا هتعمل Evaluation للـ Array وهترجع تاني رقم وهو 3، دايمًا بترجع الرقم اللي على اليمين أو الرقم الأخير.
[1, 3] => 3
📌 الجزء الثاني .. الـ Array الكبيرة، ودي Array عادية جدًا بيتعمل عليها Access من قبل القيمة اللي طلعت من الـ Array الصغيرة اللي هي 3، يعني الموضوع هيوصل وهيبقى بالشكل ده:
[2, 4, 6, 8, 10][3] => 8
لو الدنيا لسه موضحتش ممكن تقرأ أكتر عن الـComma Operator من هنا:
🔰 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comma_operator
🔰 https://www.javanoscripttutorial.net/javanoscript-comma-operator
❤3
مجموعة مصادر هتساعدك في التحضير لانترڤيو الـ Node.js 🚀
.
.
📌 NodeJS Interview Questions
https://lnkd.in/dpGdHdhR
📌 Backend Interview Questions and Answers related to Node JS, Golang/Go, Express JS, and MongoDB
https://lnkd.in/dmtwX3JT
📌 100 Must-Know Node.js Interview Questions
https://lnkd.in/dGaHhK4x
📌 Node.js Basics
https://lnkd.in/dvGW_BrP
📌 52 Node.js Interview Questions for JavaScript Developers
https://lnkd.in/duwZBCV6
📌 Top 100+ Node.js Interview Questions and Answers
https://lnkd.in/djWnnnQQ
📌 Top 100 Node.js interview questions and answers
https://lnkd.in/dSvJrw2n
📌 Top 30+ Node.js Interview Questions
https://lnkd.in/dRE98yTe
📌 Node Interview Questions and Answers – Beginner Level
https://lnkd.in/dfPtxPpc
📌 Top Node.js Interview Questions You Must Prepare
https://lnkd.in/duzZ6RP4
📌 Top 50 Node.js Interview Questions and Answers
https://lnkd.in/d-U-xNEa
.
.
📌 NodeJS Interview Questions
https://lnkd.in/dpGdHdhR
📌 Backend Interview Questions and Answers related to Node JS, Golang/Go, Express JS, and MongoDB
https://lnkd.in/dmtwX3JT
📌 100 Must-Know Node.js Interview Questions
https://lnkd.in/dGaHhK4x
📌 Node.js Basics
https://lnkd.in/dvGW_BrP
📌 52 Node.js Interview Questions for JavaScript Developers
https://lnkd.in/duwZBCV6
📌 Top 100+ Node.js Interview Questions and Answers
https://lnkd.in/djWnnnQQ
📌 Top 100 Node.js interview questions and answers
https://lnkd.in/dSvJrw2n
📌 Top 30+ Node.js Interview Questions
https://lnkd.in/dRE98yTe
📌 Node Interview Questions and Answers – Beginner Level
https://lnkd.in/dfPtxPpc
📌 Top Node.js Interview Questions You Must Prepare
https://lnkd.in/duzZ6RP4
📌 Top 50 Node.js Interview Questions and Answers
https://lnkd.in/d-U-xNEa
❤2👍1
ما هو الـ CORS و كيف يعمل؟ What is CORS - CSRF Attacks - SOP - Preflight Request
https://youtu.be/0t4xGM1IMgo
https://youtu.be/0t4xGM1IMgo
YouTube
ما هو ال CORS و كيف يعمل؟ What is CORS - CSRF Attacks - SOP - Preflight Request
ما هو ال CORS و كيف يعمل؟ What is CORS - CSRF Attacks - SOP - Preflight Request
========================
شرح مفصل عن أحد مواضيع ال web security وكيفية حماية موقعك من هجمات cross site request forgery باستخدام سياسة CORS. نتعمق في فهم كيف يمكن للمهاجمين استغلال…
========================
شرح مفصل عن أحد مواضيع ال web security وكيفية حماية موقعك من هجمات cross site request forgery باستخدام سياسة CORS. نتعمق في فهم كيف يمكن للمهاجمين استغلال…
❤3
من ضمن المصطلحات المهمة في مجال الويب 💯
.
.
خلال رحلتك في مجال الويب أكيد مر عليك مصطلح الـ CORS، أو واجهتك مشكلة بسبب موضوع الـ CORS في المتصفح. تعال ندردش شوية...
———
ببساطة الـ CORS اختصار لـ Cross-Origin Resource Sharing
📌 في الأول كده خلينا نعرف يعني إيه Origin؟
الـ "Origin" هو الدومين (domain) أو النطاق اللي الموقع أو السيرفر بتاعك شغال عليه. بيبقى عبارة عن الـ "Protocol" (زي HTTP أو HTTPS) + اسم الدومين (زي example.com) + البورت (لو مختلف عن الـ 80 لـ HTTP أو 443 لـ HTTPS).
———
⚡️ فين المشكلة؟
لو أنت شغال على موقع معين وعاوز الموقع بتاعك يطلب بيانات أو resources (زي JSON أو ملفات) من سيرفر تاني، السيرفر التاني ده لازم يبقى من نفس الـ origin بتاعك، يعني نفس الدومين، نفس البروتوكول، ونفس البورت.
ودي حاجة اسمها Same-Origin Policy، السياسة دي معمولة أساسًا علشان تحمي المستخدمين من أي طلبات ضارة ممكن تجي من مواقع تانية غير موثوقة.
بس في بعض الحالات، أنت كـ Developer بتبقى محتاج تعمل طلبات للسيرفرات اللي مش من نفس الـ origin بتاعك، زي لما يكون عندك Frontend شغال على دومين معين وAPI أو Backend شغالين على دومين أو بورت مختلف.
———
هنا بقى ييجي دور الـ CORS 👇
الـ Cross-Origin Resource Sharing (CORS) هو الحل اللي بيسمح للمواقع إنهم يطلبوا بيانات أو ملفات من سيرفرات تانية بمختلف الـ origins بشكل آمن، بمعنى إنك تقدر تتخطى الـ Same-Origin Policy وتعمل طلبات لسيرفرات تانية طالما السيرفر ده بيقبل إنه يتعامل مع الموقع بتاعك.
———
📌 إزاي الـ CORS بتشتغل؟
لما موقعك بيطلب بيانات من سيرفر تاني مختلف عن الـ origin بتاعه، السيرفر اللي عليه الـ resource اللي أنت بتطلبها هو اللي بيقرر إذا كان الطلب ده مسموح أو لا.
السيرفر بيرد على الطلب من خلال الـ (headers) اللي بيرجعها مع الـ response.
واحد من أهم الـ headers دي هو:
اللي بيحدد الـ origins اللي مسموح ليها تطلب بيانات من السيرفر ده. لو الـ origin بتاع موقعك موجود في القيمة بتاعت الـ header ده، السيرفر هيسمح بتنفيذ الطلب وهيرجعلك الـ response. ولو لل، الطلب هيتمنع وهيجيلك error من نوع CORS في المتصفح.
———
📍 كمان فيه Headers تانية زي:
- الـ Access-Control-Allow-Methods: اللي بتحدد أنواع الطلبات اللي مسموح ليك تعملها (GET, POST, PUT, DELETE...).
- الـ Access-Control-Allow-Headers: اللي بتحدد الـ headers اللي مسموح ليك تبعتها في الطلبات.
- الـ Access-Control-Allow-Credentials: لو الطلب محتاج يبعت Cookies أو بيانات معينة، لازم الـ header ده يبقى موجود ومظبوط على true.
———
وفقكم الله لكل خير 🌿
.
.
خلال رحلتك في مجال الويب أكيد مر عليك مصطلح الـ CORS، أو واجهتك مشكلة بسبب موضوع الـ CORS في المتصفح. تعال ندردش شوية...
———
ببساطة الـ CORS اختصار لـ Cross-Origin Resource Sharing
📌 في الأول كده خلينا نعرف يعني إيه Origin؟
الـ "Origin" هو الدومين (domain) أو النطاق اللي الموقع أو السيرفر بتاعك شغال عليه. بيبقى عبارة عن الـ "Protocol" (زي HTTP أو HTTPS) + اسم الدومين (زي example.com) + البورت (لو مختلف عن الـ 80 لـ HTTP أو 443 لـ HTTPS).
———
⚡️ فين المشكلة؟
لو أنت شغال على موقع معين وعاوز الموقع بتاعك يطلب بيانات أو resources (زي JSON أو ملفات) من سيرفر تاني، السيرفر التاني ده لازم يبقى من نفس الـ origin بتاعك، يعني نفس الدومين، نفس البروتوكول، ونفس البورت.
ودي حاجة اسمها Same-Origin Policy، السياسة دي معمولة أساسًا علشان تحمي المستخدمين من أي طلبات ضارة ممكن تجي من مواقع تانية غير موثوقة.
بس في بعض الحالات، أنت كـ Developer بتبقى محتاج تعمل طلبات للسيرفرات اللي مش من نفس الـ origin بتاعك، زي لما يكون عندك Frontend شغال على دومين معين وAPI أو Backend شغالين على دومين أو بورت مختلف.
———
هنا بقى ييجي دور الـ CORS 👇
الـ Cross-Origin Resource Sharing (CORS) هو الحل اللي بيسمح للمواقع إنهم يطلبوا بيانات أو ملفات من سيرفرات تانية بمختلف الـ origins بشكل آمن، بمعنى إنك تقدر تتخطى الـ Same-Origin Policy وتعمل طلبات لسيرفرات تانية طالما السيرفر ده بيقبل إنه يتعامل مع الموقع بتاعك.
———
📌 إزاي الـ CORS بتشتغل؟
لما موقعك بيطلب بيانات من سيرفر تاني مختلف عن الـ origin بتاعه، السيرفر اللي عليه الـ resource اللي أنت بتطلبها هو اللي بيقرر إذا كان الطلب ده مسموح أو لا.
السيرفر بيرد على الطلب من خلال الـ (headers) اللي بيرجعها مع الـ response.
واحد من أهم الـ headers دي هو:
Access-Control-Allow-Origin
اللي بيحدد الـ origins اللي مسموح ليها تطلب بيانات من السيرفر ده. لو الـ origin بتاع موقعك موجود في القيمة بتاعت الـ header ده، السيرفر هيسمح بتنفيذ الطلب وهيرجعلك الـ response. ولو لل، الطلب هيتمنع وهيجيلك error من نوع CORS في المتصفح.
———
📍 كمان فيه Headers تانية زي:
- الـ Access-Control-Allow-Methods: اللي بتحدد أنواع الطلبات اللي مسموح ليك تعملها (GET, POST, PUT, DELETE...).
- الـ Access-Control-Allow-Headers: اللي بتحدد الـ headers اللي مسموح ليك تبعتها في الطلبات.
- الـ Access-Control-Allow-Credentials: لو الطلب محتاج يبعت Cookies أو بيانات معينة، لازم الـ header ده يبقى موجود ومظبوط على true.
———
وفقكم الله لكل خير 🌿
❤15