<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Ammar Najjar - Blog (AR)</title><description>مدونة شخصية عن هندسة البرمجيات والذكاء الاصطناعي وغير ذلك.</description><link>https://ammar-najjar.com/</link><item><title>كل كاميرا تحكي حكاية</title><link>https://ammar-najjar.com/ar/blog/every-camera-tells-a-story/</link><guid isPermaLink="true">https://ammar-najjar.com/ar/blog/every-camera-tells-a-story/</guid><description>تأمل في الكاميرات التي امتلكتها، وماذا علّمتني كل واحدة منها عن التصوير الفوتوغرافي، وكيف تشكّل العدسة الحكاية.</description><pubDate>Wed, 08 Jul 2026 08:00:00 GMT</pubDate></item><item><title>تسع سنوات على GitHub Pages، لماذا انتقلت أخيراً إلى Cloudflare</title><link>https://ammar-najjar.com/ar/blog/github-pages-to-cloudflare/</link><guid isPermaLink="true">https://ammar-najjar.com/ar/blog/github-pages-to-cloudflare/</guid><description>بعد تسع سنوات من استضافة موقعي الشخصي على GitHub Pages، انتقلت إلى Cloudflare Pages. يشرح هذا المقال السبب: ليس لأن GitHub Pages توقف عن العمل، بل لأن أهدافي تغيرت.</description><pubDate>Fri, 03 Jul 2026 08:00:00 GMT</pubDate></item><item><title>الذكاء الاصطناعي المحلي على MacBook Pro بسعة 16 جيجابايت RAM: ما يعمل فعلاً</title><link>https://ammar-najjar.com/ar/blog/local-ai-setup/</link><guid isPermaLink="true">https://ammar-najjar.com/ar/blog/local-ai-setup/</guid><description>كيفية تشغيل مساعدي البرمجة بالذكاء الاصطناعي محلياً على MacBook Pro M1 بسعة 16 جيجابايت, ما هي النماذج التي تناسب الذاكرة، وما هي الأدوات التي تعمل فعلاً، وما يجب تخطيه.</description><pubDate>Sun, 14 Jun 2026 10:00:00 GMT</pubDate></item><item><title>أدوات التطوير الأساسية: إعداد Brewfile الخاص بي</title><link>https://ammar-najjar.com/ar/blog/essential-dev-tools/</link><guid isPermaLink="true">https://ammar-najjar.com/ar/blog/essential-dev-tools/</guid><description>Brewfile منظم لمهندس برمجيات, أدوات تطوير macOS التي تستحق التثبيت، مع شرح سياق الاستخدام اليومي.</description><pubDate>Mon, 23 Feb 2026 09:00:00 GMT</pubDate></item><item><title>محفظة, متتبع محفظة شخصية خفيفة</title><link>https://ammar-najjar.com/ar/blog/portfolio/</link><guid isPermaLink="true">https://ammar-najjar.com/ar/blog/portfolio/</guid><description>تصميم وتنفيذ متتبع استثمار browser-first مبني باستخدام React وTypeScript وVite, معالجة الحالة والتخزين المؤقت والتفاعل مع الرسوم البيانية مشرح.</description><pubDate>Fri, 12 Dec 2025 11:10:00 GMT</pubDate></item><item><title>إتقان أوامر Git: دليل عملي</title><link>https://ammar-najjar.com/ar/blog/mastering-git/</link><guid isPermaLink="true">https://ammar-najjar.com/ar/blog/mastering-git/</guid><description>دليل عملي لأوامر Git الأساسية، التكوين، التفرع، الدمج، إعادة القاعدة، التخزين المؤقت، والمزيد، مع أمثلة لسير عمل المطورين اليومي.</description><pubDate>Tue, 08 Jul 2025 18:05:50 GMT</pubDate></item><item><title>أنجولار - Content Projection</title><link>https://ammar-najjar.com/ar/blog/angular-content-projection/</link><guid isPermaLink="true">https://ammar-najjar.com/ar/blog/angular-content-projection/</guid><description>دليل حول Content Projection في أنجولار، الأنواع المختلفة (فتحة واحدة، فتحات متعددة، شرطية)، متى يُستخدم كل نوع، وكيفية بناء مكونات مرنة وقابلة لإعادة الاستخدام.</description><pubDate>Sun, 20 Jun 2021 09:05:50 GMT</pubDate></item><item><title>ReactJS: المصفوفات في JSX</title><link>https://ammar-najjar.com/ar/blog/arrays-in-jsx/</link><guid isPermaLink="true">https://ammar-najjar.com/ar/blog/arrays-in-jsx/</guid><description>كيفية عرض المصفوفات بشكل صحيح في ReactJS، لماذا تكرار العناصر هو مشكلة، وكيفية استخدام map() مع المفاتيح لإنشاء قوائم بشكل نظيف.</description><pubDate>Sun, 24 Nov 2019 18:03:52 GMT</pubDate></item><item><title>Fetch باستخدام Gitlab API</title><link>https://ammar-najjar.com/ar/blog/fetch-with-gitlab-api/</link><guid isPermaLink="true">https://ammar-najjar.com/ar/blog/fetch-with-gitlab-api/</guid><description>كيفية استخدام GitLab API مع Python للحصول على بيانات المستودعات، وأتمتة عمليات git، ودمج GitLab في سير عمل التطوير الخاص بك.</description><pubDate>Tue, 19 Feb 2019 13:34:35 GMT</pubDate></item><item><title>PyConDe &amp; PyData 2019</title><link>https://ammar-najjar.com/ar/blog/pyconde-pydata-2019/</link><guid isPermaLink="true">https://ammar-najjar.com/ar/blog/pyconde-pydata-2019/</guid><description>ملاحظات شخصية من حضوري في PyConDe و PyData Berlin 2019, محاضرات، ورش عمل، وأبرز ما في مؤتمر مجتمع بايثون وعلم البيانات.</description><pubDate>Tue, 01 Jan 2019 00:00:00 GMT</pubDate></item><item><title>سلسلة RxJS - المراقبون</title><link>https://ammar-najjar.com/ar/blog/rxjs-observables/</link><guid isPermaLink="true">https://ammar-najjar.com/ar/blog/rxjs-observables/</guid><description>مقدمة حول مراقبات RxJS, ما هي، كيف تختلف عن الوعود، وكيف تستخدمها للبرمجة التفاعلية في JavaScript و Angular.</description><pubDate>Tue, 01 Jan 2019 00:00:00 GMT</pubDate></item><item><title>Webdrivers مخصصة لـ Selenium باستخدام المُزخرفات</title><link>https://ammar-najjar.com/ar/blog/custom-selenium-webdrivers/</link><guid isPermaLink="true">https://ammar-najjar.com/ar/blog/custom-selenium-webdrivers/</guid><description>كيفية إنشاء فئات WebDriver مخصصة لـ Selenium بشكل ديناميكي مع مسار ثنائي للمتصفح مُعامَل باستخدام مُزخرفات Python.</description><pubDate>Sun, 09 Apr 2017 05:33:18 GMT</pubDate></item><item><title>ترقية Fedora23 (الملف الشخصي غير المُوسم)</title><link>https://ammar-najjar.com/ar/blog/fedora23-upgrade/</link><guid isPermaLink="true">https://ammar-najjar.com/ar/blog/fedora23-upgrade/</guid><description>كيفية إصلاح مشكلة المجلد غير المُوسم التي تمواجه عند الترقية من Fedora 23 إلى Fedora 24، مع خطوات إعادة التسمية SELinux الدقيقة.</description><pubDate>Sun, 03 Jul 2016 15:07:02 GMT</pubDate></item><item><title>تجميع Vim من الكود المصدري</title><link>https://ammar-najjar.com/ar/blog/build-vim-from-source/</link><guid isPermaLink="true">https://ammar-najjar.com/ar/blog/build-vim-from-source/</guid><description>دليل خطوة بخطوة لتجميع Vim من الكود المصدري على Linux لتفعيل دعم Python ووضع العميل-الخادم والميزات الأخرى المفقودة في حزم التوزيعة.</description><pubDate>Thu, 23 Jun 2016 16:22:02 GMT</pubDate></item><item><title>إعداد ذراع روبوت Lwa4p</title><link>https://ammar-najjar.com/ar/blog/lwa4p-robot/</link><guid isPermaLink="true">https://ammar-najjar.com/ar/blog/lwa4p-robot/</guid><description>كيفية إعداد ذراع روبوت Schunk Powerball LWA4P مع MoveIt و ROS, الخطوات، المصاعب، ونص تثبيت كامل من تجارب مخبرية حقيقية.</description><pubDate>Wed, 22 Jun 2016 12:43:32 GMT</pubDate></item><item><title>مغامرة عبر vimrc الخاص بي (nvimrc)</title><link>https://ammar-najjar.com/ar/blog/vimrc-aventure/</link><guid isPermaLink="true">https://ammar-najjar.com/ar/blog/vimrc-aventure/</guid><description>جولة إرشادية عبر تكوين Vim و Neovim, الإضافات وتحديدات المفاتيح والإعدادات التي تراكمت على مدى سنوات من الاستخدام اليومي، مع شروحات لكل خيار.</description><pubDate>Sun, 19 Jun 2016 06:38:02 GMT</pubDate></item><item><title>OpenCV على OpenShift</title><link>https://ammar-najjar.com/ar/blog/opencv-on-openshift/</link><guid isPermaLink="true">https://ammar-najjar.com/ar/blog/opencv-on-openshift/</guid><description>كيفية تثبيت OpenCV على كارترidge OpenShift بـ Python 2.7 مع البقاء ضمن حد الحصة المكونة من 1 جيجابايت، مع سكربت bash كامل للإعداد.</description><pubDate>Fri, 17 Jun 2016 16:02:02 GMT</pubDate></item></channel></rss>