كيف يبدو الأمر عند الاستماع إلى الكود بسرعة 1000 كلمة في الدقيقة

قصة مأساة صغيرة وانتصارات كبيرة لمطور جيد جدًا يحتاج إلى المساعدة

كيف يبدو الأمر عند الاستماع إلى الكود بسرعة 1000 كلمة في الدقيقة

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

تم تخصيص إحدى الدورات المكثفة لاستخدام نظام حاويات Docker للحوسبة الموزعة والتنسيق. وحضرها طلاب الماجستير والدراسات العليا في الرياضيات التطبيقية والهندسة وإعداد البرمجيات وغيرها من المجالات التقنية.

كان المعلم رجلاً يرتدي نظارة داكنة، وقصة شعر عصرية، ووشاحًا، وكان اجتماعيًا وواثقًا جدًا - خاصة بالنسبة لطالب في السنة الثانية يبلغ من العمر 21 عامًا. اسمه Evgeny Nekrasov، دخل FEFU قبل عامين فقط.

معجزة

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

كيف يبدو الأمر عند الاستماع إلى الكود بسرعة 1000 كلمة في الدقيقة

يستطيع Evgeniy الكتابة بلغات Scala وClojure وJava وJavaScript وPython وHaskell وTypeScript وPHP وRust وC++ وC وAssembler. "أعرف جافا سكريبت بشكل أفضل، والباقي أقل بمستوى أو اثنين. ولكن في الوقت نفسه، يمكنني برمجة وحدة تحكم في Rust أو C++ في ساعة واحدة. لم أدرس هذه اللغات عن قصد. لقد درستهم للمهام التي تم تكليفي بها. يمكنني الانضمام إلى أي مشروع من خلال دراسة الوثائق والأدلة. أعرف تركيب جمل اللغات، وأي منها سأستخدمه لا يهم حقًا. الأمر نفسه ينطبق على الأطر والمكتبات - ما عليك سوى قراءة الوثائق وفهم كيفية عملها. يتم تحديد كل شيء حسب مجال الموضوع والمهمة.

يدرس Evgeniy البرمجة بشكل مكثف منذ عام 2013. لقد جعله مدرس علوم الكمبيوتر في المدرسة الثانوية الذي كان أعمى تمامًا مهتمًا بعلوم الكمبيوتر. بدأ المسار بالويب - HTML، JavaScript، PHP.

"أنا مجرد فضولي. لا أنام كثيرًا، فأنا مشغول دائمًا بشيء ما، أو أقرأ شيئًا ما، أو أدرس شيئًا ما.

في عام 2015، تقدم إيفجيني بطلب للمشاركة في مسابقة "أومنيك" لدعم المشاريع الفنية للعلماء الشباب الذين تزيد أعمارهم عن ثمانية عشر عامًا. لكنه لم يكن في الثامنة عشرة من عمره، لذلك فشل في الفوز بالمنافسة - لكن Evgeniy لاحظه مجتمع المطورين المحليين. التقى بسيرجي ميليخين، الذي كان في تلك اللحظة ينظم مؤتمرات في فلاديفوستوك كجزء من مهرجان Google Developer Fest. "لقد دعاني إلى هناك، جئت، واستمعت، وأعجبني ذلك. وفي العام التالي عدت مرة أخرى، وتعرفت على الناس أكثر فأكثر، وتواصلت معهم”.

بدأ Andrey Sitnik من مجتمع VLDC بمساعدة Evgeniy في مشاريعه على الويب. "كنت بحاجة إلى إنشاء تطبيق مقبس ويب متعدد الخيوط. لقد فكرت لفترة طويلة جدًا في كيفية القيام بذلك في PHP، وتحولت إلى Andrei. قال لي: "خذ حزم Node.js وnpm الموجودة على الإنترنت، ولا تحطم رأسك. وبشكل عام، يعد نقل المصادر المفتوحة أمرًا رائعًا. لذلك قمت بتحسين لغتي الإنجليزية، وبدأت في قراءة الوثائق ونشر المشاريع على GitHub.

في عام 2018، قدم Evgeniy بالفعل عروضًا تقديمية في Google Dev Fest، حيث تحدث عن التطورات في مجال الواجهات التي يمكن الوصول إليها، والأطراف الاصطناعية للأطراف العلوية، وتطوير الواجهات العصبية وأنظمة التحكم في الوصول بدون تلامس. الآن، يفغيني في سنته الثانية في درجة البكالوريوس في هندسة البرمجيات، لكنه أكملها بالفعل بنجاح وينتهي من عمله النهائي.

