عندما كنت في السنة الثالثة من المدرسة الثانوية (مارس إلى ديسمبر 2016)، كنت منزعجًا للغاية من الوضع الذي نشأ في كافتيريا مدرستنا.
المشكلة الأولى: وقت انتظار طويل في الطابور
ما هي المشكلة التي لاحظتها؟ مثل هذا:

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

الخطة الأولية للنظام (سبتمبر 2017)
اختيار المعدات (أكتوبر 2017)

مفتاح لمسي بسيط مع مقاومة سحب لأعلى. مخطط يحتوي على خمسة دروع في ثلاثة صفوف للتعرف على قائمة انتظار مكونة من ثلاثة أسطر
لقد طلبت فقط خمسين مفتاح غشاء، ولوحة Wemos D1 mini ESP8266، وبعض المشابك الحلقية التي كنت أخطط لربط الأسلاك المطلية بها.
النمذجة الأولية والتطوير (أكتوبر 2017)
بدأت بلوحة توصيل، وقمت ببناء الدائرة عليها واختبارها. كانت المواد المتوفرة لدي محدودة، لذا التزمت بنظام اللوح ذي الخمسة أقدام.
بالنسبة للبرمجيات التي كتبتها بلغة C++، حددت الأهداف التالية:
- العمل بشكل مستمر وإرسال البيانات فقط خلال فترات تقديم الطعام (الإفطار، الغداء، العشاء، وجبة خفيفة بعد الظهر).
- التعرف على الاختناقات المرورية/الازدحام في الكافتيريا عند الترددات التي يمكن استخدامها في نماذج التعلم الآلي (على سبيل المثال، 10 هرتز).
- إرسال البيانات إلى الخادم بطريقة فعالة (يجب أن يكون حجم الحزمة صغيرًا) وعلى فترات قصيرة.
ولتحقيق هذه الأهداف كان علي أن أفعل ما يلي:
- استخدم وحدة RTC (ساعة الوقت الحقيقي) لمراقبة الوقت بشكل مستمر وتحديد موعد تقديم الطعام في الكافتيريا.
- استخدم ضغط البيانات للتعبير عن حالة الدرع في حرف واحد. من خلال معالجة البيانات كرمز ثنائي مكون من خمسة أرقام، قمت بتعيين القيم المختلفة إلى أحرف ASCII بحيث تمثل عناصر البيانات.
- استخدم ThingSpeak (أداة تحليلات إنترنت الأشياء والرسوم البيانية عبر الإنترنت) عن طريق إرسال طلبات HTTP باستخدام طريقة POST.
بالطبع، كان هناك بعض الأخطاء. على سبيل المثال، لم أكن أعلم أن عامل sizeof() يعيد 4 لكائن char *، وليس طول السلسلة (لأنه ليس مصفوفة وبالتالي لا يحسب المترجم الطول) وقد فوجئت جدًا بسبب احتواء طلبات HTTP الخاصة بي على أربعة أحرف فقط من عنوان URL بالكامل!
ولم أضع أيضًا الأقواس في خطوة #define، مما أدى إلى نتائج غير متوقعة. حسنًا، دعنا نقول:
#define _A 2 * 5
int a = _A / 3;هنا قد يتوقع المرء أن A يساوي 3 (10 / 3 = 3)، ولكن في الواقع تم حسابه بشكل مختلف: 2 (2 * 5 / 3 = 2).
أخيرًا، كان هناك خطأ آخر جدير بالذكر كان علي التعامل معه وهو إعادة تعيين مؤقت المراقبة. لقد عانيت من هذه المشكلة لفترة طويلة جدًا. كما اتضح لاحقًا، كنت أحاول الوصول إلى السجل منخفض المستوى على شريحة ESP8266 بالطريقة الخاطئة (قمت عن طريق الخطأ بتعيين قيمة NULL لمؤشر البنية).

