Ubuntu
-
كيفية فرض سلامة النوع في FormData باستخدام TypeScript
عند العمل مع واجهة FormData في جافا سكريبت، حيث يتم إضافة البيانات كأزواج مفتاح/قيمة، لا يوجد طريقة مدمجة لفرض سلامة النوع على المفاتيح التي تقوم بإضافتها. يمكن أن يؤدي هذا إلى الأخطاء الإملائية، ونقص المفاتيح، والأخطاء غير المتوقعة أثناء التشغيل. ولكن في تايب سكريبت، يمكننا حل هذه المشكلة عن طريق فرض التحقق الصارم من صحة المفاتيح. لقد احتجت إلى هذا الحل بنفسي عند إرسال قيم النموذج إلى واجهة برمجة التطبيقات. لاحقًا، أدركت أنني قمت بعدة أخطاء إملائية في أكثر من…
-
أنواع العلامات التجارية في TypeScript
عندما تقوم بنمذجة الكيانات باستخدام TypeScript، من الشائع جدًا الحصول على واجهة مثل هذه: TypeScript interface User { id: number username: string … } interface Order { id: number userId: number title: string year: number month: number day: number amount: { currency: ‘EUR’ | ‘USD’, value: number } … } المشكلة أنواع الخصائص ليس لها معنى دلالي. من حيث الأنواع، User.id، Order.id، Order.year، إلخ. هي نفسها: رقم، وكأرقام فهي قابلة للتبادل، لكن دلاليًا، ليست كذلك. استنادًا إلى المثال…
-
جافا سكريبت للمبتدئين: تعيين فئات ديناميكية باستخدام ngClass
في تطبيقات الويب، من الشائع تخصيص مظهر عنصر معين بناءً على شرط. هناك عدة طرق لتحقيق ذلك، ولكن إذا كنت تعمل مع Angular، فإن اختيارك واضح. يوفر توجيه ngClass العديد من الطرق لتعيين أسماء الفئات ديناميكيًا للعناصر أو المكونات. صياغته مختصرة ولكنها تدعم منطقًا معقدًا إلى حد ما لتوفير تحكم دقيق على كل من أسماء الفئات والمعايير لتعيينها. في هذا الدليل، سنستعرض بعضًا من أكثر الطرق شيوعًا لتعيين فئة CSS ديناميكيًا لعنصر باستخدام توجيه ngClass. تعيين فئة CSS باستخدام [className]…
-
الحوسبة بدون خادم و GraphQL: تطوير التطبيقات الحديثة
في هذه المقالة، سأرشدك خلال عملية إنشاء واجهة برمجة تطبيقات GraphQL بدون خادم باستخدام TypeScript و AWS Lambda و Apollo Server. الحوسبة بدون خادم الحوسبة بدون خادم هي نموذج تنفيذ للحوسبة السحابية حيث تدير مزودات السحاب البنية التحتية تلقائيًا لتشغيل التطبيقات. في هذا النموذج، يكتب المطورون التعليمات البرمجية، ويتولى مزود السحاب إدارة تشغيل وتوسيع وصيانة الخوادم، مما يعني أن المطورين لا يحتاجون للقلق بشأن إدارة الخوادم أو توفير البنية التحتية أو التوسع. مصطلح “بدون خادم” لا يعني أنه لا توجد…
-
ما هي Type Predicates في TypeScript؟ مشروحة بأمثلة برمجية
توثيق النوع هو ميزة سينتاكيدية مثيرة في TypeScript. بينما تظهر في نفس المكان كتعليمات النوع المعادلة للمجموعات البارزة، تبدو أكثر مثل جملة مبنية صريحة من التعليمات العامة. وهذا يعطيك سيطرة أكبر على التحكم في التفقد النوعي. مع إصدار TypeScript 5.5، أصبح التعامل بالتوثيق النوعي أكثر فهما حاليًا لأنه يتم تخمينه تلقائيًا في أسباب عديدة. لكن إذا كنت تتنقل خلال أقدم أساسات البرمجيات قليلًا، فإنك من المحتمل أن تصطدم بالتوثيق النوعي المكتوب بيدًا أكثر عادة. في هذه المقالة، سنقوم بالبحث بسرعة…
-
تعلم TypeScript مع دروس تفاعلية
TypeScript يمكن أن يجعل حياتك أسهل كمبرمج ويجعل شفرتك أقل خطأً. لقد قمنا بمشاركة دورة TypeScript للمبتدئين على قناة YouTube الخاصة بfreeCodeCamp.org. يُدرّس هذه الدورة Bob Ziroll من Scrimba. الشفرة التفاعلية متوفرة في صفحة دورة Scrimba لكل درس. ستعطيك هذه الدورة إطارًا تجريبيًا للتعرف على TypeScript. وبنهاية الدورة، ستمتلك فهمًا جيدًا لمبادئ TypeScript وكيفية استغلاله لإنشاء تطبيقات JavaScript أكثر أمانًا وثباتًا. TypeScript هو “مجموعة إضافية” للJavaScript، مما يعني أن كل شيء يُعتبر جيدًا في JavaScript يُعتبر أيضًا جيدًا في TypeScript.…
-
كيفية تكوين Consul KV باستخدام Docker
التقديم Consul من HashiCorp هو أداة متنوعة تقوم بمجموعة من الوظائف في بيئة DevOps حديثة. يتم استخدامها بشكل واسع لإيجاد الخدمات، والفحوصات الصحيحة، والتوزيع المتوزع، وعلى وجه الخصوص ، كمتجر توزيعي للمفاتيح (KV). قاعدة المفاتيح KV في Consul مناسبة لتخزين البيانات التعريفية الحالية، والعلامات التجارية، والأسرار، والمعلومات الوصفية بطريقة متاحة بالغة ومتوافرة عبر بنية التحكم التي يمكن أن يتم الوصول إليها بالفعل من خلال الخدمات في نظام توزيعي. إستخدام Docker لتكوين قاعدة KV في Consul يتيح إنشاء وإعداد سريع وبيئات…
-
كيفية إعداد تطبيق Fast API بقاعدة بيانات NoSQL
مقدمة حين تقوم بتطوير تطبيقات بيثون، يبرز FastAPI كخيار رئيسي لبناء حلول ذات أداء عالٍ. يوفر السرعة والبساطة ودعم للبرمجيات التي تعمل بشكل استقنالي، مما يجعله مناسبًا لتطوير تطبيقات حديثة قابلة للتنمية. في هذا التورية، سنقوم بتوجيهكم خلال عملية إنشاء تطبيق FastAPI مع قاعدة بيانات NoSQL. عندما يتعلق التخزين والإدارة البياناتية، توفر قواعد البيانات NoSQL المرونة والقابلية للتنمية، مما يجعلها أفضل مناسبة لتطبيقات التي تحتاج إلى التعامل مع هيكلات بيانات متنوعة ومعقدة. المقادمة قبل أن تبدأ، يجب أن تتأكد من…
-
تحديث الأساسيات الحديثة: خطة تقنية شاملة للتحويل
تقديم الاختبار مهم في عملية تطوير البرمجيات ليتأكد من أن البرمجيات تتصرف كما يتوقع و أنها خالية من الأخطاء. في بيتشوني (Python), pytest هو نظام اختبار مشهور يوفر عدة مزايا عن وحدة الاختبار الاولية unit test وهو وحدة تجريد برمجيات بيتشوني وجزء من المكتبة الاساسية. pytest تشمل نموذج ترميزي أبسط و إظهار أفضل وأدوات مركزية قوية ومنظومة برمجية تمتع بالمتزايدات. سوف يقود هذا التورية بشكل سهل من خلال تكوين تطبيق Flask و تراكم معدات pytest وكتابة اختبارات وحدة باستخدام pytest.…