"لقد طُلب مني تنفيذ بنية البيانات في جدول التجزئة. وهذا شيء قياسي يُعطى للجميع في الجامعة. "انتهى بي الأمر بالحصول على 12 ألف سطر من التعليمات البرمجية ومجموعة من العكازات"، يقول إيفجيني ضاحكًا، "لقد قمت ببناء جدول التجزئة وبنيته المعدلة في JavaScript لقراءة البيانات بشكل أسرع. ويقول المعلم: “أريدك أن تكتب ما هو أسهل بالنسبة لي حتى أتمكن من تقييمه”. لقد كان مزعجا للغاية."

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

جرح

"كنت مراهقًا عاديًا، وأطرافي كلها في مكانها. في عام 2012، فجرت نفسي. خرجت في نزهة مع صديق، التقطت أسطوانة في الشارع، فانفجرت في يدي. تمزقت يدي اليمنى، وأصيبت يدي اليسرى بالشلل، وتضررت رؤيتي، وضعف سمعي. لمدة ستة أشهر كنت مستلقيًا على طاولات العمليات.

تم تجميع اليد اليسرى في أجزاء، وتم تركيب الألواح وإبر الحياكة. وبعد خمسة أشهر تمكنت من العمل لديها.

بعد الإصابة، لم أتمكن من رؤية أي شيء على الإطلاق. لكن الأطباء تمكنوا من استعادة إدراك الضوء. ولم يبق من عيني إلا الصدفة. تم استبدال كل شيء بالداخل: الأجسام الزجاجية والعدسات. كل شيء ممكن."

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

يطلق Zhenya على نفسه اسم مستخدم Linux المتعطش، فهو يستخدم دبيان. وباستخدام لوحة المفاتيح، يتنقل عبر عناصر الواجهة، ويقوم مُركِّب الكلام بصوت ما يحدث.

قال لي قبل تشغيل البرنامج: "الآن ستسمع المساحة فقط".

يبدو وكأنه رمز أو ثرثرة غريبة، ولكن في الواقع هو روسي أو إنجليزي عادي، فقط المركب يتحدث بسرعة لا تصدق للأذن غير المدربة.

"لم يكن من الصعب تعلم هذا. في البداية عملت على نظام Windows واستخدمت قارئ الشاشة Jaws. استخدمته وفكرت، "يا رب، كيف يمكنك أن تعمل بهذه السرعة البطيئة." لقد قمت بتكبير الصورة وأدركت أن الأذنين تم تجعيدهما في أنبوب. لقد أعدته مرة أخرى وبدأت في زيادته تدريجيًا بنسبة 5-10 بالمائة كل أسبوع. لقد قمت بتسريع آلة النطق إلى مائة كلمة، ثم أكثر، مرارًا وتكرارًا. والآن يتحدث ألف كلمة في الدقيقة."

يكتب Zhenya في محرر نصوص عادي - Gedit أو Nano. نسخ المصادر من Github، وتشغيل قارئ الشاشة والاستماع إلى الكود. ولضمان سهولة قراءته وفهمه من قبل المطورين الآخرين، فإنه يستخدم الفلاتر والتكوينات طوال الوقت. لكن Zhenya لا يمكنها استخدام بيئات التطوير لأنها غير قابلة للوصول للمكفوفين بسبب تنفيذها.

"لقد تم تصنيعها بطريقة يتم من خلالها تحديد نافذتها بواسطة النظام، ولا يرى قارئ الشاشة كل شيء داخل النافذة لأنه لا يستطيع الوصول إليها. لقد اتصلت الآن بـ JetBrains مباشرةً لمحاولة إجراء بعض التصحيحات على بيئاتهم. أرسلوا لي مصادر PyCharm. يتم تنفيذ IDE على Intellij Idea، لذلك يمكن تطبيق جميع التغييرات هناك وهناك.

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

تستخدم Zhenya بسهولة إصدار الهاتف المحمول من VKontakte، ولكنها تتجنب Facebook: "VK مناسب لي لأنه يحتوي على قائمة منفصلة لقوائم التنقل. تحتوي على عناصر وعناوين تمثل بالنسبة لي التقسيم الدلالي للصفحة. على سبيل المثال، عنوان المستوى الأول حيث يُشار إلى لقبي - أعلم أن هذا هو عنوان الصفحة. أعلم أن رأس "الرسائل" يقسم الصفحة، ويوجد أدناه قائمة بالحوارات.