لوح قدم قمت بتصميمه وبنائه. وبحلول الوقت الذي تم فيه التقاط الصورة، كان قد نجا بالفعل من خمسة أسابيع من الدوس.
الأجهزة (مساند القدم)
ولضمان قدرة الدروع على تحمل الظروف القاسية للكافتيريا، حددت لها المتطلبات التالية:
- يجب أن تكون الدروع قوية بما يكفي لتحمل وزن الإنسان في جميع الأوقات.
- يجب أن تكون الدروع رقيقة حتى لا تتداخل مع الأشخاص المتواجدين في الطابور.
- يجب تفعيل المفتاح عند الضغط عليه.
- يجب أن تكون الدروع مقاومة للماء. غرفة الطعام رطبة دائمًا.
لتلبية هذه المتطلبات، استقريت على تصميم ذو هيكل مكون من طبقتين - أكريليك مقطوع بالليزر للقاعدة والغطاء العلوي، وفلين كطبقة واقية.
لقد قمت بتصميم مخطط الدرع في أوتوكاد؛ الأبعاد - 400 × 400 ملم.

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


لتوصيل جميع المفاتيح استخدمت أسلاكًا مطلية بالمينا - وفي المجمل استغرق الأمر أكثر من 70 مترًا! في وسط كل درع وضعت مفتاح الغشاء. برز مشبكان من الفتحات الجانبية - على يسار ويمين المفتاح.
حسنًا، بالنسبة للعزل المائي، استخدمت شريطًا كهربائيًا. الكثير من شريط لاصق.
وكل شيء نجح!
الفترة من 5 نوفمبر إلى 12 ديسمبر

صورة للنظام - تظهر هنا جميع الدروع الخمسة. على اليسار توجد الإلكترونيات (D1-mini / Bluetooth / RTC)
في يوم 5 نوفمبر، في الساعة الثامنة صباحًا (وقت الإفطار)، بدأ النظام بجمع البيانات الحالية حول الوضع في الكافتيريا. لم أستطع أن أصدق عيني. قبل شهرين فقط كنت أرسم المخطط العام، وأنا جالس في المنزل مرتديًا بيجامتي، وها هو النظام بأكمله يعمل دون أي مشكلة... أو لا.
أخطاء البرمجيات أثناء الاختبار
وبطبيعة الحال، كان للنظام نصيبه من الأخطاء. وهنا ما أتذكره.
لم يتحقق البرنامج من نقاط اتصال Wi-Fi المتوفرة عند محاولة توصيل العميل بواجهة برمجة تطبيقات ThingSpeak. لإصلاح الخطأ، أضفت فحص توفر شبكة Wi-Fi كخطوة إضافية.
في وظيفة الإعداد، واصلت استدعاء "WiFi.begin" حتى ظهر اتصال. اكتشفت لاحقًا أن الاتصال يتم إنشاؤه بواسطة البرنامج الثابت ESP8266، ويتم استخدام وظيفة البدء فقط عند إعداد Wi-Fi. لقد قمت بإصلاح الوضع عن طريق استدعاء الوظيفة مرة واحدة فقط، أثناء الإعداد.
وجدت أن واجهة سطر الأوامر التي قمت بإنشائها (كانت مخصصة لتعيين الوقت وتغيير إعدادات الشبكة) لا تعمل في وضع الخمول (أي خارج أوقات الإفطار والغداء والعشاء والوجبة الخفيفة بعد الظهر). لقد رأيت أيضًا أنه عندما لا يحدث أي تسجيل، يتم تسريع الحلقة الداخلية كثيرًا ويتم قراءة البيانات التسلسلية بسرعة كبيرة. لذا قمت بتعيين تأخير حتى ينتظر النظام وصول الأوامر الإضافية عندما يكون ذلك متوقعًا.
قصيدة للحارس
أوه، وهناك شيء آخر بخصوص هذه المشكلة مع مؤقت المراقبة - لقد قمت بحلها في مرحلة الاختبار في ظروف "الميدان". من دون مبالغة، هذا كل ما كنت أفكر فيه لمدة أربعة أيام. كل فترة استراحة مدتها عشر دقائق كنت أسرع إلى الكافتيريا فقط لتجربة الإصدار الجديد من الكود. وعندما بدأ التوزيع، جلست على الأرض لمدة ساعة كاملة، محاولاً التقاط العدوى. ولم أفكر حتى في الطعام! شكرًا لك على كل الأشياء الجيدة، مؤقت مراقبة ESP8266!
كيف اكتشفت WDT

