MLH сделал меня лучше в обучении!

Я даже не могу выразить те эмоции, которые я испытал, когда получил письмо от команды MLH о принятии меня на трек GitHub Externship в MLH Fellowship Fall 2021!


8 сентября я получил еще одно письмо о том, что из-за своего региона я не могу попасть на трек Github Externship, поэтому мне придется либо переключиться на трек Open Source, либо отложить свое зачисление. И я рад, что принял решение перейти на трек Open Source.


20 сентября мы начали набор на сессию onboarding, где мы узнали о том, какие удивительные вещи нас ждут, и были раскрыты детали проектов, в которые мы должны были внести свой вклад в течение следующих 12 недель. Моим проектом был Pysa от Facebook Open Source.

Арпан Абхишек
@arpancodes

И мы начинаем эту партию 😍
#MLHFellowship
20:56 PM — 20 Sep 2021

Первая неделя: Восточный хакатон

Цель восточного хакатона заключалась в том, чтобы мы ознакомились с нашими проектами. Мы создали группу из 4 человек и начали читать о Pysa — инструменте статического анализа, написанном на python.

После 4-дневного исследования мы создали инструмент CLI, который поможет нам найти уязвимость SQL Injection в коде на python.

arpancodes / protectsql

Статический анализатор для защиты вашего flask-приложения от SQL Injection.

Вклад начинается

Со второй недели начался реальный вклад. Мы организовали еженедельные встречи с сопровождающими, установили офисные часы (два раза в неделю), когда любой желающий мог прийти и задать свои вопросы сопровождающим, а также встречи 1 на 1 с менторами (один раз в две недели) для получения карьерных советов.

Я и раньше вносил свой вклад в открытый исходный код, поэтому для меня это не было самой сложной частью, или я так думал!
Мой первый PR и я сделал «бу-бу-бу». Я зафиксировал .gitignore и оттолкнул.

Мне очень нравится сообщество разработчиков открытого кода или даже сообщество хакеров — никто не осудит тебя, какие бы глупые вопросы ты ни задавал и что бы ты ни делал.

Я искал, как удалить один файл из PR, но не смог добиться желаемого результата, так как я совершил 2-3 коммита после добавления .gitignore в мой PR, или, скажем так, моя ситуация была немного сложнее.

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

Это было мое первое обучение!

Далее я написал свой первый в жизни юнит-тест, и тоже на открытом проекте Facebook Sapp 🎉.

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

Я начал с изучения flask и SQLAlchemy, и поскольку мы использовали библиотеку unittest (которая поставляется с python), я прочитал ее документацию.

После создания PR я узнал, что могу использовать tempfile, чтобы избежать ручного создания файла и его удаления после завершения теста, что привело меня к изучению контекстных менеджеров в python, поскольку я использовал вложенные утверждения with.

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

Добавить тесты для файла `warning_messages.py` #62

arpancodes posted on

Предварительный контрольный список

  • [x] Я запустил следующие линтеры локально и исправил ошибки lint, связанные с файлами, которые я изменил в этом PR
    • [x] black .
    • [x] usort format .
    • [x] flake8
  • [x] Я установил dev-зависимости pip install -r requirements-dev.txt и выполнил следующее:
    • [x] Я запустил тесты с помощью ./scripts/run-tests.sh и убедился, что все тесты пройдены.

Резюме

Добавлены тесты для файла /sapp/warning_messages.py.

План тестов

Соответствующий вопрос: https://github.com/MLH-Fellowship/sapp/issues/11

Посмотреть на GitHub

После этого, мои последние два PR были для Pysa playground (как для frontend, так и для backend), для которых мне пришлось немного узнать о Web-Sockets и как мы можем использовать их с flask.

И вот, благодаря MLH я пишу свой первый «личный» блог! 😛

Вывод

Цель этой статьи не в том, чтобы похвастаться тем, чему я научился во время стипендии MLH, а в том, чтобы вы поняли, что я узнал так много всего за несколько недель! И это осознание действительно очень мощное!

Скажите, сколько времени у вас ушло на изучение вашего первого языка?

Я был очень новичком в python, если не сказать совсем новичком, но после стипендии MLH я очень хорошо знаком с его экосистемой!

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

Не ставьте перед собой цели типа «Я хочу изучить android-разработку, чтобы стать android-разработчиком».
Вместо этого делайте маленькие шаги и ставьте микроцели вроде «Я хочу научиться создавать ботов, чтобы пассивно посещать онлайн-занятия» 😅 или что-то в этом роде.

А если вы не можете найти такую цель, внесите свой вклад в открытый исходный код! Это даст вам возможность узнать так много нового, что вы даже не могли себе представить!

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *