Category: التطوير

Ada: لغة البرمجة التي تتحدى الزمن

2025-07-14
Ada: لغة البرمجة التي تتحدى الزمن

يتوقع بول جانسن، الرئيس التنفيذي لشركة Tiobe، أن تتفوق لغة Ada، وهي لغة برمجة أنظمة تعود إلى أواخر السبعينيات، على لغات معاصرة مثل Visual Basic وPerl وFortran. في حين أن اللغات الرائدة مثل Python وC# وJava لم تشهد تغييرات كبيرة في مؤشر Tiobe خلال العامين الماضيين، إلا أن اللغات القديمة تُظهر تقلبًا أكبر. يراهن جانسن على بقاء Ada نظرًا لقوتها في الأنظمة الحرجة من حيث السلامة، وهو مجال يشهد طلبًا متزايدًا على الأمن. تحتل Ada حاليًا المرتبة العاشرة في المؤشر، متعادلة مع Delphi/Object Pascal.

التطوير

إيدريس تكتسب تطبيق الربط: ميزة لغة جديدة

2025-07-14

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

مشغل مستوحى من Raycast يصل إلى Linux: مفتوح المصدر وقابل للتوسيع

2025-07-14
مشغل مستوحى من Raycast يصل إلى Linux: مفتوح المصدر وقابل للتوسيع

مشروع مفتوح المصدر، Raycast Linux، ينقل مشغل macOS الشهير Raycast إلى Linux. يتميز بلوحة أوامر قابلة للتوسيع، ودعم الإضافات (مع قيود توافق بسبب اختلافات أنظمة التشغيل)، وحاسبة قوية، وسجل حافظة المشابك، وإدارة شظايا التعليمات البرمجية، وتكامل الذكاء الاصطناعي عبر OpenRouter. على الرغم من أنه يهدف إلى التوافق الواسع مع إضافات Raycast، إلا أن بعضها قد لا يعمل بسبب واجهات برمجة التطبيقات أو التبعيات الخاصة بـ macOS. تم تطويره باستخدام Rust وNode.js وTauri وSwift، وهو متوفر كحزمة AppImage، ويوفر إمكانية التجميع من المصدر.

التطوير مشغل

APKLab: امتداد قوي لعمليات الهندسة العكسية لنظام Android في VS Code

2025-07-14
APKLab: امتداد قوي لعمليات الهندسة العكسية لنظام Android في VS Code

يُدمج APKLab بسلاسة أدوات قوية مفتوحة المصدر مثل Quark-Engine وApktool وJadx، وغيرها الكثير، مباشرةً في VS Code، مما يوفر تجربة شاملة لهندسة البرمجيات العكسية لنظام Android. فك تشفير الموارد، تفكيك إلى Smali، إعادة تجميع إلى Java، إنشاء تقارير تحليل البرامج الضارة، وإجراء فحص HTTPS – كل ذلك داخل IDE المفضلة لديك. تتضمن الميزات دعم التوقيع باستخدام مخزن مفاتيح مخصص، وتهيئة مشروع Git، والتوافق بين الأنظمة الأساسية (Linux وWindows وmacOS).

OpenCut: محرر فيديو مفتوح المصدر يركز على الخصوصية

2025-07-14
OpenCut: محرر فيديو مفتوح المصدر يركز على الخصوصية

OpenCut هو محرر فيديو مجاني ومفتوح المصدر للويب، وأجهزة سطح المكتب، والأجهزة المحمولة. مع إعطاء الأولوية لخصوصية المستخدم، تظل جميع مقاطع الفيديو على جهازك. على الرغم من أن ميزاته الأساسية موجودة حاليًا خلف جدار دفع، إلا أن سهولة استخدامه قد ثبتت. يتميز بتحرير قائم على خط زمني، ودعم متعدد المسارات، ومعاينة في الوقت الفعلي، وهو خالٍ من العلامات المائية أو الاشتراكات. تم إنشاؤه باستخدام Next.js، يتضمن المشروع مكونات واجهة المستخدم، وخطافات React مخصصة، ومنطق الأدوات وواجهة برمجة التطبيقات، وإدارة الحالة، وأنواع TypeScript. يتم توفير إرشادات مفصلة للإعداد والمساهمة؛ ومرحباً بالمساهمات.

