
نحن مجتمع يضم ملايين الأشخاص الذين ينمون مهارات جديدة ويحصلون على وظائف جديدة في نفس الوقت. المنظمة غير ربحية 501(c)(3). التغريدات بواسطة @programmingoce
Joined February 2021
- Tweets3.4K
- Following3
- Followers4.2K
- Likes367
Pinned Tweet
إطلاق النسخة العربية من freeCodeCamp!
freecodecamp.org/arabic/
اليوم نفتح بابًا جديدًا أمام كل من يريد تعلّم البرمجة وتطوير مهاراته التقنية باللغة العربية.
أطلقنا الصفحة العربية لـ freeCodeCamp لتكون نقطة انطلاق تجمع لك أهم ما تحتاجه لتبدأ وتستمر:
• مسارات تعليمية متكاملة في البرمجة وتطوير الويب
• تحديات برمجية يومية لبناء مهاراتك بالممارسة
• شهادات مجانية تساعدك على توثيق ما تعلمته
• تعلّم الإنجليزية المهنية للمطورين
• اللغة الإسبانية المهنية للمطورين
• مشاريع عملية تساعدك على بناء خبرتك
• موارد للتحضير لمقابلات البرمجة
• دورات ومصادر إضافية من مجتمع freeCodeCamp
والأهم…
كل هذا مجانًا.
الفكرة ليست أن نقدم لك قائمة طويلة من الدورات، بل أن نساعدك على بناء مسار واضح:
تعلّم → طبّق → ابنِ مشاريع → احصل على شهادات → استعد لسوق العمل.
إذا كنت تفكر منذ فترة في دخول عالم البرمجة، فهذه فرصتك لتبدأ.
وإذا كنت مبرمجًا بالفعل، فقد تجد فيها موارد تساعدك على تطوير مهاراتك أو توجيه شخص يريد دخول هذا المجال.
ابدأ من هنا:
freeCodeCamp بالعربية
freecodecamp.org/arabic/
شارك الإعلان مع شخص يقول لك دائمًا:
«أريد أن أتعلم البرمجة، لكن لا أعرف من أين أبدأ.»
ربما يكون هذا هو المكان الذي يبدأ منه.
#البرمجة #الذكاء_الاصطناعي
هل ترغب في تعلم الذكاء الاصطناعي التوليدي (Generative AI) من الصفر؟ وكيف يمكنك الانتقال من أساسيات Python إلى بناء تطبيقات ذكية تستخدم النماذج اللغوية الكبيرة والوكلاء الذكيين والأنظمة متعددة الوسائط؟
لم يعد الذكاء الاصطناعي التوليدي مقتصرًا على المحادثات النصية، بل أصبح يُستخدم في تطوير التطبيقات التعليمية، وتوليد المحتوى، وأتمتة المهام، ومعالجة الصوت والصور، وبناء أنظمة برمجية متكاملة.
نشر موقع freeCodeCamp معسكرًا تدريبيًا مجانيًا بعنوان:
Free GenAI 65-Hour Bootcamp
المعسكر من إعداد Andrew Brown من منصة Exam Pro، بمشاركة أكثر من 30 مدربًا وضيفًا متخصصًا، ويمتد إلى 65 ساعة تعليمية تجمع بين المفاهيم النظرية والمشاريع العملية.
صُمم البرنامج للمبتدئين وأصحاب الخبرة البرمجية الأساسية، مع التدرج نحو تطوير تطبيقات ذكاء اصطناعي متكاملة.
ماذا ستتعلم في هذا المعسكر؟
1. أساسيات Python وأدوات التطوير
تتعلم استخدام Python وJupyter Notebooks ومكتبات معالجة البيانات، بوصفها أدوات أساسية لتطوير تطبيقات الذكاء الاصطناعي.
2. فهم النماذج اللغوية الكبيرة (LLMs)
تتعرف على المفاهيم الأساسية للنماذج مثل GPT وClaude وGemini، وكيفية دمج قدراتها في التطبيقات البرمجية.
3. هندسة الأوامر (Prompt Engineering)
تدرس كيفية تصميم التعليمات الموجهة للنماذج لتحسين الاستجابات وتنظيم المخرجات بما يتناسب مع متطلبات التطبيق.
4. تخصيص النماذج (Fine-Tuning)
تتعرف على مفاهيم الضبط الدقيق للنماذج وكيفية تكييفها مع مهام واستخدامات محددة.
5. بناء الوكلاء الذكيين (AI Agents)
تتعلم تصميم وكلاء قادرين على تنفيذ مسارات عمل متعددة الخطوات، وإنتاج مخرجات منظمة، والمساعدة في أتمتة المهام.
6. تطوير تطبيقات متكاملة
تطبق بناء واجهات Backend APIs وتصميم الواجهات الأمامية، والتعامل مع مخرجات JSON المنظمة ومعماريات Microservices.
7. معالجة الصوت والنماذج متعددة الوسائط
تتعرف على استخدام WhisperX للتفريغ الصوتي على مستوى الكلمات، وتوظيف النماذج متعددة الوسائط في تطبيقات تفاعلية.
8. الخدمات السحابية وتكامل النماذج
تستكشف استخدام DeepSeek في مهام لغوية عبر AWS Lambda، وكيفية دمج خدمات الذكاء الاصطناعي في التطبيقات.
9. بناء مشاريع تعليمية عملية
تطور مجموعة تطبيقات موجهة لمدرسة لتعليم اللغة اليابانية، تشمل توليد تمارين الاستماع، وأتمتة تعليم المفردات، وبناء تجربة رواية بصرية تفاعلية باستخدام الذكاء الاصطناعي متعدد الوسائط.
10. التعلم من الخبراء وتجارب الصناعة
يتضمن المعسكر جلسات نقاش ومحاضرات ضيوف حول أمن الذكاء الاصطناعي، والتطبيقات العملية، والتطوير المسؤول، وتجارب نشر الحلول في المؤسسات.
لمن يناسب هذا المعسكر؟
يناسب طلاب علوم الحاسوب، ومطوري Python، والمعلمين، والمهتمين بالذكاء الاصطناعي، وكل من يريد بناء مشاريع عملية أو الانتقال إلى مجال تطوير تطبيقات GenAI.
الدرس الأهم أن تعلم الذكاء الاصطناعي التوليدي لا يقتصر على استخدام النماذج الجاهزة، بل يتطلب فهم كيفية دمجها مع البيانات والواجهات البرمجية والوكلاء الذكيين والبنية السحابية. ويقدم هذا المعسكر مسارًا يجمع بين المعرفة الأساسية والتطبيق العملي، بهدف تحويل الأفكار إلى تطبيقات ذكاء اصطناعي قابلة للتطوير والنشر.
#الذكاء_الاصطناعي #GenerativeAI #Python
freecodecamp.org/news/free-g…
هل تستعد لمقابلة عمل في مجال تطوير تطبيقات iOS؟ وهل تستطيع شرح الفرق بين Struct وClass في Swift، أو توضيح كيفية إدارة الذاكرة وتنفيذ العمليات المتزامنة داخل التطبيقات؟
لا تقتصر مقابلات مطوري iOS على معرفة كتابة الشيفرة البرمجية، بل تختبر أيضًا فهم المرشح لبنية التطبيقات ودورة حياة مكوناتها وإدارة الذاكرة ومفاهيم البرمجة المتقدمة.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
Prepare for your iOS Interview
الدورة من تقديم Richard Topchii، ويشارك فيها Daniel بدور المحاور، ومدتها ساعة واحدة.
تأتي الدورة بأسلوب مقابلة عمل تجريبية (Mock Interview)، وتتناول عشرة أسئلة شائعة في مقابلات تطوير تطبيقات iOS، مع إجابات توضيحية وأمثلة برمجية باستخدام Swift.
ماذا ستتعلم في هذه الدورة؟
1. دورة حياة View Controller
تتعرف على المراحل التي يمر بها View Controller داخل تطبيق iOS، وكيفية التعامل مع الأحداث المرتبطة بظهور الواجهة واختفائها.
2. الفرق بين Struct وClass
تدرس الفروق الأساسية بين أنواع القيم (Value Types) والأنواع المرجعية (Reference Types)، وتأثير ذلك على التعامل مع البيانات والذاكرة في Swift.
3. الفرق بين Frame وBounds
تتعرف على كيفية تحديد أبعاد عناصر UIView ومواقعها، والفرق بين الإحداثيات المرتبطة بالعنصر وإحداثياته داخل نظامه المحلي.
4. البرمجة المعتمدة على البروتوكولات
تتعلم مفهوم Protocol-Oriented Programming، وكيف تساعد البروتوكولات على تعريف السلوكيات المشتركة وتنظيم الشيفرة.
5. معمارية MVC
تراجع مفهوم Model-View-Controller، وكيفية توزيع المسؤوليات بين البيانات والواجهة ومنطق التحكم في تطبيقات iOS.
6. إدارة الذاكرة في Swift
تتعرف على استخدام الكلمات المفتاحية weak وunowned، وعلاقتهما بإدارة المراجع وتجنب مشكلات الاحتفاظ الدائري (Retain Cycles).
7. فهم Lazy وEscaping Closures
تدرس استخدام lazy لتأجيل تهيئة الخصائص، ومعنى @escaping عند التعامل مع Closures التي قد تُنفذ بعد انتهاء الدالة.
8. استخدام Defer
تتعرف على دور العبارة defer في تنفيذ عمليات التنظيف أو إنهاء الإجراءات عند مغادرة نطاق التنفيذ.
9. البرمجة المتزامنة باستخدام GCD
تراجع مفاهيم Grand Central Dispatch وDispatchQueue، وكيفية تنظيم تنفيذ المهام باستخدام قوائم الانتظار.
10. التدرب على أسلوب المقابلات التقنية
تشاهد كيفية طرح الأسئلة والإجابة عنها، مع أمثلة برمجية وملاحظات ختامية تساعدك على تقييم فهمك وتحديد الموضوعات التي تحتاج إلى مراجعة.
لمن تناسب هذه الدورة؟
تناسب مطوري Swift وiOS، وطلاب علوم الحاسوب، والمبتدئين الذين يستعدون لمقابلاتهم الأولى، والمطورين الذين يريدون مراجعة المفاهيم الأساسية والمتقدمة قبل مقابلة تقنية.
الدرس الأهم أن النجاح في المقابلات التقنية لا يعتمد على حفظ الإجابات، بل على فهم المفاهيم والقدرة على تفسيرها وتطبيقها برمجيًا. ومراجعة دورة حياة الواجهات وإدارة الذاكرة ومعماريات التطبيقات والبرمجة المتزامنة تساعدك على تقديم إجابات أكثر دقة وثقة أثناء مقابلات تطوير iOS.
#تطوير_التطبيقات #Swift #iOSDevelopment
freecodecamp.org/news/prepar…
هل ترغب في تعلم تطوير تطبيقات Android من الصفر باستخدام Kotlin؟ وكيف يمكنك الانتقال من أساسيات البرمجة إلى بناء تطبيقات متكاملة تتعامل مع قواعد البيانات وواجهات API والخرائط والمواقع الجغرافية؟
تُعد Kotlin من اللغات الأساسية لتطوير تطبيقات Android الحديثة، وتتميز بصياغتها المختصرة ودعمها للبرمجة الكائنية والعمليات غير المتزامنة.
نشر موقع freeCodeCamp دورة مجانية شاملة بعنوان:
Master Kotlin & Android 60-Hour Course
الدورة من إعداد Alexandru Cristian، ومدتها 60 ساعة، وتجمع بين تعلم لغة Kotlin وتطوير تطبيقات Android من خلال الشرح النظري والمشاريع العملية.
ماذا ستتعلم في هذه الدورة؟
1. أساسيات لغة Kotlin
تتعلم المتغيرات وأنواع البيانات والمعاملات والشروط والحلقات التكرارية، بالإضافة إلى مفهوم Null Safety للتعامل الآمن مع القيم الفارغة.
2. البرمجة الكائنية (OOP)
تدرس Classes وInheritance وInterfaces وAbstract Classes وData Classes، وكيفية تنظيم الشيفرة باستخدام مبادئ البرمجة الكائنية.
3. المفاهيم المتقدمة في Kotlin
تتعرف على Collections وGenerics وLambda Functions، وتستخدم Kotlin Coroutines لتنفيذ العمليات غير المتزامنة بكفاءة.
4. تطوير واجهات Android
تتعلم استخدام Android Studio وتصميم الواجهات باستخدام XML، والتعامل مع LinearLayout وRelativeLayout وConstraintLayout وعناصر واجهة المستخدم.
5. إدارة الشاشات والتنقل
تدرس Activities وFragments ودورات حياتها، وتتعلم الانتقال بين الشاشات باستخدام Intents وNavigation Component.
6. بناء واجهات ديناميكية
تستخدم RecyclerView لعرض القوائم، وتتعرف على مبادئ Material Design، مع مقدمة إلى Jetpack Compose لتطوير الواجهات الحديثة.
7. قواعد البيانات وتخزين المعلومات
تتعلم أساسيات SQL، واستخدام Room Database لتخزين البيانات محليًا، والتعامل مع Firebase Firestore لتخزين البيانات سحابيًا.
8. الاتصال بالخدمات الخارجية
تستخدم Retrofit لإرسال طلبات الشبكة والتعامل مع REST APIs، وتتعلم معالجة بيانات JSON داخل تطبيقات Android.
9. هندسة تطبيقات Android
تتعرف على معمارية MVVM ومكونات LiveData لتنظيم منطق التطبيق وفصل المسؤوليات، مع التطرق إلى مفاهيم حقن الاعتماديات.
10. بناء مشاريع عملية متكاملة
تطبق المفاهيم من خلال عدة تطبيقات، وصولًا إلى مشروع نهائي يحاكي تطبيق Uber، ويتضمن ميزات مثل:
دمج الخرائط داخل التطبيق.
تسجيل المستخدمين والمصادقة.
تتبع الموقع الجغرافي في الوقت الفعلي.
ربط مكونات التطبيق وخدماته المختلفة.
لمن تناسب هذه الدورة؟
تناسب المبتدئين في البرمجة، وطلاب علوم الحاسوب، ومطوري التطبيقات الراغبين في تعلم Kotlin، وكل من يريد تطوير مهاراته في بناء تطبيقات Android.
الدرس الأهم أن احتراف تطوير تطبيقات Android لا يعتمد على تعلم لغة Kotlin وحدها، بل يتطلب فهم تصميم الواجهات وإدارة دورة حياة التطبيق والتعامل مع البيانات والشبكات وهندسة البرمجيات. وتوفر هذه الدورة مسارًا عمليًا يجمع تلك المهارات، بدءًا من الأساسيات وحتى بناء تطبيق متعدد المكونات يحاكي أنظمة مستخدمة في الواقع.
freecodecamp.org/news/master…
#Kotlin #AndroidDevelopment #تطوير_التطبيقات
كيف يمكنك بناء نظام تسجيل دخول آمن دون استخدام كلمات المرور؟ وكيف تستطيع الاستفادة من بصمة الإصبع أو التعرف على الوجه أو رمز PIN لتسجيل الدخول إلى تطبيقات الويب باستخدام Passkeys؟
تعتمد كثير من التطبيقات على كلمات المرور، رغم ما يصاحبها من تحديات أمنية، مثل التصيد الاحتيالي وإعادة استخدام كلمات المرور وتسريب بيانات الاعتماد.
تقدم تقنية Passkeys بديلًا يعتمد على التشفير بالمفتاح العام، حيث يستخدم جهاز المستخدم مفتاحًا خاصًا لتوقيع تحدٍّ أمني، بينما يتحقق الخادم من التوقيع باستخدام المفتاح العام، دون الحاجة إلى مشاركة المفتاح الخاص.
نشر موقع freeCodeCamp مقالًا تقنيًا بعنوان:
How to Build Passkey Authentication with WebAuthn, Next.js and NestJS
المقال من إعداد Roland Mweze، ويشرح بناء تطبيق متكامل للمصادقة دون كلمات مرور باستخدام Next.js وNestJS وPostgreSQL ومكتبة SimpleWebAuthn.
ماذا ستتعلم من هذا المقال؟
1. فهم مشكلات المصادقة التقليدية
تتعرف على مخاطر كلمات المرور، ولماذا تتطلب أنظمة المصادقة التقليدية إجراءات مثل التجزئة (Hashing) وتقييد محاولات الدخول واستعادة الحساب.
2. فهم Passkeys وWebAuthn
تدرس آلية المصادقة باستخدام مفاتيح التشفير، وكيفية تسجيل بيانات الاعتماد والتحقق منها باستخدام تحديات أمنية (Challenges).
3. إعداد الخادم باستخدام NestJS
تبني واجهة API مسؤولة عن إدارة المستخدمين وعمليات تسجيل مفاتيح المرور والمصادقة.
4. إنشاء قاعدة بيانات PostgreSQL
تتعلم إعداد الاتصال بقاعدة البيانات وتعريف الكيانات اللازمة لتخزين المستخدمين وبيانات اعتماد Passkeys.
5. تسجيل Passkey جديدة
تنفذ عملية إنشاء خيارات التسجيل على الخادم، ثم التحقق من استجابة WebAuthn قبل حفظ بيانات الاعتماد.
6. تنفيذ تسجيل الدخول دون كلمة مرور
تتعلم إنشاء تحدي المصادقة والتحقق من الاستجابة والتوقيع على الخادم باستخدام SimpleWebAuthn.
7. حماية المسارات باستخدام JWT
تتعرف على إصدار رموز المصادقة واستخدامها لحماية نقاط النهاية التي تتطلب تسجيل الدخول.
8. بناء الواجهة باستخدام Next.js
تنشئ صفحات التسجيل وتسجيل الدخول باستخدام البريد الإلكتروني وPasskeys، مع عرض رسائل أخطاء واضحة للمستخدم.
9. اختبار التطبيق ومعالجة الأخطاء الأمنية
يتناول المقال أخطاء مهمة ينبغي تجنبها، منها:
ترميز Credential ID مرتين.
التعامل غير الصحيح مع حذف التحديات الأمنية.
استخدام بيانات اعتماد دون التحقق من مالكها.
السماح بإضافة Passkeys إلى حسابات موجودة دون تحقق مناسب.
طلب التحقق من المستخدم دون فرضه فعليًا.
كما يوفر المقال الشيفرة المصدرية الكاملة للمشروع عبر GitHub.
لمن يناسب هذا المقال؟
يناسب مطوري Full Stack، ومهندسي Backend، ومطوري TypeScript، والمهتمين بأمن تطبيقات الويب وأنظمة الهوية والمصادقة.
الدرس الأهم أن بناء نظام مصادقة آمن لا يقتصر على استبدال كلمة المرور ببصمة الإصبع، بل يتطلب فهم التشفير والتحقق من التحديات وربط بيانات الاعتماد بالمستخدم الصحيح وحماية عمليات التسجيل والدخول. وتوفر WebAuthn وPasskeys أساسًا قويًا لتطوير تجربة مصادقة أكثر مقاومة للتصيد الاحتيالي، بشرط تنفيذ الضوابط الأمنية بصورة صحيحة.
#أمن_المعلومات #WebAuthn #تطوير_الويب
freecodecamp.org/news/how-to…
هل أصبحت أدوات الذكاء الاصطناعي مثل GitHub Copilot ضرورة لكل مبرمج؟ أم أن الاعتماد المفرط عليها قد يؤثر في قدرتنا على التفكير وحل المشكلات بأنفسنا؟
وماذا لو كان مستقبل الذكاء الاصطناعي في البرمجة مختلفًا عن التوقعات السائدة، وربما يؤدي إلى خلق فرص عمل جديدة بدلًا من الاكتفاء باستبدال المطورين؟
في الحلقة 124 من بودكاست freeCodeCamp، يستضيف Quincy Larson المهندس البرمجي وصانع المحتوى المعروف باسم ThePrimeagen، الذي عمل سابقًا في Netflix قبل أن يتفرغ للبث المباشر وصناعة المحتوى البرمجي.
عنوان الحلقة:
AI is Overrated – Why ThePrimeagen Ripped Out GitHub Copilot From His Code Editor
تتناول الحلقة تجربة مهنية وشخصية غير تقليدية، إلى جانب نقاش حول مستقبل البرمجة والذكاء الاصطناعي وأهمية المهارات الأساسية للمطورين.
أبرز الموضوعات التي تناقشها الحلقة:
1. من الإحباط الدراسي إلى العمل في Netflix
يروي ThePrimeagen رحلته من مرحلة أخبره فيها أحد معلميه بأنه لن يحقق شيئًا مهمًا في حياته، وصولًا إلى العمل مهندسًا برمجيًا في شركة Netflix.
2. كيف تساعد التحديات على تطوير المهارات؟
يتحدث عن شغفه بألعاب الفيديو الصعبة، المعروفة بتعبير Nintendo Hard، وكيف ساعده حب التحدي والمثابرة على تحسين مهاراته البرمجية.
3. تجربة البرمجة أمام آلاف المشاهدين
يناقش طبيعة البث المباشر أثناء كتابة الشيفرة، والتحديات المصاحبة للبرمجة أمام أكثر من ألف مشاهد لساعات طويلة أسبوعيًا.
4. الانتقال من الوظيفة إلى صناعة المحتوى
يتناول قراره مغادرة Netflix للتفرغ للبث المباشر، وانتقاله مع أسرته المكونة من ستة أفراد من سان فرانسيسكو إلى مزرعة خيول في ولاية داكوتا الجنوبية.
5. لماذا يرى أن الذكاء الاصطناعي مبالغ في تقدير قدراته؟
يناقش وجهة نظره النقدية تجاه أدوات البرمجة المدعومة بالذكاء الاصطناعي، ومنها GitHub Copilot، والفرق بين فائدتها العملية والتوقعات المرتفعة المحيطة بها.
6. هل سيقضي الذكاء الاصطناعي على وظائف المبرمجين؟
يطرح ThePrimeagen رأيًا مفاده أن الذكاء الاصطناعي قد يخلق وظائف للمطورين أكثر مما يلغي، وهو تصور قابل للنقاش وليس نتيجة مؤكدة.
7. هل سيستمر تطور الذكاء الاصطناعي بالوتيرة نفسها؟
يناقش الضيف والمضيف احتمالات استمرار التحسن السريع في قدرات النماذج، أو وصول هذا التطور إلى مرحلة من التباطؤ.
8. أهمية العودة إلى أساسيات البرمجة
يؤكد النقاش أهمية تطوير مهارات حل المشكلات وفهم علوم الحاسوب والبرمجة، بدلًا من البحث المستمر عن اختصارات توفر الوقت دون بناء معرفة حقيقية.
لمن تناسب هذه الحلقة؟
تناسب مطوري البرمجيات، وطلاب علوم الحاسوب، ومستخدمي أدوات البرمجة بالذكاء الاصطناعي، وكل من يهتم بمستقبل مهنة البرمجة وتطورها.
الدرس الأهم أن أدوات الذكاء الاصطناعي قد تساعد المطور على إنجاز بعض المهام بسرعة أكبر، لكنها لا تغني عن الفهم العميق والتفكير النقدي والقدرة على حل المشكلات. وتقدم هذه الحلقة وجهة نظر تستحق المناقشة حول كيفية الاستفادة من التقنيات الجديدة دون إهمال المهارات التي تجعل المبرمج قادرًا على التعلم والتكيف والاستقلال في عمله.
#الذكاء_الاصطناعي #البرمجة #GitHubCopilot
freecodecamp.org/news/ai-is-…
هل ترغب في تسريع تطوير تطبيقات الويب وتقليل الوقت الذي تقضيه في إعداد أدوات البناء؟ وكيف يمكنك إنشاء مشروع React باستخدام Vite والاستفادة من التحديثات الفورية أثناء البرمجة؟
مع تزايد تعقيد تطبيقات الويب، أصبحت سرعة بيئة التطوير وسهولة إعداد المشاريع من العوامل المهمة في إنتاجية المطورين.
تأتي أداة Vite لتقدم تجربة تطوير سريعة ومرنة، مع دعم أطر العمل الحديثة مثل React وVue، وإمكانية استخدام TypeScript وإعداد التطبيقات للنشر.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
Learn Vite for a Better Web Development Workflow
مدة الدورة ساعة واحدة، وهي موجهة للمبتدئين الذين يريدون فهم Vite واستخدامها عمليًا، بدءًا من إنشاء المشروع وحتى تجهيزه لبيئة الإنتاج.
ماذا ستتعلم في هذه الدورة؟
1. التعرف على Vite
تتعرف على مفهوم Vite، ولماذا طُورت بوصفها أداة حديثة لتطوير وبناء تطبيقات الواجهات الأمامية، وكيف تختلف عن أدوات تقليدية مثل Webpack.
2. إنشاء مشروع React باستخدام Vite
تتعلم إعداد مشروع React جديد خلال دقائق، وفهم الملفات الأساسية وتشغيل خادم التطوير المحلي.
3. فهم Hot Module Replacement
تتعرف على تقنية HMR التي تسمح بتحديث أجزاء من التطبيق أثناء التطوير دون الحاجة إلى إعادة تحميل الصفحة بالكامل في كثير من الحالات.
4. استخدام TypeScript
تتعلم إعداد مشروع يدعم TypeScript، وكيفية دمج نظام الأنواع في سير عمل تطوير تطبيقات الويب.
5. إدارة الملفات الثابتة (Static Assets)
تتعرف على كيفية التعامل مع الصور والخطوط والملفات الثابتة داخل مشاريع Vite وتنظيم استخدامها.
6. التعامل مع متغيرات البيئة
تتعلم استخدام Environment Variables لإدارة إعدادات التطبيق التي تختلف بين بيئات التطوير والإنتاج.
7. تخصيص إعدادات Vite
تتعرف على ملف الإعدادات وخيارات التخصيص، وكيفية توسيع إمكانات الأداة باستخدام Plugins.
8. تجهيز التطبيق للإنتاج
تتعلم تنفيذ عملية Production Build، وإنشاء الملفات المحسنة التي يمكن نشرها على خدمات الاستضافة.
9. لماذا تتميز Vite بالسرعة؟
تدرس التقنيات التي تعتمد عليها الأداة، ومنها:
Native ES Modules لتقديم ملفات المشروع أثناء التطوير.
Dependency Pre-Bundling لتحسين التعامل مع الاعتماديات.
Intelligent Caching لتقليل العمليات المتكررة.
Hot Module Replacement لتسريع معاينة التعديلات.
كما تتعرف على الفروق بين Vite وWebpack من حيث آلية العمل وتجربة المطور.
لمن تناسب هذه الدورة؟
تناسب مطوري JavaScript وReact، والمبتدئين في تطوير الواجهات الأمامية، وكل من يريد تحسين سير عمله وتقليل تعقيد إعداد المشاريع.
الدرس الأهم أن إنتاجية المطور لا تعتمد فقط على جودة الشيفرة البرمجية، بل تتأثر أيضًا بالأدوات المستخدمة في بناء التطبيقات وتشغيلها واختبارها. وفهم Vite وآلية عملها يساعدك على إنشاء بيئة تطوير أسرع وأكثر مرونة، مع الحفاظ على القدرة على تخصيص المشروع وتجهيزه للنشر.
#تطوير_الويب #Vite #JavaScript
freecodecamp.org/news/learn-…
هل ترغب في تعلم اللغة الإسبانية من الصفر؟ وكيف يمكنك الانتقال من معرفة بعض الكلمات البسيطة إلى إجراء محادثات يومية والتعريف بنفسك والتحدث عن عائلتك وعملك وحياتك؟
تُعد اللغة الإسبانية من أكثر اللغات انتشارًا في العالم، وتعلم أساسياتها يفتح فرصًا جديدة للتواصل والسفر والتعرف على ثقافات مختلفة.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
Learn A1 Level Spanish
الدورة من تقديم Virginia، وهي معلمة إسبانية معتمدة تمتلك خبرة 16 عامًا في تدريس اللغة، ومدتها 11 ساعة.
تعتمد الدورة على الكتاب التعليمي Aula Internacional 1، وتتوافق مع المستوى التمهيدي A1 وفق الإطار الأوروبي المرجعي المشترك للغات (CEFR).
ومن المميز أنها تُدرّس بالكامل باللغة الإسبانية، بهدف تعويد المتعلم على الاستماع إلى اللغة واستخدامها منذ البداية.
ماذا ستتعلم في هذه الدورة؟
1. التعارف وتقديم النفس
تتعلم التحية والتعريف بنفسك، وطرح الأسئلة الأساسية، واستخدام أفعال مثل llamarse وser وtener.
2. أساسيات القواعد الإسبانية
تتعرف على زمن المضارع، وأدوات التعريف والتنكير، وحروف الجر، وكيفية بناء الجمل البسيطة.
3. الفرق بين Ser وEstar وHay
تدرس الفروق بين هذه التراكيب المهمة، وكيفية استخدامها للتعبير عن الصفات والحالات ووجود الأشياء.
4. المفردات اليومية
تتعلم الكلمات والتعبيرات المرتبطة بالألوان والطقس والتسوق والطعام والمواقف التي قد تواجهها في الحياة اليومية.
5. وصف الأشخاص والعائلة
تتعرف على كيفية وصف المظهر والشخصية، والتحدث عن أفراد العائلة والعلاقات الشخصية.
6. التعبير عن التفضيلات
تتعلم استخدام الفعل gustar للتعبير عن الأشياء التي تحبها أو لا تحبها، مع التعرف على أسماء الإشارة مثل esto وeste.
7. الأفعال الانعكاسية وغير المنتظمة
تدرس مجموعة من الأفعال الشائعة التي تختلف في تصريفها، وكيفية استخدامها في المحادثات اليومية.
8. وصف الأماكن والتعامل مع المواقف العملية
تتعلم مفردات الحي والأماكن المحيطة بك، والتعبير عن الكميات، واستخدام اللغة في مواقف مثل التسوق والتنقل.
9. مقدمة إلى الماضي الإسباني
تتعرف على أساسيات زمن pretérito perfecto، بوصفه خطوة أولى نحو الحديث عن الأحداث والتجارب الماضية.
لمن تناسب هذه الدورة؟
تناسب المبتدئين تمامًا، والطلاب، والمسافرين، وكل من يريد تعلم اللغة الإسبانية لأغراض الدراسة أو العمل أو التواصل الشخصي.
الدرس الأهم أن تعلم لغة جديدة لا يعتمد على حفظ المفردات والقواعد بصورة منفصلة، بل على استخدامها في سياقات واقعية والاستماع إليها باستمرار. ومن خلال منهج منظم يبدأ بالمحادثات البسيطة ويتدرج نحو تراكيب أكثر تنوعًا، يمكنك بناء أساس متين في اللغة الإسبانية والاستعداد للانتقال إلى المستويات التالية.
#تعلم_الإسبانية #تعلم_اللغات #SpanishA1
freecodecamp.org/news/learn-…
تحدي البرمجة اليومي: تسلسل الأعداد الصحيحة — Integer Sequence
الهدف من التحدي
المطلوب كتابة دالة تستقبل عددًا صحيحًا موجبًا (Positive Integer)، ثم تعيد سلسلة نصية (String) تحتوي على جميع الأعداد الصحيحة من 1 حتى العدد المُدخل، بما في ذلك العدد نفسه، مرتبة تصاعديًا ومتصلة ببعضها دون مسافات أو فواصل.
نقاط تساعدك على الحل:
تستقبل الدالة عددًا صحيحًا موجبًا n يمثل الحد الأخير للتسلسل.
يجب أن يبدأ التسلسل دائمًا بالعدد 1 وينتهي بالعدد n.
يجب تضمين جميع الأعداد الصحيحة الواقعة بين 1 وn دون تخطي أي عدد.
حافظ على الترتيب التصاعدي للأعداد، بحيث يظهر كل عدد بعد العدد الذي يسبقه مباشرة.
يجب أن تكون النتيجة سلسلة نصية (String)، وليست عددًا صحيحًا أو مصفوفة (Array).
لا تضف مسافات أو فواصل أو أي رموز أخرى بين الأعداد.
يمكنك الاستفادة من حلقة تكرار (Loop) للمرور على الأعداد، وتحويل كل عدد إلى نص قبل إضافته إلى النتيجة.
انتبه إلى الأعداد المكونة من أكثر من رقم؛ فعندما يتجاوز n العدد 9، يجب أن يظهر كل عدد كاملًا داخل السلسلة.
فكّر في استخدام join() مع مصفوفة من القيم النصية، أو بناء السلسلة تدريجيًا، حسب اللغة التي تستخدمها.
مثال توضيحي:
إذا كان العدد المُدخل:
5
فيجب أن تكون النتيجة:
"12345"
أما إذا كان العدد المُدخل:
12
فتكون النتيجة:
"123456789101112"
لاحظ أن الأعداد من 10 إلى 12 أُضيفت كاملة، دون فواصل أو مسافات، مع الحفاظ على الترتيب التصاعدي.
حان وقت التطبيق!
جرّب حل التحدي بنفسك باستخدام Python أو JavaScript، وحاول بناء التسلسل بطريقة واضحة تتعامل مع الأعداد المكونة من رقم واحد أو عدة أرقام. اختبر الحل باستخدام 1 و9 و10 و15 للتأكد من صحة الناتج عند الانتقال من الأعداد أحادية الرقم إلى الأعداد متعددة الأرقام.
حمّل تطبيق freeCodeCamp Mobile لممارسة تحديات البرمجة اليومية وتطوير مهاراتك من خلال حل مسائل برمجية قصيرة كل يوم.
باختصار:
أنشئ تسلسلًا تصاعديًا للأعداد الصحيحة من 1 حتى n شاملًا العدد الأخير.
أعِد سلسلة نصية تجمع جميع الأعداد بالترتيب دون مسافات أو فواصل.
#Python #JavaScript
كيف يمكنك بناء برنامج لتحليل البيانات باستخدام Python؟ وكيف تستطيع تحويل ملف CSV بسيط إلى معلومات إحصائية ورسوم بيانية تساعدك على فهم البيانات واستخلاص النتائج؟
قد يبدو تحليل البيانات مجالًا معقدًا يتطلب معرفة متقدمة بالرياضيات وخوارزميات التعلم الآلي، لكن كثيرًا من مهام التحليل تبدأ بخطوات بسيطة: تحميل البيانات، واستكشافها، وطرح الأسئلة المناسبة، ثم استخدام الأدوات البرمجية للإجابة عنها.
نشر موقع freeCodeCamp مقالًا تعليميًا بعنوان:
How to Build a Simple Data Analyzer in Python with Pandas
المقال من إعداد Eva J Patel، ويشرح بناء برنامج بسيط لتحليل البيانات باستخدام Python ومكتبتي Pandas وMatplotlib، من خلال مشروع عملي يعتمد على مجموعة بيانات افتراضية لأداء الطلاب.
ماذا ستتعلم من هذا المقال؟
1. إعداد بيئة تحليل البيانات
تتعرف على الأدوات المطلوبة، وكيفية تثبيت مكتبات Pandas وMatplotlib وتجهيز مشروع Python للعمل مع ملفات CSV.
2. إنشاء مجموعة بيانات (Dataset)
تنشئ ملفًا باسم students.csv يحتوي على بيانات افتراضية للطلاب، لاستخدامه في تطبيق عمليات التحليل المختلفة.
3. تحميل البيانات باستخدام Pandas
تتعلم قراءة ملفات CSV وتحويل محتوياتها إلى DataFrame، وهي إحدى أهم هياكل البيانات في مكتبة Pandas.
4. استكشاف البيانات (Data Exploration)
تتعرف على كيفية فحص الصفوف والأعمدة، واستكشاف القيم، وفهم البنية العامة لمجموعة البيانات قبل البدء في تحليلها.
5. حساب الإحصاءات الأساسية
تطبق عمليات إحصائية تساعدك على تلخيص البيانات وفهم خصائصها، بدلًا من فحص كل سجل بصورة منفصلة.
6. تصفية البيانات والبحث عن سجلات محددة
تتعلم استخدام الشروط لاستخراج سجلات تحقق معايير معينة، والبحث عن طلاب محددين داخل مجموعة البيانات.
7. تجميع البيانات (Grouping)
تستخدم عمليات التجميع لدراسة مجموعات مختلفة من السجلات ومقارنة نتائجها، مع تحليل البيانات المتعلقة بوقت الدراسة.
8. إنشاء رسوم بيانية باستخدام Matplotlib
تحول النتائج الرقمية إلى تمثيلات بصرية تساعد على اكتشاف الأنماط وفهم العلاقات داخل البيانات.
9. بناء برنامج تحليل متكامل
تجمع خطوات تحميل البيانات واستكشافها وتحليلها وتصورها في برنامج واحد، ثم تتعرف على كيفية جعله قابلًا لإعادة الاستخدام مع ملفات CSV أخرى.
10. معالجة البيانات المفقودة وتصدير النتائج
تتعلم التعامل مع القيم المفقودة، وحفظ نتائج التحليل، والتعرف على الأخطاء الشائعة التي ينبغي تجنبها.
ما المتطلبات السابقة؟
يكفي امتلاك معرفة أساسية بمتغيرات Python وأنواع البيانات والقوائم واستيراد المكتبات واستدعاء الدوال. ولا يشترط امتلاك خبرة متقدمة في تحليل البيانات أو التعلم الآلي.
لمن يناسب هذا المقال؟
يناسب المبتدئين في تحليل البيانات، وطلاب علوم الحاسوب، ومتعلمي Python، وكل من يريد الانتقال من كتابة البرامج البسيطة إلى التعامل مع مجموعات بيانات حقيقية أو تجريبية.
الدرس الأهم أن تحليل البيانات لا يبدأ بالخوارزميات المعقدة، بل بفهم البيانات وتنظيفها وتنظيمها وطرح الأسئلة المناسبة عنها. ومن خلال Pandas وMatplotlib، يمكنك بناء أدوات تحليل عملية قابلة لإعادة الاستخدام، وتأسيس مهارات مهمة للانتقال لاحقًا إلى الإحصاء التطبيقي وعلوم البيانات والتعلم الآلي.
#تحليل_البيانات #Python #Pandas
freecodecamp.org/news/how-to…
كيف تستطيع سماعات إلغاء الضوضاء تقليل صوت محركات الطائرات والضجيج المحيط بك في الوقت الفعلي؟ وكيف يمكن لموجة صوتية أن تقلل تأثير موجة أخرى بدلًا من زيادة مستوى الصوت؟
قد يبدو الأمر غريبًا، لكن سماعات إلغاء الضوضاء النشط لا تعتمد فقط على عزل الأذن عن الأصوات الخارجية، بل تستخدم الميكروفونات ومعالجة الإشارات الرقمية لإنتاج موجات صوتية مضادة تقلل الضوضاء التي تصل إلى أذنك.
نشر موقع freeCodeCamp مقالًا تقنيًا بعنوان:
How Noise-Cancelling Headphones Actually Remove Sound in Real Time
المقال من إعداد Reetain Raina، ويشرح المبادئ الفيزيائية والخوارزميات التي تقف خلف تقنية إلغاء الضوضاء النشط (Active Noise Cancellation – ANC).
ماذا ستتعلم من هذا المقال؟
1. فهم الطبيعة الفيزيائية للصوت
تتعرف على كيفية انتقال الصوت على شكل موجات، وما تعنيه خصائص مثل التردد والسعة والطور (Phase) في تحديد سلوك الموجة الصوتية.
2. كيف يمكن للصوت أن يلغي صوتًا آخر؟
تتعرف على مبدأ التداخل الهدّام (Destructive Interference)، الذي يحدث عندما تتراكب موجتان صوتيتان بطورين متعاكسين، مما يؤدي إلى تقليل سعة الموجة الناتجة.
3. كيف تصنع السماعات الصوت المضاد (Anti-Noise)؟
تستخدم السماعات ميكروفونات لالتقاط الضوضاء، ثم تعالج الإشارات إلكترونيًا لتوليد موجة مضادة تُشغّل عبر مكبرات الصوت، بهدف تقليل الضجيج عند الأذن.
4. معالجة الصوت في الوقت الفعلي
تتعرف على تسلسل العمليات داخل السماعة، من التقاط الصوت وتحليله إلى حساب الإشارة المضادة وإنتاجها باستمرار مع تغير البيئة المحيطة.
5. أنواع أنظمة إلغاء الضوضاء النشط
يشرح المقال ثلاثة أساليب رئيسية:
Feedforward ANC: يلتقط الضوضاء قبل وصولها إلى الأذن.
Feedback ANC: يقيس الصوت المتبقي داخل السماعة ويستخدمه لتصحيح الإلغاء.
Hybrid ANC: يجمع بين الأسلوبين لتحسين الاستجابة للضوضاء.
6. الخوارزميات وراء إلغاء الضوضاء
تتعرف على دور معالجة الإشارات والخوارزميات التكيفية في حساب الإشارة المضادة وضبطها عند تغير الأصوات المحيطة.
7. لماذا لا تختفي جميع الأصوات؟
تتعرف على أسباب نجاح التقنية بصورة أفضل مع الضوضاء المستمرة ومنخفضة التردد، مثل هدير المحركات، مقارنة بالأصوات المفاجئة أو مرتفعة التردد.
8. أهمية العزل السلبي (Passive Noise Isolation)
يوضح المقال لماذا يظل التصميم الفيزيائي للسماعة وإحكامها حول الأذن مهمين، حتى مع وجود أنظمة إلكترونية متقدمة لإلغاء الضوضاء.
لمن يناسب هذا المقال؟
يناسب طلاب الهندسة الكهربائية، والمهتمين بمعالجة الإشارات الرقمية (DSP)، وهندسة الصوت، والفيزياء التطبيقية، وكل من يريد فهم التكنولوجيا الموجودة داخل الأجهزة التي يستخدمها يوميًا.
الدرس الأهم أن إلغاء الضوضاء ليس عملية حذف للصوت، بل تطبيق عملي لمبادئ الموجات الفيزيائية ومعالجة الإشارات والتحكم التكيفي. فالسماعة تقيس الضجيج وتولد استجابة صوتية مضادة بصورة مستمرة، لكنها لا تستطيع إلغاء جميع الأصوات بالكامل. وهذا مثال على كيفية تحويل المفاهيم الرياضية والفيزيائية إلى تقنية تعمل في الوقت الفعلي.
#معالجة_الإشارات #هندسة_الصوت #التكنولوجيا
freecodecamp.org/news/how-no…
كيف يمكنك بناء وكلاء ذكاء اصطناعي (AI Agents) قادرين على تنفيذ مهام متعددة واتخاذ قرارات بناءً على حالة المحادثة؟ وكيف تستخدم الرسوم البيانية (Graphs) لتنظيم تدفق العمليات داخل تطبيقات الذكاء الاصطناعي التفاعلي؟
مع تطور النماذج اللغوية الكبيرة (LLMs)، لم يعد تطوير تطبيقات الذكاء الاصطناعي مقتصرًا على إرسال سؤال إلى النموذج واستقبال إجابة، بل أصبح يتطلب إدارة الحالة وتنظيم خطوات التنفيذ وربط المكونات المختلفة في مسارات عمل مترابطة.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
Learn LangGraph and Build Conversational AI with Python
الدورة من تقديم Vaibhav Mehra، ومدتها 3 ساعات، وتشرح استخدام إطار العمل مفتوح المصدر LangGraph، الذي طوره فريق LangChain، لبناء أنظمة ذكاء اصطناعي حوارية ووكلاء ذكيين باستخدام Python.
ماذا ستتعلم في هذه الدورة؟
1. مقدمة إلى LangGraph
تتعرف على فكرة بناء تطبيقات الذكاء الاصطناعي باستخدام الرسوم البيانية، وكيف تساعد هذه البنية على تنظيم مسارات المحادثة والعمليات متعددة الخطوات.
2. المكونات الأساسية في LangGraph
تدرس العناصر الأساسية للإطار، وكيفية استخدامها لبناء مسارات عمل مترابطة، مع التعرف على Type Annotations في Python.
3. بناء وكلاء ذكيين من الصفر
تطبق عمليًا بناء خمسة وكلاء (Agents) مختلفين، مع شرح خطوات التنفيذ وتمارين برمجية تساعدك على فهم آلية عمل كل وكيل.
4. تصميم أنظمة AI Agents
تتعمق في المفاهيم الأساسية للوكلاء المدعومين بالنماذج اللغوية الكبيرة، وتتعرف على أنماط التصميم المستخدمة لبناء أنظمة أكثر مرونة وقدرة على التكيف.
5. تنظيم تدفق المحادثات
تتعلم استخدام البنية المعتمدة على Graphs لتنظيم انتقال التنفيذ بين المكونات المختلفة، بدلًا من الاعتماد على منطق برمجي متشعب يصعب تطويره وصيانته.
6. دمج تقنية RAG
تتعرف على Retrieval-Augmented Generation، وكيفية دمج استرجاع المعلومات مع النماذج اللغوية داخل مسارات LangGraph لإنتاج استجابات تستفيد من سياق إضافي.
7. بناء تطبيقات عملية باستخدام Python
تطبق المفاهيم من خلال أمثلة برمجية تجمع بين الوكلاء ومسارات التنفيذ والنماذج اللغوية، بهدف بناء تطبيقات حوارية تتجاوز نمط الأسئلة والأجوبة البسيط.
لمن تناسب هذه الدورة؟
تناسب مطوري Python، ومهندسي الذكاء الاصطناعي، والمهتمين بتطوير AI Agents، وكل من يريد تعلم بناء تطبيقات تعتمد على LLMs وRAG ومسارات العمل متعددة الخطوات.
الدرس الأهم أن بناء تطبيقات الذكاء الاصطناعي المتقدمة لا يعتمد على قوة النموذج اللغوي وحدها، بل على كيفية تنظيم العمليات وإدارة تدفق المعلومات والتنسيق بين المكونات. وتوفر LangGraph أسلوبًا قائمًا على الرسوم البيانية يساعد المطورين على تصميم وكلاء وأنظمة حوارية أكثر تنظيمًا وقابلية للتوسع.
#الذكاء_الاصطناعي #LangGraph #AIAgents
freecodecamp.org/news/learn-…
هل ما زالت البرمجيات مفتوحة المصدر (Open Source) تحافظ على فلسفتها الأصلية؟ وكيف يؤثر الذكاء الاصطناعي وتغيير تراخيص المشاريع البرمجية في مستقبل المجتمعات التقنية؟
في الحلقة رقم 125 من بودكاست freeCodeCamp، يستضيف مؤسس المنصة Quincy Larson المطور ومقدم البودكاست Jerod Santo، أحد أبرز الأصوات المهتمة بمتابعة تطورات البرمجيات مفتوحة المصدر.
يقدم Jerod بودكاست The Changelog، الذي يناقش عالم تطوير البرمجيات مفتوحة المصدر منذ نحو 15 عامًا، من خلال لقاءات مع المطورين وصنّاع الأدوات والمشاريع التقنية.
عنوان الحلقة:
Open Source is Changing. The Changelog Host Jerod Santo on How to Keep Up [Podcast #125]
أبرز المحاور التي تناقشها الحلقة:
1. التحولات في عالم البرمجيات مفتوحة المصدر
تتناول الحلقة أبرز التحديات التي تواجه مشاريع Open Source، وكيف تتغير العلاقة بين المطورين والمجتمعات التقنية والشركات التجارية.
2. الذكاء الاصطناعي ومستقبل Open Source
يناقش الضيف القضايا المرتبطة بنماذج الذكاء الاصطناعي وعلاقتها بالمصدر المفتوح، وما تثيره من أسئلة حول الانفتاح وإتاحة التقنيات.
3. تغيير تراخيص المشاريع البرمجية (Relicensing)
تتطرق المحادثة إلى ظاهرة تغيير تراخيص بعض المشاريع بعد استحواذ الشركات عليها، بما قد يؤدي إلى تقييد إصداراتها المستقبلية بعد أن كانت متاحة بموجب تراخيص مفتوحة.
4. تجربة The Changelog على مدار 15 عامًا
يستعرض Jerod تجربته في تقديم بودكاست متخصص في البرمجيات مفتوحة المصدر، وإجراء مقابلات مع مطوري المشاريع والمؤثرين في هذا المجال.
5. متابعة أخبار البرمجيات مفتوحة المصدر
يتحدث عن بودكاست Changelog News، الذي يقدم ملخصًا أسبوعيًا مدته نحو 10 دقائق لأبرز الأخبار والتطورات في عالم Open Source.
6. البحث عن الأخبار التقنية وتحليلها
يشرح منهجيته في البحث عن الأخبار واختيار الموضوعات المهمة، وكيف يحوّل التطورات التقنية إلى محتوى مفيد للمطورين.
7. العمل عن بُعد والتوازن بين الحياة والعمل
يتناول تجربته في العمل مطورًا عن بُعد من مدينة أوماها بولاية نبراسكا، بالتزامن مع تربية أطفاله الستة.
كما تتطرق الحلقة إلى الجانب الإبداعي من The Changelog، الذي أنتج ثلاثة ألبومات موسيقية متاحة للاستماع مجانًا.
لمن تناسب هذه الحلقة؟
تناسب مطوري البرمجيات، والمساهمين في مشاريع GitHub، والمهتمين بتراخيص البرمجيات، ومهندسي الذكاء الاصطناعي، وكل من يريد فهم التحولات التي يشهدها مجتمع Open Source.
الدرس الأهم أن البرمجيات مفتوحة المصدر ليست مجرد مستودعات برمجية متاحة على GitHub، بل منظومة تقوم على التراخيص والمجتمعات والاستدامة والثقة. وفهم هذه الجوانب يساعد المطور على اختيار التقنيات والمساهمة في المشاريع واتخاذ قرارات هندسية أكثر وعيًا في عالم سريع التغير.
#البرمجيات_مفتوحة_المصدر #هندسة_البرمجيات #OpenSource
freecodecamp.org/news/open-s…
كيف تعمل أنظمة إدارة قواعد البيانات (DBMS)؟ وما الفرق بين معرفة كتابة استعلامات SQL وفهم كيفية تصميم قواعد البيانات وتنظيمها واسترجاع المعلومات منها بكفاءة؟
تُعد قواعد البيانات من المكونات الأساسية للأنظمة البرمجية الحديثة، بدءًا من التطبيقات المصرفية ومنصات التواصل الاجتماعي، وصولًا إلى التجارة الإلكترونية وأنظمة الرعاية الصحية.
نشر موقع freeCodeCamp دورة جامعية مجانية بعنوان:
Master Database Management Systems
الدورة من تقديم Kshitij Sharma، ومدتها 9 ساعات، وتجمع بين الشرح النظري والتطبيقات العملية والأمثلة المستمدة من أنظمة حقيقية، مثل التطبيقات المصرفية ومنصات التواصل الاجتماعي.
صُممت الدورة لتناسب الدراسة الجامعية والاستعداد للمقابلات التقنية والاختبارات الأكاديمية مثل GATE.
ماذا ستتعلم في هذه الدورة؟
1. مقدمة إلى أنظمة إدارة قواعد البيانات
تتعرف على مفهوم DBMS، وأهميته في تخزين البيانات وتنظيمها وإدارتها، ودوره في بناء الأنظمة البرمجية.
2. فهم نموذج البيانات العلائقي (Relational Data Model)
تدرس كيفية تمثيل البيانات باستخدام العلاقات والجداول، وفهم المبادئ التي تقوم عليها قواعد البيانات العلائقية.
3. تصميم العلاقات بين البيانات
تتعرف على النمذجة باستخدام مخططات الكيانات والعلاقات (ER Modeling)، وكيفية تمثيل البيانات والارتباطات بينها من خلال أمثلة عملية.
4. الجبر العلائقي (Relational Algebra)
تدرس العمليات الرياضية والمنطقية المستخدمة للتعامل مع العلاقات، وكيف تشكل أساسًا نظريًا للاستعلام عن البيانات.
5. استخدام لغة SQL
تتعلم المبادئ الأساسية لكتابة الاستعلامات والتعامل مع البيانات المخزنة في قواعد البيانات العلائقية.
6. الربط بين المفاهيم النظرية والتطبيقات الواقعية
تتعرف على كيفية توظيف مفاهيم قواعد البيانات في أنظمة مثل التطبيقات المصرفية وشبكات التواصل الاجتماعي، لفهم أهمية تنظيم البيانات والعلاقات بينها.
7. الاستعداد للدراسة والاختبارات التقنية
تساعدك الدورة على مراجعة المفاهيم الأكاديمية الأساسية في DBMS، وفهم المصطلحات والمبادئ التي تظهر في المقررات الجامعية والمقابلات التقنية.
ماذا عن الموضوعات المتقدمة؟
يتكون المنهج الكامل من ست وحدات تشمل أيضًا تصميم قواعد البيانات والتطبيع (Normalization)، ومعالجة المعاملات (Transaction Processing)، والفهرسة (Indexing).
لكن الجزء المنشور من الدورة يغطي الوحدات الثلاث الأولى فقط: مقدمة DBMS، ونموذج البيانات العلائقي والجبر العلائقي، وSQL.
أما الموضوعات المتقدمة، ومنها التطبيع والفهرسة والاعتماديات الوظيفية (Functional Dependencies)، فقد أُعلن عن تخصيص جزء ثانٍ لها.
لمن تناسب هذه الدورة؟
تناسب طلاب علوم الحاسوب وهندسة البرمجيات، ومطوري الواجهات الخلفية، والمهتمين بهندسة البيانات، وكل من يريد بناء أساس أكاديمي قوي في قواعد البيانات.
الدرس الأهم أن إتقان قواعد البيانات لا يعني حفظ أوامر SQL فقط، بل فهم النماذج الرياضية والمنطقية التي تقوم عليها، وكيفية تمثيل العلاقات بين البيانات والاستعلام عنها. فهذه المعرفة هي الأساس الذي يساعد المطور على تصميم أنظمة أكثر تنظيمًا وقابلية للتطوير والصيانة.
#قواعد_البيانات #SQL #هندسة_البرمجيات
freecodecamp.org/news/master…
كيف يمكنك بناء تطبيقات ويب تفاعلية باستخدام Vue.js؟ وكيف تنتقل من أساسيات التعامل مع البيانات والأحداث إلى تطوير تطبيقات متكاملة تستخدم التوجيه (Routing) وإدارة الحالة (State Management) والتواصل مع واجهات API؟
يُعد Vue.js من أطر العمل المستخدمة في تطوير الواجهات الأمامية (Frontend Development)، ويتميز بسهولة تعلمه ومرونته وإمكانية استخدامه في المشاريع الصغيرة والتطبيقات الكبيرة.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
Learn Vue.js in This Beginner's Course
الدورة من تقديم Bhrugen Patel، وتغطي Vue 3 من المفاهيم الأساسية إلى بناء تطبيقات منظمة باستخدام Composition API وPinia.
يشير الإعلان إلى مدة تتراوح بين 6 و7 ساعات للدورة.
ماذا ستتعلم في هذه الدورة؟
1. أساسيات Vue 3
تتعرف على إعداد المشروع، وبنية تطبيقات Vue، وكيفية استخدام القوالب (Templates) لعرض البيانات داخل الواجهة.
2. نظام التفاعلية (Reactivity)
تتعلم كيف يتتبع Vue التغيرات في البيانات ويحدث واجهة المستخدم تلقائيًا، مع التعرف على المفاهيم الأساسية لنظام Reactivity.
3. التوجيهات والتنسيق (Directives & Styling)
تستخدم توجيهات Vue للتحكم في عرض العناصر وخصائصها، وتطبيق التنسيقات بصورة ديناميكية.
4. الأحداث وربط البيانات (Events & Data Binding)
تتعلم التعامل مع تفاعلات المستخدم، وربط المدخلات بالبيانات، وإنشاء واجهات تستجيب للأحداث المختلفة.
5. النماذج والتحقق من المدخلات (Forms)
تبني نماذج لإدخال البيانات، وتتعرف على كيفية التعامل مع قيم الحقول والتحقق من صحتها.
6. بناء المكونات (Components)
تتعلم تقسيم الواجهة إلى مكونات مستقلة وقابلة لإعادة الاستخدام، وتنظيم التطبيق بطريقة تسهل تطويره وصيانته.
7. التواصل بين المكونات
تستخدم Props وEvents لنقل البيانات والتواصل بين المكونات، وتتعرف على Provide/Inject لمشاركة الاعتماديات عبر مستويات متعددة.
8. Slots وLifecycle Hooks
تتعلم تخصيص محتوى المكونات باستخدام Slots، وفهم مراحل دورة حياة المكون والتحكم في تنفيذ العمليات المرتبطة بها.
9. التوجيه والتكامل مع API
تتعرف على بناء تطبيقات الصفحة الواحدة (SPA)، والتنقل بين الصفحات باستخدام Routing، وجلب البيانات من الخدمات الخلفية عبر واجهات API.
10. إدارة الحالة باستخدام Pinia
تتعلم استخدام Pinia لتنظيم الحالة المشتركة بين المكونات وإدارتها، خصوصًا عندما يزداد حجم التطبيق وتعقيده.
لمن تناسب هذه الدورة؟
تناسب المبتدئين في Vue.js، ومطوري JavaScript، وطلاب تطوير الويب، وكل من يريد تعلم بناء واجهات أمامية تفاعلية وقابلة للتوسع.
الدرس الأهم أن تطوير واجهات الويب الحديثة لا يقتصر على كتابة HTML وCSS وJavaScript، بل يتطلب فهم كيفية إدارة البيانات والتفاعلات وتنظيم المكونات والتواصل بينها. ومن خلال Vue 3، يمكنك الانتقال تدريجيًا من بناء واجهات بسيطة إلى تطوير تطبيقات أكثر تنظيمًا باستخدام Routing وAPI Integration وPinia.
#VueJS #تطوير_الويب #JavaScript
freecodecamp.org/news/learn-…
كيف يمكنك بناء نموذج Vision Transformer من الصفر باستخدام PyTorch؟ وكيف تستطيع تحويل الصور إلى تسلسل من الأجزاء الصغيرة (Patches) ومعالجتها باستخدام بنية Transformer بدلًا من الاعتماد على الشبكات العصبية الالتفافية التقليدية (CNNs)؟
أحدثت نماذج Vision Transformers تحولًا مهمًا في مجال الرؤية الحاسوبية، إذ أتاحت استخدام آليات الانتباه (Attention) لمعالجة الصور وتعلم العلاقات بين أجزائها.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
Build Your Own ViT Model from Scratch
الدورة من إعداد Mohammed Al Abrah، ومدتها ساعتان، وتشرح بناء نموذج Vision Transformer (ViT) باستخدام PyTorch، وتدريبه على مجموعة بيانات CIFAR-10 لتصنيف الصور.
ماذا ستتعلم في هذه الدورة؟
1. فهم بنية Vision Transformer
تتعرف على المبادئ الأساسية لنماذج ViT، والاختلافات المعمارية بينها وبين الشبكات الالتفافية CNNs، وكيفية استخدام Transformer في مهام تصنيف الصور.
2. إعداد بيئة العمل والمعاملات الفائقة
تتعلم تجهيز بيئة PyTorch وتحديد المعاملات الأساسية للنموذج والتدريب، مثل حجم الدفعة (Batch Size) ومعدل التعلم (Learning Rate).
3. تجهيز مجموعة بيانات CIFAR-10
تطبق عمليات تحويل الصور (Image Transformations)، وتحميل البيانات وتقسيمها، وإنشاء DataLoaders لتغذية النموذج أثناء التدريب والتقييم.
4. بناء Patch Embedding
تتعلم تقسيم الصورة إلى أجزاء صغيرة وتحويل كل جزء إلى تمثيل عددي (Embedding) يمكن معالجته بواسطة Transformer.
5. بناء معمارية Vision Transformer
تنفذ المكونات الأساسية للنموذج، بما فيها Transformer Encoder، وتتعرف على دورها في تعلم العلاقات بين أجزاء الصورة وإنتاج تمثيلات مناسبة للتصنيف.
6. إعداد دالة الخسارة وخوارزمية التحسين
تتعلم تحديد Loss Function وOptimizer المناسبين، وتجهيز النموذج لتحديث أوزانه أثناء التدريب.
7. بناء حلقة التدريب (Training Loop)
تنفذ خطوات التدريب باستخدام PyTorch، وتتابع أداء النموذج من خلال مقارنة دقة التدريب والاختبار.
8. إجراء التنبؤات وتصور النتائج
تستخدم النموذج المدرب لتصنيف صور جديدة، وتعرض التنبؤات بصريًا لفهم سلوكه وتقييم نتائجه.
9. تحسين النموذج باستخدام Data Augmentation
تتعرف على تقنيات زيادة تنوع بيانات التدريب، وتطبقها لتحسين قدرة النموذج على التعميم.
10. مقارنة الأداء قبل التحسين وبعده
تعيد تدريب النموذج بالإعدادات المحسنة، وتقارن النتائج لتحليل تأثير استراتيجيات التدريب المختلفة.
لمن تناسب هذه الدورة؟
تناسب طلاب الذكاء الاصطناعي، والباحثين في الرؤية الحاسوبية، ومهندسي التعلم العميق، ومستخدمي PyTorch الذين يريدون فهم معمارية Vision Transformer وتنفيذها عمليًا.
الدرس الأهم أن فهم نماذج Transformers لا يتحقق بمجرد استخدام نماذج جاهزة، بل من خلال استيعاب مكوناتها وتنفيذها وربطها بعملية التدريب والتقييم. وبناء Vision Transformer من الصفر يمنحك فهمًا أعمق لكيفية تمثيل الصور ومعالجتها، ويؤسس لتطوير معماريات أكثر تقدمًا في الرؤية الحاسوبية.
#الرؤية_الحاسوبية #التعلم_العميق #VisionTransformer
freecodecamp.org/news/build-…
كيف يمكنك بناء REST API باستخدام C# و.NET 9 من الصفر؟ وكيف تربط الواجهة البرمجية بقاعدة بيانات SQL Server لتنفيذ عمليات إضافة البيانات واسترجاعها وتحديثها وحذفها؟
تُعد واجهات REST API من الركائز الأساسية لتطوير تطبيقات الويب والهواتف المحمولة والخدمات السحابية، لأنها تتيح للأنظمة المختلفة تبادل البيانات والتواصل بطريقة منظمة.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
Master REST API Development with .NET 9
الدورة من تقديم Alen Omeri، ومدتها ساعة واحدة، وتشرح تطوير واجهات REST API باستخدام ASP NET Core و.NET 9، بدءًا من المفاهيم الأساسية وحتى إنشاء تطبيق متصل بقاعدة بيانات SQL Server.
ماذا ستتعلم في هذه الدورة؟
1. فهم REST API
تتعرف على مبادئ RESTful Architecture، وكيف تتواصل التطبيقات باستخدام HTTP، ولماذا تُعد واجهات API أساسية في تطوير الأنظمة الحديثة.
2. البدء باستخدام ASP NET Core
تتعلم إنشاء مشروع API باستخدام .NET 9، وفهم المكونات الأساسية لإطار العمل وطريقة تنظيم التطبيق.
3. تصميم نماذج البيانات (Models)
تتعرف على إنشاء النماذج التي تمثل البيانات داخل التطبيق، وكيفية استخدامها لتنظيم المعلومات المتبادلة عبر API.
4. إنشاء Controllers
تتعلم تطوير وحدات التحكم المسؤولة عن استقبال طلبات HTTP وتنفيذ العمليات وإرجاع الاستجابات المناسبة.
5. التعامل مع HTTP Methods
تطبق طرق HTTP الأساسية:
GET لاسترجاع البيانات.
POST لإضافة بيانات جديدة.
PUT لتحديث البيانات الموجودة.
DELETE لحذف البيانات.
6. إعداد SQL Server
تتعلم تثبيت SQL Server وSQL Server Management Studio (SSMS)، وإنشاء قاعدة بيانات وإدارتها.
7. ربط API بقاعدة البيانات
تتعرف على إعداد الاتصال بين تطبيق ASP NET Core وقاعدة بيانات SQL Server، بحيث يمكن حفظ البيانات واسترجاعها بصورة دائمة.
8. إدخال البيانات الأولية (Data Seeding)
تتعلم تعبئة قاعدة البيانات ببيانات أولية تساعد على تجربة وظائف التطبيق واختبارها أثناء التطوير.
9. تنفيذ عمليات CRUD
تبني الوظائف الأربع الأساسية لإدارة البيانات: Create وRead وUpdate وDelete، وتربط نقاط النهاية (Endpoints) بالعمليات الفعلية داخل قاعدة البيانات.
لمن تناسب هذه الدورة؟
تناسب المبتدئين في تطوير الواجهات الخلفية (Backend Development)، ومتعلمي C#، وطلاب علوم الحاسوب، والمطورين الراغبين في بناء تطبيقات تعتمد على ASP NET Core وقواعد البيانات.
ولا تتطلب خبرة سابقة في تطوير REST APIs.
الدرس الأهم أن بناء REST API لا يقتصر على كتابة مسارات تستقبل الطلبات، بل يتطلب فهم بنية التطبيق وتصميم البيانات وتنظيم منطق المعالجة والتعامل مع قواعد البيانات. وإتقان هذه الأساسيات باستخدام .NET 9 يمثل نقطة انطلاق قوية نحو تطوير خدمات خلفية أكثر تعقيدًا، مثل الأنظمة الموزعة والخدمات المصغرة (Microservices).
#ASP_NET_Core #هندسة_البرمجيات #REST_API
freecodecamp.org/news/master…
كيف تبدأ رحلتك في علم البيانات (Data Science) باستخدام Python من الصفر؟ وكيف تنتقل من تعلم أساسيات البرمجة إلى تحليل البيانات وتنظيفها وتصورها، ثم بناء أول نموذج تعلم آلي؟
أصبحت لغة Python من أهم الأدوات المستخدمة في علم البيانات، بفضل سهولة تعلمها وتوفر مكتبات متخصصة للتعامل مع البيانات وإجراء العمليات الرياضية والإحصائية.
نشر موقع freeCodeCamp دورة مجانية شاملة بعنوان:
Learn Python for Data Science – Full Course for Beginners
الدورة من إعداد Frank Andrade، ومدتها 17 ساعة، وتبدأ من أساسيات Python دون اشتراط خبرة برمجية سابقة، ثم تنتقل تدريجيًا إلى تطبيقات عملية في تحليل البيانات والتعلم الآلي.
ماذا ستتعلم في هذه الدورة؟
1. أساسيات البرمجة بلغة Python
تبدأ بتثبيت Python وإعداد بيئة العمل، ثم تتعلم المفاهيم البرمجية الأساسية اللازمة للانتقال إلى معالجة البيانات.
2. التعامل مع البيانات باستخدام Pandas
تتعرف على مكتبة Pandas وكيفية استخدامها لقراءة البيانات الجدولية وتنظيمها واستكشافها والتعامل معها برمجيًا.
3. العمليات الرياضية باستخدام NumPy
تتعلم استخدام NumPy لتنفيذ العمليات العددية والرياضية على البيانات بكفاءة.
4. استخراج البيانات من مواقع الويب
تنفذ مشروعًا عمليًا لاستخراج بيانات من صفحات الويب باستخدام Pandas، وتحويلها إلى بيانات قابلة للتحليل.
5. تنظيف البيانات ومعالجتها
تتعلم تصفية البيانات، وتنظيفها، وإعادة تشكيل الجداول (Reshaping)، وإنشاء الجداول المحورية (Pivot Tables).
6. تصور البيانات (Data Visualization)
تبني رسومًا بيانية باستخدام مجموعات بيانات حقيقية، ومنها المخططات العمودية (Bar Charts) والمخططات المبعثرة (Scatter Plots)، لاستكشاف الأنماط والاتجاهات.
7. تجميع البيانات وتحليلها
تستخدم groupby والدوال التجميعية (Aggregation Functions) لتلخيص البيانات واستخراج معلومات مفيدة منها.
8. دمج مجموعات البيانات واستخدام Regex
تتعلم الجمع بين مصادر بيانات مختلفة، واستخدام التعبيرات النمطية (Regular Expressions) لاستخراج أنماط محددة من النصوص.
9. مقدمة إلى التعلم الآلي باستخدام Scikit-learn
تتعرف على المبادئ الأولية للتعلم الآلي، وتبني نموذجًا بسيطًا لتصنيف النصوص (Text Classification)، مثل التمييز بين الرسائل المزعجة وغير المزعجة.
لمن تناسب هذه الدورة؟
تناسب المبتدئين في Python، وطلاب علوم الحاسوب، والمهتمين بعلم البيانات، ومحللي البيانات الراغبين في تطوير مهاراتهم البرمجية، وكل من يريد البدء في التعلم الآلي من خلال مشاريع عملية.
الدرس الأهم أن تعلم علم البيانات لا يبدأ ببناء نماذج ذكاء اصطناعي معقدة، بل يبدأ بفهم البيانات وكيفية جمعها وتنظيفها وتحليلها وتفسير نتائجها. وعندما تتقن Python ومكتبات Pandas وNumPy وأساليب تصور البيانات، تصبح لديك قاعدة عملية قوية للانتقال إلى التعلم الآلي وتطبيقاته الأكثر تقدمًا.
#علم_البيانات #Python #التعلم_الآلي
freecodecamp.org/news/learn-…
كيف يمكن لمطور برمجيات أن ينتقل إلى مجال الأمن السيبراني ويصبح باحثًا في الثغرات الأمنية؟ وهل يمكن بدء مسار مهني جديد بعد سنوات طويلة من العمل في صناعة التكنولوجيا؟
في الحلقة رقم 126 من بودكاست freeCodeCamp، يستضيف مؤسس المنصة Quincy Larson المهندسة والباحثة الأمنية Suz Hinton، التي جمعت خلال مسيرتها بين تطوير البرمجيات وهندسة الأنظمة المدمجة والبحث الأمني.
تُعد Suz من أوائل الأشخاص الذين قدموا بثًا مباشرًا لكتابة الأكواد البرمجية عبر منصة Twitch، كما عملت في شركات تقنية معروفة مثل Microsoft وStripe.
عنوان الحلقة:
How Suz Hinton went from Dev to White Hat Hacker [Podcast #126]
أبرز المحاور التي تناقشها الحلقة:
1. البدايات في تطوير الويب
تتحدث Suz عن بداياتها المهنية في تطوير الإعلانات داخل المتصفحات باستخدام Adobe Flash، وكيف تعاملت مع قيود سرعة الإنترنت وحجم البيانات في أوائل العقد الأول من الألفية.
2. الانتقال من أستراليا إلى الولايات المتحدة
تستعرض تجربتها في الانتقال من مدينة ملبورن الأسترالية للعمل في شركة Zappos، ثم انتقالها لاحقًا إلى Microsoft وStripe، وما رافق ذلك من تطور في مسيرتها المهنية.
3. الشغف بالإلكترونيات والأنظمة المدمجة
تناقش اهتمامها بالعتاد الحاسوبي (Hardware) وتطوير الأنظمة المدمجة (Embedded Systems)، وكيف يتجاوز عالم البرمجة تطبيقات الويب والبرمجيات التقليدية.
4. العودة إلى الدراسة والتخصص في الأمن السيبراني
تشرح قرارها العودة إلى الدراسة لتعلم أمن المعلومات (Information Security)، وكيف ساعدها ذلك على الانتقال إلى مسار مهني ثانٍ بوصفها باحثة أمنية.
5. الانتقال إلى الاختراق الأخلاقي (White Hat Hacking)
تتناول تجربتها في الانتقال من بناء البرمجيات إلى دراسة أمن الأنظمة والبحث عن نقاط الضعف، مستفيدة من خبرتها السابقة في التطوير.
6. مشاركة المعرفة من خلال البث المباشر
تسلط الحلقة الضوء على تجربتها المبكرة في بث جلسات البرمجة عبر Twitch، وكيف يمكن لمشاركة عملية التطوير أن تصبح وسيلة للتعلم وتبادل الخبرات.
7. الإرهاق المهني بعد عشرين عامًا في التقنية
تتحدث Suz عن اقترابها من الاحتراق الوظيفي (Burnout) بعد نحو عشرين عامًا في المجال، والخطوات التي تتخذها للتعافي وإعادة التوازن إلى حياتها.
لمن تناسب هذه الحلقة؟
تناسب مطوري البرمجيات، والمهتمين بالأمن السيبراني والاختراق الأخلاقي، ومهندسي الأنظمة المدمجة، وكل من يفكر في تغيير تخصصه التقني أو بناء مسار مهني مستدام.
الدرس الأهم أن الخبرة التقنية لا تحصر صاحبها في تخصص واحد، بل يمكن أن تكون أساسًا للانتقال إلى مجالات جديدة. وتوضح تجربة Suz Hinton أن التعلم المستمر والشغف بالاستكشاف يفتحان فرصًا مهنية مختلفة، لكن الاستمرار في المجال يتطلب أيضًا الاهتمام بالصحة والتوازن وتجنب الإرهاق المهني.
#الأمن_السيبراني #هندسة_البرمجيات #الاختراق_الأخلاقي
freecodecamp.org/news/how-su…
هل ترغب في تعلم الكيمياء العامة من الصفر حتى مستوى السنة الجامعية الأولى؟ وكيف يمكنك فهم التفاعلات الكيميائية والطاقة والاتزان الكيميائي بدلًا من الاكتفاء بحفظ القوانين والمعادلات؟
تُعد الكيمياء من العلوم الأساسية التي تربط بين الفيزياء والأحياء والطب والهندسة وعلوم البيئة، كما تساعد على تنمية مهارات التفكير العلمي والتحليل الكمي وحل المشكلات.
نشر موقع freeCodeCamp دورة جامعية مجانية بعنوان:
General Chemistry College Course
الدورة من تقديم Chad McAllister، ومدتها 34 ساعة، وتغطي الموضوعات الأساسية للكيمياء العامة بمستوى السنة الجامعية الأولى.
يمتلك المحاضر خبرة تزيد على 15 عامًا في إدارة مركز للدعم التعليمي بقسم الكيمياء في إحدى الجامعات الأمريكية.
تتكون الدورة من نحو 100 قسم تعليمي، مما يسمح بدراستها كاملة أو الرجوع إلى موضوعات محددة للمراجعة.
ماذا ستتعلم في هذه الدورة؟
1. أساسيات الكيمياء والقياسات العلمية
تتعرف على المادة وخصائصها، والوحدات العلمية، والصيغة العلمية للأعداد، والتحويل بين وحدات القياس.
2. التركيب الذري والجدول الدوري
تدرس النظرية الذرية، والتوزيع الإلكتروني، وأعداد الكم، والخواص الدورية مثل نصف القطر الذري وطاقة التأين.
3. الروابط الكيميائية وبنية الجزيئات
تتعلم تسمية المركبات والأحماض، ورسم تراكيب لويس، ونظرية VSEPR، وتحديد الأشكال الهندسية للجزيئات.
4. التفاعلات والحسابات الكيميائية
تدرس موازنة المعادلات، والحسابات المولية (Stoichiometry)، وتحديد المتفاعل المحدِّد للتفاعل.
5. الغازات والقوى بين الجزيئات
تتعرف على قوانين الغازات، والقوى بين الجزيئات، وتغيرات الحالة الفيزيائية ومخططات الأطوار.
6. الديناميكا الحرارية والكيمياء الحرارية
تدرس الحرارة وقياسها، وقانون هس، وقوانين الديناميكا الحرارية، وطاقة غيبس الحرة (Gibbs Free Energy).
7. الحركية والاتزان الكيميائي
تتعلم دراسة سرعات التفاعلات وآلياتها والعوامل المؤثرة فيها، بالإضافة إلى مبادئ الاتزان الكيميائي.
8. الأحماض والقواعد والمحاليل
تتعرف على حسابات pH، والأحماض والقواعد الضعيفة، والمحاليل المنظمة (Buffers)، والمعايرة والذوبانية.
9. الكيمياء الكهربائية والنووية
تدرس تفاعلات الأكسدة والاختزال، وجهود الخلايا الكهروكيميائية، والتفاعلات النووية.
10. كيمياء المركبات التناسقية
تتعرف على الأيونات المعقدة، والمركبات التناسقية، ونظرية المجال البلوري (Crystal Field Theory).
لمن تناسب هذه الدورة؟
تناسب طلاب الكيمياء والطب والهندسة والعلوم، والمستعدين لاختبارات مثل MCAT، وكل من يريد تأسيس معرفته بالكيمياء أو مراجعة المفاهيم الجامعية الأساسية.
الدرس الأهم أن الكيمياء ليست مجموعة من المعادلات للحفظ، بل علم يفسر كيفية تكوين المادة وتفاعلها وانتقال الطاقة بينها. وعندما تفهم المبادئ الأساسية وتتعلم تطبيقها رياضيًا، تصبح الموضوعات الأكثر تقدمًا مترابطة وأسهل في التحليل والاستيعاب.
#الكيمياء #التعليم_المجاني #freeCodeCamp
freecodecamp.org/news/genera…
كيف يمكنك تطوير لعبة حاسوبية متكاملة باستخدام لغة C من الصفر؟ وكيف تبني منطق اللعبة وتتعامل مع الرسومات والحركات والمؤثرات الصوتية دون الاعتماد على محركات ألعاب ضخمة؟
يُعد تطوير الألعاب من الطرق العملية لتعلم البرمجة، لأنه يجمع بين التفكير المنطقي وتنظيم الكود ومعالجة مدخلات المستخدم وإدارة الحالات والرسومات.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
C Game Development with Raylib
الدورة من تقديم Erik Yuzwa، ومدتها ساعة واحدة، وتشرح بناء لعبة ألغاز من نوع Match-3 باستخدام لغة C ومكتبة الرسومات Raylib.
تشبه فكرة اللعبة ألعاب Candy Crush وBejeweled، ولكن بتصميم مستوحى من الألعاب الكلاسيكية باستخدام رموز ASCII.
ماذا ستتعلم في هذه الدورة؟
1. إعداد مشروع تطوير الألعاب بلغة C
تتعلم تجهيز بيئة العمل وتنظيم ملفات المشروع، والتعرف على الأدوات اللازمة لتطوير اللعبة باستخدام Raylib.
2. بناء حلقة اللعبة الرئيسية (Game Loop)
تتعرف على كيفية تنفيذ منطق اللعبة بصورة متكررة إطارًا بعد إطار، وإدارة عمليات التحديث والرسم.
3. إنشاء لوحة اللعب
تبني شبكة من المربعات (Tiles)، وتتعلم رسمها وتوسيطها داخل نافذة اللعبة، مع إضافة صورة للخلفية.
4. التعامل مع مدخلات المستخدم
تتعلم التقاط نقرات الفأرة وربطها بإجراءات اللعب، مثل تحديد المربعات والتفاعل معها.
5. برمجة منطق Match-3
تنفذ آلية اكتشاف المربعات المتطابقة وإزالتها، وهي الوظيفة الأساسية التي تقوم عليها اللعبة.
6. تبديل المربعات وإدارة حالات اللعبة
تتعلم التعامل مع عمليات تبديل المربعات وتنظيم حالات اللعبة المختلفة لضمان تفاعل صحيح مع المستخدم.
7. إضافة الحركات (Animations)
تطبق حركات انتقالية للمربعات لجعل التفاعل أكثر سلاسة، مع تنسيق الحركة مع منطق اللعبة.
8. تطوير واجهة اللعبة والمؤثرات
تضيف نظام النقاط، وتستخدم خط TTF مخصصًا، وتنفذ مؤثرات بصرية مثل ظهور النقاط وتأثيرات الانفجار.
9. إضافة الأصوات والموسيقى
تتعلم دمج المؤثرات الصوتية والموسيقى لإعطاء اللاعب استجابة واضحة عند تنفيذ الإجراءات المختلفة.
10. تحسين اللعبة وإنهاء المشروع
تجمع المكونات السابقة في لعبة قابلة للتشغيل، مع مراجعة الكود وتحسين تجربة اللعب.
لمن تناسب هذه الدورة؟
تناسب متعلمي لغة C، وطلاب علوم الحاسوب، والمبتدئين في تطوير الألعاب، وكل من يريد فهم المبادئ الأساسية لبناء الألعاب ثنائية الأبعاد.
يُفضّل امتلاك معرفة أولية بلغة C قبل البدء، ولا يشترط وجود خبرة سابقة في تطوير الألعاب.
الدرس الأهم أن تطوير الألعاب ليس مجرد رسم عناصر على الشاشة، بل هو بناء نظام مترابط يجمع بين حلقة التحديث وإدارة الحالات ومعالجة المدخلات وتنفيذ قواعد اللعب. ومن خلال مشروع صغير باستخدام C وRaylib، يمكنك اكتساب فهم عملي لآليات عمل الألعاب وبناء أساس قوي لتطوير مشاريع أكثر تعقيدًا.
#تطوير_الألعاب #لغة_C #Raylib
freecodecamp.org/news/c-game…

