گوش دادن به کد با سرعت 1000 کلمه در دقیقه چگونه است

داستان یک تراژدی کوچک و پیروزی های بزرگ یک توسعه دهنده بسیار خوب که به کمک نیاز دارد

گوش دادن به کد با سرعت 1000 کلمه در دقیقه چگونه است

در دانشگاه فدرال خاور دور مرکزی برای فعالیت های پروژه وجود دارد - در آنجا کارشناسی ارشد و کارشناسی پروژه های مهندسی را پیدا می کنند که از قبل مشتری، پول و چشم انداز دارند. سخنرانی ها و دوره های فشرده نیز در آنجا برگزار می شود. متخصصان با تجربه در مورد چیزهای مدرن و کاربردی صحبت می کنند.

یکی از دوره های فشرده به استفاده از سیستم کانتینری سازی داکر برای محاسبات توزیع شده و ارکستراسیون اختصاص داشت. با حضور کارشناسی ارشد و دانشجویان کارشناسی ارشد ریاضیات کاربردی، مهندسی، تهیه نرم افزار و سایر رشته های فنی برگزار شد.

معلم پسری بود با عینک تیره، مدل موی شیک، روسری، اجتماعی و بیش از حد اعتماد به نفس - به خصوص برای یک دانش آموز سال دوم 21 ساله. نام او اوگنی نکراسوف است، او فقط دو سال پیش وارد FEFU شد.

ووندرکند

"بله، آنها مسن تر بودند و موقعیت بیشتری داشتند، اما نمی توانم بگویم که آنها با تجربه تر بودند. علاوه بر این، گاهی برای معلممان برای همکلاسی هایم سخنرانی می کردم. در برخی مواقع متوجه شدیم که او نمی‌تواند در مورد برنامه‌نویسی شی‌گرا چیز بیشتری به من بدهد، بنابراین هر از گاهی در مورد OOP، توسعه مدرن، GitHub و استفاده از سیستم‌های کنترل نسخه برای او سخنرانی می‌کردم.

گوش دادن به کد با سرعت 1000 کلمه در دقیقه چگونه است

Evgeniy می تواند در Scala، Clojure، Java، JavaScript، Python، Haskell، TypeScript، PHP، Rust، C++، C و Assembler بنویسد. من جاوا اسکریپت را بهتر می دانم، بقیه یک یا دو سطح پایین تر هستند. اما در عین حال می توانم یک کنترلر را در Rust یا C++ در یک ساعت برنامه ریزی کنم. من این زبان ها را عمدا مطالعه نکردم. من آنها را برای وظایفی که به من محول شده بود مطالعه کردم. من می توانم با مطالعه مستندات و دستورالعمل ها به هر پروژه ای بپیوندم. من نحو زبان ها را می دانم و اینکه کدام یک از آنها استفاده کنم واقعاً مهم نیست. در مورد چارچوب‌ها و کتابخانه‌ها هم همین‌طور است - فقط اسناد را بخوانید و می‌دانم چگونه کار می‌کند. همه چیز توسط حوزه موضوعی و وظیفه تعیین می شود.»

Evgeniy از سال 2013 به طور فشرده برنامه نویسی را مطالعه می کند. یک معلم علوم کامپیوتر دبیرستان که کاملا نابینا بود او را به علوم کامپیوتر علاقه مند کرد. مسیر با وب آغاز شد - HTML، جاوا اسکریپت، PHP.

"من فقط کنجکاو هستم. من زیاد نمی خوابم - من دائماً مشغول چیزی هستم، چیزی می خوانم، چیزی مطالعه می کنم.

در سال 2015، Evgeniy برای مسابقه "Umnik" برای حمایت از پروژه های فنی دانشمندان جوان بالای هجده سال درخواست داد. اما او هجده ساله نبود، بنابراین نتوانست در مسابقه برنده شود - اما Evgeniy توسط جامعه توسعه دهندگان محلی مورد توجه قرار گرفت. او با سرگئی میلکین ملاقات کرد که در آن لحظه کنفرانس هایی را در ولادی وستوک به عنوان بخشی از جشنواره توسعه دهندگان گوگل سازماندهی می کرد. او من را به آنجا دعوت کرد، آمدم، گوش دادم، از آن خوشم آمد. سال بعد دوباره آمدم، مردم را بیشتر و بیشتر شناختم، ارتباط برقرار کردم.»

