Category: التطوير

وفاة جريج كيلوغ، مساهم غزير في W3C

2025-09-11

يعلن W3C بحزن شديد وفاة جريج كيلوغ، خبير مدعو غزير الإنتاج، يوم السبت الماضي. لأكثر من 13 عامًا، قدم كيلوغ مساهمات كبيرة، لا سيما كرئيس مشارك لفريق عمل JSON-LD، وقاد العديد من مجموعات المجتمعات التي تركز على البيانات. تضمن عمله التحرير المشترك للعديد من توصيات ومواصفات W3C، بالإضافة إلى توفير تنفيذات مفتوحة المصدر وأدوات اختبار. كانت مساهماته حاسمة لنجاح JSON-LD. يخطط W3C لإقامة تكريم لتخليد ذكراه والاحتفال بمساهماته الودية والرائعة.

التطوير

وحدات C++20: تحسينات في وقت التجميع والخبرات العملية

2025-09-11

يتناول هذا المقال تجربة الكاتب العملية في استخدام وحدات C++20، بما في ذلك خيارات أنظمة البناء (مثل Bazel و XMake و Build2)، وتحسينات وقت التجميع (من 25٪ إلى 45٪)، والاختلافات عن PCH. كما يناقش الكاتب السيناريوهات المناسبة لوحدات C++20، والتكاليف (إعادة هيكلة التعليمات البرمجية، واستقرار المُجمِّع، ودعم ذكاء التعليمات البرمجية، إلخ)، وأغلفة الوحدات (أسلوبي export-using و extern "C++")، وتقنيات مزج import و #include. ويختتم المقال بالاتجاهات المستقبلية لتحسين وحدات C++20، مثل تحسين أنظمة البناء، وتعزيز ذكاء التعليمات البرمجية، وحل مشكلات التوافق بين الأنظمة الأساسية، وتسليط الضوء على إمكانات الذكاء الاصطناعي في تطوير أدوات تحويل الوحدات.

التطوير

بيراميدال توظف مهندس خلفي لمنصة البيانات العصبية

2025-09-11
بيراميدال توظف مهندس خلفي لمنصة البيانات العصبية

تبحث شركة بيراميدال عن مهندس برمجيات لبناء وصيانة البنية التحتية والأنظمة الخلفية لمنصتها الرائدة للبيانات العصبية. يجب أن يكون المرشح المناسب لديه خبرة 3 سنوات فأكثر في الشركات التي تقودها المنتجات، وإتقان لغة بايثون ولغات الخلفية الأخرى، وتقنيات الحاويات والتنسيق (مثل Kubernetes)، وقواعد البيانات العلائقية (مثل Postgres/MySQL)، وتقنيات الويب (مثل JavaScript و React). يتضمن الدور التعاون الوثيق مع مهندسي التعلم الآلي لإعادة تطبيق أحدث النماذج، والعمل مع فريق المنتج والعملاء الداخليين لفهم احتياجاتهم وتنفيذ حلول فعالة. تلتزم بيراميدال بإعادة توجيه التكنولوجيا لتعظيم الإمكانات البشرية، مع مهمة أساسية تتمثل في دعم الحرية المعرفية.

التطوير

بي جي إيدج تجعل مكونات البرامج الأساسية مفتوحة المصدر، مع تبني نظام بيج إس كيو إل

2025-09-11

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

التطوير

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

2025-09-11
ريشيبيد: رحلة مدتها خمس سنوات نحو المصدر المفتوح

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

التطوير نظام تصميم

الهندسة النقية مقابل الهندسة غير النقية: لماذا يتشاجر مطورو الألعاب المنفردون مع مهندسي التكنولوجيا الكبرى؟

2025-09-11

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

Deep Code Bench: مجموعة بيانات قياسية جديدة لاسترجاع التعليمات البرمجية

2025-09-11
Deep Code Bench: مجموعة بيانات قياسية جديدة لاسترجاع التعليمات البرمجية

أصدرت شركة Qodo مجموعة بيانات قياسية جديدة باسم Deep Code Bench، تتضمن أسئلة واقعية مستمدة من مستودعات أكواد كبيرة ومعقدة. وعلى عكس معايير القياس الموجودة، تتطلب هذه الأسئلة استرجاع المعلومات من ملفات متعددة، مما يعكس سيناريوهات المطورين في العالم الحقيقي. وقد تم إنشاء مجموعة البيانات هذه باستخدام نماذج لغوية ضخمة (LLMs) من بيانات طلبات السحب، مما يوفر تقييمًا قويًا لأنظمة استرجاع التعليمات البرمجية. وقد تفوقت وكالة البحث العميق من Qodo على غيرها في استدعاء الحقائق، محققة دقة تبلغ حوالي 76%.

الغوص في قاعدة بيانات tz: إنشاء منطقتك الزمنية الخاصة

2025-09-11
الغوص في قاعدة بيانات tz: إنشاء منطقتك الزمنية الخاصة

أثناء العمل مع روبي، واجه الكاتب مشكلة في المنطقة الزمنية، مما أدى إلى اكتشاف قاعدة بيانات tz. توفر هذه المقالة شرحًا واضحًا لقاعدة بيانات tz، بما في ذلك مكوناتها الرئيسية: مُجمِّع zic، وأداة zdump، وملفات مصدر المنطقة الزمنية. يُظهر الكاتب كيفية تخصيص قواعد المنطقة الزمنية من خلال إنشاء منطقة زمنية افتراضية، Hi_No_Kuni/Konoha، داخل صورة Alpine Docker. يتم توضيح العملية من خلال أمثلة عملية، مع التحقق من النتائج. هذه المقالة مناسبة للمطورين، وتوفر رؤى حول تعقيدات وتوحيد المناطق الزمنية.

تم تعطيل BCacheFS في أنوية openSUSE 6.17+

2025-09-11

أعلنت مجموعة openSUSE عن تعطيل نظام الملفات BCacheFS في أنوية الإصدار 6.17 وما بعده. ويعود ذلك إلى أن BCacheFS يُعتنى به خارجيًا منذ الإصدار 6.17، ولن تقوم openSUSE بعد الآن بصيانة أو نقل التصحيحات التابعة. لا تتأثر الإصدارات 6.16 وما قبلها حاليًا. يجب على المستخدمين اتباع تعليمات BCacheFS من المصدر الرئيسي للتركيب والاستخدام، أو تحضير KMP بأنفسهم. سيتم إعادة تمكين BCacheFS بمجرد أن يستأنف المساهم الرئيسي الصيانة من المصدر الرئيسي.

التطوير

تجاوز عقبة أكثر من 10000 سطر من التعليمات البرمجية: تدفق عمل مُنظم لأنظمة اللغة الكبيرة في المشاريع الضخمة

2025-09-11
تجاوز عقبة أكثر من 10000 سطر من التعليمات البرمجية: تدفق عمل مُنظم لأنظمة اللغة الكبيرة في المشاريع الضخمة

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

التطوير

Dotter: مدير ملفات النقاط ومحرك قوالب قوي بلغة Rust

2025-09-11
Dotter: مدير ملفات النقاط ومحرك قوالب قوي بلغة Rust

Dotter هو مدير ملفات النقاط ومحرك قوالب مكتوب بلغة Rust، مصمم لتبسيط إدارة ونشر ملفات النقاط. يحل العديد من المشاكل المرتبطة بإدارة ملفات النقاط يدويًا، مثل تتبع أصول الملفات، والإعداد الممل على أجهزة جديدة، والتعامل مع اختلافات التكوين بين الأجهزة. يُحسّن Dotter من إدارة ملفات النقاط من خلال التكوين المرن والإنشاء التلقائي للنماذج أو الروابط الرمزية. يدعم التثبيت عبر Homebrew وAUR وScoop، كما يوفر ملفات ثنائية وتثبيتًا عبر Cargo. يوفر Dotter أيضًا خيارات سطر أوامر واسعة ووظائف خطاف للعمليات التي يحددها المستخدم.

فرز القاعدة يتفوق على جداول التجزئة: مقارنة أداء لعد القيم الفريدة

2025-09-11
فرز القاعدة يتفوق على جداول التجزئة: مقارنة أداء لعد القيم الفريدة

