مقالات حسب المؤلف

المؤلف: عمار نجار

عمار نجار22 مقال

مقالات المدونة

  • كل كاميرا تحكي حكاية

    كل كاميرا تحكي حكاية

    بين الحين والآخر، أجد نفسي أتصفح كاميرات جديدة. أفتح مراجعة جديدة، أو أقارن ورقة مواصفات أخرى، أو أشاهد مصوّراً يشرح لماذا كاميرا هذا العام أفضل من كاميرا العام الماضي. يبدأ الأمر دائماً بفضول بسيط، وقبل أن أدرك، تمر ساعات. في مكان ما بين فيديوهات المقارنات ومنتديات التصوير وإعلانات الكاميرات المستعملة، أجد نفسي أتخيل كيف سيكون الأمر لو امتلكت كاميرا مختلفة.

    اقرأ المزيد →
  • تسع سنوات على GitHub Pages، لماذا انتقلت أخيراً إلى Cloudflare

    تسع سنوات على GitHub Pages، لماذا انتقلت أخيراً إلى Cloudflare

    لمدة تسع سنوات تقريباً، كان موقعي على GitHub Pages. مجاني، موثوق، بلا صيانة تقريباً. فما سبب الترحيل إلى Cloudflare Pages؟ هذا المقال يشرح الدافع وراء التغيير، كيف تم الترحيل، المشكلات التي ظهرت، والمقايضات التي اكتشفتها على طول الطريق.

    اقرأ المزيد →
  • الذكاء الاصطناعي المحلي على MacBook Pro بسعة 16 جيجابايت RAM: ما يعمل فعلاً

    مساعدي البرمجة بالذكاء الاصطناعي محلياً فكرة جذابة: لا تكاليف API، الكود يبقى على جهازك، وتجربة مشابهة لـ Claude Code مجاناً. لكن تشغيله بشكل جيد على MacBook Pro M1 بسعة 16 جيجابايت RAM يحتاج تجربة وخطأ أكثر مما تعترف به معظم الأدلة.

    اقرأ المزيد →
  • أدوات التطوير الأساسية: إعداد Brewfile الخاص بي

    كمهندس برمجيات، مجموعة أدواتك تشكل طريقة عملك وما يمكنك تحقيقه. مع الوقت، جمعت مجموعة أدوات أساسية تزيد إنتاجيتي وتجعل التطوير أكثر متعة. هذه تفصيل إعداد Homebrew الخاص بي مع الأدوات التي أستخدمها يومياً.

    اقرأ المزيد →
  • محفظة, متتبع محفظة شخصية خفيفة

    محفظة, متتبع محفظة شخصية خفيفة

    هذا المنشور يشرح تصميم وتنفيذ متتبع محفظة browser-first صغير بنيته. التركيز على المتطلبات، التحديات التي واجهتها، وكيف يعالجها الحل النهائي، مع مقاطع كود توضح معالجة الحالة، التخزين المؤقت، والتفاعل مع الرسوم البيانية.

    اقرأ المزيد →
  • إتقان أوامر Git: دليل عملي

    Git أداة لا غنى عنها للتحكم في الإصدارات: تتبع التغييرات، تعاون فعال، إدارة سجل المشروع. قدراته واسعة، لكن فهم الأوامر الرئيسية يبسط سير عملك بشكل كبير. هذا المقال يتعمق في مجموعة مختارة من أوامر Git العملية، ويشرح ما تفعله، كيف تستخدمها، ومتى تكون أكثر فعالية.

    اقرأ المزيد →
  • أنجولار - Content Projection

    Content Projection في Angular تتيح إدراج مكون داخل مكون آخر. هذا يغير كيفية تصميم مطور Angular لتطبيقه أو مكتبته نحو مكونات مرنة وقابلة لإعادة الاستخدام.

    اقرأ المزيد →
  • ReactJS: المصفوفات في JSX

    عندما جربت دليل ReactJS البرنامج التعليمي قبل بضعة أشهر، لاحظت أن في كود البداية الرسمي، كانوا يكررون نفس العناصر div في طريقة render(). في حالة تغيير المصدر، سأذكره هنا:

    اقرأ المزيد →
  • Fetch باستخدام Gitlab API

    أستخدم gitlab، ولدي العديد من المستودعات التي أحتاج إلى تتبعها يومياً، أو حتى أكثر من مرة في اليوم. وجدت ذلك متعباً جداً أولاً لاستنساخ جميع تلك المستودعات عندما أغير جهاز العمل، ثم الحفاظ على جميع هذه المستودعات محدّثة. لهذا السبب بدأت في كتابة سكربت لأتمتة المهام المملة عن كتفي.

    اقرأ المزيد →
  • PyConDe & PyData 2019

    PyConDe & PyData 2019

    لقد عادلت للتو من PyConDe & PyData-2019، وأريد مشاركة/توثيق تجربتي هناك. هذا أقرب إلى يوميات منه مدونة، حيث أتحدث عن:

    اقرأ المزيد →
  • سلسلة RxJS - المراقبون

    RxJS (على Github) هو مكتبة للبرمجة التفاعلية لـ Javascript، وفي هذه السلسلة، أود أن أشارككم طريقة تعلمي لها.

    اقرأ المزيد →
  • Webdrivers مخصصة لـ Selenium باستخدام المُزخرفات

    كيفية إنشاء فئات webdriver selenium مخصصة بشكل ديناميكي مع مسار ثنائي للمتصفح مُعامَل؟

    اقرأ المزيد →
  • ترقية Fedora23 (الملف الشخصي غير المُوسم)

    عندما حاولت التحديث من fedora23 إلى fedora24، واجهت مشكلة أن مجلد home فقد تسميته:

    اقرأ المزيد →
  • تجميع Vim من الكود المصدري

    كثيراً عندما أريد استخدام vim الموجود في المستودع الرئيسي لأي توزيعة Linux، أجد أنه يفتقر إلى نوع من الدعم، سواء كان python أو وضع العميل-الخادم، أو أي ميزة أخرى. ولذلك يجب علي تجميعه يدوياً من الكود المصدري وتثبيته.

    اقرأ المزيد →
  • إعداد ذراع روبوت Lwa4p

    خلال تجاربي مع ذراع روبوت Powerball Lightweight lwa4p من Schunk، واجهت صعوبات كثيرة لتحريكها باستخدام moveit. في هذه المقالة أشارك هذه التجربة.

    اقرأ المزيد →
  • مغامرة عبر vimrc الخاص بي (nvimrc)

    في هذه المقالة، سآخذكم في مغامرة في ملفي vimrc السابق وملفي الحالي init.vim الذي جمعته خلال السنوات الأخيرة من استخدام vim ثم neovim. سأشرح الميزة أو الوظيفة، ثم أدرج التكوينات أو الكود الذي يجب إدراجه في ملف vimrc (init.vim) لتفعيل هذه الميزة.

    اقرأ المزيد →
  • OpenCV على OpenShift

    عندما أردت تثبيت opencv على كارtridge python-2.7 الخاص بـ openshift online واجهت مشكلة الحد من الحصة إلى 1 جيجابايت.

    اقرأ المزيد →

كتب