آندری سیتنیک از جامعه VLDC شروع به کمک به Evgeniy در پروژه های وب خود کرد. من نیاز به ساختن یک برنامه سوکت وب چند رشته ای داشتم. من برای مدت طولانی در مورد چگونگی انجام این کار در PHP فکر کردم و به آندری روی آوردم. او به من گفت: «بسته‌های node.js، npm که در اینترنت هستند را بگیر و سرت را نشکن. و به طور کلی، جابجایی منبع باز جالب است.” بنابراین انگلیسی خود را بهبود بخشیدم، شروع به خواندن اسناد و ارسال پروژه ها در GitHub کردم.

در سال 2018، Evgeniy قبلاً در Google Dev Fest ارائه هایی ارائه کرد و در مورد پیشرفت در زمینه رابط های قابل دسترسی، پروتزهای اندام فوقانی، توسعه رابط های عصبی و سیستم های کنترل دسترسی بدون تماس صحبت کرد. اکنون Evgeniy در سال دوم لیسانس خود در رشته مهندسی نرم افزار است، اما او قبلاً آن را با موفقیت به پایان رسانده و آخرین کار خود را به پایان می رساند.

به من گفته شد که ساختار داده را در جدول هش پیاده سازی کنم. این یک چیز استاندارد است که در دانشگاه به همه داده می شود. Evgeniy با خنده می‌گوید: «من با 12 هزار خط کد و دسته‌ای عصا پایان دادم. من یک جدول هش و ساختار تغییر یافته آن را در جاوا اسکریپت ساختم تا داده‌ها را سریع‌تر بخوانم. و معلم می گوید: "من باید آنچه را برای من آسان تر است بنویسید تا بتوانم آن را ارزیابی کنم." خیلی آزاردهنده بود."

پروژه های شخصی اوگنی بسیار جالب تر به نظر می رسند. اولین مورد از آنها توسعه استانداردهای وب برای افراد دارای معلولیت جسمی است. او می‌خواهد منبعی ایجاد کند که فناوری کمکی را به‌صورت خارج از جعبه ارائه کند تا افراد دارای اختلالات بینایی بتوانند به راحتی از آن استفاده کنند، بدون اینکه نگران از دست دادن برخی اطلاعات باشند. اوگنی این مشکل را خوب می داند، زیرا خود بینایی خود را از دست داده است.

جراحت

من یک نوجوان معمولی بودم، با تمام دست و پا در جای خود. در سال 2012 خودم را منفجر کردم. با یکی از دوستانم برای قدم زدن بیرون رفتم، یک سیلندر در خیابان برداشتم و در دستانم منفجر شد. دست راستم کنده شد، دست چپم فلج شد، دیدم آسیب دید و شنوایی ام ضعیف شد. شش ماه فقط روی میز عمل دراز کشیدم.

دست چپ در قطعات مونتاژ شد، بشقاب ها و سوزن های بافندگی نصب شد. بعد از پنج ماه توانستم برای او کار کنم.

بعد از مصدومیت اصلاً چیزی نمی دیدم. اما پزشکان موفق به بازگرداندن درک نور شدند. جز صدف چیزی از چشمم نمانده بود. همه چیز در داخل جایگزین شد - بدنه های زجاجیه، لنزها. همه چیز ممکن است."

در سال 2013، ژنیا برای تحصیل در یک مدرسه اصلاحی برای کودکان دارای اختلالات بینایی رفت. آن معلم علوم کامپیوتر که کاملاً نابینا بود، دوباره به او یاد داد که چگونه از کامپیوتر استفاده کند. برای این منظور از برنامه های ویژه - صفحه خوان ها استفاده می شود. آنها به APIهای سیستم عامل دسترسی پیدا می کنند تا به رابط دسترسی پیدا کنند و روش کنترل آن را کمی تغییر دهند.