في مشكلة عد القيم الفريدة في مصفوفة كبيرة من قيم uint64 الفريدة بشكل أساسي، يكون فرز القاعدة، عند ضبطه بشكل جيد، أسرع عادةً من جداول التجزئة. من خلال استخدام عرض النطاق الترددي للذاكرة بكفاءة ودمج التجزئة بذكاء مع عملية الفرز، يحقق فرز القاعدة تسريعًا يصل إلى 1.5 مرة مقارنةً بجداول التجزئة المُحسّنة لمجموعات البيانات الأكبر من 1 ميجابايت، وحتى أسرع بأربعة أضعاف من جداول التجزئة الممتازة "Swiss Table" في Rust. ومع ذلك، يتدهور أداء فرز القاعدة مع توزيعات البيانات غير المنتظمة؛ حيث يساعد استخدام دالة تجزئة قابلة للعكس في معالجة البيانات مسبقًا للحفاظ على الكفاءة. تقارن المقالة كلا الأسلوبين في أحجام البيانات المختلفة وترددات الوصول، وتناقش استراتيجية الاختيار بينهما في التطبيقات الواقعية.

التطوير جداول التجزئة

حل أنيق لمشكلة التعبير في لغة كلوجر

2025-09-11
حل أنيق لمشكلة التعبير في لغة كلوجر

في مؤتمر Strange Loop، قدم Chris Houser طريقتين في لغة Clojure لحل مشكلة التعبير: الطرق المتعددة والبروتوكولات. وقد تناول العرض إيجابيات وسلبيات كل طريقة، مع عرض كيفية تنفيذها في Clojure. يُعد Houser، وهو مُشارك في تأليف كتاب "The Joy of Clojure" ومساهم رئيسي في اللغة، قدّمَ برهانًا قويًا على مرونة وقدرة Clojure التعبيرية.

تعطل واسع النطاق لمساعدي ترميز الذكاء الاصطناعي يبرز مخاطر الاعتماد المتزايدة

2025-09-11
تعطل واسع النطاق لمساعدي ترميز الذكاء الاصطناعي يبرز مخاطر الاعتماد المتزايدة

أدى تعطل حديث أثر على كود كلود من أنثروبيك ومساعدي ترميز الذكاء الاصطناعي الآخرين إلى الكشف عن الاعتماد الكبير لتطوير البرمجيات الحديثة على هذه الأدوات. لجأ المطورون إلى حلول بديلة، بما في ذلك Stack Overflow، مما يبرز مخاطر الإفراط في الاعتماد. أدى الاتجاه الناشئ لما يسمى بـ "ترميز الحالة المزاجية" (vibe coding)، وهو استخدام اللغة الطبيعية لإنشاء التعليمات البرمجية دون فهم المنطق الكامن وراءها، إلى نتائج كارثية، بما في ذلك تلف الملفات بواسطة Gemini CLI من جوجل وحذف قواعد البيانات بواسطة خدمة الذكاء الاصطناعي من ريبليت. يمثل هذا التعطل تذكيرًا صارخًا بالنتائج المحتملة للاعتماد على الذكاء الاصطناعي، وأثار تأملات حول التوازن بين الحياة المهنية والحياة الشخصية.

التطوير التعطل

TailGuard: ربط WireGuard مع Tailscale باستخدام حاوية Docker

2025-09-11
TailGuard: ربط WireGuard مع Tailscale باستخدام حاوية Docker

TailGuard هو تطبيق حاوية Docker بسيط يسمح لك بتوصيل خوادم WireGuard الموجودة بشبكة Tailscale، حتى على الأجهزة المحجوبة أو التي لا تدعم ملفات Tailscale الثنائية. يعمل عن طريق تشغيل حاوية على VPS، مما يسهل إدارة المفاتيح ويسمح بالتبديل بسهولة بين الأجهزة. يقوم المستخدمون بتنزيل تكوين WireGuard، وتشغيل أمر Docker، والاتصال. تسهّل المعلمات القابلة للتخصيص ودعم IPv6 الاتصال بشبكتي Tailscale وWireGuard.

التطوير

التوزيع المتعدد في لغة C++: التحديات والحلول

2025-09-11

