реклама
Бургер менюБургер меню

Ярослав Мудрый – Проект «Зелёное Колесо» (страница 1)

18

Ярослав Мудрый

Проект "Зелёное Колесо"

Глава 1: Первый байт, первый свет

Летним утром, когда солнце только начинало разгонять туман над крышами типичного западного городка Риджвью, в комнате на втором этаже одного из ничем не примечательных домов уже горел свет. Не желтый, теплый свет настольной лампы, а холодное, мерцающее голубое сияние огромного монитора. Это было окно в другой мир. И в этом мире уже несколько часов как находился Лео.

На столе царил творческий хаос: между клавиатурой с потёртыми клавишами и мышкой лежала раскрытая книга с заголовком «Python для чайников», несколько исписанных листков бумаги с каракулями-схемами, пустая чашка от какао и яблоко, надкушенное один раз и забытое. Сам Лео, щуплый парнишка с взъерошенными каштановыми волосами и сосредоточенным взглядом за очками, что-то быстро печатал, изредка откидываясь на спинку кресла и смотря на экран с видом полководца, обдумывающего стратегию.

На экране в окне терминала – чёрный фон и зелёные буквы – бежали строчки кода. Лео писал свою, уже пятую по счёту, программу. Прошлой была «Умный будильник», который вместо противного писка читал ему афоризмы известных программистов. Та, что была перед ним сейчас, должна была помогать его отцу, бухгалтеру по профессии, сортировать счета. Идея была проста: программа сканировала отсканированные PDF-файлы, находила в них даты, суммы и названия компаний и раскладывала всё по папкам. В теории. На практике же, программа на десятый раз запуска упорно отправляла счёт за воду в папку «Налоги».

– Ну что же ты такое, – пробормотал Лео, не обращаясь ни к кому конкретно. – В строке 47… Ага! Цифра «1» и буква «l»! Опять!

Он поправил ошибку, нажал F5. Зелёные строчки побежали снова. На этот раз всё сработало безупречно. На экране появилось сообщение: «Обработка завершена. 12 файлов отсортировано. Спасибо, что пользуетесь LeoSoft!». Лео широко улыбнулся. Это чувство – когда кусок виртуального мира, созданный твоим мозгом и пальцами, начинает работать, – было сродни волшебству. Первый компьютер, старый и громоздкий «монстр» от дяди-инженера, попал к нему в восемь лет. Родители, Эмили и Дэвид, смотрели на это скептически: «Ещё одну игрушку». Но для Лео это была не игрушка. Это был Лего Вселенной. Он разбирал его, изучал, устанавливал и переустанавливал операционные системы, ломал, чинил и снова ломал. К десяти годам он уже свободно говорил на языке железа и операционок.

Раздался лёгкий стук в дверь.

– Лео, завтрак! И оторвись от этого ящика, а то глаза квадратные станут, – послышался голос матери.

– Уже иду, мам! Просто закончил кое-что важное! – крикнул он в ответ, сохраняя файл с кодом под названием «AccountHelper v1.0».

За завтраком царила обычная семейная идиллия. Отец просматривал новости на планшете, мама наливала апельсиновый сок.

– И что ты там опять собираешь, Архимед? – с улыбкой спросил отец, отрываясь от экрана.

– Помощник для тебя, пап. Программу, которая сама разложит все твои счета по папкам.

– Серьёзно? – Дэвид приподнял бровь. – А она не отправит мою годовую отчётность в корзину?

– Версия 1.0 теоретически не должна, – с деловым видом ответил Лео. – Но для полной уверенности нужны полевые испытания. Можешь стать моим бета-тестером.

– О, почётно, – засмеялся отец. – Договорились. После работы.

Лео знал, что родители гордятся им, хоть и не всегда понимали, чем он целыми днями занят. Они, люди «традиционных» профессий – бухгалтер и школьная учительница, – воспитывали его в простых принципах: будь добрым, любознательным, ответственным и много двигайся. Последнее Лео соблюдал религиозно. После завтрака, до того как сесть за код, он всегда совершал велопрогулку.

Через полчаса он уже мчался по велодорожке вдоль реки, что протекала через Риджвью. Ветер свистел в ушах, смывая остатки цифровой концентрации. Лео любил это чувство скорости и свободы. Его мозг, отключившись от логических задач, переходил в режим фонового созерцания. Именно на таких прогулках часто приходили самые лучшие идеи. Сегодня он думал о том, как можно было бы улучшить городскую систему проката велосипедов. Приложение было неудобным, станции вечно пустые или переполненные. «Нужен умный алгоритм прогнозирования, – размышлял он, обгоняя бегуна. – С учётом времени суток, погоды, событий в городе… И геймификация, чтобы люди чаще пользовались…»

После прогулки и душа был запланирован «код-двор» – встреча в онлайн-чате с его немногочисленными, но верными друзьями по интересам: Майлзом и Авой.

