
نحن مجتمع يضم ملايين الأشخاص الذين ينمون مهارات جديدة ويحصلون على وظائف جديدة في نفس الوقت. المنظمة غير ربحية 501(c)(3). التغريدات بواسطة @programmingoce
Joined February 2021
- Tweets3.5K
- Following3
- Followers4.3K
- Likes366
Pinned Tweet
إطلاق النسخة العربية من freeCodeCamp!
freecodecamp.org/arabic/
اليوم نفتح بابًا جديدًا أمام كل من يريد تعلّم البرمجة وتطوير مهاراته التقنية باللغة العربية.
أطلقنا الصفحة العربية لـ freeCodeCamp لتكون نقطة انطلاق تجمع لك أهم ما تحتاجه لتبدأ وتستمر:
• مسارات تعليمية متكاملة في البرمجة وتطوير الويب
• تحديات برمجية يومية لبناء مهاراتك بالممارسة
• شهادات مجانية تساعدك على توثيق ما تعلمته
• تعلّم الإنجليزية المهنية للمطورين
• اللغة الإسبانية المهنية للمطورين
• مشاريع عملية تساعدك على بناء خبرتك
• موارد للتحضير لمقابلات البرمجة
• دورات ومصادر إضافية من مجتمع freeCodeCamp
والأهم…
كل هذا مجانًا.
الفكرة ليست أن نقدم لك قائمة طويلة من الدورات، بل أن نساعدك على بناء مسار واضح:
تعلّم → طبّق → ابنِ مشاريع → احصل على شهادات → استعد لسوق العمل.
إذا كنت تفكر منذ فترة في دخول عالم البرمجة، فهذه فرصتك لتبدأ.
وإذا كنت مبرمجًا بالفعل، فقد تجد فيها موارد تساعدك على تطوير مهاراتك أو توجيه شخص يريد دخول هذا المجال.
ابدأ من هنا:
freeCodeCamp بالعربية
freecodecamp.org/arabic/
شارك الإعلان مع شخص يقول لك دائمًا:
«أريد أن أتعلم البرمجة، لكن لا أعرف من أين أبدأ.»
ربما يكون هذا هو المكان الذي يبدأ منه.
#البرمجة #الذكاء_الاصطناعي
هل ما زال تعلم البرمجة وعلوم الحاسوب بالطريقة التقليدية مهمًا في عصر الذكاء الاصطناعي؟ وهل يمكن أن يؤدي الاعتماد المفرط على أدوات البرمجة باستخدام النماذج اللغوية إلى إضعاف مهارات المطورين بدلًا من تطويرها؟
مع انتشار أدوات مثل ChatGPT وGitHub Copilot وClaude Code، أصبح بإمكان المطورين توليد الشيفرة بسرعة غير مسبوقة. لكن يبقى السؤال الأهم: هل السرعة في إنتاج الشيفرة تعني بالضرورة فهمها والقدرة على تطويرها وصيانتها؟
في الحلقة 215 من بودكاست freeCodeCamp، يستضيف Quincy Larson الأستاذ والمطور Mark Mahoney لمناقشة مستقبل تعلم البرمجة وعلوم الحاسوب في ظل الانتشار الواسع لأدوات الذكاء الاصطناعي.
عمل Mark مطورًا برمجيًا قبل انتقاله إلى التدريس الجامعي، ودرّس علوم الحاسوب لمدة 23 عامًا في Carthage College بالولايات المتحدة، كما ساعد آلاف المطورين على التعلم من خلال دوراته المجانية المبنية على منصته مفتوحة المصدر Playback Press.
ما أبرز المحاور التي تناقشها الحلقة؟
1. لماذا لا يزال تعلم البرمجة بالطريقة الصعبة مهمًا؟
تناقش الحلقة قيمة مواجهة المشكلات البرمجية ومحاولة حلها وفهم الأخطاء بدلًا من الاعتماد على الحلول الجاهزة منذ البداية.
2. كيف تتجنب فقدان مهاراتك بسبب أدوات الذكاء الاصطناعي؟
عندما تعتمد على النماذج اللغوية لكتابة الشيفرة باستمرار، قد تنجز المهام بسرعة أكبر، لكن كيف تحافظ على قدرتك على التفكير البرمجي والتحليل وحل المشكلات بصورة مستقلة؟
3. ما الدور الصحيح لأدوات LLMs في تعلم البرمجة؟
تطرح المناقشة أهمية الاستفادة من أدوات الذكاء الاصطناعي دون أن تصبح بديلًا عن فهم الخوارزميات وهياكل البيانات والمفاهيم الأساسية.
4. لماذا يُعد الوقت الحالي مناسبًا لدراسة علوم الحاسوب؟
تتناول الحلقة أهمية بناء معرفة علمية متينة في وقت تتغير فيه أدوات تطوير البرمجيات بسرعة، وتزداد فيه الحاجة إلى فهم الأنظمة بدلًا من مجرد استخدامها.
5. كيف يمكن تطوير تعليم البرمجة؟
تسلط تجربة Mark الضوء على التعليم التفاعلي والمصادر المفتوحة، وكيف يمكن للمتعلمين الاستفادة من المشاريع والأدوات العملية أثناء دراسة البرمجة.
الدرس الأهم أن أدوات الذكاء الاصطناعي يمكن أن تزيد إنتاجية المبرمج، لكنها لا تعوض بالضرورة عن الفهم العميق.
تعلم البرمجة لا يعني فقط الوصول إلى شيفرة تعمل، بل القدرة على تفسيرها واختبارها واكتشاف أخطائها وتحسينها واتخاذ القرارات التقنية المناسبة.
ولهذا تظل دراسة علوم الحاسوب وممارسة حل المشكلات مهارتين أساسيتين، حتى مع تطور أدوات توليد الشيفرة.
يمكنك متابعة الحلقة 215 من بودكاست freeCodeCamp على قناتها في YouTube أو عبر تطبيقات البودكاست.
#تعلم_البرمجة #علوم_الحاسوب #الذكاء_الاصطناعي
freecodecamp.org/news/how-to…
هل تواجه صعوبة في إدارة البيانات والحالة (State) داخل تطبيقات React؟ وماذا يحدث عندما تحتاج مكونات متعددة إلى مشاركة البيانات وتحديثها بطريقة منظمة ومتوقعة؟
مع توسع تطبيقات React، تصبح إدارة الحالة أكثر تعقيدًا، خصوصًا عند التعامل مع تفاعلات المستخدمين، وطلبات API، والبيانات المشتركة بين المكونات.
هنا يأتي دور Redux وRedux Toolkit، اللذين يوفران أدوات لتنظيم إدارة الحالة وتقليل التعقيد في التطبيقات التي تحتاج إلى ذلك.
نشرت منصة freeCodeCamp دورة مجانية بعنوان:
Learn Redux and Redux Toolkit for State Management
الدورة من إعداد Khaiser Khanam، ومدتها نحو 8 ساعات، وتنتقل من أساسيات Redux إلى استخدام Redux Toolkit وتطبيق أنماط أكثر تقدمًا لإدارة الحالة في React.
ماذا ستتعلم في هذه الدورة؟
الجزء الأول: أساسيات Redux
1. فهم إدارة الحالة باستخدام Redux
التعرف على المفاهيم الأساسية مثل Store وActions وReducers، والمبادئ الثلاثة لـRedux، ومتى يكون استخدامه مناسبًا أو غير ضروري.
2. ربط Redux بتطبيقات React
استخدام مكتبة React-Redux، والتعامل مع Hooks مثل useSelector لقراءة الحالة وuseDispatch لإرسال الإجراءات.
3. التعامل مع Middleware
فهم دور البرمجيات الوسيطة، واستخدام Thunk للتعامل مع العمليات غير المتزامنة (Asynchronous Operations)، وتجربة Logger Middleware.
4. تنظيم المشاريع وأدوات التصحيح
تعلم دمج Reducers، وتنظيم ملفات المشروع، واستخدام Redux DevTools لتتبع الإجراءات وتغيرات الحالة.
5. مشروع Burger Application
تطبيق المفاهيم الأساسية عمليًا من خلال بناء تطبيق لإدارة طلبات البرغر.
الجزء الثاني: Redux Toolkit
6. تبسيط إدارة الحالة باستخدام createSlice
تعلم إنشاء Reducers وActions بطريقة مختصرة ومنظمة، وتقليل الشيفرة المتكررة (Boilerplate).
7. التعامل مع العمليات غير المتزامنة
استخدام createAsyncThunk وextraReducers لتنظيم الإجراءات المرتبطة بالعمليات غير المتزامنة وإدارة نتائجها.
8. تحديث الحالة باستخدام Immer
فهم كيفية الاستفادة من Immer لكتابة منطق تحديث الحالة بصورة أسهل مع الحفاظ على مبدأ عدم تغيير الحالة الأصلية مباشرة (Immutability).
9. بناء تطبيق عملي باستخدام Vite
تطوير تطبيق لطلبات البيتزا والبرغر، وتطبيق مفاهيم Redux Toolkit داخل مشروع React.
10. أفضل الممارسات والاستعداد للمقابلات
التعرف على الأخطاء الشائعة لدى المبتدئين، وأنماط تنظيم الحالة، والأسئلة التقنية المتعلقة بـRedux Toolkit.
لمن تناسب هذه الدورة؟
لمطوري React الذين يريدون فهم إدارة الحالة بصورة أعمق، ولمن يستعد للعمل على تطبيقات أكبر أو يرغب في تحسين مهاراته قبل المقابلات التقنية.
الدرس الأهم أن إدارة الحالة الجيدة لا تعني استخدام Redux في كل مشروع، بل اختيار الأداة المناسبة لحجم التطبيق وتعقيده.
وفهم Store وReducers وActions والعمليات غير المتزامنة يساعدك على بناء تطبيقات أكثر تنظيمًا، ويسهل تتبع الأخطاء وتطوير الميزات الجديدة.
شاهد الدورة المجانية (8 ساعات) على قناة freeCodeCamp في YouTube.
#تطوير_الويب #جافاسكريبت #تعلم_البرمجة
freecodecamp.org/news/learn-…
هل تريد تشغيل نماذج الذكاء الاصطناعي على جهازك الشخصي دون الاعتماد المستمر على الخدمات السحابية؟ وكيف يمكنك بناء تطبيقات تستخدم النماذج اللغوية الكبيرة (LLMs) محليًا باستخدام Python؟
مع تطور أدوات الذكاء الاصطناعي مفتوحة المصدر، أصبح بإمكان المطورين تشغيل العديد من النماذج اللغوية محليًا، والتحكم في إعداداتها، وبناء تطبيقات تتعامل مع البيانات دون الحاجة إلى إرسالها لخدمات خارجية.
نشرت منصة freeCodeCamp دورة مجانية بعنوان:
Local AI Development with Ollama Course
الدورة من إعداد Paulo Dichone، ومدتها نحو 3 ساعات، وتركز على استخدام Ollama لتشغيل النماذج اللغوية محليًا وبناء تطبيقات عملية تعتمد على الذكاء الاصطناعي.
ماذا ستتعلم في هذه الدورة؟
1. التعرف على Ollama وإعداد بيئة العمل
فهم آلية تشغيل النماذج محليًا، وتثبيت Ollama، وتنزيل النماذج وتجربتها باستخدام أوامر سطر الأوامر (CLI).
2. فهم النماذج اللغوية الكبيرة
التعرف على معاملات النماذج (Parameters)، ومقاييس تقييم أدائها (Benchmarks)، وكيفية اختيار النموذج المناسب وفق متطلبات التطبيق وإمكانات الجهاز.
3. تخصيص سلوك النماذج باستخدام Modelfile
تعلم كيفية إعداد نماذج مخصصة لمهام مثل تلخيص النصوص وتحليل المشاعر، والتحكم في بعض إعدادات النموذج وسلوكه.
4. التعامل مع Ollama REST API
إرسال الطلبات واستقبال الاستجابات باستخدام JSON، وربط النماذج بالتطبيقات البرمجية عبر واجهات API ومكتبات Python.
5. مشروع Grocery List Organizer
بناء مساعد ذكي لتنظيم قوائم المشتريات وتسهيل التخطيط لها باستخدام نموذج لغوي محلي.
6. بناء نظام RAG
تطوير تطبيق لتوليد الإجابات المعززة بالاسترجاع (Retrieval-Augmented Generation)، يشمل إدخال المستندات، وإنشاء قاعدة بيانات متجهية (Vector Database)، وبناء واجهة تفاعلية باستخدام Streamlit.
7. مشروع AI Recruiter Agency
بناء تطبيق يستخدم الذكاء الاصطناعي للمساعدة في مطابقة المرشحين للوظائف مع متطلبات الأوصاف الوظيفية.
8. التعامل مع النماذج متعددة الوسائط
استكشاف نماذج مثل LLaVA لمعالجة الصور وإنشاء أوصاف نصية لها، إلى جانب أدوات استعراض معلومات النماذج وإعداداتها.
لماذا قد تختار تشغيل النماذج محليًا؟
الخصوصية: إمكانية معالجة البيانات داخل جهازك دون إرسالها تلقائيًا إلى مزود خارجي.
التحكم: اختيار النماذج وإعداداتها وفق احتياجات المشروع.
التكلفة: تقليل الاعتماد على واجهات API المدفوعة، مع مراعاة تكاليف الأجهزة والطاقة.
العمل دون اتصال: إمكانية تشغيل النماذج المحملة مسبقًا دون اتصال دائم بالإنترنت.
لمن تناسب هذه الدورة؟
لمطوري Python، ومهندسي الذكاء الاصطناعي، والمهتمين ببناء تطبيقات RAG، وكل من يريد تجربة النماذج اللغوية على جهازه الشخصي.
الدرس الأهم أن تطوير تطبيقات الذكاء الاصطناعي لا يتطلب دائمًا الاعتماد على واجهات النماذج السحابية. فباستخدام أدوات مثل Ollama، يمكنك بناء نماذج أولية وتجربة حلول محلية، مع مراعاة متطلبات الذاكرة والأداء والأمان.
#الذكاء_الاصطناعي #تعلم_الآلة #تطوير_البرمجيات
freecodecamp.org/news/local-…
هل يكفي أن تكون مبرمجًا محترفًا لتنجح في العمل الحر مع استوديوهات التصميم؟ وماذا يحدث عندما يكون تصميم Figma جاهزًا، لكن بعض التفاصيل التقنية لم تُحسم بعد؟
قد تستلم مشروعًا يبدو مكتملًا من ناحية التصميم، ثم تكتشف أن نسخة الهاتف غير موجودة، أو أن بعض الحركات تؤثر في الأداء، أو أن العميل طلب ميزة جديدة قبل موعد الإطلاق بأيام.
هنا تظهر حقيقة مهمة: دور المطور المستقل لا يقتصر على تحويل التصاميم إلى شيفرة برمجية، بل يشمل فهم المتطلبات، وإدارة التوقعات، والتنسيق بين التصميم والتنفيذ.
نشر الكاتب Reetain Raina مقالًا على منصة freeCodeCamp بعنوان:
How to Partner with Design Studios on Client Builds: A Freelance Developer's Guide
يقدم المقال دليلًا عمليًا للمطورين المستقلين حول كيفية التعاون مع استوديوهات التصميم، وإدارة المشاريع من مرحلة استلام التصاميم حتى إطلاق المنتج.
ما أبرز الأفكار التي يناقشها المقال؟
1. حدد دورك قبل بدء المشروع
هل أنت مسؤول عن تنفيذ التصاميم فقط، أم شريك تقني يشارك في اتخاذ القرارات؟ وضوح الدور منذ البداية يمنع كثيرًا من الخلافات.
2. افهم المتطلبات قبل كتابة الشيفرة
لا تبدأ التطوير بمجرد استلام ملف Figma. اسأل عن الوظائف المطلوبة، والأجهزة المستهدفة، والتكاملات، والقيود التقنية.
3. تعامل مع Figma كنقطة انطلاق للنقاش
التصميم لا يجيب دائمًا عن جميع الأسئلة. قد تغيب حالات الخطأ، والشاشات الصغيرة، وحالات التحميل، والتفاعلات غير المعتادة.
4. حدد مسؤوليات اتخاذ القرار
من يوافق على التعديلات؟ ومن يتواصل مع العميل؟ ومن يقرر عند تعارض المتطلبات التقنية والتصميمية؟
5. أنشئ سير عمل واضحًا
حدد مراحل التنفيذ ومعايير إنجاز كل مرحلة، واعتمد مصدرًا موحدًا للمعلومات والقرارات بدلًا من الاعتماد على الرسائل المتفرقة.
6. تعامل باحترافية مع تسليم التصاميم
راجع المكونات والحالات المختلفة قبل التطوير، وحدد العناصر الناقصة التي قد تؤثر في الوقت والتكلفة.
7. تحكم في توسع نطاق المشروع (Scope Creep)
أي طلب جديد قد يؤثر في الجدول الزمني والميزانية. لذلك يجب الاتفاق على آلية واضحة لتقييم التغييرات والموافقة عليها.
8. ناقش المشكلات التقنية مبكرًا
لا تؤجل الإبلاغ عن العقبات حتى اقتراب موعد التسليم. التواصل المبكر يتيح إيجاد بدائل مناسبة.
9. راجع المنتج بصورة مستمرة
شارك النسخ المرحلية مع فريق التصميم، وراجعوا التنفيذ معًا بدلًا من انتظار النسخة النهائية.
10. حافظ على العلاقة بعد الإطلاق
نجاح المشروع لا ينتهي عند التسليم، بل يمتد إلى الدعم والتواصل وبناء الثقة لفرص التعاون المستقبلية.
الدرس الأهم أن نجاح المطور المستقل لا يعتمد على جودة الشيفرة وحدها، بل على قدرته على التواصل، وتوضيح المسؤوليات، وإدارة التغييرات، وتحويل التصاميم إلى منتجات تعمل بكفاءة.
#العمل_الحر #تطوير_الويب #هندسة_البرمجيات
freecodecamp.org/news/freela…
كيف تستطيع أنظمة الذكاء الاصطناعي البحث عن المعلومات بناءً على معناها، وليس فقط الكلمات الموجودة فيها؟ وما الذي يجعل قواعد البيانات المتجهية (Vector Databases) عنصرًا مهمًا في تطبيقات RAG وأنظمة التوصية ووكلاء الذكاء الاصطناعي؟
تعتمد تطبيقات الذكاء الاصطناعي الحديثة على تحويل النصوص والبيانات إلى تمثيلات عددية تُعرف باسم Embeddings، بحيث يمكن مقارنة المعلومات واسترجاعها وفق درجة التشابه الدلالي.
نشرت منصة freeCodeCamp دورة مجانية بعنوان:
Learn Vector Databases for Beginners – Embeddings, Similarity Search & ChromaDB
الدورة من إعداد codeEdx، ومدتها نحو ساعة ونصف، وتبدأ من الأساسيات الرياضية للمتجهات، ثم تنتقل إلى بناء مشروع عملي للبحث الدلالي باستخدام ChromaDB.
لا تشترط الدورة معرفة مسبقة بقواعد البيانات المتجهية.
ماذا ستتعلم في هذه الدورة؟
1. أساسيات المتجهات (Vectors)
فهم كيفية تمثيل البيانات على شكل متجهات عددية، ولماذا تُعد هذه التمثيلات مهمة في تطبيقات تعلم الآلة والبحث الدلالي.
2. رياضيات قياس التشابه
التعرف على طريقتين أساسيتين لمقارنة المتجهات:
Cosine Similarity لقياس التشابه بين اتجاهات المتجهات.
Euclidean Distance لقياس المسافة بين النقاط في الفضاء المتجهي.
3. تقسيم النصوص إلى Tokens
فهم مفهوم Tokenization وكيف تقسم النماذج النصوص إلى وحدات أصغر قبل معالجتها، ولماذا قد تتحول الكلمة الواحدة إلى عدة Tokens.
4. التمثيلات المتجهية (Embeddings)
التعرف على كيفية تحويل النصوص إلى متجهات تعكس علاقات دلالية، وكيف يمكن استخدام هذه التمثيلات للبحث عن محتوى متشابه في المعنى.
5. توليد Embeddings باستخدام Gemini
تطبيق عملي لاستخدام نموذج Embedding من Google Gemini، ثم تصور المتجهات في فضاء ثلاثي الأبعاد باستخدام تقنية PCA لتقليل الأبعاد.
6. البنية الداخلية لقواعد البيانات المتجهية
فهم طبقات تخزين البيانات والفهرسة ومعالجة الاستعلامات، وكيف تُستخدم فهارس مثل IVF وHNSW لتسريع البحث عن أقرب المتجهات بدلًا من مقارنة كل عنصر بالعناصر الأخرى.
7. بناء محرك بحث دلالي باستخدام ChromaDB
إنشاء Client وCollection، وتخزين التمثيلات المتجهية، ثم تنفيذ استعلامات تسترجع النتائج وفق التشابه الدلالي.
لمن تناسب هذه الدورة؟
تناسب مطوري Python، ومهندسي الذكاء الاصطناعي، والمهتمين ببناء تطبيقات RAG ووكلاء الذكاء الاصطناعي وأنظمة البحث والتوصية.
الدرس الأهم أن جودة تطبيقات الذكاء الاصطناعي لا تعتمد على النموذج اللغوي وحده، بل تتأثر أيضًا بكيفية تمثيل المعلومات وفهرستها واسترجاعها.
وفهم Embeddings وSimilarity Search وVector Databases يمنحك أساسًا مهمًا لبناء أنظمة تستطيع الوصول إلى المعلومات الأكثر صلة بالسؤال، حتى عندما تختلف الكلمات المستخدمة.
#الذكاء_الاصطناعي #قواعد_البيانات #تعلم_الآلة
freecodecamp.org/news/learn-…
تحدي البرمجة اليومي: عدّ الكلمات في الجملة — Word Counter
الهدف من التحدي
المطلوب كتابة دالة تستقبل سلسلة نصية (String) تحتوي على جملة، ثم تحسب عدد الكلمات الموجودة فيها وتعيد العدد الناتج. يعتمد التحدي على فهم كيفية تقسيم السلاسل النصية والتعامل مع المسافات التي تفصل بين الكلمات.
نقاط تساعدك على الحل:
تستقبل الدالة سلسلة نصية sentence تمثل الجملة المطلوب حساب عدد كلماتها.
تُعرَّف الكلمة في هذا التحدي بأنها أي تسلسل متصل من المحارف غير المسافات.
تُفصل الكلمات عن بعضها بمسافة واحدة فقط.
لا يشترط أن تتكون الكلمة من أحرف أبجدية فقط؛ فقد تحتوي على أرقام أو علامات ترقيم، ما دامت محارفها متصلة دون مسافات.
لا تحتاج إلى إزالة علامات الترقيم أو تحليل المعنى اللغوي للجملة، لأن المطلوب هو عدّ الكلمات وفق التعريف المحدد.
يمكنك الاستفادة من الدالة split() في Python أو JavaScript لتقسيم الجملة إلى أجزاء اعتمادًا على المسافات.
فكّر في العلاقة بين عدد الكلمات وعدد المسافات الفاصلة بينها، مع مراعاة شروط تنسيق المدخلات.
يجب أن تعيد الدالة عددًا صحيحًا (Integer) يمثل عدد الكلمات، وليس مصفوفة الكلمات أو سلسلة نصية.
مثال توضيحي:
إذا كانت الجملة المدخلة:
"I love learning Python"
فإنها تحتوي على أربع كلمات:
I وlove وlearning وPython
وبالتالي، تكون النتيجة:
4
أما إذا كانت الجملة:
"Hello, world!"
فستكون النتيجة:
2
لاحظ أن علامات الترقيم لا تُعدّ كلمات مستقلة عندما تكون متصلة بمحارف أخرى دون مسافات.
حان وقت التطبيق!
جرّب حل التحدي بنفسك باستخدام Python أو JavaScript، وحاول مقارنة طريقة تقسيم الجملة إلى كلمات مع طريقة عدّ المسافات الفاصلة بينها. فكّر في بساطة كل طريقة ومدى توافقها مع شروط المدخلات المحددة.
حمّل تطبيق freeCodeCamp Mobile لممارسة تحديات البرمجة اليومية وتطوير مهاراتك من خلال حل مسائل برمجية قصيرة كل يوم.
باختصار:
حلّل الجملة وحدد الكلمات التي تفصل بينها مسافة واحدة.
أعِد عددًا صحيحًا يمثل إجمالي الكلمات الموجودة في الجملة.
#Python #JavaScript
هل تريد تعلم React من الصفر حتى تتمكن من بناء تطبيقات ويب تفاعلية؟ ماذا لو تعلمتها من خلال أكثر من 170 تحديًا برمجيًا و6 مشاريع عملية بدلًا من الاكتفاء بمشاهدة الشروحات النظرية؟
تُعد React من أشهر مكتبات JavaScript لبناء واجهات المستخدم، وتساعد المطورين على إنشاء مكونات قابلة لإعادة الاستخدام وإدارة التفاعلات والبيانات داخل التطبيقات.
نشرت منصة freeCodeCamp دورة مجانية بعنوان:
Learn React from Bob Ziroll
الدورة من إعداد Bob Ziroll من منصة Scrimba، ومدتها نحو 16 ساعة. وهي نسخة محدثة من دورته الشهيرة لتعليم React، وتعتمد على التطبيق العملي والتحديات البرمجية المتدرجة.
ماذا ستتعلم في هذه الدورة؟
1. أساسيات React ومشروع ReactFacts
التعرف على JSX وComponents وProps وState، وفهم أسلوب React التصريحي (Declarative) وكيفية بناء واجهات من مكونات مستقلة قابلة لإعادة الاستخدام.
2. مشروع Travel Journal
بناء سجل رحلات تفاعلي باستخدام المكونات المتكررة، وتمرير البيانات عبر Props، واستخدام دالة .map() لعرض العناصر ديناميكيًا.
3. مشروع Chef Claude
تطوير تطبيق للوصفات الغذائية، مع تعلم إدارة الحالة (State Management)، والتعامل مع النماذج والأحداث، والعرض الشرطي (Conditional Rendering)، وإدارة المصفوفات والكائنات داخل الحالة.
4. مشروع Meme Generator
بناء مولد صور ساخرة يتعامل مع واجهات API لجلب البيانات، مع تطبيق React Hooks مثل useState وuseEffect، والتعرف على Controlled Components.
5. مشروع Tenzies Game
تطوير لعبة نرد تفاعلية، وتطبيق منطق اللعبة وإدارة حالة العناصر، والتعامل مع اختيارات المستخدم وتحديث الواجهة بناءً عليها.
6. مشروع Assembly Endgame
بناء لعبة لتخمين الكلمات، مع تطبيق مفاهيم أكثر تقدمًا مثل مشاركة الحالة بين المكونات (State Sharing)، وتحسين إمكانية الوصول (Accessibility)، وتنظيم التفاعلات المعقدة.
7. تحسين بيئة التطوير
التعرف على إضافات VS Code وأدوات React Developer Tools لتسهيل فحص المكونات وتتبع الحالة واكتشاف الأخطاء.
ما الذي يميز هذه الدورة؟
تجمع بين أكثر من 170 تحديًا برمجيًا وستة مشاريع، ما يمنحك فرصة لتطبيق المفاهيم مباشرة والتدرج من المكونات البسيطة إلى التطبيقات التفاعلية.
لمن تناسب هذه الدورة؟
تناسب المبتدئين في React، ومطوري JavaScript، وطلاب علوم الحاسوب، وكل من يريد الانتقال من صفحات HTML وCSS وJavaScript التقليدية إلى بناء واجهات تطبيقات حديثة.
الدرس الأهم أن إتقان React لا يتحقق بحفظ أسماء Hooks أو كتابة المكونات فقط، بل بفهم كيفية تدفق البيانات وإدارة الحالة وتقسيم الواجهة إلى مكونات واضحة. وكل مشروع تبنيه يمنحك فهمًا أعمق لهذه المبادئ.
#تطوير_الويب #جافاسكريبت #تعلم_البرمجة
freecodecamp.org/news/learn-…
هل يجب أن يكون تعلم البرمجة سهلًا دائمًا؟ أم أن مواجهة الصعوبات والتجربة وارتكاب الأخطاء هي ما يجعلنا مبرمجين أفضل؟
في عصر أصبحت فيه أدوات الذكاء الاصطناعي قادرة على توليد الشيفرات البرمجية خلال ثوانٍ، يبرز سؤال مهم: هل يؤدي تسهيل كل خطوة في عملية التعلم إلى تحسين مهاراتنا، أم قد يحرمنا أحيانًا من فرص التفكير والاكتشاف؟
في الحلقة 216 من بودكاست freeCodeCamp، يستضيف Quincy Larson مهندسة البرمجيات والمدرّسة Jessica Rose.
عنوان الحلقة:
How to friction-max your learning with software engineer Jessica Rose
عملت Jessica على مشاريع للبيانات المفتوحة (Open Data) في Mozilla، وساهمت في العديد من المشاريع مفتوحة المصدر.
تتناول المقابلة فلسفة مختلفة للتعلم، تقوم على تقبّل الصعوبات بدلًا من محاولة إزالتها بالكامل.
ما أبرز الموضوعات التي تناقشها الحلقة؟
1. التعلم من خلال مواجهة الصعوبات
تناقش Jessica فكرة أن العالم مليء بالتحديات، وأن التعامل معها بدلًا من تجنبها قد يساعدنا على تطوير قدراتنا على التفكير وحل المشكلات.
2. مفهوم Friction-Max Learning
بدلًا من البحث دائمًا عن أقصر طريق إلى الإجابة، يمكن للمتعلم أن يستفيد من المحاولة والتجريب والبحث وفهم أسباب الأخطاء.
الفكرة ليست تعقيد التعلم دون فائدة، بل إدراك أن بعض الصعوبات جزء أساسي من اكتساب المهارات.
3. بناء مشاريع صغيرة وغير تقليدية
تؤكد Jessica أهمية إنشاء مشاريع بسيطة أو طريفة (Silly Little Things).
فليس من الضروري أن يكون كل مشروع تطبيقًا تجاريًا متكاملًا؛ فقد يكون مشروع صغير وممتع فرصة لتجربة فكرة جديدة وتعلم تقنية مختلفة.
4. مبادرة Bad Website Club
تتحدث الحلقة عن مبادرة تعليمية مجانية عبر الإنترنت، يتعلم المشاركون فيها تطوير واجهات الويب (Front-End Development) بصورة جماعية.
وترتبط المبادرة بمحتوى شهادة Responsive Web Design من freeCodeCamp.
5. التعلم ضمن مجتمع
تسلط المبادرة الضوء على قيمة التعلم مع الآخرين، ومشاركة التجارب، وبناء المشاريع دون اشتراط الوصول إلى نتائج مثالية منذ البداية.
6. الذكاء الاصطناعي والإنتاجية
تتضمن الموارد المصاحبة للمقابلة دراسة أشارت إليها Jessica حول الذكاء الاصطناعي وإنتاجية العاملين، ما يفتح بابًا للتفكير في العلاقة بين سرعة إنجاز المهام وجودة تجربة العمل والتعلم.
لمن تناسب هذه الحلقة؟
تناسب المبرمجين المبتدئين، وطلاب علوم الحاسوب، والمدربين، ومطوري الويب، وكل من يشعر بأنه يحتاج إلى بناء الثقة في قدرته على التعلم وحل المشكلات بصورة مستقلة.
الدرس الأهم أن التعلم الحقيقي لا يعني إزالة جميع العقبات من الطريق. أحيانًا تكون المحاولة الفاشلة، والبحث الطويل، والمشروع الصغير غير المثالي، هي التجارب التي تساعدنا على بناء فهم أعمق ومهارات تدوم طويلًا.
#تعلم_البرمجة #تطوير_المهارات #هندسة_البرمجيات
freecodecamp.org/news/how-to…
هل تريد تعلم Python من الصفر، ثم الانتقال إلى كتابة برامج أكثر تنظيمًا باستخدام البرمجة الكائنية (Object-Oriented Programming)؟
تقدم قناة freeCodeCamp Arabic مسارًا تعليميًا مجانيًا باللغة العربية، يجمع بين أساسيات Python والمفاهيم المتقدمة والبرمجة الكائنية، بإجمالي يتجاوز 11 ساعة من المحتوى التعليمي.
يتكون المسار من مرحلتين رئيسيتين:
المرحلة الأولى: تعلم Python من الصفر إلى مراحل متقدمة
المدة: أكثر من 9 ساعات.
تبدأ هذه الدورة ببناء أساس متين في لغة Python، ثم تتدرج نحو مفاهيم أكثر تقدمًا، بما يساعدك على فهم اللغة قبل الانتقال إلى المكتبات والأطر البرمجية المتخصصة.
المرحلة الثانية: تعلم البرمجة الكائنية باستخدام Python
المدة: أكثر من ساعتين.
بعد اكتساب الأساسيات، تنتقل إلى فهم البرمجة الكائنية، وكيفية تنظيم البرامج باستخدام الأصناف (Classes) والكائنات (Objects)، والاستفادة من هذا الأسلوب في بناء شيفرة أكثر تنظيمًا وقابلية لإعادة الاستخدام والتوسع.
لماذا يُعد هذا التدرج مهمًا؟
لأن تعلم Python لا يقتصر على معرفة صياغة الأوامر البرمجية، بل يتطلب فهم كيفية التفكير في المشكلات، وتنظيم الحلول، وبناء البرامج بطريقة تسهل صيانتها وتطويرها.
ويمكن تلخيص المسار التعليمي في الخطوات التالية:
Python من الصفر ← إتقان الأساسيات ← المفاهيم المتقدمة ← البرمجة الكائنية ← بناء مشاريع عملية.
أين يمكنك استخدام Python بعد ذلك؟
تفتح لك اللغة المجال للتخصص في مجالات متعددة، منها:
الذكاء الاصطناعي وتعلم الآلة.
تحليل البيانات وعلوم البيانات.
تطوير تطبيقات الويب.
الأتمتة وكتابة الأدوات البرمجية.
تطوير التطبيقات والحلول البرمجية.
لمن يناسب هذا المسار؟
للمبتدئين الذين يريدون تعلم البرمجة باللغة العربية، ولمن يمتلك معرفة أولية بـPython ويرغب في تقوية أساسياته قبل الانتقال إلى تخصصات أكثر تقدمًا.
الدرس الأهم أن مشاهدة الدروس ليست كافية لإتقان البرمجة. بعد كل مرحلة، حاول كتابة برامج بنفسك، وحل المشكلات، وتجربة أفكار مختلفة، وفهم الأخطاء وإصلاحها.
فالمعرفة البرمجية تتحول إلى مهارة حقيقية عندما تبدأ بتطبيقها.
إذا كنت تبحث عن بداية منظمة لتعلم Python باللغة العربية، فإن هذا المسار من freeCodeCamp Arabic يوفر لك أكثر من 11 ساعة من التعلم المتدرج، من الأساسيات إلى البرمجة الكائنية.
#تعلم_البرمجة #بايثون #البرمجة_الكائنية
youtube.com/playlist?list=PL…
كيف تبني تطبيق SaaS قابلًا للتوسع باستخدام Next.js؟ وكيف تجعل مكونات التطبيق تتفاعل مع الأحداث تلقائيًا دون الحاجة إلى ربط جميع العمليات ببعضها بصورة مباشرة؟
تُعد البنية المعتمدة على الأحداث (Event-Driven Architecture) من الأنماط المعمارية المهمة في تطوير الأنظمة الحديثة، إذ تساعد على تنظيم العمليات غير المتزامنة (Asynchronous Workflows) وتحسين التواصل بين مكونات التطبيق.
نشرت منصة freeCodeCamp دورة مجانية بعنوان:
Learn Event Driven Architecture by Building a SaaS Application
الدورة من إعداد Hitesh Choudhary، ومدتها نحو 4 ساعات، وتشرح بناء تطبيق Software as a Service باستخدام Next.js وClerk وNeonDB وPrisma، مع التركيز على تطبيق مفاهيم Event-Driven Architecture عمليًا.
ماذا ستتعلم في هذه الدورة؟
1. بناء الأساس لتطبيق SaaS
إنشاء قالب أولي باستخدام Next.js وClerk، وتنظيم المشروع وتجهيز المكونات الأساسية لإدارة المستخدمين والمصادقة.
2. فهم Event-Driven Architecture
التعرف على الأنظمة المعتمدة على الأحداث، وكيف يمكن تنفيذ عمليات معينة استجابةً لوقوع حدث، بدلًا من الاعتماد على استدعاءات مباشرة ومتسلسلة بين جميع المكونات.
3. التعامل مع Webhooks
تعلم استقبال الأحداث الصادرة من Clerk ومعالجتها داخل التطبيق، مثل الأحداث المتعلقة بإدارة المستخدمين، وربطها بالإجراءات المناسبة في النظام.
4. إدارة قواعد البيانات باستخدام NeonDB
إعداد قاعدة بيانات PostgreSQL باستخدام NeonDB، وفهم كيفية تخزين بيانات التطبيق وتنظيمها.
5. استخدام Prisma ORM
تصميم مخططات البيانات (Schemas)، والتعامل مع قاعدة البيانات من خلال Prisma، وتنفيذ عمليات CRUD لإنشاء السجلات وقراءتها وتحديثها وحذفها.
6. تنفيذ Pagination
تعلم تقسيم نتائج الاستعلامات إلى صفحات، لتحسين طريقة عرض البيانات والتعامل مع مجموعات السجلات الكبيرة.
7. بناء تدفقات تسجيل مخصصة
استخدام Clerk لتطوير عمليات تسجيل المستخدمين (Sign-up Flows) وتخصيصها وفق متطلبات التطبيق.
8. التحكم في الصلاحيات حسب الأدوار
تطبيق Role-Based Access Control باستخدام Clerk Middleware، لتحديد الصفحات والعمليات التي يمكن لكل فئة من المستخدمين الوصول إليها.
9. ربط الواجهة الأمامية بالخدمات الخلفية
التعامل مع API Calls داخل Next.js، وتنظيم تدفق البيانات بين واجهة المستخدم والخدمات وقاعدة البيانات.
لمن تناسب هذه الدورة؟
تناسب مطوري Full-Stack وBackend، والمهتمين ببناء منتجات SaaS، وكل من يريد فهم Webhooks وإدارة الهوية والصلاحيات وقواعد البيانات في تطبيق عملي.
الدرس الأهم أن بناء تطبيق SaaS لا يقتصر على إنشاء واجهات جميلة وربطها بقاعدة بيانات، بل يتطلب فهم كيفية إدارة الأحداث، وتزامن البيانات، والتحكم في الوصول، وتنظيم العمليات بين مكونات النظام.
وتمنحك هذه الدورة فرصة لتطبيق هذه المفاهيم داخل مشروع واحد، بدلًا من دراستها بصورة منفصلة.
#هندسة_البرمجيات #تطوير_تطبيقات_الويب #تعلم_البرمجة
freecodecamp.org/news/learn-…
هل تستخدم Google Sheets لإدخال البيانات فقط؟ هل تعلم أنه يمكنك تحويل جداول البيانات إلى أدوات متقدمة للتحليل، وإدارة المشاريع، وأتمتة العمليات، وإنشاء لوحات معلومات تفاعلية؟
تُعد Google Sheets من الأدوات المهمة في إدارة البيانات وتحليلها، سواء كنت طالبًا، أو محلل بيانات، أو صاحب مشروع، أو تعمل ضمن فريق يحتاج إلى مشاركة المعلومات وتحديثها باستمرار.
نشرت منصة freeCodeCamp دورة مجانية بعنوان:
Learn Google Sheets – Course for Beginners
الدورة من إعداد Eamonn Cottrell، ومدتها نحو ساعتين، وتعتمد على التعلم بالمشاريع والتطبيق العملي، بدءًا من أساسيات التعامل مع الجداول وصولًا إلى الدوال المتقدمة والأتمتة باستخدام Google Apps Script.
ماذا ستتعلم في هذه الدورة؟
1. أساسيات Google Sheets
التعرف على واجهة البرنامج، والتنقل بين الأوراق والخلايا، واستخدام شريط الأدوات لتنظيم البيانات والتعامل معها بكفاءة.
2. المشاركة والعمل الجماعي
تعلم مشاركة الجداول مع الآخرين، والتعاون على تحرير البيانات في الوقت الفعلي، وإدارة صلاحيات الوصول والتعديل.
3. الدوال والمعادلات (Functions & Formulas)
استخدام الدوال الأساسية لإجراء الحسابات ومعالجة البيانات، ثم دمج الدوال لبناء معادلات أكثر تقدمًا وتنفيذ عمليات متكررة بكفاءة.
4. التحقق من صحة البيانات (Data Validation)
إنشاء القوائم المنسدلة (Dropdown Lists)، وتحديد القيم المسموح بإدخالها، وتقليل أخطاء إدخال البيانات.
5. التنسيق الشرطي (Conditional Formatting)
إبراز المعلومات المهمة تلقائيًا وفق شروط محددة، مثل تمييز القيم المرتفعة أو المنخفضة أو الحالات التي تحتاج إلى متابعة.
6. تصفية البيانات وتحليلها
استخدام أدوات Filtering وSlicers وأشرطة البحث لتنظيم مجموعات البيانات والوصول إلى المعلومات المطلوبة بسهولة.
7. تصور البيانات (Data Visualization)
إنشاء مخططات دائرية وعمودية وخطية، وتخصيصها لعرض الاتجاهات والمقارنات بطريقة واضحة تساعد على اتخاذ القرارات.
8. الأتمتة باستخدام Google Apps Script
التعرف على كيفية كتابة دوال مخصصة (Custom Functions)، وإنشاء قوائم إضافية داخل Google Sheets باستخدام Google Apps Script.
9. تطبيق المهارات في مشاريع عملية
استخدام الأدوات السابقة لبناء جداول تساعد على تنظيم البيانات وتحليلها وتطوير سير العمل في المهام الشخصية والمهنية.
لمن تناسب هذه الدورة؟
تناسب المبتدئين، والطلاب، والمحاسبين، ومحللي البيانات، وأصحاب المشاريع، وكل من يتعامل مع البيانات ويرغب في تحسين إنتاجيته.
الدرس الأهم أن جداول البيانات ليست مجرد صفوف وأعمدة، بل بيئة عملية يمكن استخدامها لتنظيم المعلومات وتحليلها وتصورها وأتمتة المهام. ومع إتقان الدوال وGoogle Apps Script، يمكنك تطوير حلول مفيدة دون الحاجة إلى بناء تطبيق برمجي كامل.
الدورة مجانية على قناة freeCodeCamp في YouTube، ومدتها نحو ساعتين.
#جداول_البيانات #تحليل_البيانات #المهارات_الرقمية
freecodecamp.org/news/learn-…
كيف تستطيع نماذج الذكاء الاصطناعي ضغط الصور إلى تمثيلات كامنة، ثم إعادة بنائها؟ وما الدور الذي تؤديه نماذج Variational Autoencoders في أنظمة توليد الصور مثل Stable Diffusion؟
لفهم نماذج الذكاء الاصطناعي التوليدي (Generative AI) بعمق، لا يكفي استخدام النماذج الجاهزة، بل من المهم دراسة بنيتها الرياضية وكيفية تدريب مكوناتها.
نشرت منصة freeCodeCamp دورة مجانية بعنوان:
Build a Stable Diffusion VAE From Scratch using PyTorch
الدورة من إعداد مهندس تعلم الآلة Harsh Bhatt، وتشرح المفاهيم الرياضية والبرمجية وراء Variational Autoencoders، مع تطبيق عملي لبناء نموذج باستخدام PyTorch.
ماذا ستتعلم في هذه الدورة؟
1. أساسيات Autoencoders
فهم بنية Encoder–Decoder، وكيف يتعلم النموذج ضغط البيانات إلى تمثيل كامن (Latent Representation)، ثم إعادة بناء المدخلات الأصلية.
2. الفرق بين Autoencoder وVAE
التعرف على الفرق بين التمثيل الكامن الحتمي والتمثيل الاحتمالي، وكيف يتعلم VAE معلمات توزيع احتمالي بدلًا من تمثيل ثابت لكل مدخل.
3. الفضاء الكامن (Latent Space)
فهم كيفية تمثيل البيانات داخل فضاء منخفض الأبعاد، وكيف يمكن أن تساعد البنية الاحتمالية في تعلم تمثيلات كامنة أكثر انتظامًا وقابلية لأخذ العينات.
4. المتوسط والانحراف المعياري
التعرف على دور المتوسط (μ) والانحراف المعياري (σ) في وصف التوزيعات الاحتمالية التي يستخدمها النموذج لتوليد التمثيلات الكامنة.
5. حيلة إعادة المعلمة (Reparameterization Trick)
دراسة التقنية التي تسمح بأخذ عينات عشوائية مع الحفاظ على إمكانية تدريب النموذج باستخدام الانتشار العكسي (Backpropagation).
6. دالة الخسارة في VAE
فهم المكونين الأساسيين لدالة التدريب:
Reconstruction Loss لقياس جودة إعادة بناء البيانات.
KL Divergence لتنظيم التوزيع الكامن وتقريبه من التوزيع المرجعي.
7. بناء النموذج باستخدام PyTorch
تنفيذ Encoder وDecoder، وتحويل الصور إلى تمثيلات كامنة، ثم إعادة بنائها وتدريب النموذج باستخدام دوال الخسارة المناسبة.
8. تحسين البنية باستخدام الشبكات العميقة
التعرف على Residual Blocks وSelf-Attention Layers ودورهما في معالجة السمات وتحسين تدفق المعلومات داخل الشبكات العصبية.
9. فهم العلاقة مع Stable Diffusion
استكشاف أهمية الترميز وفك الترميز في نماذج الانتشار الكامن (Latent Diffusion Models)، حيث تُنفذ عملية الانتشار في فضاء كامن بدلًا من العمل مباشرة على بكسلات الصور.
لمن تناسب هذه الدورة؟
تناسب طلاب تعلم الآلة، ومهندسي الذكاء الاصطناعي، والباحثين في التعلم العميق، والمهتمين بفهم النماذج التوليدية من الناحيتين الرياضية والبرمجية.
الدرس الأهم أن فهم النماذج التوليدية يبدأ من فهم كيفية تعلم تمثيلات البيانات. وتمنحك VAEs مدخلًا مهمًا لدراسة النمذجة الاحتمالية والفضاءات الكامنة، وفهم أحد المكونات الأساسية في أنظمة توليد الصور الحديثة.
#التعلم_العميق #الذكاء_الاصطناعي_التوليدي #تعلم_الآلة
freecodecamp.org/news/build-…
هل الرياضيات ضرورية فعلًا لتصبح مبرمجًا أفضل؟ وكيف يمكن لمعادلات رياضية بسيطة أن تختصر عشرات الأسطر البرمجية، وتقلل الأخطاء، وتجعل الشيفرة أكثر وضوحًا؟
كثير من المبرمجين يتعاملون مع الرياضيات بوصفها مادة نظرية منفصلة عن البرمجة، لكن الحقيقة أن التفكير الرياضي يساعد على تبسيط المشكلات وتحويل الأنماط المعقدة إلى حلول منطقية قابلة للتنفيذ.
نشرت منصة freeCodeCamp دورة مجانية بعنوان:
Learn How Math Can Make Your Code Better By Coding Polyrhythms
الدورة من تقديم Dr. Radu Mariescu-Istodor، ومدتها نحو ساعة واحدة، وتشرح كيف يمكن توظيف الرياضيات وJavaScript لبناء مشروع تفاعلي يجمع بين الإيقاعات الموسيقية والبرمجة والتصورات البصرية.
ماذا ستتعلم في هذه الدورة؟
1. العلاقة بين الرياضيات والبرمجة
فهم كيف تساعد المفاهيم الرياضية على تبسيط المنطق البرمجي، وتقليل التعقيد، وتجنب الحلول التي تعتمد على شروط وتكرارات غير ضرورية.
2. مفهوم الإيقاعات المتعددة (Polyrhythms)
التعرف على فكرة تشغيل أنماط إيقاعية مختلفة في الوقت نفسه، وكيف يمكن تمثيل هذه الأنماط برمجيًا باستخدام العلاقات الرياضية.
3. توليد الأصوات برمجيًا
تعلم إنشاء أصوات باستخدام JavaScript بدلًا من الاعتماد فقط على ملفات صوتية جاهزة، وربط توقيت الأصوات بالأنماط الإيقاعية.
4. التصور البصري للإيقاعات
بناء تمثيل مرئي تفاعلي يوضح كيفية تداخل الإيقاعات المختلفة، وتحويل العلاقات الزمنية إلى حركة يمكن مشاهدتها وفهمها.
5. تبسيط الشيفرة باستخدام الرياضيات
اكتشاف كيف يمكن التعبير عن بعض الأنماط المتكررة بعلاقات رياضية واضحة بدلًا من كتابة تعليمات برمجية طويلة ومعقدة.
6. كتابة شيفرة قابلة للصيانة
تطبيق ممارسات تنظيم الشيفرة (Clean Code)، وتحسين قابليتها للقراءة والتعديل، وتقليل احتمالية ظهور الأخطاء.
7. بناء مشروع تفاعلي متكامل
الجمع بين توليد الصوت والرسوم المتحركة والمنطق الرياضي لإنشاء تطبيق يعرض الإيقاعات المتعددة بصورة مرئية ومسموعة.
لمن تناسب هذه الدورة؟
تناسب المبتدئين في JavaScript، وطلاب علوم الحاسوب، والمهتمين بالرياضيات والبرمجة الإبداعية، وكل من يريد تطوير مهاراته في حل المشكلات وكتابة شيفرة أفضل.
الدرس الأهم أن الرياضيات ليست مجرد معادلات ندرسها لاجتياز الاختبارات، بل أداة للتفكير تساعدنا على اكتشاف الأنماط، وتبسيط الخوارزميات، وبناء حلول برمجية أكثر وضوحًا وكفاءة. وأحيانًا يكون فهم العلاقة الرياضية وراء المشكلة أهم من كتابة المزيد من الشيفرة.
#الرياضيات_والبرمجة #جافاسكريبت #تعلم_البرمجة
freecodecamp.org/news/learn-…
كيف تبني محرك بحث يستطيع التعامل مع كميات ضخمة من البيانات، وإرجاع نتائج دقيقة وسريعة؟ وكيف تنتقل من البحث التقليدي بالكلمات المفتاحية إلى البحث الدلالي (Semantic Search) باستخدام الذكاء الاصطناعي؟
تُعد Elasticsearch من أبرز التقنيات المستخدمة في بناء محركات البحث وتحليل البيانات والسجلات، وتوفر إمكانات متقدمة للفهرسة والاستعلام والتصفية وتحليل النصوص.
نشرت منصة freeCodeCamp دورة مجانية بعنوان:
Learn Elasticsearch with a Comprehensive Beginner-Friendly Course
الدورة من إعداد 3CodeCampers، ومدتها نحو 5 ساعات، وتجمع بين المفاهيم النظرية والتطبيق العملي باستخدام Python.
تنقسم الدورة إلى جزأين رئيسيين: تعلم أساسيات Elasticsearch، ثم بناء محرك بحث حقيقي لبيانات الصور الفلكية التابعة لوكالة NASA.
ماذا ستتعلم في هذه الدورة؟
1. إعداد Elasticsearch وإدارة الفهارس
التعرف على تثبيت Elasticsearch، وإنشاء الفهارس (Indexes) وإدارتها لتنظيم البيانات وتحسين عمليات البحث.
2. تخزين المستندات واسترجاعها
فهم كيفية التعامل مع Documents واستخدام واجهات Elasticsearch APIs لإضافة البيانات واسترجاعها وإدارتها.
3. تحليل النصوص (Text Analysis)
التعرف على Tokenization وكيفية تقسيم النصوص وتحليلها لتسهيل البحث بالكلمات والعبارات.
4. بناء استعلامات البحث
استخدام Search API لتنفيذ عمليات البحث والتصفية (Filtering) وتجميع النتائج (Aggregations).
5. البحث الدلالي (Semantic Search)
التعرف على Embeddings وتمثيل النصوص باستخدام المتجهات الكثيفة (Dense Vectors)، بما يتيح البحث وفق التقارب الدلالي بدلًا من الاعتماد على التطابق الحرفي فقط.
6. معالجة البيانات باستخدام Pipelines
إنشاء مسارات لمعالجة البيانات وتنظيفها وتحويلها قبل تخزينها في الفهارس، باستخدام Ingest Processors.
7. ميزات البحث المتقدمة
استكشاف Deep Pagination وSQL Search API وتقنيات التعامل مع مجموعات النتائج الكبيرة.
المشروع العملي: بناء محرك بحث لبيانات NASA
في الجزء الثاني، تطبق المفاهيم السابقة على مجموعة بيانات Astronomy Picture of the Day (APOD) التابعة لوكالة NASA.
ستتعلم إعداد البيانات وتنظيفها، وفهرسة الأوصاف النصية، وتنفيذ عمليات البحث والتصفية، وإضافة Pagination وAggregations لتحليل النتائج.
لمن تناسب هذه الدورة؟
تناسب مطوري Backend، ومهندسي البيانات، ومحللي البيانات، والمهتمين ببناء أنظمة البحث وتطبيقات الذكاء الاصطناعي.
الدرس الأهم أن بناء محرك بحث فعال لا يقتصر على تخزين البيانات واسترجاعها، بل يعتمد على فهم الفهرسة وتحليل النصوص وتصميم الاستعلامات. ومع Embeddings والبحث الدلالي، يمكن تطوير أنظمة تسترجع المعلومات بناءً على المعنى، وليس الكلمات المفتاحية وحدها.
الدورة مجانية على قناة freeCodeCamp في YouTube، ومدتها نحو 5 ساعات.
#هندسة_البيانات #محركات_البحث #تعلم_البرمجة
freecodecamp.org/news/learn-…
كيف أصبحت طالبة في علوم الحاسوب أصغر مدرّسة في جامعة Stanford؟ وكيف يمكن للمبرمجين الاستفادة من أدوات الذكاء الاصطناعي دون أن يفقدوا مهاراتهم الأساسية في التفكير وحل المشكلات؟
مع الانتشار الواسع لأدوات البرمجة المدعومة بالذكاء الاصطناعي، أصبحت هناك تساؤلات مهمة حول مستقبل تعليم علوم الحاسوب، وأهمية إتقان البرمجة، وحدود الاعتماد على AI.
في الحلقة 217 من بودكاست freeCodeCamp، يستضيف Quincy Larson الطالبة والمدرّسة Rachel An Fernandez من جامعة Stanford.
عنوان الحلقة:
Stanford's youngest instructor talks InfoSec, AI, and catching cheaters
تتناول المقابلة تجربتها الأكاديمية، وتعليم البرمجة، وأدوات الذكاء الاصطناعي، وتنظيم المسابقات التقنية.
ما أبرز الموضوعات التي تناقشها الحلقة؟
1. رحلة الوصول إلى Stanford
نشأت Rachel في مدينة Westminster بولاية كاليفورنيا، ودرست في مدرسة ثانوية كان نحو 70% من طلابها مؤهلين للحصول على وجبات مدرسية مجانية بسبب انخفاض دخل أسرهم.
وأصبحت أول طالبة من مدرستها تلتحق بجامعة Stanford منذ سنوات.
2. أصغر مدرّسة في الجامعة
رغم أنها لا تزال طالبة في علوم الحاسوب، أصبحت Rachel أصغر من يتولى دورًا تدريسيًا في الجامعة، وفقًا لما ورد في تقديم الحلقة.
3. مستقبل تعليم علوم الحاسوب في 2026
تناقش الحلقة واقع تعليم Computer Science، والتحديات التي تواجه الطلاب مع التطور السريع للأدوات البرمجية والذكاء الاصطناعي.
4. أهمية لغة C++
تتحدث Rachel عن تجربتها في تدريس C++ بجامعة Stanford، ورأيها في استمرار أهمية اللغة لفهم البرمجة ومفاهيم علوم الحاسوب.
5. استخدام الذكاء الاصطناعي دون فقدان المهارات
من أبرز محاور المقابلة كيفية الاستفادة من أدوات AI أثناء البرمجة دون الوقوع في مشكلة تراجع المهارات (Deskilling).
فالسؤال ليس فقط كيف ننجز المهمة بسرعة، بل كيف نحافظ على قدرتنا على فهم الشيفرة وتحليل المشكلات بأنفسنا.
6. تنظيم مسابقة TreeHacks
ساهمت Rachel في تنظيم هاكاثون Stanford السنوي، الذي استقبل نحو 15,000 طلب مشاركة، واختير منها 1,000 مشارك.
وعمل المشاركون على تطوير مشاريع خلال عطلة نهاية أسبوع واحدة، وتنافسوا على جوائز بلغت قيمتها الإجمالية مليون دولار.
لمن تناسب هذه الحلقة؟
تناسب طلاب علوم الحاسوب، ومطوري البرمجيات، ومدرّسي البرمجة، والمهتمين بأدوات AI Coding، والمسابقات التقنية، ومستقبل التعليم الجامعي.
الدرس الأهم أن الذكاء الاصطناعي يمكن أن يكون أداة قوية لتسريع التعلم والتطوير، لكن الاستفادة الحقيقية منه تتطلب الحفاظ على مهارات التفكير النقدي وفهم الخوارزميات والقدرة على حل المشكلات بصورة مستقلة.
#الذكاء_الاصطناعي #علوم_الحاسوب #تعلم_البرمجة
freecodecamp.org/news/stanfo…
كيف يمكنك إضافة قدرات الذكاء الاصطناعي إلى تطبيقات Java وSpring Boot؟ وهل يمكنك بناء روبوت محادثة، ومولد صور، ونظام لتحويل الصوت إلى نص دون الحاجة إلى تطوير نماذج ذكاء اصطناعي من الصفر؟
مع توسع استخدام الذكاء الاصطناعي في التطبيقات الحديثة، أصبح دمج النماذج الذكية داخل الأنظمة البرمجية مهارة مهمة لمطوري Backend.
نشرت منصة freeCodeCamp دورة مجانية بعنوان:
Build Smarter Spring Boot Applications with Spring AI
الدورة من إعداد Faisal Memon، ومدتها نحو 5 ساعات، وتشرح كيفية استخدام Spring AI لدمج خدمات الذكاء الاصطناعي داخل تطبيقات Spring Boot من خلال مشاريع عملية.
ماذا ستتعلم في هذه الدورة؟
1. التعرف على Spring AI
فهم دور Spring AI في تسهيل التعامل مع نماذج الذكاء الاصطناعي من داخل تطبيقات Java، والاستفادة من بنية Spring Boot المعتادة.
2. إعداد المشاريع ودمج OpenAI APIs
تهيئة المشروع وإضافة الاعتماديات (Dependencies)، ثم ربط التطبيق بواجهات OpenAI البرمجية لتنفيذ مهام معالجة اللغة وتوليد الصور.
3. بناء روبوت محادثة (Q&A Bot)
إنشاء تطبيق يستقبل أسئلة المستخدمين ويرسلها إلى نموذج لغوي، ثم يعرض الإجابات من خلال واجهة تفاعلية.
4. تطوير مولد صور بالذكاء الاصطناعي
بناء أداة Stock Photo Generator تستخدم نماذج توليد الصور لإنشاء صور اعتمادًا على أوصاف نصية يقدمها المستخدم.
5. إنشاء مولد وصفات طعام
تطوير تطبيق Recipe Generator يقترح وصفات بناءً على المكونات التي يدخلها المستخدم، باستخدام قدرات النماذج الذكية.
6. تنظيم خدمات Spring Boot
إنشاء Services وControllers لمعالجة الطلبات والتواصل مع خدمات الذكاء الاصطناعي، مع تخصيص المدخلات والمخرجات حسب متطلبات التطبيق.
7. بناء واجهة باستخدام React
تطوير واجهة أمامية (Frontend) تتفاعل مع خادم Spring Boot، والتعامل مع مشكلات CORS وربط الواجهة بالخدمات الخلفية.
8. تحويل الصوت إلى نص (Audio Transcription)
بناء أداة تستقبل الملفات الصوتية وتحول الكلام المنطوق إلى نص مكتوب باستخدام تقنيات التعرف على الكلام.
9. تحسين تجربة المستخدم
استخدام CSS وتنظيم مكونات الواجهة لتقديم تطبيقات أكثر وضوحًا وسهولة في الاستخدام.
لمن تناسب هذه الدورة؟
تناسب مطوري Java وSpring Boot، ومهندسي Backend، والمهتمين بتطوير تطبيقات تعتمد على النماذج اللغوية وتوليد الصور ومعالجة الصوت.
الدرس الأهم أن بناء تطبيقات مدعومة بالذكاء الاصطناعي لا يتطلب دائمًا تدريب نماذج جديدة. فمن خلال Spring AI يمكن دمج قدرات النماذج الجاهزة داخل البنية البرمجية المعتادة، والتركيز على تصميم الخدمات وتجربة المستخدم وتطوير تطبيقات تحل مشكلات حقيقية.
الدورة مجانية على قناة freeCodeCamp في YouTube، ومدتها نحو 5 ساعات.
#الذكاء_الاصطناعي #تطوير_البرمجيات #تعلم_البرمجة
freecodecamp.org/news/build-…
هل فكرت يومًا في تطوير لعبتك الإلكترونية الخاصة باستخدام JavaScript؟ وكيف يمكنك الانتقال من تعلم أساسيات البرمجة إلى بناء لعبة ثنائية الأبعاد (2D) ونشرها على الإنترنت؟
يُعد تطوير الألعاب من الطرق الممتعة لتعلم البرمجة، لأنه يجمع بين التفكير المنطقي، وتصميم التفاعلات، والتعامل مع الرسوم والحركة والأحداث.
نشرت منصة freeCodeCamp دورة مجانية بعنوان:
Learn Game Development with JavaScript and Kaplay
الدورة من إعداد JSLegendDev، ومدتها نحو 4 ساعات، وتقدم مدخلًا عمليًا لتطوير الألعاب باستخدام JavaScript ومكتبة Kaplay، دون اشتراط خبرة برمجية سابقة.
ماذا ستتعلم في هذه الدورة؟
1. أساسيات JavaScript
تبدأ بالتعرف على المتغيرات والثوابت، والشروط، والعمليات المنطقية، والمصفوفات والكائنات، والحلقات التكرارية والدوال.
كما تتعلم نطاق المتغيرات (Scope)، وتمرير المعاملات، واستخدام Import وExport لتنظيم الشيفرة.
2. إعداد بيئة التطوير
تتعلم تجهيز مشروع JavaScript باستخدام Node.js وNPM وVite، وفهم دور هذه الأدوات في إدارة الحزم وتشغيل المشاريع.
3. التعرف على مكتبة Kaplay
تتعلم تثبيت المكتبة وتهيئة مشروع لعبة، والاستفادة من مكوناتها لتبسيط تطوير الألعاب ثنائية الأبعاد.
4. المشاهد وعناصر اللعبة
تتعرف على Scenes وGame Objects، وكيفية تنظيم العناصر والعلاقات بينها داخل اللعبة.
5. الرسوم والحركة
تتعلم استخدام Sprites والمكونات الرسومية والنصوص، وإضافة الحركات والانتقالات باستخدام دالة tween().
6. التفاعل والتصادمات
تتعلم التعامل مع مدخلات المستخدم، مثل لوحة المفاتيح، وتنفيذ آليات اكتشاف التصادم (Collision Detection) بين عناصر اللعبة.
7. تصميم خرائط الألعاب
تتعرف على المبادئ الأساسية لإنشاء خرائط الألعاب وتنظيم عناصر البيئة التي يتحرك فيها اللاعب.
8. الذكاء الاصطناعي البسيط للألعاب
تستكشف استخدام آلات الحالات (State Machines) لبناء سلوكيات مختلفة لعناصر اللعبة، مع التعرف على الأحداث المخصصة (Custom Events).
9. نشر اللعبة على الإنترنت
تتعلم كيفية تجهيز اللعبة ونشرها على منصة مثل itch io، لتصبح متاحة للآخرين عبر الإنترنت.
لمن تناسب هذه الدورة؟
تناسب المبتدئين في البرمجة، وطلاب علوم الحاسوب، ومطوري JavaScript، والمهتمين بتصميم الألعاب الإلكترونية وبناء مشاريع تفاعلية.
الدرس الأهم أن تطوير الألعاب ليس مجرد رسم شخصيات وتحريكها، بل تطبيق عملي لمفاهيم البرمجة مثل الدوال والأحداث وإدارة الحالات والتصادمات. ومن خلال بناء لعبة متكاملة، يمكنك تحويل المفاهيم النظرية إلى مهارات عملية قابلة للتطوير.
#تطوير_الألعاب #جافاسكريبت #تعلم_البرمجة
freecodecamp.org/news/learn-…
تحدي البرمجة اليومي: انتشار العدوى بين الحواسيب — Infected
الهدف من التحدي
بمناسبة ذكرى ظهور دودة موريس (Morris Worm) في 2 نوفمبر 1988، إحدى أولى الهجمات البرمجية واسعة الانتشار عبر الإنترنت، يأتي تحدي اليوم لمحاكاة انتشار عدوى برمجية بين الحواسيب.
المطلوب كتابة دالة تستقبل عدد الأيام التي مرت منذ انتشار الدودة، ثم تحسب عدد الحواسيب المصابة وفق قواعد تحدد كيفية تضاعف العدوى وتأثير التحديثات الأمنية في انتشارها.
نقاط تساعدك على الحل:
تستقبل الدالة عددًا يمثل الأيام المنقضية منذ بداية انتشار الدودة البرمجية.
في اليوم 0، يكون هناك حاسوب واحد مصاب فقط.
في كل يوم لاحق، يتضاعف عدد الحواسيب المصابة مقارنة باليوم السابق.
في كل يوم ثالث، يُطبَّق تحديث أمني (Patch) يؤثر في انتشار العدوى، لكن الجزء الظاهر من التحدي لا يوضح تأثيره الحسابي.
فكّر في استخدام حلقة تكرار (Loop) لمحاكاة التغير في عدد الحواسيب المصابة يومًا بعد يوم.
يمكنك استخدام باقي القسمة (Modulo) لتحديد الأيام التي تقبل القسمة على 3، والتي يُطبَّق فيها التحديث الأمني.
انتبه إلى أن العد يبدأ من اليوم 0، وليس اليوم 1، وهو ما يؤثر في حساب عدد مرات التضاعف.
لا تفترض أن التحديث الأمني يزيل جميع الإصابات أو يخفضها بنسبة معينة؛ يجب الرجوع إلى التعليمات الكاملة لمعرفة تأثيره.
حاول الفصل بين منطق تضاعف الإصابات ومنطق تطبيق التحديثات الأمنية، لتسهيل اختبار الحسابات والتحقق من النتائج.
مثال توضيحي:
قبل الوصول إلى أول يوم يُطبَّق فيه التحديث الأمني، يتطور عدد الحواسيب المصابة كما يلي:
اليوم 0: حاسوب واحد.
اليوم 1: حاسوبان.
اليوم 2: أربعة حواسيب.
أما اليوم 3، فيجب تطبيق قاعدة التحديث الأمني الموضحة في النسخة الكاملة من التحدي قبل تحديد النتيجة المطلوبة.
حان وقت التطبيق!
جرّب حل التحدي بنفسك باستخدام Python أو JavaScript، وحاول بناء محاكاة زمنية واضحة تتابع عدد الإصابات في كل يوم. اختبر الأيام الأولى، ثم تأكد من تطبيق قاعدة التحديث الأمني في التوقيت الصحيح وفق تعليمات التحدي الكاملة.
حمّل تطبيق freeCodeCamp Mobile لممارسة تحديات البرمجة اليومية وتطوير مهاراتك من خلال حل مسائل برمجية قصيرة كل يوم.
باختصار:
حاكِ تضاعف عدد الحواسيب المصابة عبر الأيام مع مراعاة التحديثات الأمنية.
أعِد عدد الحواسيب المصابة بعد المدة المحددة وفق قواعد التحدي.
#Python #JavaScript
كيف يمكنك تصميم بنية سحابية متقدمة تتحمل ملايين الطلبات، وتحقق التوازن بين الأداء والأمان والتكلفة؟ وما المهارات المطلوبة لتصبح مهندس حلول سحابية محترفًا على AWS؟
تُعد شهادة AWS Certified Solutions Architect – Professional (SAP-C02) من الشهادات المتقدمة في مجال الحوسبة السحابية، وتركز على تصميم الأنظمة المعقدة، وتحسين البنية التحتية، واختيار الحلول المناسبة لمتطلبات المؤسسات.
نشرت منصة freeCodeCamp دورة مجانية شاملة بعنوان:
AWS Solutions Architect Professional (SAP-C02) Certification Course
الدورة من إعداد Andrew Brown من منصة ExamPro، وتمتد إلى نحو 70 ساعة تعليمية، وتغطي خدمات AWS وممارسات التصميم المعماري استعدادًا لاختبار الشهادة الاحترافية.
ماذا ستتعلم في هذه الدورة؟
1. تصميم البنية السحابية (Cloud Architecture)
تصميم أنظمة قابلة للتوسع وعالية التوافر، وربط المتطلبات التقنية بأهداف الأعمال، وتحسين الأداء والتكلفة والموثوقية.
2. خدمات الحوسبة (Compute)
التعرف على EC2 وLambda وECS وEKS وLightsail وApp Runner، واختيار أساليب تشغيل التطبيقات والحاويات والوظائف عديمة الخوادم.
3. التخزين السحابي (Storage)
دراسة S3 وEBS وEFS وFSx وStorage Gateway، وفهم الخيارات المناسبة لتخزين الملفات والبيانات والنسخ الاحتياطية.
4. الشبكات والاتصال (Networking)
فهم VPC وRoute 53 وGlobal Accelerator، وتصميم الشبكات الهجينة باستخدام VPN وAWS Direct Connect.
5. قواعد البيانات (Databases)
استكشاف RDS وAurora وDynamoDB وNeptune وDocumentDB، وتحديد قواعد البيانات الملائمة لمختلف أنماط التطبيقات.
6. الأمان والامتثال (Security)
استخدام Secrets Manager وSecurity Hub وCertificate Manager وCognito، وتطبيق ممارسات حماية الأنظمة وإدارة الهوية.
7. ترحيل الأنظمة والبيانات (Migration)
التعرف على AWS DMS وDataSync وMigration Hub لنقل التطبيقات والبيانات إلى البيئات السحابية.
8. التكامل ومعالجة البيانات
دراسة API Gateway وSQS وSNS وCloudFront، إلى جانب Athena وKinesis وGlue وOpenSearch لبناء حلول متكاملة لمعالجة البيانات.
9. الأتمتة وإدارة البنية التحتية
استخدام CloudFormation وAuto Scaling وCompute Optimizer، وفهم ممارسات CI/CD لإدارة الأنظمة السحابية وتطويرها.
10. الاستعداد لاختبار SAP-C02
التعرف على المجالات التي يغطيها الاختبار، والتدرب على التفكير المعماري من خلال سيناريوهات واقعية وأسئلة الاختيار المتعدد والإجابات المتعددة.
لمن تناسب هذه الدورة؟
تستهدف مهندسي السحابة، ومهندسي DevOps، ومهندسي الحلول، والمطورين ذوي الخبرة في AWS.
وتوصي AWS بامتلاك خبرة عملية لا تقل عن سنتين في تصميم الحلول السحابية وتنفيذها قبل التقدم للشهادة الاحترافية.
الدرس الأهم أن هندسة الحلول السحابية لا تعني معرفة أسماء خدمات AWS فقط، بل القدرة على اتخاذ قرارات معمارية مدروسة تحقق الأمان وقابلية التوسع والموثوقية وكفاءة التكلفة وفق احتياجات كل نظام.
#الحوسبة_السحابية #هندسة_البرمجيات #الشهادات_الاحترافية
freecodecamp.org/news/aws-so…
هل ترغب في تطوير تطبيقات للهواتف الذكية تعمل على Android وiOS باستخدام JavaScript؟ وكيف يمكنك الانتقال من تطوير مواقع الويب باستخدام React إلى بناء تطبيقات جوال متكاملة؟
يُعد React Native من أشهر أطر العمل لتطوير تطبيقات الهواتف متعددة المنصات (Cross-Platform)، إذ يتيح للمطورين استخدام JavaScript ومفاهيم React لبناء تطبيقات تستفيد من مكونات الواجهات الأصلية للهواتف.
نشرت منصة freeCodeCamp دورة مجانية بعنوان:
Mobile App Development with React Native
الدورة من إعداد Dave Gray، ومدتها أكثر من 4 ساعات، وتقدم مسارًا عمليًا للمبتدئين يبدأ من إعداد بيئة التطوير وينتقل إلى بناء التطبيقات وإدارة البيانات والتنقل بين الشاشات.
ماذا ستتعلم في هذه الدورة؟
1. أساسيات React Native
التعرف على بنية تطبيقات React Native، وإعداد بيئة التطوير، وفهم المكونات الأساسية المستخدمة في إنشاء واجهات الهواتف.
2. بناء أول تطبيق
إنشاء تطبيق عملي باستخدام Components، وتنظيم الشيفرة البرمجية، وتنسيق الواجهات لتقديم تجربة استخدام مناسبة.
3. التنقل بين الشاشات (Navigation)
استخدام React Navigation لإنشاء تطبيقات متعددة الشاشات، وإدارة الانتقال بينها بطريقة منظمة.
4. عرض القوائم (List Views)
تعلم عرض مجموعات البيانات داخل قوائم تفاعلية، والتعامل مع العناصر المتكررة في واجهات التطبيقات.
5. بناء تطبيق CRUD
تطوير تطبيق يدعم العمليات الأساسية لإدارة البيانات:
Create: إضافة البيانات.
Read: عرض البيانات.
Update: تعديل البيانات.
Delete: حذف البيانات.
مع التعرف على إدارة الحالة (State Management) والتعامل مع مدخلات المستخدم.
6. تخزين البيانات محليًا (Data Storage)
تعلم حفظ البيانات واسترجاعها داخل التطبيق، وهو أمر مهم للاحتفاظ بتفضيلات المستخدم ودعم بعض الوظائف دون اتصال بالإنترنت.
7. المسارات الديناميكية (Dynamic Routing)
إنشاء مسارات تتغير وفقًا للبيانات أو حالة التطبيق، بما يسمح ببناء واجهات أكثر مرونة.
8. بناء التطبيقات باستخدام Expo EAS
التعرف على Expo Application Services وميزة EAS Development Builds، ودورها في إعداد نسخ تطويرية من تطبيقات React Native.
لمن تناسب هذه الدورة؟
تناسب المبتدئين في تطوير تطبيقات الهواتف، ومطوري JavaScript وReact الراغبين في توسيع مهاراتهم، والطلاب الذين يريدون تنفيذ مشاريع عملية لتطبيقات Android وiOS.
الدرس الأهم أن الانتقال من تطوير الويب إلى تطبيقات الهواتف لا يتطلب دائمًا البدء من الصفر. فمن خلال React Native يمكنك الاستفادة من خبرتك في JavaScript وReact لبناء تطبيقات متعددة المنصات، مع تعلم المفاهيم الخاصة بواجهات الهواتف وإدارة البيانات والتنقل بينها.
#تطوير_تطبيقات_الجوال #تعلم_البرمجة #جافاسكريبت
freecodecamp.org/news/mobile…