بياناتك، خصوصيتك: مساعد كتابة يعمل بالذكاء الاصطناعي محليًا

2025-07-14
بياناتك، خصوصيتك: مساعد كتابة يعمل بالذكاء الاصطناعي محليًا

يستخدم هذا التطبيق الخاص بنظام macOS نماذج لغة كبيرة (LLMs) تعمل محليًا، مما يضمن عدم مغادرة مستنداتك ونصوصك وكتاباتك لجهاز Mac الخاص بك. وهو متوافق مع معظم تطبيقات macOS، بما في ذلك البريد والرسائل وSafari وغيرها الكثير. تتوفر نسخة تجريبية مجانية لمدة 7 أيام (بدون الحاجة إلى بطاقة ائتمان)، مع خصم ٥٠٪ للطلاب والمعلمين. تتم جميع عمليات المعالجة محليًا، مع إعطاء الأولوية لخصوصيتك وأمان بياناتك.

التطوير

لنبدأ تعلم تجميع x86-64! الجزء 0 - الإعداد والخطوات الأولى

2025-07-14

تُعدّ هذه المدوّنة الجزء الأول من سلسلة تتناول لغة التجميع x86-64. يستذكر الكاتب تعليم التجميع x86 المُعتاد في الجامعة، ويقرّر كتابة درسٍ حديث. يستخدم الدرس المُجمّع المُسطّح (FASM) و WinDbg، مُفسّراً المفاهيم الأساسية كالسجلّات، وعنوان الذاكرة، واتفاقية النداء في نظام التشغيل Windows 64 بت. ويُنشئ برنامجاً بسيطاً لنظام التشغيل Windows، مُبيّناً كيفية التجميع بواسطة FASM، و تصحيح الأخطاء بواسطة WinDbg.

التطوير تجميع x86-64

Infisical توظف قائدًا لعلاقات المطورين لبناء مستقبل أمن المصدر المفتوح

2025-07-13
Infisical توظف قائدًا لعلاقات المطورين لبناء مستقبل أمن المصدر المفتوح

تبحث Infisical، وهي منصة بنية تحتية أمنية مفتوحة المصدر مدعومة من Y Combinator وGoogle وElad Gil، عن خبير في علاقات المطورين. يتطلب هذا الدور خلفية تقنية قوية ومهارات اتصال استثنائية لإنشاء محتوى تقني جذاب (مدونات، مقاطع فيديو، بث مباشر) وتعزيز مشاركة المجتمع. يجب أن يكون المرشح المثالي على دراية عميقة بمهندسة البرمجيات، وأدوات المطورين، والبنية التحتية، وأن يكون مرتاحًا لإنشاء محتوى بتنسيقات متعددة. هذه فرصة مثيرة وتنافسية لتشكيل استراتيجية مجتمع المطورين في Infisical ومساعدة المطورين على إدارة الأسرار وPKI والمفاتيح وعمليات سير عمل SSH بأمان.

الروتينات المتزامنة في ++C: غوص عميق في التخصيص

2025-07-13

الروتينات المتزامنة في ++C ليست مكتبة جاهزة للاستخدام مثل `std::vector`؛ إنها مواصفات تُعرّف نقاط تخصيص تتطلب التنفيذ من قبل كتاب المكتبات. من خلال توسيع مفهوم الدالة، تدعم عمليات الإيقاف المؤقت، والاستئناف، والإزالة. تُشير كلمة المفتاح `co_await` إلى روتين متزامن، و`Task::promise_type` تُخصّص السلوك عند نقاط الاتصال، والعودة، والإيقاف المؤقت، والاستئناف. تدير آليات `awaiter` و`awaitable` الإيقاف المؤقت والاستئناف، مما يسمح بالاستئناف عندما تكون التبعيات جاهزة، مما يوفر برمجة غير متزامنة مرنة.

TorchLeet: ساحة لعب لتعلم عميق باستخدام PyTorch

2025-07-13
TorchLeet: ساحة لعب لتعلم عميق باستخدام PyTorch