تتناول هذه المقالة التحديات المتعلقة بتنفيذ التوزيع المتعدد في لغة البرمجة C++. يسمح التوزيع المتعدد باختيار الدوال ديناميكيًا بناءً على أنواع وقت التشغيل لأكثر من كائن واحد، وهو أمر مفيد عند التعامل مع التفاعلات بين كائنات من أنواع مختلفة، مثل حساب تقاطعات الأشكال المختلفة. تقارن المقالة عدة أساليب، بما في ذلك نموذج الزائر والفحوصات if-else بالقوة الغاشمة، وتحليل إيجابيات وسلبيات كل منها. نموذج الزائر، على الرغم من كفاءته، إلا أنه متطفل ويصعب صيانته؛ أما الطريقة بالقوة الغاشمة فهي قابلة للصيانة، لكنها طويلة ومستهلكة للموارد. كما تذكر المقالة بإيجاز محاولة قياسية في C++ اقترحت التوزيع المتعدد، وتقدم معاينة للمقالات اللاحقة التي ستستكشف تنفيذه في لغات برمجة أخرى.

arXivLabs: مشاريع تجريبية مع متعاونين من المجتمع

2025-09-11
arXivLabs: مشاريع تجريبية مع متعاونين من المجتمع

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

Desktop-TUI: بيئة سطح مكتب بدون رسومات

2025-09-11
Desktop-TUI: بيئة سطح مكتب بدون رسومات

Desktop-TUI هي بيئة سطح مكتب تشبه tmux ولكن بدون واجهة رسومية. تقوم بتحليل ملفات الاختصار لبدء تشغيل التطبيقات والأوامر، مع دعم نقل وتغيير حجم النوافذ، وخيارات البلاط، ومعالجة أخطاء التطبيقات و تعطل تطبيقات GNU. يمكن للمستخدمين تحديد الملفات أو المجلدات كوسيطات للتطبيقات أو الأوامر. تستخدم حاليًا ncurses (مع مشاكل في الألوان)، وتخطط للتحويل إلى Crossterm. قم بالتثبيت عبر `cargo install desktop-tui` وقم بتشغيله باستخدام `cargo run -- `. تستخدم ملفات الاختصار (مثل: helix.toml) تنسيق TOML لتحديد أسماء التطبيقات والأوامر والوسائط.

التطوير

JiraTUI: إدارة مهام Jira من سطر الأوامر

2025-09-11

JiraTUI هي أداة سطر أوامر قوية تعمل على تبسيط إدارة مهام Jira. أنشئ مهام Jira جديدة مباشرة من محطتك الطرفية، مع تحديد تفاصيل مثل العنوان والوصف والأولوية بسهولة. قضِ وقتًا أقل في التنقل بين الواجهات ووقتًا أطول في العمل. كما تسمح بالتعليق على المهام مباشرة من المحطة الطرفية، مما يحسن التواصل والتعاون بين الفريق.

التطوير

DataFrame خفيف الوزن في MicroHs: مغامرة Haskell 2010

2025-09-11

بدءًا من مشروع Android في Frege (Haskell على JVM) في عام 2015، قاد مسار البرمجة الوظيفية للمؤلف إلى السعي وراء فصل مكتبة DataFrame الخاصة به عن GHC من أجل التوافق مع MicroHs. تتناول هذه المقالة تفاصيل تنفيذ وظائف DataFrame الأساسية - الإنشاء، التعبيرات الأساسية، `filterWhere`، `derive`، وترجمة Markdown - في Haskell 2010، بدون GADTs، أو عائلات الأنواع، أو الانعكاس. تُظهر التجربة أنه على الرغم من الإطناب، إلا أن الوظائف الأساسية تظل قابلة للتطبيق، مما يوفر إمكانية النقل بين MicroHs (لـ CLIs الصغيرة أو السياقات المضمنة) و GHC (للحصول على السرعة والوصول إلى النظام البيئي). تبلغ أحجام الملفات الثنائية في MicroHs حوالي 100 مرة أصغر، لكنها أبطأ من 5 إلى 10 مرات؛ وهو مساومة مجدية للعديد من مهام معالجة البيانات، مما يسمح باستخدام الخلفية GHC للمهام الثقيلة.

التطوير

KDE تكشف عن إصدار ألفا من توزيعة لينكس الخاصة بها: KDE Linux