Майлз, толстячок с бездной остроумия и энциклопедическими знаниями про «железо», жил в соседнем городе. Он мог часами рассказывать о преимуществах одной архитектуры процессора над другой. Ава, рыжая и стремительная, была гением дизайна и интерфейсов. Она считала, что самая крутая технология бессмысленна, если ей неудобно пользоваться. Их трио было идеальным балансом: Лео – архитектор и логик, Майлз – инженер-конструктор, Ава – волшебница, превращающая их творения во что-то красивое и доступное.

В 14:00 по местному времени на экране Лео всплыло окно группового видеозвонка. Появились два знакомых лица.

– Всем привет, земляне! – начал Майлз, его камера традиционно была направлена в потолок, показывая только часть подбородка и полку с процессорами. – Лео, твой «Помощник» ещё не сожрал чьи-то финансы?

– Пока нет. На очереди финансы моего отца, – улыбнулся Лео. – А у вас что нового?

Ава, сидевшая на фоне плаката с японскими аниме-персонажами, оживилась:

– Я думаю над нашим следующим проектом. Всё эти утилиты – это здорово, но скучно. Нужно что-то… масштабное. Полезное для многих. И красивое.

– Я как раз на велопрогулке думал о системе проката, – сказал Лео. – Вот! – воскликнула Ава. – Экология, здоровый образ жизни, удобство! Мы можем сделать приложение, которое будет не просто показывать станции, а будет… предсказывать, строить идеальные маршруты, учитывая рельеф, чтобы не пришлось в горку лезть… Начислять бонусы за километраж, которые можно обменять на кофе в партнёрских кафе…

– А для обработки данных в реальном времени и прогнозирования загруженности нам понадобится… – задумчиво протянул Майлз, и его камера наконец дрогнула, показав заинтересованное лицо. – Серверное решение на Python с использованием машинного обучения… И датчики на самих станциях… Это уже серьёзный проект, ребята.

Глаза у троицы загорелись тем самым огнём, который знаком всем изобретателям и мечтателям. Они говорили ещё час, строя планы, рисуя в воздухе архитектуру будущего приложения, которое они, в шутку, уже назвали «GreenWheel» («Зелёное Колесо»).

Под вечер, после ужина и помощи матери с мытьём посуды, Лео вернулся в свою комнату. Он не сел сразу за код. Вместо этого он открыл чистый текстовый документ и начал писать:

«Зелёное Колесо. Концепт. Цель: Сделать использование городского велотранспорта максимально удобным, предсказуемым и приятным, чтобы сократить число машин в городе. Принципы:

Польза для человека (удобный интерфейс, экономия времени).

Польза для города (разгрузка дорог).

Польза для планеты (меньше выбросов CO2). Техническая основа…»

Он писал долго, освещённый голубым светом монитора, который в темноте комнаты казался порталом в будущее. Будущее, которое он мог построить сам, строка за строкой, байт за байтом. Первый шаг к «чему-то большому» был сделан. И это было невероятно интересно.

Полезная информация из главы 1:

Python – это язык программирования высокого уровня. «Высокого уровня» означает, что он ближе к человеческому языку, чем к машинному коду. Его часто используют для веб-разработки, анализа данных, искусственного интеллекта и, как у Лео, для создания различных вспомогательных программ-утилит. Девиз Python: «Простота – залог надёжности».

PDF (Portable Document Format) – межплатформенный формат электронных документов, созданный компанией Adobe. Его главное преимущество – документ выглядит одинаково на любом устройстве.

Бета-тестер – пользователь, который тестирует практически готовую версию программы (бета-версию) в реальных условиях, чтобы найти ошибки, которые не заметили разработчики.

Алгоритм – это четкая, последовательная инструкция для решения задачи за конечное число шагов. Рецепт пирога – это алгоритм. Маршрут, который строит навигатор, – это результат работы алгоритма.

Геймификация – применение игровых подходов и элементов (очки, уровни, рейтинги, награды) в неигровых процессах, чтобы повысить вовлечённость пользователей.

Интерфейс – буквально «место встречи». В компьютерах это всё, с помощью чего пользователь взаимодействует с программой или устройством: кнопки, меню, поля ввода. Удобный интерфейс (UX/UI – User Experience/User Interface) – залог того, что программой будут пользоваться.

Машинное обучение (Machine Learning, ML) – это подраздел искусственного интеллекта, где компьютеры учатся выполнять задачи, не будучи явно запрограммированными на них. Они анализируют большие массивы данных (например, историю аренды велосипедов за год) и находят закономерности, чтобы делать прогнозы (где завтра в 18:00 будет нехватка велосипедов).

Глава 2: Архитектура мечты и старый скейтпарк

Следующие несколько недель пролетели в вихре обсуждений, споров и первых пробных строк кода. Комната Лео превратилась в штаб-квартиру проекта «GreenWheel». На стене рядом с монитором появилась большая бумажная схема – «архитектура приложения», испещрённая прямоугольниками, стрелками и пометками Авы на стикерах разного цвета.