مقتطف الكود الذي كنت أواجه صعوبة في التعامل معه
لقد وجدت برنامجًا، أو بالأحرى امتدادًا لـ Arduino، يقوم بتحليل بنية بيانات البرنامج عندما يحدث Wdt-reset، عن طريق الوصول إلى ملف ELF الخاص بالكود المترجم (الارتباطات بين الوظائف والمؤشرات). وبمجرد القيام بذلك، اتضح أن الخطأ يمكن إصلاحه على النحو التالي:

يا إلهي! من كان ليتصور أن إصلاح الأخطاء في نظام يعمل في الوقت الفعلي قد يكون صعبًا إلى هذه الدرجة! ومع ذلك، قمت بإصلاح الخطأ واتضح أنه خطأ غبي. بسبب قلة الخبرة، كتبت حلقة while تجاوزت حدود المصفوفة. أوه! (index++ و ++index هما فرقان كبيران).

مشاكل الأجهزة أثناء الاختبار
وبطبيعة الحال، كانت المعدات، أي واقيات القدم، بعيدة كل البعد عن المثالية. كما هو متوقع، كان أحد المفاتيح عالقًا.

في السابع من نوفمبر، أثناء الغداء، تعطل المفتاح الموجود على اللوحة الثالثة.
أعلاه، قمت بتوفير لقطة شاشة للمخطط الموجود على الإنترنت من موقع ThingSpeak. كما ترون، حدث شيء ما حوالي الساعة 12:25 مما تسبب في فشل الدرع رقم ثلاثة. ونتيجة لذلك، تم تحديد طول قائمة الانتظار بـ 3 (القيمة هي 3 * 100)، حتى عندما لم يصل في الواقع إلى الدرع الثالث. يتكون الإصلاح من إضافة المزيد من الحشو (نعم، شريط كهربائي) لإعطاء المفتاح بعض المساحة الإضافية.
في بعض الأحيان كان يتم تمزيق نظامي حرفيًا من الجذور عندما يعلق سلك في الباب. تم إدخال العربات والحزم إلى غرفة الطعام من خلال هذا الباب، لذلك كان يسحب الحبل معه أثناء إغلاقه، مما أدى إلى إخراجه من مقبسه. في مثل هذه الحالات، لاحظت فشلًا غير متوقع في مصدر البيانات وخمنت أن النظام قد انفصل عن مصدر الطاقة.
نشر المعلومات حول النظام في جميع أنحاء المدرسة
كما ذكرت، استخدمت واجهة برمجة التطبيقات ThingSpeak، التي تقوم بتصور البيانات على الموقع في شكل رسوم بيانية، وهو أمر مريح للغاية. في الأساس، قمت للتو بنشر رابط لجدولي في مجموعة الفيسبوك الخاصة بالمدرسة (قضيت نصف ساعة أبحث عن هذا المنشور ولم أجده - غريب جدًا). لكنني وجدت منشورًا على فرقتي، وهي مجتمع مدرسي، بتاريخ 2017 نوفمبر XNUMX:


وكان رد الفعل عاصفًا!
لقد قمت بنشر هذه الصور لإثارة الاهتمام بمشروعي. ومع ذلك، فإن مجرد النظر إليهم في حد ذاته أمر مثير للاهتمام. على سبيل المثال، يمكنك أن ترى هنا بوضوح أن عدد الأشخاص قفز بشكل حاد في الساعة 6:02 وانخفض عمليًا إلى الصفر بحلول الساعة 6:10.

