Итак, сегодня начинается побочный проект, который мы с другом (Питером) и мной (Яшем) начинаем, и в настоящее время мы намереваемся стать инструментом для интерактивного изучения компьютерной архитектуры студентами. Просто краткое вступление о нас самих (которое на самом деле не будет в центре внимания этого или большинства будущих сообщений в блоге, о которых я расскажу достаточно скоро, но пока терпите меня), мы оба разработчики, которые стали близкие друзья в университете (в The Best Damn Place of All). Он гораздо больше интересуется (и, следовательно, лучше) программированием на системном уровне, в то время как мои интересы значительно выше, в сферах компьютерного зрения и графики.

Во всяком случае, в школе мы всегда говорили о сторонних проектах. На самом деле, мы так много говорили об этом, что это превратилось в ходячую шутку. Получилось примерно так:

Я: Итак, побочные проекты?

Он: О да, я просто должен закончить проекты для этого класса на этой неделе. Но обязательно после этого.

(Через неделю)

Он: Ты упал?

Я: На самом деле не ждите, это День Благодарения. На следующей неделе будет переезд.

(Через неделю)

Я: Хорошо, теперь я в порядке.

Он: Хм, до Рождества всего три недели, почему бы не подождать, пока мы не вернемся в школу?

И так далее, пока…

Я: Подождите, что? Завтра выпускной?!? Хорошо, но как только мы приступим к работе, мы на самом деле займемся некоторыми побочными проектами.

Так оно и пошло. Хотя я лично не могу сказать, что у него на уме, я могу сказать, что был очень рад работать над чем-то вместе с ним, поскольку один полный проект, над которым мы действительно работали вместе (на хакатоне за пару лет до этого), был таким забавный опыт, где я также узнал приличное количество информации о НЛП. Так или иначе, вчера нам наконец-то удалось приступить к работе над проектом после почти года выдвижения возможности и немедленного отказа от нее.

Итак, мы здесь. Теперь, цель этих блогов? Каждый день будет просто краткой записью того, что мы сделали в этот день, наших текущих мыслей о проекте и, возможно, наших мыслей о следующих шагах. Я ожидаю, что мой партнер и я будем отключать тех, кто пишет каждый день, что может быть здорово как для читателей, так и для меня, чтобы увидеть, как его мысли сравниваются с моими, но мне еще предстоит обсудить это напрямую с ним. Я не собираюсь, чтобы будущие посты были почти такими длинными в будущем (но кто знает?).

Надеюсь, через пару месяцев, когда этот проект будет завершен, мы сможем оглянуться назад и увидеть прогресс, которого мы достигли с момента его замысла. Также может быть круто скомпилировать их в конце и увидеть весь цикл наших мыслей до завершения, как разработчик Prince of Persia в https://www.amazon.com/Making- Принц-Персия-Иордания-Мехнер-ebook/dp/B005WUE6Q2. Отбросив эту предысторию, я начну с того, что будет большинством постов в этом блоге.

Итак, сегодня мы с Питером наконец-то приступили к технической настройке. Думаю, я немного солгал, когда сказал, что мы начали разработку сегодня. Но знаете что? Только 8:30. Так что у нас еще есть достаточно времени, чтобы это изменить. В любом случае, у нас был очень продуктивный день, когда мы настраивали всякую случайную хрень, с которой ни один разработчик не хочет иметь дело, когда он занимается действительно интересной разработкой. Поскольку мы собираемся разрабатывать это в основном на JS, а мы оба в основном не веб-разработчики, мы делаем большую часть этого впервые.

В любом случае, мы настроили конвейер для разработки, настроив репозиторий GitHub для непрерывной интеграции с Travis CI и автоматического модульного тестирования и анализа с помощью Grunt во время развертывания на серверах Heroku. Слава Богу за всю эту инфраструктуру, которая делает веб-разработку такой гладкой. За исключением той небольшой части веб-разработки, которая связана с JS. Потому что к черту JS. Слава Богу, мы делаем нашу разработку с Node.js на стороне сервера и на стороне клиента в React.js. При этом, вероятно, это неизбежное зло, которое я слишком долго откладывал, чтобы принять.

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

Ни один из нас не особенно хорошо разбирается в дизайне интерфейса. И когда я говорю не особенно подходит, я имею в виду, что мы мусор. Буквальный мусор. Как бэкенд-разработчики, мы очень ценим дизайн https://motherfuckingwebsite.com/. Тем не менее, подмножество других, которые это делают, несколько минимально. В какой-то момент нам может понадобиться найти дизайнера, с которым мы сможем работать, но до этого момента мы как бы сами по себе. Так что, надеюсь, мы сможем это выяснить.

Ну и напоследок устроили какую-то юридическую хрень. Типа, авторские права. Я не мог читать о лицензиях в общей сложности более 5 минут (для тех, кто оказался в неудачной ситуации, когда это необходимо, загляните на https://choosealicense.com/licenses/), а также об авторских правах. Но теперь, когда все это позади, мы можем начать.

Я действительно очень взволнован этим проектом. Он обладает невероятным потенциалом для обучения младших школьников компьютерным наукам основам предмета, которые часто недооцениваются в пользу более непосредственно применимых навыков программирования.

-Яш