ساهم الذكاء الاصطناعي في تغيير وزيادة الكفاءة في عملي اليومي
كمطور، قد يكون بناء خدمة معالجة الطلبات مرهقًا في بعض الأحيان عندما يكون لديك إطار زمني محدود. ومع ذلك، بفضل قوة أدوات التطوير المعتمدة على الذكاء الاصطناعي مثل ChatGPT، يمكنك تسريع العملية بشكل كبير من خلال إنشاء التعليمات البرمجية وتصميم الكيانات وحل المشكلات خطوة بخطوة. في هذه المقالة، سأشرح لك كيفية استخدام ChatGPT لإنشاء خدمة معالجة طلبات كاملة الوظائف في يومين فقط، بدءًا من جمع المتطلبات وحتى الاكتمال.
بصراحة، هناك العديد من المواضيع الصغيرة والمطالبات لمهام صغيرة مختلفة لا يمكنني تلخيصها في مشروع كامل، ولكن بشكل عام... لقد ساعدني ذلك بنسبة 70 - 80٪. بالإضافة إلى ذلك، إليك بعض الكود الأصلي، بعد أن قمت بمراجعته، ربما تم تعديله يدويًا، لذلك قد لا تجد هذه الوظيفة على جيثب التي قمت بمشاركتها.
أول شيء فعلته هو إدراج الميزات الأساسية المطلوبة للخدمة. فيما يلي الوظائف الأساسية التي أحتاجها:
طلبت من ChatGPT مساعدتي في تصميم بنية واجهة برمجة التطبيقات (API) للمتطلبات. فيما يلي مثال للمطالبة الأولى التي استخدمتها:
اِسْتَدْعَى:
إنشاء نقاط نهاية لواجهة برمجة التطبيقات (API) لنظام تسجيل المستخدم باستخدام Spring Boot، حيث يمكن للمستخدمين التسجيل باسمهم ورقم هاتفهم المحمول وعنوانهم.
النتيجة: أنشأ ChatGPT عدة نقاط نهاية:
بالنسبة لخدمة معالجة الطلب، كنا بحاجة إلى كيانات للمستخدم والامتياز والطلب وقائمة الانتظار وعنصر الطلب. لقد استخدمت ChatGPT لتحديد هذه الكيانات باستخدام الحقول الضرورية.
اِسْتَدْعَى:
تصميم كيان المستخدم للنظام. يمكن أن يكون لدى المستخدم رقم جوال وعنوان ودور (مثل العميل).
النتيجة: قدم ChatGPT كيان مستخدم بسيط باستخدام JPA:
@Entity public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) private UUID id; @Column(nullable = false, unique = true) private String username; @Column(nullable = false) private String password; private String mobileNumber; private String address; private UserRole role; // CUSTOMER, ADMIN }
لقد كررت هذه العملية لكيانات الامتياز والطلب وقائمة الانتظار.
بمجرد إعداد واجهة برمجة التطبيقات والكيانات الأساسية، انتقلت إلى تنفيذ منطق الأعمال لوضع الطلب. كان هذا هو الجزء المهم من الخدمة لأنه كان بحاجة إلى التعامل مع عناصر متعددة من القائمة وإدارة مواضع قائمة الانتظار.
اِسْتَدْعَى:
تنفيذ منطق تقديم طلب بعناصر متعددة، حيث يرتبط كل عنصر بقائمة محددة في الامتياز.
النتيجة: أرشدني ChatGPT خلال تصميم خدمة OrderService للتعامل مع هذا الأمر. إليك جزء من التنفيذ:
public Order createOrder(UUID customerId, UUID franchiseId, Listitems) { Order order = new Order(); order.setCustomer(userRepository.findById(customerId).orElseThrow()); order.setFranchise(franchiseRepository.findById(franchiseId).orElseThrow()); List orderItems = items.stream() .map(itemDto -> new OrderItem(menuItemRepository.findById(itemDto.getMenuItemId()), itemDto.getQuantity())) .collect(Collectors.toList()); order.setItems(orderItems); order.setQueuePosition(findQueuePositionForFranchise(franchiseId)); return orderRepository.save(order); }
بعد ذلك، طلبت من ChatGPT مساعدتي في تصميم المنطق لوضع العميل في قائمة الانتظار وتتبع موقعه.
اِسْتَدْعَى:
كيف يمكنني حساب موقف الانتظار ووقت الانتظار للطلب في نظام امتياز القهوة؟
النتيجة: اقترح ChatGPT إنشاء خدمة قائمة انتظار لتتبع الطلبات وتعيين مواضعها بناءً على الطوابع الزمنية. لقد قمت بتطبيقه على النحو التالي:
public int findQueuePositionForFranchise(UUID franchiseId) { Listqueue = customerQueueRepository.findAllByFranchiseId(franchiseId); return queue.size() 1; }
كما قدمت إرشادات حول تقدير أوقات الانتظار بناءً على متوسط وقت معالجة الطلب.
أخيرًا، قمت بتنفيذ منطق السماح للعملاء بإلغاء طلباتهم والخروج من قائمة الانتظار:
public void cancelOrder(UUID orderId) { Order order = orderRepository.findById(orderId).orElseThrow(); queueService.removeFromQueue(order.getQueue().getId(), order.getId()); orderRepository.delete(order); }
بحلول نهاية اليوم الثاني، حصلت على خدمة كاملة الوظائف تتيح للعملاء:
لدي بضع خطوات إضافية لإنشاء الوثائق، واستخدام Liquidbase وجعل chatGPT ينشئ بيانات نموذجية لتسهيل الاختبار.
قد يبدو بناء نظام معالجة الطلبات لمقهى في يومين أمرًا شاقًا، ولكن بمساعدة الذكاء الاصطناعي، يمكن تحقيقه. كان ChatGPT بمثابة مساعد ترميز، حيث ساعدني في تحويل المتطلبات المجردة إلى نظام عمل بسرعة. في حين أن الذكاء الاصطناعي يمكن أن يوفر الأساس، إلا أن تحسين التعليمات البرمجية وتخصيصها لا يزال مهارة أساسية. لقد علمني هذا المشروع كيفية تعظيم قيمة أدوات الذكاء الاصطناعي دون فقدان السيطرة على عملية التطوير.
من خلال اتباع الخطوات التي اتخذتها، يمكنك تسريع مشاريعك الخاصة والتركيز على حل المشكلات ذات المستوى الأعلى، وترك إنشاء التعليمات البرمجية الروتينية والتوجيه للذكاء الاصطناعي.
المصدر الكامل جيثب
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3