TorchLeet عبارة عن مجموعة من مسائل PyTorch العملية، مقسمة إلى مجموعتين: مجموعة أساسية تغطي مفاهيم PyTorch من الأساسيات إلى المستويات المتقدمة (الارتجاع الخطي، مجموعات البيانات المخصصة، CNNs، إلخ)، ومجموعة LLM صعبة تركز على بناء نماذج اللغات الكبيرة من الصفر (آليات الانتباه، التضمينات، وما إلى ذلك). كل مسألة توفر كودًا غير مكتمل مع حلول، مما يعزز التعلم العملي. مثالية للمبتدئين والخبراء على حد سواء.

التطوير

مُخصص Temp في C3: إدارة الذاكرة التلقائية بدون أعباء زائدة

2025-07-13
مُخصص Temp في C3: إدارة الذاكرة التلقائية بدون أعباء زائدة

تُدخِل C3 حلاً مبتكرًا لإدارة الذاكرة يُسمى مُخصص Temp، حيث يجمع بين سهولة جمع القمامة وأداء إدارة الذاكرة اليدوية. باستخدام مناطق الذاكرة (arenas)، يُحرر مُخصص Temp الذاكرة تلقائيًا عند انتهاء نطاق الوظيفة، مما يمنع تسرب الذاكرة دون تعقيد RAII أو عدّ الإشارات أو جمع القمامة. باستخدام ماكرو `@pool()`، يتم تعريف مناطق الذاكرة، مما يسمح للمطورين بإدارة دورات حياة المتغيرات المؤقتة بسهولة. تُظهر اختبارات Valgrind فعاليتها. حتى أن C3 يُضيف تلقائيًا نطاق `@pool()` إلى دالة `main()` إذا لم يتم توفيره بشكل صريح، مما يُبسّط عملية التطوير أكثر. يسمح مُخصص Temp لمطوري C3 بالاستمتاع بأداء إدارة الذاكرة اليدوية دون خطر تسرب الذاكرة.

التطوير مُخصص Temp

مراقبة بسيطة لمعمل المنزل: التخلي عن بروميثيوس لصالح برنامج Go صغير

2025-07-13

سئمًا من أدوات المراقبة المعقدة، قام الكاتب ببناء نظام مراقبة بسيط لمعمله المنزلي. يقوم هذا البرنامج المكتوب بلغة Go بالتحقق بانتظام من خدمات HTTP وDNS وما إلى ذلك، وإرسال إشعارات عبر ntfy.sh. إنه خفيف الوزن، وسهل الصيانة، ويتحقق فقط من تشغيل الخدمات، ويرسل إشعارات بالفشل والتعافي - بدون الحاجة إلى بيانات تاريخية أو لوحات معلومات. بالإضافة إلى ذلك، يعمل healthchecks.io كـ مفتاح رجل ميت لمنع برنامج المراقبة نفسه من المرور دون أن يلاحظه أحد. على الرغم من بساطته، إلا أن هذا النظام يلبي احتياجات الكاتب ويتجنب الإعدادات والصيانة المعقدة.

التطوير معمل المنزل

استدعاء الأدوات عبر واجهة برمجة التطبيقات REST: دليل خطوة بخطوة

2025-07-13
استدعاء الأدوات عبر واجهة برمجة التطبيقات REST: دليل خطوة بخطوة

تشرح هذه المقالة كيفية استدعاء الأدوات عبر واجهة برمجة التطبيقات REST، مما يسمح بالتفاعل بين نموذج اللغة الكبير (LLM) والأدوات الخارجية. باستخدام الاستعلام "هل لديك AirPods Pro في المخزون؟" كمثال، توضح عملية من خطوتين: إرسال المُطالبة وتعريفات الأدوات إلى نقطة النهاية الخاصة بمُوفر نموذج اللغة الكبير، ثم تلقي استجابة نموذج اللغة الكبير مع دعوة الأداة. هذا يُظهر كيف يمكن لأنماط اللغة الكبيرة الاستفادة من الأدوات الخارجية لتوسيع قدراتها والتعامل مع مهام أكثر تعقيدًا.

نقد أسلوب جراهام في البرمجة بلغة لِسب

2025-07-13

يحلّل هذا الاستعراض قابلية صيانة و قابلية نقل رمز جراهام بلغة لِسب، ويجده مُوجَزاً مع تعريفات دوال قصيرة ومدروسة. ومع ذلك، فإنه ينتقد اتفاقيات التسمية القصيرة والغامضة للغاية لديه، واستخدامه المفرط لتعليمات if المُتداخلة، وتجنبه لبُنى الحلقة، وتفضيله للانعكاس على التكرار، حتى مع خطر حدوث تجاوزات للمكدس. هذه الخيارات الأسلوبية تَحِد عن الممارسات الشائعة في لغة لِسب وقد تؤثر سلباً على قابلية قراءة الرمز.

أدوات ترميز الذكاء الاصطناعي: قاتلات الإنتاجية؟

2025-07-13
أدوات ترميز الذكاء الاصطناعي: قاتلات الإنتاجية؟

أظهرت تجربة عشوائية خاضعة للتحكم تضمنت 16 مطورًا من ذوي الخبرة أن أدوات ترميز الذكاء الاصطناعي، على عكس التوقعات، قللت من سرعة تطوير البرامج بنسبة 19٪. وعزت الدراسة هذا التباطؤ إلى عوامل مثل التفاؤل المفرط بشأن فائدة الذكاء الاصطناعي، والخبرة العالية للمطورين في قاعدة البيانات، وتعقيد المستودعات الكبيرة، وانخفاض موثوقية الذكاء الاصطناعي. وعلى الرغم من أن أدوات الذكاء الاصطناعي يمكن أن تسرع الاختبارات وتؤتمت المهام، إلا أن الحاجة إلى التحقق اليدوي من الشفرة ونقص قدرات التعلم يلغي وفورات الوقت الشاملة. ويشدد الباحثون على أن هذه النتائج لا تستبعد إمكانات أدوات الذكاء الاصطناعي في المستقبل، ولكنها تسلط الضوء على القيود الحالية.

التطوير

نداء لإصدار مدفوع من متصفح فايرفوكس

2025-07-13
نداء لإصدار مدفوع من متصفح فايرفوكس

يدعو أحد مؤيدي موزيلا منذ فترة طويلة إلى إنشاء إصدار مدفوع من متصفح فايرفوكس. ويجادل بأن النموذج الحالي الذي يعتمد على الإعلانات يؤدي في نهاية المطاف إلى تدهور المنتج وتجربة المستخدم المتضررة. وسيتيح الإصدار المدفوع للمستخدمين تمويل تطوير فايرفوكس مباشرة، والحصول على تجربة خالية من الإعلانات وتركز على الخصوصية. وسيظل الإصدار المجاني والمفتوح المصدر متاحًا، مما يضمن إمكانية الوصول. ويعتقد الكاتب أن هذا النموذج قد يجذب المزيد من المستخدمين ويمنع موزيلا من اتباع مسار "التدهور" الذي سلكه فيسبوك.

التطوير نموذج مدفوع

نشر خدمات الويب بأمان باستخدام Cloudflare Tunnel: دليل للمبتدئين

2025-07-13
نشر خدمات الويب بأمان باستخدام Cloudflare Tunnel: دليل للمبتدئين

سئمت من تعقيدات تهيئة الخوادم ومشاكل الأمان؟ يوفر Cloudflare Tunnel حلاً بسيطًا وآمنًا لنشر خدمات الويب دون تعريض المنافذ. من خلال إنشاء اتصال خارجي من خادمك إلى أقرب مركز بيانات Cloudflare، سيتدفق كل حركة المرور عبر شبكة Cloudflare الآمنة، مما يضمن أمان الخادم وموثوقيته بغض النظر عن موقعه. يرشدك هذا الدليل خلال عملية إعداد Cloudflare Tunnel، بما في ذلك تثبيت عميل cloudflared، وإنشاء نفق، وتهيئة خدمة النظام، وإعداد سجلات DNS - وهي عملية سهلة حتى للمبتدئين.

GhidrAssistMCP: هندسة عكسية مدعومة بالذكاء الاصطناعي لـ Ghidra

2025-07-13
GhidrAssistMCP: هندسة عكسية مدعومة بالذكاء الاصطناعي لـ Ghidra

GhidrAssistMCP عبارة عن امتداد قوي لـ Ghidra يوفر خادم MCP (بروتوكول سياق النموذج)، مما يسمح لمساعدي الذكاء الاصطناعي والأدوات الأخرى بالتفاعل مع إمكانيات الهندسة العكسية في Ghidra من خلال واجهة برمجة تطبيقات موحدة. يحتوي على 31 أداة مدمجة تغطي الوظائف والبيانات والمراجع المتقاطعة وأكثر من ذلك، بالإضافة إلى واجهة مستخدم قابلة للتكوين، وسجلات في الوقت الفعلي، وإدارة الأدوات الديناميكية. يُدمج هذا الامتداد بسلاسة أدوات التحليل المدعومة بالذكاء الاصطناعي والسكريبتات المخصصة، مما يُعزز كفاءة الهندسة العكسية بشكل كبير.

التطوير

pattrns: محرك توليد تسلسلات موسيقية مبتكر بلغات Rust و Lua

2025-07-13
pattrns: محرك توليد تسلسلات موسيقية مبتكر بلغات Rust و Lua

pattrns هو محرك تجريبي لتوليد تسلسلات موسيقية بأسلوب إملائي، مكتوب بلغة Rust مع واجهة برمجة نصوص Lua لإنشاء موسيقى ديناميكية، مثالي للترميز المباشر. يستخدم بنية من ثلاث مراحل (الإيقاع، البوابة، المُرسِل) تفصل بين الجوانب الإيقاعية والنغمية من أجل تكوين وإعادة تركيب مرنين. كما يدعم تدوين Tidal Cycles المصغر. لاحظ أن pattrns لا يُنشئ سوى أحداث موسيقية خام؛ يحتاج الإخراج الصوتي إلى تطبيق متوافق.

التطوير

أتمتة المهام المملة باستخدام بايثون: الفصل غير المنشور حول الصوت/الفيديو

2025-07-13

تتضمن الطبعة الثالثة من كتاب "أتمتة المهام المملة باستخدام بايثون" فصلًا غير منشور حول العمل مع الصوت والفيديو والكاميرات. تُشارك هذه المدونة محتوى الفصل، وتُفصّل كيفية كتابة كود بايثون لتسجيل الوسائط المتعددة وتشغيلها. يغطي هذا الفصل تنسيقات بيانات الصوت والفيديو، وتسجيل الصوت من خلال كاميرات الويب والميكروفونات، وتشغيل ملفات الصوت (باستخدام playsound وPygame)، وتنزيل مقاطع الفيديو باستخدام yt-dlp، وتعديل مقاطع الفيديو والصوت باستخدام ffmpeg. تعلم أتمتة المهام مثل معالجة ملفات الفيديو دفعة واحدة، وإنشاء مقاطع فيديو متسارعة، أو إضافة ميزة كشك الصور إلى تطبيقاتك.

التطوير

التحليل، وليس التحقق: تعزيز أمان لغة سي باستخدام أمان الأنواع

2025-07-13

تدعو هذه المشاركة إلى اتباع نهج "التحليل، وليس التحقق" في برمجة لغة سي. من خلال تعريف أنواع مخصصة (مثل email_t، name_t) وتحليل المدخلات غير الموثوقة في هذه الأنواع على الفور، يتم التخفيف من المخاطر المتأصلة في معالجة المؤشرات وعدم تطابق الأنواع في لغة سي. تحد هذه الاستراتيجية معالجة السلاسل الخام إلى حدود النظام، وتمنع إساءة استخدام الوظائف الداخلية، وتستفيد من فحص أنواع المترجم للكشف عن الأخطاء مثل تبديل المعلمات. والنتيجة هي رمز سي أكثر قوة وقابلية للصيانة مع سطح هجوم أصغر.

Aeron: نظام مراسلة فائق السرعة لأنظمة الأداء العالي

2025-07-13
Aeron: نظام مراسلة فائق السرعة لأنظمة الأداء العالي

Aeron هو نظام مراسلة عالي الأداء ومنخفض زمن الوصول، يدعم UDP أحادي البث، وUDP متعدد البث، وIPC. يقدم عملاء Java وC وC++ و.NET، مما يسمح بتبادل الرسائل بكفاءة عبر الأجهزة أو عبر IPC. يتميز Aeron بمعدل نقل بيانات استثنائي وزمن وصول منخفض يمكن التنبؤ به، باستخدام ترميز ثنائي بسيط (SBE) لتحسين معالجة الرسائل. تشمل الميزات Aeron Archive لتخزين الرسائل الدائم وAeron Cluster للخدمات المتسامحة مع الأخطاء. تملك وتدير Adaptive Financial Consulting Aeron، كما تقدم خدمات متميزة تشمل التدريب والمشورة وتحسينات الأداء مثل تجاوز النواة والتشفير عالي السرعة. مثالي لبناء أنظمة تداول عالية التردد وتطبيقات أخرى متطلبة.

كارثة في شركة ناشئة للبحث والتطوير: خطأ مكلف في جمع البيانات

2025-07-13
كارثة في شركة ناشئة للبحث والتطوير: خطأ مكلف في جمع البيانات

فقدت شركة ناشئة للبحث والتطوير كانت تجري دراسة نفسية جميع البيانات التي تم جمعها بسبب خطأ بسيط ولكنه مدمر. استخدم رمز PHP الخاص بها `mail() or die()`، مما تسبب في إنهاء البرنامج قبل الأوان عندما فشل إرسال بريد إلكتروني (بسبب عدم وجود اتصال بالإنترنت في بيئة الاختبار). أدى هذا إلى عدم حفظ أي بيانات في قاعدة البيانات. سلطت التجربة الضوء على أهمية معالجة الأخطاء بطريقة أنيقة واختبار شامل في بيئات مختلفة. تعلم الفريق من الخطأ المكلف، وحسن ممارسات الترميز الخاصة به، وانتقل من PHP إلى لغات أكثر أمانًا مثل JavaScript وGo وPython.

التطوير

ثورة مدخلات/مخرجات Zig غير المتزامنة: فصل التزامن عن نماذج التنفيذ

2025-07-13
ثورة مدخلات/مخرجات Zig غير المتزامنة: فصل التزامن عن نماذج التنفيذ

تقوم لغة البرمجة Zig بثورة في نموذج مدخلات/مخرجاتها غير المتزامنة، بهدف فصل async/await عن نماذج التنفيذ لتحسين قابلية إعادة استخدام التعليمات البرمجية والأداء. تسمح واجهة `Io` الجديدة للمستخدمين بتخصيص تنفيذ مدخلات/مخرجات وتدعم العمليات المتزامنة. تعمل `io.async` و `Future.await` على تبسيط التعبير عن التزامن دون الحاجة للقلق بشأن نموذج التنفيذ الأساسي. ستوفر Zig العديد من تنفيذات `Io`، بما في ذلك تجمع الخيوط والخيوط الخضراء والروتينات بدون كومة، لتلبية الاحتياجات المختلفة ومتطلبات توافق النظام الأساسي. هذا يحسن مرونة وفعالية Zig في التعامل مع مدخلات/مخرجات غير متزامنة، مع تجنب مشكلة "لون الوظيفة" الشائعة في البرمجة غير المتزامنة التقليدية.

التطوير

arXivLabs: تطوير تعاوني لميزات arXiv

2025-07-13
arXivLabs: تطوير تعاوني لميزات arXiv

arXivLabs هو إطار عمل يسمح بالتعاون في تطوير ميزات arXiv الجديدة مباشرةً على الموقع الإلكتروني. يجب على المشاركين تبني قيم arXiv المتمثلة في الانفتاح والمجتمع والتميز وخصوصية بيانات المستخدم. هل لديك فكرة لتحسين arXiv لمجتمعه؟ تعرف على المزيد حول arXivLabs وانضم إلى الجهد!

التطوير

اختراق الروتينات في لغة C: تجربة مجنونة باستخدام وحدات الماكرو

2025-07-13

تتناول هذه المقالة استخدام الكاتب المبتكر لوحدات الماكرو في لغة C لتنفيذ الروتينات في تطوير البرمجيات المضمنة، لتجنب الحاجة إلى نظام تشغيل في الوقت الحقيقي (RTOS) وتبسيط منطق تدفق التحكم المعقد. يوضح الكاتب تعقيد نهج آلة الحالة التقليدي من خلال مثال وميض LED، ثم يستخدم وحدات الماكرو لتحويل شفرة الروتين إلى آلات حالة واضحة، مما يحقق وظائف شبيهة بالوظائف غير المتزامنة. وعلى الرغم من أن هذه الطريقة مطولة، إلا أنها توضح إمكانية البرمجة المتزامنة بدون RTOS، وتبرز إبداع المبرمج وفهمه العميق للتقنيات منخفضة المستوى. وتختتم المقالة بالتوصية باستخدام Rust لتطوير الروتينات بشكل جدي.

التطوير الروتينات

تشغيل كود Claude بأمان في Docker باستخدام حاويات التطوير في VSCode

2025-07-13
تشغيل كود Claude بأمان في Docker باستخدام حاويات التطوير في VSCode

يتشارك الكاتب تجربته في الانتقال من إعداد ترميز ذكاء اصطناعي أقل أمانًا إلى تشغيل كود Claude في حاوية Docker باستخدام ميزة حاويات التطوير في VSCode. ويسلط الضوء على مخاطر الأمان المرتبطة بتشغيل وكلاء الذكاء الاصطناعي مباشرة على الجهاز المحلي، ويدافع عن البيئة المعزولة التي يوفرها Docker، مما يحد من وصول كود Claude إلى نظام الملفات. ويتم تقديم دليل إعداد مفصل، بما في ذلك إنشاء ملف devcontainer.json واستخدام رموز الوصول الدقيقة لـ GitHub، مما يسهل على القراء تكرار الإعداد.

التطوير

خطأ مضحك في ملحقات Chrome MV3

2025-07-13

أدى انتقال جوجل كروم من MV2 إلى MV3 إلى إزالة إذن webRequestBlocking، مما أدى إلى تعطيل العديد من مكونات حجب الإعلانات. ومع ذلك، اكتشف الكاتب خطأً غريبًا: نظرًا لاستخدام ربطات جافا سكريبت في واجهات برمجة تطبيقات ملحقات كروم، فقد أتاح التلاعب بالمعلمات في مُنشئ أحداث `chrome.webRequest` تجاوز عمليات التحقق من الأذونات وتمكين حجب الإعلانات. وعلى الرغم من أن هذا الخطأ لم يُشكل خطرًا أمنيًا، إلا أنه سلط الضوء على المشكلات المحتملة الكامنة في التعليمات البرمجية القديمة وإمكانية تحقيق نتائج غير متوقعة من خلال استغلال التفاصيل التقنية بذكاء. وقد أبلغ الكاتب جوجل بالخطأ، وقد تم إصلاحه منذ ذلك الحين.

التطوير

BinaryRPC: إطار عمل RPC عالي الأداء بلغة C++

2025-07-12
BinaryRPC: إطار عمل RPC عالي الأداء بلغة C++

بسبب مشاكل الأداء في خادم Java WebSocket، لجأ مهندس حديث التخرج إلى C++ و مكتبة uWebSockets لبناء BinaryRPC، وهو إطار عمل RPC عالي الأداء. مستوحى من Node.js و Express.js، يتميز BinaryRPC بنظام حديث للبرامج الوسيطة وإدارة الجلسات، مع دعم مستويات QoS متعددة للرسائل الموثوقة. أصبح الآن مفتوح المصدر، وهو موثق جيدًا ويتضمن أمثلة لتسهيل اعتماده.

التطوير

عداد زمن سباق السرعة لـ Deus Ex بلغة D: رحلة قرصنة ألعاب

2025-07-12

بسبب عدم وجود أدوات مناسبة لسباقات السرعة لـ Deus Ex على نظام لينكس، قام أحد لاعبي سباقات السرعة بمشروع لإنشاء عداد زمني مخصص بلغة D. تُفصّل هذه المقالة العملية، من المحاولات الأولية الفاشلة للعثور على علم التحميل، إلى تعلم مكالمات نظام لينكس (ptrace و process_vm_readv)، والهندسة العكسية للعثور على ذاكرة مناسبة لحقن التعليمات البرمجية، وأخيرًا تنفيذ وظيفة عداد الزمن الأساسية. يشارك المؤلف خبراته باستخدام لغة D، ويلاحظ بعض القيود مثل معالجة الاستثناءات غير المكتملة ودعم شاشة الحفظ.

التطوير
1 2 42 43 44 46 48 49 50 213 214