meds-processor ؟ دليل C# و .NET Coreهذا هو المكان المثالي للبدء في تعلم C# و .NET Core من خلال بناء شيء حقيقي مع المظهر ويشعر به - مكشطة بيانات قائمة الأدوية وواجهة برمجة تطبيقات الويب الموثقة آمنة. تم تصميم هذا المشروع للمطورين الذين لديهم خبرة معتدلة في البرمجة وبعض الخبرة في بناء تطبيقات الويب ولكنهم لم يظلوا مشفرين على C# و .NET على الواجهة الخلفية.
ValidFrom.Year < 2019 ، تمت إزالة التوازي المحلل بسبب حالات قفل الملف ، وقام بتنظيف استجابات API قليلاً ، وإزالة رمز غير ضروري.ValidFrom.Year < 2019 . سأقوم بإصلاح هذا مع المحلل الإضافي (أو أي إصلاح آخر) وتحديث منشورات المدونة! الإنتاج عبر المنصات الجاهز SDK هو .NET Core والإصدار المستخدم لإنشاء هذا التطبيق هو "version": "2.2.402" . يمكنك العثور على تنزيلات SDK لنظام التشغيل الخاص بك هنا.
قم بإنشاء التطبيق (وضمان اتصال الإنترنت لحزم Nuget لاستعادة) مع:
> cd src/MedsProcessor.WebAPI
MedsProcessor.WebAPI > dotnet buildقم بتشغيل التطبيق (وتأكد من اتصال الإنترنت من أجل عمل مكشطة الويب) على https: // localhost: 5001 مع:
> cd src/MedsProcessor.WebAPI
MedsProcessor.WebAPI > dotnet runيمكنك الآن تصفح واجهة برمجة تطبيقات الويب عبر واجهة مستخدم Swagger على العنوان: https: // localhost: 5001/swagger/index.html
الصورة أدناه عبارة عن لقطة شاشة من واجهة المستخدم Swagger التي يتم إنتاجها لتوثيق واجهة برمجة تطبيقات الويب بنقاط النهاية المتاحة وطرق HTTP المحترمة.
لقد شعرت بالغضب من حقيقة أن صناديق التأمين الصحي في بلدي يهم بيانات مهمة مثل الطب والعقاقير بتنسيق غير منظم وغير ودي. أيضًا ، اعتقدت أنني صدئ بعض الشيء مع .NET Core وكتابة المدونات الفنية.
تعلم كيفية إنشاء مكشطة ويب ومواقع تنزيل و Excel من خلال البحث في بعض بيانات جدول البيانات المخفي لصندوق التأمين الصحي في كرواتيا وقائمة الأدوية الأساسية والتكميلية وكل ذلك باستخدام C# و .NET Core فقط (على أي منصة OS الكمبيوتر الحديثة)! يمكن تثبيت .NET Core SDK واستخدامه على نظام Windows أو OSX أو Linux.
يتكون المستودع من أربعة أجزاء. هذه الأجزاء هي فروع GIT حيث يوجد كل واحد منها في مقالة نشر مدونة خاصة بها. يمكنك تصفح الفروع هنا على GitHub (منسدل اختيار الفرع). أنصحك ببدء قراءة جزء المدونة/1 لأنها ستوجهك من خلال إنشاء الحل بنفسك. يمكنك استخدام أي محرر نظام التشغيل والرمز الحديث.
الجزء/1 (عملي .NET Core - اكتب مكشطة الويب ، تنزيل و Excel Parser. الجزء 1: مكشطة)
AngleSharp لجلب بعض صفحات HTML عن بُعد واستخراج بعض الروابط.الجزء/2 (عملي .NET CORE - اكتب مكشطة ، Fotcher & XLS (X) PARSER. الجزء 2: التنزيل)
Task Parallel Library ومعالجة المهام ASYNC في .NET CORE.الجزء/3 (العملي .NET Core - اكتب مكشطة ، Fotcher & .xls (x) محلل. الجزء 3: محلل)
NPOI لاستخراج البيانات ذات الصلة لفئات طراز C#. عند الانتهاء ، سيكون لديك مجموعة بيانات واحدة من البيانات المحولة والمنظمة.الجزء/4 (عملي .NET CORE - اكتب مكشطة ، Fotcher & .xls (x) محلل. الجزء 4: آمنة ويب API)
Swagger بناءً على وحدات التحكم والإجراءات الموثقة جيدًا. لقد تغير المصدر كثيرًا من خلال الأجزاء. قد يكون هناك أخطاء لأن هذا المشروع لا يتم تغطيته باختبارات (شيء قد أعتبره في المستقبل). الجزء/4 إلى جانب تطبيق API على الويب يذهب إلى إعادة إنشاء وتحسين بعض الأجزاء التي لا تعرضها عن قصد في أفضل حالاتها من الأجزاء السابقة. ما ستلاحظه أولاً هو أن وثيقة readMe.md ليست في هذا النموذج النهائي في الفروع الثلاثة الأولى. لا تشعر بالإحباط ، بل أبلغني إذا رأيت مكانًا للتحسين. يجب أن يعمل كل شيء كما هو متوقع إذا اتبعت سلسلة المدونة. أيضًا ، جميع الممارسات التي تراها هنا مثل فئة أساسية لاستجابة HTTP لحمل بيانات رأس HTTP ليست أفضل إنتاج لاستخدام شيء. لذا ، نعم ، ابق دائمًا فضوليًا ، اسأل نفسك "لماذا؟" ، أعد التفكير في منهجك ثم تنفذ.
أنا منفتح على التحسينات والتعليقات والقضايا والشوك/PRS وكل ما يثير القلق والفكرة الجيدة. يمكننا أيضًا مناقشة أفكارك ومواضيعك في قسم التعليقات في مقالات نشر المدونة إذا كنت تفضل ذلك.
فيدران مانديتش.
رخصة معهد ماساتشوستس للتكنولوجيا