ژنیا خود را یک کاربر مشتاق لینوکس می نامد؛ او از دبیان استفاده می کند. با استفاده از صفحه کلید، او در میان عناصر رابط حرکت می کند و یک ترکیب کننده گفتار آنچه را که اتفاق می افتد صدا می کند.

قبل از اینکه برنامه را روشن کنم به من می گوید: «اکنون فقط فاصله را خواهید شنید.

این شبیه یک رمز یا پچ پچ بیگانه به نظر می رسد، اما در واقع روسی یا انگلیسی معمولی است، فقط این است که سینتی سایزر برای گوش آموزش ندیده با سرعتی باورنکردنی صحبت می کند.

«یادگیری این کار سخت نبود. ابتدا روی ویندوز کار می کردم و از صفحه خوان Jaws استفاده می کردم. من از آن استفاده کردم و فکر کردم، "خداوندا، چگونه می توانی با این سرعت کم کار کنی." زوم کردم و متوجه شدم که گوش ها به شکل لوله ای حلقه شده اند. من آن را برگرداندم و به تدریج شروع کردم به افزایش آن 5-10 درصد هر هفته. سینت سایزر را به صد کلمه شتاب دادم، سپس حتی بیشتر، و بارها و بارها. حالا او هزاران کلمه در دقیقه صحبت می کند.»

ژنیا در یک ویرایشگر متن معمولی می نویسد - Gedit یا Nano. منابع را از Github کپی می کند، صفحه خوان را راه اندازی می کند و به کد گوش می دهد. برای اطمینان از اینکه می تواند به راحتی توسط توسعه دهندگان دیگر خوانده و درک شود، از لینترها و تنظیمات در سراسر آن استفاده می کند. اما ژنیا نمی تواند از محیط های توسعه استفاده کند زیرا به دلیل اجرای آنها برای نابینایان غیرقابل دسترسی است.

"آنها به گونه ای ساخته شده اند که پنجره آنها توسط سیستم تعیین می شود و همه چیز در داخل پنجره توسط صفحه خوان دیده نمی شود زیرا نمی تواند به آن دسترسی پیدا کند. من اکنون مستقیماً با JetBrains تماس گرفته‌ام تا سعی کنم وصله‌هایی را در محیط آنها ایجاد کنم. آنها منابع PyCharm را برای من ارسال کردند. IDE بر روی Intellij Idea پیاده سازی شده است، بنابراین همه تغییرات می توانند هم آنجا و هم آنجا اعمال شوند.

مانع دیگر عدم رعایت استانداردهای رایج وب است. به عنوان مثال، ما یک عنوان بزرگ را در یک صفحه می بینیم. بسیاری از توسعه دهندگان این کار را با استفاده از یک تگ span اجرا می کنند تا فونت را به اندازه دلخواه سفت کنند و در نهایت خوب به نظر می رسد. اما از آنجایی که متن عنوانی برای سیستم نیست، صفحه خوان آن را به عنوان یک عنصر منو نمی شناسد و اجازه تعامل را نمی دهد.

ژنیا به راحتی از نسخه موبایل VKontakte استفاده می کند، اما از فیس بوک اجتناب می کند: "VK برای من راحت است زیرا فهرست جداگانه ای از منوهای ناوبری دارد. دارای عناصر و سرفصل هایی است که به نظر من تقسیم معنایی صفحه است. به عنوان مثال، عنوان سطح اول که در آن نام مستعار من مشخص شده است - می دانم که این عنوان صفحه است. من می دانم که هدر "پیام ها" صفحه را تقسیم می کند و در زیر لیستی از دیالوگ ها وجود دارد.

فیس بوک دسترسی را ترویج می کند، اما در واقعیت همه چیز آنقدر بد است که درک چیزی غیرممکن است. من آن را باز می کنم - و برنامه شروع به یخ زدن می کند، صفحه به طرز وحشتناکی کند است، همه چیز برای من به اطراف می پرد. همه جا همه دکمه ها وجود دارد، و من می گویم، "چطور می توانم با این کار کنم؟" من فقط در صورتی از آن استفاده خواهم کرد که مشتری خود را تمام کنم یا شخص ثالثی را وصل کنم.»

تحقیق

