💡ما الجديد الذي قدمته React 19؟
✍🏻 بقلم: م. محمد أسامه أبوزيد.
🔹 تعد مكتبة React من أهم مكاتب لغة JavaScript والتي تعتمد على مفهوم (Single Page Application) SPA لتطوير تطبيقات الويب الحديثة، تم تصميم هذه المكتبة بواسطة شركة Meta ، وتتميز المكتبة بمجتمع برمجي كبير مما يزيد من رواجها في سوق العمل البرمجي.
🔹 أصدرت شركة Meta النسخة 19 من المكتبة في 25 أبريل من هذا العام، وقدمت هذه النسخة العديد من المميزات والتحسينات والتي رفعت من كفاءة صناعة التطبيقات البرمجية باستخدام هذه المكتبة، وسنستعرض في هذا المقال أهم هذه المميزات.
1- React Compiler
تقدم React 19 مترجماً تجريبياً (ما يزال قيد التطوير) قدم تحديثاً ثورياً من ناحية تحسين الأداء، يقوم هذا المترجم بتحويل كود React إلى JavaScript مما يقدم ربحاً عالياً في الأداء ويمكننا من الاستغناء على بعض الـ Hooks مثل (useMemo - useCallback) بحيث تقرر React تلقائياً متى تتغير الـ state ومتى تتحدث واجهة المستخدم.
2- Actions:
تساعد هذه الميزة على تبسيط التعامل مع طفرات البيانات وتحديثات الحالة بحيث يلغي الحاجة لتكويد الجزء الخاص بإدارة الـ pending state والأخطاء والـ optimistic updates (عندما نضغط مثلاً على إعجاب في الفيسبوك تتم تغيير حالة الزر بشكل فوري رغم أنه في الخلفية يقوم بالتواصل مع الـ Database ومتوقع حدوث تأخير) والطلبات المتسلسلة، وبهذا تقدم هذه الميزة طريقة حديثة وفعالة للتعامل مع عناصر مثل الـ Forms بواسطة استخدام Hooks مثل useActionState - useOptimistic - useFormStatus.
3- React Server Components:
وهي ميزة ثورية في React 19 تم تقديمها في اطر عمل مثل Nextjs بحيث يمكننا من عمل render لـ UI components على السيرفر مما يحسن من وقت تحميل الصفحة الأولية بشكل كبير بحيث يرى المستخدمون المحتوى بشكل أسرع بكثير فيما إذا تم عمل render في جانب العميل، كما يمكن باستخدام التوجيه "use server” استدعاء التوابع غير المتزامنة المنفذة على الخادم بما ندعوه Server Actions.
4- Ref as a Prop:
في React 19 أصبح بإمكاننا تمرير الـ ref كـ props دون الحاجة لاستخدام higher-order component والذي يدعى forwardRef للقيام بذلك.
5- Support for Document Metadata:
في السابق كنا بحاجة استخدام مكتبة مثل react-helmet من أجل كتابة الـ meta tags والتي من شأنها تحسين SEO (Search Engine Optimization)، الآن في React 19 يمكننا وضع هذه العناصر ضمن جسم المكون.
حتى الآن قد لا تقوم هذه الميزة باستبدال مكتبة react-helmet بشكل كلي لأن هذه المكاتب تقدم ميزات قوية لتحسين الـ SEO، ولكن يمكننا الاعتماد عليها في الحالات البسيطة.
6- Support for stylesheets:
تقدم React 19 تحسيناً كبيراً في كيفية ترتيب وتبسيط استعراض تنسيق الـ CSS مع الأخذ بعين الاعتبار جميع السيناريوهات المختلفة لعرض المكون على الصفحة، بحيث يمكن التحكم بأولوية ملفات التنسيق داخل المكون مما يقلل الحاجة لحلول يدوية أو مكاتب تنسيق معقدة.
7- Support for preloading resources:
تقدم React 19 تحسيناً كبيراً للأداء عن طريق دعم التحميل المسبق للموارد كالخطوط وملفات التنسيق وملفات الـ Js ، مما يساعد على تحميل أسرع للصفحات ودعم تجربة المستخدم خصوصاً في حالة الاتصال البطيء.
8- Other Improvements in React 19:
🔹 بإمكاننا الاستعاضة عن كتابة بـ .
🔹 دعم النصوص اللامتزامنة: يضمن React تحميل كل برنامج نصي وتنفيذه مرة واحدة فقط ، حتى إذا تم عرضه بواسطة مكونات متعددة.
🔹 تكامل أعمق مع TypeScript.
🔸 الخلاصة:
على الرغم من أن React 19 ليس إصدارا رسميا حتى الآن، إلا أن الميزات والتحسينات المذكورة أعلاه تمثل تطورات ثورية يمكن توقعها في الإصدارات المستقبلية من React، مما يجعل من هذه المكتبة خياراً مثالياً للمطورين لبناء تطبيقات ويب حديثة.
Your step To success
معكم خطوة بخطوة لتطوير مهاراتكم بشتى انواع المهارات ومساندتكم لدخولكم سوق العمل بأحترافية
13/05/2024
مشوار الالف ميل يبدأ بخطوة♥️
شكرا لشركة Mad_Solution عكل المجهود اللي قدمتوه🌸
شكرا للاستاذ Nawar Ali وتعاونه معنا 🌸
31/03/2024
الـ Authentication و الـ Authorization
الـ Authentication و الـ authorization كلمتان المستخدمتان في عالم security قد تبدو متشابهة ولكنها مختلفة تمامًا عن بعضها البعض.
ما هي الـ Authentication ( المصادقة )
الـ Authentication هي عملية تحديد هوية شخص ما من خلال التأكد من أن الشخص هو نفسه من يطالب request و يتم استخدامه من قبل كل من server و client
و يستخدم server الـ Authentication عندما يريد شخص ما الوصول إلى المعلومات ، ويحتاج الـ server إلى معرفة من يقوم بالوصول إلى المعلومات بواسطة server في الغالب باستخدام اسم المستخدم وكلمة المرور .
الـ techniques الشهيرة لـ Authentication
1. الـ authentication على أساس Password
إنها أبسط طريقة authentication يتطلب password و username المحدد إذا تطابقت كلمة المرور مع اسم المستخدم وكلتا التفاصيل تتطابق مع database النظام ، فسيتم authentication على المستخدم بنجاح.
2. authentication بدون Password
في هذه التقنية لا يحتاج المستخدم إلى أي كلمة مرور ؛ بدلاً من ذلك ، يحصل على OTP (One-time password) أو رابط على رقم phone يمكن أن يقال علية OTP-based
3. الـ 2FA / الـ MFA
الـ 2FA / الـ MFA أو المصادقة الثنائية و المصادقة متعددة العوامل هي المستوى الأعلى من authentication و يتطلب الأمر رقم PIN إضافيًا أو أسئلة أمان حتى يتمكن من authenticate المستخدم.
4. الدخول الموحد SSO
يُعد تسجيل الدخول الأحادي أو SSO طريقة لتمكين الوصول إلى تطبيقات متعددة باستخدام مجموعة واحدة من بيانات الاعتماد يسمح للمستخدم بتسجيل الدخول مرة واحدة ، وسيتم تسجيل الدخول تلقائيًا إلى جميع تطبيقات الويب الأخرى المترتبطة بهذا النظام
الـ Authorization ( التفويض )
هي عملية منح شخص ما داخل الـ system للقيام بمجموعة من العملياتداخل هذا system يعني أنها طريقة للتحقق مما إذا كان المستخدم لديه إذن لاستخدام موارد هذا النظام لا فهو يحدد ما هي البيانات والمعلومات التي يمكن لمستخدم واحد الوصول إليها.
يعمل الـ Authorization عادةً مع authentication حتى يتمكن النظام من معرفة من يقوم بالوصول إلى المعلومات.
تقنيات Authorization
التحكم في access على أساس الدور
تمنح RBAC أو تقنية Role-Based Access Control إلى الدور users وفقًا role أو ملفهم الشخصي في organization يمكن تنفيذه system to system أو user-to-system
الـ JWT
الـ JSON web token أو JWT هو standard مفتوح يستخدم لنقل البيانات بشكل آمن بين الأطراف في شكل JSON object و يتم التحقق من المستخدمين وترخيصهم باستخدام key تكون private/public
الـ SAML
ترمز الـ SAML إلى لغة رمز تأكيد الأمان وهو معيار standard يوفر بيانات اعتماد الـ Authorization لـ service providers و يتم تبادل بيانات الاعتماد هذه من خلال XML documents.
الـ OpenID authorization
يساعد clients على التحقق من هوية المستخدمين النهائيين على أساس authentication .
الـ OAuth
الـ OAuth هو بروتوكول ، يمكّن API من authenticate والوصول إلى الموارد المطلوبة.
26/03/2024
تصميم النظام:
تصميم النظام هو مرحلة حاسمة في تطوير أي مشروع برمجي أو تكنولوجي. يتضمن عملية تحديد الهيكل، والمكونات، والوحدات، والواجهات، والبيانات لنظام معين لتلبية المتطلبات المحددة. الهدف من تصميم النظام هو إنشاء مخطط يحدد كيف ستتفاعل مكونات النظام المختلفة مع بعضها البعض لتحقيق الوظائف والأداء المطلوب.
عادةً ما يبدأ عملية تصميم النظام بجمع وتحليل متطلبات النظام. يشمل ذلك فهم المتطلبات الوظيفية، وتوقعات الأداء، واحتياجات التوسع، وأي قيود أو قيود قد تؤثر على التصميم. بمجرد توضيح المتطلبات، يأتي الخطوة التالية في تحديد المكونات الرئيسية للنظام وكيف ستتعاون مع بعضها البعض.
أحد الجوانب الحرجة في تصميم النظام هو تحديد الهيكل العام للنظام. يشمل ذلك تحديد هندسة النظام، بما في ذلك كيفية تنظيم المكونات المختلفة، وكيفية التواصل بينها، وكيفية تدفق البيانات بينها. تأخذ هندسة النظام أيضًا في اعتبارها عوامل مثل التوسعية والموثوقية والأمان لضمان أن النظام يمكنه التعامل مع النمو المستقبلي والتهديدات المحتملة.
جانب آخر مهم من تصميم النظام هو تحديد أدوار ومسؤوليات كل مكون داخل النظام. يشمل ذلك تحديد ما هو مسؤول كل مكون عنه، وكيف يتفاعل مع المكونات الأخرى، وكيف يتعامل مع الأخطاء أو الاستثناءات. يساعد تحديد أدوار ومسؤوليات بشكل واضح في ضمان أن يعمل النظام بكفاءة وفعالية.
الأداء والأمان هما أيضًا اعتبارات رئيسية في تصميم النظام. تصميم نظام يؤدي بشكل جيد تحت ظروف مختلفة وآمن من التهديدات المحتملة أساسي لنجاحه. قد تشمل اعتبارات الأداء تحسين الوصول إلى البيانات، وتقليل التأخير، وضمان استخدام الموارد بكفاءة. قد تشمل اعتبارات الأمان تطبيق التشفير، وضبط الوصول، وإجراءات أخرى لحماية البيانات الحساسة ومنع الوصول غير المصرح به.
في الختام، تصميم النظام هو مرحلة حاسمة في تطوير أي مشروع برمجي أو تكنولوجي. يشمل تحديد هندسة النظام، والمكونات، والواجهات، والبيانات لنظام معين لتلبية المتطلبات المحددة. يضع مخطط نظام جيد أساسًا لتنفيذ وتشغيل ناجح للنظام. من خلال مراعاة عوامل مثل تحليل المتطلبات، وتحديد المكونات، وهندسة النظام، وأدوار ومسؤوليات، والأداء، والأمان، يمكن لمصممي الأنظمة إنشاء أنظمة قوية تلبي احتياجات المستخدم وتؤدي بفعالية في بيئات مختلفة.
بإشراف الاستاذ
Karam Mustafa
ضمن تدريبي Focal X agency ♥️
26/03/2024
# System Architecture
# #مقدمة:
System Architecture
أو هندسة النظم، هي من الأمور الضرورية لتصميم وتطوير الأنظمة البرمجية. بتفصيل، System Architecture بتهدف لتقسيم النظام لأجزاء صغيرة يلي منفهما ونقدر نطورها بشكل منفصل، وهاد الشي بزيد من سهولة صيانة النظام وتطويره بشكل فعال.
# # # تعريف System Architecture:
System Architecture
هو هيكلية النظام اللي بتحدد كيفية تقسيم النظام لأجزاء مختلفة وكيفية تحديد العلاقات والتفاعلات بينها. System Architecture بتشمل تصميم الأجزاء المختلفة للنظام وكيفية تواصلها مع بعضها ومع البيئة المحيطة.
# # # أهمية System Architecture:
- بتسهل فهم وصيانة النظام: بتقسيم النظام لأجزاء صغيرة، بيصير أسهل فهم كل جزء وصيانته.
- بتسهل التطوير: بنقدر نطور كل جزء منفصلاً دون ما يأثر على باقي أجزاء النظام.
- بتزيد من كفاءة النظام: بإستخدام System Architecture المناسبة، بنقدر نحسن أداء النظام ونزيد كفاءته.
- بتوفر نقطة انطلاق للتصميم: System Architecture هي نقطة انطلاق هامة لعملية التصميم، حيث بتحدد هيكلية النظام وعلاقات المكونات.
# # # أنواع System Architecture:
1. Monolithic Architecture: فيها بناء النظام ككل واحد دون تقسيمه لأجزاء منفصلة.
2. Microservices Architecture: فيها تقسيم النظام لخدمات صغيرة مستقلة بتشتغل سوا.
3. Client-Server Architecture: فيها تقسيم النظام لجزء خادم يدير المعالجة وجزء عميل يتفاعل مع المستخدم.
4. Event-Driven Architecture: النظام بيرد على الأحداث والإشارات اللي بتحصل.
# # # ختام:
System Architecture
هو عنصر أساسي في تصميم الأنظمة البرمجية، حيث بساعد في جعل النظام قابل للفهم والصيانة بشكل أفضل. باختيار System Architecture المناسب، بنقدر نحسّن أداء النظام ونزيد كفاءته بشكل كبير.
بإشراف الاستاذ
Karam Mustafa
والاستاذ
Mohammed Alkordy
ضمن تدريبي في Focal X agency
♥️
09/01/2024
بمناسبه ان الC # أصبحت is programming language of the year 2023.
في البداية، كانت شركة مايكروسوفت تسعى إلى إنشاء لغة برمجة موحدة لاستخدامها داخل الشركة. في ذلك الوقت، ظهرت شركة تدعى SUN وقدمت لغة برمجة تسمى Java، وكانت هي أول لغة برمجة تعتمد تمامًا على مفاهيم البرمجة الشيئية (OOP) بعد لغة Smalltalk. Java كانت تحظى بشعبية كبيرة وكانت تضيف ميزات جديدة مثل delegate وال Event.
في هذا السياق، قامت مايكروسوفت بإنشاء لغة تشبه Java تمامًا باسم G #. ولكن شركة SUN رفعت دعوى قضائية ضد مايكروسوفت وفازت في القضية. بعد ذلك، قررت مايكروسوفت تطوير لغة خاصة بها. قررت استخدام لغة C++ (التي لم تكن Pure OOP في ذلك الوقت) وتحويلها إلى لغة Pure OOP. كان من المقترح أن يكون اسمها "COOL" (C-like Object Oriented Language)، ولكن هذا الاسم كان طويلًا جدًا وغير مناسب. فقرروا أخيرًا دمج العلامات "++" معًا ووضعها فوق بعضها لتشكيل علامة " #". وهكذا، جاء اسم C #.
وفي معلومة إضافية، اتبعت شركة SUN عقب اندماجها مع شركة Oracle. ولذلك، إذا كنت ترغب في تنزيل Java، عليك القيام بذلك من موقع Oracle. هذا هو السبب الذي دفع جوجل إلى التخلي عن Java ودفع المطورين للاستخدام Kotlin بدلاً منها.
#
19/11/2023
انترنيت الأشياء وتحولاتها في عالمنا الرقمي
إنترنت الأشياء هو مفهوم يشير إلى شبكة من الأجهزة والأشياء التي تتصل ببعضها البعض وتتبادل البيانات عبر الإنترنت. يعتبر إنترنت الأشياء تحولًا هائلا في العالم التكنولوجي، حيث يمكن للأشياء العادية أن تصبح متصلة وذكية، مما يسهم في تحسين حياتنا وجعلها أكثر راحة وكفاءة. في هذا المقال، سنستكشف مفهوم إنترنت الأشياء وتحولاتها في عالمنا الرقمي.
تعريف إنترنت الأشياء:
إنترنت الأشياء يشير إلى الشبكة المتصلة التي تتكون من الأجهزة والأشياء المادية، مثل الأجهزة المنزلية الذكية والسيارات والأجهزة القابلة للارتداء والمستشعرات والمعدات الصناعية. يتم تجهيز هذه الأشياء بأجهزة استشعار ومعالجة واتصالات للتواصل مع بعضها البعض ومع الإنترنت. يتم جمع البيانات من هذه الأجهزة وتحليلها وتبادلها بينها لتحقيق أهداف محددة.
تحولات إنترنت الأشياء في عالمنا الرقمي:
1. الحياة الذكية:
من خلال إنترنت الأشياء، يمكن للمنازل أن تصبح ذكية ومتصلة. يمكن التحكم في الأجهزة المنزلية مثل الإضاءة والتدفئة والتكييف عن بُعد باستخدام الهواتف الذكية. يمكن أيضًا توصيل الأجهزة المنزلية ببعضها البعض لتبادل المعلومات وتحقيق التنسيق والتحكم الذكي في المنزل.
2. النقل الذكي:
إنترنت الأشياء يمكن أن يحدث ثورة في صناعة النقل، مما يسهم في تحسين السلامة والكفاءة على الطريق، حيث يمكن تجهيز السيارات بأجهزة استشعار ونظم تحكم ذكية. يمكن للسيارات أن تتصل ببعضها البعض وبالبنية التحتية لنقل المعلومات وتحسين تجربة القيادة. يمكن للسيارات الذكية أن تتواصل مع بعضها البعض لتجنب الحوادث وتحسين تدفق حركة المرور. بالإضافة إلى ذلك، يمكن لإنترنت الأشياء أن تساعد في تحسين خدمات النقل العام وتجعلها أكثر فعالية وملاءمة للمسافرين.
3. رعاية الصحة واللياقة البدنية:
تطبيقات إنترنت الأشياء يمكن أن تكون مفيدة في مجال رعاية الصحة واللياقة البدنية. يمكن للأجهزة القابلة للارتداء، مثل الساعات الذكية وأجهزة تتبع اللياقة البدنية، أن تقيس النشاط البدني ومعدل ضربات القلب ومستوى السكر في الدم وغيرها من المقاييس الصحية. يمكن أيضًا توصيل هذه الأجهزة بتطبيقات الهواتف الذكية أو الأجهزة الطبية للمراقبة والمشاركة في الرعاية الصحية.
4. الصناعة الذكية:
تقدم إنترنت الأشياء فرصًا هائلة في قطاع الصناعة. يمكن استخدام الأجهزة المتصلة لمراقبة وتحسين عمليات التصنيع والصيانة وإدارة الجودة. يمكن أيضًا توصيل المعدات والماكينات بشبكة إنترنت الأشياء للحصول على بيانات دقيقة وفعالة لتحسين الإنتاجية وتقليل التكاليف.
5. الزراعة الذكية:
يمكن لإنترنت الأشياء أن تساهم في تحسين صناعة الزراعة وجعلها أكثر فعالية ومستدامة. يمكن استخدام المستشعرات والأجهزة المتصلة لمراقبة وتحسين ظروف النمو والري والتسميد. يمكن أيضًا استخدام تلك الأجهزة في جمع البيانات الجوية والتنبؤ بالظروف الجوية لمساعدة الفلاحين في اتخاذ قرارات أفضل وتحقيق إنتاجية أعلى.
الخلاصة:
إنترنت الأشياء هو تحول رقمي هائل يجعل الأشياء العادية متصلة وذكية. يمكن استخدام إنترنت الأشياء في مجالات متعددة مثل الحياة الذكية والنقل الذكي والصحة الذكية والصناعة الذكية والزراعة الذكية. يمكن أن يحسن إنترنت الأشياء حياتنا ويجعلها أكثر راحة وكفاءة. وبالإضافة إلى ذلك، يمكن استخدام إنترنت الأشياء في المنازل الذكية لتحسين الأمان والراحة. يمكن للأجهزة المنزلية مثل الثلاجات والتلفزيونات وأنظمة التدفئة والتهوية وتكييف الهواء أن تتصل بشبكة الإنترنت وتتفاعل مع بعضها البعض ومع المستخدمين. يمكن التحكم في الأجهزة المنزلية عن بُعد وتشغيلها وإيقافها وضبط إعداداتها بسهولة باستخدام التطبيقات الذكية.
بالإضافة إلى ذلك، يمكن استخدام إنترنت الأشياء في تحسين عمليات الطاقة والموارد. يمكن رصد وتحليل استهلاك الطاقة والمياه والغاز في الوقت الحقيقي باستخدام الأجهزة المتصلة. يمكن أيضًا تحسين كفاءة استخدام الموارد من خلال تنظيم وتحكم الأجهزة المتصلة بشبكة إنترنت الأشياء.
في النهاية، إنترنت الأشياء يعتبر تقنية مبتكرة ومتطورة تقدم العديد من الفوائد والاستخدامات المختلفة في حياتنا اليومية. يمكن تحقيق الكثير من التطورات والابتكارات من خلال استخدام إنترنت الأشياء في مجالات متعددة مثل الحياة الذكية والنقل الذكي والصحة الذكية والصناعة الذكية والزراعة الذكية.
BY ENG : AYA KHLIF
Click here to claim your Sponsored Listing.
Location
Category
Website
Address
Hama
Opening Hours
| Monday | 09:00 - 17:00 |
| Tuesday | 09:00 - 17:00 |
| Wednesday | 09:00 - 17:00 |
| Thursday | 09:00 - 17:00 |
| Saturday | 09:00 - 17:00 |
| Sunday | 09:00 - 17:00 |