2025-09-11

في مؤتمر أكاديمي 2025، أصدر مشروع KDE إصدار ألفا من KDE Linux، وهو توزيع تم إنشاؤه لعرض أفضل ما تقدمه KDE باستخدام تقنيات متقدمة. يعتمد على Arch Linux، لكنه يتجنب استخدام Pacman، ويستخدم KDE Builder و Flatpak لتثبيت البرامج. على الرغم من أنه يهدف للاستخدام المنزلي والتجاري و OEM، إلا أن إصدار ألفا لا يزال قيد التطوير. تشمل الخطط المستقبلية إصدارات اختبار، ونسخة لهواة، وإصدار مستقر، مع خطة محتملة لنهاية عمره تتضمن الانتقال إلى توزيع آخر.

التطوير

تشغيل أي تطبيق واجهة مستخدم رسومية في محطتك الطرفية: term.everything❗

2025-09-11
تشغيل أي تطبيق واجهة مستخدم رسومية في محطتك الطرفية: term.everything❗

تخيل لعب الألعاب ومشاهدة الأفلام مباشرة في محطتك الطرفية! term.everything❗ هو أداة تشغيل واجهة مستخدم رسومية تعتمد على Wayland تقوم بعرض تطبيقات واجهة المستخدم الرسومية داخل محطتك الطرفية. تعتمد الجودة على دقة محطتك الطرفية، حيث توفر الدقة الأعلى (مثل kitty أو iterm2) نتائج أفضل. على الرغم من أنه لا يزال قيد الإصدار التجريبي، إلا أن بعض التطبيقات قد تفشل، ولكنه يدعم بالفعل ألعابًا مثل Doom. تم إنشاؤه باستخدام TypeScript وBun، مع لمسة من C++.

Mux: بنية تحتية للفيديو للمطورين

2025-09-11
Mux: بنية تحتية للفيديو للمطورين

تسعى Mux إلى إضفاء الطابع الديمقراطي على الفيديو من خلال معالجة المشكلات الصعبة التي يواجهها المطورون عند إنشاء تطبيقات الفيديو: الترميز، والبث (Mux Video)، والمراقبة (Mux Data). يتمتع الفريق بخبرة في شركات مثل Google وYouTube وTwitch، ويدعمه مستثمرون من الطراز الأول مثل Coatue وAccel وAndreessen Horowitz. لقد قاموا بإنشاء منصة قوية تستخدمها شركات تتراوح من الشركات الناشئة إلى عمالقة مثل Reddit وVimeo وRobinhood، بهدف تحسين تجربة الفيديو الشاملة.

arXivLabs: مشاريع تجريبية مع متعاونين من المجتمع

2025-09-10
arXivLabs: مشاريع تجريبية مع متعاونين من المجتمع

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

التطوير

تجربة البرمجة الجسدية: استعارة حسية للمبرمج

2025-09-10
تجربة البرمجة الجسدية: استعارة حسية للمبرمج

يصف الكاتب الأحاسيس الجسدية التي تثيرها لغات البرمجة المختلفة: الأقواس المتداخلة في لغات تشبه لغة C تشعر وكأنها المشي على حبل، والبرمجة الوظيفية تشعر وكأنها الزحف عبر الكهوف، وكتابة البرامج الثابتة تشعر وكأنها عمل دقيق ومحدود. استخدام Copilot وTypeScript يشعر وكأنه الطيران، بينما العودة إلى Python عديم النوع تشعر وكأنها السُكر والتعثر. يجادل الكاتب بأن هذه الاستعارة الحسية للرمز، على الرغم من أنها دقيقة، شائعة وتؤثر على فهم الرمز وتصميم النظام. على الرغم من أن هذا الشعور قد لا يحسن كفاءة الترميز بشكل مباشر، إلا أنه مفيد بشكل لا يصدق لفهم كيفية عمل الشركات الناشئة، مما يساعد الكاتب على تحديد الأجزاء الحرجة والوصلات المفقودة. يستنتج الكاتب أن محرري التعليمات البرمجية الممتازين يجب أن يستفيدوا من الحدس الحسي للمهندسين الممتازين، من خلال تحسين طريقة عرض الرمز لتحسين تجربة البرمجة.