ژنیا در ولادی وستوک در یک خوابگاه معمولی دانشگاه زندگی می کند. حمام در اتاق، دو کمد، دو تخت، دو میز، دو قفسه، یک یخچال وجود دارد. هیچ ابزار خاصی وجود ندارد، اما به گفته او، آنها مورد نیاز نیستند. «اختلال بینایی به این معنا نیست که نمی‌توانم راه بروم یا راهی پیدا نخواهم کرد. اما من با خوشحالی می توانستم و اگر لوازم مصرفی داشتم خودم را به یک خانه هوشمند مجهز کنم. من به سادگی پولی برای خرید قطعات ندارم. برای دانش آموزی که XNUMX تومان صرف هزینه هایش صرف کند، بسیار زیان آور است.

ژنیا با یک دختر زندگی می کند، او به طرق مختلف در خانه کمک می کند: "ساندویچ پخش کنید، چای بریزید، لباس بشویید. بنابراین زمان بیشتری برای استراحت و انجام کارهایی که دوست دارم داشتم.»

به عنوان مثال، ژنیا یک گروه موسیقی دارد که در آن گیتار الکتریک می نوازد. بعد از مصدومیت هم یاد گرفت. در سال 2016، او سه ماه را در یک مرکز توانبخشی گذراند و در آنجا از یک معلم خواست تا در مورد گیتار به او کمک کند. ابتدا با درز یک پیراهن که به سمت بیرون چرخیده بود بازی می کردم. سپس یک واسطه ساختم.

«برای تقویت دست، بانداژی برداشتم که مثلاً کاراته‌کاها از آن استفاده می‌کنند، آن را از جداکننده‌های انگشت باز کردم و روی ساعد کشیدم. یک پد فوم در آنجا وجود دارد که از برس در برابر آسیب محافظت می کند - من برس را که برادرم از یک کاردک پلاستیکی برایم بریده بود به آن دوختم. معلوم شد که این یک زبان پلاستیکی دراز است که برای نواختن سیم از آن استفاده می کنم - کندن و کوبیدن.

انفجار پرده گوش او را منفجر کرد، بنابراین ژنیا نمی تواند فرکانس های پایین را بشنود. گیتار او سیم ششم (پایین‌ترین) را ندارد و سیم پنجم متفاوت است. او بیشتر قسمت های انفرادی می نوازد.

اما فعالیت های اصلی توسعه و تحقیق باقی مانده است.

بازوی مصنوعی

گوش دادن به کد با سرعت 1000 کلمه در دقیقه چگونه است

یکی از پروژه ها توسعه پروتز اندام فوقانی با سیستم کنترل هوشمند است. در سال 2016، ژنیا به سراغ شخصی که در حال ساخت پروتز بود آمد و شروع به کمک به او برای آزمایش کرد. در سال 2017، آنها در هکاتون Neurostart شرکت کردند. ژنیا در یک تیم سه نفره کنترل کننده های سطح پایین را برنامه ریزی کرد. دو نفر دیگر خودشان مدل ها را ساختند و شبکه های عصبی را برای سیستم کنترل آموزش دادند.

اکنون ژنیا کل بخش نرم افزاری پروژه را در اختیار گرفته است. از بازوبند Myo برای خواندن پتانسیل‌های عضلانی استفاده می‌کند، ماسک‌هایی را بر اساس آن‌ها می‌سازد، و مدل‌های شبکه عصبی را در بالا برای تشخیص ژست‌ها اعمال می‌کند - این همان چیزی است که سیستم کنترل بر روی آن ساخته شده است.

«این دستبند دارای هشت حسگر است. آنها تغییرات بالقوه را به هر دستگاه ورودی منتقل می کنند. من SDK آنها را با دستانم حذف کردم، همه چیزهایی را که لازم بود دیکامپایل کردم و برای خواندن داده ها، lib خودم را در پایتون نوشتم. البته داده های کافی وجود ندارد. حتی اگر یک میلیارد حسگر روی پوستم بگذارم، باز هم کافی نخواهد بود. پوست روی ماهیچه ها حرکت می کند و داده ها با هم مخلوط می شوند.

