Я был профессионалом в области продвинутой аналитики до того, как начал свой иммерсивный учебный курс по разработке программного обеспечения. Таким образом, я мог кодировать на разных языках (например, R, Python, SQL), чтобы обрабатывать, очищать и визуализировать данные. Но я никогда не создавал приложение с нуля. Такую магию оставили единорогам в научно-исследовательских частях зданий, где я работал. Или я так думал. Примерно через две недели я тоже смогу делать некоторые вещи, которые делают эти единороги. Я покажу вам, как это сделать. Давайте оседлаем.

Первая часть моего курса посвящена раскрытию фундаментальных концепций разработки и использованию объектно-ориентированного программирования (ООП) и объектно-реляционного отображения (ОРМ). Хотя я и слышал об этих технично звучащих вещах раньше, я никогда полностью не понимал их. Есть много ресурсов, которые углубляются в детали этого, поэтому я не буду здесь. Достаточно сказать, что это краеугольный камень разработки приложений, позволяющий:

а) Создайте свои собственные структуры данных, которые содержат свои собственные пользовательские функции и процедуры, которые вы можете определить.

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

Другими словами, вы можете начать создавать, хранить, редактировать/удалять и извлекать данные так, как вы хотите. Это называется приложением с функциональностью CRUD. А без него ничего стоящее строительство не было бы очень полезным.

Я использовал эти концепции, чтобы создать небольшое приложение для одной из моих любимых вещей: ИГРАТЬ В ПУТЕШЕСТВИЯ!

Используя API от Open Trivia для получения вопросов и ответов из краудсорсинга, мы с партнером разработали игру с нуля, думая о таких фундаментальных вопросах, как:

  1. Какие действия игрок хотел бы для этой игры?
  2. Какую информацию имеет смысл легко получить игрокам?
  3. Каким должен быть ход игры?
  4. …и дальше и дальше и дальше…

Используя понятия, изученные в классе, мы методично разработали игру, в которую мы хотели бы играть так, как мы хотели бы в нее играть.

Потребовалось около 10 дней, чтобы получить знания, необходимые для создания этой игры; и еще 4 дня на сборку. Расплата была личной и глубокой. Каждый раз, когда мы демонстрировали игру, люди хотели продолжать играть и играть. Улыбки на лицах играющих приносили глубокое удовлетворение и моральное подкрепление, что я тоже могу построить что-то полезное для людей. Одно это стоило многих часов обучения и кодирования. Если вам интересно, вот для него репозиторий Github, где вы можете глубже погрузиться в технологию, код и даже скачать и поиграть самостоятельно!

Несмотря на то, что это не очень красиво и неудобно для запуска и запуска (в конце концов, это скромное приложение командной строки — кто-нибудь ностальгирует по DOS-играм?), это демонстрирует, что вы можете создать полноценное приложение, которое что-то делает, хранит информацию, и извлекает эту информацию всего за пару недель. Процесс превращения этого Ruby-приложения в полноценное веб-приложение станет темой для отдельного поста.