Andela-21 завершилась сегодня, после трехнедельного интенсивного обучения. Я опишу весь процесс как «сложное обучение программированию». Я пришел к выводу, что иногда, если вас не заставлять учиться, вы не узнаете ничего нового. Andela-21 было весело и в то же время очень утомительно. Благодаря этой программе я изучил множество технологий, которые мне было бы совершенно невозможно изучить вне Andela даже за несколько месяцев. Тот факт, что я не смог попасть в стипендию после моего двухнедельного буткемпа, привел меня в Andela-21, и я думаю, что это послужит мне возможностью стать лучше как программист, прежде чем попасть в стипендию.

Сразу после моего трехнедельного буткемпа, так как я не смог туда попасть, меня пригласили на andela-21, где нам нужно было создать API (интерфейс прикладного программирования) в es6 с множеством зависимостей. Задача состояла в том, чтобы разработать инвертированный индексный API, который представляет собой реализацию эффективной функции поиска для программных приложений. Некоторые из технологий, интегрированных с проектом, указаны ниже:

я. Jasmine-node: это среда тестирования узлов, которая позволяет разработчикам тестировать каждую часть своего кода перед развертыванием. Я использовал jasmine-node для тестирования своего класса InvertedIndex, чтобы убедиться, что методы работают должным образом.
ii. Супертест: Супертест позволяет нам писать тесты для конечных точек (маршрутов) и проверять, действительно ли даются правильные ответы для каждого маршрута в зависимости от предоставленных полезных данных. Супертест можно использовать отдельно, а также с жасмином и мокко. Я интегрировал супертест с jasmine для проверки конечных точек /api/create и /api/search/.
iii. Gulp: это называется средство выполнения задач. Если, возможно, в приложении много тестовых файлов, gulp позволяет нам запускать все задачи сразу. Помимо запуска тестов, другие задачи также могут быть созданы с помощью gulp. Я использовал gulp для запуска тестов с помощью gulp-jasmine, а также для запуска сервера с помощью gulp-nodemon и для получения отчета о покрытии с помощью gulb-istanbul и gulp-coveralls.
iv. Eslint: я интегрировал eslint в свой редактор Visual Studio, чтобы помочь мне следовать правильному стилю кодирования javascript, а также писать на чистом javascript es6. Это обращало на меня внимание всякий раз, когда я ошибался.
v. Codacy и Travis: это инструменты непрерывной интеграции (CI), которые помогают отслеживать коды после их подключения к репозиторию github. Я интегрировал эти инструменты в проект, чтобы показать, насколько надежен или хорош мой проект, с различными значками в моем файле README, показывающими результаты.

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