
نحن مجتمع يضم ملايين الأشخاص الذين ينمون مهارات جديدة ويحصلون على وظائف جديدة في نفس الوقت. المنظمة غير ربحية 501(c)(3). التغريدات بواسطة @programmingoce
Joined February 2021
- Tweets3.4K
- Following3
- Followers4.2K
- Likes366
Pinned Tweet
إطلاق النسخة العربية من freeCodeCamp!
freecodecamp.org/arabic/
اليوم نفتح بابًا جديدًا أمام كل من يريد تعلّم البرمجة وتطوير مهاراته التقنية باللغة العربية.
أطلقنا الصفحة العربية لـ freeCodeCamp لتكون نقطة انطلاق تجمع لك أهم ما تحتاجه لتبدأ وتستمر:
• مسارات تعليمية متكاملة في البرمجة وتطوير الويب
• تحديات برمجية يومية لبناء مهاراتك بالممارسة
• شهادات مجانية تساعدك على توثيق ما تعلمته
• تعلّم الإنجليزية المهنية للمطورين
• اللغة الإسبانية المهنية للمطورين
• مشاريع عملية تساعدك على بناء خبرتك
• موارد للتحضير لمقابلات البرمجة
• دورات ومصادر إضافية من مجتمع freeCodeCamp
والأهم…
كل هذا مجانًا.
الفكرة ليست أن نقدم لك قائمة طويلة من الدورات، بل أن نساعدك على بناء مسار واضح:
تعلّم → طبّق → ابنِ مشاريع → احصل على شهادات → استعد لسوق العمل.
إذا كنت تفكر منذ فترة في دخول عالم البرمجة، فهذه فرصتك لتبدأ.
وإذا كنت مبرمجًا بالفعل، فقد تجد فيها موارد تساعدك على تطوير مهاراتك أو توجيه شخص يريد دخول هذا المجال.
ابدأ من هنا:
freeCodeCamp بالعربية
freecodecamp.org/arabic/
شارك الإعلان مع شخص يقول لك دائمًا:
«أريد أن أتعلم البرمجة، لكن لا أعرف من أين أبدأ.»
ربما يكون هذا هو المكان الذي يبدأ منه.
#البرمجة #الذكاء_الاصطناعي
هل تستخدم Microsoft Excel يوميًا، لكنك لا تزال تنفذ بعض العمليات الحسابية يدويًا؟ وهل تعرف متى تستخدم VLOOKUP أو INDEX وMATCH، وكيف تختار الدالة المناسبة لتحليل بياناتك بسرعة ودقة؟
يُعد Excel من أهم الأدوات المستخدمة في تحليل البيانات، وإعداد التقارير، وتنظيم المعلومات، وأتمتة المهام المتكررة. وإتقان المعادلات والدوال الأساسية يساعدك على توفير الوقت وتقليل الأخطاء وتحسين إنتاجيتك.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
Learn the Top Excel Formulas and Functions
الدورة من إعداد Grant Huang، ومدتها 75 دقيقة، وتشرح أهم المعادلات والدوال التي يحتاجها مستخدمو Excel، مع التركيز على التطبيقات العملية.
ماذا ستتعلم في هذه الدورة؟
1. فهم مراجع الخلايا (Cell References)
تتعرف على الفرق بين المراجع النسبية (Relative References) والمراجع المطلقة (Absolute References)، وكيفية التحكم في تغير مراجع الخلايا عند نسخ المعادلات.
2. العمليات الحسابية الأساسية
تتعلم تنفيذ الجمع والطرح والضرب والقسمة داخل Excel، وكتابة المعادلات بطريقة صحيحة.
3. دوال SUM وAVERAGE
تستخدم SUM لحساب مجموع القيم، وAVERAGE لحساب المتوسط الحسابي، وهما من أكثر الدوال استخدامًا في تحليل البيانات.
4. الدالة الشرطية IF
تتعلم استخدام IF لبناء معادلات تتخذ قرارات بناءً على شروط محددة، مثل تصنيف النتائج أو تحديد حالة البيانات.
5. دوال البحث VLOOKUP وHLOOKUP
تتعرف على كيفية البحث عن المعلومات داخل الجداول واسترجاع القيم المرتبطة بها، باستخدام البحث العمودي والأفقي.
6. دالتا INDEX وMATCH
تتعلم الجمع بين INDEX وMATCH لتنفيذ عمليات بحث أكثر مرونة، خصوصًا عند التعامل مع جداول كبيرة أو معقدة.
7. الدوال النصية (TEXT Functions)
تتعرف على دوال معالجة النصوص، وكيفية استخدامها لتنظيم البيانات النصية وتنظيفها وإعدادها للتحليل.
8. دوال التاريخ والوقت (DATE & TIME)
تتعلم التعامل مع التواريخ والأوقات داخل الجداول، والاستفادة منها في تنظيم المواعيد والجداول الزمنية.
9. الدوال المنطقية AND وOR وNOT
تستخدم هذه الدوال لبناء شروط متعددة، والتحقق من البيانات، وتطوير معادلات أكثر تقدمًا لاتخاذ القرارات.
10. الاختصارات وأفضل الممارسات
تتعرف على أساليب واختصارات تساعدك على تسريع العمل، وأتمتة العمليات المتكررة، وتحسين دقة النتائج.
ما المهارات التي ستكتسبها؟
ستتمكن من كتابة المعادلات بصورة أكثر كفاءة، والبحث عن البيانات داخل الجداول، وتنفيذ الحسابات الشرطية، ومعالجة النصوص والتواريخ، وتقليل الاعتماد على العمليات اليدوية.
لمن تناسب هذه الدورة؟
تناسب المبتدئين في Excel، وطلاب الجامعات، والمحاسبين، والمحللين، والموظفين الذين يتعاملون مع الجداول والتقارير، وكل من يرغب في تطوير مهاراته في تحليل البيانات.
الدرس الأهم أن احتراف Excel لا يعتمد على حفظ أكبر عدد من الدوال، بل على فهم وظيفة كل دالة ومعرفة متى تستخدمها. وعندما تتقن مراجع الخلايا والدوال الحسابية والشرطية ودوال البحث، تصبح قادرًا على تحويل الجداول التقليدية إلى أدوات فعالة للتحليل واتخاذ القرارات.
#Excel #تحليل_البيانات #freeCodeCamp
freecodecamp.org/news/learn-…
كيف يعمل نموذج DeepSeek V3 من الداخل؟ وما الذي يميز آلية الانتباه Multi-Head Latent Attention عن آليات الانتباه التقليدية؟ وكيف يمكن استخدام Mixture of Experts لبناء نماذج لغوية كبيرة أكثر كفاءة؟
لفهم النماذج اللغوية الحديثة (LLMs) بعمق، لا يكفي معرفة كيفية استخدامها، بل من المهم دراسة المعماريات الرياضية والخوارزميات التي تعتمد عليها، ثم فهم كيفية تحويل هذه الأفكار إلى شيفرة برمجية.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
Understand and Code DeepSeek V3
الدورة من تقديم Vuk Rosić من Beam AI، ومدتها 4 ساعات، وتركز على فهم الورقة البحثية لنموذج DeepSeek V3 وتنفيذ مكوناته الأساسية برمجيًا.
ماذا ستتعلم في هذه الدورة؟
1. فهم معمارية DeepSeek V3
تتعرف على الأفكار الأساسية وراء النموذج، وكيف يجمع بين آليات الانتباه المتقدمة ومعمارية الخبراء المتعددين لتحسين كفاءة العمليات الحسابية.
2. أساسيات آلية الانتباه (Attention Mechanism)
تدرس كيفية معالجة الرموز (Tokens) داخل النماذج اللغوية، وكيف تساعد آلية الانتباه على تحديد العلاقات بين عناصر التسلسل النصي.
3. فهم Query وKey وValue
تتعلم كيفية تحويل تمثيلات الرموز إلى متجهات Q وK وV، وكيف تُحسب درجات التشابه باستخدام الضرب النقطي (Dot Product).
4. حساب أوزان الانتباه
تتعرف على استخدام Softmax لتحويل درجات التشابه إلى أوزان انتباه، وأهمية Causal Masking لمنع النموذج من الوصول إلى الرموز المستقبلية أثناء التدريب.
5. آلية Multi-Head Latent Attention (MLA)
تدرس إحدى أبرز مساهمات DeepSeek، وهي استخدام تمثيلات كامنة مضغوطة داخل آلية الانتباه، بما يساعد على تقليل متطلبات تخزين معلومات الانتباه أثناء الاستدلال.
وتتناول الدورة المفاهيم والمعادلات الرياضية التي تقوم عليها هذه الآلية.
6. التضمينات الموضعية الدوّارة (RoPE)
تتعرف على Rotary Positional Embeddings وكيفية تمثيل المعلومات المتعلقة بمواقع الرموز داخل التسلسل، ودورها في حسابات الانتباه.
7. معمارية الخبراء المتعددين (MoE)
تفهم كيفية تنظيم النموذج باستخدام شبكات خبراء متعددة، ودور آليات التوجيه (Gating) في اختيار الخبراء المناسبين لمعالجة المدخلات.
8. الشبكات العصبية داخل الخبراء
تتعرف على دور الشبكات الأمامية متعددة الطبقات (MLPs) بوصفها مكونات أساسية داخل معمارية Mixture of Experts.
9. الحوسبة المتوازية باستخدام GPUs
تستكشف مفاهيم توزيع عمليات ضرب المصفوفات على وحدات معالجة الرسوميات، وكيف يمكن الاستفادة من التوازي لتحسين كفاءة الحسابات.
10. الانتقال من المعادلات إلى الشيفرة
تربط بين المفاهيم النظرية والتنفيذ البرمجي، بهدف فهم كيفية تمثيل العمليات الرياضية داخل مكونات النموذج.
ما الذي يميز هذه الدورة؟
لا تقتصر على تقديم وصف عام لـ DeepSeek V3، بل تربط بين الورقة البحثية والمعادلات والتنفيذ البرمجي للمكونات الأساسية.
ومن المهم التمييز بين تنفيذ المكونات المعمارية لأغراض التعلم وبين إعادة إنتاج النموذج الكامل بأوزانه وقدراته الأصلية؛ فالوصف لا يشير إلى إعادة تدريب DeepSeek V3 بالكامل.
لمن تناسب هذه الدورة؟
تناسب طلاب الذكاء الاصطناعي، والباحثين في التعلم العميق، ومطوري النماذج اللغوية، وكل من يمتلك أساسيات الشبكات العصبية ويرغب في التعمق في معماريات LLMs الحديثة.
الدرس الأهم أن فهم النماذج اللغوية المتقدمة يبدأ من استيعاب العمليات الرياضية التي تقف خلفها، خصوصًا Attention وMLA وMoE. وعندما تستطيع ربط المعادلات بالشيفرة البرمجية، تصبح أكثر قدرة على قراءة الأبحاث العلمية وتحليل المعماريات الحديثة وتطوير أفكار بحثية جديدة.
#DeepSeekV3 #التعلم_العميق #النماذج_اللغوية
freecodecamp.org/news/unders…
هل ترغب في بناء تطبيق يشبه Instagram باستخدام Laravel وMongoDB؟ وكيف يمكنك تطوير منصة اجتماعية متكاملة تتيح للمستخدمين نشر الصور، وإدارة حساباتهم، والتفاعل مع المنشورات بالإعجابات والتعليقات؟
يُعد بناء تطبيق اجتماعي من أفضل المشاريع العملية لتعلم تطوير الويب المتكامل (Full Stack)، لأنه يجمع بين تصميم الواجهات، وبرمجة الخادم، وإدارة قواعد البيانات، والمصادقة، ورفع الملفات.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
Code a full stack Instagram Clone with Laravel and MongoDB
الدورة من إعداد وتقديم Beau Carnes، ومدتها ساعة واحدة، وتشرح بناء تطبيق مستوحى من Instagram باستخدام Laravel وMongoDB وBootstrap 5.
ماذا ستتعلم في هذه الدورة؟
1. فهم تطوير Full Stack
تتعرف على كيفية تكامل الواجهة الأمامية (Frontend) مع الخادم (Backend) وقاعدة البيانات لبناء تطبيق ويب تفاعلي.
2. أساسيات Laravel ومعمارية MVC
تتعلم تنظيم المشروع باستخدام Models وViews وControllers، وإعداد المسارات في web.php، واستخدام Blade لبناء صفحات ديناميكية.
3. ربط Laravel بقاعدة MongoDB
تتعرف على إعداد MongoDB واستخدام حزمة mongodb/laravel-mongodb للتعامل مع المستندات والمجموعات من خلال نماذج Eloquent المتوافقة معها.
4. إدارة المستخدمين والمصادقة
تطبق إنشاء الحسابات وتسجيل الدخول، وتطوير الملفات الشخصية مع إمكانية تعديل الاسم واسم المستخدم والوصف الشخصي والصورة.
5. إنشاء المنشورات وعرضها
تتعلم تطوير نظام يسمح للمستخدمين بنشر الصور مع وصف نصي، وعرض المنشورات داخل صفحة رئيسية تشبه موجز Instagram.
6. تنفيذ الإعجابات والتعليقات
تبني نظام Like/Unlike، وتتيح إضافة التعليقات وحذفها، مع تنظيم العلاقات بين المستخدمين والمنشورات والتعليقات.
7. رفع الصور وإدارة الملفات
تستخدم نظام التخزين في Laravel لحفظ صور المنشورات والملفات الشخصية محليًا، مع التعرف على إمكانية التوسع لاحقًا إلى خدمات تخزين سحابية مثل AWS S3.
8. استخدام MongoDB Atlas
تتعلم إنشاء قاعدة بيانات سحابية، وإعداد المستخدمين وصلاحيات الاتصال وإعدادات الشبكة، ثم ربط التطبيق بها.
9. تصميم الواجهات باستخدام Bootstrap 5
تستخدم Bootstrap لبناء واجهات متجاوبة ومنظمة، مع تصميم مستوحى من تجربة Instagram.
ما الذي يميز هذا المشروع؟
يجمع بين Laravel بوصفه إطار عمل منظمًا لتطوير التطبيقات، وMongoDB بوصفها قاعدة بيانات مستندية مرنة لتخزين بيانات المستخدمين والمنشورات والتفاعلات.
كما يمنحك فرصة لفهم العلاقات بين البيانات في بيئة NoSQL، وكيفية إدارة المحتوى الذي ينشئه المستخدمون.
لمن تناسب هذه الدورة؟
تناسب متعلمي PHP وLaravel، وطلاب علوم الحاسوب، ومطوري Backend وFull Stack.
ويُفضل امتلاك معرفة أساسية بـ HTML وCSS وJavaScript، واستخدام سطر الأوامر، مع تجهيز PHP وComposer وMongoDB.
الدرس الأهم أن تطوير تطبيق اجتماعي متكامل لا يعتمد على تصميم الواجهات فقط، بل يتطلب فهم المصادقة وإدارة البيانات والعلاقات بين المستخدمين والمحتوى ورفع الملفات. ومن خلال بناء نسخة تعليمية من Instagram، يمكنك تطبيق هذه المفاهيم في مشروع عملي يعزز مهاراتك في تطوير الويب.
#Laravel #MongoDB #fullstackdeveloper
freecodecamp.org/news/code-a…
هل تعلم أنه يمكنك بناء تطبيق يعرض حالة الطقس لأي مدينة باستخدام Python؟ وكيف يمكنك ربط برنامجك بالإنترنت وجلب بيانات حقيقية باستخدام APIs بدلًا من الاكتفاء بالمشاريع البرمجية التقليدية؟
من أفضل الطرق لتطوير مهاراتك في Python الانتقال من البرامج البسيطة إلى مشاريع تتعامل مع خدمات خارجية، وتستقبل البيانات وتعالجها وتعرض النتائج للمستخدم.
نشر موقع freeCodeCamp مقالًا تطبيقيًا بعنوان:
How to Build a Command-Line Weather App with Python
المقال من إعداد Sameer Qaiser، ويشرح كيفية بناء تطبيق لسطر الأوامر (CLI) يعرض درجة الحرارة وسرعة الرياح الحالية لمدينة يحددها المستخدم، بالاعتماد على واجهات Open-Meteo المجانية.
ماذا ستتعلم في هذا المشروع؟
1. تجهيز بيئة التطوير
تتعلم إعداد Python واستخدام محرر مثل VS Code، وتثبيت مكتبة requests لإرسال طلبات HTTP إلى الخدمات الخارجية.
2. فهم واجهات البرمجة (APIs)
تتعرف على كيفية تواصل برنامج Python مع خدمة عبر الإنترنت للحصول على بيانات حقيقية، بدلًا من الاعتماد على معلومات ثابتة داخل الشيفرة.
3. تحويل أسماء المدن إلى إحداثيات
تستخدم Geocoding API من Open-Meteo لتحويل اسم مدينة مثل Karachi أو New York إلى خط العرض (Latitude) وخط الطول (Longitude).
كما تتعلم التعامل مع الحالات التي لا تعثر فيها الخدمة على المدينة المطلوبة.
4. جلب بيانات الطقس الحالية
تستخدم Forecast API للحصول على درجة الحرارة المقاسة على ارتفاع مترين temperature_2m وسرعة الرياح على ارتفاع عشرة أمتار wind_speed_10m.
5. معالجة بيانات JSON
تتعلم قراءة استجابات API باستخدام response.json()، والوصول إلى البيانات المطلوبة من القواميس (Dictionaries) داخل Python.
6. تشغيل البرنامج من سطر الأوامر
تستخدم مكتبة sys لاستقبال اسم المدينة عند تشغيل البرنامج، مثل:
python weather.py Madrid
وتتعلم التعامل مع أسماء المدن المكونة من أكثر من كلمة باستخدام sys.argv.
7. معالجة الأخطاء (Error Handling)
تستخدم try وexcept للتعامل مع مشكلات الاتصال، وأخطاء استجابات HTTP، والبيانات غير المتوقعة، بدلًا من توقف البرنامج بصورة مفاجئة.
8. اختبار التطبيق وتطويره
بعد تشغيل التطبيق، يمكنك توسيعه بإضافة الرطوبة، والتوقعات الجوية، واختيار المدينة من نتائج متعددة، وتحسين طريقة عرض المعلومات.
ما المهارات التي ستكتسبها؟
ستطبق عمليًا استخدام الدوال، والقواميس، وطلبات HTTP، ومعالجة JSON، وتمرير الوسائط من الطرفية، والتعامل مع الأخطاء.
ومن المهم الانتباه إلى أن بعض أسماء المدن تتكرر في دول مختلفة؛ لذلك فإن اختيار أول نتيجة من خدمة البحث لا يضمن دائمًا تحديد الموقع المقصود.
لمن يناسب هذا المشروع؟
يناسب المبتدئين الذين تعلموا أساسيات Python ويرغبون في تنفيذ مشروع عملي، وطلاب البرمجة، وكل من يريد فهم كيفية التعامل مع REST APIs.
الدرس الأهم أن تعلم البرمجة لا يتحقق بنسخ الشيفرة وتشغيلها فقط، بل بمحاولة إعادة بناء المشروع بنفسك، وفهم أسباب الأخطاء وإصلاحها. وبعد الانتهاء من تطبيق الطقس، يمكنك استخدام الفكرة نفسها لبناء تطبيقات تتعامل مع واجهات API للأفلام أو البيانات المالية أو النتائج الرياضية.
#Python #تعلم_البرمجة #API
freecodecamp.org/news/how-to…
هل تواجه صعوبة في إعداد بيئة تطوير C++؟ وكيف يمكنك إدارة المكتبات الخارجية، وأتمتة بناء المشاريع، وتشغيلها على Windows وLinux وmacOS دون إعادة إعداد كل شيء من البداية؟
تطوير التطبيقات الاحترافية باستخدام C++ لا يقتصر على كتابة الشيفرة البرمجية، بل يتطلب فهم أدوات البناء وإدارة الاعتماديات والتحكم في الإصدارات وإنشاء بيئات تطوير قابلة لإعادة الإنتاج.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
C++ Setup and Installation Tools – CMake, vcpkg, Docker & Copilot
الدورة من إعداد Daniel Gakwaya، ومدتها 6 ساعات، وتركز على تجهيز بيئة تطوير احترافية باستخدام مجموعة من الأدوات الأساسية في مشاريع C++ الحديثة.
ماذا ستتعلم في هذه الدورة؟
1. إعداد بيئة تطوير C++
تتعلم كيفية تجهيز أدوات التطوير والمترجمات على أنظمة Windows وLinux وmacOS، وفهم دور الأدوات المختلفة في بناء المشاريع وتشغيلها.
2. إدارة بناء المشاريع باستخدام CMake
تتعرف على CMake وكيفية استخدام ملف CMakeLists.txt لتحديد ملفات المشروع وإعدادات الترجمة والمكتبات المطلوبة.
كما تتعلم كيف يساعد CMake على إنشاء ملفات البناء المناسبة لأنظمة التشغيل وأدوات الترجمة المختلفة.
3. إدارة المكتبات باستخدام vcpkg
تتعلم استخدام مدير الحزم vcpkg الذي طورته Microsoft لتنزيل المكتبات الخارجية وتثبيتها وإدارة اعتماديات المشروع.
وتتعرف على كيفية دمجه مع CMake لتسهيل استخدام مكتبات مثل Boost وOpenCV وfmt.
4. إنشاء بيئات تطوير باستخدام Docker
تدرس كيفية استخدام Docker لإنشاء حاويات تحتوي على المترجمات والأدوات والمكتبات اللازمة لتطوير تطبيقات C++.
وتتعرف على أهمية هذه البيئات في توحيد إعدادات التطوير بين أعضاء الفريق وتقليل المشكلات الناتجة عن اختلاف الأنظمة.
5. الاستفادة من GitHub Copilot
تتعرف على كيفية استخدام GitHub Copilot للمساعدة في كتابة الشيفرة، واقتراح الدوال، وإنشاء الأجزاء البرمجية المتكررة.
كما تفهم دوره بوصفه أداة مساعدة للمطور، وليس بديلًا عن فهم لغة C++ ومراجعة الشيفرة واختبارها.
6. إدارة الإصدارات باستخدام Git
تتعلم أساسيات استخدام Git لتتبع التعديلات على المشروع، وتنظيم العمل البرمجي، ودعم التعاون بين المطورين.
7. استكشاف المترجمات باستخدام Compiler Explorer
تتعرف على أداة Compiler Explorer التي تتيح تجربة شيفرات C++ ومشاهدة تعليمات Assembly الناتجة عن ترجمتها.
وهذا يساعدك على فهم العلاقة بين الشيفرة المصدرية وطريقة تعامل المترجم معها.
8. تنظيم بيئات التطوير الاحترافية
تتعرف على كيفية الجمع بين CMake وvcpkg وDocker وGit لبناء سير عمل أكثر تنظيمًا، مع إمكانية الاستفادة منه في عمليات التكامل المستمر والنشر (CI/CD).
لمن تناسب هذه الدورة؟
تناسب المبتدئين في C++، وطلاب علوم الحاسوب، ومطوري الأنظمة والبرمجيات، وكل من يريد الانتقال من كتابة برامج بسيطة إلى إدارة مشاريع متعددة الملفات والمكتبات والمنصات.
الدرس الأهم أن احتراف C++ لا يعتمد على إتقان اللغة وحدها، بل يشمل القدرة على إعداد بيئة تطوير موثوقة، وإدارة الاعتماديات، وأتمتة عمليات البناء، وفهم سلوك المترجم. وإتقان أدوات مثل CMake وvcpkg وDocker وGit يمنحك أساسًا عمليًا لتطوير مشاريع أكثر تنظيمًا وقابلية للصيانة والتعاون.
#CPP #CMake #تطوير_البرمجيات
freecodecamp.org/news/c-setu…
كيف يمكن لمطور برمجيات أن ينتقل من إصلاح أجهزة الحاسوب إلى منصب المدير التقني (CTO)، ثم يؤسس منصة تعليمية تساعد المطورين على الاستعداد لشهادات الحوسبة السحابية؟ وهل الشهادات المهنية وحدها كافية لبناء مسيرة ناجحة في Cloud Engineering وDevOps؟
في الحلقة رقم 120 من بودكاست freeCodeCamp، يستضيف Quincy Larson المهندس ورائد الأعمال Andrew Brown، الشريك المؤسس لمنصة ExamPro.co، للحديث عن مسيرته المهنية وتجربته في اجتياز عشرات اختبارات الشهادات السحابية وتعليم التقنيات الحديثة.
عنوان الحلقة:
CTO Andrew Brown Passed Dozens of Cloud Certification Exams [freeCodeCamp Podcast Episode #120]
ما أبرز المحاور التي تتناولها الحلقة؟
1. البدايات في صيانة الحاسوب
يستعرض Andrew بداياته المهنية في تسعينيات القرن الماضي، عندما كان يعمل في إصلاح أجهزة الحاسوب، وكيف ساعدته هذه التجربة على بناء معرفته التقنية.
2. دخول مجال تطوير الويب
يتحدث عن عمله المبكر مطورًا مستقلًا (Freelancer)، وكيف ساهمت مشاريع تطوير الويب في فتح فرص مهنية جديدة أمامه.
3. الوصول إلى منصب CTO
يناقش تطوره الوظيفي وانتقاله بين الوظائف والترقيات حتى وصل إلى منصب المدير التقني، وهو منصب يتطلب الجمع بين الخبرة الهندسية والقدرة على قيادة الفرق واتخاذ القرارات التقنية.
4. تأسيس منصة ExamPro
يروي كيف شارك في تأسيس ExamPro co، وهي منصة تعليمية متخصصة في مساعدة المتعلمين على الاستعداد لاختبارات الشهادات المهنية، خصوصًا في مجال الحوسبة السحابية.
5. اجتياز عشرات اختبارات الشهادات السحابية
يتناول تجربته الواسعة مع اختبارات الشهادات المهنية، وكيف ساعدته هذه الخبرة على تطوير محتوى تعليمي موجه للمهندسين والمطورين.
6. كيف تبدأ في Cloud Engineering وDevOps؟
يقدم Andrew نصائح للمطورين الراغبين في دخول المجالين، ويناقش كيفية تحديد أولويات التعلم واختيار الشهادات المهنية التي تستحق التركيز عليها.
7. التعليم التقني عبر freeCodeCamp
يتحدث عن الدورات التعليمية التي يقدمها لمساعدة المتعلمين على الاستعداد لاختبارات الشهادات السحابية، ودور المحتوى المجاني في توسيع فرص التعلم.
8. التعامل مع التحديات الصحية باستخدام الذكاء الاصطناعي
يشارك تجربته مع اضطراب التوتر العضلي الصوتي (Muscle Tension Dysphonia)، وهي حالة تؤثر في قدرته على استخدام صوته.
كما يشرح كيف يستفيد من أدوات الذكاء الاصطناعي للتعامل مع بعض الصعوبات الناتجة عن هذه الحالة.
9. المشاريع الشخصية والاهتمامات التقنية
يتحدث عن حبه للعبة Tetris Attack، وكيف طور نسخة دقيقة من حيث توقيت الإطارات لدعم اللعب التنافسي عبر الإنترنت، بالإضافة إلى اهتمامه بسلسلة Star Trek.
لمن تناسب هذه الحلقة؟
تناسب مطوري البرمجيات، والمهتمين بالحوسبة السحابية وDevOps، والأشخاص الذين يستعدون للحصول على شهادات تقنية، وكل من يريد فهم كيفية الانتقال من العمل التقني إلى القيادة الهندسية وريادة الأعمال.
الدرس الأهم أن بناء مسيرة مهنية قوية في التقنية يتطلب أكثر من جمع الشهادات؛ فهو يعتمد أيضًا على الخبرة العملية، والتعلم المستمر، والقدرة على التكيف مع التحديات. وتوضح تجربة Andrew Brown كيف يمكن تحويل المعرفة التقنية إلى فرص للقيادة والتعليم وتأسيس مشاريع يستفيد منها الآخرون.
#الحوسبة_السحابية #DevOps #freeCodeCamp
freecodecamp.org/news/cto-an…
هل يمكنك تطوير تطبيقات للهواتف الذكية باستخدام JavaScript وCSS دون الحاجة إلى تعلم لغات مختلفة لكل نظام تشغيل؟ وكيف يمكن بناء تطبيقات متعددة المنصات مع الحفاظ على سرعة الاستجابة وسلاسة الواجهات؟
مع تطور تقنيات تطوير التطبيقات، ظهرت أطر عمل تتيح الاستفادة من خبرات تطوير الويب لبناء تطبيقات تعمل على الهواتف الذكية.
ومن هذه التقنيات إطار العمل Lynx، وهو مشروع مفتوح المصدر طورته شركة ByteDance، المعروفة بتطوير تطبيق TikTok.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
Learn Lynx to Create JavaScript Mobile Apps
الدورة من إعداد Brijen Makwana، ومدتها 3 ساعات، وتشرح كيفية بناء تطبيق للبحث عن ألعاب الفيديو باستخدام Lynx، مع ربطه بواجهة API وإضافة التنقل وإدارة البيانات والتفاعلات.
ماذا ستتعلم في هذه الدورة؟
1. التعرف على إطار العمل Lynx
تتعرف على فكرة Lynx وكيفية استخدام تقنيات الويب مثل JavaScript وCSS لبناء واجهات تطبيقات متعددة المنصات، مع دعم Android وiOS والويب.
2. إعداد بيئة التطوير
تتعلم إنشاء مشروع Lynx جديد، وفهم بنية الملفات، واستخدام Lynx Explorer لاختبار التطبيق، وتجهيز Lynx DevTools لتسهيل التطوير.
3. بناء مكونات الواجهة
تتعلم إنشاء مكونات قابلة لإعادة الاستخدام مثل GameCard لعرض الألعاب وGameCategory لتنظيم التصنيفات، وتجميعها داخل واجهات التطبيق.
4. فهم المعمارية ثنائية الخيوط (Dual-Thread Architecture)
تدرس إحدى أهم خصائص Lynx، وهي فصل مهام عرض الواجهة عن تنفيذ منطق JavaScript في خيط آخر، بهدف تحسين استجابة التطبيق.
كما تتعرف على الحالات التي تتطلب تنفيذ الشيفرة على الخيط الرئيسي.
5. الاتصال بواجهات API
تتعلم ربط التطبيق بواجهة IGDB API للحصول على بيانات ألعاب الفيديو، واستخدام Postman لاختبار الطلبات والاستجابات.
6. إدارة البيانات باستخدام TanStack Query
تتعرف على استخدام TanStack Query لإدارة البيانات القادمة من الخادم، وتنظيم عمليات جلبها وتحديثها داخل التطبيق.
7. التنقل بين صفحات التطبيق
تتعلم استخدام React Router لتنفيذ التنقل بين الشاشات، وبناء صفحات مثل Game Details وGame Events وGame Search.
8. تنسيق الواجهات وإضافة الحركات
تستخدم CSS لتصميم واجهات التطبيق، وإضافة Animations وTransitions، والاستفادة من المتغيرات والمحددات لتوحيد المظهر.
ما المشروع الذي ستبنيه؟
تطبيق للبحث عن ألعاب الفيديو، يتيح استعراض الألعاب وتصنيفاتها، والبحث عنها، والانتقال إلى صفحات التفاصيل والأحداث، مع جلب البيانات من مصدر خارجي.
لمن تناسب هذه الدورة؟
تناسب مطوري JavaScript وReact، ومطوري الواجهات الأمامية، وطلاب علوم الحاسوب، وكل من يريد استكشاف تطوير تطبيقات الهواتف باستخدام تقنيات الويب.
الدرس الأهم أن تطوير التطبيقات متعددة المنصات لا يعتمد فقط على إعادة استخدام JavaScript وCSS، بل يتطلب فهم كيفية تنفيذ الشيفرة وعرض الواجهات وإدارة البيانات والتفاعلات بكفاءة. وتقدم Lynx نموذجًا معماريًا يستحق الدراسة، خصوصًا لمن يريد الانتقال من تطوير الويب إلى تطبيقات الهواتف الذكية.
#JavaScript #Lynx #تطوير_التطبيقات
freecodecamp.org/news/learn-…
هل تساءلت يومًا كيف تُدرَّب النماذج اللغوية الكبيرة مثل ChatGPT؟ وهل يمكنك بناء نموذج لغوي خاص بك، بدءًا من البيانات الخام وصولًا إلى مساعد ذكي قادر على إجراء المحادثات؟
تدريب النماذج اللغوية الكبيرة (LLMs) عملية تتضمن تجهيز البيانات، وتحويل النصوص إلى رموز، وبناء المعمارية العصبية، والتدريب المسبق، ثم الضبط الدقيق لتعليم النموذج اتباع التعليمات.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
Train Your Own LLM
الدورة من إعداد وتقديم Imad Saddik، ومدتها 4 ساعات، وتشرح خطوات بناء وتدريب نموذج لغوي باستخدام الدارجة المغربية (Moroccan Darija) مثالًا عمليًا.
ماذا ستتعلم في هذه الدورة؟
1. جمع البيانات وتجهيزها (Data Preparation)
تتعلم كيفية إعداد النصوص المستخدمة في تدريب النموذج، وتجهيز مجموعة بيانات مناسبة لعملية التعلم.
2. بناء Tokenizer من الصفر
تتعرف على خوارزمية Byte Pair Encoding (BPE)، وكيفية تنفيذ Tokenizer يحول النصوص إلى رموز (Tokens) يمكن للنموذج معالجتها.
3. ترميز البيانات (Data Encoding)
تتعلم استخدام Tokenizer لتحويل مجموعة البيانات النصية إلى تسلسلات رقمية مناسبة لتدريب النموذج اللغوي.
4. فهم معمارية Transformer
تدرس المكونات الأساسية لمعمارية Transformer، وكيف تساعد آليات الانتباه (Attention Mechanisms) النموذج على تعلم العلاقات بين الرموز داخل التسلسلات النصية.
5. التدريب المسبق (Pre-training)
تتعلم تدريب نموذج لغوي على البيانات المُرمَّزة، ليتعلم الأنماط الإحصائية والبنية اللغوية من النصوص.
6. إعداد بيانات الضبط الدقيق
تتعرف على كيفية إنشاء مجموعة بيانات للتعلم الخاضع للإشراف (Supervised Fine-Tuning)، تتضمن أمثلة تساعد النموذج على تعلم الاستجابة للمهام والتعليمات.
7. ضبط النموذج لاتباع التعليمات (Instruction Tuning)
تتعلم كيفية تحويل النموذج المدرب مسبقًا إلى نموذج أكثر قدرة على فهم الطلبات وتنفيذ المهام الحوارية.
8. الضبط الدقيق باستخدام LoRA
تدرس تقنية Low-Rank Adaptation (LoRA)، التي تتيح تكييف النماذج عبر تدريب عدد محدود من المعاملات الإضافية، بدلًا من تحديث جميع معاملات النموذج.
9. بناء مساعد ذكي للمحادثة
تنتقل إلى ضبط النموذج لاستخدامه في المحادثات، وتجربة التفاعل معه بوصفه مساعدًا لغويًا.
ما الذي يميز هذه الدورة؟
تجمع الدورة مراحل تطوير النموذج في مسار تطبيقي واحد، من تجهيز البيانات وبناء Tokenizer إلى التدريب المسبق والضبط الدقيق.
كما أن استخدام الدارجة المغربية يقدم مثالًا عمليًا على تطوير النماذج اللغوية للغات واللهجات المختلفة.
لمن تناسب هذه الدورة؟
تناسب طلاب علوم الحاسوب، ومطوري Python، والمهتمين بمعالجة اللغة الطبيعية (NLP)، والباحثين والمطورين الراغبين في فهم تدريب النماذج اللغوية عمليًا.
الدرس الأهم أن بناء نموذج لغوي لا يقتصر على استخدام نموذج جاهز، بل يتطلب فهم سلسلة مترابطة من العمليات، تبدأ بالبيانات والترميز، وتمر بمعمارية Transformer والتدريب المسبق، وتنتهي بالضبط الدقيق. وإتقان هذه المراحل يمنحك أساسًا أقوى لفهم النماذج الحديثة وتطوير تطبيقات لغوية متخصصة.
#النماذج_اللغوية #التعلم_العميق #LLM
freecodecamp.org/news/train-…
كيف يمكنك بناء خطوط أنابيب بيانات (Data Pipelines) باستخدام Python؟ وكيف تتعامل مع تغير هياكل البيانات وقيود واجهات API وتحميل ملايين السجلات دون تكرارها أو فقدانها؟
تُعد عملية استيعاب البيانات (Data Ingestion) من المراحل الأساسية في هندسة البيانات، حيث تُجمع المعلومات من مصادر مختلفة وتُجهز وتُحمّل إلى أنظمة التخزين والتحليل.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
Data Loading with Python and AI
الدورة من إعداد Alexey Grigorev وAdrian Brudaru، وبدعم من dlthub، وتتناول بناء خطوط بيانات موثوقة وقابلة للتوسع باستخدام Python ومكتبة dlt، مع تطبيقات للذكاء الاصطناعي التوليدي.
ماذا ستتعلم في هذه الدورة؟
1. أساسيات استيعاب البيانات (Data Ingestion)
تتعرف على كيفية استخراج البيانات من المصادر المختلفة، والفرق بين المعالجة الدفعية (Batching) وتدفق البيانات (Streaming)، والتعامل مع REST APIs.
2. تجهيز البيانات وتحميلها
تتعلم تطبيع البيانات (Normalization) وتحويلها إلى بنية مناسبة للتخزين، ثم تحميلها إلى قاعدة البيانات التحليلية DuckDB.
3. التعامل مع تغير مخططات البيانات
تدرس Dynamic Schema Management وكيفية التعامل مع تغير الحقول وأنواع البيانات، واكتشاف التعديلات التي قد تؤثر في خطوط المعالجة.
4. بناء خطوط البيانات باستخدام dlt
تتعرف على مكتبة dlt مفتوحة المصدر، واستخدام REST API Client وResources لاستخراج البيانات وتنظيم عمليات تحميلها، مع إدارة الأسرار وبيانات الاتصال.
5. ضمان اتساق البيانات
تتعلم استخدام Data Contracts وWrite Dispositions لتحديد قواعد التعامل مع البيانات، وكيفية الاستجابة للتغيرات في بنيتها.
6. التحميل التدريجي والتاريخي
تدرس Incremental Loading لتحميل البيانات الجديدة أو المتغيرة، وBackfilling لاستكمال البيانات التاريخية، ومفهوم SCD Type 2 للاحتفاظ بتاريخ التغيرات.
7. تحسين الأداء وأنظمة التخزين
تتعرف على تحسين أداء خطوط البيانات ونقلها بين قواعد SQL، وتحميلها إلى Data Lakes وLakehouses وData Warehouses، مع فهم دور Staging وData Catalogs.
8. تشغيل خطوط البيانات وأتمتتها
تتعلم نشر المهام وجدولتها وإدارة تنفيذها باستخدام GitHub Actions وCrontab وDagster وApache Airflow.
9. بناء خطوط بيانات بمساعدة النماذج اللغوية
تستكشف كيفية الاستفادة من LLMs في إنشاء خطوط البيانات، وصياغة Prompts مناسبة، وتجهيز توثيق يسهل على النماذج فهم متطلبات المشروع.
لمن تناسب هذه الدورة؟
تناسب مهندسي البيانات، ومطوري Python، ومحللي البيانات، وطلاب علوم الحاسوب، وكل من يريد تعلم بناء أنظمة لاستخراج البيانات وتحميلها وأتمتتها.
الدرس الأهم أن هندسة البيانات لا تقتصر على نقل المعلومات من مصدر إلى آخر، بل تتطلب ضمان موثوقية التحميل، والتعامل مع تغير المخططات، وإدارة البيانات التاريخية، وتحسين الأداء، وأتمتة التشغيل. وتوضح هذه الدورة كيف يمكن الجمع بين Python وdlt وأدوات التنسيق والذكاء الاصطناعي لبناء خطوط بيانات أكثر مرونة وقابلية للصيانة.
#هندسة_البيانات #Python #DataEngineering
freecodecamp.org/news/data-l…
هل ترغب في تعلم Laravel من خلال بناء مشروع حقيقي يشبه منصة Medium؟ وكيف يمكنك تطوير منصة لنشر المقالات تتيح للمستخدمين إنشاء الحسابات وكتابة المنشورات ومتابعة الكُتّاب والتفاعل مع المحتوى؟
يُعد Laravel من أشهر أطر العمل المبنية بلغة PHP، ويتميز بتوفير أدوات تساعد المطورين على بناء تطبيقات ويب متكاملة، تشمل إدارة المستخدمين وقواعد البيانات والمسارات والواجهات.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
Learn Laravel by Building a Medium Clone
الدورة من تقديم The Codeholic، وتعتمد على بناء منصة تدوين اجتماعية مستوحاة من Medium، بداية من إعداد المشروع وحتى تطوير ميزات النشر والتفاعل وإدارة الحسابات.
ماذا ستتعلم في هذه الدورة؟
1. إعداد مشروع Laravel
تتعلم تجهيز بيئة التطوير، وإنشاء مشروع جديد، وفهم بنية المجلدات وإعدادات التطبيق، واستخدام أداة Artisan لإدارة المشروع.
2. إنشاء الحسابات والمصادقة
تستخدم Laravel Breeze لتنفيذ التسجيل وتسجيل الدخول، مع إضافة التحقق من البريد الإلكتروني وإدارة حسابات المستخدمين.
3. التعامل مع قواعد البيانات
تتعرف على Models وMigrations وFactories وSeeders، وكيفية إنشاء الجداول وتجهيز البيانات التجريبية، واستخدام Tinker للتفاعل مع التطبيق.
4. تصميم الواجهات باستخدام Blade
تتعلم استخدام Blade Templates وDirectives وComponents وLayouts لبناء صفحات ديناميكية ومكونات قابلة لإعادة الاستخدام.
5. إدارة المقالات والمنشورات
تطبق إنشاء المقالات وعرض تفاصيلها وتعديلها وحذفها، وإدارة تاريخ النشر باستخدام الحقل published_at.
6. تطوير الملفات الشخصية
تبني صفحات الملفات الشخصية العامة، وتتيح للمستخدمين تحديث بياناتهم وصورهم الشخصية وعرض المقالات المرتبطة بحساباتهم.
7. إضافة التفاعلات الاجتماعية
تنفذ ميزات متابعة المستخدمين وإلغاء المتابعة، والإعجاب بالمقالات وإلغاء الإعجاب، وعرض منشورات الحسابات التي يتابعها المستخدم.
8. تنظيم المحتوى وتحسين تجربة الاستخدام
تتعلم تصفية المقالات حسب التصنيفات، وتقسيم النتائج إلى صفحات (Pagination)، ورفع الصور وتغيير أبعادها، وتحسين الصفحة الرئيسية.
9. فهم معمارية MVC
تتعرف عمليًا على العلاقة بين Models وViews وControllers، وكيفية تنظيم منطق التطبيق والتحقق من المدخلات وإدارة العلاقات بين الجداول.
ما المشروع الذي ستبنيه؟
منصة نشر مقالات تتضمن حسابات مستخدمين، وملفات شخصية، ونظام متابعة وإعجابات، وإدارة المقالات والتصنيفات والصور، مع صفحات ديناميكية متصلة بقاعدة البيانات.
لمن تناسب هذه الدورة؟
تناسب متعلمي PHP، وطلاب علوم الحاسوب، ومطوري Backend وFull Stack، وكل من يريد الانتقال من تعلم أساسيات Laravel إلى بناء تطبيق عملي متعدد الميزات.
الدرس الأهم أن إتقان Laravel لا يعتمد على معرفة أوامره ومكوناته بصورة منفصلة، بل على فهم كيفية تكامل المصادقة وقواعد البيانات والواجهات والعلاقات بين المستخدمين والمحتوى. ومن خلال بناء منصة شبيهة بـ Medium، تكتسب خبرة عملية في تصميم تطبيق ويب يجمع بين إدارة البيانات والتفاعل الاجتماعي وتنظيم الشيفرة البرمجية.
#Laravel #PHP #تطوير_الويب
freecodecamp.org/news/learn-…
هل تجد صعوبة في فهم مصطلحات تعلم الآلة والذكاء الاصطناعي؟ وما الفرق بين Gradient Descent وRegularization؟ وكيف تعرف أن نموذجك يعمل جيدًا باستخدام Precision وRecall وAUC؟
أحد أكبر التحديات عند تعلم Machine Learning هو فهم المفاهيم الرياضية والإحصائية والمعمارية التي تقوم عليها النماذج، خاصة عندما تُشرح بصورة نظرية مجردة.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
Essential Machine Learning Concepts Animated
الدورة من تقديم Vladimirs من القناة التعليمية Turing Time Machine، ومدتها 27 دقيقة، وتشرح أكثر من 100 مفهوم ومصطلح في تعلم الآلة والذكاء الاصطناعي باستخدام الرسوم المتحركة والتشبيهات العملية.
ماذا ستتعلم في هذه الدورة؟
1. أساسيات تعلم الآلة
تتعرف على مفاهيم Regression وVariance، والفرق بين التعلم الخاضع للإشراف (Supervised Learning) والتعلم غير الخاضع للإشراف (Unsupervised Learning).
2. المفاهيم الإحصائية الأساسية
تفهم التوزيع الطبيعي (Normal Distribution)، ومتوسط مربع الخطأ (MSE)، والقيمة الاحتمالية (p-value)، واختبارات t-test، ودورها في تحليل البيانات.
3. تحسين النماذج (Optimization)
تتعرف على Gradient Descent وStochastic Gradient Descent، وكيف تُستخدم لتحديث معاملات النماذج وتقليل دوال الخسارة.
كما تتعرف على Regularization ودوره في الحد من فرط التكيف (Overfitting).
4. تقييم أداء نماذج تعلم الآلة
تتعلم مفاهيم Precision وRecall وConfusion Matrix وAUC، وكيف تساعد هذه المقاييس على تقييم أداء نماذج التصنيف من زوايا مختلفة.
5. خوارزميات تعلم الآلة التقليدية
تستكشف Decision Trees وRandom Forests وSupport Vector Machines، وتتعرف على الأفكار الأساسية وراء هذه الخوارزميات.
6. الشبكات العصبية والتعلم العميق
تتعرف على Neural Networks، ومعماريات CNN وRNN وLSTM وTransformers، مع شرح بصري لأفكارها الأساسية.
7. تجهيز البيانات وبناء النماذج
تتعلم مفاهيم Data Preprocessing وFeature Engineering ومعالجة القيم المفقودة، بالإضافة إلى Train-Test Split وCross-Validation واختيار النموذج المناسب.
8. تطبيقات الذكاء الاصطناعي
تستكشف معالجة اللغة الطبيعية (NLP)، وتحليل المشاعر (Sentiment Analysis)، واكتشاف الأجسام (Object Detection)، والرسوم البيانية المعرفية (Knowledge Graphs).
9. مفاهيم متقدمة واتجاهات بحثية
تتعرف بصورة تمهيدية على Variational Autoencoders وQuantum Machine Learning، لفهم بعض الاتجاهات المتقدمة في المجال.
ما الذي يميز هذه الدورة؟
تعتمد على الرسوم المتحركة والأمثلة البصرية لتبسيط أكثر من 100 مفهوم خلال 27 دقيقة، مما يجعلها مناسبة لبناء تصور عام ومراجعة المصطلحات بسرعة، وليست بديلًا عن الدراسة الرياضية والتطبيق البرمجي المتعمق.
لمن تناسب هذه الدورة؟
تناسب المبتدئين في تعلم الآلة، وطلاب علوم الحاسوب، ومحللي البيانات، ومطوري الذكاء الاصطناعي، وكل من يستعد لمقابلة تقنية أو يريد مراجعة المفاهيم الأساسية.
الدرس الأهم أن فهم تعلم الآلة لا يبدأ بحفظ أسماء الخوارزميات، بل باستيعاب العلاقة بين البيانات والتدريب والتحسين والتقييم. وعندما تفهم هذه المفاهيم بصريًا، يصبح الانتقال إلى المعادلات الرياضية وتنفيذ النماذج برمجيًا أكثر وضوحًا وتنظيمًا.
#تعلم_الآلة #الذكاء_الاصطناعي #MachineLearning
freecodecamp.org/news/essent…
هل يمكن لشخص يعمل في قطاع البناء أن يصبح مطور برمجيات، ثم يتحول إلى معلم يتعلم منه ملايين المبرمجين حول العالم؟ وما الذي يتطلبه الانتقال إلى مجال التقنية دون أن تكون بدايتك المهنية مرتبطة بالبرمجة؟
في الحلقة رقم 122 من بودكاست freeCodeCamp، يستضيف Quincy Larson المبرمج والمعلم John Smilga، أحد أبرز مقدمي الدورات البرمجية على منصة freeCodeCamp، للحديث عن رحلته من العمل في البناء إلى تطوير البرمجيات وتعليم ملايين المطورين.
عنوان الحلقة:
From Construction Worker to Teaching Millions of Developers with John Smilga [Podcast #122]
ما أبرز المحاور التي تتناولها الحلقة؟
1. الطفولة والنشأة في الاتحاد السوفيتي
يتحدث John عن طفولته في لاتفيا قبل انهيار الاتحاد السوفيتي، وكيف شكلت هذه المرحلة جزءًا من تجربته الشخصية.
2. البحث عن فرص عمل خارج الوطن
يناقش انتقاله إلى جزيرة غيرنزي (Guernsey) التابعة للتاج البريطاني، حيث عمل في قطاع الضيافة خلال سعيه لبناء مستقبل مهني أفضل.
3. خمس سنوات في قطاع البناء
بعد انتقاله إلى الولايات المتحدة، عمل John في قطاع البناء لمدة خمس سنوات، قبل أن يتمكن من تغيير مساره المهني نحو تطوير البرمجيات.
4. تعلم البرمجة ذاتيًا
يروي كيف بدأ تعلم البرمجة بنفسه أثناء عمله، وكيف ساعده التعلم المستمر على اكتساب المهارات اللازمة لدخول المجال التقني.
5. الجمع بين العمل والدراسة الجامعية
لم يكتفِ John بالتعلم الذاتي، بل التحق أيضًا بمقررات جامعية عبر الإنترنت للحصول على شهادة أكاديمية، بالتوازي مع مسؤولياته الأخرى.
6. الانتقال من تطوير البرمجيات إلى تعليمها
يتحدث عن رحلته في شرح مفاهيم البرمجة وعلوم الحاسوب، وكيف تطور عمله التعليمي حتى أصبحت دوراته تصل إلى ملايين المتعلمين عبر freeCodeCamp.
7. بناء مسار مهني مستدام في التعليم
يناقش الفرق بين الدورات المجانية التي يقدمها للمجتمع البرمجي والدورات المدفوعة التي تساعده على تحقيق دخل يدعم استمراره في التعليم.
8. التحديات الصحية والشخصية
يكشف John عن حالة صحية تؤثر في أحباله الصوتية، إذ يعاني من شلل جزئي فيها ويحتاج إلى تلقي حقن علاجية بصورة متكررة.
ورغم هذا التحدي، أصبح صوته مألوفًا لدى عدد كبير من المطورين الذين يتابعون دروسه.
9. الحياة العائلية والاستقرار
يتحدث أيضًا عن لقائه بزوجته، وهي ممرضة من أوكرانيا، وتأسيس أسرتهما واستقرارهما في ولاية فلوريدا الأمريكية.
لمن تناسب هذه الحلقة؟
تناسب الأشخاص الذين يفكرون في تغيير مسارهم المهني إلى البرمجة، والمتعلمين ذاتيًا، وطلاب علوم الحاسوب، والمطورين المهتمين بمشاركة معرفتهم وتعليم الآخرين.
كما تقدم تجربة شخصية مفيدة لكل من يحاول الموازنة بين العمل والدراسة والمسؤوليات العائلية.
الدرس الأهم أن البداية المهنية لا تحدد بالضرورة المسار الذي ستصل إليه. فرحلة John Smilga من العمل في البناء إلى تعليم ملايين المطورين توضح كيف يمكن للتعلم الذاتي والتعليم الأكاديمي والممارسة المستمرة أن تفتح فرصًا مهنية جديدة، وكيف يمكن أن تتحول المعرفة التي يكتسبها شخص واحد إلى مصدر تعلم يستفيد منه ملايين الأشخاص حول العالم.
#تعلم_البرمجة #freeCodeCamp #تطوير_المهارات
freecodecamp.org/news/from-c…
هل تعرف الفرق بين map() وfilter() وreduce() في JavaScript؟ ومتى ينبغي استخدام slice() بدلًا من تعديل المصفوفة الأصلية؟
تُعد المصفوفات (Arrays) من أهم هياكل البيانات في JavaScript، إذ تُستخدم لتخزين القوائم وتنظيم المعلومات ومعالجتها، سواء كنت تطور موقعًا بسيطًا أو تطبيق ويب متكاملًا.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
All About JavaScript Arrays
وتحمل الدورة اسم JavaScript Array Master Course، وهي من إعداد Tapas Adhikary، ومدتها 3 ساعات، وتتضمن أكثر من 70 تمرينًا ومهمة تطبيقية تساعدك على إتقان المصفوفات من الأساسيات إلى المفاهيم المتقدمة.
ماذا ستتعلم في هذه الدورة؟
1. أساسيات المصفوفات (Arrays)
تتعلم كيفية إنشاء المصفوفات وتخزين البيانات داخلها، والوصول إلى العناصر والتعامل معها في البرامج المختلفة.
2. إضافة العناصر وحذفها
تتعرف على دوال مثل push() وpop()، وكيفية استخدامها لإضافة العناصر وإزالتها من المصفوفات.
3. استخراج أجزاء من المصفوفات
تتعلم استخدام slice() للحصول على أجزاء محددة من البيانات دون تعديل المصفوفة الأصلية.
4. التعامل مع العناصر باستخدام Destructuring
تدرس كيفية استخراج قيم المصفوفات مباشرة إلى متغيرات، مما يساعد على كتابة شيفرة أكثر وضوحًا واختصارًا.
5. استخدام Rest وSpread Operators
تتعرف على كيفية تجميع العناصر وتوسيعها باستخدام العامل ...، وتطبيق ذلك في التعامل مع المصفوفات والدوال.
6. الفرق بين Mutable وImmutable Methods
تفهم الفرق بين الدوال التي تعدل المصفوفة الأصلية وتلك التي تعيد نتائج جديدة دون تغيير البيانات الأصلية.
7. معالجة البيانات باستخدام map وfilter وreduce
تتعلم استخدام:
map() لتحويل عناصر المصفوفة.
filter() لاختيار العناصر التي تحقق شرطًا معينًا.
reduce() لتجميع العناصر وحساب نتيجة واحدة.
8. استكشاف دوال إضافية للمصفوفات
تتعرف على دوال مثل Array.from() وfindLastIndex() وflatMap()، وكيفية استخدامها في معالجة البيانات.
9. اختيار الدالة المناسبة
لا تركز الدورة على حفظ أسماء الدوال فقط، بل تساعدك على فهم متى تستخدم كل دالة ولماذا، وفقًا لطبيعة المشكلة البرمجية.
10. تمارين ومشاريع تطبيقية
تتضمن الدورة أكثر من 70 مهمة، وأمثلة عملية ومشاريع مصغرة، بالإضافة إلى جلسات مراجعة دورية باسم B.R.E.A.K. لتعزيز استيعاب المفاهيم.
لمن تناسب هذه الدورة؟
تناسب المبتدئين في JavaScript، وطلاب علوم الحاسوب، ومطوري الواجهات الأمامية، وكل من يريد تحسين مهاراته في معالجة البيانات وكتابة شيفرة أكثر تنظيمًا.
الدرس الأهم أن إتقان JavaScript لا يعتمد على حفظ الدوال البرمجية، بل على فهم كيفية اختيار الأداة المناسبة لمعالجة البيانات. وعندما تتقن المصفوفات وعمليات التحويل والتصفية والتجميع، تصبح أكثر قدرة على حل المشكلات البرمجية وبناء تطبيقات واضحة وقابلة للصيانة.
#JavaScript #تعلم_البرمجة #تطوير_الويب
freecodecamp.org/news/all-ab…
كيف تعمل النماذج اللغوية الكبيرة مثل Llama 4 من الداخل؟ وهل يمكنك بناء مكوناتها البرمجية بنفسك بدلًا من الاكتفاء باستخدام نماذج جاهزة عبر واجهات API؟
لفهم النماذج اللغوية الكبيرة (LLMs) بعمق، لا يكفي معرفة كيفية كتابة الأوامر (Prompts)، بل من المهم دراسة كيفية تحويل النصوص إلى رموز، وحساب الانتباه، وتمثيل مواقع الكلمات، ومعالجة المعلومات داخل الشبكات العصبية.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
Code Your Own Llama 4 LLM from Scratch
الدورة من تقديم Vuk Roshik، ومدتها 3 ساعات، وتركز على فهم المكونات الأساسية للنماذج اللغوية الحديثة وتنفيذها برمجيًا، مع استعراض بعض الابتكارات المعمارية في Llama 4.
ماذا ستتعلم في هذه الدورة؟
1. كيف تعمل النماذج اللغوية الكبيرة؟
تتعرف على المبادئ الأساسية لعمل LLMs، وكيف تتعامل مع المدخلات النصية وتستخدم الأنماط التي تعلمتها لتوليد المخرجات.
2. تحويل النصوص إلى رموز (Tokenization)
تتعلم مفهوم Tokens وكيفية بناء Tokenizer يحول النصوص إلى وحدات يمكن للنموذج معالجتها.
3. آلية الانتباه (Attention Mechanism)
تفهم كيف تستخدم النماذج آلية الانتباه لربط الرموز ببعضها وتحديد المعلومات المهمة أثناء معالجة التسلسلات النصية.
4. تنفيذ الانتباه برمجيًا
تنتقل من الفهم النظري إلى كتابة الشيفرة اللازمة لحساب الانتباه، بما يساعدك على استيعاب العمليات الرياضية داخل بنية Transformer.
5. التضمينات الموضعية الدوّارة (RoPE)
تدرس Rotary Positional Embeddings، وكيف تساعد النموذج على تمثيل المعلومات المتعلقة بمواقع الرموز داخل التسلسل.
6. دمج RoPE مع آلية الانتباه
تتعلم كيفية إدخال التمثيلات الموضعية في حسابات الانتباه وتنفيذ هذه العملية برمجيًا.
7. الشبكات الأمامية (Feedforward Networks)
تتعرف على دور طبقات Feedforward في معالجة التمثيلات الناتجة من الانتباه، وكيف تشكل جزءًا أساسيًا من بنية النموذج.
8. معمارية الخبراء المتعددين (Mixture of Experts)
تستكشف مفهوم MoE المستخدم في Llama 4، حيث يتكون النموذج من شبكات خبراء متعددة، ويُفعّل جزء منها لمعالجة كل مدخل، بهدف تحسين كفاءة استخدام الموارد أثناء الحساب.
9. النماذج متعددة الوسائط (Multimodal Models)
تتعرف على قدرة Llama 4 على التعامل مع النصوص والصور، وكيف تمثل هذه الإمكانية امتدادًا للنماذج اللغوية التقليدية.
ما الذي يميز هذه الدورة؟
تركز الدورة على الانتقال من المفاهيم الرياضية إلى التنفيذ البرمجي، خصوصًا في Tokenization وAttention وRoPE وFeedforward Networks.
ومن المهم التمييز بين بناء مكونات تعليمية لفهم معمارية Llama 4 وبين إعادة إنتاج نموذج Meta الكامل بأوزانه وبيانات تدريبه وقدراته الأصلية؛ فالوصف المنشور لا يثبت أن الدورة تعيد إنتاج النموذج الكامل.
لمن تناسب هذه الدورة؟
تناسب طلاب علوم الحاسوب، والمهتمين بالتعلم العميق، ومطوري الذكاء الاصطناعي، والباحثين الراغبين في فهم البنية الداخلية للنماذج اللغوية الكبيرة.
الدرس الأهم أن الفهم الحقيقي للنماذج اللغوية لا يبدأ من استخدامها فقط، بل من دراسة مكوناتها الرياضية وتنفيذها برمجيًا. وعندما تفهم Tokenization وAttention وRoPE والشبكات الأمامية، تصبح أكثر قدرة على قراءة الأبحاث العلمية وتحليل المعماريات الحديثة وتطوير أفكار جديدة في مجال النماذج اللغوية الكبيرة.
#الذكاء_الاصطناعي #Llama4 #DeepLearning
freecodecamp.org/news/code-y…
هل تجد صعوبة في فهم التفاضل والتكامل (Calculus)؟ وماذا لو استطعت تحويل المعادلات الرياضية إلى برامج بلغة Python، ورؤية المشتقات والتكاملات والرسوم البيانية بدلًا من الاكتفاء بحلها على الورق؟
يُعد التفاضل والتكامل من أهم فروع الرياضيات المستخدمة في الهندسة والفيزياء وعلوم البيانات والذكاء الاصطناعي، إذ يساعدنا على فهم التغير والحركة ومعدلات النمو والمساحات.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
Learn Calculus by Coding in Python
الدورة من تقديم أستاذ الرياضيات الجامعي Ed Pratowski، وتجمع بين شرح مفاهيم التفاضل والتكامل وتطبيقها برمجيًا باستخدام Python.
ماذا ستتعلم في هذه الدورة؟
1. النهايات (Limits)
تتعرف على مفهوم النهاية، وفهم الانقطاعات في الرسوم البيانية والخطوط المقاربة (Asymptotes)، وكيفية دراسة سلوك الدوال باستخدام التمثيل البياني.
2. المشتقات (Derivatives)
تتعلم العلاقة بين ميل المنحنى والمشتقة، وكيفية حساب معدلات التغير وتفسيرها رياضيًا وبيانيًا.
3. قواعد الاشتقاق
تدرس قاعدة السلسلة (Chain Rule)، وقاعدة الضرب (Product Rule)، والاشتقاق الضمني (Implicit Differentiation)، وحل المسائل التي تتطلب عدة خطوات.
4. التطبيقات العملية للمشتقات
تستخدم التفاضل في مسائل مالية، وحركة المقذوفات، والمعدلات المرتبطة مثل حركة السلم وتغير حجم البالون، بالإضافة إلى معادلات المماس والمعادلات البارامترية.
5. النظريات الأساسية في التفاضل
تتعرف على نظرية رول (Rolle's Theorem) ونظرية القيمة المتوسطة (Mean Value Theorem)، وكيفية ارتباطهما بسلوك الدوال ومعدلات التغير.
6. التكامل ومجاميع ريمان
تتعلم تقريب المساحة أسفل المنحنى باستخدام Riemann Sums، وفهم العلاقة بين عمليات الجمع والتكامل المحدد.
7. النظرية الأساسية للتفاضل والتكامل
تدرس Fundamental Theorem of Calculus، وكيف تربط بين المشتقات والتكاملات وتساعد في حساب التكاملات المحددة.
8. حساب المساحات والحجوم
تتعلم حساب المساحات بين المنحنيات، والحجوم الناتجة عن دوران الأشكال حول المحورين X وY، بما في ذلك الأجسام المجوفة.
9. تطبيقات هندسية وإحصائية
تستكشف حساب مركز الكتلة (Center of Mass)، وطول القوس (Arc Length)، ومساحة السطح، إلى جانب التعرف على المنحنى الطبيعي (Normal Curve).
10. تطبيق الرياضيات باستخدام Python وSymPy
تتعلم استخدام البرمجة والحساب الرمزي لرسم الدوال وحساب المشتقات والتكاملات، مما يساعد على التحقق من الحلول وفهم النتائج بصريًا.
لمن تناسب هذه الدورة؟
تناسب طلاب الرياضيات والهندسة وعلوم الحاسوب، ومتعلمي علوم البيانات والذكاء الاصطناعي، وكل من يريد تقوية أساسياته الرياضية من خلال التطبيق العملي.
الدرس الأهم أن فهم التفاضل والتكامل لا يعتمد على حفظ القوانين وحدها، بل على إدراك المعاني الرياضية وراء المشتقات والتكاملات وكيفية استخدامها لحل المشكلات. وعندما تجمع بين الرياضيات وPython، تصبح قادرًا على استكشاف المفاهيم بصريًا وحسابيًا، وبناء أساس رياضي أقوى للتخصصات العلمية والتقنية.
#التفاضل_والتكامل #Python #الرياضيات
freecodecamp.org/news/learn-…
هل ترغب في تطوير مواقع وتطبيقات ويب باستخدام Python؟ وكيف يمكنك بناء نظام متكامل يتعامل مع قواعد البيانات وصفحات الويب والنماذج وإدارة المحتوى دون الحاجة إلى تطوير كل مكون من الصفر؟
يُعد Django أحد أشهر أطر العمل لتطوير تطبيقات الويب باستخدام Python، ويتميز بتوفير مجموعة متكاملة من الأدوات التي تساعد المطورين على بناء تطبيقات ديناميكية ومنظمة.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
Django Crash Course for Beginners
الدورة من تقديم Abel Gideon، ومدتها ساعة واحدة، وتقدم مدخلًا عمليًا إلى Django، بداية من إعداد بيئة التطوير وحتى بناء مشروع ويب متكامل.
ماذا ستتعلم في هذه الدورة؟
1. التعرف على إطار العمل Django
تفهم لماذا يُستخدم Django في تطوير تطبيقات الويب، وكيف تساعد فلسفة Batteries Included على توفير أدوات جاهزة لتسريع عملية التطوير.
2. إعداد بيئة التطوير
تتعلم إنشاء مشروع Django والتعامل مع الأدوات الأساسية مثل django-admin وmanage.py لإدارة المشروع وتشغيله.
3. فهم معمارية MVT
تتعرف على نمط Model-View-Template، وكيفية فصل البيانات عن منطق معالجة الطلبات وطريقة عرض الصفحات للمستخدم.
4. إنشاء التطبيقات وإدارة الطلبات
تتعلم إنشاء Django Apps، وكتابة Views لمعالجة طلبات المستخدمين وإرجاع الاستجابات المناسبة.
5. التعامل مع قواعد البيانات
تتعرف على Django Models وكيفية تمثيل البيانات والتعامل معها باستخدام ORM، دون الحاجة إلى كتابة استعلامات SQL لكل عملية.
6. إنشاء صفحات ديناميكية
تستخدم Django Templates لعرض البيانات داخل صفحات HTML وربط محتوى الصفحات بمنطق التطبيق.
7. معالجة النماذج (Forms)
تتعلم كيفية استقبال مدخلات المستخدمين والتعامل مع النماذج داخل تطبيقات Django.
8. إدارة المحتوى باستخدام Django Admin
تتعرف على لوحة الإدارة المدمجة التي تتيح إدارة البيانات والمحتوى من خلال واجهة جاهزة.
9. ربط Django بقاعدة بيانات MySQL
تتعلم كيفية دمج MySQL مع مشروع Django لتخزين البيانات وإدارتها.
10. بناء مشروع عملي متكامل
تطبق المفاهيم السابقة في مشروع يجمع بين التطبيقات والواجهات وقواعد البيانات وإدارة المحتوى، لفهم كيفية عمل المكونات معًا.
لماذا تتعلم Django؟
يوفر Django أدوات مدمجة للمصادقة وإدارة البيانات والنماذج، بالإضافة إلى وسائل حماية من ثغرات شائعة مثل SQL Injection وCross-Site Scripting وCross-Site Request Forgery عند استخدام ميزاته بصورة صحيحة.
ويمكن استخدامه لتطوير المدونات ولوحات المعلومات والتطبيقات المعتمدة على البيانات والخدمات الخلفية.
لمن تناسب هذه الدورة؟
تناسب المبتدئين في تطوير الويب، ومتعلمي Python، وطلاب علوم الحاسوب، والمطورين الراغبين في الانتقال إلى تطوير Backend باستخدام Django.
الدرس الأهم أن بناء تطبيقات الويب لا يقتصر على إنشاء صفحات HTML، بل يتطلب فهم كيفية تنظيم البيانات ومعالجة الطلبات وإدارة قواعد البيانات وربط مكونات النظام. ويوفر Django إطارًا متكاملًا يساعدك على تعلم هذه المفاهيم وتطبيقها عمليًا، ليكون نقطة انطلاق نحو تطوير تطبيقات ويب أكثر تعقيدًا.
#Python #Django #تطوير_الويب
freecodecamp.org/news/django…
تحدي البرمجة اليومي: التنقل بين صفحات المتصفح — Navigator
الهدف من التحدي
بمناسبة ذكرى إطلاق متصفح Netscape Navigator في 28 أكتوبر 1994، يأتي تحدي اليوم بفكرة مستوحاة من تصفح الإنترنت. المطلوب كتابة دالة تستقبل مصفوفة تحتوي على مجموعة من أوامر التنقل داخل المتصفح، ثم تعيد اسم الصفحة الحالية بعد تنفيذ جميع الأوامر بالترتيب.
نقاط تساعدك على الحل:
تستقبل الدالة مصفوفة (Array) من السلاسل النصية، تمثل كل سلسلة أمرًا من أوامر المتصفح.
تبدأ عملية التصفح دائمًا من الصفحة "Home"، ولن تظهر هذه الصفحة ضمن مصفوفة الأوامر الابتدائية.
من الأوامر المتاحة "Visit Page"، حيث تمثل Page اسم الصفحة التي تريد زيارتها.
على سبيل المثال، يشير الأمر "Visit About" إلى الانتقال إلى صفحة اسمها "About".
يجب تنفيذ الأوامر حسب ترتيب ظهورها في المصفوفة، لأن ترتيب التنقل يؤثر في الصفحة النهائية.
فكّر في كيفية تخزين الصفحة الحالية وتحديثها عند تنفيذ أمر زيارة صفحة جديدة.
يمكنك الاستفادة من الحلقات التكرارية (Loops) والشروط (Conditions) لمعالجة الأوامر واحدًا تلو الآخر.
قد يكون الاحتفاظ بسجل الصفحات التي تمت زيارتها مفيدًا إذا تضمنت التعليمات الكاملة أوامر للرجوع أو التقدم.
انتبه إلى أن الصورة تعرض جزءًا فقط من الأوامر المتاحة؛ لذلك راجع بقية التعليمات داخل التطبيق لمعرفة جميع الأوامر وقواعد تنفيذها.
مثال توضيحي:
لنفترض أن مصفوفة الأوامر تحتوي على:
["Visit About", "Visit Contact"]
تبدأ من الصفحة "Home"، ثم تنتقل إلى "About"، وبعدها إلى "Contact".
وبالتالي، تكون النتيجة:
"Contact"
لأنها آخر صفحة تمت زيارتها بعد تنفيذ الأمرين.
حان وقت التطبيق!
جرّب حل التحدي بنفسك باستخدام Python أو JavaScript، وحاول تنظيم منطق التنقل بطريقة تسهّل إضافة أنواع مختلفة من الأوامر، مع الحفاظ على ترتيب تنفيذها وتحديد الصفحة الحالية بدقة.
حمّل تطبيق freeCodeCamp Mobile لممارسة تحديات البرمجة اليومية وتطوير مهاراتك من خلال حل مسائل برمجية قصيرة كل يوم.
باختصار:
نفّذ أوامر التنقل بين صفحات المتصفح بالترتيب، بدءًا من "Home".
أعِد اسم الصفحة الحالية بعد الانتهاء من تنفيذ جميع الأوامر.
#Python #JavaScript
كيف يمكنك تطوير مؤثرات صوتية احترافية باستخدام لغة C++؟ وكيف تستطيع تحويل المفاهيم الرياضية لمعالجة الإشارات الرقمية إلى إضافات صوتية (Audio Plugins) تعمل داخل برامج الإنتاج الموسيقي؟
تُعد البرمجة الصوتية من المجالات التي تجمع بين هندسة البرمجيات والرياضيات والفيزياء والإبداع الموسيقي، حيث تُستخدم الخوارزميات لمعالجة الإشارات الصوتية وإنتاج مؤثرات وأدوات رقمية متنوعة.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
Improve Your C++ Skills by Coding an Audio Plugin
الدورة من تقديم Chuck من Matkat Music، وهو موزع موسيقي وعازف ساكسفون ومنتج ومبرمج، ورُشح لجائزة Grammy ثلاث مرات.
تمتد الدورة إلى 8 ساعات، وتركز على تطوير إضافة صوتية باستخدام C++ وإطار العمل JUCE، من خلال مشروع برمجي عملي.
ماذا ستتعلم في هذه الدورة؟
1. تطوير البرمجيات الصوتية باستخدام C++
تتعرف على كيفية توظيف لغة C++ في بناء التطبيقات الصوتية، ولماذا تُستخدم في الأنظمة التي تتطلب أداءً مرتفعًا ومعالجة سريعة للبيانات.
2. التعرف على إطار العمل JUCE
تتعلم استخدام JUCE، وهو إطار عمل مفتوح المصدر يوفر أدوات لتطوير التطبيقات والإضافات الصوتية عبر منصات متعددة.
3. فهم معالجة الإشارات الرقمية (DSP)
تتعرف على المبادئ الأساسية لمعالجة الصوت رقميًا، وكيف يمكن استخدام الخوارزميات لتعديل خصائص الإشارات الصوتية.
4. استكشاف المؤثرات الصوتية
تدرس مفاهيم مرتبطة بمؤثرات مثل:
Phaser لتعديل الخصائص الطورية للصوت.
Chorus لإنتاج إحساس بتعدد المصادر الصوتية.
Overdrive لإضافة التشبع والتشويه الصوتي.
Filters للتحكم في مكونات الإشارة الترددية.
5. البرمجة الصوتية في الوقت الفعلي
تتعرف على تحديات معالجة الصوت أثناء تشغيله، وأهمية الكفاءة وتقليل التأخير لتجنب الانقطاعات والتشوهات غير المرغوبة.
6. تصميم واجهة رسومية للإضافة
تتعرف على بناء واجهات مستخدم (GUI) تسمح بالتحكم في خصائص المؤثرات الصوتية وضبط إعداداتها.
7. إدارة المعاملات وحالة التطبيق
تتعلم المفاهيم المرتبطة بعناصر التحكم (Parameter Controls)، ومراقبة مستويات الإشارة (Metering)، وإدارة حالة الإضافة الصوتية.
8. بناء مشروع عملي باستخدام JUCE
تطبق مهارات C++ ومفاهيم معالجة الصوت لتطوير إضافة صوتية، بما يساعدك على فهم العلاقة بين الخوارزميات والواجهة الرسومية والتشغيل الفعلي.
لمن تناسب هذه الدورة؟
تناسب مبرمجي C++، وطلاب هندسة الحاسوب والهندسة الكهربائية، والمهتمين بمعالجة الإشارات الرقمية، والموسيقيين والمنتجين الذين يريدون تطوير أدواتهم الصوتية الخاصة.
ويُفضل امتلاك معرفة أساسية بلغة C++ للاستفادة من الجانب التطبيقي.
الدرس الأهم أن تعلم البرمجة يصبح أعمق عندما تُستخدم المفاهيم النظرية في بناء أدوات حقيقية. فتطوير إضافة صوتية باستخدام C++ وJUCE يجمع بين إدارة الموارد والأداء ومعالجة الإشارات وتصميم الواجهات، ويوضح كيف تتحول الخوارزميات الرياضية إلى مؤثرات صوتية يمكن استخدامها في التطبيقات الموسيقية.
#Cpp #معالجة_الإشارات #AudioProgramming
freecodecamp.org/news/improv…
كيف يمكنك الانتقال من تصميم الشعارات إلى احتراف تصميم واجهات المستخدم وتطوير مواقع الويب؟ وهل يحتاج النجاح في مجال التصميم إلى موهبة فطرية، أم أن الممارسة المستمرة والعمل مع العملاء هما الطريق الحقيقي لبناء الخبرة؟
في الحلقة 123 من بودكاست freeCodeCamp، يستضيف Quincy Larson المصمم والمطور Gary Simon، مؤسس منصة DesignCourse، الذي يمتلك خبرة طويلة في التصميم وتطوير الويب، وقدم العديد من الدورات التعليمية عبر freeCodeCamp.
عنوان الحلقة:
How to Become a Pro Designer [Interview with Gary Simon Podcast #123]
تتناول الحلقة رحلة Gary المهنية والشخصية، وكيف انتقل من تنفيذ مشاريع تصميم بسيطة إلى بناء مسيرة في تطوير الويب والتعليم وريادة الأعمال.
أبرز الموضوعات التي تناقشها الحلقة:
1. البداية من بيئة بعيدة عن مراكز التكنولوجيا
يتحدث Gary عن نشأته في المناطق الريفية بولاية أوهايو الأمريكية، وزواجه في سن مبكرة، وقراره الاستمرار في العيش هناك رغم نجاحه المهني.
وتوضح تجربته أن بناء مسيرة في التكنولوجيا لا يتطلب بالضرورة الانتقال إلى مدينة تقنية كبرى.
2. تصميم آلاف الشعارات للعملاء
يستعرض بداياته في العمل الحر، وكيف صمم آلاف الشعارات قبل الانتقال إلى تطوير مواقع الويب.
وتبرز هذه التجربة أهمية الممارسة المتكررة والعمل على متطلبات حقيقية لبناء الخبرة المهنية.
3. الانتقال من التصميم إلى تطوير الويب
يناقش مساره من العمل في التصميم إلى أن أصبح مطور ويب، وكيف يمكن للجمع بين المهارتين أن يوسع الفرص المهنية.
4. تأسيس منصة DesignCourse
يتناول مسيرته في تعليم التصميم وتطوير الويب، وهي المجالات التي يقدم فيها محتوى ودورات تساعد المتعلمين على تطوير مهاراتهم.
5. توظيف المهارات التقنية في مشاريع حقيقية
يتحدث عن استخدام خبرته لمساعدة زوجته على إطلاق نشاطها التجاري عبر الإنترنت في مجال استشارات الرضاعة الطبيعية.
وتوضح هذه التجربة كيف يمكن للتصميم والبرمجة أن يتحولا إلى أدوات عملية لدعم المشروعات الصغيرة.
6. الجمع بين البرمجة والموسيقى
يتناول الحوار شغف Gary بالعزف على الغيتار، إلى جانب اهتمامه بتطوير أدوات مرتبطة بالموسيقى، ومنها Fretastic لتعلم مواقع النغمات على لوحة أصابع الغيتار.
7. التعلم من التجارب المهنية والشخصية
لا تقدم الحلقة منهجًا تقنيًا خطوة بخطوة، بل حوارًا مفتوحًا حول الخبرة المهنية والعمل الحر والإبداع وبناء مسيرة مستقلة في التكنولوجيا.
لمن تناسب هذه الحلقة؟
تناسب مصممي واجهات المستخدم، ومطوري الويب، والمستقلين، وطلاب علوم الحاسوب، وكل من يريد تحويل مهاراته الإبداعية والتقنية إلى مسار مهني مستدام.
ويمكن للمهتمين بالتعمق في التصميم متابعة دورة Learn UI Fundamentals التي قدمها Gary عبر freeCodeCamp، بالإضافة إلى سلسلة DesignCourse التعليمية.
الدرس الأهم أن الاحتراف في التصميم لا يتحقق بمجرد تعلم الأدوات، بل يتطور من خلال الممارسة والعمل مع العملاء وفهم المشكلات الحقيقية. وتوضح تجربة Gary Simon كيف يمكن للمهارات المكتسبة في التصميم والبرمجة أن تفتح فرصًا في العمل الحر والتعليم وريادة الأعمال، حتى بعيدًا عن المراكز التقليدية لصناعة التكنولوجيا.
#تصميم_واجهات_المستخدم #تطوير_الويب #UIUX
freecodecamp.org/news/how-to…
كيف يمكنك بناء تطبيق لإدارة الملفات وتخزينها سحابيًا يشبه Dropbox باستخدام Next.js؟ وكيف تجمع بين تسجيل الدخول وقواعد البيانات ورفع الملفات وإدارة المجلدات في مشروع Full Stack متكامل؟
يُعد بناء التطبيقات العملية من أفضل الطرق لتعلم تطوير الويب، خصوصًا عندما يجمع المشروع بين تقنيات الواجهات الأمامية والخلفية وقواعد البيانات والخدمات السحابية.
نشر موقع freeCodeCamp دورة مجانية بعنوان:
Learn Next.js by Coding Your Own Dropbox Clone – Full Course
الدورة من تقديم Hitesh Choudhary، ومدتها 5 ساعات، وتشرح بناء تطبيق Droply، وهو نظام لإدارة الملفات مستوحى من Dropbox، باستخدام مجموعة من أدوات تطوير الويب الحديثة.
ماذا ستتعلم في هذه الدورة؟
1. تخطيط معمارية التطبيق
تتعلم كيفية تقسيم المشروع إلى مكونات واضحة، وتحديد المتطلبات، وتصميم بنية قاعدة البيانات قبل البدء في كتابة الشيفرة.
2. تطوير Full Stack باستخدام Next.js
تستخدم Next.js لبناء واجهات React وتنفيذ العمليات الخلفية داخل إطار عمل موحد، مع تنظيم المكونات والوظائف المختلفة.
3. المصادقة باستخدام Clerk
تتعلم إنشاء عمليات التسجيل وتسجيل الدخول، وإضافة التحقق عبر البريد الإلكتروني ورموز OTP، مع تخصيص واجهات المصادقة.
4. إدارة قواعد البيانات باستخدام Neon وDrizzle
تستخدم PostgreSQL عبر منصة Neon، وتتعلم تعريف الجداول والاستعلام عنها باستخدام Drizzle ORM مع دعم TypeScript.
5. تصميم المجلدات المتداخلة
تتعرف على كيفية تمثيل المجلدات الهرمية داخل قاعدة البيانات باستخدام العلاقات الذاتية (Self-Referencing Relationships).
6. إدارة مخططات قاعدة البيانات
تتعلم تنفيذ Database Migrations وفحص الجداول والعلاقات باستخدام Drizzle Studio.
7. رفع الملفات وتخزينها باستخدام ImageKit
تدمج خدمة ImageKit لرفع الملفات ومعالجتها وإدارتها، وتتعرف على تقييد أنواع الملفات وبعض الميزات المدعومة بالذكاء الاصطناعي.
8. التحقق من البيانات باستخدام Zod
تستخدم Zod للتحقق من المدخلات والتأكد من توافق البيانات المستقبلة مع البنية المتوقعة.
9. التعامل مع النماذج باستخدام React Hook Form
تتعلم تنظيم نماذج إدخال البيانات وربطها بعمليات التحقق لتحسين تجربة المستخدم.
10. تصميم الواجهة باستخدام Hero UI
تستخدم مكونات Hero UI لبناء واجهات منظمة وقابلة للتخصيص، مع تطوير تجربة مناسبة لإدارة الملفات والمجلدات.
ماذا ستبني في النهاية؟
تطبيق Droply يجمع بين حسابات المستخدمين، وإدارة الملفات والمجلدات، والتخزين السحابي، وقاعدة بيانات PostgreSQL، وواجهة تفاعلية باستخدام Next.js.
وتتضمن الدورة تمارين عملية تساعدك على تطبيق المفاهيم بدلًا من الاكتفاء بمشاهدة الشرح.
لمن تناسب هذه الدورة؟
تناسب مطوري React وNext.js، وطلاب علوم الحاسوب، ومطوري Full Stack، وكل من يريد تعلم كيفية ربط عدة تقنيات حديثة داخل مشروع عملي واحد.
الدرس الأهم أن تطوير تطبيق Full Stack لا يعتمد على إتقان إطار عمل واحد، بل على فهم كيفية تكامل المصادقة وقواعد البيانات والتخزين والتحقق من البيانات وتصميم الواجهات. ومن خلال بناء مشروع مثل Droply، يمكنك اكتساب خبرة عملية في تنظيم تطبيق متعدد المكونات وفهم القرارات الهندسية اللازمة لتطويره وتوسيعه.
#NextJS #تطوير_الويب #FullStackDevelopment
freecodecamp.org/news/code-a…