الجزء المفقود في PKM: إعادة ظهور المعرفة المنسية

2025-09-10
الجزء المفقود في PKM: إعادة ظهور المعرفة المنسية

يستخدم الكاتب العديد من تطبيقات PKM مثل Obsidian و Things لإدارة كميات هائلة من المعلومات الرقمية، لكنه يجد ميزة أساسية مفقودة: مساعدة المستخدمين على إعادة استخدام المعلومات التي تم التقاطها ولكنها نُسيت. حتى الاستعلامات البسيطة لقاعدة البيانات يمكن أن تحقق هذا، مثل عرض المهام التي تزيد عن ستة أشهر. يحث الكاتب مطوري تطبيقات PKM على إضافة هذه الميزات، ربما مستوحاة من صفحة البداية الخاصة بـ Spotify، لإعادة عرض الملاحظات القديمة، والمهام، وما إلى ذلك، ومنع المعلومات من أن تصبح "ثقبًا أسود للمعرفة."

التطوير

git-down: تنزيل مجلدات مستودعات Git بكفاءة

2025-09-10
git-down: تنزيل مجلدات مستودعات Git بكفاءة

سئمت من تنزيل مجلدات مفردة من مستودعات Git؟ إليك git-down لمساعدتك! هذه الأداة البسيطة من سطر الأوامر تتيح لك تنزيل مجلد واحد أو أكثر من مستودع Git دون استنساخ المستودع بالكامل. وهي تدعم منصات GitHub وBitBucket وGitLab وSourceForge، وتوفر اختصارات لتسهيل الاستخدام. بخلاف عملية تنزيل الأرشيفات واستنساخها السطحي ونقل الملفات، فإن git-down يعزز الكفاءة بشكل كبير ويوفر الوقت. على الرغم من أنه يتطلب تجميعًا ذاتيًا (بيئة Rust مطلوبة)، إلا أن سرعته وسهولة استخدامه يجعله أداة لا غنى عنها لمستخدمي Git.

التطوير

الأسطر الدلالية: كتابة أفضل للنثر

2025-09-10
الأسطر الدلالية: كتابة أفضل للنثر

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

من Bash إلى Go: دليل عملي لإنشاء أدوات سطر الأوامر

2025-09-10
من Bash إلى Go: دليل عملي لإنشاء أدوات سطر الأوامر

تُعد هذه المقالة الجزء الثاني من سلسلة تُعرّف مبرمجي Bash بلغة Go، مع التركيز على إنشاء أدوات سطر الأوامر. تبدأ المقالة بمثال بسيط لـ "hello world"، وتغطي تدريجيًا كتابة الاختبارات، ومعالجة الإدخال/الإخراج، واستخدام واجهة io.Writer، وتجنب مشاكل المتغيرات العالمية، واستخدام أنماط الخيارات وحزمة `flag` للتعامل مع الوسائط ومعلمات سطر الأوامر. وتختتم المقالة بأداة سطر أوامر عملية أكثر: وهي عدّ الأسطر المكررة في نص الإدخال.

التطوير

حزم JSON التجريبية في Go 1.25: تعزيز الأداء ونحو بناء جملة أكثر صرامة

2025-09-10

يقدم Go 1.25 حزمًا تجريبية جديدة `encoding/json/v2` و `encoding/json/jsontext` لتحسين قدرات ترميز وفك ترميز JSON في Go. تعالج هذه الحزم أوجه القصور الموجودة في حزمة `encoding/json` الحالية، مثل التعامل غير الدقيق مع بناء جملة JSON، واختناقات الأداء، ونقص في واجهة برمجة التطبيقات. تتضمن التحسينات معالجة أكثر صرامة لـ UTF-8 غير الصحيح، والمفاتيح المكررة، والقطع/الخرائط الفارغة. يُحسّن المعالجة التدفقية الأداء بشكل كبير، خاصةً فك الترميز. على الرغم من التوافق مع الإصدارات السابقة إلى حد كبير، يُشجع المطورون على إجراء الاختبار باستخدام `GOEXPERIMENT=jsonv2` وتقديم ملاحظاتهم.

(go.dev)
التطوير
1 2 6 7 8 10 12 13 14 213 214