Я второкурсник из Китая, увлеченный веб-разработкой. На первом курсе я вступил в технический кружок нашего колледжа. Этот клуб стал моим знакомством с программированием и открытым исходным кодом. В клубе я встретил группу единомышленников, любящих программирование. Именно от них я узнал о Google Summer of Code в начале 2023 года. Эта глобальная программа, организованная Google, связывает студентов с организациями с открытым исходным кодом и помогает им эффективно использовать свое лето, участвуя в мероприятиях с открытым исходным кодом.
Попробовав, я подал заявку. К счастью, меня приняли. Лето, которое я провел в репозитории образцов расширений Chrome, было незабываемым и ценным. Конечно, я также многому научился: эффективному общению, навыкам программирования и способностям планирования, среди прочего.
Поскольку GSoC 2023 подходит к концу, стоит поделиться своим опытом работы с GSoC. В этом посте я кратко представлю общий процесс GSoC с моим собственным участием, надеюсь, что он будет вам полезен!
История о том, как я внес свой вклад в GSoC
Я подал заявку на участие в проекте Chromium GSoC 2023, где моей основной задачей будет обновление существующих образцов расширений Chrome для работы в Manifest V3, включая некоторые связанные скрипты и документы.
В самом начале
Впервые я узнал о GSoC в феврале 2023 года, но еще не был уверен, что хочу подать заявку. Тогда у меня было несколько опасений:
- Я интроверт, английский не является моим родным языком, поэтому общение с наставниками может быть затруднено.
- Сообщества GSoC происходят со всего мира, и справиться с разницей часовых поясов может быть сложно.
- GSoC — настолько известная программа, что она может быть конкурентоспособной, поэтому мои шансы кажутся небольшими.
Однако я могу с уверенностью сказать, что ничего из этого не было проблемой.
Прежде чем рассказать свою историю, я хотел бы рассказать о том, что произошло со мной в начале 2022 года. Этот инцидент также стал для меня возможностью поучаствовать в GSoC. Я хотел перенести расширение браузера, основанное на Manifest V2, на Manifest V3. Чтобы завершить миграцию, мне пришлось обратиться к документации и разобраться в каждом изменении API. Мне также пришлось искать, есть ли соответствующие образцы для справки. Разобраться в новом API и перенести код для меня довольно сложно.
Вот почему я был очень взволнован, просматривая список проектов GSoC и уловив идею, связанную с MV3. Мне очень хотелось внести свой вклад в улучшение примеров расширений Manifest V3 и предоставить удобство будущим разработчикам.
В марте я отправил Оливеру, одному из ответственных наставников, краткое письмо о своем намерении:
Заявка на участие в проекте GSoC
Привет,
Я студент бакалавриата CS из Китая. Я узнал о проекте, связанном с образцами расширений Chrome, на GSoC, и меня заинтересовало улучшение образцов манифеста V3. У меня нет большого опыта работы над образцами API, однако у меня есть опыт веб-разработки и разработки расширений MV3 (https://github.com/daidr/paimon-webext), который помог мне осознать важность образцов API MV3, поэтому я хотел бы как учиться, так и внести свой вклад в это. Могу ли я еще подать заявку на участие в этом проекте?
Спасибо.
Вскоре после этого я получил ответ от Оливера и Али (босса Оливера). Они ответили на мои вопросы и предоставили подробную информацию о конкретных правилах и сроках GSoC. Они также поделились со мной многими ценными справочными материалами.
Это было похоже на выстрел в руку, укрепивший мою решимость двигаться вперед. Сделать первый шаг имеет первостепенное значение, если вы заинтересованы в участии в предстоящих мероприятиях с открытым исходным кодом, будь то GSoC 2024 или что-то еще; никогда не сомневайтесь и смело пробуйте.
Перед подачей заявки я проверил код проекта и просмотрел документацию. Хотя GSoC предоставляет участникам период взаимодействия с сообществом продолжительностью около одного месяца, чтобы они могли ознакомиться с сообществом, предварительные знания уменьшили давление и позволили мне написать более целенаправленное предложение.
Я попытался устранить начальные ошибки, предусмотренные проектом. Эти вопросы были относительно простыми и помогли мне быстро разобраться в проекте. Я благодарен своему наставнику Оливеру (хотя тогда он еще не был моим наставником). Он быстро отвечал на мои электронные письма всякий раз, когда мне требовались разъяснения, и терпеливо решал мои проблемы. Если при написании предложения возникнут проблемы, вы также можете отправить его своему наставнику, чтобы узнать, нуждаются ли какие-либо области в улучшении.
Получение принятия
Написание предложения – это последнее, что нужно сделать перед подачей заявки. Помимо формы заявки, предложение должно включать идеи, цели и график. В зависимости от проекта, над которым вы надеетесь работать, вам может быть предоставлен дополнительный шаблон предложения. Многие готовые примеры предложений доступны в Интернете для справки.
Закончив черновик, я отправил его своему наставнику для отзыва. После подачи заявки приходится долго ждать. И вот в начале мая мне пришло уведомление, что меня приняли.
Работа с кодом
В течение начального периода сближения я сначала разобрался с оставшимися стартовыми ошибками и проверил, есть ли какие-либо новые навыки, которые мне нужно изучить. А остальное время я провожу за чтением документации.
После обсуждения с моим наставником мы скорректировали некоторые цели, чтобы время, отведенное на выполнение задач, было более разумным. Мы также обсудили идею создания новой страницы Developer.chrome.com со списком всех примеров API и базовыми фильтрами, которые помогут разработчикам быстро находить необходимые образцы. Для меня это была довольно сложная задача, и нам с наставником потребовалось довольно много времени, чтобы определить проект и написать документ с требованиями к продукту (PRD).
Для этой более крупной задачи мы решили, что нам нужен автоматизированный сценарий в репозитории образцов, который будет проходить по репозиторию и генерировать файл JSON, содержащий список образцов расширений и API, которые они используют. Репозиторий документации Developer.chrome.com теперь использует этот файл для создания страницы.
Сначала я рассматривал возможность использования Babel для анализа абстрактного синтаксического дерева примера кода и определения используемых им API. Поделившись этой идеей со своим наставником, я обнаружил, что они ранее работали над чем-то подобным, что подтвердило осуществимость этого подхода. После того, как я завершил код, мой наставник и другие члены его команды предоставили ценные советы, в том числе уделили внимание сегментации кода, стандартизации стиля кода и правильному документированию функций.
После нескольких больших и малых проверок код был успешно объединен. Вы можете найти всю ветку на GitHub или просмотреть живую страницу .
Подведение итогов
Если вы спросите меня, что мне дал GSoC: в первую очередь, конечно, это понимание знаний, связанных с API расширений браузера. Прочитав документацию и написав новые примеры, я получил детальное представление о различных API расширений браузера.
Кроме того, я приобрел множество навыков, с которыми мало знакомился до того, как меня приняли в GSoC, например, проведение комплексного процесса проверки кода и создание PRD. Я также начал использовать действия GitHub для автоматизации рабочих процессов и научился использовать Babel для просмотра всех примеров расширений и отслеживания используемых API. Более того, у меня был первый опыт работы с шаблонизатором Nunjucks. Эти способности необходимы для программирования, и я рад, что изучил их. Участие в сообществах с открытым исходным кодом приносит мне радость.
Это лето подарило мне много неизгладимых воспоминаний. Программирование делает меня очень довольным. Я встретил терпеливых наставников, которые направляли меня и преподавали интересные знания, обогащая мой опыт.
Знания в области информатики безграничны. Когда я сравнил себя с другими, я понял, что мое понимание открытого исходного кода было лишь верхушкой айсберга. Однако каждая мелочь помогает. Я считаю, что GSoC — отличная отправная точка для участия в проекте с открытым исходным кодом.
Я также надеюсь, что мой опыт может послужить основой для будущего участия в деятельности с открытым исходным кодом.
Вот некоторые из моих предложений для всех, кто хочет принять участие в Google Summer of Code:
- Выберите идею, которая вам подходит: На мой взгляд, при поиске идей вашим приоритетом должен быть интерес, а затем навыки. Эта стратегия позволит вам поддерживать энтузиазм на протяжении всего процесса внесения вклада.
- Качество важнее количества: вы можете подать много предложений, чтобы увеличить шансы на то, что вас примут в GSoC. Однако я считаю, что качество, вероятно, более важно, поскольку человеческая энергия ограничена. Сосредоточение внимания на двух или трех идеях в конечном итоге может оказаться более полезным.
- Не бойтесь нового: не стесняйтесь пробовать технологии, с которыми вы еще не работали в проекте. У вас есть почти месяц общения с сообществом, чтобы ознакомиться с незнакомыми технологиями, и целое лето, чтобы их внедрить. Просто дерзайте!
- Познакомьтесь с проектом заранее: например, прочитайте документацию по разработке, посмотрите историю предыдущих коммитов и проблемы, а также просмотрите прошлые запросы на включение. Предварительное общее понимание проекта поможет вам написать более полное предложение.
- Поддерживайте общение: регулярно общайтесь со своим наставником и не стесняйтесь задавать вопросы при возникновении проблем, будь то до подачи заявки или после того, как вас приняли. Большинство наставников готовы помочь вам решить проблемы; таким образом, они также смогут отслеживать ваш прогресс.
Спасибо за чтение.
,Я второкурсник из Китая, увлеченный веб-разработкой. На первом курсе я вступил в технический кружок нашего колледжа. Этот клуб стал моим знакомством с программированием и открытым исходным кодом. В клубе я встретил группу единомышленников, любящих программирование. Именно от них я узнал о Google Summer of Code в начале 2023 года. Эта глобальная программа, организованная Google, связывает студентов с организациями с открытым исходным кодом и помогает им эффективно использовать свое лето, участвуя в мероприятиях с открытым исходным кодом.
Попробовав, я подал заявку. К счастью, меня приняли. Лето, которое я провел в репозитории образцов расширений Chrome, было незабываемым и ценным. Конечно, я также многому научился: эффективному общению, навыкам программирования и способностям планирования, среди прочего.
Поскольку GSoC 2023 подходит к концу, стоит поделиться своим опытом работы с GSoC. В этом посте я кратко представлю общий процесс GSoC с моим собственным участием, надеюсь, что он будет вам полезен!
История о том, как я внес свой вклад в GSoC
Я подал заявку на участие в проекте Chromium GSoC 2023, где моей основной задачей будет обновление существующих образцов расширений Chrome для работы в Manifest V3, включая некоторые связанные скрипты и документы.
В самом начале
Впервые я узнал о GSoC в феврале 2023 года, но еще не был уверен, что хочу подать заявку. Тогда у меня было несколько опасений:
- Я интроверт, английский не является моим родным языком, поэтому общение с наставниками может быть затруднено.
- Сообщества GSoC происходят со всего мира, и справиться с разницей часовых поясов может быть сложно.
- GSoC — настолько известная программа, что она может быть конкурентоспособной, поэтому мои шансы кажутся небольшими.
Однако я могу с уверенностью сказать, что ничего из этого не было проблемой.
Прежде чем рассказать свою историю, я хотел бы рассказать о том, что произошло со мной в начале 2022 года. Этот инцидент также стал для меня возможностью поучаствовать в GSoC. Я хотел перенести расширение браузера, основанное на Manifest V2, на Manifest V3. Чтобы завершить миграцию, мне пришлось обратиться к документации и разобраться в каждом изменении API. Мне также пришлось искать, есть ли соответствующие образцы для справки. Разобраться в новом API и перенести код для меня довольно сложно.
Вот почему я был очень взволнован, просматривая список проектов GSoC и уловив идею, связанную с MV3. Мне очень хотелось внести свой вклад в улучшение примеров расширений Manifest V3 и предоставить удобство будущим разработчикам.
В марте я отправил Оливеру, одному из ответственных наставников, краткое письмо о своем намерении:
Заявка на участие в проекте GSoC
Привет,
Я студент бакалавриата CS из Китая. Я узнал о проекте, связанном с образцами расширений Chrome, на GSoC, и меня заинтересовало улучшение образцов манифеста V3. У меня нет большого опыта работы над образцами API, однако у меня есть опыт веб-разработки и разработки расширений MV3 (https://github.com/daidr/paimon-webext), который помог мне осознать важность образцов API MV3, поэтому я хотел бы как учиться, так и внести свой вклад в это. Могу ли я еще подать заявку на участие в этом проекте?
Спасибо.
Вскоре после этого я получил ответ от Оливера и Али (босса Оливера). Они ответили на мои вопросы и предоставили подробную информацию о конкретных правилах и сроках GSoC. Они также поделились со мной многими ценными справочными материалами.
Это было похоже на выстрел в руку, укрепивший мою решимость двигаться вперед. Сделать первый шаг имеет первостепенное значение, если вы заинтересованы в участии в предстоящих мероприятиях с открытым исходным кодом, будь то GSoC 2024 или что-то еще; никогда не сомневайтесь и смело пробуйте.
Перед подачей заявки я проверил код проекта и просмотрел документацию. Хотя GSoC предоставляет участникам период взаимодействия с сообществом продолжительностью почти один месяц, чтобы они могли ознакомиться с сообществом, предварительные знания уменьшили давление и позволили мне написать более целенаправленное предложение.
Я попытался устранить начальные ошибки, предусмотренные проектом. Эти вопросы были относительно простыми и помогли мне быстро разобраться в проекте. Я благодарен своему наставнику Оливеру (хотя тогда он еще не был моим наставником). Он быстро отвечал на мои электронные письма всякий раз, когда мне требовались разъяснения, и терпеливо решал мои проблемы. Если при написании предложения возникнут проблемы, вы также можете отправить его своему наставнику, чтобы узнать, нуждаются ли какие-либо области в улучшении.
Получение принятия
Написание предложения – это последнее, что нужно сделать перед подачей заявки. Помимо формы заявки, предложение должно включать идеи, цели и график. В зависимости от проекта, над которым вы надеетесь работать, вам может быть предоставлен дополнительный шаблон предложения. Многие готовые примеры предложений доступны в Интернете для справки.
Закончив черновик, я отправил его своему наставнику для отзыва. После подачи заявки приходится долго ждать. И вот в начале мая мне пришло уведомление, что меня приняли.
Работа с кодом
В течение начального периода сближения я сначала разобрался с оставшимися стартовыми ошибками и проверил, есть ли какие-либо новые навыки, которые мне нужно изучить. А остальное время я провожу за чтением документации.
После обсуждения с моим наставником мы скорректировали некоторые цели, чтобы время, отведенное на выполнение задач, было более разумным. Мы также обсудили идею создания новой страницы Developer.chrome.com со списком всех примеров API и базовыми фильтрами, которые помогут разработчикам быстро находить необходимые образцы. Для меня это была довольно сложная задача, и мне и моему наставнику потребовалось довольно много времени, чтобы определить проект и написать документ с требованиями к продукту (PRD).
Для этой более крупной задачи мы решили, что нам нужен автоматизированный сценарий в репозитории образцов, который будет проходить по репозиторию и генерировать файл JSON, содержащий список образцов расширений и API, которые они используют. Репозиторий документации Developer.chrome.com теперь использует этот файл для создания страницы.
Сначала я рассматривал возможность использования Babel для анализа абстрактного синтаксического дерева примера кода и определения используемых им API. Поделившись этой идеей со своим наставником, я обнаружил, что они ранее работали над чем-то подобным, что подтвердило осуществимость этого подхода. После того, как я завершил код, мой наставник и другие члены его команды предоставили ценные советы, в том числе уделили внимание сегментации кода, стандартизации стиля кода и правильному документированию функций.
После нескольких больших и малых проверок код был успешно объединен. Вы можете найти всю ветку на GitHub или просмотреть живую страницу .
Подведение итогов
Если вы спросите меня, что мне дал GSoC: в первую очередь, конечно, это понимание знаний, связанных с API расширений браузера. Прочитав документацию и написав новые примеры, я получил детальное представление о различных API расширений браузера.
Кроме того, я приобрел множество навыков, с которыми мало знакомился до того, как меня приняли в GSoC, например, проведение комплексного процесса проверки кода и создание PRD. Я также начал использовать действия GitHub для автоматизации рабочих процессов и научился использовать Babel для просмотра всех примеров расширений и отслеживания используемых API. Более того, у меня был первый опыт работы с шаблонизатором Nunjucks. Эти способности необходимы для программирования, и я рад, что изучил их. Участие в сообществах с открытым исходным кодом приносит мне радость.
Это лето подарило мне много неизгладимых воспоминаний. Программирование делает меня очень довольным. Я встретил терпеливых наставников, которые направляли меня и преподавали интересные знания, обогащая мой опыт.
Знания в области информатики безграничны. Когда я сравнил себя с другими, я понял, что мое понимание открытого исходного кода было лишь верхушкой айсберга. Однако каждая мелочь помогает. Я считаю, что GSoC — отличная отправная точка для участия в проекте с открытым исходным кодом.
Я также надеюсь, что мой опыт может послужить основой для будущего участия в деятельности с открытым исходным кодом.
Вот некоторые из моих предложений для всех, кто хочет принять участие в Google Summer of Code:
- Выберите идею, которая вам подходит: На мой взгляд, при поиске идей вашим приоритетом должен быть интерес, а затем навыки. Эта стратегия позволит вам поддерживать энтузиазм на протяжении всего процесса внесения вклада.
- Качество важнее количества: вы можете подать много предложений, чтобы увеличить шансы на то, что вас примут в GSoC. Однако я считаю, что качество, вероятно, более важно, поскольку человеческая энергия ограничена. Сосредоточение внимания на двух или трех идеях в конечном итоге может оказаться более полезным.
- Не бойтесь нового: не стесняйтесь пробовать технологии, с которыми вы еще не работали в проекте. У вас есть почти месяц общения с сообществом, чтобы ознакомиться с незнакомыми технологиями, и целое лето, чтобы их внедрить. Просто дерзайте!
- Познакомьтесь с проектом заранее: например, прочитайте документацию по разработке, посмотрите историю предыдущих коммитов и проблемы, а также просмотрите прошлые запросы на включение. Предварительное общее понимание проекта поможет вам написать более полное предложение.
- Поддерживайте общение: регулярно общайтесь со своим наставником и не стесняйтесь задавать вопросы при возникновении проблем, будь то до подачи заявки или после того, как вас приняли. Большинство наставников готовы помочь вам решить проблемы; таким образом, они также смогут отслеживать ваш прогресс.
Спасибо за чтение.
,Я второкурсник из Китая, увлеченный веб-разработкой. На первом курсе я вступил в технический кружок нашего колледжа. Этот клуб стал моим знакомством с программированием и открытым исходным кодом. В клубе я встретил группу единомышленников, любящих программирование. Именно от них я узнал о Google Summer of Code в начале 2023 года. Эта глобальная программа, организованная Google, связывает студентов с организациями с открытым исходным кодом и помогает им эффективно использовать свое лето, участвуя в мероприятиях с открытым исходным кодом.
Попробовав, я подал заявку. К счастью, меня приняли. Лето, которое я провел в репозитории образцов расширений Chrome, было незабываемым и ценным. Конечно, я также многому научился: эффективному общению, навыкам программирования и способностям планирования, среди прочего.
Поскольку GSoC 2023 подходит к концу, стоит поделиться своим опытом работы с GSoC. В этом посте я кратко представлю общий процесс GSoC с моим собственным участием, надеюсь, что он будет вам полезен!
История о том, как я внес свой вклад в GSoC
Я подал заявку на участие в проекте Chromium GSoC 2023, где моей основной задачей будет обновление существующих образцов расширений Chrome для работы в Manifest V3, включая некоторые связанные скрипты и документы.
В самом начале
Впервые я узнал о GSoC в феврале 2023 года, но еще не был уверен, что хочу подать заявку. Тогда у меня было несколько опасений:
- Я интроверт, английский не является моим родным языком, поэтому общение с наставниками может быть затруднено.
- Сообщества GSoC происходят со всего мира, и справиться с разницей часовых поясов может быть сложно.
- GSoC — настолько известная программа, что она может быть конкурентоспособной, поэтому мои шансы кажутся небольшими.
Однако я могу с уверенностью сказать, что ничего из этого не было проблемой.
Прежде чем рассказать свою историю, я хотел бы рассказать о том, что произошло со мной в начале 2022 года. Этот инцидент также стал для меня возможностью поучаствовать в GSoC. Я хотел перенести расширение браузера, основанное на Manifest V2, на Manifest V3. Чтобы завершить миграцию, мне пришлось обратиться к документации и разобраться в каждом изменении API. Мне также пришлось искать, есть ли соответствующие образцы для справки. Разобраться в новом API и перенести код для меня довольно сложно.
Вот почему я был очень взволнован, просматривая список проектов GSoC и уловив идею, связанную с MV3. Мне очень хотелось внести свой вклад в улучшение примеров расширений Manifest V3 и предоставить удобство будущим разработчикам.
В марте я отправил Оливеру, одному из ответственных наставников, краткое письмо о своем намерении:
Заявка на участие в проекте GSoC
Привет,
Я студент бакалавриата CS из Китая. Я узнал о проекте, связанном с образцами расширений Chrome, на GSoC, и меня заинтересовало улучшение образцов манифеста V3. У меня нет большого опыта работы над образцами API, однако у меня есть опыт веб-разработки и разработки расширений MV3 (https://github.com/daidr/paimon-webext), который помог мне осознать важность образцов API MV3, поэтому я хотел бы как учиться, так и внести свой вклад в это. Могу ли я еще подать заявку на участие в этом проекте?
Спасибо.
Вскоре после этого я получил ответ от Оливера и Али (босса Оливера). Они ответили на мои вопросы и предоставили подробную информацию о конкретных правилах и сроках GSoC. Они также поделились со мной многими ценными справочными материалами.
Это было похоже на выстрел в руку, укрепивший мою решимость двигаться вперед. Сделать первый шаг имеет первостепенное значение, если вы заинтересованы в участии в предстоящих мероприятиях с открытым исходным кодом, будь то GSoC 2024 или что-то еще; никогда не сомневайтесь и смело пробуйте.
Перед подачей заявки я проверил код проекта и просмотрел документацию. Хотя GSoC предоставляет участникам период взаимодействия с сообществом продолжительностью почти один месяц, чтобы они могли ознакомиться с сообществом, предварительные знания уменьшили давление и позволили мне написать более целенаправленное предложение.
Я попытался устранить начальные ошибки, предусмотренные проектом. Эти вопросы были относительно простыми и помогли мне быстро разобраться в проекте. Я благодарен своему наставнику Оливеру (хотя тогда он еще не был моим наставником). Он быстро отвечал на мои электронные письма всякий раз, когда мне требовались разъяснения, и терпеливо решал мои проблемы. Если при написании предложения возникнут проблемы, вы также можете отправить его своему наставнику, чтобы узнать, нуждаются ли какие-либо области в улучшении.
Получение принятия
Написание предложения – это последнее, что нужно сделать перед подачей заявки. Помимо формы заявки, предложение должно включать идеи, цели и график. В зависимости от проекта, над которым вы надеетесь работать, вам может быть предоставлен дополнительный шаблон предложения. Многие готовые примеры предложений доступны в Интернете для справки.
Закончив черновик, я отправил его своему наставнику для отзыва. После подачи заявки приходится долго ждать. И вот в начале мая мне пришло уведомление, что меня приняли.
Работа с кодом
В течение начального периода сближения я сначала разобрался с оставшимися стартовыми ошибками и проверил, есть ли какие-либо новые навыки, которые мне нужно изучить. А остальное время я провожу за чтением документации.
После обсуждения с моим наставником мы скорректировали некоторые цели, чтобы время, отведенное на выполнение задач, было более разумным. Мы также обсудили идею создания новой страницы Developer.chrome.com со списком всех примеров API и базовыми фильтрами, которые помогут разработчикам быстро находить необходимые образцы. Для меня это была довольно сложная задача, и мне и моему наставнику потребовалось довольно много времени, чтобы определить проект и написать документ с требованиями к продукту (PRD).
Для этой более крупной задачи мы решили, что нам нужен автоматизированный сценарий в репозитории образцов, который будет проходить по репозиторию и генерировать файл JSON, содержащий список образцов расширений и API, которые они используют. Репозиторий документации Developer.chrome.com теперь использует этот файл для создания страницы.
Сначала я рассматривал возможность использования Babel для анализа абстрактного синтаксического дерева примера кода и определения используемых им API. Поделившись этой идеей со своим наставником, я обнаружил, что они ранее работали над чем-то подобным, что подтвердило осуществимость этого подхода. После того, как я завершил код, мой наставник и другие члены его команды предоставили ценные советы, в том числе уделили внимание сегментации кода, стандартизации стиля кода и правильному документированию функций.
После нескольких больших и малых проверок код был успешно объединен. Вы можете найти всю ветку на GitHub или просмотреть живую страницу .
Подведение итогов
Если вы спросите меня, что мне дал GSoC: в первую очередь, конечно, это понимание знаний, связанных с API расширений браузера. Прочитав документацию и написав новые примеры, я получил детальное представление о различных API расширений браузера.
Кроме того, я приобрел множество навыков, с которыми мало знакомился до того, как меня приняли в GSoC, например, проведение комплексного процесса проверки кода и создание PRD. Я также начал использовать действия GitHub для автоматизации рабочих процессов и научился использовать Babel для просмотра всех примеров расширений и отслеживания используемых API. Более того, у меня был первый опыт работы с шаблонизатором Nunjucks. Эти способности необходимы для программирования, и я рад, что изучил их. Участие в сообществах с открытым исходным кодом приносит мне радость.
Это лето подарило мне много неизгладимых воспоминаний. Программирование делает меня очень довольным. Я встретил терпеливых наставников, которые направляли меня и преподавали интересные знания, обогащая мой опыт.
Знания в области информатики безграничны. Когда я сравнил себя с другими, я понял, что мое понимание открытого исходного кода было лишь верхушкой айсберга. Однако каждая мелочь помогает. Я считаю, что GSoC — отличная отправная точка для участия в проекте с открытым исходным кодом.
Я также надеюсь, что мой опыт может послужить основой для будущего участия в деятельности с открытым исходным кодом.
Вот некоторые из моих предложений для всех, кто хочет принять участие в Google Summer of Code:
- Выберите идею, которая вам подходит: На мой взгляд, при поиске идей вашим приоритетом должен быть интерес, а затем навыки. Эта стратегия позволит вам поддерживать энтузиазм на протяжении всего процесса внесения вклада.
- Качество важнее количества: вы можете подать много предложений, чтобы увеличить шансы на то, что вас примут в GSoC. Однако я считаю, что качество, вероятно, более важно, поскольку человеческая энергия ограничена. Сосредоточение внимания на двух или трех идеях в конечном итоге может оказаться более полезным.
- Не бойтесь нового: не стесняйтесь пробовать технологии, с которыми вы еще не работали в проекте. У вас есть почти месяц общения с сообществом, чтобы ознакомиться с незнакомыми технологиями, и целое лето, чтобы их внедрить. Просто дерзайте!
- Познакомьтесь с проектом заранее: например, прочитайте документацию по разработке, посмотрите историю предыдущих коммитов и проблемы, а также просмотрите прошлые запросы на включение. Предварительное общее понимание проекта поможет вам написать более полное предложение.
- Поддерживайте общение: регулярно общайтесь со своим наставником и не стесняйтесь задавать вопросы при возникновении проблем, будь то до подачи заявки или после того, как вас приняли. Большинство наставников готовы помочь вам решить проблемы; таким образом, они также смогут отслеживать ваш прогресс.
Спасибо за чтение.
,Я второкурсник из Китая, увлеченный веб-разработкой. На первом курсе я вступил в технический кружок нашего колледжа. Этот клуб стал моим знакомством с программированием и открытым исходным кодом. В клубе я встретил группу единомышленников, любящих программирование. Именно от них я узнал о Google Summer of Code в начале 2023 года. Эта глобальная программа, организованная Google, связывает студентов с организациями с открытым исходным кодом и помогает им эффективно использовать свое лето, участвуя в мероприятиях с открытым исходным кодом.
Попробовав, я подал заявку. К счастью, меня приняли. Лето, которое я провел в репозитории образцов расширений Chrome, было незабываемым и ценным. Конечно, я также многому научился: эффективному общению, навыкам программирования и способностям планирования, среди прочего.
Поскольку GSoC 2023 подходит к концу, стоит поделиться своим опытом работы с GSoC. В этом посте я кратко представлю общий процесс GSoC с моим собственным участием, надеюсь, что он будет вам полезен!
История о том, как я внес свой вклад в GSoC
Я подал заявку на участие в проекте Chromium GSoC 2023, где моей основной задачей будет обновление существующих образцов расширений Chrome для работы в Manifest V3, включая некоторые связанные скрипты и документы.
В самом начале
Впервые я узнал о GSoC в феврале 2023 года, но еще не был уверен, что хочу подать заявку. Тогда у меня было несколько опасений:
- Я интроверт, английский не является моим родным языком, поэтому общение с наставниками может быть затруднено.
- Сообщества GSoC происходят со всего мира, и справиться с разницей часовых поясов может быть сложно.
- GSoC — настолько известная программа, что она может быть конкурентоспособной, поэтому мои шансы кажутся небольшими.
Однако я могу с уверенностью сказать, что ничего из этого не было проблемой.
Прежде чем рассказать свою историю, я хотел бы рассказать о том, что произошло со мной в начале 2022 года. Этот инцидент также стал для меня возможностью поучаствовать в GSoC. Я хотел перенести расширение браузера, основанное на Manifest V2, на Manifest V3. Чтобы завершить миграцию, мне пришлось обратиться к документации и разобраться в каждом изменении API. Мне также пришлось искать, есть ли соответствующие образцы для справки. Разобраться в новом API и перенести код для меня довольно сложно.
Вот почему я был очень взволнован, просматривая список проектов GSoC и уловив идею, связанную с MV3. Мне очень хотелось внести свой вклад в улучшение примеров расширений Manifest V3 и предоставить удобство будущим разработчикам.
В марте я отправил Оливеру, одному из ответственных наставников, краткое письмо о своем намерении:
Заявка на участие в проекте GSoC
Привет,
Я студент бакалавриата CS из Китая. Я узнал о проекте, связанном с образцами расширений Chrome, на GSoC, и меня заинтересовало улучшение образцов манифеста V3. У меня нет большого опыта работы над образцами API, однако у меня есть опыт веб-разработки и разработки расширений MV3 (https://github.com/daidr/paimon-webext), который помог мне осознать важность образцов API MV3, поэтому я хотел бы как учиться, так и внести свой вклад в это. Могу ли я еще подать заявку на участие в этом проекте?
Спасибо.
Вскоре после этого я получил ответ от Оливера и Али (босса Оливера). Они ответили на мои вопросы и предоставили подробную информацию о конкретных правилах и сроках GSoC. Они также поделились со мной многими ценными справочными материалами.
Это было похоже на выстрел в руку, укрепивший мою решимость двигаться вперед. Сделать первый шаг имеет первостепенное значение, если вы заинтересованы в участии в предстоящих событиях с открытым исходным кодом, будь то GSOC 2024 или что-то еще; Не стесняйтесь и смело попробуйте это.
Перед подачей заявки я проверил код проекта и пропустил документацию. Несмотря на то, что GSOC предоставляет период общения в сообществе почти один месяц для участников, чтобы ознакомиться с сообществом, предварительные знания облегчали давление и позволили мне написать более целенаправленное предложение.
Я попытался решить начальные ошибки, предоставленные проектом. Эти проблемы были относительно простыми и помогли мне быстро понять проект. Я благодарен за моего наставника Оливера (хотя тогда он не был моим наставником). Он быстро отвечал на мои электронные письма всякий раз, когда мне нужно было разъяснить, и терпеливо решал мои проблемы. При столкновении с проблемами при написании предложения вы также можете отправить его своему наставнику, чтобы увидеть, нуждаются ли в улучшении каких -либо областей.
Принять
Написание предложения - это последнее, что нужно сделать, прежде чем подавать заявку. Предложение должно включать идеи, цели и график в дополнение к форме заявления. В зависимости от проекта, над которым вы надеетесь поработать, вам может быть предоставлен дополнительный шаблон для предложения. Многие готовые примеры предложения доступны в Интернете для справки.
После завершения проекта я отправил его своему наставнику для обратной связи. После подачи заявки будет долгое ожидание. И в начале мая я получил уведомление о том, что меня приняли.
Кодовая работа
В течение первоначального периода связи я сначала разобрался с оставшимися стартовыми ошибками и проверил, есть ли какие -либо новые навыки, которые мне пришлось изучить. И я трачу остальное время на чтение документации.
После обсуждения с моим наставником мы скорректировали некоторые цели, чтобы сделать время, выделяемое для задач более разумными. Мы также обсудили идею создания нового разработчика. Это была довольно сложная задача для меня, и мне потребовалось довольно много времени, чтобы определить проект и написать требования к продукту (PRD).
Для этой более крупной задачи мы решили, что нам нужен автоматический сценарий в реповре с образцами, чтобы пройти репозиторий и генерировать файл JSON, содержащий список образцов расширения и используемых ими API. Developer.chrome.com Documentation Repo теперь использует этот файл для создания страницы.
Сначала я рассмотрел вопрос об использовании Babel для анализа абстрактного синтаксического дерева кода образца и определения используемых API. Поделившись этой идеей с моим наставником, я обнаружил, что они ранее работали над чем -то подобным, подтверждая выполнимость этого подхода. После того, как я завершил код, мой наставник и другие члены его команды предоставили ценные предложения, включая обращение внимания на сегментацию кода, стандартизацию стиля кода и должным образом документирование функций.
После нескольких больших и небольших обзоров код был успешно объединен. Вы можете найти всю ветку на GitHub или просмотреть страницу в прямом эфире .
Завершая
Если вы спросите меня, что принес мне GSOC: во -первых, конечно, это понимание знаний, связанных с API расширения браузера. Читая документацию и написав новые образцы, я получил подробное понимание различных API расширения браузера.
Кроме того, я приобрел много навыков, с которыми у меня мало знакомства с принятием для GSOC, таких как выполнение комплексного процесса проверки кода и создание PRD. Я также начал использовать действия GitHub для автоматизации рабочих процессов и узнал, как использовать Babel, чтобы пройти все образцы расширения и отслеживать используемые API. Более того, у меня был первый опыт работы с шаблоном Nunjucks. Эти способности необходимы для программирования, и я рад, что узнал их. Участие в сообществах с открытым исходным кодом приносит мне радость.
Это лето дало мне много неизгладимых воспоминаний. Кодирование делает меня очень довольным. Я столкнулся с пациентами, которые руководили мной и научили меня интересным знаниям, обогащая мой опыт.
Знание в области информатики бесконечна. Когда я сравнил себя с другими, я понял, что мое понимание открытого исходного кода было только вершиной айсберга. Тем не менее, каждый маленький бит помогает. Я считаю, что GSOC - отличная отправная точка для участия в открытом исходном коде.
Я также надеюсь, что мой опыт может дать некоторую ссылку на будущее участие в мероприятиях с открытым исходным кодом.
Вот некоторые из моих предложений для всех, кто хочет принять участие в Google Summer of Code:
- Выберите идею, которая подходит вам: на мой взгляд, при поиске идей, интерес должен быть вашим приоритетом, за которым следует навыки. Эта стратегия позволит вам поддерживать энтузиазм на протяжении всего процесса вклада.
- Качество по количеству: вы можете представить много предложений, чтобы увеличить шансы быть принятым для GSOC. Тем не менее, я считаю, что качество, вероятно, более важно, потому что человеческая энергия ограничена. Сосредоточение внимания на двух или трех идеях может быть более полезной в конце.
- Не бойтесь новых вещей: не стесняйтесь попробовать технологии, с которыми вы не работали в проекте. У вас есть почти месяц общения сообщества, чтобы ознакомиться с незнакомыми технологиями и целым летом для их реализации. Просто дерзайте!
- Познакомьтесь с проектом заранее: например, прочитайте документацию по разработке, посмотрите на предыдущую историю и проблемы коммит и просмотрите прошлые запросы на привлечение. Получение общего понимания проекта заранее поможет вам написать более полное предложение.
- Поддерживайте общение: регулярно общайтесь со своим наставником и не стесняйтесь задавать вопросы при столкновении с проблемами, будь то перед подачей заявки или после принятия. Большинство наставников готовы помочь вам решить проблемы; Таким образом, они также могут отслеживать ваш прогресс.
Спасибо за чтение.