ژنیا در آینده قصد دارد چندین حسگر را زیر پوست و ماهیچه ها نصب کند. او اکنون آن را امتحان می کند - اما چنین عملیاتی در روسیه ممنوع است. اگر جراح تجهیزات بدون گواهی را زیر پوست فردی کاشت، مدرک دیپلم خود را از دست می دهد. با این حال، ژنیا یک سنسور را به دست خود دوخت - یک برچسب RFID، مانند کلیدهای الکترونیکی، برای باز کردن یک تلفن داخلی یا هر قفلی که کلید به آن متصل می شود.

چشم مصنوعی

ژنیا همراه با بوگدان شچگلوف، بیوشیمیدان و بیوفیزیکدان، در حال کار بر روی نمونه اولیه یک چشم مصنوعی است. بوگدان مشغول مدل سازی سه بعدی کره چشم است و تمام ریزمدارها را در یک مدل سه بعدی با عصب بینایی متصل می کند، ژنیا در حال ساخت یک مدل ریاضی است.

ما بسیاری از ادبیات را در مورد آنالوگ های موجود مطالعه کردیم، فناوری هایی که در بازار بودند و اکنون هستند، و متوجه شدیم که تشخیص تصویر مرتبط نیست. اما متوجه شدیم که قبلا ماتریسی برای ثبت فوتون ها و انرژی آنها ایجاد شده بود. ما تصمیم گرفتیم یک ماتریس مشابه در اندازه کوچک‌تر ایجاد کنیم که بتواند حداقل مجموعه‌ای از فوتون‌ها را ثبت کند و یک پالس الکتریکی بر اساس آنها بسازد. به این ترتیب ما از لایه میانی یک تصویر واضح و تشخیص آن خلاص می شویم - ما فقط مستقیماً کار می کنیم.

نتیجه، دیدی خواهد بود که کاملاً به معنای کلاسیک نیست. اما همانطور که ژنیا می گوید، باقیمانده عصب بینایی باید تامین تکانه های الکتریکی را به همان شیوه ای که از یک چشم واقعی دریافت می کند، درک کند. در سال 2018، آنها این پروژه را با رئیس دانشگاه فنی دریایی، گلب توریشچین، و مربی Skolkovo، اولگا ولیچکو، مورد بحث قرار دادند. آنها تأیید کردند که این مشکل را می توان با استفاده از فناوری هایی که قبلاً در جهان وجود دارد حل کرد.

اما این کار حتی دشوارتر از ساخت پروتز است. ما حتی نمی‌توانیم آزمایشی روی قورباغه‌ها انجام دهیم تا بررسی کنیم که شبکیه چقدر تکانه‌ها را تولید می‌کند، چگونه به نورهای مختلف بستگی دارد، کدام ناحیه بیشتر و کدام کمتر تولید می‌کند. ما به بودجه ای نیاز داریم که به ما امکان دهد آزمایشگاهی را اجاره کنیم و افرادی را برای تجزیه وظایف و کاهش ضرب الاجل استخدام کنیم. به علاوه هزینه تمام مواد لازم. به عنوان یک قاعده، همه چیز به پول بستگی دارد.»

بوروکراسی

بوگدان و ژنیا برای دریافت بودجه به Skolkovo درخواست دادند اما رد شدند - فقط محصولات نهایی با پتانسیل تجاری به آنجا می روند و نه پروژه های تحقیقاتی در مرحله نوپا.

با وجود تمام اصالت در داستان ژنیا، با وجود توانایی ها و موفقیت های الهام بخش او، از بدشانسی عجیب بوروکراتیک شگفت زده می شود. به خصوص شنیدن این موضوع در پس زمینه اخبار آزاردهنده است. در اینجا یک «محصول مورد نیاز مردم» (یک برنامه عکس، بهینه سازی تبلیغات یا انواع جدید چت) وجود دارد که میلیون ها دلار درآمد و سرمایه گذاری خود را دریافت می کند. اما یک مشتاق ناشناخته نمی داند با ایده های خود چه کند.

