Рубрики
Без рубрики

От “Привет, Мир” до GSoC

Путешествие новичка с открытым исходным кодом в Google Summer of Code Я Гарима Монга, электронщица последнего курса… Помечено с открытым исходным кодом, java, github, новички.

Путешествие новичка с открытым исходным кодом в Google Summer of Code

Я Гарима Монга, студентка последнего курса по электронике и коммуникациям в Инженерном и технологическом институте Тапар, Патиала. Вошел в этот удивительный мир программирования год назад и с тех пор не оглядывался назад. Все бессонные ночи и исследования привели меня в Google Summer of Code . И вот я пишу свой первый блог, описывающий это путешествие с точки зрения человека, совершенно незнакомого с открытым исходным кодом.

Как я узнал о Google Summer of Code

Это был июнь 2019 года, я только что изучил основы Java и увидел пост одного из моих выпускников колледжа с этим скриншотом (этот мой) Тогда я не знал, что такое GSoC или открытый исходный код, но это меня заинтриговало, я начал задавать много вопросов своему старшему и понял…” Хорошо, это действительно потрясающе”, но я все еще не изучал открытый исходный код, так как у меня не было сильного владения каким-либо навыком. В течение оставшейся части года я работал над своими навыками программирования и читал множество блогов, каждый день узнавая что-то новое.

Студенческая жизнь и корона случились

Мой первый шаг в этом путешествии

Это было где-то между 20 февраля 2020 года и 16 марта 2020 года (когда организации и их проекты вышли), у меня были экзамены в середине семестра, я каждый день тратил несколько минут на изучение организаций, которые я отфильтровал на основе Java (моя сильная сторона) и записывал каждый проект, который меня очаровывал. Снова связался со своим старшим, чтобы получить больше ясности по этим проектам, которые тогда казались написанными на каком-то иностранном языке.

К сожалению, но к счастью, произошла блокировка, я вернулся домой 15 марта, всего за день до начала приема заявлений на поступление в университет начинается

Начинается Период Подачи Заявок На Обучение

К этому времени я сузил круг до 4-5 проектов в разных организациях, и пребывание дома дало мне время изучить их все подробнее. Только за это время я отправил свои первые письма потенциальным наставникам этих проектов и понял, что все, что от меня требуется, чтобы получить в свои руки. После нескольких писем и большого мозгового штурма я сузил круг до двух проектов (потому что я понял, что для остальных требуется гораздо больше базы знаний, чем у меня было, будучи новичком, я все еще изучаю что-то новое с каждым шагом) Я много разговаривал со своими “будущими наставниками” и начал работать над предложением, потребовалось много времени и терпения (и у моих наставников тоже), чтобы правильно выстроить весь процесс. Хотя поначалу казалось, что сделать предложение должно быть легко, но когда я начал работать над ним, я понял, что для составления графика, вращающегося вокруг чего-то, над чем вы еще не начали работать, нужен совершенно другой мыслительный процесс, потому что вы не можете понять, как сильно вы можете напортачить, потому что вы перепутали или просто неправильно выполнили шаги (личный опыт), но благодаря моим наставникам, которые не отказались от меня и исправляли меня на каждом шагу, я наконец представил два предложения, из которых одно было выбрано (очевидно).

Месяц ожидания результата

В течение этого времени я был в основном занят тем, что общался с преподавателями колледжа и выполнял задания, но я старался поддерживать связь со своими наставниками и постоянно информировал их о том, что я делаю, даже если это было совсем немного. Также узнал, что такое открытый исходный код и как работает github Этот конкретный плейлист из 4 видео помог мне все прояснить

Большой День – Объявлены Студенческие проекты

Это был совершенно новый опыт, я никогда не ждал таких плохих результатов, эмоции были ошеломляющими, ровно в 11:35 вечера я прочитал “GSoC 2020: Поздравляем, ваше предложение сообществу JBoss принято!” Я не мог быть счастливее, это был/мой первый реальный опыт работы с некоторыми из самых талантливых и опытных людей.

Период Объединения Сообщества

Я уже много разговаривал со своими наставниками, так что этот период не включал в себя никаких новых знакомств для меня. Это включало в себя работу над предварительными условиями проекта, поэтому я потратил время на понимание существующей кодовой базы и получил доступ к Gradle, Maven, JUnit и тестированию. Я убедился, что правильно прошел этап обучения, даже если это заняло больше времени, чем я ожидал изначально, потому что вам нужно правильно усвоить азбуку, прежде чем строить предложения. Кроме того, этот период бессознательно настроил меня на рутину, когда я синхронизировался с тем, когда моим наставникам было удобно отвечать (мне очень повезло, что наставники отвечают в любое время, когда у меня возникали какие-либо вопросы, даже в разных часовых поясах)

Начинается период кодирования

Вхожу в мой проект Кварки: Улучшена поддержка Gradle Quarks – это собственный Java-фреймворк Kubernetes, который полностью поддерживался Maven, инструментом автоматизации сборки. Gradle – еще одна аналогичная система автоматизации сборки, в которой было гораздо меньше тестов, поэтому она находилась в режиме предварительного просмотра для кварков, поэтому я работал над созданием тестов для того же, чтобы увеличить охват и функциональные возможности тестирования. В то время как все это было для меня в новинку и я могу продолжать писать о каждом PR, я возьму на себя обязательство рассказать о некоторых основных уроках и моментах

  • Необходимо писать чистый код с самоописывающимися именами для классов и переменных
  • Сведите к минимуму копирование любых функций или классов и всегда следите за улучшениями существующей кодовой базы, если это возможно (даже небольшие оптимизации помогают).
  • Будьте внимательны к каждой строке используемой функции, чтобы лучше понимать код
  • Первое слияние PR – это важный момент (определенно стоит отпраздновать)
  • Тщательное изучение изменений, внесенных в файловую систему в результате тестирования, очень помогает в долгосрочной перспективе

За исключением этих, полностью специфичных для моего проекта, над которым я работал

  • Внедрение быстрых банок и убер-банок для Gradle
  • Включение режима разработки (позволяет горячее развертывание с фоновой компиляцией) для плагина Яндекса – это включало использование концепций CDI и обработку основной базы кода Quarkus
  • Исправление диапазона версий, который выбирается по умолчанию при создании нового проекта для поддержки обратной совместимости

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

Это подводит нас к концу моего первого блога, и я обязательно напишу еще несколько после этого. Спасибо!

Оригинал: “https://dev.to/garima829/from-hello-world-to-gsoc-2kgp”