يعزز Facebook إمكانية الوصول، ولكن في الواقع كل شيء سيء للغاية لدرجة أنه من المستحيل فهم أي شيء. أفتحه - ويبدأ البرنامج في التجميد، والصفحة بطيئة للغاية، وكل شيء يقفز بالنسبة لي. توجد جميع الأزرار في كل مكان، وأتساءل، "كيف يمكنني العمل مع هذا؟!" لن أستخدمه إلا إذا انتهيت من عميلي أو اتصلت بطرف ثالث.

بحث

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

تعيش Zhenya مع فتاة، وهي تساعد بعدة طرق في جميع أنحاء المنزل: "نشر السندويشات، وصب الشاي، وغسل الملابس. ولذلك، كان لدي المزيد من الوقت للاسترخاء والقيام بالأشياء التي أحبها.

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

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

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

لكن الأنشطة الرئيسية تظل التطوير والبحث.

ذراع صناعية

كيف يبدو الأمر عند الاستماع إلى الكود بسرعة 1000 كلمة في الدقيقة

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

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

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

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

عين اصطناعية

تعمل زينيا مع عالم الكيمياء الحيوية والفيزياء الحيوية بوجدان شيجلوف على نموذج أولي للعين الاصطناعية. يشارك بوجدان في النمذجة ثلاثية الأبعاد لمقلة العين وربط جميع الدوائر الدقيقة في نموذج ثلاثي الأبعاد بالعصب البصري، وتقوم Zhenya ببناء نموذج رياضي.

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

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

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

البيروقراطية

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

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

فاز زينيا هذا العام بدراسة مجانية لمدة ستة أشهر في النمسا بموجب برنامج شراكة بين الجامعات - لكنه لا يستطيع الذهاب إلى هناك. لتأكيد التأشيرة، هناك حاجة إلى ضمانات بأن لديه أموالاً للسكن والحياة في سالزبورغ.

يقول زينيا: "إن اللجوء إلى التمويل لم يسفر عن نتائج، لأن التمويل يتم توفيره فقط لبرامج الدبلومات الكاملة. كما أن اللجوء إلى جامعة سالزبورغ نفسها لم يكن كذلك - فالجامعة ليس لديها مهاجع خاصة بها ولا يمكنها مساعدتنا في السكن.

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

لقد اتصلت بنفس العدد تقريبًا من الصناديق الروسية. قالوا لي في سكولكوفو: آسف، لكننا نعمل فقط مع السادة. أخبرتني مؤسسات أخرى أنها لا تملك التمويل لمدة ستة أشهر، أو أنها تعمل فقط مع برامج الدبلوم، أو أنها لا تمول الأفراد. ولم ترد علي مؤسستا بروخوروف وبوتانين.

لقد تلقيت رسالة من Yandex مفادها أنهم يشاركون في أعمال خيرية كبيرة وأن الشركة ليس لديها تمويل حاليًا، لكنهم يتمنون لي كل التوفيق.

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

لكن المشاركات حول مشكلة زينيا بدأت تنتشر بسرعة عبر شبكات التواصل الاجتماعي. في الأيام القليلة الأولى، جمعنا حوالي 50 روبل - من أصل 000 يورو المطلوبة. ليس هناك الكثير من الوقت للاستعداد، لكن العديد من الأشخاص يكتبون بالفعل إلى Zhenya للحصول على الدعم. ربما كل شيء سوف ينجح.

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

يبدو لي أن هناك حاجة إلى مجتمعات مهنية كبيرة لمساعدة بعضها البعض. تحتاج زوجة نيكراسوف إلى المال، والاتصالات المفيدة، والأفكار، والمشورة، وأي شيء. دعونا نرفع الكارما لدينا.

اتصالات Zhenya وشخصيات مهمة أخرىالبريد الإلكتروني: [البريد الإلكتروني محمي]
Телефон: +7-914-968-93-21
برقية وواتساب: +7-999-057-85-48
جيثب: github.com/رافينو
vk.com: vk.com/ravino_doul

تفاصيل تحويل الأموال:
رقم البطاقة: 4276 5000 3572 4382 أو رقم الهاتف +7-914-968-93-21
محفظة ياندكس عن طريق رقم الهاتف +7-914-968-93-21

المرسل إليه: نيكراسوف يفغيني

المصدر: www.habr.com

إضافة تعليق