امسال ژنیا برنده تحصیل رایگان شش ماهه در اتریش تحت یک برنامه مشارکتی بین دانشگاه ها شد - اما او نمی تواند به آنجا برود. برای تأیید ویزا، تضمین هایی لازم است که او برای مسکن و زندگی در سالزبورگ پول دارد.

ژنیا می‌گوید: «توسعه به بودجه نتیجه نداد، زیرا بودجه فقط برای برنامه‌های دیپلم کامل ارائه می‌شود.»

من به ده صندوق نامه نوشتم و فقط سه چهار نفر به من پاسخ دادند. علاوه بر این ، آنها پاسخ دادند که مدرک علمی من برای آنها مناسب نیست - آنها به استادان و بالاتر نیاز داشتند. دستاوردهای علمی من در مقطع کارشناسی برای آنها ارزش قائل نیست. اگر در یک دانشگاه محلی تحصیل می کنید، مدرک لیسانس دارید و در تحقیقات فنی مشغول هستید، می توانید در داخل دانشگاه درخواست دهید. اما برای یک فرد خارج از کشور، متأسفانه، آنها این را ندارند.

من تقریباً با همین تعداد صندوق روسیه تماس گرفتم. در Skolkovo به من گفتند: متاسفم، اما ما فقط با استادان کار می کنیم. سایر بنیادها به من گفتند که شش ماه بودجه ندارند یا فقط با برنامه های دیپلم کار می کنند یا به افراد کمک مالی نمی کنند. و بنیادهای پروخوروف و پوتانین حتی جواب من را ندادند.

من نامه ای از Yandex دریافت کردم که آنها در خیریه بزرگ مشغول هستند و شرکت در حال حاضر بودجه ندارد، اما آنها بهترین ها را برای من آرزو می کنند.

حتی با فاینانس هدفمند قراردادی موافقت کردم که به من اجازه می داد بروم و درس بخوانم و در نتیجه چیزی برای شرکت بیاورم. اما همه چیز در سطح پایین ارتباط متوقف می شود. من می فهمم این در مورد چیست. افرادی که بر روی تماس های تلفنی و پستی کار می کنند به سادگی بر اساس اسناد کار می کنند. آنها می بینند که یک برنامه وارد شده است، حتی ممکن است جالب باشد. اما آنها می نویسند: متاسفم، نه، زیرا یا دوره درخواست به پایان رسیده است یا شما با توجه به وضعیت خود واجد شرایط نیستید. اما من این فرصت را ندارم که به جایی بالاتر از صاحبان صندوق برسم، من به سادگی چنین تماس هایی ندارم."

اما پست های مربوط به مشکل ژنیا به سرعت در شبکه های اجتماعی پخش شد. در چند روز اول، ما حدود 50 روبل جمع آوری کردیم - از 000 یورو مورد نیاز. زمان زیادی برای آماده شدن وجود ندارد، اما بسیاری از مردم در حال حاضر در مورد پشتیبانی به ژنیا نامه می نویسند. شاید همه چیز درست شود.

خوشحال می شوم این متن طولانی را در بازگشت قهرمان از اتریش با تجربه ای جدید و قدرتمند به پایان برسانم. یا دریافت کمک هزینه برای یکی از پروژه ها و عکس از آزمایشگاه جدید. اما متن در یک اتاق خوابگاه متوقف شد، جایی که دو کمد، دو تخت، دو میز، دو قفسه، یک یخچال وجود دارد.

به نظر من به جوامع حرفه ای بزرگ برای کمک به یکدیگر نیاز است. همسر نکراسوف به پول، تماس های مفید، ایده ها، مشاوره و هر چیزی نیاز دارد. بیایید کارما را بالا ببریم.

مخاطبین ژنیا و سایر چهره های مهمایمیل: [ایمیل محافظت شده]
Телефон: +7-914-968-93-21
تلگرام و واتس اپ: +7-999-057-85-48
github: github.com/Ravino
vk.com: vk.com/ravino_doul

جزئیات انتقال وجه:
شماره کارت: 4276 5000 3572 4382 یا شماره تلفن +7-914-968-93-21
کیف پول Yandex با شماره تلفن +7-914-968-93-21

مخاطب: Nekrasov Evgeniy

منبع: www.habr.com

اضافه کردن نظر