"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 나의 GSoC 경험 : PEcAn 프로젝트

나의 GSoC 경험 : PEcAn 프로젝트

2024-08-31에 게시됨
검색:747

My GSoC Experience : PEcAn Project

PEcAN 소개:

PEcAn(예측 생태계 분석기)은 공개적으로 사용 가능한 엄청난 양의 환경 데이터를 관리하는 과학적인 워크플로우 시스템이자 최첨단 생태계 모델 내에서 이 정보를 종합하는 베이지안 데이터 동화 시스템입니다.

프로젝트 요약

주체: 페칸 프로젝트

멘토: Christopher Black(#infotroph), Shashank Singh(#moki1202)

기고자: Abhinav Pandey(#Sweetdevil144)

프로젝트 기간: 350시간

프로젝트 제목: 단독 사용을 위해 PEcAn 최적화
패키지

크리스님, 내 접근 방식을 주의 깊게 듣고 훨씬 더 나은 방법으로 개선해 주셔서 감사합니다!!

다른 멘토들에게도 특별히 감사드립니다:David LeBauer, Shashank Singh 및 Michael Dietze

프로젝트 정보 :

이 프로젝트의 목적은 독립 실행형 사용을 위해 모듈을 최적화하여 PEcAn 프로젝트를 향상시키는 것이었습니다. PEcAn의 강력한 프레임워크와 상호 연결된 모듈에도 불구하고 이러한 모듈을 독립적으로 작동할 수 있도록 해야 할 필요성이 점점 더 커지고 있었습니다. 이러한 변화는 모듈 사용, 테스트 및 개발을 단순화하여 사용자와 기여자가 시스템에 더 쉽게 접근하고 효율적으로 사용할 수 있도록 하는 데 필수적이었습니다. 독립 실행형 사용을 위해 모듈을 최적화하고 PEcAn의 상호 연결된 프레임워크 내에서 개별 작동성을 향상시키는 데 중점을 두었습니다. 우리의 최우선 과제는 PEcAn 패키지의 디자인과 인터페이스를 재검토하여 "이러한 커플링을 다시 풀어주는 것"이었습니다.

개요

올 여름, 저는 PEcAn 프로젝트와 함께 Google Summer of Code, 2024에 참가하는 특권을 누렸습니다. 올해 프로그램에 선정된 많은 재능 있는 후보자들 중에서 저는 전 세계적으로 상당한 영향을 미치는 실제 오픈 소스 소프트웨어에 기여하도록 선정된 이들 중 한 명이었습니다. 프로그램이 마무리되면서 지난 3개월 동안 PEcAn

을 통해 배운 내용을 되돌아보고 싶습니다.

PEcAn 프로젝트와의 여정은 공식 GSoC 기간 훨씬 이전에 시작되었으며, GSoC 일정보다 5개월 빠른 2023년 12월에 나의 첫 번째 PR이 병합되었습니다. 이러한 초기 참여는 PEcAn의 복잡한 아키텍처와 복잡한 코드베이스 설계를 탐색하는 귀중한 경험을 제공했습니다. 또한 이를 통해 조직의 작업, 특히 R 프로그래밍 언어에 익숙해질 수 있었습니다. 초기부터 저는 프로젝트에 더 깊이 참여하고 의미 있는 기여를 하고 싶었습니다.

GSoC가 저에게 가르쳐 준 가장 귀중한 교훈은 다음과 같습니다. 우리는 행동을 통해 배우고 앞길이 불확실해 보일 때에도 앞으로 나아갈 길을 닦습니다. 이 GSoC 여정 동안의 경험을 통해 저에게 보여 준 것은 무엇입니까? 처음에 달성하려고 계획한 것은 최종적으로 달성한 것의 일부에 불과했습니다.

15개 끌어오기 요청, 6개 문제 해결, 멘토와의 회의에 셀 수 없이 많은 시간을 들인 결과, 저는 PEcAn 프로젝트의 목표에 점진적으로 부합한다는 것을 알게 되었습니다..


PEcAn에 대한 나의 기여

(내가 논의할 모든 작업은 이 페이지 하단에 링크되어 있습니다.)

GSoC 기간은 세 가지 주요 단계로 구성되었습니다.

  1. 1단계: 커뮤니티 결속 기간 : 이 단계에서 저는 프로젝트에 익숙해지고 멘토들과 강력한 관계를 구축했습니다. 이번에는 프로젝트의 목표와 복잡성에 대한 확실한 이해를 얻을 수 있었습니다. 저는 PEcAn의 주요 측면을 파악하면서 코드베이스를 약간 변경하는 것부터 시작했습니다. 저는 나중에 프로젝트 과제를 해결하는 데 중요한 데이터를 수집하는 데 집중했습니다.

  2. 2단계: PEcAn 패키지 분리 : 이 단계의 주요 작업은 PEcAn 패키지 분리를 시작하는 것이었고, 시작점은 data.land 패키지였습니다. 여기에는 프로젝트 내에서 모듈성과 유연성의 개선이 필요한 패키지를 주의 깊게 검토하는 작업이 포함되었습니다. 이 단계에서는 종속성의 미세한 인스턴스를 파악하고 대신 DB 호출로 다시 리디렉션하여 data.atmosphere 패키지에서 data.land의 종속성을 제거했으며 그 결과 전체 종속성이 감소했습니다. 이 외에도 met2Cf.csv.R에 대한 테스트 모음 추가db.site.lat.lon 기능 제거 및 모든 사용 위치를 query.site[로 교체]에 대한 약간의 변경도 수행했습니다. &&&] . 또한 여러 DB 호출을 결합하여 시스템에서 발생하는 데이터베이스 호출을 줄이고 DB의 대기 시간을 더욱 줄이는 데 도움이 되었습니다. 또한 코드베이스에서 더 이상 활용되지 않는 고아 함수를 찾아내고 그러한 인스턴스를 정리하기 위해 사용자 정의 Python 스크립트를 만들었습니다.

  3. 3단계: Convert_input 함수 강화: 이 단계는 PEcAn의 Convert_input 함수의 복잡성으로 인해 가장 어려운 단계임이 입증되었습니다. 저는 우리가 직면했던 다양한 문제를 해결하기 위한 좋은 접근 방식을 찾는 데 상당한 시간을 투자했습니다. 하지만 이 단계는 또한 이 시점에서 얻은 코드베이스에 대한 훨씬 더 깊은 이해 덕분에 가장 생산적이었습니다.

이 단계에서 저는 #3324로 site.info를 선택적으로 검색하여 유연성을 높이는 새로운 기능을 제안했습니다. 또한 현재는 단종된 BrownDog 패키지를 리팩터링하고 제거하여 #3348을 통해 깨끗하고 현대적인 코드베이스를 보장했습니다. 멘토들과 이러한 변경 사항에 대해 적극적으로 논의하면서 BrownDog의 모든 인스턴스를 성공적으로 제거했습니다.

convert_input 함수의 모듈성을 더욱 향상시키기 위해 #3338에서 이를 더 작은 도우미 함수로 나누기로 결정했습니다. 이러한 구조 조정은 코드베이스의 탐색과 이해를 단순화하여 향후 개발자가 더 쉽게 작업할 수 있게 해줍니다.

GSoC 기간 내내 저는 멘토들과 정기적인 회의(매주 수요일)를 갖고 주간 진행 상황과 향후 계획, 프로젝트 진행 전략에 대해 논의했습니다. 멘토들의 정기적인 지원은 제가 프로젝트에 집중하는 데 큰 도움이 되었습니다.

다른 사람들과 함께 성장하고, 배우고, 협력할 수 있는 놀라운 기회를 제공해준 PEcAn 팀 전체에 깊은 감사를 드립니다. GSoC를 진정으로 독특하게 만드는 것은 여행 자체의 즐거움입니다. 저는 새로운 프로그래밍 언어에 능숙해졌을 뿐만 아니라 매주 회의와 멘토와의 상호 작용을 통해 익숙한 영역에서 벗어나 한 인간으로서도 성장했습니다. 이 경험은 기술적으로나 개인적으로나 큰 변화를 가져왔습니다.

앞으로 저는 PEcAN과 장기적으로 협력하여 제가 할 수 있는 모든 역량을 다해 PEcAN의 역량을 향상시킬 계획입니다!! 지금은 이게 끝이에요!! ??

PEcAn 프로젝트의 내

PR 목록 ?

ID제목상태DEV-INTRO.md 업데이트단일 쿼리에서 여러 PEcAn.db 호출 결합db.site.lat.lon 기능을 제거하고 모든 사용법을 query.site로 대체병합됨met2Cf.csv.R에 대한 테스트 모음 추가data.land에서 data.atmosphere에 대한 종속성을 제거합니다.코드베이스에서 분리된 함수를 식별하는 스크립트 추가사용하지 않는 inst/met2CF.R 제거API 엔드포인트 URL 업데이트met2model.SIPNET 기능의 파일 확장자 검색 수정cos_solar_zenith_angle 함수에 대한 문서 업데이트마크다운 문서의 오타 및 오류 수정book.yml 업데이트Browndog 제거도우미 함수를 통해 작업을 수행하도록 변환 입력을 리팩터링site.info가 없으면 선택적으로 가져오는 기능 추가met.process 및 dbfiles 리팩터링
3359 병합됨
3312 병합됨
3308
3301 병합됨
3300 병합됨
3291 병합됨
3290 병합됨
3283 병합됨
3281 병합됨
3276 병합됨
3246 병합됨
3243 병합됨
3348 열려 있는
3338 열려 있는
3324 열려 있는
3319 열려 있는
릴리스 선언문 이 글은 https://dev.to/devrx/my-gsoc-experience-pecan-project-bi0?1 에서 복제되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3