Я на финишной прямой, вы все! Завершилась 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: функциональный прототип, который я могу продемонстрировать потенциальным работодателям, демонстрируя, чему я научился в этой программе. Вот и все! Поэтому я думаю, что с моей стороны будет разумно сосредоточиться на основных функциях приложения и просто не включать расширенные функции.
Вот что мне абсолютно необходимо, чтобы приложение делало:
- Разрешить пользователям создавать профиль
- Разрешить пользователям искать и бронировать поездки на основе: a) места отправления b) места прибытия c) даты и времени отправления d) дата и время прибытия e)количество свободных мест в транспортном средстве f)цена за место
- Разрешить пользователям предлагать диск на основе тех же критериев
- Разрешить пользователям просматривать, какие поездки они забронировали и какие поездки они предложили
Я чувствую, что если я смогу сделать эти четыре вещи и иметь красивый рабочий стол и мобильный пользовательский интерфейс, тогда я добьюсь успеха в этом проекте. Пожелай мне удачи! Мне это понадобится, как и целую лодку кофе.