Я на финишной прямой, вы все! Завершилась 12-я неделя Suncoast Developers Guild, и я добился значительных успехов в своем завершающем проекте.

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



Сначала я решил в JavaScript:

String.prototype.toJadenCase = function (str) {   
  return this.split(' ').map((word) => {     
    return word[0].toUpperCase() + word.slice(1);   
  }).join(' '); 
};

Взгляните на следующую строку, которую я использовал для нацеливания на первую букву каждого слова, а затем возвращал слово с первой буквой в верхнем регистре и остальной частью слова в нижнем регистре: return word[0].toUpperCase() + word.slice(1). Другие люди использовали charAt(0) для захвата первой буквы слова; в любом случае имеет смысл для меня. В JavaScript нет встроенного метода (по крайней мере, насколько я знаю), чтобы просто сделать первую букву слова заглавной.

В Руби есть 🙂

class String   
  def toJadenCase     
    self.split.map{ |word| word.capitalize }.join(' ')   
  end 
end

Ruby просто дает нам метод capitalize! Насколько это удобно?! По мере накопления опыта работы с Ruby я начинаю понимать, почему разработчики так любят этот язык. Ruby не только обеспечивает высокую степень свободы выражения, но и предоставляет множество встроенных методов, которые ускоряют и упрощают написание кода. Я полностью на подножке, люди. В данный момент я управляю подножкой.

Идем дальше! Я нахожусь в учебной программе ЦУР, когда мое единственное внимание сосредоточено на завершающем проекте. Я также нахожусь в той точке, когда понимаю, что мне нужно уменьшить масштаб проекта.

Изначально у меня были большие амбиции по созданию приложения, похожего на Uber, с массой функций: пользователи могли бы создавать, просматривать, редактировать и удалять профили; пользователи смогут искать аттракционы по множеству критериев; пользователи смогут создавать, просматривать, редактировать и удалять диски; пользователи будут выбирать места для поездки / вождения, дважды щелкнув карту и нарисовав для них маршрут; пользователи смогут бронировать поездки, а затем просматривать, редактировать и удалять эти бронирования; пользователи смогут обмениваться мгновенными сообщениями с другими пользователями, уточняя детали бронирования 🙄 большая часть этого нереалистична.

У меня осталось всего две недели, чтобы закончить этот проект. В конечном счете, это приложение должно быть MVP: функциональный прототип, который я могу продемонстрировать потенциальным работодателям, демонстрируя, чему я научился в этой программе. Вот и все! Поэтому я думаю, что с моей стороны будет разумно сосредоточиться на основных функциях приложения и просто не включать расширенные функции.

Вот что мне абсолютно необходимо, чтобы приложение делало:

  1. Разрешить пользователям создавать профиль
  2. Разрешить пользователям искать и бронировать поездки на основе: a) места отправления b) места прибытия c) даты и времени отправления d) дата и время прибытия e)количество свободных мест в транспортном средстве f)цена за место
  3. Разрешить пользователям предлагать диск на основе тех же критериев
  4. Разрешить пользователям просматривать, какие поездки они забронировали и какие поездки они предложили

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