أرفقت أعلاه عددًا من الرسوم البيانية المتعلقة بأوقات الغداء والوجبات الخفيفة بعد الظهر. ومن المثير للاهتمام أن نلاحظ أن ذروة الازدحام خلال وقت الغداء كانت تحدث دائمًا تقريبًا في الساعة 12:25 (وصل الطابور إلى اللوحة الخامسة). وبالنسبة لشاي بعد الظهر، ليس من المعتاد عمومًا وجود حشود كبيرة من الناس (يبلغ طول الخط درعًا واحدًا كحد أقصى).
هل تعلم ما هو المضحك؟ هذا النظام لا يزال على قيد الحياة (https://thingspeak.com/channels/346781)! لقد قمت بتسجيل الدخول إلى الحساب الذي استخدمته من قبل ورأيت هذا:

في الرسم البياني أعلاه رأيت أن تدفق الناس في الثالث من ديسمبر كان أقل بكثير. وهذا ليس عجيبًا - فقد كان يوم الأحد. في هذا اليوم، يذهب الجميع تقريبًا إلى مكان ما سيرًا على الأقدام، لأنه في أغلب الحالات، لا يمكنك مغادرة ساحة المدرسة إلا يوم الأحد. ومن الواضح أنه في عطلة نهاية الأسبوع لن ترى روحًا حية في المقصف.
كيف حصلت على الجائزة الأولى من وزارة التعليم الكورية عن مشروعي
كما ترون بأنفسكم، لم أعمل على هذا المشروع لأنني كنت أحاول الحصول على نوع من الجائزة أو التقدير. أردت فقط أن أطبق مهاراتي لحل مشكلة مزمنة كنت أواجهها في المدرسة.
ومع ذلك، سألتني ذات يوم أخصائية التغذية في مدرستنا، السيدة O، التي أصبحت قريبة جدًا منها أثناء التخطيط وتصميم مشروعي، ما إذا كنت أعرف عن مسابقة فكرة الكافتيريا. في ذلك الوقت، اعتقدت أن مقارنة الأفكار لغرفة الطعام كانت فكرة غريبة. لكنني قرأت كتيب المعلومات واكتشفت أن المشروع يجب أن يقدم قبل 24 نوفمبر! حسنا حسنا. لقد قمت بسرعة بإنهاء المفهوم والبيانات والرسوم البيانية وقمت بإرسال الطلب.
تغييرات على الفكرة الأصلية للمسابقة
وبالمناسبة، فإن النظام الذي اقترحته في النهاية كان مختلفًا بعض الشيء عن النظام الذي تم تنفيذه بالفعل. في الأساس، قمت بتكييف طريقتي الأصلية (قياس طول الخط في الوقت الحقيقي) مع المدارس الكورية الأكبر حجمًا. للمقارنة: في مدرستنا يوجد ثلاثمائة طالب، وفي بعض المدارس الأخرى يوجد هذا العدد من الأشخاص يدرسون في فصل واحد فقط! كنت بحاجة إلى معرفة كيفية توسيع نطاق النظام.
لذا توصلت إلى مفهوم يعتمد بشكل أكبر على التحكم اليدوي. والآن، وضعت المدارس الكورية بالفعل خطة وجبات لجميع المراحل الدراسية وتلتزم بها بشكل صارم، لذا قمت ببناء إطار آخر للاستجابة للإشارة. كانت الفكرة هنا هي أنه عندما تصل المجموعة أمامك إلى طول خط معين (أي أصبح الخط قصيرًا)، فإنهم يرسلون لك إشارة يدويًا عبر زر أو مفتاح على الحائط. سيتم نقل الإشارة إلى شاشة التلفزيون أو من خلال مصابيح LED.
لقد أردت حقًا حل مشكلة كانت تحدث في جميع المدارس في جميع أنحاء البلاد. لقد تعززت نيتي أكثر عندما سمعت قصة من الآنسة O - سأخبرك بها الآن. اتضح أنه في بعض المدارس الكبيرة يمتد الخط إلى ما وراء الكافتيريا، لمسافة عشرين إلى ثلاثين متراً في الشارع، حتى في فصل الشتاء، لأن لا أحد يستطيع تنظيم العملية بشكل صحيح. وأحيانا يحدث أنه لعدة دقائق لا يظهر أحد في غرفة الطعام على الإطلاق - وهذا أمر سيئ أيضًا. في المدارس التي تضم أعدادًا كبيرة من الطلاب، بالكاد يستطيع الموظفون مواكبة الجميع حتى لو لم يتم إهدار دقيقة واحدة من وقت الوجبة. ولذلك، فإن أولئك الذين يصلون آخرًا لتلقي الطعام (عادةً طلاب المدارس الابتدائية) ببساطة لا يملكون الوقت الكافي لتناول الطعام.
لذا، على الرغم من أنني اضطررت إلى إرسال تطبيقي على عجل، إلا أنني ما زلت أفكر بعناية شديدة في كيفية تكييفه للاستخدام على نطاق أوسع.
رسالة أنني فزت بالجائزة الأولى!
باختصار، لقد تمت دعوتي لتقديم مشروعي لمسؤولين حكوميين. لذا وضعت كل مواهبي في برنامج PowerPoint في العمل، وجئت وقدمت العرض!

بداية العرض (أقصى اليسار – الوزير)
لقد كانت تجربة مثيرة للاهتمام - لقد توصلت للتو إلى شيء لمشكلة الكافتيريا، وانتهى بي الأمر بطريقة ما بين الفائزين في المسابقة. حتى وأنا واقفة على المسرح، بقيت أفكر: "ممم، ماذا أفعل هنا؟" لكن بشكل عام، كان هذا المشروع مفيدًا جدًا بالنسبة لي - لقد تعلمت الكثير حول تطوير الأنظمة المضمنة وتنفيذ المشاريع في الحياة الواقعية. حسنًا، وبالطبع حصل على جائزة.
اختتام
هناك بعض السخرية هنا: بغض النظر عن مدى مشاركتي في جميع أنواع المسابقات والمعارض العلمية، التي اشتركت فيها على وجه التحديد، لم يخرج منها شيء جيد. وهنا وجدت الفرصة ببساطة وأعطتني نتائج جيدة.
لقد جعلني أفكر في الأسباب التي تحفزني على القيام بالمشاريع. لماذا أبدأ العمل - من أجل "الفوز" أو حل مشكلة حقيقية في العالم من حولي؟ إذا كان الدافع الثاني هو العامل الحاسم في حالتك، فإنني أحثك بشدة على عدم التخلي عن المشروع. من خلال هذا النهج في العمل، يمكنك مواجهة فرص غير متوقعة على طول الطريق ولن تشعر بضغط الحاجة إلى الفوز بالضرورة - سيكون الدافع الرئيسي لك هو شغفك بما تفعله.
والأهم من ذلك، إذا تمكنت من تنفيذ حل لائق، فسوف تتمكن فورًا من تجربته في العالم الحقيقي. في حالتي، كانت المنصة عبارة عن مدرسة، ولكن مع مرور الوقت، تتراكم الخبرة، ومن يدري - ربما يتم استخدام تطبيقك من قبل دولة بأكملها أو حتى العالم أجمع.
في كل مرة أتذكر هذه التجربة، أشعر بنوع من الفخر بنفسي. لا أستطيع أن أشرح السبب، ولكن عملية تنفيذ المشروع جلبت لي متعة كبيرة، وأصبحت الجائزة بمثابة مكافأة إضافية. وبالإضافة إلى ذلك، كنت سعيدًا لأنني تمكنت من حل مشكلة لزملائي في الفصل والتي كانت تدمر حياتهم كل يوم. في أحد الأيام، جاء إلي أحد الطلاب وقال: "نظامك مريح للغاية". لقد كنت في السحابة التاسعة!
أعتقد أنه حتى بدون أي جوائز سأشعر بالفخر بتطوري لهذا السبب وحده. ربما كان مساعدة الآخرين هي التي منحتني هذا القدر من الرضا... على أي حال، أنا أحب المشاريع.
ما كنت أتمنى تحقيقه من خلال هذه المقالة
آمل أن تكون قد استلهمت بحلول نهاية مقالتي القيام بشيء من شأنه أن يفيد مجتمعك أو حتى نفسك فقط. أشجعك على استخدام مهاراتك (البرمجة بالتأكيد واحدة منها، ولكن هناك مهارات أخرى) لتغيير الواقع من حولك للأفضل. أستطيع أن أؤكد لك أن الخبرة التي ستكتسبها في هذه العملية لا مثيل لها.
كما يمكن أن يفتح لك مسارات لم تكن تتوقعها على الإطلاق - وهذا ما حدث معي. لذا من فضلك، افعل ما تحب واترك بصمتك على العالم! صدى صوت واحد يمكن أن يهز العالم أجمع، لذلك ثق بنفسك.
وفيما يلي بعض الروابط المتعلقة بالمشروع:
- )
- حول مصادر الأخبار
المصدر: www.habr.com
